DES算法基本原理

DES算法基本原理

DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准。

DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。

密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1),分组后的明文组和56位的密钥按位替代或交换的方法形成密文组。

步骤:

IP置换
  IP置换目的是将输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位。

密钥置换
  不考虑每个字节的第8位,DES的密钥由64位减至56位,每个字节的第8位作为奇偶校验位。产生的56位密钥由规则表生成;

      在DES的每一轮中,从56位密钥产生出不同的48位子密钥,确定这些子密钥的方式如下:
  1).将56位的密钥分成两部分,每部分28位。
  2).根据轮数,这两部分分别循环左移1位或2位。每轮移动的位数按规则表;

      移动后,从56位中选出48位。这个过程中,既置换了每位的顺序,又选择了子密钥,因此称为压缩置换。压缩置换规则按规则表;

扩展置换
  扩展置换目标是IP置换后获得的右半部分R0,将32位输入扩展为48位(分为4位×8组)输出。

S盒代替
  压缩后的密钥与扩展分组异或以后得到48位的数据,将这个数据送人S盒,进行替代运算。替代由8个不同的S盒完成,每个S盒有6位输入4位输出。48位输入分为8个6位的分组,一个分组对应一个S盒,对应的S盒对各组进行代替操作。

P盒置换
  S盒代替运算的32位输出按照P盒进行置换。该置换把输入的每位映射到输出位,任何一位不能被映射两次,也不能被略去,映射规则按规则表;

IP-1末置换
  末置换是初始置换的逆过程,DES最后一轮后,左、右两半部分并未进行交换,而是两部分合并形成一个分组做为末置换的输入。

经过以上步骤,就可以得到密文了。
 

猜你喜欢

转载自blog.csdn.net/bcbobo21cn/article/details/87871189