给定位向量V =(101101)和置换函数:F(x)=(a * x + b)mod p。其中a和b是随机数,p是素数。如何计算向量V的置换? F(x)是否将V作为整数值,还是应该将V中的每个位用作函数的x?
答案 0 :(得分:1)
是的,为了置换位向量,然后取每个位并在其上应用置换函数。
答案 1 :(得分:1)
在该定义中,置换函数为向量中的每个条目提供新位置。例如。对于a = 2,b = 0,p = 7,该函数给出{0,1,2,3,4,5,6} - > {0,2,4,6,1,3,5}。
使用此功能,可以置换7个元素的任何向量,将{a,b,c,d,e,f,g}转换为{a,c,e,g,b,d,f}。
仅当向量的大小等于素数p时才有效。因此,对于位向量,将位置n处的每个元素移动到位置a * n + b mod p。
这也适用于非素数p,只要a和b与p共同素数。