密码学03-分组密码体制.ppt
《密码学03-分组密码体制.ppt》由会员分享,可在线阅读,更多相关《密码学03-分组密码体制.ppt(156页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、密码学03分组密码体制 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望3.1 分组密码概述分组密码概述3.2 数据加密标准数据加密标准DES3.3 差分密码分析和线性密码分析差分密码分析和线性密码分析3.4 分组密码的运行模式分组密码的运行模式3.5 IDEA 3.6 AESRijndael本章提要本章提要23.1 分组密码概述分组密码概述分组密码分组密码(Block Cipher):l将明文消息分组,逐组加密;对称密码算法,属于代换密码将明文消息分组,逐组加密;
2、对称密码算法,属于代换密码l将明文消息编码表示后的数字序列将明文消息编码表示后的数字序列x0,x1,xi,划分成长为划分成长为n的组的组x=(x0,x1,xn-1)l各组(长为各组(长为n的矢量)分别在密钥的矢量)分别在密钥k=(k0,k1,kt-1)控制下变换成输出控制下变换成输出序列序列y=(y0,y1,ym-1)(长为(长为m的矢量)的矢量)l其加密函数其加密函数E:VnKVm,Vn和和Vm分别是分别是n维和维和m维矢量空间,维矢量空间,K为为密钥空间,如图所示。密钥空间,如图所示。3与流密码不同之处:与流密码不同之处:l(1)分组加密。在于输出的每一位数字不是只与相应时刻输入的明分组加
3、密。在于输出的每一位数字不是只与相应时刻输入的明文数字有关,而是与一组长为文数字有关,而是与一组长为n的明文数字有关。的明文数字有关。l(2)无记忆性。在相同密钥下,分组密码对长为无记忆性。在相同密钥下,分组密码对长为n的输入明文组所实的输入明文组所实施的变换是等同的,所以施的变换是等同的,所以只需研究对任一组明文数字的变换规则只需研究对任一组明文数字的变换规则。这种密码实质上是字长为这种密码实质上是字长为m的数字序列的代换密码的数字序列的代换密码。算法的输入长度和输出长度算法的输入长度和输出长度l通常取通常取m=n (用于加密用于加密)l若若mn,则为有数据扩展的分组密码,则为有数据扩展的分
4、组密码(用于认证用于认证)l若若m 。l另一方面,对每个不同的密钥,另一方面,对每个不同的密钥,DES都定义了一个映射,总映射数为都定义了一个映射,总映射数为2561017N/2,则令,则令lKk1,k2,kc如果如果T|TminN/2|,将将Tmax对应的候选者对应的候选者Kn(i)作为作为Kn,并,并猜定猜定Kk1,k2,kc0(p1/2)或或1(p6有所不同。有所不同。当当Nk 6时,扩展算法如下时,扩展算法如下lKeyExpansion(byte Key4*Nk,word WNb*(Nr+1)ll for(i=0;i Nk;i+)lWi=(Key4*i,Key4*i+1,Key4*i+
5、2,Key4*i+3);l for(i=Nk;i 6时,扩展算法如下时,扩展算法如下lKeyExpansion(byte Key4*Nk,word WNb*(Nr+1)ll for(i=0;i Nk;i+)lWi=(Key4*i,Key4*i+1,Key4*i+2,Key4*i+3);lfor(i=Nk;i 6与与Nk6的密钥扩展算法的区别在于:当的密钥扩展算法的区别在于:当i为为Nk的的4的的倍数时,须先将前一个字倍数时,须先将前一个字Wi-1经过经过SubByte变换。变换。以上两个算法中,以上两个算法中,Rconi/Nk 为轮常数,其值与为轮常数,其值与Nk无关,定义为(字节用十六进制表
6、示,同时理无关,定义为(字节用十六进制表示,同时理解为解为GF(28)上的元素):上的元素):l Rcon i=(RCi,00,00,00)l 其中其中RCi 是是GF(28)中值为中值为xi-1的元素,因此的元素,因此lRC1=1(即即01)lRCi=x(即即02)RCi-1=xi-1146(2)轮密钥选取轮密钥选取l轮密钥轮密钥i(即第(即第i 个轮密钥)由轮密钥缓冲字个轮密钥)由轮密钥缓冲字WNb*i到到WNb*(i+1)给出,如图给出,如图3.23所示。所示。lNb=6且且Nk=4时的密钥扩展与轮密钥选取时的密钥扩展与轮密钥选取W0W1W2W3W4W5W6W7W8W9W10W11W12
7、W13W14轮密钥0轮密钥11474加密算法加密算法加密算法为顺序完成以下操作:初始的密钥加;加密算法为顺序完成以下操作:初始的密钥加;(Nr-1)轮迭代;一个结尾轮。即轮迭代;一个结尾轮。即lRijndael(State,CipherKey)llKeyExpansion(CipherKey,ExpandedKey);lAddRoundKey(State,ExpandedKey);lfor(i=1;i Nr;i+)lRound(State,ExpandedKey+Nb*i);lFinalRound(State,ExpandedKey+Nb*Nr)l148其中其中CipherKey是种子密钥,是
8、种子密钥,ExpandedKey是扩展是扩展密钥。密钥。密钥扩展可以事先进行(预计算),且密钥扩展可以事先进行(预计算),且Rijndael密密码的加密算法可以用这一扩展密钥来描述,即码的加密算法可以用这一扩展密钥来描述,即lRijndael(State,ExpandedKey)llAddRoundKey(State,ExpandedKey);lfor(i=1;i Nr;i+)lRound(State,ExpandedKey+Nb*i);lFinalRound(State,ExpandedKey+Nb*Nr)l1495.加解密的相近程度及解密算法加解密的相近程度及解密算法首先给出几个引理。首先
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码学 03 分组 密码 体制
限制150内