杨波, 《现代密码学(第2版)》03-2.ppt

杨波, 《现代密码学(第2版)》03-2.ppt

ID:50118115

大小:1.16 MB

页数:29页

时间:2020-03-09

杨波, 《现代密码学(第2版)》03-2.ppt_第1页
杨波, 《现代密码学(第2版)》03-2.ppt_第2页
杨波, 《现代密码学(第2版)》03-2.ppt_第3页
杨波, 《现代密码学(第2版)》03-2.ppt_第4页
杨波, 《现代密码学(第2版)》03-2.ppt_第5页
资源描述:

《杨波, 《现代密码学(第2版)》03-2.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第3章分组密码体制分组密码概述数据加密标准差分密码分析与线性密码分析分组密码的运行模式IDEAAES算法——Rijndael3.5IDEA来学嘉(X.J.Lai)和J.L.Massey提出的第1版IDEA(InternationalDataEncryptionAlgorithm,国际数据加密算法)于1990年公布,当时称为PES(proposedencryptionstandard,建议加密标准)。1991年,在Biham和Shamir提出差分密码分析之后,设计者推出了改进算法IPES,即改进型建议加密标准。1992年,设计者

2、又将IPES改名为IDEA。这是近年来提出的各种分组密码中一个很成功的方案,已在PGP中采用。3.5.1设计原理算法中明文和密文分组长度都是64比特,密钥长128比特。其设计原理可从强度和实现两方面考虑。1.密码强度算法的强度主要是通过有效的混淆和扩散特性而得以保证。混淆是通过使用以下3种运算而获得,3种运算都有两个16比特的输入和一个16比特的输出:①逐比特异或,表示为⊕。②模216(即65536)整数加法,表示为+,其输入和输出作为16位无符号整数处理。③模216+1(即65537)整数乘法,表示为⊙,其输入、输出中除16

3、位全为0作为216处理外,其余都作为16位无符号整数处理。例如0000000000000000⊙1000000000000000=1000000000000001这是因为216×215mod(216+1)=215+1。表3.6给出了操作数为2比特长时3种运算的运算表。在以下意义下,3种运算是不兼容的:①3种运算中任意两种都不满足分配律,例如a+(b⊙c)≠(a+b)⊙(a+c)②3种运算中任意两种都不满足结合律,例如a+(b+c)≠(a+b)+c三种运算结合起来使用可对算法的输入提供复杂的变换,从而使得对IDEA的密码分析比对

4、仅使用异或运算的DES更为困难。算法中扩散是由称为乘加(Multiplication/Addition,MA)结构的基本单元实现的。该结构的输入是两个16比特的子段和两个16比特的子密钥,输出也为两个16比特的子段。这一结构在算法中重复使用了8次,获得了非常有效的扩散效果。图3.14MA结构2.实现IDEA可方便地通过软件和硬件实现。①软件实现采用16比特子段处理,可通过使用容易编程的加法、移位等运算实现算法的3种运算。②硬件由于加、解密相似,差别仅为使用密钥的方式,因此可用同一器件实现。再者,算法中规则的模块结构,可方便VL

5、SI的实现。3.5.2加密过程如图3.15所示,加密过程由连续的8轮迭代和一个输出变换组成;算法将64比特的明文分组分成4个16比特的子段,每轮迭代以4个16比特的子段作为输入,输出也为4个16比特的子段;最后的输出变换也产生4个16比特的子段,链接起来后形成64比特的密文分组。每轮迭代还需使用6个16比特的子密钥,最后的输出变换需使用4个16比特的子密钥,所以子密钥总数为52。图3.15的右半部分表示由初始的128比特密钥产生52个子密钥的子密钥产生器。图3.15IDEA的加密框图1.轮结构图3.16是IDEA第1轮的结构示

6、意图,以后各轮也都是这种结构,但所用的子密钥和轮输入不同。从结构图可见,IDEA不是传统的Feistel密码结构。每轮开始时有一个变换,该变换的输入是4个子段和4个子密钥,变换中的运算是两个乘法和两个加法,输出的4个子段经过异或运算形成了两个16比特的子段作为MA结构的输入。MA结构也有两个输入的子密钥,输出是两个16比特的子段。图3.16IDEA第1轮的轮结构图3.17IDEA的输出变换2.子密钥的产生加密过程中52个16比特的子密钥是由128比特的加密密钥按如下方式产生的:前8个子密钥Z1,Z2,…,Z8直接从加密密钥中取

7、,即Z1取前16比特(最高有效位),Z2取下面的16比特,依次类推。然后加密密钥循环左移25位,再取下面8个子密钥Z9,Z10,…,Z16,取法与Z1,Z2,…,Z8的取法相同。这一过程重复下去,直到52子密钥都被产生为止。3.解密过程解密过程和加密过程基本相同,但子密钥的选取不同。解密子密钥U1,U2,…,U52是由加密子密钥按如下方式得到(将加密过程最后一步的输出变换当作第9轮):①第i(i=1,…,9)轮解密的前4个子密钥由加密过程第(10-i)轮的前4个子密钥得出:其中第1和第4个解密子密钥取为相应的第1和第4个加密子

8、密钥的模216+1乘法逆元,第2和第3个子密钥的取法为:当轮数i=2,…,8时,取为相应的第3个和第2个加密子密钥的模216加法逆元。i=1和9时,取为相应的第2个和第3个加密子密钥的模216加法逆元。②第i(i=1,…,8)轮解密的后两个子密钥等于加密过程第(9-i)轮的后

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

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

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