数据加密标准(DES)2

DES的子密钥生成

step1:

最初64bit密钥通过置换选择PC-1得56bit密钥

  • 步骤一:
    • 去掉第8、16、24、32、40、48、56、64八位;
    • 剩余的56bit按照表打乱次序。

step2:

56bit密钥分为2个28bit数据C0D0,每轮迭代中,Ci-1和Di-1分别循环左移1位或2位,得Ci和Di.
(注:1、2、9、16轮左移1位,其它轮左移2位)

step3:

  • 将56bitCi和Di输入置换选择PC-2,产生一个48bit的输出,即子密钥ki;
    PC-2步骤:
  • 去掉第9、18、22、25、35、38、43、54八位;
  • 剩余的48bit按照表打乱次序

子密钥生成过程图示

演示DES软件

  • DES优先:加解密算法公开,安全性依赖密钥;
  • DES缺点:速度慢,密钥需通过安全信道传递,密钥56bit较短,可被攻击。

三重DES

DES密钥长度64bit有效位56bit,较短容易被穷举破译,使用多重DES可以增加密钥量,抵抗穷举攻击。常用三重DES模式,有4种模式:

  • DES——EEE3模式:使用3个不同密钥,顺序3次DES加密;
  • DES——EDE3模式:使用3个不同密钥,依次使用加密-解密-加密;
  • DES——EEE2模式:使用2个不同密钥,顺序使用3次加密,一三次密钥相同;
  • DES——EDE2模式:使用2个不同密钥,加密-解密-加密,其中一、三次加密密钥相同。
    优点:
  • 密钥长度:前两种563=168bit,后两种562=112bit,可有效抵抗穷举攻击;
  • DES使用规模大,升级到三重DES比更换新的算法成本小。
    缺点:
  • 处理速度较慢;
  • 密钥长度增加,明文长度没有变化,仍为64bit,就效率和安全性而言,与密钥的增长不相匹配。
posted @ 2020-03-05 20:24  insist钢  阅读(1181)  评论(0编辑  收藏  举报