《1 引言》
1 引言
在密码体制中, 密钥流生成器中非线性组合函数的设计对密码体制的安全起着关键的作用。根据相应需求, 密码设计者设计了各类特殊的非线性组合函数, 如为抵抗相关攻击, 密码设计者给出了相关免疫函数
[1] 的概念和构造, 而为抵抗差分攻击, Rothaus又提出了Bent函数
[2] 的概念, 后来不少专家又对Bent函数的性质和构造进行了深入研究。考虑到弹性函数 (平衡的相关免疫函数) 和Bent函数以及多输出Bent函数在密码设计中的重要应用, 构造这两类函数一直是密码设计者所关注的重要问题。T. Siegenthaler给出了一种构造平衡相关免疫布尔函数的方法
[1];而P. Camion等人利用编码理论来研究相关免疫布尔函数, 给出了具有高阶相关免疫性的代数次数为2的布尔函数的递归构造方法
[3];张木想等人利用Hadamard矩阵理论提出了直接构造任意阶相关免疫函数的思想和方法
[4];在Bent函数的构造方面, 典型的构造法有Rothaus构造法 (但它并不能构造全部Bent函数) 、Walsh-Hadamard矩阵构造法、基于Kronecker代数和变元置换的构造等
[5], 后来, 王隽又在Bent矩阵原则上给出了Bent函数的一种完全构造法
[6] ; 文献[7]给出了一类布尔函数的Walsh谱的分解式并且讨论了它在密码设计中的应用, 如通过它可以递归构造弹性函数
[8] 以及一维Bent函数
[6]。首先, 笔者利用布尔随机变量联合分布的分解式
[9], 用递归的方法证明了结构形式更为一般的一类布尔函数的Walsh谱分解式。由于密码学中逻辑函数的密码性质几乎完全可以由其Walsh谱来刻画, 因此所给出的Walsh谱分解式在密码函数的构造中有重要应用。其次, 讨论了这类Walsh谱分解式在密码设计中的应用, 通过它给出了弹性函数和Bent函数的一种递归构造方法, 而平衡且满足严格雪崩准则的函数有很大的应用价值, 同时, 满足严格雪崩的布尔函数和H布尔函数
[10] 又是等价的, 而H布尔函数是阵列编码中一个重要的函数类, 因此构造平衡且满足严格雪崩准则的布尔函数具有重要意义。
此外, 多输出Bent函数在分组密码设计和通信中都有重要应用, 但多输出Bent函数的构造和计数又是一个公开的同时也是困难的问题, 其中密码学中常用的通过级联来递归构造新的逻辑函数的方法, 在构造多输出Bent函数时是失效的。利用笔者所得到的一类布尔函数Walsh谱的分解式, 就可以给出多输出Bent函数的一种递归构造法。
《2 基本概念》
2 基本概念
定义1
[11] 设f (x) , x∈GFn (2) 为n元布尔函数, 则称
定义2
[11] 设f (x) , x∈GFn (2) 为n元布尔函数, 则 f (x) 是m阶弹性函数当且仅当对任意的w∈GFn (2) , 且W (w) ≤ m, S (f) (w) = 0, 其中W (w) 表示向量w中所含1的个数。
定义3
[2] 设f (x) , x∈GFn (2) 为n元布尔函数, 则f (x) 是Bent函数的充分必要条件是对任意的w∈GFn (2) , 都有S2(f) (w) = 1/2n;或等价的当且仅当对任意的s∈ GFn (2) \{0}, 都有
rf(s)=12n∑x∈GFn(2)(−1)f(x+s)−f(x)=0。
引理1 (布尔随机变量联合分布的分解式)
[9] 设 (Ω, F, P) 是一概率空间, Y = (Y1, Y2, …, Yn) 是 (Ω, F, P) 上的任一n维布尔随机向量, B∈F是任一事件, 则对任意的a = (a1, a2, …, an) ∈GFn (2) , 都有
P{B,Y1=a1,Y2=a2,⋯,Yn=an}=12n−1∑0≠(λ1,⋯,λn)∈GFn(2)P{B,λ1Y1+⋯+λnYn=λ1a1+⋯+λnan}−2n−1−12n−1P(B)。
《3 一类布尔函数Walsh谱的分解式》
3 一类布尔函数Walsh谱的分解式
下面用概率的方法给出具有某种形式的一类布尔函数的Walsh谱分解式。
定理1 设ϕ (x, y) , x∈GFn (2) , y∈GFr (2) 为n+r元布尔函数, l1 (x) 是n元布尔函数, l1 (y) 是r元布尔函数, 则对任意的w∈GFn (2) , v∈GFr (2) , 有
S(ϕ+l1l2)(w,v)=12[S(ϕ)(w,v)+S(ϕ+l1)(w,v)+S(ϕ+l2)(w,v)−S(ϕ+l1+l2)(w,v)]。 (1)
证明 设X1, X2, …, Xn, Y1, Y2, …, Yr 是定义在同一概率空间上相互独立且都具有均匀分布的布尔随机变量, 对任意的w∈GFn (2) , v∈GFr (2) , 由全概率公式以及引理1有
P{ϕ(X,Y)+l1(X)l2(Y)=wX+vY}=P{ϕ(X,Y)=wX+vY,l1(X)=0,l2(Y)=0}+P{ϕ(X,Y)=wX+vY,l1(X)=0,l2(Y)=1}+P{ϕ(X,Y)=wX+vY,l1(X)=1,l2(Y)=0}+P{ϕ(X,Y)+1=wX+vY,l1(X)=1,l2(Y)=1}=14[P{ϕ(X,Y)=wX+vY}+P{l1(X)=0}+P{l2(Y)=0}+P{ϕ(X,Y)+l1(X)=wX+vY}+P{ϕ(X,Y)+l2(Y)=wX+vY}+P{l1(X)+l2(Y)=0}+P{ϕ(X,Y)+l1(X)+l2(Y)=wX+vY}−3]+14[P{ϕ(X,Y)=wX+vY}+P{l1(X)=0}+P{l2(Y)=1}+P{ϕ(X,Y)+l1(X)=wX+vY}+P{ϕ(X,Y)+l2(Y)=wX+vY+1}+P{l1(X)+l2(Y)=1}+P{ϕ(X,Y)+l1(X)+l2(Y)=wX+vY+1}−3]+14[P{ϕ(X,Y)=wX+vY}+P{l1(X)=1}+P{l2(Y)=0}+P{ϕ(X,Y)+l1(X)=wX+vY+1}+P{ϕ(X,Y)+l2(Y)=wX+vY}+P{l1(X)+l2(Y)=1}+P{ϕ(X,Y)+l1(X)+l2(Y)=wX+vY+1}−3]+14[P{ϕ(X,Y)=wX+vY+1}+P{l1(X)=1},P{l2(Y)=1}+P{ϕ(X,Y)+l1(X)=wX+vY}+P{ϕ(X,Y)+l2(Y)=wX+vY}+P{l1(X)+l2(Y)=0}+P{ϕ(X,Y)+l1(X)+l2(Y)=wX+vY+1}−3]=12[P{ϕ(X,Y)=wX+vY}+P{ϕ(X,Y)+l1(X)=wX+vY}+P{ϕ(X,Y)+l2(Y)=wX+vY}+P{ϕ(X,Y)+l1(X)+l2(Y)=wX+vY+1}]−12=14[S(ϕ)(w,v)+S(ϕ+l1)(w,v)+S(ϕ+l2)(w,v)−S(ϕ+l1+l2)(w,v)]+12。
S(ϕ+l1l2)(w,v)=12[S(ϕ)(w,v)+S(ϕ+l1)(w,v)+S(ϕ+l2)(w,v)−S(ϕ+l1+l2)(w,v)]。
下面利用定理1, 用递归方法给出一类布尔函数Walsh谱的分解式的证明。
ψk(x,y)=f(x)+g(y)+∑i=1kh1i(x)⋅h2i(y)‚x∈GFn(2)‚y∈GFr(2)‚
其中h1i (x) , x∈GFn (2) , 1≤i≤k都是n元布尔函数, h2i (y) , y∈GFr (2) , 1≤i≤k都是r元布尔函数, 记
h(k)1(x)=(h11(x),h12(x),⋯,h1k(x)),h(k)2(y)=(h21(x),h22(y),⋯,h2k(y)),
则对任意的w∈GFn (2) , v∈GFr (2) , 有
S(ψk)(w,v)=12k∑α∈GFk(2)S(g+αh(k)2)(v)⋅∑β∈GFk(2)(−1)αβS(f+βh(k)1)(w); (2)S(ψk)(w,v)=12k∑β∈GFk(2)S(f+βh(k)1)(w)⋅∑α∈GFk(2)(−1)αβS(g+αh(k)2)(v) (3)
ϕ(x,y)=f(x)+g(x)‚l1(x)=h11(x)‚l2(y)=h21(y),
S(f+g+h11h21)(w,v)=12[S(f)(w)S(g)(v)+S(f+h11)(w)S(g)(v)+S(f)(w)S(g+h21)(v)−S(f+h11)(w)S(g+h21)(v)]=12S(g)(v)[S(f)(w)+S(f+h11)(w)]+12S(g+h21)(v)[S(f)(w)−S(f+h11)(w)],
这正是文献[7]所给出的布尔函数的Walsh谱分解式。假设结论对k成立, 即
S(ψk)(w,v)=12k∑α∈GFk(2)S(g+αh(k)2)(v)⋅∑β∈GFk(2)(−1)αβS(f+βh(k)1)(w)。 (4)
在式 (4) 中, 取f (x) 为f (x) +h1k+1 (x) , 则
S(ψk+h1k+1)(w,v)=12k∑α∈GFk(2)S(g+αh(k)2)(v)⋅∑β∈GFk(2)(−1)αβS(f+h1k+1+βh(k)1)(w)。
同理, 在式 (4) 中, 取g (y) 为g (y) +h2k+1 (y) , 则
在式 (4) 中, 取g (y) 为g (y) +h2k+1 (y) , 取f (x) 为f (x) +h1k+1 (x) , 则
同样的方法, 由f (x) 和g (y) 的对称性可得式 (3) 。
《4 一类Walsh谱分解式在密码函数的构造中的应用》
4 一类Walsh谱分解式在密码函数的构造中的应用
文献[8]指出了研究弹性函数——平衡的相关免疫函数的意义, 并给出了弹性函数的一些构造方法。下面的定理表明, 利用上面的Walsh谱的分解式也可以递归构造弹性函数。
定理3 设ψk (x, y) =f (x) +g (y) +∑i=1kh1i(x)h2i(y),h(k)1 (x) 和h(k)2 (y) 如定理2中所定义, 若对任意的α, β∈GFk (2) , f (x) +βh(k)1 (x) 都是m1阶弹性函数, g (y) +αh(k)2 (y) 都是m2阶弹性函数, 则ψk (x, y) 是n+r元m1+m2+1阶弹性函数。
证明 对任意的w∈GFn (2) , v∈GFr (2) , 若W (w, v) ≤m1+m2+1, 则有下列两种情况:
1) w=0或v=0, 设w=0, 则由式 (2) 知
S(ψk)(0,v)=12k∑α∈GFk(2)S(g+αh(k)2)(v)⋅∑β∈GFk(2)(−1)αβS(f+βh(k)1)(0),
由f (x) +βh(k)1 (x) 是平衡函数知
S(f+βh(k)1(0)=0‚所以S(ψk)(0,v)=0。
当v=0时, 同样的方法, 由式 (3) 知S (ψk) (w, 0) =0。
2) w≠0且v≠0, 则此时或者W (w) ≤m1, 或者W (v) ≤m2, 不妨设W (w) ≤m1, 则由于对任意的β∈GFk (2) , f (x) +βh(k)1 (x) 是m1阶弹性函数, 即S (f+βh (k) 1) (w) =0, 由式 (2) 知
S(ψk)(w,v)=12k∑α∈GFk(2)S(g+αh(k)2)(v)⋅∑β∈GFk(2)(−1)αβS(f+βh(k)2)(w)=0。
若W (v) ≤m2, 同样的方法, 由式 (3) 知S (ψk) (w, v) =0。
所以由定义2知ψk (x, y) 是n+r元m1+m2+1阶弹性函数。
推论1 设ψk (x, y) =f (x) +g (y) +∑i=1kh1i(x)h2i(y)‚h(k)1 (x) 和h(k)2 (y) 如定理2中所定义, 若对任意的α, β∈GFk (2) , f (x) +βh (k) 1 (x) 是m1阶弹性函数, g (y) +αh(k)2 (y) 是任意r元平衡的布尔函数, 则ψk (x, y) 是n+r元m1+1阶弹性函数。
注:在定理3中, 特别地取k=2, 即得文献[8]的结论。
Bent函数的构造也是密码设计者关心的问题, 利用上面的Walsh谱的分解式同样可以由变元个数少的Bent函数构造变元个数多的Bent函数。
定理4 设ψk (x, y) =f (x) +g (y) +∑i=1kh1i(x)h2i(y)‚h(k)1 (x) 和h(k)2 (y) 如定理2中所定义, 若对任意的α, β∈GFk (2) , f (x) +βh (k) 1 (x) 和g (y) +αh(k)2 (y) 都是Bent函数, 且下列条件之一成立:
1) 对任意给定的w∈GFn (2) , 存在αw∈GFk (2) , bw∈GF (2) (只与w有关) , 使得对任意的β∈GFk (2) , 都有
S (f+βh (k) 1 (w) =2-n/2 (-1) αwβ+bw;
2) 对任意给定的v∈GFr (2) , 存在βv∈GFk (2) , bv∈GF (2) (只与v有关) , 使得对任意的α∈GFk (2) , 都有
S (g+αh (k) 1 (v) =2-r/2 (-1) βvα+bv;
证明 1) 若对任意给定的w∈GFn (2) , 存在αw∈GFk (2) , bw∈GF (2) , 使得对任意的β∈GFk (2) , 都有
S (f+βh (k) 1 (w) =2-n/2 (-1) αwβ+bw,
S(ψk)(w,v)=12k∑α∈GFk(2)S(g+αh(k)2)(v)⋅∑β∈GFk(2)(−1)αβS(f+βh(k)1)(w)=2−k−n/2∑α∈GFk(2)S(g+αh(k)2)(v)⋅∑β∈GFk(2)(−1)αβ+αwβ+bw=正交性2−n/2(−1)bwS(g+αwh(k)2)(v)
用同样的方法, 由式 (3) 可以证明, 当条件2成立时ψk (x, y) 是n+r元Bent函数。
注:在上面的定理中, 当k=1时, 则对任意的w∈GFn (2) , S (f) (w) 和S (f+h11) (w) 自然满足条件1;当k=2时, 若对任意的w∈GFn (2) , S (f) (w) , S (f+h11) (w) , S (f+h12) (w) , S (f+h11+h12) (w) 同号, 或两个为正值、两个为负值时, 则满足定理的条件1。
定理5 设f (x) =π (x (2) ) x (1) , x= (x (1) , x (2) ) ∈GF2n (2) , 其中π为GFn (2) 到GFn (2) 的置换, 又设h1i (x (1) , x (2) ) =li (x (2) ) (1≤i≤k) , g (y) , h2i (y) (1≤i≤k) , y∈GFr (2) 满足:对任意的α∈GFk (2) , g (y) +αh(k)2 (y) 都是Bent函数, 则
ψk(x,y)=f(x)+g(y)+∑i=1kli(x(2))h2i(y)
证明 记l (k) (x (2) ) = (l1 (x (2) ) , …, lk (x (2) ) ) , 则对任意的w (1) , w (2) ∈GFn (2) , 及任意的β∈GFk (2) , 有
S(f+βh(k)1)(w(1),w(2))=2−2n∑x(1)∈GFn(2),x(2)∈GFn(2)(−1)π(x(2))x(1)+βl(k)(x(2))+w(1)x(1)+w(2)x(2)=2−2n∑x(2)∈GFn(2)(−1)βl(k)(x(2))+w(2)x(2)∑x(1)∈GFn(2)(−1)(π(x(2))+w(1))x(1)=2−2n(−1)βl(k)(x(2)w(1)+w(2)x(2)w(1),
则α (w (1) , w (2) ) =l (k) (x (2) w (1) ) = (l1 (x (2) w (1) ) , l2 (x (2) w (1) ) , …, lk (x (2) w (1) ) , 而b (w (1) , w (2) ) =w (2) x (2) w (1) , 其中π (x (2) w (1) ) =w (1) , 所以对任意的β∈GFk (2) , S (f+βh (k) 1) (w (1) , w (2) ) 满足定理4的条件1, 因此ψk (x, y) 是2n+r元Bent函数。
下面考察了在一定的限制条件下, ψk (x, y) 的自相关特征:
定理6 设ψk (x, y) =f (x) +g (y) +∑i=1kh1i(x)h2i(y)‚h(k)1 (x) 和h(k)2 (y) 如定理2中所定义, 若对任意的α, β∈GFk (2) , f (x) +βh (k) 1 (x) 都是满足l1次扩散准则的n元布尔函数, g (y) +αh (k) 2 (y) 都是满足l2次扩散准则的r元布尔函数, 则对任意的s1∈GFn (2) , s2∈GFr (2) , 且W (s1) ≤l1, W (s2) ≤l2, ψk (x, y) 的自相关函数满足:
证明 对任意的s1∈GFn (2) , W (s1) ≤l1, 由X和Y的相互独立性知
P{ψk(X+s,Y)+ψk(X,Y)=0}=P{f(X+s1)+∑i=1kh1i(X+s1)h2i(Y)+f(x)+∑i=1kh1i(X)h2i(Y)=0}=∑β∈GFk(2)P{h(k)2(Y)=β,f(X+s1)+f(x)+β(h(k)1(X+s1)+h(k)1(X))=0}=∑β∈GFk(2)P{h(k)2(Y)=β}P{f(X+s1)+βh(k)1(X+s1)+f(X)+βh(k)1(X)=0},
由于对β∈GFk (2) , f (x) +βh(k)1 (x) 都是满足l1次扩散准则, 即
P{f(X+s1)+βh(k)1(X+s1)+f(X)+βh(k)1(X)=0}=1/2‚
P{ψk(X+s,Y)+ψk(X,Y)=0}=12∑β∈GFk(2)P{h(k)2(Y)=β}=12‚
即rψk (s1, 0) =0。对任意的s2∈GFr (2) , 由对称性同样可证rψk (0, s2) =0。
在实际应用中, 平衡且满足严格雪崩准则的函数有很大的应用价值, 同时满足严格雪崩的布尔函数和H函数是等价的, 它是阵列编码中的一个重要的函数类。因此, 构造平衡且满足严格雪崩准则的布尔函数具有重要意义, 而下面的定理表明利用上面的谱分解式可以递归构造平衡的满足严格雪崩的布尔函数。
定理7 设ψk (x, y) =f (x) +g (y) +∑i=1kh1i(x)h2i(y)‚h(k)1 (x) 和h(k)2 (y) 如定理2中所定义, 若对任意的α, β∈GFk (2) , f (x) +βh (k) 1 (x) 都是平衡且满足严格雪崩准则的n元布尔函数, g (y) +αh(k)2 (y) 都是满足严格雪崩准则的r元布尔布尔函数, 则ψk (x, y) 是n+r元平衡且满足严格雪崩准则的布尔函数。
证明 平衡性由式 (2) 可证, 而满足严格雪崩准则由定理6可知。
注: 在上面的定理中, 并不要求g (y) +αh (k) 2 (y) 是平衡的布尔函数。
例1 设f (x) =x0 (x1x2+x3) +x1x4+
x2x5+ (x0+x1+x2+1) x6, x∈GF7 (2) ;
h11 (x) = (x0+x1) x3+x0 (x1+x1x2+x4) +
(x1+1) x5+x2x6+x2, x∈GF7 (2) ;
h12 (x) = (x0+x1+x2) x3+ (1+x0+x2) x4+
g (y) =y0 (y1y2+y3) +y1y4+y2y5+ (y0+
h21 (y) = (y0+y1) y3+y0 (y1+y1y2+y4) +
(y1+1) y5+y2y6+y2, y∈GF7 (2) ;
h22 (y) = (y0+y1+y2) y3+ (1+y0+y2) y4+
则可以验证f (x) , h11 (x) , h12 (x) , g (y) , h21 (y) , h22 (y) 满足定理7的条件, 所以函数ψ2 (x, y) =f (x) +g (y) +h11 (x) h21 (y) +h12 (x) 是平衡的满足严格雪崩准则的14元布尔函数。
《5 结语》
5 结语
给出了结构形式更为一般的一类布尔函数Walsh谱的分解式, 并利用这种谱分解式给出了在密码设计中有重要应用的弹性函数和Bent函数的一些新的递归构造方法, 还利用这种谱分解式和概率的方法考察了一类特殊布尔函数的自相关特征等, 构造了平衡且满足严格雪崩准则的一类布尔函数。 而且利用所提的方法也可以给出多输出Bent函数
[11]的递归构造等。