第二章des加密算法的描述二章des加密算法的描述第二章des加密算法的描述第二章des加密算法的描述.doc

第二章des加密算法的描述二章des加密算法的描述第二章des加密算法的描述第二章des加密算法的描述.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章des加密算法的描述二章des加密算法的描述第二章des加密算法的描述第二章des加密算法的描述

第二章DES加密算法的描述 2.1 DES算法的来历 在20世纪60年代末IBM设计了一个由Horst Feistel领导的计算机密码编码学方面的研究项目,这个任务在1971年结束时研制出了一种称为LUCIFER[FEIS73]算法,这个算法卖给了伦敦的劳埃德保险公司,用于一个也是由IBM所研发的现金分配系统。 1973年美国标准局NBS(National Bureau of Standards)Tuchman-Meyer项目的结果。这是当时提出的最好的方法。因而在1977年被选为数据加密标准。这就是著名的DES加密算法。以下关于DES加密算法原理,参见文献[1-6] 2.2加密过程 DES的总体方案如图2.1所示。与其他任何一种加密方案一样,加密函数有两个输入:待加密的明文和密钥。.在这里,明文的长度必须为64bit,而密钥的长度为56bit。 图2.1DES加密算法的一般描述 Fig 2.1 The DES encrypts the general description of the calculate way 观察这张图的左边部分,可以看到明文的处理经过了三个阶段。首先,64bit的明文经过一个初始置换IP[表2.1 (a)]后,比特重排产生了经过置换的输入。.接下来的一个阶段是由对同一个函数进行16次循环组成的,这个函数本身既包含有置换又包含有替代函数。最后一个循环(第16个)的输出由64bit组成,它是输入明文和密钥的函数,这个输出的左边和右边两个部分经过交换后就得到预输出。最后,预输出通过一个逆初始置换(IP-1 ) [表2.1 (b)] 就生成了64bit的密文,这个置换是初始置换的逆置换。除了出始和最终置换以外,DES具有严格的Feidtel密码结构。 图二的右半部分给出了56bit密钥的使用方式.密钥首先通过一个置换函数,接着对于16个循环的每一个,都通过一个循环左移操作和一个置换操作的组合产生出一个子密钥Ki。对每一个循环来说,置换函数是相同的,但由于密钥比特的重复移位,产生的子密钥并不相同。 表2.1 DES的置换表 Table 2.1 DES displacement (a)初始置换(IP) (b)逆初始置换(IP-1) 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 38 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 (c)扩展置换(E) 32 4 8 12 16 20 24 28 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 5 9 13 17 21 25 29 1 (d)置换函数(P) 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 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。输入的

您可能关注的文档

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档