分组密码是一类重要且应用广泛的对称密码体制.从分组密码算法的设计模型来说,分组密码算法的设计模型主要分为:以DES算法[1]为代表的Feistel模型、以CAST-256算法[2]和SMS4算法[3]为代表的不平衡Feistel模型、以Rijndael算法[4]为代表的SP模型及以IDEA算法[5]为代表的Lai-Massey模型等.SP模型是目前广泛使用的分组密码结构之一,很多著名的密码算法都采用这种结构,如AES算法[4]、ARIA算法[6]、Serpent算法[7]和SAFER算法[8]等.
差分分析和线性分析是两种对分组密码算法进行分析的最基本的手段.为了使SP模型更好地抵抗差分分析和线性分析,密码设计者希望构造差分分支数及线性分支数以尽可能大地扩散结构,从而增加差分及线性路径中活动S盒的个数.MDS矩阵的差分和线性分支数均达到了最大值[9],故,利用MDS矩阵来构造分组密码的扩散结构是一种重要的方法,国内外的密码学者都对MDS矩阵的构造与密码特性进行了大量的研究[10, 11, 12, 13, 14, 15, 16].
本文研究了SPS模型差分概率上界的估计问题.在该问题的研究中,2000年,Hong等人在文献[17]中证明:
当P变换的分支数达到最大值m+1时,2轮SP网络差分概率的上界为$p_{\max }^m;$当P变换的分支数达到次大值m时,2轮SP网络差分概率的上界为$p_{\max }^{m - 1}.$2001年,Kang等人在文献[9]中证明了2轮SP网络差分概率的上界为$p_{\max }^{{B_d} - 1},$从而推广了Hong等人的结论,并据此给出了2轮AES算法的差分概率的上界为2-24.2002年,Park等人
对类Rijndael结构的差分概率的上界进行了研究[18],指出,4轮类Rijndael结构差分概率的上界为1.06x2-96.2003年,Park等人给出了2轮SP网络差分概率上界的估计公式[19],该上界是SPS模型迄今最紧的上界.对SPS模型差分概率的上界进行理论估计,可为SP网络、嵌套SP的Feistel结构等密码模型的可证明安全性提供理论支撑.在文献[20] 中,Choy等人利用Park给出的关于SPS模型差分概率上界的结论,给出了E2算法及MCrypton算法抵抗飞来去器[21]攻击的安全性.此外,针对SP网络的分组算法ARIA,文献[22]对该算法差分概率进行了研究.Shirai等人对嵌套SP结构的Feistel模型的差分概率的上界进行了研究[23],并指出,10轮Camellia差分概率不会大于2-128.
针对P盒为n-MDS矩阵对应的仿射变换构造的扩散结构,本文给出了该类SPS模型差分概率的一个新上界.当SPS模型中的S盒均为仿射等价时,该上界等于Park等人给出的上界;当S盒是独立S盒时,我们的模拟实验结果说明,该上界一般比Park等人给出的上界更紧,从而说明使用独立的S盒可能获得比使用相同S盒获得更好的抗差分攻击的能力.
1 SPS模型的简化定义1. 设Si→{0,1}n→{0,1}n是双射,S:[Z/(2n)]m→[Z/(2n)]m,使任意的(x1,…,xm)∈[Z/(2n)]m,有S(x1,…,xm)= (S1(x1),…,S1(xm)).再设P:{0,1}mn→{0,1}mn是二元域上的仿射双射,则称由S盒、P盒、与密钥逐位模2加及S盒这4个变换复合的模型为SPS模型.
在分组密码中,S盒有时设计为非线性变换与仿射变换的复合,如AES算法中的S盒.对于这类S盒构成的SPS模型,我们可将S盒中的仿射变换与扩散结构P看作一个整体,从而构成一个新的扩散结构Pnew.引理1给出了具体的约简关系.
引理1. 设Si:{0,1}n→{0,1}n是双射,S:[Z/(2n)]m→[Z/(2n)]m使任意的(x1,…,xn)∈[Z/(2n)]m,有S(x1,…,xm)= (S1(x1),…,S1(xm)),且P:{0,1}mn→{0,1}mn是二元域上的仿射双射.再设Ti:{0,1}n →{0,1}n且存在仿射双射ji,yi:{0,1}n→{0,1}n使Si(x)=ψi(Ti(ϕi(x))),定义ϕ=(ϕ1,…,ϕm),ψ=(ψ1,…,ψm),T=(T1,…,Tm),Pnew:{0,1}mn→{0,1}mn使Pnew(x)=ϕoPoψ(x),则有:
S(PS(x)⊕k)=ψT(PnewTϕ(x)⊕ϕ(k)⊕ϕ(0)).
引理1说明采用扩散结构为P、混淆层设计为T(x)=ψ(S(ϕ(x)))的TPT模型,其差分概率的取值分布规律与采用扩散结构Pnew(x)=ϕ(P(ψ(x)))、混淆层为S(x1,…,xm)=(S1(x1),…,S1(xm))的SPnewS模型的差分概率的取值分布规律相同,故下面只需研究SPnewS的差分概率规律即可.例如:对于S盒为有限域上的仿射变换与仿射变换复合构成的SPS模型,我们只需假设S盒是有限域上的逆变换即可.即使P是GF(2n)上的线性变换,但ji和yi可能只是二元域上的仿射变换而不是GF(2n)上的仿射变换,故Pnew可能是二元域上的仿射变换而不是GF(2n)上的线性变换.因此,我们通常假设SPnewS模型中的P盒Pnew是二元域上的仿射变换,这说明定义1中对扩散结构P的定义具有一般性.
定义2[21]. 设函数f:{0,1}u→{0,1}v,α∈{0,1}u,β∈{0,1}v,则称pf(α→β)=#{x∈{0,1}u:f(x)⊕f(x⊕α)=β}/2u为f的差分对应α→β的差分概率,其中,#表示集合中元素的个数.
定义3. 设f:{0,1}mn→{0,1}mn是仿射变换,α,β∈{0,1}mn,则称$DB_f^{(n)} = \mathop {\min }\limits_{\alpha \ne 0} \{ w{t_n}(\alpha ) + w{t_n}(f(\alpha ))\} $为f的n-差分分支数.这里,wtn(α)是α=(α1,…,am)中非零的n比特块的个数.
定义4. 设f:{0,1}mn→{0,1}mn是仿射变换且f(x)=Ax⊕f(0),当f的n-差分分支数达到最大值m+1时,则称f对应的变换矩阵A为n分块MDS矩阵,简记为n-MDS矩阵.
在本文中,在不引起歧义时,我们简称n-差分分支数为n-分支数.
2 预备知识以下均假设所研究的SPS模型是定义1所定义的SPS模型,且其中的S盒都是有限域GF(2n)上的逆变换,P是{0,1}mn到自身的仿射变换.
引理2. 设f(x)=Ax⊕f(0),A是mnxmn二元矩阵,E是mn级单位方阵.再设A||E=A1||…||A2m且诸Ai是mnxn矩阵,则矩阵A的n-差分分支数≥d的充要条件为A1,…,A2m中任意d-1个矩阵的列向量全体构成的向量组均线性无关.
证明:
· 充分性
若A||E的任意d-1个n-分块列在二元域上线性无关,则A||E中至少d个n-分块列在二元域上才可能线性相关,从而任何重量小于d的向量(X,Y)T都不能使(A||E)(X,Y )T=0成立,即,A的n-差分分支数≥d.
· 必要性
若矩阵A的n-差分分支数≥d,则对任意非零的X,Y∈[Z/(2n)]m,wtn(X)+wtn(Y)的最小值为d,其中Y=AX.若A||E存在d-1个n-分块列在二元域上线性相关,不妨设第t1,t2,…,td-1个n-分块列线性相关,将这些n-分块列依次记为z1,z2,…,zd-1,则存在d-1个n维0-1列向量c1,c2,…,cd-1∈Z/(2n)使得c1·z1⊕c2·z2⊕…⊕cd-1·zd-1=0成立,其中,运算“·”为c·z=c1·z1⊕c2·z2⊕…⊕cn·zn,c=(c1,c2,…,cn)∈Z/(2n),z为一个n-分块列,zi表示0-1块z的第i列.cizi表示ci与zi作数乘运算.
现构造2mn维列向量${(X',Y')^T} = {(0,...,0,c_1^T,0,...,0,c_2^T,0,...,0,c_{d - 1}^T,0,...,0)^T}$,其中,诸ci及零元素均为n维0-1列向量,且$c_i^T$为(X′,Y′)T中的第ti个n维向量,i=1,2,…,d-1,则有:
(A||E)(X′,Y′)T=c1·z1⊕c2·z2⊕…⊕cd-1·zd-1=0.
此时,由A||E中存在d-1个n-分块列在二元域上线性相关的假设,构造了向量重量wtn(X′)+wtn(Y′)为d-1的X′,Y′∈[Z/(2n)]m,这与A的n-差分分支数≥d矛盾,故必要性成立.
定理1. 设mn级二元矩阵P是n-MDS矩阵,t1,t2,…,t2m是1,2,…,2m的一个排列,则有:
(1) 存在二元域上的m2个n级可逆方阵ei,j,i,j=1,2,…,m,使得任意的X,Y∈[GF/(2n)]m,Y=PX等价于对1≤ i≤m,均有${z_{{t_i}}} = \mathop \oplus \limits_{j = 1}^m {e_{i,j}}{z_{{t_{m + j}}}}.$这里,列向量zi是X||Y的第i个坐标;
(2) 如果P是GF(2n)上的m级方阵,则存在GF(2n)上的非零元ei,j,i,j=1,2,…,m,使得任意的X,Y∈[GF/(2n)]m,Y=PX等价于对1≤i≤m,均有${z_{{t_i}}} = \mathop \oplus \limits_{j = 1}^m {e_{i,j}}{z_{{t_{m + j}}}},$这里,列向量zi是X||Y的第i个坐标.
证明:设P||E=h1||…||h2m且诸hi都是mnxn二元矩阵,X,Y∈[GF/(2n)]m,则Y=PX等价于(P||E)(X,Y)T=0.由于zi是Z=X||Y的第i坐标,故上式等价于$\mathop \oplus \limits_{i = 1}^{2m} {\eta _i}{z_i} = 0,$即$\mathop \oplus \limits_{j = 1}^m {\eta _{{t_j}}}{z_{{t_j}}} = \mathop \oplus \limits_{j = m + 1}^{2m} {\eta _{{t_j}}}{z_{{t_j}}},$亦即:
$({\eta _{{t_1}}},...,{\eta _{{t_m}}}){({z_{{t_1}}},...,{z_{{t_m}}})^T} = ({\eta _{{t_{m + 1}}}},...,{\eta _{{t_{2m}}}}){({z_{{t_{m + 1}}}},...,{z_{{t_{2m}}}})^T}.$
由P的n-分支数为m+1,故由引理2可知,矩阵$A = ({\eta _{{t_1}}},{\eta _{{t_2}}},...,{\eta _{{t_m}}})$是可逆矩阵,因而上式等价于:
${({z_{{t_1}}},...,{z_{{t_m}}})^T} = {A^{ - 1}}({\eta _{{t_1}}},...,{\eta _{{t_m}}}){({z_{{t_{m + 1}}}},...,{z_{{t_{2m}}}})^T} = ({A^{ - 1}}{\eta _{{t_1}}},...,{A^{ - 1}}{\eta _{{t_m}}}){({z_{{t_{m + 1}}}},...,{z_{{t_{2m}}}})^T}\mathop = \limits^{def} $ ${({e_{i,j}})_{m \times m}}{({z_{{t_{m + 1}}}},...,{z_{{t_{2m}}}})^T},$
其中,ei,j是二元域上的n级方阵.这说明Y=PX等价于对1≤i≤m,均有${z_{{t_i}}} = \mathop \oplus \limits_{j = 1}^m {e_{i,j}}{z_{{t_{m + j}}}}$.下证诸ei,j都是二元域上的可逆矩阵.
假设${e_{{i_0},{j_0}}}$不是二元域上的可逆矩阵,则存在c∈{0,1}n\{0},使得${e_{{i_0},{j_0}}}c = 0.$构造Z=(z1,…,z2m),使得对于
i∈{1,2,…,2m},有:
${z_{{t_i}}} = \left\{ {\begin{array}{*{20}{l}} {c,{\text{ }}i = m + {t_0}} \\ {0,{\text{ }}i > mi \ne m + {t_0}} \\ {{e_{i,{j_0}}}c,{\text{ }}1 \leqslant i \leqslant m} \end{array}} \right.,$
则1≤i≤m,均有${z_{{t_i}}} = \mathop \oplus \limits_{j = 1}^m {e_{i,j}}{z_{{t_{m + j}}}}.$令X,Y∈[GF/(2n)]m,使得Z=X||ψ,则由已证结论可知ψ=PX.由于${e_{{i_0},{j_0}}}c = 0,$因而Z的非零块的个数≤m,这与P是n-MDS矩阵矛盾.该矛盾说明,诸ei,j都是二元域上的可逆矩阵.
显然,当P是GF(2n)上的m级方阵时,诸hi都是GF(2n)上的m维列向量,只需将m级矩阵与向量的乘法换为有限域GF(2n)上乘法,直接沿用上述证明即可证明后一结论.
由定理1的证明可知,矩阵(ei,j)mxm只与矩阵P和排列t1,t2,…,t2m有关,故以下称定理1中,以n级可逆方阵ei,j为元素的矩阵(ei,j)mxm为由矩阵P和排列t1,t2,…,t2m决定的矩阵.
下面先给出排序定理的一个推广形式.
引理3[24]. 设对1≤i≤m,均有0≤ai,1≤ai,2≤…≤ai,n.如果对任意的i,bi,1,bi,2,…,bi,n均是ai,1,ai,2,…,ai,n的一个排列,则有$\sum\limits_{j = 1}^n {\prod\limits_{i = 1}^m {{b_{i,j}}} } \leqslant \sum\limits_{j = 1}^n {\prod\limits_{i = 1}^m {{a_{i,j}}} } .$再设${j_0} = \min \left\{ {j:\prod\limits_{i = 1}^m {{a_{i,j}}} > 0} \right\},$则上式等号成立的充要条件是:对任意的j≥j0和任意的i,均有bi,j=ai,j.
3 给定差分对应的差分概率估计当P是n-MDS矩阵构造的扩散变换时,下面我们将给出给定一个差分对应α→b时,其差分概率上界的估计问题.由于SPS模型的差分路径$\alpha \xrightarrow{{{S_{(1)}}}}A\xrightarrow{P}PA\xrightarrow{{{S_{(2)}}}}\beta $的概率为
${p_{{S_{(1)}}}}(\alpha \to A){p_{{S_{(2)}}}}(PA \to \beta ) = {p_{{S_{(1)}}}}(\alpha \to A){p_{S_{(2)}^{ - 1}}}(\beta \to PA),$
因而,SPS模型一条差分路径的概率分析可以转化为S变换${S_{(1)}}||S_{(2)}^{ - 1}$的一个差分对应$\alpha ||\beta \xrightarrow{{{S_{(1)}}||S_{(2)}^{ - 1}}}$A||PA的概 率分析,此时,叙述和研究起来更加简捷.
定理2. 设扩散变换P为n-MDS矩阵对应的仿射变换构造且P的分支数为m+1,α||β=(α1,…,αm,β1,…,βm)∈[Z/(2n)]m\{0}.再设Si在输入差为αi时所有差分对应的概率从大到小依次为${p_{i,0}},...,{p_{i,{2^n} - 1}}$,Si在输出差为bi时所有差分对应的概率从大到小依次为${p_{m + i,0}},...,{p_{m + i,{2^n} - 1}}$,定义变换T=(T1,T2,…,T2m),使得:
${T_i} = \left\{ {\begin{array}{*{20}{l}} {{S_i},{\text{ }}1 \leqslant i \leqslant m} \\ {S_i^{ - 1},{\text{ }}m + 1 \leqslant i \leqslant 2m} \end{array}} \right.,$
则有:
(1)${p_{SPS}}(\alpha \to \beta ) \leqslant \min $,$\Omega $是Λ的m+1元子集,其中,Λ是α||β的非零坐标构成的集合;
(2) 对1≤i≤2m,记ri是Si的能达到输入差为${\gamma _{{t_i}}}$时的最大差分概率的输出差的个数,wtn(α)+wtn(β)≥m+2,如果pSPS(α→β)≠0且情形(1)中的等号成立,则存在α||β的非零坐标${\gamma _{{t_1}}},{\gamma _{{t_2}}},...,{\gamma _{{t_{m + 2}}}}$,使得:
$\# \{ \xi :{p_{{T_{{t_{m + 2}}}}}}({\gamma _{{t_{m + 2}}}} \to \xi ) \ne 0\} \leqslant \min \{ 1 + C_{{r_i}}^2:1 \leqslant i \leqslant m + 1\} .$
证明:
(1) 设wtn(α)+wtn(β)≤m,则对任意的A,B∈[Z/(2n)]m,由S是双射可知:当pS(α→A)>0时,有wtn(A)=wtn(α);当pS(B→β)>0时,有wtn(B)=wtn(β).因而:
wtn(A)+wtn(B)=wtn(α)+wtn(β)≤m.
再由α||β≠0可知A||B≠0,因而A≠0,从而由P的差分分支数为m+1可知B≠PA.
这说明B=PA蕴涵pS(α→A)pS(β→B)=0,故有:
${p_{SPS}}(\alpha \to \beta ) = \sum\limits_{A,B} {{p_S}(\alpha \to A){p_P}(A \to B){p_S}(B \to \beta )} = \sum\limits_{A \in {{[Z/({2^n})]}^m},B = PA} {{p_S}(\alpha \to A){p_S}(B \to \beta )} = 0.$
故,此时本定理成立.现设wtn(α)+wtn(β)≥m+1,定义T=(T1,T2,…,T2m),使得:
${T_i} = \left\{ {\begin{array}{*{20}{l}} {{S_i},{\text{ }}1 \leqslant i \leqslant m} \\ {S_i^{ - 1},{\text{ }}m + 1 \leqslant i \leqslant 2m} \end{array}} \right..$
对任意的A∈[Z/(2n)]m,令g=α||β,则有:
${p_{SPS}}(\alpha \to \beta ) = \sum\limits_{A \in {{[Z/({2^n})]}^m},B = PA} {\left( {\prod\limits_{i = 1}^m {{p_{{S_i}}}({\alpha _i} \to {A_i})} } \right)\left( {\prod\limits_{i = 1}^m {{p_{{S_i}}}({B_i} \to {\beta _i})} } \right)} = \sum\limits_{A \in {{[Z/({2^n})]}^m}} {{p_T}(\gamma \to A||PA)} .$
设${\gamma _{{t_1}}},{\gamma _{{t_2}}},...,{\gamma _{{t_{m + 1}}}}$都非零,即Ω={i1,i2,…,im+1}是(g1,g2,…,g2m)的非零分量的坐标构成的集合Λ的一个m+1元子集.再设n级可逆方阵ei,ϕ为元素的矩阵,(ei,ϕ)mxm为由矩阵P和排列t1,t2,…,t2m决定的矩阵,则由定理1可知:对任意$H = ({C_{{t_{m + 2}}}},...,{C_{{t_{2m}}}}) \in {[Z/({2^n})]^{m - 1}}$及任意e∈Z/(2n),当1≤i≤m时,令:
$C_{{t_i}}^{(H)}(\varepsilon ) = \left\{ {\begin{array}{*{20}{l}} {{C_{{t_i}}},{\text{ }}i \geqslant m + 2} \\ {\varepsilon ,{\text{ }}i = m + 1} \\ {{e_{i,1}}\varepsilon \oplus \mathop \oplus \limits_{j = 2}^m {e_{i,j}}{C_{{t_{m + j}}}},{\text{ }}i \leqslant m} \end{array}} \right.,$
则$C_{{t_1}}^{(H)}(\varepsilon ),...,C_{{t_{2m}}}^{(H)}(\varepsilon )$使$C_{{t_i}}^{(H)}(\varepsilon ) = \mathop \oplus \limits_{j = 1}^m {e_{i,j}}C_{{t_{m + j}}}^{(H)}(\varepsilon )$对1≤i≤m均成立.故,存在A∈Z/(2n),使得:
$(C_{{t_1}}^{(H)}(\varepsilon ),...,C_{{t_{2m}}}^{(H)}(\varepsilon )) = A||PA.$
由定理1还可知,上述$C_{{t_1}}^{(H)}(\varepsilon ),...,C_{{t_{2m}}}^{(H)}(\varepsilon )$是满足C=A||PA和$({C_{{t_{m + 2}}}}(\varepsilon ),...,{C_{{t_{2m}}}}(\varepsilon )) = H$的唯一C.
这说明,在$H = ({C_{{t_{m + 2}}}},...,{C_{{t_{2m}}}}) \in {[Z/({2^n})]^{m - 1}}$给定时,满足C=A||PA和$({C_{{t_{m + 2}}}}(\varepsilon ),...,{C_{{t_{2m}}}}(\varepsilon )) = H$的C与Z/(2n)中的e一一对应,因而:
${p_{SPS}}(\alpha \to \beta ) = \sum\limits_{A \in {{[Z/({2^n})]}^m}} {{p_T}(\gamma \to A||PA)} $ $ = \sum\limits_{{C_{{t_{m + 2}}}},...,{C_{{t_{2m}}}} \in Z/({2^n})} {\left[ {\prod\limits_{i = m + 2}^{2m} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to {C_{{t_i}}})} \sum\limits_{\varepsilon = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i = 1}^{m + 1} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to C_{{t_i}}^{(H)}(\varepsilon ))} } \right]} } \right]} .$
由于当e遍历{0,1}n时,对于1≤i≤m,$C_{{t_i}}^{(H)}(\varepsilon )$均遍历{0,1}n,因而对0≤i≤m+1,${p_T}({\gamma _{{t_i}}} \to C_{{t_i}}^{(H)}(0)),$ ${p_T}({\gamma _{{t_i}}} \to C_{{t_i}}^{(H)}(1)),...,{p_T}({\gamma _{{t_i}}} \to C_{{t_{{t_i}}}}^{(H)}({2^n} - 1))$是${p_{{t_i},0}},{p_{{t_i},1}},...,{p_{{t_i},{2^n} - 1}}$的一个排列${q_{{t_i},0}},{q_{{t_i},1}},...,{q_{{t_i},{2^n} - 1}}$,故,由引理3可知:
$\sum\limits_{\varepsilon = 0}^{{2^n} - 1} {\left( {\prod\limits_{i = 1}^{m + 1} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to C_{{t_i}}^{(H)}(\varepsilon ))} } \right)} = \sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i = 1}^{m + 1} {{q_{{t_i},j}}} } \right]} \leqslant \sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i = 1}^{m + 1} {{p_{{t_i},j}}} } \right]} = \sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {{p_{i,j}}} } \right]} .$
于是有:
${p_{SPS}}(\alpha \to \beta ) = \sum\limits_{{C_{{t_{m + 2}}}},...,{C_{{t_{2m}}}} \in Z/({2^n})} {\left[ {\prod\limits_{i = m + 2}^{2m} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to {C_{{t_i}}})} \sum\limits_{\varepsilon = 0}^{{2^n} - 1} {\prod\limits_{i = 1}^{m + 1} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to C_{{t_i}}^{(H)}(\varepsilon ))} } } \right]} $ $ = \sum\limits_{{C_{{t_{m + 2}}}},...,{C_{{t_{2m}}}} \in Z/({2^n})} {\left[ {\left( {\prod\limits_{i = m + 2}^{2m} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to {C_{{t_i}}})} } \right)\sum\limits_{\varepsilon = 0}^{{2^n} - 1} {\left( {\prod\limits_{i \in \Omega } {{q_{i,j}}} } \right)} } \right]} $ $ \leqslant \sum\limits_{{C_{{t_{m + 2}}}},...,{C_{{t_{2m}}}} \in Z/({2^n})} {\left[ {\left( {\prod\limits_{i = m + 2}^{2m} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to {C_{{t_i}}})} } \right)\sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {{p_{i,j}}} } \right]} } \right]} $${\text{ }} = \sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {{p_{i,j}}} } \right]} \sum\limits_{{C_{{t_{m + 2}}}},...,{C_{{t_{2m}}}} \in Z/({2^n})} {\left( {\prod\limits_{i = m + 2}^{2m} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to {C_{{t_i}}})} } \right)} $$ = \sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {{p_{i,j}}} } \right]} \prod\limits_{i = m + 2}^{2m} {\sum\limits_{{C_{{t_i}}} \in Z/({2^n})} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to {C_{{t_i}}})} } .$
再遍历集合Ω,即证:
${p_{SPS}}(\alpha \to \beta ) \leqslant \min \left\{ {\sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {{p_{i,j}}} } \right]} :\Omega \Lambda m + 1} \right\}$
这说明本定理之情形(1)成立.
(2) 设Ω是Λ的m+1元子集,使得${p_{SPS}}(\alpha \to \beta ) = \sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {{p_{i,j}}} } \right]} \ne 0,$则由情形(1)的证明可知,情形(1)中不等式成立的充要条件是:对任意的$H = ({C_{{t_{m + 2}}}},...,{C_{{t_{2m}}}}) \in {[Z/({2^n})]^{m - 1}}$,当$\prod\limits_{i = m + 2}^{2m} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to {C_{{t_i}}})} \ne 0$时,均有:
$\sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {{p_{i,j}}} } \right]} = \sum\limits_{\varepsilon = 0}^{{2^n} - 1} {\left( {\prod\limits_{i = 1}^{m + 1} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to C_{{t_i}}^{(H)}(\varepsilon ))} } \right)} = \sum\limits_{\varepsilon = 0}^{{2^n} - 1} {\left( {\prod\limits_{i = 1}^{m + 1} {{p_{{T_{{t_i}}}}}\left( {{\gamma _{{t_i}}} \to {e_{i,1}}\varepsilon \oplus \mathop \oplus \limits_{j = 2}^m {e_{i,j}}{C_{{t_{m + j}}}}} \right)} } \right)} $ (*)
记${j_0} = \mathop {\min }\limits_{1 \leqslant i \leqslant m + 1} \# \{ \xi :{p_{{T_i}}}({\gamma _{{t_i}}} \to \xi ) \ne 0\} $,再由引理3得知,公式(*)等价于${p_{{T_{{t_i}}}}}\left( {{\gamma _{{t_i}}} \to {e_{i,1}}\varepsilon \oplus \mathop \oplus \limits_{j = 2}^m {e_{i,j}}{C_{{t_{m + j}}}}} \right),\varepsilon \in Z/({2^n})$的前j0个大值按大小排列的顺序与i无关,即,${p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to b),b \in Z/({2^n})$的前j0个大值按大小排列的顺序与i无关.
由于wtn(α)+wtn(β)≥m+2且${\gamma _{{t_{m + 2}}}} \ne 0,$故由S是双射可知:当${p_{{T_{{t_{m + 2}}}}}}({\gamma _{{t_{m + 2}}}} \to {C_{{t_{m + 2}}}}) \ne 0$时,一定有${C_{{t_{m + 2}}}} \ne 0.$设x1=0且${C_{{t_{m + 2}}}} \oplus {\xi _1},{C_{{t_{m + 2}}}} \oplus {\xi _2},...,{C_{{t_{m + 2}}}} \oplus {\xi _k}$是使得${p_{{T_{{t_{m + 2}}}}}}({\gamma _{{t_{m + 2}}}} \to \eta ) \ne 0$的所有输出差h,再设${\varepsilon _1},{\varepsilon _2},...,{\varepsilon _{{r_i}}}$是使
${p_{{T_{{t_i}}}}}\left( {{\gamma _{{t_i}}} \to {e_{i,1}}\varepsilon \oplus \mathop \oplus \limits_{j = 2}^m {e_{i,j}}{C_{{t_{m + j}}}}} \right) = \max \{ {p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to b):b \in Z/({2^n})\} $
成立的所有$\varepsilon $.对任意的$H = ({C_{{t_{m + 3}}}},...,{C_{{t_{2m}}}}) \in {[Z/({2^n})]^{m - 2}}$及任意的$\varepsilon $∈Z/(2n),1≤u≤k,当1≤i≤m时,令:
$C_{{t_i}}^{(H)}(\varepsilon ,u) = \left\{ {\begin{array}{*{20}{l}} {{C_{{t_i}}},{\text{ }}i \geqslant m + 3} \\ {\varepsilon ,{\text{ }}i = m + 1} \\ {{C_{{t_i}}} \oplus {\xi _u},{\text{ }}i = m + 2} \\ {{e_{i,1}}\varepsilon \oplus \mathop \oplus \limits_{j = 2}^m {e_{i,j}}{C_{{t_{m + j}}}} \oplus {e_{i,2}}{\xi _u},{\text{ }}i \leqslant m} \end{array}} \right.,$
则$C_{{t_1}}^{(H)}(\varepsilon ,u),...,C_{{t_{2m}}}^{(H)}(\varepsilon ,u)$使$C_{{t_i}}^{(H)}(\varepsilon ,u) = \mathop \oplus \limits_{j = 1}^m {e_{i,j}}C_{{t_{m + j}}}^{(H)}(\varepsilon ,u)$对1≤i≤m均成立.由于${p_{{T_{{t_{m + 2}}}}}}({\gamma _{{t_{m + 2}}}} \to {C_{{t_{m + 2}}}}) \ne 0$等价于${p_{{T_{{t_{m + 2}}}}}}({\gamma _{{t_{m + 2}}}} \to C_{{t_i}}^{(H)}(\varepsilon ,u)) \ne 0,$故,$\prod\limits_{i = m + 2}^{2m} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to {C_{{t_i}}})} \ne 0$等价于$\prod\limits_{i = m + 2}^{2m} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to C_{{t_i}}^{(H)}(\varepsilon ,u))} \ne 0.$
现考察在形如${e_{i,1}}\varepsilon \oplus \mathop \oplus \limits_{j = 2}^m {e_{i,j}}{C_{{t_{m + j}}}} \oplus {e_{i,2}}{\xi _u}$的输出差中,哪些能使${T_{{t_i}}}$在输入差是${\gamma _{{t_i}}}$时的差分概率达到最大.设${e_{i,1}}\varepsilon \oplus \mathop \oplus \limits_{j = 2}^m {e_{i,j}}{C_{{t_{m + j}}}} \oplus {e_{i,2}}{\xi _u}$使${T_{{t_i}}}$在输入差是${\gamma _{{t_i}}}$时的差分概率达到最大,则由$\varepsilon $v的定义可知,该假设等价于${e_{i,1}}\varepsilon \oplus \mathop \oplus \limits_{j = 2}^m {e_{i,j}}{C_{{t_{m + j}}}} \oplus {e_{i,2}}{\xi _u} \in \left\{ {{e_{i,1}}{\varepsilon _v} \oplus \mathop \oplus \limits_{j = 2}^m {e_{i,j}}{C_{{t_{m + j}}}}:1 \leqslant v \leqslant {r_{{t_i}}}} \right\},$因而等价于存在$1 \leqslant v \leqslant {r_{{t_i}}}$使得:
${e_{i,1}}\varepsilon \oplus \mathop \oplus \limits_{j = 2}^m {e_{i,j}}{C_{{t_{m + j}}}} \oplus {e_{i,2}}{\xi _u} = {e_{i,1}}{\varepsilon _v} \oplus \mathop \oplus \limits_{j = 2}^m {e_{i,j}}{C_{{t_{m + j}}}}.$
即$\varepsilon = {\varepsilon _v} \oplus e_{i,1}^{ - 1}{e_{i,2}}{\xi _u}$,亦即$\varepsilon \in \{ {\varepsilon _v} \oplus e_{i,1}^{ - 1}{e_{i,2}}{\xi _u}:1 \leqslant v \leqslant {r_{{t_i}}}\} .$
因而,$\{ {\varepsilon _v} \oplus e_{i,1}^{ - 1}{e_{i,2}}{\xi _u}:1 \leqslant v \leqslant {r_{{t_i}}},1 \leqslant u \leqslant k\} $是使${T_{{t_i}}}$在输入差是${\gamma _{{t_i}}}$时的差分概率达到最大的所有输出差.
由于当1≤u≤k时$\prod\limits_{i = m + 2}^{2m} {{p_{{T_{{t_i}}}}}({\gamma _{{t_i}}} \to C_{{t_i}}^{(H)}(\varepsilon ,u))} \ne 0,$故由公式(*)对$(C_{{t_{m + 2}}}^{(H)}(\varepsilon ,u),...,C_{{t_{2m}}}^{(H)}(\varepsilon ,u))$成立可知:
$\{ {\varepsilon _v} \oplus e_{i,1}^{ - 1}{e_{i,2}}{\xi _u}:1 \leqslant v \leqslant {r_{{t_i}}},1 \leqslant u \leqslant k\} = \{ {\varepsilon _u}:1 \leqslant u \leqslant {r_{{t_i}}}\} .$
设1≤u≤k,则$\forall v:1 \leqslant v \leqslant {r_{{t_i}}},$存在$w:1 \leqslant w \leqslant {r_{{t_i}}},$使得${\varepsilon _v} \oplus e_{i,1}^{ - 1}{e_{i,2}}{\xi _u} = {\varepsilon _w}.$于是,${\xi _u} = {(e_{i,1}^{ - 1}{e_{i,2}})^{ - 1}}({\varepsilon _w} \oplus {\varepsilon _v}),$因而:
${\xi _u} \in \{ e_{i,2}^{ - 1}{e_{i,1}}({\varepsilon _w} \oplus {\varepsilon _v}):1 \leqslant w,v \leqslant {r_{{t_i}}}\} .$
故$k \leqslant 1 + C_{{r_i}}^2,$即,${T_{{t_{m + 2}}}}$在输入差为${\gamma _{{t_{m + 2}}}}$时非零输出差的个数$ \leqslant 1 + C_{{r_i}}^2,$故${T_{{t_{m + 2}}}}$在输入差分${\gamma _{{t_{m + 2}}}}$时非零输出差的个数$ \leqslant \min \{ 1 + C_{{r_i}}^2:1 \leqslant i \leqslant m + 1\} ,$即,情形(2)成立.
对于AES算法的S盒,$\# \{ \xi :{p_{{T_{{t_{m + 2}}}}}}({\gamma _{{t_{m + 2}}}} \to \xi ) \ne 0\} = 127$且ri=1,因而定理2之情形(2)的条件:
$\# \{ \xi :{p_{{T_{{t_{m + 2}}}}}}({\gamma _{{t_{m + 2}}}} \to \xi ) \ne 0\} \leqslant \min \{ 1 + C_{{r_i}}^2:1 \leqslant i \leqslant m + 1\} $
不成立.一般地,为保证S盒的差分均匀性,密码算法中的S盒一般都使ri很小甚至为1,因而,条件:
$\# \{ \xi :{p_{{T_{{t_{m + 2}}}}}}({\gamma _{{t_{m + 2}}}} \to \xi ) \ne 0\} \leqslant \min \{ 1 + C_{{r_i}}^2:1 \leqslant i \leqslant m + 1\} $
通常都不成立,这说明SPS模型的重量大于分支数的差分对应的概率一般达不到定理2给出的上界.
若SPS模型的扩散结构P是分支数为Bd的n-MDS矩阵,则计算根据定理2之情形(1)给出的差分对应α→β的差分概率上界的计算复杂度为${2^n} \times C_{w{t_n}(\alpha ) + w{t_n}(\beta )}^{{B_d}}.$例如:对于以扩散结构P是GF(28)上4x4的MDS矩阵为例,计算差分对应上界的计算复杂度最大为${2^8} \times C_8^5 = {2^{13.8}}.$
4 SPS模型差分概率的新上界记SPS模型差分概率的上界为BSPS,下面我们将给出BSPS的估计公式.
引理4[19]. 设实数序列$\{ x_i^{(j)}\} _{i = 1}^n,$1≤j≤m,则有:
$\sum\limits_{i = 1}^n {|x_i^{(1)}...x_i^{(m)}|} \leqslant \max \left\{ {\sum\limits_{i = 1}^n {|x_i^{(1)}{|^m}} ,...,\sum\limits_{i = 1}^n {|x_i^{(m)}{|^m}} } \right\},$
其中,等号成立的充要条件为:对任意的j,k∈{1,2,…,m},1≤i≤n,均有$|x_i^{(j)}| = |x_i^{(k)}|$成立.
注:文献[19]中仅给出了本文引理4中不等号成立的证明,而等号成立的充要条件并没有进行证明.
定理3. 设扩散变换P为n-MDS矩阵对应的仿射变换f(x)=Px⊕b构成,且分支数为m+1,g=(g1,g2,…,g2m)∈
[Z/(2n)]2m.如果Si在输入差为gi时差分对应概率从大到小依次为$p_{{\gamma _i},0}^{(i)},...,p_{{\gamma _i},{2^n} - 1}^{(i)},$Si在输出差为gi时差分对应概率从大到小依次为$p_{{\gamma _i},0}^{(m + i)},...,p_{{\gamma _i},{2^n} - 1}^{(m + i)},$则有:
(1) SPS模型非平凡差分对应的概率上界为
${B_{SPS}} = \mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \mathop {\min }\limits_{\Omega \subseteq {\Lambda _\gamma },|\Omega | = {B_d}} \sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{\gamma _i},j}^{(i)}} } \right]} .$
这里,Λg是由g的非零坐标构成的集合;
(2) ${B_{SPS}} \leqslant \mathop {\max }\limits_{1 \leqslant i \leqslant 2m} \mathop {\max }\limits_{u \in {{\{ 0,1\} }^n}\backslash \{ 0\} } \sum\limits_{j = 1}^{{2^n} - 1} {{{\{ p_{u,j}^{(i)}\} }^{{B_d}}}} ;$
(3) ${B_{SPS}} = \mathop {\max }\limits_{1 \leqslant i \leqslant 2m} \mathop {\max }\limits_{u \in {{\{ 0,1\} }^n}\backslash \{ 0\} } \sum\limits_{j = 1}^{{2^n} - 1} {{{\{ p_{u,j}^{(i)}\} }^{{B_d}}}} $成立的必要条件为:存在使wt(x)≥Bd的x∈[Z/(2n)]2m,向量x的非零坐标序号对应的S盒的在给定输入差时差分概率的大小排序都相同;充分条件为:对任意的i,k∈{1,2,…,2m}及任意的u∈{0,1}n,ϕ∈{0,1,…,2n-1},均有$p_{u,j}^{(i)} = p_{u,j}^{(k)}$,即:任意两个S盒,在给定输入差时,差分概率的大小排序都相同.
证明:
(1) 设α||β=g∈[Z/(2n)]2m\{0},Λg是g的非零坐标构成的集合.设pSPS(α→b)≠0,则wt(g)≥Bd.记Ω为Λg的一个Bd元子集,则由定理2之情形(1)可知:
${p_{SPS}}(\alpha \to \beta ) \leqslant \mathop {\min }\limits_{\Omega \subseteq {\Lambda _\gamma },|\Omega | = {B_d}} \left\{ {\sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{\gamma _i},j}^{(i)}} } \right]} } \right\}$ $ \leqslant \mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \mathop {\min }\limits_{\Omega \subseteq {\Lambda _\gamma },|\Omega | = {B_d}} \left\{ {\sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{\gamma _i},j}^{(i)}} } \right]} } \right\};$
(2) 由引理4可知,对使|Ω|=Bd的ΩϕΛg,有:
$\sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{\gamma _i},j}^{(i)}} } \right]} \leqslant \mathop {\max }\limits_{i \in \Omega } \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} $ $ \leqslant \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{\gamma _i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} $
即:
$\sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{\gamma _i},j}^{(i)}} } \right]} \leqslant \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{\gamma _i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} $ (I)
故有:
$\mathop {\min }\limits_{\Omega \subseteq {\Lambda _\gamma },|\Omega | = {B_d}} \sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{\gamma _i},j}^{(i)}} } \right]} \leqslant \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{\gamma _i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} $ (II)
进而有:
${B_{SPS}} = \mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \mathop {\min }\limits_{\Omega \subseteq {\Lambda _\gamma },|\Omega | = {B_d}} \sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{\gamma _i},j}^{(i)}} } \right]} $ $ \leqslant \mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{\gamma _i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} $ $ = \mathop {\max }\limits_{u \in {{\{ 0,1\} }^n}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{u,j}^{(i)}]}^{{B_d}}}} $ (III)
事实上,设1≤i≤2m和ri≠0,使得$\mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{\gamma _i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} = \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} $,则有:
$\sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{r_i},j}^{(i)}]}^{{B_d}}}} \leqslant \mathop {\max }\limits_{u \in {{\{ 0,1\} }^n}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{u,j}^{(i)}]}^{{B_d}}}} .$
即:
$\mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}\backslash \{ 0\} } \mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} $ $ \leqslant \mathop {\max }\limits_{u \in {{\{ 0,1\} }^n}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{u,j}^{(i)}]}^{{B_d}}}} ;$
反之,设v≠0和1≤i≤2m,使得$\mathop {\max }\limits_{u \in {{\{ 0,1\} }^n}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{u,j}^{(i)}]}^{{B_d}}}} = \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{v,j}^{(i)}]}^{{B_d}}}} ,$令r=(r1,r2,…,r2m)∈{0,1}2m,使ri=v对1≤
i≤2m成立,则有:
$\mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{\gamma _i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} $ $ \geqslant \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{r_i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{r_i},j}^{(i)}]}^{{B_d}}}} = \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{v,j}^{(i)}]}^{{B_d}}}} .$
因而
$\sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{v,j}^{(i)}]}^{{B_d}}}} \leqslant \mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{\gamma _i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} .$
即:
$\mathop {\max }\limits_{u \in {{\{ 0,1\} }^n}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{u,j}^{(i)}]}^{{B_d}}}} $ $ \leqslant \mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{\gamma _i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} .$
这说明:
$\mathop {\max }\limits_{u \in {{\{ 0,1\} }^n}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{u,j}^{(i)}]}^{{B_d}}}} $ $ = \mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}\backslash \{ 0\} } \mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} .$
(3) 由于情形(2)中的等式成立等价于公式(III)中的等式成立,即,存在使wt(x)≥Bd的x∈[Z/(2n)]2m,使得:
$\mathop {\min }\limits_{\Omega \subseteq {\Lambda _x},|\Omega | = {B_d}} \sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{x_i},j}^{(i)}} } \right]} $ $ = \mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{\gamma _i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} ;$
又由公式(II)对使|Ω|=Bd的ΩϕΛx都成立,即:
$\sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{x_i},j}^{(i)}} } \right]} \leqslant \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{x_i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{x_i},j}^{(i)}]}^{{B_d}}}} $ $ \leqslant \mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{\gamma _i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} $
对使|Ω|=Bd的ΩϕΛx都成立,因而公式(III)成立等价于对使|Ω|=Bd的ΩϕΛx,都有:
$\sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{x_i},j}^{(i)}} } \right]} = $$\mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{\gamma _i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} $ (IV)
· 必要性
设情形(2)成立,则由公式(I)和$\sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{x_i},j}^{(i)}} } \right]} \leqslant \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{x_i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{x_i},j}^{(i)}]}^{{B_d}}}} $$ \leqslant \mathop {\max }\limits_{\gamma \in {{[Z/({2^n})]}^{2m}}wt(\gamma ) \geqslant {B_d}} \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{\gamma _i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{\gamma _i},j}^{(i)}]}^{{B_d}}}} ,$从而由公式(IV)可知$\sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{x_i},j}^{(i)}} } \right]} = \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{x_i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{x_i},j}^{(i)}]}^{{B_d}}}} ;$
再由引理4可知:对ϕi,k∈Ω及ϕ∈{0,1,…,2n-1},均有$p_{{x_i},j}^{(i)} = p_{{x_k},j}^{(k)}$,即,向量x的非零坐标序号对应的S盒的在
给定输入差xk时差分概率的大小排序都相同.
· 充分性
设存在重量≥Bd的向量x,使x的非零坐标序号对应的S盒的差分概率的大小排序都相同,则由引理4可知,对使|Ω|=Bd的ΩϕLx及ϕt,均有:
$\sum\limits_{j = 0}^{{2^n} - 1} {\left[ {\prod\limits_{i \in \Omega } {p_{{x_i},j}^{(i)}} } \right]} = \mathop {\max }\limits_{i \in \Omega } \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{x_i},j}^{(i)}]}^{{B_d}}}} $ $ = \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{x_i},j}^{(t)}]}^{{B_d}}}} = \mathop {\max }\limits_{1 \leqslant i \leqslant 2m,{x_i} \ne 0} \sum\limits_{j = 0}^{{2^n} - 1} {{{[p_{{x_i},j}^{(i)}]}^{{B_d}}}} .$
即,公式(I)中的等号对使|Ω|=Bd的ΩϕLx均成立,因而公式(II)对x成立.
目前,SPS模型差分概率最好的上界是2003年由Park等人在文献[19]中给出的上界:
$\max \left\{ {\mathop {\max }\limits_{1 \leqslant i \leqslant m} \mathop {\max }\limits_{u \in {{\{ 0,1\} }^n}} \sum\limits_{j = 1}^{{2^n} - 1} {{{\{ p_{u,j}^{(i)}\} }^{{B_d}}}} ,\mathop {\max }\limits_{1 \leqslant i \leqslant m} \mathop {\max }\limits_{u \in {{\{ 0,1\} }^n}} \sum\limits_{j = 1}^{{2^n} - 1} {{{\{ p_{j,u}^{(i)}\} }^{{B_d}}}} } \right\},$
其中,Bd为线性变换的分支数,$p_{u,j}^{(i)}$为第i个S盒输入差为u、输出差为j时的差分概率.由定理3之情形(3)可知:
若SPS模型中各个S盒的差分概率从大到小的排列完全相同时,本文给出的上界与文献[19]给出的上界在数值上是相同的.
当SPS模型中各个S盒的差分概率从大到小的排列不完全相同时,我们通过计算机模拟实验考察了本文给出的上界与文献[19]的上界进行比较的情况.当m=4时,对于8进8出的随机S盒,我们随机生成了700个满足最大差分概率为8/256且最大Walsh谱的绝对值为60/256的S盒,并在m=4时任取其中8个分别作为SPS模型中的8个S盒,共进行216组实验.实验结果如图1所示.实验结果表明:当m=4时,对于8进8出的随机S盒,本文给出的SPS模型差分概率的上界大致为文献[19]给出的上界的一半.这也说明,在设计SP网络的S层时,若使得S层中各个S盒的差分分布不同,可能会使SP网络获得更好 的差分性质.
本文对P盒为n-MDS矩阵的SPS模型差分概率上界的估计问题进行了研究.首先从给定的差分对应入手,给出了其差分概率上界的估计公式,并给出了当差分对应的重量大于分支数时,其差分概率达到该上界的一个必要条件;然后给出了SPS模型输入与输出差分遍历所有的可能差分对时,该类SPS模型差分概率的一个新上界;最后,利用计算机模拟实验对Park等人给出的上界与本文给出的上界进行了对比.实验结果表明:当S盒是独立不同的S盒时,该上界比Park等人给出的上界更紧,从而说明使用独立的S盒可能获得比使用相同S盒获得更好的抗差分攻击的能力.本文的研究丰富了SPS模型差分概率的分析结果,为基于该模型设计的分组密码算法的可证明安全性提供了理论支撑.
[1] | National Bureau of Standards. Data Encryption Standard, FIPS publication. No. 46, U. S. Department of Commerce, 1977. |
[2] | Adams C, Gilchrist J. The CAST-256 encryption algorithm. RFC 2612, 1999. |
[3] | Specification of SMS4, Block cipher for WLAN products-SMS4. 2006. http://www.oscca.gov.cn/UpFile/200621016423197990.pdf |
[4] | Daemen J, Rijmen V, Wrote; Gu DW, Xu SB, Trans. The Design of Rijindeal AES: The Advanced Encryption Standard. Beijing: Tsinghua University Press, 2002. 34-41 (in Chinese). |
[5] | Lai XJ, Massey JL. A proposal for a new block encryption standard. In: Proc. of the Cryptology Eurocrypt'90. LNCS 473, Berlin: Springer-Verlag, 1991. 389-404. |
[6] | Kwon D, Kim J, Park S. New block cipher: ARIA. In: Proc. of the Information Security and Cryptology ICISC 2003. LNCS 2971, Berlin: Springer-Verlag, 2004. 432-445. |
[7] | Anderson R, Biham E, Knudsen L. Serpent: A proposal for the advanced encryption standard. NIST AES Proposal, 2000,1(46): 83-87. |
[8] | Massey JL, Khachatrian GH, Kuregian MK. Nomination of SAFER+ as candidate algorithm for the advanced encryption standard (AES). In: Proc. of the 1st Advanced Encryption Standard Canditate Conf. 1998. 1-14. |
[9] | Kang JS, Hong S, Lee S, Lim J. Practical and provable security against differential and linear cryptanalysis for substitution- permutation networks. ETRI Journal, 2001,23(4):158-167. |
[10] | Cui T, Jin CH. Construction of involution Cauchy-Hadamard type MDS matrices. Journal of Electronics & Information Technology, 2010,32(2):500-503 (in Chinese with English abstract). |
[11] | Guo L, Zheng HR, Fu ZQ, Wang Y. New construction methods for MDS matrices and involution MDS matrices. Application Research of Computers, 2013 (in Chinese with English abstract). |
[12] | Sajadieh M, Dakhilalian M, Mala H, Omoomi B. On construction of involutory MDS matrices from vandermonde matrices in GF(2q). Designs, Codes and Cryptography, 2012,64(3):287-308. |
[13] | Gupta K C, Ray IG. On constructions of involutory MDS matrices. In: Proc. of the AFRICACRYPT 2013. LNCS 7918, Springer- Verlag, 2013. 43-60. |
[14] | Berger TP. Construction of recursive MDS diffusion layers from Gabidulin codes. In: Proc. of the INDOCRYPT 2013. LNCS 8250, Springer-Verlag, 2013. 274-285. |
[15] | Gupta KC, Ray IG. On constructions of MDS matrices from companion matrices for lightweight cryptography. In: Proc. of the Security Engineering and Intelligence Informatics. LNCS 8128, Springer-Verlag, 2013. 29-43. |
[16] | Cao JK, Li YQ, Cao SJ. Linear branch structure and bit level linear representation of MDS matrix. (in Chinese with English abstract). Journal of Information Engineering University, 2013,14(3):289-291,311 |
[17] | Hong S, Lee S, Lim J, Sung J, Cheon D, Cho I. Provable security against differential and linear cryptanalysis for the SPN structure. In: Proc. of the 7th Int'l Workshop, Fast Software Encryption 2000. LNCS 1978, New York, Berlin: Springer-Verlag, 2001. 273-283. |
[18] | Park S, Sung SH, Chee S, Yoon E, Lim J. On the security of Rijndael-like structures against differential and linear cryptanalysis. In: Zheng Y, ed. Proc. of the ASIACRYPT 2002. LNCS 2501, 2002. 176-191. |
[19] | Park S, Sung SH, Lee S, Lim J. Improving the upper bound on the maximum differential and the maximum linear hull probability for SPN structures and AES. In: Proc. of the 10th Int'l Workshop, Fast Software Encryption 2003. LNCS 2887, Berlin: Springer- Verlag, 2003. 247-260. |
[20] | Choy J, Khoo K. New applications of differential bounds of the SDS structure. In: Proc. of the Information Security. LNCS 5222, 2008. 367-384. |
[21] | Wu WL, Feng DG, Zhang WT. Design and Analysis of Block Cipher. Beijing: Tsinghua University Press, 2009. 229-234 (in Chinese). |
[22] | Guo JS, Zhang L, Luo W. Differential property of block cipher ARIA. Journal of Information Engineering University, 2013,14(2): 141-152 (in Chinese with English abstract). |
[23] | Shirai T, Kanamaru S, Abe G. Improved upper bounds of differential and linear characteristic probability for camellia. In: Daemen J, Rijmen V, eds. Proc. of the FSE 2002. LNCS 2365, 2002. 128-142. |
[24] | Li ZQ. Dissemination of the ordered permutation rule. Journal of Guangxi Teachers Education University (Natural Science Edition), 1998,15(2):106-109 (in Chinese with English abstract). |
[4] | Daemen J,Rijmen V,著;谷大武,徐胜波,译.高级加密标准(AES)算法——Rijndael的设计.北京:清华大学出版社,2003.34-41. |
[10] | 崔霆,金晨辉.对合Cauchy-Hadamard型MDS矩阵的构造.电子与信息学报,2010,32(2):500-503. |
[11] | 郭磊,郑浩然,傅增强,王月.MDS矩阵和对合MDS矩阵的新构造方法.计算机应用研究,2013. |
[16] | 曹进克,李云强,曹守见.MDS矩阵变换的线性分支结构和比特级线性表示.信息工程大学学报,2013,14(3):289-291,311. |
[21] | 吴文玲,冯登国,张文涛.分组密码的设计与分析.北京:清华大学出版社,2000. |
[22] | 郭建胜,张磊,罗伟.ARIA的差分性质研究.信息工程大学学报,2013,14(2):141-152. |
[24] | 李致权.排序定理的推广.广西师范学院学报(自然科学版),1998,15(2):106-109. |