在诸多密码攻击方法中有一种差分方法, 是以输入的改变导致输出有相对较大改变为基础的一种攻击方法, 针对此种攻击, Webster和Tavares定义了布尔函数的严格雪崩准则 (SAC) 的概念:如果一个函数满足严格雪崩准则, 那么当输入只有1 b改变时, 输出改变的概率将是1/2 [1], 故以这样的布尔函数为非线性组合器产生的密钥流能够抗针对输入只改变1 b时的差分攻击。基于此, 人们对满足严格雪崩准则的布尔函数的性质和构造等进行了一系列研究 [2,3,4,5], 文献[2]得到了布尔函数满足严格雪崩准则的谱判别条件。

然而在选择性明文攻击中, 密码破译者们又可以通过固定某些输入比特为常值后再作差分攻击, 为此, Forre'对布尔函数的严格雪崩准则概念进行了拓展, 给出了布尔函数满足k阶严格雪崩准则的定义, 并得到了布尔函数满足k阶严格雪崩准则的谱判别条件 [2]。以上工作对密码的设计者和分析者无疑都是有意义的。

依据实际应用的需要, 近年来人们在密码学中对多值逻辑函数的有关性质和构造给予了更多的关注, 将布尔函数的许多研究成果都拓广到了多值逻辑函数中, 也特别给出了多值逻辑函数的严格雪崩准则的概念 [6], 有不少成果问世 (参见文献[6,7]) 。但是, 多值逻辑函数满足高阶严格雪崩准则的定义迄今尚未见到。笔者给出了剩余类环Zm上逻辑函数满足k阶严格雪崩准则的定义, 证明了m值逻辑函数满足高阶严格雪崩准则时一定满足低阶严格雪崩准则, 考虑到谱在逻辑函数密码学性质研究中所发挥的作用, 肖国镇、冯登国教授等在这方面做了很出色的工作 [6], 笔者还利用反演公式得到了谱的一个分解公式, 据此给出了m值逻辑函数满足k阶严格雪崩准则的一个谱判别条件, 将文献[2]中的结果推广到了一般的m值逻辑函数。为记号简便, 只就k=1的情况给出m值逻辑函数满足k阶严格雪崩准则的主要结论的证明。

《1 基本概念和预备知识》

1 基本概念和预备知识

以下m≥2是任一取定的正整数, 且以Zm记整数模m的剩余类环, 又对任一取定的正整数n, 以Zmn表示nZm的笛卡尔积。当w= (w1, w2, …, wn) ∈Znm时, 称w的不为0元的分量个数为其汉明重量, 且记为W (w) 。

定义1 [7]ZmnZm的任一映射f都为Zmn上的n个变元的m值逻辑函数, 即若x= (x1, x2, …, xn) ∈Zmn, 则f (x) =f (x1, x2, …, xn) ∈Zm

定义2 [7]x= (x1, x2, …, xn) ∈Zmn, w= (w1, w2, …, wn) ∈Zmn, 则xw的点积定义为w·x=w1x1+w2x2+…+wnxn (mod m) , 则nm值逻辑函数f (x) , xZmn的第二种Chrestenson变换定义为

S(f)(w)=1mnxΖmnuf(x)-w\5x,wΖmn

S (f) (w) , wZmnf (x) 的Chrestenson循环谱。

定义3 [6]f (x) , xZmnm值逻辑函数, 对x= (x1, x2, …, xn) ∈Zmn, s= (s1, s2, …, sn) ∈Zmnx+s= (x1+s1, x2+s2, …, xn+sn) , 称

rf(s)=1mnxΖmnuf(x+s)-f(x)

f (x) 的自相关函数。

定义4 [7]m值逻辑函数f (x) , xZmn是满足严格雪崩准则的, 若f (x) 的自相关函数rf满足rf (s) =0, sZmn, W (s) =1。

定义5 设n≥2, 1≤k<n, 称nm值逻辑函数f (x1, x2, …, xn) 是满足k阶严格雪崩准则的, 如果取定f (x1, x2, …, xn) 的n个变元x1, x2, …, xn中的任意k个后, 所得n-k元的m值逻辑函数都是满足严格雪崩准则的。

下设X= (X1, X2, …, Xn) 中的X1, X2, …, Xn是定义在同一概率空间 (Ω, F, P) 上相互独立且都具有均匀分布的m值随机变量, 即对任意的 (a1, a2, …, an) ∈Znm, 都有

Ρ{X1=a1,X2=a2,,Xn=an}=Ρ{X1=a1}Ρ{X2=a2}Ρ{Xn=an},

