国际数据加密算法.pptVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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种运算。 ② 硬件由于加、解密相似,差别仅为使用密钥的方式,因此可用同一器件实现。 实现上的考虑 使用子分组:16bit的子分组; 使用简单操作(易于加法、移位等操作实现) 加密解密过程类似; 规则的结构(便于VLSI实现) 加密过程 加密过程由连续的8轮迭代和1个输出变换组成. 每轮迭代以4个16比特的子段作为输入,输出也为4个16比特的子段, 链接起来后形成64比特的密文分组。 每轮需使用6个16比特的子密钥,输出变换需使用4个16比特的子密钥,所以子密钥总数为52。 每轮开始时有一个变换,该变换的输入是4个子段和4个子密钥,变换中的运算是两个乘法和两个加法,输出的4个子段经过异或运算形成了两个16比特的子段作为MA结构的输入。 MA结构也有两个输入的子密钥,输出是两个16比特的子段。 变换的4个输出子段和MA结构的两个

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档