国际数据加密算法(International Data Encryption Algorithm,IDEA)是分组密码中一个比较典型的算法。1990年瑞士联邦技术学院X.J.Lai和J.L.Massey提出PES(Proposed Encryption Standard)。1991年,在Biham和Shamir提出差分密码分析之后,设计者为了抗击攻击,推出了改进算法IPES(Improved Proposed Encryption Standard)。1992年,设计者又将IPES改名为IDEA。由于IDEA加密速度快,且安全性高,已被成功应用在PGP(Pretty Good Privacy)中。
IDEA算法中明文和密文分组长度都是64bit,密钥长128bit,同一算法既用于加密又用于解密。设计IDEA的基本思想是使用乘加(Multiplication/Addition,MA)结构(见图4-11),该结构的输入是两个16bit的子段和两个16bit的子密钥,输出也为两个16bit的子段。IDEA中使用的运算有异或、乘法和加法,三种运算中每种运算都是两个16bit的输入和一个16bit的输出。通过MA结构以及三种运算的结合使用,IDEA获得了很好的扩散和混淆效果,对于这三种运算的表述如下:
●逐比特异或,表示为⊕。
●模216(即65536)整数加法,表示为,其输入和输出都是16bit无符号整数。
●模216+1(即65537)整数乘法,表示为☉,为了保证即使当16bit全0作为输入和输出时,也有乘法逆元存在,16bit全0作216处理,其余输入和输出都是16bit无符号整数。
即有:
a☉b≡(a·b)mod(216+1)(www.xing528.com)
在IDEA中,这三种运算的任意两种都不满足分配律和结合律。
●三种运算中任意两种都不满足分配律,例如
●三种运算中任意两种都不满足结合律,例如
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。