《1 引言》
1 引言
逻辑函数在当今密码设计与分析中的重要性是众所周知的, 因而20多年来关于逻辑函数的性质及具有特殊性质的逻辑函数的构造一直是密码学中最活跃的研究领域之一。文献[1]介绍了推广的Geffe发生器 (见图1) , 它是由2n+1个线性移位寄存器 (LFSR) 和一个选择逻辑函数组成, 其中LFSR-2n+1比其他2n个LFSR运行快n倍。当n=1时, 此发生器就是Geffe发生器[2], 不能抵抗相关攻击[3]。目前有关推广的Geffe发生器的复合器中使用选择逻辑函数的研究成果还不多见。
《图1》
图1 推广的Geffe发生器
Fig.1 Generalized Geffe generators
笔者分析了推广的Geffe发生器的复合器中使用的选择逻辑函数的Walsh循环谱和自相关函数, 得到如下结论: n+2n元选择逻辑函数f (x, y) 的Walsh循环谱的取值为0或±2-n, 因而对于较小的n, 抵抗相关攻击的能力比较弱;对于较大的n, f (x, y) 的稳定性比较理想, 能够抵抗最佳仿射 (BAA) 攻击;尽管f (x, y) 只有一个非零线性结构点, 但是对于较大的n其自相关函数值接近于1或-1的点很多, 特别有大部分汉明重量为1, 2等的点的自相关函数值接近于1和大部分汉明重量为2n-1, 2n-2等的点的自相关函数值接近于-1, 因而f (x, y) 在一定意义下不能有效地抗击差分攻击。
为了进一步提高f (x, y) 抵抗密码分析的能力, 讨论了与f (x, y) 线性等价意义下或满足严格雪崩准则[4]、 或具有相关免疫[5] 性、或同时具有这两种性质的逻辑函数构造问题。
《2 基本概念》
2 基本概念
《2.1汉明重量的定义》
2.1汉明重量的定义
设w= (w1, w2, …, wn) ∈GFn (2) 是n维布尔向量, 称w= (w1, w2, …, wn) 的不为零的分量的个数为其汉明重量, 且记之为WH (w) 。
《2.2点积的定义[6]》
2.2点积的定义[6]
设x= (x1, x2, …, xn) ∈GFn (2) , w= (w1, w2, …, wn) ∈GFn (2) , x和w的点积定义为
w⋅x=w1x1+w2x2+⋯+wnxn(mod2)。
《2.3选择逻辑函数的定义》
2.3选择逻辑函数的定义
根据推广的Geffe发生器中LFSR-2n+1比其他2n个LFSR运行快n倍, 可以假定LFSR-2n+1输出x= (x1, x2, …, xn) , LFSR-1输出y1, LFSR-2输出y2, …, LFSR-2n输出y2n由于y1, y2, …, y2n的取值互不相干, 就可以如下定义选择逻辑函数:
f(x,y)=x1x2⋯xny2n+(1+x1)x2⋯xny2n−1+x1(1+x2)⋯xny2n−2+⋯+(1+x1)(1+x2)⋯(1+xn)y1,(x,y)=(x1,x2,⋯,xn,y1,y2,⋯,y2n)∈GFn+2n(2)‚
由定义可知:当x= (0, 0, …, 0) 时, f (x, y) =y1;当x= (1, 0, …, 0) 时, f (x, y) =y2;……;当x= (1, 1, …, 1) 时, f (x, y) =y2n。
《2.4Walsh循环谱的定义[6]》
2.4Walsh循环谱的定义[6]
n元布尔函数f (x) , x∈GFn (2) 的第二种Walsh变换定义为
S(f)(w)=2−n∑x∈GFn(2)(−1)f(x)+w\5x,w∈GFn(2)‚
称S (f) (w) , w∈GFn (2) 为f (x) 的Walsh循环谱。
《2.5自相关函数定义[7]》
2.5自相关函数定义[7]
设f (x) , x∈GFn (2) 是布尔函数, 对
x=(x1,x2,⋯,xn)∈GFn(2),s=(s1,s2,⋯,sn)∈GFn(2),x+s=(x1+s1,x2+s2,⋯,xn+sn),
rf(s)=2−n∑x∈GFn(2)(−1)f(x)+f(x+s),s∈GFn(2)
《3 主要结果》
3 主要结果
X=(X1,X2,⋯,Xn),Y=(Y1,Y2,⋯,Y2n),(X,Y)=(X1,X2,⋯,Xn,Y1,Y2,⋯,Y2n)
中的X1, X2, …, Xn , Y1, Y2, …, Y2n是定义在同一概率空间相互独立, 且具有均匀分布
P{Xi=0}=P{Xi=1}=P{Yj=0}=P{Yj=1}=2−1,1≤i≤n‚1≤j≤2n
f(x,y)=∑(a1,⋯,an)∈GFn(2)(x1+1+a1)⋯(xn+1+an)ya¯¯+1,(x,y)=(x1,x2,⋯,xn,y1,y2,⋯,y2n)∈GFn+2n(2)‚
an+2an−1+⋯+2n−2a2+2n−1a1。
P{f(X,Y)=0}=∑a∈GFn(2)P{f(X,Y)=0,X=a}=∑a∈GFn(2)P{Ya¯¯+1=0}P{X=a}=2−1∑a∈GFn(2)P{X=a}=2−1‚
《3.1选择逻辑函数Walsh循环谱》
3.1选择逻辑函数Walsh循环谱
布尔函数的稳定性是判断其密码学性质的一个重要指标, 而布尔函数的稳定性是通过其Walsh循环谱予以刻画的[6], 因而分析了选择逻辑函数的Walsh循环谱。
定理1 若f (x, y) 是n+2n元选择逻辑函数, 对任意的w∈GFn (2) , v∈GF2n (2) :
1) 当WH (v) =1时, |S (f) (w, v) |=2-n;
2) 当WH (v) ≠1时, S (f) (w, v) =0。
1) 当WH (v) =1时, 设v的第b¯+1个分量为1,
b=(b1,⋯,bn)∈GFn(2)‚b¯=bn+2bn−1+⋯+2n−2b2+2n−1b1‚
由逻辑函数的Walsh循环谱的概率表示式[7]可知,
S(f)(w,v)=2P{f(X,Y)+(w,v)⋅(X,Y)=0}−1 (1)
P{f(X,Y)+(w,v)⋅(X,Y)=0}=P{f(X,Y)+w⋅X+Yb¯+1}=0}=∑a∈GFn(2)P{f(X,Y)+w⋅X+Yb¯+1=0,X=a}=∑a∈GFn(2),a≠bP{f(X,Y)+w⋅X+Yb¯+1=0,X=a}+P{w⋅b=0,X=b} (2)
根据随机变量X1, X2, …, Xn, Y1, Y2, …, Y2n之间的相互独立性可知
∑a∈GFn(2),a≠bP{f(X,Y)+w⋅X+Yb¯+1=0,X=a}=2−1∑a∈GFn(2),a≠bP{X=a}=2−n−1(2n−1)‚ (3)
S(f)(w,v)=2[2−n+2−n−1(2n−1)]−1=2−n;
S(f)(w,v)=2×2−n−1(2n−1)−1=−2−n。
|S(f)(w,v)|=2−n。
∑w∈GFn,v∈GF2n(2),WH(v)=1[S(f)(w,v)]2=∑w∈GFn,v∈GF2n(2),WH(v)=12−2n=1,
再由能量守恒定理[6] (Parseval定理) 知, 任给w∈GFn (2) , v∈GFn (2) , 当WH (v) ≠1时,
综上所述, n+2n元选择逻辑函数f (x, y) 的Walsh循环谱的取值为0或±2-n。由于当WH (v) =1时, |S (f) (w, v) |=2-n, 因而对于较小的n, 抵抗相关攻击的能力比较弱;对于较大的n, f (x, y) 的稳定性比较理想, 能够抵抗最佳仿射 (BAA) 攻击。
《3.2选择逻辑函数的自相关特征》
3.2选择逻辑函数的自相关特征
逻辑函数的自相关函数能刻画逻辑函数的扩散特征和线性结构特征, 在逻辑函数的性质研究中发挥了重要作用[7]。
引理1[8] 设f (x) , x∈GFn (2) 是布尔函数, 其自相关函数和Walsh谱分别为rf (s) , s∈GFn (2) 和S (f) (w) , w∈GFn (2) , 则
∑w∈GFn(2)S2(f)(w)(−1)w\5s=rf(s)‚s∈GFn(2)。
定理2 若f (x, y) 是n+2n元选择逻辑函数, 对任意的s∈GFn (2) , t∈GF2n (2) :
1) 当s≠ (0, 0, …, 0) 时, rf (s, t) =0;
2) 记0= (0, 0, …, 0) ∈GFn (2) , 则
rf(0,t)=1−21−nWH(t)。
1) 由引理1和定理1可知,
rf(s,t)=∑w∈GFn(2),v∈GF2n(2)S2(f)(w,v)(−1)w\5s+v\5t=∑w∈GFn(2),v∈GF2n(2)‚WH(v)=1S2(f)(w,v)(−1)w\5s+v\5t=2−2n∑v∈GF2n(2),WH(v)=1(−1)v\5t∑w∈GFn(2)(−1)w\5s (4)
∑w∈GFn(2)(−1)w\5s=0,
2) 由式 (4) 可知,
rf(0,t)=2−n∑v∈GF2n(2),WH(v)=1(−1)v\5t=2−n(2n−2WH(t))=1−21−nWH(t)。
由定理2可知, 只有当WH (t) =2n即t= (1, 1, …, 1) 时, rf (0, t) =-1, 因而f (x, y) 只有一个非零线性结构点。
对取定的任一正整数k, 当t∈GF2n (2) 且WH (t) =k时, 有
rf(0,t)=1−k2n−1−→−n→∞ 1;
当t∈GF2n (2) 且WH (t) =2n-k时, 有
rf(0,t)=−1+k2n−1−→−n→∞ −1‚
因而当n较大时, GFn+2n (2) 中大部分汉明重量为1, 2等点的自相关函数接近于1, 且大部分汉明重量为2n-1, 2n-2等点的自相关函数接近于-1, 故选择逻辑函数抵抗差分密码分析的能力比较弱, 在一定意义下不能有效地抗击差分攻击。
《3.3线性等价意义下满足严格雪崩准则或具有相关免疫性的逻辑函数构造》
3.3线性等价意义下满足严格雪崩准则或具有相关免疫性的逻辑函数构造
令x∈GFn+2n (2) , 对n+2n元选择逻辑函数f (x) , 记
Sf0={w:w∈GFn+2n(2)‚S(f)(w)=0}‚Rf0={s:s∈GFn+2n(2)‚rf(s)=0}‚
由定理1和定理2中的结论可知, Sf0所含元素个数是|Sf0|=2n (22n-2n) , 而Rf0所含元素个数是|Rf0|=22n (2n-1) +C2n-12n (22n-2n) 。
设f (x) 是n+2n元选择逻辑函数, 定义n+2n元布尔函数
g(x)=f(xA+a)+b⋅x+c,x∈GFn+2n(2)‚
其中a, b∈GFn+2n (2) , c∈GF (2) , A是 (n+2n) × (n+2n) 可逆矩阵, 因为[9]
rg(s)=(−1)b⋅srf(sA)‚s∈GFn+2n(2)‚S(g)(w)=(−1)c+aA−1(w+b)T⋅S(f)((w+b)(A−1)T)‚w∈GFn+2n(2)‚
a. 若取A是Rf0中任意n+2n个线性无关的向量为行所构成的矩阵, 则对任意b ∈GFn+2n (2) , g (x) 不仅保持了选择逻辑函数f (x) 的稳定性, 而且满足严格雪崩准则。
根据定理2可知Rf0中存在线性空间GFn+2n (2) 中的多组基:任选GFn (2) 的一组基
α1, …, αn, 再任选GF2n (2) 的一组基β1, …, βn2, 则 (α1, 0) , …, (αn, 0) , 0= (0, 0, …, 0) ∈GF2n (2) 和 (γ1, β1) , …, (γ2n, β2n ) , 0≠γi∈GFn (2) , 1≤i≤2n 都是f (x) 的扩散点, 且它们显然是GFn+2n (2) 中的一组基, 这样可以得到GFn+2n (2) 中的
(2n−20)(2n−21)⋯(2n−2n−1)×(22n−20)(22n−21)⋯(22n−22n−1)(2n−1)2n
组基 (有序) 。因而可以由f (x) 线性等价地变换出大量满足严格雪崩准则且具有相同稳定性的逻辑函数。
b. 若取B是Rf0中任意n+2n个线性无关的向量为行所构成的矩阵, 令B= (A-1) T, 再取b= (0, 0, …, 0) ∈GFn+2n (2) , 则由选择逻辑函数f (x) 线性等价地变换出的g (x) 是平衡的, 且至少是1阶相关免疫的。
由|Sf0|=2n (22n-2n) 至少可以得到
(2n+2n−22n−20)(2n+2n−22n−21)⋯⋅(2n+2n−22n−2n+2n−1)
个矩阵B, 可以由f (x) 线性等价地变换出大量平衡且具有相关免疫性的逻辑函数。
c. 由选择逻辑函数f (x) 线性等价地变换出既满足严格雪崩准则, 又具有相关免疫性的逻辑函数。例如, 当n=2时, 可取
A=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜100110010001011000001110000011000101⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⇒B=(A−1)T=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜100000000111010111011111111101111011⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟。
根据定理1和定理2可知, 矩阵A满足a节中的条件, B满足a节和b节中的条件, 这时取b= (0, 0, …, 0) ∈GF6 (2) , 如此得到的g (x) 既满足严格雪崩准则又具有相关免疫性的逻辑函数。事实上容易证明, 对选定的满足a节中条件的A, 若存在Sf0中n+2n个向量 (不一定线性无关) 为行所构成的矩阵, 记为C, 使得
CAT+E=(b,b,⋯,b)T‚
其中E是单位阵, b∈GFn+2n (2) , 则对任意的a∈GFn+2n (2) 和C∈GF (2) , 所得的g (x) 既满足严格雪崩准则又具有相关免疫性的逻辑函数。前述n=2的例子正好是C= (A-1) T的特殊情况。
《4 结语》
4 结语
通过全面分析选择逻辑函数的Walsh循环谱和自相关函数, 说明选择逻辑函数当变元个数n不大时, 其密码学性质不好, 在n较大的情况下能够抵抗最佳仿射 (BAA) 攻击, 但是在一定意义上不能有效地抗击差分攻击。这些结果无疑对密码设计者和攻击者均有参考价值。此外, 笔者充分利用概率论的思想和方法, 对得出主要结论起了很好的作用。