在DES中,如何从种子密钥生成轮密钥.ppt

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

* “种子”密钥 轮密钥 特别注意:这里讲的数字都是指密钥的具体位置,而不是密钥的内容 第A-1步 取得密钥 从用户处取得一个64位(二进制位)长的密码口令key ,key=k1k2k3…k63k64;   去除64位密码中作为奇偶校验位的第8、16、24、32、40、48、56、64位,剩下的56位作为有效输入密钥(“种子”密钥)。 置换: 就是将数码中的某一位的值根据置换表的规定,用另一位代替。 第A-2步 等分密钥 表1: 输入密钥位序/ A位序对照表 注:表中每个单元格的数字是输入密钥位序,每个单元格的位置排序就是A位序,从左向右排,排完一行接着排下一行。 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 表2: 输入密钥位序/ B位序对照表 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 把在第A-1步中生成的56位输入密钥分成均等的A、B两部分,每部分为28位。不是简单地前后一分为二,而是参照表1和表2把输入密钥的值填入相应的位置。 按照表1所示,A的第一位为输入的64位密钥的第57位,A的第2位为64位密钥的第49位,……,依此类推,A的最后一位第28位是64位密钥的第36位。这样,形成了A、B两部分: k=k1k2k3...k55k56 A=k57k49k41...k44k36 B=k63k55k47...k12k4 第A-3步 密钥移位 表3: 每次迭代时密钥循环 左移的位数 DES算法的密钥是经过16次迭代(循环左移)得到一组密钥的,把在第A-1步中生成的A、B视为迭代的起始密钥,表3显示每一次迭代时密钥循环左移的位数。 比如在第1次迭代时密钥循环左移1位,第3次迭代时密钥循环左移2位...第9次迭代时密钥循环左移1位,第14次迭代时密钥循环左移2位。 移位和循环移位: 移位就是将一段数码按照规定的位数整体性地左移或右移。循环右移就是当右移时,把数码的最后的位移到数码的最前头,循环左移正相反。例如,对十进制数环右移1位(十进制位)的结果而循环左移1位的结果则 这里的循环移位,指的是前后28位密码的位置循环左移,比如 49 42 35 28 21 14 7 42 35 28 21 14 7 0 0 50 43 36 29 22 15 循环左移一位 50 43 36 29 22 15 8 8 1 51 44 37 30 23 ———————— 1 51 44 37 30 23 16 16 9 2 52 45 38 31 9 2 52 45 38 31 49 第A-4步 密钥的选取 在第A-3步中第 i 次迭代生成的两个28位长的密钥为: A(i),B(i) A(i)=A(i)1A(i)2A(i)3...A(i)27A(i)28 B(i)=B(i)1B(i)2B(i)3...B(i)27B(i)28 移位后重新排序 把A(i),B(i)合并,得: C(i)=A(i)B(i) =A(i)1A(i)2A(i)3...A(i)27A(i)28B(i)1B(i)2B(i)3...B(i)27B(i)28 =C(i)1C(i)2C(i)3...C(i)55C(i)56 表4: 56位密钥C的位序与加密密钥K的位序对照表: 缺少了 9、18、22、25、 35、38、43、54 这八位。  按照表4所示k的第一位为56位密钥的第14位,k的第2位为56位密钥的第17位,。。。,依此类推,k的最后一位第48位是56位密钥的第32位。 这样,就生成了一个48位使用密钥: k(i)=C(i)14C(i)17C(i)11...C(i)29C(i)32 =k(i)1k(i)2k(i)3...k(i)47k(i)48 第A-5步 迭代 DES算法密钥生成需要进行16次迭代,在完成16次迭代前,循环执行第A-3步和第A-4步,最终形成16套加密密钥:key[0],key[1],key[2],…。key[14],key[15]。

文档评论(0)

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

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档