1 / 23
文档名称:

国际数据加密算法.pptx

格式:pptx   大小:2,117KB   页数:23页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

国际数据加密算法.pptx

上传人:wz_198613 2018/9/21 文件大小:2.07 MB

下载得到文件列表

国际数据加密算法.pptx

文档介绍

文档介绍:目录
IDEA算法的产生
IDEA加密算法简介
IDEA设计原理
IDEA子密钥的产生
IDEA解密方法
IDEA算法的产生
国际数据加密算法(IDEA)是瑞士的著名学者提出的。它在1990年正式公布并在以后得到增强。这种算法不同于DES/3DES的结构,设计上采用后来成为Lai-Messay的结构,设计思想基于“相异代数群上的混合运算”。发展IDEA也是因为感到DES具有密钥太短等缺点。IDEA的密钥为128位,这么长的密钥在今后若干年内应该是安全的。
类似于DES,IDEA算法也是一种数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。
与DES的不同处在于,它采用软件实现和采用硬件实现同样快速。
由于IDEA是在美国之外提出并发展起来的,避开了美国法律上对加密技术的诸多限制,因此,有关IDEA算法和实现技术的书籍都可以自由出版和交流,可极大地促进IDEA的发展和完善。但由于该算法出现的时间不长,针对它的攻击也还不多,还未经过较长时间的考验。因此,尚不能判断出它的优势和缺陷。
IDEA加密算法简介
IDEA(International Data Encryption Algorithm)是瑞士的James Massey,Xuejia Lai等人提出的加密算法,在密码学中属于数据块加密算法(Block Cipher)类。IDEA使用长度为128bit的密钥,数据块大小为64bit。从理论上讲,IDEA属于“强”加密算法,至今还没有出现对该算法的有效攻击算法。
IDEA是一种由8个相似圈(Round)和一个输出变换(Output Transformation)组成的迭代算法。IDEA的每个圈都由三种函数:模(216+1)乘法、模216加法和按位XOR组成。
在加密之前,IDEA通过密钥扩展(Key Expansion)将128bit的密钥扩展为52Byte的加密密钥EK(Encryption Key),然后由EK计算出解密密钥DK(Decryption Key)。EK和DK分为8组半密钥,每组长度为6Byte,前8组密钥用于8圈加密,最后半组密钥(4Byte)用于输出变换。IDEA的加密过程和解密过程是一样的,只不过使用不同的密钥(加密时用EK,解密时用DK)
密钥扩展的过程如下:
1. 将128bit的密钥作为EK的前8byte;
2. 将前8byte循环左移25bit,得到下一8byte,将这个过程循环7次;
3. 在第7次循环时,取前4byte作为EK的最后4byte;
4. 至此52byte的EK生成完毕。
IDEA设计原理
算法中明文和密文分组长度都是64比特,密钥长128比特。其设计原理可从强度和实现两方面考虑。
1. 密码强度
算法的强度主要是通过有效的混淆和扩散特性而得以保证。
混淆是通过使用以下3种运算而获得,3种运算都有两个16比特的输入和一个16比特的输出:
①逐比特异或。
②模216(即65536)整数加法,表示为,其输入和输出作为16位无符号整数处理。
③模216+1(即65537)整数乘法,表示为⊙,其输入、输出中除16位全为0作为216处理外,其余都作为16位无符号整数处理。例如
0000000000000000⊙1000000000000000=1000000000000001
这是因为216×215 mod (216+1)= (216+1)×215- 215= - 215= 215+1 mod (216+1)
算法中扩散是由称为乘加( MA)结构的基本单元实现的。
该结构的输入是两个16比特的子段和两个16比特的子密钥,输出也为两个16比特的子段。
2. 实现
IDEA可方便地通过软件和硬件实现。
①软件实现采用16比特子段处理,可通过使用容易编程的加法、移位等运算实现算法的3种运算。
②硬件由于加、解密相似,差别仅为使用密钥的方式,因此可用同一器件实现。