DES分组密码算法ppt课件.ppt
1,分组密码的设计原则数据加密标准DES分组密码的工作模式高级加密标准AES,第三章 分组密码,2,第二节 DES分组密码算法(Date Encipher Standard),主要内容:DES算法概述,圈函数,密钥生成算法,多重DES重点:DES加密算法,圈函数难点:圈函数实现的混乱和扩散,DES分组密码算法,3,算法的标准化,(1)美国国家标准局(NBS)1973年5月到1974年8月两次发布通告,公开征集标准加密算法。,(2)1975年3月NBS采纳了IBM公司提交的候选算法。,DES算法1976年11月被采纳作为政府标准,1977年1月由NBS颁布为数据加密标准,于1977年7月生效。,算法的征集,一、DES算法产生的背景,DES分组密码算法,4,(3)新标准是AES,是由比利时密码学家设计的分组密码算法-Rijndael算法。,(1)成为国际上商用保密通信和计算机通信最常用的加密算法。,(2)安全性评估:规定每五年审查一次,最近一次是在1994年1月,美国政府已决定1998年12月以后不再使用DES算法。,DES算法的应用,DES分组密码算法,5,DES算法的意义,DES算法是第一个公开的分组密码算法,是密码学发展的一个重要的阶段,对算法的标准化研究和分组密码的发展有重大意义。,DES分组密码算法,6,二、DES算法概述,分组长度:64比特密钥长度:64比特有效密钥长度:56比特迭代圈数:16圈每圈子密钥长度:48比特,DES算法是迭代型分组密码算法。,基本参数:,DES分组密码算法,7,m1 m2m64,C1 C2C64,DES算法加密流程框图,1、算法流程,DES分组密码算法,8,9,2、初始置换和逆初始置换,明文 M a1a2a64,则IP(M)a58a50a7。,变换规则:按置换指示的顺序从输入取出,即得输出。,DES分组密码算法,10,逆初始置换IP-1与初始置换IP互逆,可直接利用置换求逆的方法由IP求出。,且有:IP-1 IP(X)=X,变换规则:同初始置换。,DES分组密码算法,11,DES分组密码算法,12,三、圈函数,DES算法的第 i(i=1,2,15)圈加密结构图,缺点:,每圈加密时输入有一半没有改变 左右块的加密处理不能并行实施,优点:,圈变换的数学描述如下:,Li=Ri-1,设计容易:f函数不要求可逆,DES分组密码算法,13,1、DES算法的 f 函数,DES分组密码算法,14,扩展变换-E盒,扩展方式:分别将第i-1块的最右比特和第i+1块的最左比特添到第i块的左边和右边,形成输出的第i个6比特块.,扩展E盒的作用:是将输入的32比特数据扩展为48比特数据,DES分组密码算法,15,48比特,32比特,压缩替代变换-S盒,S盒作用:是将输入的48比特数据压缩为32比特数据。,DES分组密码算法,16,每个S盒有4行,记为第0,1,2,3行。16列记为第0,1,2,15列。,实际上每个S盒是一个4行代替表。,17,S6(1100112)=11102,即:,列:b2b3b4b5=10012=9,值:14=11102,b1b2b3b4b5b6,查表方法:以S6为例,b1 b 2 b 3 b 4 b5 b6 110011,行号,列号,DES分组密码算法,压缩替代S盒是DES中唯一的非线性变换,在算法中起核心作用!,18,移位变换-P盒,将S盒变换后的32比特数据再进行P盒置换,置换后得到的32比特即为f函数的输出,(1)P盒的各输入块的4个比特都分配到不同的输出块之中,DES的P盒的设计特点,(2)P盒的各输出块的4个比特都来自不同的输入块,DES分组密码算法,19,DES的f函数:,DES的圈函数:,DES的加密过程描述为:,DES分组密码算法,20,圈子密钥生成算法,DES分组密码算法,四、圈子密钥生成算法,21,用于产生16圈迭代的16个圈子密钥。其中的置换选择1和置换选择2由算法给定。置换选择1和置换选择2各分为两部分,前四行表示 C 中的比特,后四行表示 D 中的比特。每一圈的 C 和 D 循环左移的位数与其所在的圈数有关,每圈循环左移的位数也由算法给定。,DES分组密码算法,22,置换选择1 置换选择2,DES分组密码算法,23,C寄存器和D寄存器循环左移的位数,DES分组密码算法,24,例1:已知DES分组密码算法第一圈的输入为 L0=83D67FEB16,R0=97A4F8ED16子密钥为K1=38127AD67B4516,求第一圈的加密结果。,解:,第一圈的圈函数,DES分组密码算法,25,第一圈的圈函数,DES分组密码算法,26,101111 110100 001001 011111 110001 011101 0110112,1、输入的右半部分R0是:97A4F8ED16,=1001 0111 1010 0100 1111 1000 1110 11012,2、经E盒扩展后为,110010,3、第一圈的子密钥K1是,C4127AD42B4516=110001 000001 001001 111010 110101 000010 101101 0001012,DES分组密码算法,27,4、与子密钥K1模2加后为,000011 101110 111101 110011101010 110011 110000 0111102,5、查S盒后的32比特输出为,1111 0001 0010 0100 1101 1110 1010 01112,6、经P盒后得F函数的32比特输出,0011 0001 1010 0110 1101 1110 0010 11112,=31A6BE2F16,DES分组密码算法,28,7、将F函数的输出与圈函数的左半输入模2加,=B115CF0416,8、左右两边交换,第一圈64比特输出为,L1=97A4F8ED16,,R1=B115CF0416,DES分组密码算法,29,DES运行框图,64比特明文,DES分组密码算法,30,(一)双重DES,双重DES是分别用两个不同的密钥k1和k2对明文进行两次DES变换以实现对数据的加密保护,即,双重DES的密钥长度是112比特。,四、多重DES,变形DES算法,31,是否存在K3,使得,1992年被证明,上式对DES不成立,32,(二)三重DES,1、两个密钥的三重DES,该加密方案使用两个不同的密钥k1和k2对明文进行三次DES或DES-1变换,加密函数采用一个加密-脱密-加密序列:,两个密钥的三重DES的有效密钥长度是112比特。它是一种较受欢迎的DES替代方案,目前还没有针对性的实用密码分析方法。,变形DES算法,33,2、三个密钥的三重DES(FIPS PUB46-3),该加密方案使用三个不同的密钥k1、k2和k3对明文进行三次DES或DES-1变换,加密函数采用一个加密-脱密-加密序列:,三个密钥的三重DES的有效密钥长度是168比特。,变形DES算法,34,DES的体现,DES的出现标志着商业密码需求的增加。,DES体现香农的密码设计理论。,体现了公开设计原则,开创公开算法的先例。,DES代表当时商业密码的最高水平。,DES给我们的启示,商业密码应当坚持公开设计原则;,商业密码标准应当公布算法。,35,思 考题,1、DES算法通过哪些环节来完成扩散和混乱准则的?,2、画出3密钥3DES的框图。,36,大作业,以3DES作为加密算法开发出文件加密软件系统:具有文件加密和解密功能;具有加解密速度统计功能;采用密文反馈链接和密文挪用短块处理技术;具有较好的人机界面。,