DES算法的实现及安全性概念.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DES算法的实现及安全性分析 专业班级: 计算机科学与技术1班 姓 名: 廖孜孜 学 号: 120103011126 完成日期: 2015年5月17日 引言 如果一个密码体制的加密密钥等于脱密密钥,或者其中一个很容易推出另一个,则称此密码体制为单密钥密码体制,也称为对称密码体制或传统密码体制。最具有代表性的近代传统密码体制是DES(数据加密标准)。 为了适应社会对计算机数据安全保密越来越高的要求,美国国家标准局(NBS)于1973年向社会公开征集一种用于政府部门及民间进行计算机数据加密算法,许多公司提出了自己的加密算法,最后选中了IBM公司提出的一种加密算法。经过一段时间的试用与征求意见,美国国家标准局于1977年公布了由IBM公司研制的一种加密算法,批准把它作为非机要部门使用的数据加密标准,简称DES,DES是Data Encryption Standard的缩写。自从公布以来,它一直超越国界成为国际上商用保密通信和计算机通信的最常用的加密算法。原先规定使用期 10年,可能是DES尚未受到严重的威胁,更主要的是新的数据加密标准还没有完成,或意见未一致,所以当时的美国政府宣布延长它的使用期。因而DES超期服役了很长时间,20年来它一直活跃在国际上保密通信的舞台上,扮演了十分突出的角色。进入20世纪九十年代后以色列的密码学家Shamir 等人提出了一种“差分分析法”,以后日本人又提出类似的方法,这才正式有一种称得上对它的攻击的方法。严格地说,Shamir 的“差分分析法”也只有理论上的价值,至少目前为止是这样的。又如,后来的“线性逼近法”,它是一种已知明文攻击法,需要2的43次方也就是4.398×10的12次方对明文-密文对,在这样强的要求条件下,有十多台工作站协同作战,还需要十天的时间。在这以前已有人建议造专用装置来对付它,其基本想法无非是借用硬件来实现对所有密钥的遍历搜索。当时估计一天可以搜索到一个密钥。技术的进步使得搜索的时间进一步缩短,使DES受到了威胁,但DES毕竟辉煌过。它的思想还是值得借鉴。 DES算法概述 DES是一个对称算法:加密和解密用的是同一算法(除密钥编排不同以外),既可用于加密又可用于解密。它的核心技术是:在相信复杂函数可以通过简单函数迭代若干圈得到的原则下,利用F函数及对合等运算,充分利用非线性运算。DES以64位为分组对数据加密。每组64位,最后一组若不足64位,以“0”补齐。密钥通常表示为64位的数,但每个第8位都用作奇偶校验,可以忽略,所以密钥的长度为56位,密钥可以是任意的56位的数,且可在任意的时候改变。其中极少量的数被认为是弱密钥,但能容易地避开它们,所有的保密性依赖于密钥。 DES算法的基本思想 DES对64位的明文分组进行操作。通过一个初始置换,将明文分组分成左半部分(L0)和右半部分(R0),各32位长。R0与子密钥K1进行F函数的运算,输出32位的数,然后与L0执行异或操作得到R1,L1则是上一轮的R0,如此经过16轮后,左、右半部分合在一起,经过一个末置换(初始置换的逆置换),这样该算法就完成了。 DES算法剖析 DES算法的加密由四部分完成,分别为:初始置换函数IP、子密钥的生成、密码函数F、末置换函数。 初始置换函数IP接受 长度为64位的明文输入,末置换函数IP一1输出64位的密文。 在子密钥的获取过程中,通过密钥置换Pc—l获取从Kl到 K16共16个子密钥,这16个子密钥分别顺序应用于密码函数 的16次完全相同的迭代运算中。 DES的解密算法与加密算法完全相同,只需要将密钥的 应用次序与加密时相反应用即可。即解密过程是初始置换函 数IP接受长度为64比特的密文输入,将16个子密钥按照 K16到K1的顺序应用与函数F的16轮迭代运算中,然后将 迭代的结果经由末置换函数IP.1得到64位的明文输出。 DES算法运算过程 DES主要采用置换和移位运算来实现加解密,接下来深 入剖析DES每个部分运算的实现过程。 初始置换函数IP 64位的明文分组x首先经过一个初始置换函数IP进行置 换运算,产生一个64位的输出x0,该输出被分成两个分别为 32位的左半部分L0和右半部分RO,用于F函数的16轮迭代 运算的首次迭代的初始输入。 初始置换函数IP实际上就是一张8x8(8行8列)的迭代 表,如表I所示。明文分组中的64位按照表中的规定重新进 行排序,其排列顺序为从左到右,从上到下。按表I所示, 明文中的第58位被放置在xO的第1位,第50位防止在第2 位,依次类推。 5

文档评论(0)

挺进公司 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档