《国际数据加密算法》PPT课件

《国际数据加密算法》PPT课件

ID:36704079

大小:2.05 MB

页数:24页

时间:2019-05-10

《国际数据加密算法》PPT课件_第1页
《国际数据加密算法》PPT课件_第2页
《国际数据加密算法》PPT课件_第3页
《国际数据加密算法》PPT课件_第4页
《国际数据加密算法》PPT课件_第5页
资源描述:

《《国际数据加密算法》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、国际数据加密算法(IDEA)目录IDEA算法的产生IDEA加密算法简介IDEA设计原理IDEA子密钥的产生IDEA解密方法IDEA算法的产生国际数据加密算法(IDEA)是瑞士的著名学者提出的。它在1990年正式公布并在以后得到增强。这种算法不同于DES/3DES的结构,设计上采用后来成为Lai-Messay的结构,设计思想基于“相异代数群上的混合运算”。发展IDEA也是因为感到DES具有密钥太短等缺点。IDEA的密钥为128位,这么长的密钥在今后若干年内应该是安全的。类似于DES,IDEA算法也是一

2、种数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。与DES的不同处在于,它采用软件实现和采用硬件实现同样快速。由于IDEA是在美国之外提出并发展起来的,避开了美国法律上对加密技术的诸多限制,因此,有关IDEA算法和实现技术的书籍都可以自由出版和交流,可极大地促进IDEA的发展和完善。但由于该算法出现的时间不长,针对它的攻击也还不多,还未经过较长时间的考验。因此,尚不能判断出它的优势和缺陷。IDEA加密算法简介IDEA(InternationalDataEnc

3、ryptionAlgorithm)是瑞士的JamesMassey,XuejiaLai等人提出的加密算法,在密码学中属于数据块加密算法(BlockCipher)类。IDEA使用长度为128bit的密钥,数据块大小为64bit。从理论上讲,IDEA属于“强”加密算法,至今还没有出现对该算法的有效攻击算法。IDEA是一种由8个相似圈(Round)和一个输出变换(OutputTransformation)组成的迭代算法。IDEA的每个圈都由三种函数:模(216+1)乘法、模216加法和按位XOR组成。在加密

4、之前,IDEA通过密钥扩展(KeyExpansion)将128bit的密钥扩展为52Byte的加密密钥EK(EncryptionKey),然后由EK计算出解密密钥DK(DecryptionKey)。EK和DK分为8组半密钥,每组长度为6Byte,前8组密钥用于8圈加密,最后半组密钥(4Byte)用于输出变换。IDEA的加密过程和解密过程是一样的,只不过使用不同的密钥(加密时用EK,解密时用DK)密钥扩展的过程如下:1.将128bit的密钥作为EK的前8byte;2.将前8byte循环左移25bit,

5、得到下一8byte,将这个过程循环7次;3.在第7次循环时,取前4byte作为EK的最后4byte;4.至此52byte的EK生成完毕。IDEA设计原理算法中明文和密文分组长度都是64比特,密钥长128比特。其设计原理可从强度和实现两方面考虑。1.密码强度算法的强度主要是通过有效的混淆和扩散特性而得以保证。混淆是通过使用以下3种运算而获得,3种运算都有两个16比特的输入和一个16比特的输出:①逐比特异或。②模216(即65536)整数加法,表示为,其输入和输出作为16位无符号整数处理。③模216+1

6、(即65537)整数乘法,表示为⊙,其输入、输出中除16位全为0作为216处理外,其余都作为16位无符号整数处理。例如0000000000000000⊙1000000000000000=1000000000000001这是因为216×215mod(216+1)=(216+1)×215-215=-215=215+1mod(216+1)算法中扩散是由称为乘加(MA)结构的基本单元实现的。该结构的输入是两个16比特的子段和两个16比特的子密钥,输出也为两个16比特的子段。2.实现IDEA可方便地通过软件和

7、硬件实现。①软件实现采用16比特子段处理,可通过使用容易编程的加法、移位等运算实现算法的3种运算。②硬件由于加、解密相似,差别仅为使用密钥的方式,因此可用同一器件实现。实现上的考虑使用子分组:16bit的子分组;使用简单操作(易于加法、移位等操作实现)加密解密过程类似;规则的结构(便于VLSI实现)加密过程图表示由初始的128比特密钥产生52个子密钥的子密钥产生器加密过程由连续的8轮迭代和1个输出变换组成.每轮迭代以4个16比特的子段作为输入,输出也为4个16比特的子段,链接起来后形成64比特的密文

8、分组。每轮需使用6个16比特的子密钥,输出变换需使用4个16比特的子密钥,所以子密钥总数为52。每轮开始时有一个变换,该变换的输入是4个子段和4个子密钥,变换中的运算是两个乘法和两个加法,输出的4个子段经过异或运算形成了两个16比特的子段作为MA结构的输入。MA结构也有两个输入的子密钥,输出是两个16比特的子段。变换的4个输出子段和MA结构的两个输出子段经过异或运算产生这一轮的4个输出子段。由X2产生的输出子段和由X3产生的输出子段交换位置后形成W12和W13,目的在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。