P{Xi=a} =1/m, aZm , 1≤in, 则易知对任一m值逻辑函数f (x1, …, xn) , f (X1, …, Xn) 也为 (Ω, F, P) 上的m值随机变量。

在上述记号的意义下, 关于m值逻辑函数的自相关函数的概率表示式已有下面的结果:

定理1 [7] 对任一m值逻辑函数f (x) , xZmn, 都有

rf(s)=rΖmurΡ{f(X+s)-f(X)=r},sΖmn

定理2 [8] (反演公式) 对任一m值逻辑函数f (x) 与其Chrestenson循环谱的关系为

uf(x)=wΖmnS(f)(w)\5uw\5x,xΖmn

关于m值逻辑函数满足严格雪崩准则的Chrestenson谱判别条件, 又已有下面的结果:

定理3 [7]m值逻辑函数f (x) , xZmn满足严格雪崩准则的充分必要条件是对所有的1≤jn , 只要sjZm0}, 就都成立

wΖmn|S(f)(w)|2\5uwj\5sj=0

《2 主要结果》

2 主要结果

定理4 如果m值逻辑函数f (x) , xZmn满足k阶严格雪崩准则, 那么f (x) 必定满足k-1阶严格雪崩准则 (0阶严格雪崩准则即原来意义下的严格雪崩准则) 。

证明 为记号简单, 只给出满足1阶严格雪崩准则必定满足严格雪崩准则的证明。

m值逻辑函数f (x1, x2, …, xn) 满足1阶严格雪崩准则, 根据定义知, 此时对任意的1≤inaZm, n-1元m值逻辑函数

fi:a(x(i))=f(x1,,xi-1,a,xi+1,,xn)

都要满足严格雪崩准则, 再根据定理1, 即知对任意的aZm

s*=(s1,,si-1,si+1,,sn)Ζmn-1W(s*)=1rfi:a(s1,,si-1,si+1,,sn)=rΖmurΡ{f(X1+s1,,Xi-1+si-1,a,Xi+1+si+1,,Xn+sn)-f(X1,,Xi-1,a,Xi+1,,Xn+sn)=r}=0

都成立。

今设s= (s1, …, sn) ∈ZmnW (s) =1, 即s中仅有一个分量不为0, 不妨设

s10,s=(s1,0,,0),

于是有

rf(s1,0,,0)=rΖmurΡ{f(X1+s1,X2,X3,,Xn)-f(X1,X2,X3,,Xn)=r}=rΖmaΖmurΡ{f(X1+s1,a,X3,,Xn)-f(X1,a,X3,,Xn)=r,X2=a}=0rΖmaΖmurΡ{f(X1+s1,a,X3,,Xn)-f(X1,a,X3,,Xn)=r}Ρ{X2=a}=1mrΖm[aΖmurΡ{f(X1+s1,a,X3,,Xn)-f(X1,a,X3,,Xn)=r}]=0

由此即易知f (x) 满足严格雪崩准则。

定理4告知, m值逻辑函数满足k (≥1) 阶严格雪崩准则的一个必要条件是它必须满足通常意义下的严格雪崩准则。

根据m值逻辑函数满足k (≥1) 阶严格雪崩准则的定义不难得到如下引理:

引理1 m值逻辑函数f (x) , xZmn满足k阶严格雪崩准则的充分必要条件是对所有的正整数1≤inaZm, 取定xi=a后所得n-1元函数f (x1, …, xi-1, a, xi+1, …, xn) 满足k-1阶严格雪崩准则。

注意: 对任意的1≤in, nm值逻辑函数f (x) , xZmn都可表示为

f(x1,,xi-1,xi,xi+1,,xn)=rΖmΙ{a}(xi)fi:a(x(i)),(x1,x2,,xn)Ζmn,

其中

fi:a (x (i) ) =f (x1, …, xi-1, a, xi+1, …, xn) ,

