密码学-DES密码(二)_第1页
密码学-DES密码(二)_第2页
密码学-DES密码(二)_第3页
密码学-DES密码(二)_第4页
密码学-DES密码(二)_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章分组密码,分组密码概述分组密码是将明文消息序列m1,m2,m1k,分成等长的消息组(m1,m2,mn),(mn+1,mn+2,m2n),在密钥控制下,按固定的算法Ek一组一组进行加密。加密后输出等长密文组(y1,ym),(ym+1,y2m),第二章分组密码,加密算法,密钥k,明文(x1,x2,xn),密文(y1,y2,yn),加密一组明文的过程,第二章分组密码,分组密码设计原则一般设计原则混乱扩散实现的设计原则软件硬件,第二章分组密码,分组密码的结构;分组密码原则“复杂”难于分解“简单”易于实现选代密码:,X=Y(0),F,F,F,密钥K,Y(2),Y(r-1),Y(1),Y(r),Z(2),Z(1),Z(r),第二章分组密码,分组密码两种类型的总体结构:Feistal网络:只改变输入分组的一半SP网络:改变整个数据分组,典型的分组密码算法DES数据加密标准DES(DataEncryptionStandard)DES密码体制最有名的密码算法第一个被公开的现代密码由IBM于1971年至1972年研制成功分组长度:64比特密钥长度:56比特,第二章分组密码,DES是一个对称算法:加密和解密用的是同一算法。目前DES已被视为不安全,普遍使用的是变种tripleDES,即对64比特分组加密三次,每次用不同的密钥,密钥长度总共168比特。,第二章分组密码,第二章分组密码,比较著名的对称加密算法,2.DES算法描述1)DES算法规定DES密钥长度规定为64位,但实际只使用56位,其余的八位用作奇偶校验位。具体地说,在64位密钥中8的倍数位是校验位,即第8,16,24,32,40,48,56和64位是校验位,剩下的56位则作为真正的密钥。,第二章分组密码,DES是一个分组密码。它的入口参数有三个,分别是Key、Data和Mode。其中Key为64位,是DES算法的工作密钥;Data为64位,是要被加密或被解密的数据;Mode为DES的工作方式,分加密或解密两种。,第二章分组密码,在通信网络的两端,双方约定一致的Key,在通信的源点用Key对明文数据进行DES加密,然后以密文形式在公共通信网(如电话网)中传输到通信网络的终点,密文数据到达目的地后,用同样的Key对密文数据进行解密,便恢复了明文数据。,第二章分组密码,2)DES加密过程DES算法加密的过程大致可以分为三部分:初始置换、16次迭代过程和逆置换,其中在16次迭代过程中还必须从密钥中提取子密钥,将32位的右半部分扩展为48位。具体算法过程如下所示。,第二章分组密码,第二章分组密码,DES加密过程,初始置换,密钥(1),密钥(2),密钥(3),密钥(16),64位明文,逆初始置换,第二章分组密码,DES算法加密过程:,初始置换:密钥置换:密钥64位5648扩展置换:Ri从3248S盒代替:4832P盒置换:末置换:,第二章分组密码,第二章分组密码,(1)初始置换:在表2-3中的IP的置换中将明文的第58位移到第一位,将第50位移到第二位,将第42位移到第三位依次类推。而在表2-3中的IP的逆置换中,将第一位拉回到第58位,第二位拉回到第50位,第三位拉回到第42位,考察其他的位,也可以得到同IP初始置换相对应的位。所以,称IP是IP的逆置换。因而,DES算法既可以用于加密,又可以用于解密。,表2-2初始置换IP,第二章分组密码,表2-3逆初始置换IP-1,第二章分组密码,(2)迭代过程T。在DES算法中,一共要作16次迭代过程,顺序记为Ti设第i次迭代T的输入为,其中、R分别是左半部分32位和右半部分32位,则第i次迭代的输出为Li=Ri-1Ri=Li-1+f(Ri-1,Ki)第i次迭代的输出作为第i+1次迭代的输入,进行下一次迭代。,第二章分组密码,第三章分组密码,f,f是将一个32位的符号串转换为另一个32位的符号串的运算函数,其流程如图2-4所示。功能的第一步是将32位的输入转换为48位,并与迭代密钥按位异或,再把得到的48位分为八组,每组六位,分别通过S1,S2,S8输出,每组只输出四位,组合成32位,这32位最后通过置换输出。在计算时,需要计算出。,第三章分组密码,图2-4f(Ri-1,ki)的计算过程,第三章分组密码,第三章分组密码,图9-4中扩增排列的选位表描述了如何将32位转换为48位的方法,总共八行六列。如果,则E(Ri-1)=r32r1r2r3r32r1,如表2-5所示。,表2-5扩增排列E(R),数据在S盒中执行混淆动作。八个S盒中的每一个S盒都是将六位的输入映射为四位的输出。以S1盒为例,盒中的数据排列如表所示。,第三章分组密码,S盒的工作原理是这样的:若输入为101101,其中首尾(11)两位二进制数转换为十进制数(3)作为行,中间四位(0110)二进制数转换为十进制数(6)作为列。假设从表2-6中查得的数为m,0m15,m换为四位二进制数,则就是输入的四位输出。,第三章分组密码,例如,Sl盒的输入为101101,在盒中的第三行第六列上的数字是1,用二进制数表示为0001,则4位输出为0001。注意:S盒的行和列序号都是从0开始的。,第三章分组密码,单纯置换是对输入的32位进行置换,产生32位输出。如果输入为Hi=r1r2r32,则P(Hi)=h16h7h4h25,如表2-6所示。,表2-6单纯置换P(H),第三章分组密码,(3)Ki是由56位的密钥K确定的48位密钥,每一次迭代使用不同的48位密钥。密钥Ki的生成过程如图所示。,第二章分组密码,密钥的产生过程,初始密钥K(64bit),PC-1,LS1,C0(28bit)D0(28bit),LS1,C1D1,LS2,LS2,LS16,LS16,C16D16,PC-2,K1,PC-2,K16,第三章分组密码,子密钥的初始值为64位。DES算法规定其中的第8、16、24、32、40、48、56、64位(共8位)为奇偶校验位,不参与DES运算。因此,子密钥的实际可用位数为56位。即经过缩小选择换位1之后,由64位变成56位。,第三章分组密码,将56位密钥分成两部分的28位密钥,然后这两部分分别循环左移一位或两位,由圈数决定。移位后,再从56位中选出48位。由于每次都移位,因此每次产生的子密钥都不同。,第二章分组密码,缩小选择换位表为八行七列,共56个元素,分为两个部分:上面四行为L0,下面四行为R0,每部分都是28位。若密钥k=d1d2d64,则L0=d57d49d36,R0=d63d55d4。其中缩小选择换位1如表2-7所示。然后分别进行第一次循环左移,得到L1、R1。将28位的L1、28位的R1合并得到56位。经过缩小选择换位2如表2-8所示,得到48位的密钥K1。同样方法可以得到密钥K2,K3,K16。,第二章分组密码,表2-7缩小选择换位1(PC-1),第二章分组密码,表2-8缩小选择换位2,DES解密加密和解密使用相同算法不同之处是密钥的次序相反归纳如下:R16L16=IP(64bit密文)Ri-1=Li,Li-1=Rif(Ri-1,ki),i=1,2,,6464bit明文=IP-1(L0R0),第二章分组密码,第三章分组密码,DES的工作模式(P28)电码本模式(ECB)密码分组链接模式(CBC)密文反馈方式(CFB)输出反馈模式(OFB),电码本模式(ECB),电码本模式(ECB),密码分组链接模式(CBC),密码分组链接模式(CBC),密文反馈方式(CFB),密文反馈方式(CFB),输出反馈模式(OFB),输出反馈模式(OFB),二重DES及其问题,二重DES及其问题,明文,三重DES密文,DES加密密钥=K1,DES解密密钥=K2,DES加密密钥=K1/K3,三重DES(P30),第三章分组密码,第三章分组密码,差分分析法:基本思想:通过分析特定明文差分对相应密文差分影响来获取可能性最大的密钥。定义差分分析实例,第三章分组密码,线性密码分析:基本思想攻击方法,第三章分组密码,其它分组密码国际数据加密算法(InternationalDataEncryptionAlgorithmIDEA)IDEA是使用一个密钥对64位数据块进行加密的常规共享密钥加密算法。IDEA使用128位密钥进行操作。与DES不同的是IDEA不使用置换。,第三

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论