des加密--刘洋.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
des加密--刘洋

DES加密算法 DES(data encryption standard)(N.S.A)IBM研发了一种算法,称为:Lucifer。经过几年的研讨和修改,这种算法,成了今天的DES, 197611月23日,终于被美国国家安全局采用。 一.基本原理 DES算法的入口参数有三个:key,data,mode。ey为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64位进行分组,key用于对数据加密。当模式为解密模式时,key用于对数据解密。实际应用中,密钥只用到了64位中的56位,这样才具有更高的安全性。 二.具体步骤 1. 对输入的密钥进行变换。 ??? 用户的64bit密钥,其中第8,16,24,32,40,48,56,64位是校验位,使得每个密钥都有奇数个1。所以密钥事实上是56位。对这56位密钥进行如下表的换位。 57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,1911,3,60,52,44,36, 63,55,47,39,31,23,15,7,62,54,46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4, 表的意思是第57位移到第1位,第49位移到第2位,...... 以此类推。变换后得到56bit数据,将它分成两部分,C[0][28], D[0][28]。 2. 计算16个子密钥,计算方法C[i][28] D[i][28]为对前一个C[i-1][28], D[i-1][28]做循环左移操作。16次的左移位数如下表: 1,? 2,? 3,? 4,? 5,? 6,? 7,? 8,? 9, 10, 11, 12, 13, 14, 15, 16?? (第i次) 1,? 1,? 2,? 2,? 2,? 2,? 2,? 2,? 1,?? 2,? 2,?? 2,?? 2,?? 2,?? 2,? 1??? (左移位数) 3. 串联计算出来的C[i][28] D[i][28] 得到56位,然后对它进行如下变换得到48位子密钥K[i][48] 14, 17,?11, 24,? 1,? 5,??3, 28, 15,??6, 21, 10, 23, 19, 12,? 4, 26,??8, 16,? 7, 27, 20, 13, ?2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42,50, 36, 29, 32, 表的意思是第14位移到第1位,第17位移到第2位,以此类推。在此过程中,发现第9,18,22,25, 35,38,43,54位丢弃。 4. 对64bit的明文输入进行换位变换。换位表如下: 58, 50, 12, 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 表的意思就是第一次变换时,第58位移到第1位,第50位移到第2位,......依此类推。得到64位数据,将这数据前后分成两块L[0][32], R[0][32]。 5. 加密过程,对R[i][32]进行扩展变换成48位数,方法如下, 记为E(R[i][32]) 32,??1,? ?2,? ?3,? 4,? ?5, ? ?4,?? 5,?? 6, ?7, ? 8,? 9, ?8, ?9, 10, 11, 12, 13, 12, 13,?14, 15, 16, 17, 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32,? 1, 6. 将E(R[i][32])与K[i][48]作异或运算,得到48位数,将48位数顺序分成8份,6位一份,B[8][6]。 7. 使用S[i]替换B[i][6]。过程如下: 取出B[i][6]的第1位和第6位连成一个2位数m, m就是S[i]中对应的行数(0-3),取出B[i][6]的第2到第5位连成一个4位数n(0-15),n就是S[i]中对应的列数,用S[i][m][n]

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档