您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第二章DES加密算法的描述
免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版权属于提供者所有,有关版权的问题请直接与提供者联系。第二章DES加密算法的描述2.1DES算法的来历在20世纪60年代末IBM设计了一个由HorstFeistel领导的计算机密码编码学方面的研究项目,这个任务在1971年结束时研制出了一种称为LUCIFER[FEIS73]算法,这个算法卖给了伦敦的劳埃德保险公司,用于一个也是由IBM所研发的现金分配系统。1973年美国标准局NBS(NationalBureauofStandards)征求国家密码标准方案,IBM就提交了其Tuchman-Meyer项目的结果。这是当时提出的最好的方法。因而在1977年被选为数据加密标准。这就是著名的DES加密算法。以下关于DES加密算法原理,参见文献[1-6]2.2加密过程DES的总体方案如图2.1所示。与其他任何一种加密方案一样,加密函数有两个输入:待加密的明文和密钥。.在这里,明文的长度必须为64bit,而密钥的长度为56bit。免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版权属于提供者所有,有关版权的问题请直接与提供者联系。图2.1DES加密算法的一般描述Fig2.1TheDESencryptsthegeneraldescriptionofthecalculateway观察这张图的左边部分,可以看到明文的处理经过了三个阶段。首先,64bit的明文经过一个初始置换IP[表2.1(a)]后,比特重排产生了经过置换的输入。.接下来的一个阶段是由对同一个函数进行16次循环组成的,这个函数本身既包含有置换又包含有替代函数。最后一个循环(第16个)的输出由64bit组成,它是输入明文和密钥的函数,这个输出的左边和右边两个部分经过交换后就得到预输出。最后,预输出通过一个逆初始置换(IP-1)[表2.1(b)]就生成了64bit的密文,这个置换是初始置换的逆置换。除了出始和最终置换以外,DES具有严格的Feidtel密码结构。图二的右半部分给出了56bit密钥的使用方式.密钥首先通过一个置换函数,接着对于16个循环的每一个,都通过一个循环左移操作和一个置换操作的组合产生出一个子密钥Ki。对每一个循环来说,置换函数是相同的,但由于密钥比特的重复移位,产生的子密钥并不相同。表2.1DES的置换表Table2.1DESdisplacement64bit密文K16K2K1初始置换逆初始置换32bit对换第16轮第2轮第1轮置换选择2置换选择2置换选择2循环左移循环左移循环左移置换选择164bit明文56bit密钥免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版权属于提供者所有,有关版权的问题请直接与提供者联系。(a)初始置换(IP)(b)逆初始置换(IP-1)58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157(c)扩展置换(E)3248121620242812345678910111213141516171819202122232425262728293031325913172125291(d)置换函数(P)2.3每个循环的详细过程图2.2给出了一循环的内部结构。在这里仍然先把注意力集中到图形的左半部分。每个64bit的中间结果的左右两个部分被当成两个独立的32bit数值处理,分别标记为L(左)和R(右)。与任何古典的Feistel密码中一样,每一个循环的总的处理过程都可以总结为下列公式:L[i]=R[i-1]R[i]=L[i-1]⊕F(R[i-1],K[i])在这个循环中使用的密钥Ki的长度是48bit。输入的R的长度是32bit。这个输入的R先被扩展到48bit,扩展操作由表2.1(c)定义,它由包括一个置换和一个包含重复使用R中16个比特的扩展操作组成。所得到的48bit再和Ki进行异408481656246432397471555236331386461454226230375451353216129364441252206038353431151195927342421050185826331419491757251672021291228171152326518311028241432273919133062211425免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版权属于提供者所有,有关版权的问题请直接与提供者联系。或。这样得到的48bit结果再经过一个置换函数S产生32bit的输出,最后按照表2.1(d)进行置换。WilliamStallings对此进行过详细的研究[4]。图2.2DES算法的一个循环[4]Fig2.2AcirculationoftheDES[4]S盒子在函数中的作用是替代由一组8个S盒子完成,其中每一个都接受6个比特作为输入并产生4个比特作为输出。这些变换是由表2.2定义的,这个表的使用方法如下:盒子Si的输入的第一和最后一个比特构成一个2位二进制数,用来选择由Si表中的四行所定义的四种替代的一种,中间的4个比特则选出一列.3248324848扩展\置换(E表)32比特置换(P)L[i+1]R[i+1]D[i+1]C[i+1]28比特28比特32比特L[i]R[i]D[i]C[i]XOR替代\选择(S盒)XOR左移左移置换\压缩(置换选择2)K[i]免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版权属于提供者所有,有关版权的问题请直接与提供者联系。被上述行和列所选择的单元的十进制数码转换为一个4bit的二进制表示就产生了输出。
本文标题:第二章DES加密算法的描述
链接地址:https://www.777doc.com/doc-2185786 .html