Ι{a}(xi)={1,xi=a0,xia,xiΖm,aΖm

又记

w=(w1,,wi-1,k,wi+1,,wn)Ζmn

为 (k, w (i) ) , 而记

w(i)=(w1,,wi-1,wi+1,,wn),X(i)=(X1,,Xi-1,Xi+1,,Xn)

定理5 设f (x1, …, xn) 是任一m值逻辑函数, 则对任意的1≤in, 当f表示为

f(x1,,xi-1,a,xi+1,,xn)=rΖmΙ{a}(xi)fi:a(x(i))

时, 就有

S(fi:a)(w(i))=kΖmuakS(f)(k,w(i)),aΖm(1)

证明 根据m值逻辑函数Chrestenson谱定义式和反演公式可知, 对任意取定的aZm和 (k, w (i) ) ∈Zmn都有

S(fi:a)(w(i))=1mn-1xΖmn-1ufi:a(x(i))u-w(i)\5x=1mn-1xΖmn-1kzm,v(i)Ζmn-1S(f)(k,v(i))uka+v(i)\5xu-w(i)\5x=1mn-1kzm,v(i)Ζmn-1ukaS(f)(k,v(i))xΖmn-1u[v(i)-w(i)]x=kΖmukaS(f)(k,w(i))

特别在m=2, i=n时, 注意到u=-1, 定理5中的式 (1) 即是布尔函数性质研究中发挥了重要作用的那个著名公式

Sfi:1(w(n))=S(f)(0,w(n))-S(f)(1,w(n)),Sfi:0(w(n))=S(f)(0,w(n))+S(f)(1,w(n))

对任一w= (w1, …, wi-1, wi, wi+1, …, wn) ∈Zmn再记

wi1,a1,,ik,ak=(w1,,wi1-1,wi1+a1,wi1+1,,wik-1,wik+ak,wik+1,,wn)Ζmn

根据定理5和引理1, 可以得到m值逻辑函数满足k阶严格雪崩准则的如下谱判别条件:

定理6 m值逻辑函数f (x) , xZmn满足k阶严格雪崩准则的充分必要条件是对所有的1≤i1<…<ikn, 1≤jn且{j}⊂{1, 2, …, n}i1, …, ik}, sjZm0}和对任意的 (a1, …, ak) ∈Zmk,

wΖmn[S(f)(w)S¯(f)(wi1,a1,,ik,ak)]uwjsj=0

都成立。

特别当k=1时, m值逻辑函数f (x) , xZmn满足1阶严格雪崩准则的充分必要条件是对所有的i, j∈{1, 2, …, n}且ij, sjZm0}和对任意的aZm,

wΖmnS(f)(w)S¯(f)(wi,a)uwjsj=0

都同时成立。

证明 为记号简单, 只就k=1的情况给出m值逻辑函数满足k阶严格雪崩准则的主要证明, 一般结论可再根据引理1由数学归纳法得到。

由定义5和定理3可知, f (x) 满足1阶严格雪崩准则的充分必要条件, 是对所有的i, j∈{1, 2, …, n}且ij, sjZm0}和对任意的aZm, 都有

w(i)Ζmn-1|S(fi:a)(w(i))|2uwjsj=0

而根据定理5, 在上述记号的意义下, 对所有的aZm, 就有

《图1》

 

则对所有的aZm, 式 (2) 就是

w(i)Ζmn-1|S(fi:a)(w(i))|2uwjsj=S0+uaS1++ua(m-1)Sm-1(3)

因而, 若S0=S1=…=Sm-1=0, 则由式 (3) 即知对所有的aZm, 都有

w(i)Ζmn-1|S(fi:a)(w(i))|2\5uwjsj=0

反之, 若对所有的aZm, 式 (3) 都成立, 则在式 (3) 中取遍aZm, 就得到关于S0, S1, …, Sm-1的方程组

{S0+S1++Sm-1=0,S0+uS1+um-1Sm-1=0,S0+um-1S1++u(m-1)(m-1)Sm-1=0,

解之即得

S0=S1==Sm-1=0

特别在m=2时, 注意到u=1及对任意的wZ2n, S (f) (w) 都为实数, 定理6中结论为: 布尔函数f (x) , xZ2n满足k阶严格雪崩准则的充分必要条件, 是对所有的1≤i1<…<ikn, 1≤jn且{j}⊂{1, 2, …, n}i1, …, ik}, sjZ20}和对任意的(a1,,ak)Ζ2k,wΖ2n[S(f)(w)S(f)(wi1,a1,,ik,ak)]\5(-1)wj=0都成立。这是文献[2]中的主要结果。

《3 结语》

3 结语

在剩余类环Zm上给出了m值逻辑函数的k阶严格雪崩准则 (SAC) 的概念, 并借助Chrestenson谱给出了m值逻辑函数满足k阶严格雪崩准则的一个充分必要条件, 此外, 依据定理6的结论, 还可以给出满足k阶严格雪崩准则的m值逻辑函数的更多的递归构造方法, 用变元个数少的逻辑函数构造变元个数多且满足k阶严格雪崩准则的逻辑函数, 更好地在密码设计中使用逻辑函数的资源, 因而是有实际意义的。