资源描述:
《国际数据加密算法idea》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、国际数据加密算法IDEA徐厚骏IDEA的第一版是由XuejiaLai和JamesMassey于1990年公布的,叫做PES(ProposedEncryptionStandard,推荐加密标准)。在Biham和Shamir演示了差分密码分析之后,第二年设计者为抗此攻击,增加了密码算法的强度,称新算法为IPES(ImprovedProposedtionalDataEncryptionAlgorithm,改进型推荐加密标准),IPES在1992年又改名为IDEA(InternationalDataEncryptionAlgorithm,国际数据加密算法)。首先定义五种算法:㈠三种加密运算⒈异或运
2、算:即按位作不进位加法运算,规则为:10=01=1,00=11=0;⒉模216加运算:即16bits整数做加法运算,XY≡(X+Y)mod(216)⒊模216+1乘运算:即16bits整数做乘法运算,XY≡(X*Y)mod(216+1)㈡两种子密钥运算⒋16bits整数加法逆-X运算:X的加法逆为-X,即X(-X)≡(X+(-X))mod(216)≡0X的加法逆为-X=216-X;0的加法逆为0。⒌16bits整数乘法逆X-1运算:X的乘法逆为X-1,即XX-1≡(X*X-1)mod(216+1)≡1乘法逆的运算比较复杂,举例说明:-1-例:求X=43679的乘法逆X-1:216+1=65
3、53765537=43679*1+2185843679=21858*1+2182121858=21821*1+3721821=37*589+2837=28*1+928=9*3+1所以1=28-9*3=28-3*(37-28)=4*28+3*37=4*(21821-37*589)-3*37=4*21821-(4*589+3)*37=4*21821-2359*(21858-21821)=2363*21821-2359*21858=2363*(43479-21858)-2359*21858=2363*43679-(2363+2359)*21858=2363*43679-(2363+2359)*(
4、65537-43679)=7085*43679-4722*65537即7085*43679≡1mod(216+1)≡1所以,X=43679的乘法逆X-1=7085对于模216+1乘运算,由于0用216≡-1来表示,因此0的乘法逆是0。IDEA的描述:把明文分成多个64bits的分组,使用128bits的密钥对每个64bits分组加密。把64bits分组分成4个16bits子分组:X1,X2,X3和X4。由128bits的密钥产生52个16bits的子密钥,即首先将128bits密钥分成8个-2-16bits子密钥(前6个用于第一轮加密,后2个用于第二轮加密的头两个),然后密钥向左环移25位
5、后再分成8个子密钥(开始4个用在第二轮,后4个用在第三轮),如此六次产生48个子密钥,再一次密钥向左环移25位,只在前64位生成4个16bits子密钥,合计52个子密钥完成加密全过程。IDEA的加密运算都在16bits子分组上运行,只使用三种加密运算算法,而没有位置换。加密子密钥见下表:轮数加密子密钥1Z(1,1)Z(1,2)Z(1,3)Z(1,4)Z(1,5)Z(1,6)2Z(2,1)Z(2,2)Z(2,3)Z(2,4)Z(2,5)Z(2,6)3Z(3,1)Z(3,2)Z(3,3)Z(3,4)Z(3,5)Z(3,6)4Z(4,1)Z(4,2)Z(4,3)Z(4,4)Z(4,5)Z(4,6
6、)5Z(5,1)Z(5,2)Z(5,3)Z(5,4)Z(5,5)Z(5,6)6Z(6,1)Z(6,2)Z(6,3)Z(6,4)Z(6,5)Z(6,6)7Z(7,1)Z(7,2)Z(7,3)Z(7,4)Z(7,5)Z(7,6)8Z(8,1)Z(8,2)Z(8,3)Z(8,4)Z(8,5)Z(8,6)输出变换Z(9,1)Z(9,2)Z(9,3)Z(9,4)解密子密钥仍为52个,要么是加密子密钥的加法逆,要么是加密子密钥的乘法逆。解密子密钥见下表:轮数解密子密钥1(Z(9,1))-1-Z(9,2)-Z(9,3)(Z(9,4))-1Z(8,5)Z(8,6)2(Z(8,1))-1-Z(8,3)-Z(
7、8,2)(Z(8,4))-1Z(7,5)Z(7,6)3(Z(7,1))-1-Z(7,3)-Z(7,2)(Z(7,4))-1Z(6,5)Z(6,6)4(Z(6,1))-1-Z(6,3)-Z(6,2)(Z(6,4))-1Z(5,5)Z(5,6)5(Z(5,1))-1-Z(5,3)-Z(5,2)(Z(5,4))-1Z(4,5)Z(4,6)6(Z(4,1))-1-Z(4,3)-Z(4,2)(Z(4,4))-1Z(3,5)Z(3,