1、对合型列混合变换的研究第 lO 期2005 年 lO 月电子ACTAELECTRONICASINICAV01.33No.100ct.嬲对合型列混合变换的研究王念平,金晨辉,余昭平(解放军信息工程大学电子技术学院,河南郑州 450004)摘要:基于 s_P 网络中 P 置换的重要性和加解密的一致性,本文提出了对合型列混合变换的概念,并对其代数结构,枝数和计数问题进行了深入地研究和分析.本文从列混合变换的代数结构人手,证明了枝数达到最大与其对合特性是相互制约的两个因素,解决了对合型列混合变换的计数问题,并给出了对合型列混合变换中固定多项式(x)的重量与其枝数之间的精确关系.最后针对有关分组密码编码
2、环节的设计问题进行了讨论,从而为分组密码的设计与分析提供重要的依据和支持.关键词:对合型列混合变换;代数结构;枝数;计数中图分类号:TN918.1 文献标识码:A 文章编号:03722112(2005)10191704ResearchonInvolution-typedMixcolumnTransfOn11WANGNianping,JChenhui,YUZhaoping(InstituteofElectronicTechnology,theP,f4InformationEngineeringUniversity,ZhEqhou,Henan450004,China)Abstract:Basedo
3、ntheimportanceofPtransformandcoherenceinencryption-decryptionintheS-Pnetworks,weputforwardthedefinitionofinvolution-typedmixcolumntransform.Algebraicslmcture,branchandenumerationofinvolution-typedmixcolumntransformareresearcheddeeplyinthispaper.Itisshownthatthenlaximulnofbranchandpropertyofinvolutio
4、narerestrictedeachotherusingalgebraicstructureofmixcolumntransform.Enumerationofinvolution-typedmixcolumntransformissolvedandtherelationbetweentheweightofpolynomialc(x)andthebranchisgiven.Inconclusion,somediscussionofthedesignofblockcipheraregivenandthisprovidesasignificantbasisforthedesignandanalys
5、isofblockcipher.Keywords:involution-typedmixcolumntransform;algebraicslmcture;branch;enumeration1 引言“混乱 “和“扩散“是分组密码设计的一般原则 .在 S-P 网络中,P 置换的设计是非常重要的.为了加解密的一致性,可将 P 置换设计成对合的 .基于此 ,我们下面提出对合型列混合变换的概念并加以研究.为方便,我们以下用 GF(2)表示特征为 2 的有限域,用(2)表示(2)上的多项式环,用“0“表示 GF(2)或 GF(2)中的加法 ,用“+“表示普通整数加法,用表示(2)或(2) 中的乘法.2
6、 有关的定义定义 1 设 Vn()=Qaix,b()=Q6mlGF(2),取与 xm1 互素的固定多项式 c()=._c(2),称变换a()b():GF(2)IGF(2)b()=C()a()mod(01)为 GF(2)上的 m 阶列混合变换(以下简记为收稿 13 期:2003-0124;修回 13 期:2005-0810基金项目:现代通信国家重点实验室基金(No.5143603ZDS01).()肿 !b()注 1 因 c()=c 与 01 互素,故 CO0c100C 一 10.定义 2 称满足条件C(x)mo(01)=C()C()mod(01)=1的 m 阶列混合变换.()瑚 6()为对合型列
7、混合变换,此时也称列混合变换.()瑚b()为对合型的.注 2 条件 c()mod(xm01)=1 成立时 c()=.nc与 01 必互素,从而对合型列混合变换的判定只需验证C(x)mod(xm01)=1 是否成立即可 .定义 3 称 BE=min(W(a()+W(b()为 m 阶列混合变换 a()0C()rood(xm01)b()的枝数.其中重量W(n()和 W(b()分别表示 n()=alx 和 b()=mlbix 的非零系数的个数.显然 BFm+1.1918 电子 2005 年3 主要结论定理 1 定义 1 中的 m 阶列混合变换 a()0C()mod(01)606l62:6 一 26()
8、可等价地写成矩阵形式aoa1a2:nm 一 26mlJLCm 一1c 一 2Cm 一 3clc0JLam 一 1简记为 6=cn(下同),且矩阵 c 在(2)中可逆.若 m 阶列混合变换还是对合型的,则有 C=E,这里表示单位方阵.证明设 c()n()=d()=(壬 ldix,由多项式乘法知 di=.0_.l(0i2m 一 2).令Im 一 1c()n()mod(01)=6()=06i因 m0d(01)=“,故6didm+iakc+1akcl6 一 1=dm 一 1=._.akCl(0im 一 2,0k,Zm 一 1),写成矩阵形式即如定理中所示.剩下结论分别由 c()与 01互素及对合型列混
9、合变换的定义易证.证毕由定理 1 知,GF(2)上的 m 阶列混合变换与卯(2)上的可逆循环矩阵一一对应,m 阶对合型列混合变换与 GF(2)上的循环对合矩阵一一对应,从而对合型列混合变换的研究可归结为对循环对合矩阵的研究.但有时用矩阵直接进行研究不一定方便,从而我们将视具体情形选择其中一种形式进行研究.引理 1,m 阶列混合变换.()6()的枝数达到最大值 m+1 的充要条件为相应矩阵 c 的任意阶子式不为零.定理 2 设 m2,则 GF(2)上的阶对合型列混合变换的枝数m.证明由引理 1,只要能证明 m 阶对合型列混合变换相应的对合矩阵存在值为零的子式,也就证明了其枝数小于 m+1,即其枝
10、数 m.设 m 阶对合型列混合变换的固定多项式,c():c,则 c(x)mod(xm1)=1 等价于(m-1c22)l1(01):1.(1)m 为偶数时 ,因 x/mod(Xm01)=x/,故(.c)mod(xm01)=1 等价于22l_00 号【c0c+一2此时对应的矩阵 C 存在子式 I.i.mI:0(事实上,此10m/2+CiI时由 c0c2,+0 知.Cm/2+).(2)m 为奇数时 ,因 m0d(01)=,故(c)mod(01)=1 等价于 c6:1,c=0,即 c0=1,c=0,特别地c0(1im 一 1),此时对应的矩阵 c 有元素零,即存在 1阶值为零的子式.由(1),(2)知
11、本定理结论成立 .证毕定理 2 说明,枝数达到最大和对合特性不可兼得.n.clael算法中的 4 阶列混合变换的枝数达到最大值 5,从而不是对合型的.正因为如此,文献3将 Rijndael 算法中的列混合变换加以改进,将新的列混合变换设计成对合型的,收到了很好的效果.事实上,还可以证明改进后的对合型列混合变换的枝数达到了 41推论 1Rijndael 算法中的列混合变换不是对合型的.推论 2 文献3中改进后的对合型列混合变换(其固定多项式为 c()=03001002001)的枝数为 4.以下定理给出了 GF(2)上的 m 阶对合型列混合变换的结构及其计数.定理 3 当 m 为偶数时,GF(2)
12、上的 m 阶对合型列混合变换共有 2 个,且固定多项式 c()具有形式c()=Co0cl00Cm/2 一 l/2 一 0(CO01)xm/20.l/20C2xm/200cm/2 一 l 一当 m 为奇数时,GF(2)上的 m 阶对合型列混合变换只有单位变换 a()一 n(),此时 c()=1.证明当 m 为偶数时,由定理 2 的证明过程(1)知 c()mod(Xm01)=1 当且仅当c60c2/2=1,c0c2/2+0即c/2=c001,c:cm/2+(1一 1)当 c0 和 c(1 im 一 1)取定时,Cm/2 和 c+也随之确定,而.0 和 c(1im 一 1)在 GF(2)中共有 2
13、种取法,从而满足 c(x)mod(Xm01)=1 的 c()共有 2 个,故 m 阶对合型列混合变换共有 2 个,剩下结论显然.当 m 为奇数时 ,由定理 2 的证明过程(2)知 c(x)mod(xm1)=1 当且仅当.0=1,c=0(1 im 一 1)故 c()=1,从而 m 阶对合型列混合变换只有单位变换 n()一 n().证毕推论 3 对(2)上的阶对合型列混合变换 n()0C()mod(01)6()而言,有.00.l00cml=1且 W(c)=W(.0,c 一,c 一 1)为奇数.证明当 m 为偶数时,由定理 3 知此时有.00.l00Cm 一 1=Co0Cl00Cm/210(CO01
14、)0Cl0C200c/2 一 l=1且(CO,Cl,cm 一 1W(CO,Cl,Cm/2 一 l,(.001),cl,.2,cm/2 一 1)=2W(cl,cm/2 一 1)+1qq 一一一一2l4一一 0 一?:一叼 q 一 c叼 q 一第 10 期王念平:对合型列混合变换的研究 1919为奇数.当 m 为奇数时,由定理 3 知 c()=l,结论显然.证毕由定理 3 还可对对合型列混合变换的枝数作进一步仔细的研究.定理 4 对 GF(2)上的阶对合型列混合变换 n()0c(x)mod(01)b()有:(1)当 tr/,为奇数时其枝数为 2.(2)当 tr/,为偶数且重量It/(c)=g/(0
15、,l,c时其枝数为 2.(3)当 m 为偶数且重量g/(c)=g/(0,l,c时其枝数均为 4.证明设 n()c(x)moa(01)b()是 GF(2)上的mlm 阶对合型列混合变换,c()=0CiXGF(2).(1)当 m 为奇数时 ,由定理 3 知(2) 上的阶对合型列混合变换只有单位变换 a(x)-a(x),显然其枝数为 2.(2)当 m 为偶数时 ,由定理 1 和定理 3 知对合型列混合变换对应的循环对合矩阵 c 可表示为0cr 一 1l001cr 一 lll02l0012cr 一1Cm/22COCm/21Cm/22001001cr 一 110cm/2 一 lll0012l02cm/2
16、1cm/22c001cm/21cm/22c0由推论 3 知(c)=(c0,c 一,c 一 1)为奇数,故有(c)=1 或(c)3.又因矩阵 C 在(2) 中可逆,故其枝数2.当 m 为偶数且(c)=1 时,显然对 n=(1,0,0),(n)=(1,0,0)=1,b=C0n 是矩阵 C 的第一列,从而由(c)=1 知(b)=(c)=1,(n)=(b)=2, 故由枝数定义知其枝数必为 2.(3)当 m 为偶数且 (c)3 时,因矩阵 c 在 GF(2)中可逆,故其枝数2.(A)证其枝数 2(反证法).若其枝数=2,则必存在列向量 n 使得(d)+(b)=2, 因矩阵 c 在 GF(2)中可逆,此时
17、必有(n)=(b)=1. 另一方面 ,由(n)=1 知 b=Cn 是矩阵 c 的某一列的非零常数倍,而 c 是循环矩阵且(c)3,故必有(b)3,矛盾.(证其枝数3(反证法).若其枝数=3, 则必存在列向量 a 使得(d)+(b)=3,即有(n)=1,(b)=2 或(n)=2,(b)=1.对前一情形 ,由 (A)的证明知(n)=1时必有(b)3, 矛盾.对后一情形,若(n)=2,则此时 b=cn 是矩阵 c 的某两列l 和的线性组合 nlLl0a20,(其中 n.,n 是 n 的两个非零分量).而矩阵 C 是循环矩阵,从而(L1)=(),进而有(b)=(alLl0.2)=(nlL1)+(n2)
18、一 2(nlL1)?(n2)=(LI)+()一 2(Ll)=2W(L1)一 2W(Ll?):2(L1)一(Ll?)即(b)必为偶数 ,这与(b)=1 矛盾,这里l?表示l和对应分量相乘所得的向量.(c)显然对列向量 n=(1,0,0,1,OA,0)(两个 1 分别处在第 1 和第(m/2+1)位),b=C0n 是矩阵 C 的第一和第(m/2+1)列之和,此时有(b)=(C0n)=(CO,l,cm/2 一 l,001,l,c,一 1)+(CO01,l,cm/2 一 l,CO,l,c,一 1)=g/(1,0,0,1,0,0)=2故 g/(n)+g/(b)=4.因矩阵 c 在(2)中可逆,故其枝数2
19、.由(A),(B) 知其枝数2,3,故其枝数4,再由(C)及枝数的定义知其枝数必为 4.证毕本文中的定理 3 实质上给出了(2)上 m(m2)阶对合型列混合变换的具体表达式,并表明:当 m 为偶数时,(2)上 m 阶对合型列混合变换个数较多(有 2 个). 在实际的分组密码编码环节设计中,一般将 m 设计成 2 的方幂,将 n 选为偶数且都不太小,从而有足够的对合变换供选择.如果选取对合型列混合变换,将使该密码环节的加解密一致,从而给分组密码的具体实现带来方便.文献3就采用了这样的策略且收到较好的效果.但另一方面,定理 4 表明(2)上的对合型列混合变换的枝数要么是 2 要么是 4,它不会随着 m 的增大而增大,从而当 m 较大时,枝数仅为 2 或4 未必能达到预期的扩散要求,故一般进行对合型列混合变换设计时将 m 设计得不要太大.例如文献3中改进后的对合型列混合变换的阶数 m=4,其枝数也为 4(推论 2).如果在分组密码的编码环节中使用枝数达到最大的列混合变换,这将使得加解密不一致,并可能对密码环节的具体实现构成一定的不便,但有时我们认为逆密码的性能远不如密