DES加密体制的理解

由于暂时没有找到适合的图,所以只是小结一下。结合《现代密码学(第四版)—— 杨波》里面的图解。

DES加密思想

DES是一种经典的分组密码,明文分64bit为一组,密钥为56bit。每一组都经过三个阶段进行加密:
 一、初始置换,将分组的数据按照DES置换表进行一次置换重排;
 二、16次轮换,每一轮都有置换和代换运算,这一阶段才是加密的核心,也才用到密钥进行左循环位移和置换选择,再于第一阶段置换后的数据进行异或。
 三、逆初始置换,这是在第二阶段进行到第16轮也就是最后一轮时的输出,此时输出分为左右两半,并交换次序,再经过一次逆初始置换(就是初始置换的逆)产生最终密文。

F函数

这里的F函数指的是上述DES加密思想中的第二阶段的具体运算函数,也分为三个阶段:
 一、选择输入阶段,将64bit的轮输入分为左右两个32bit,记L和R。R首先经过选择扩展运算扩展为48bit。
 二、异或运算阶段,上面提到的56为密钥在这里经过左位移和置换选择后实际参与运算的48位,在这一阶段上一阶段得到的48bit的R直接与48为的密钥进行异或。
 三、S盒运算阶段,第二阶段的异或结果在这一阶段通过S盒产生32位的输出,该输出结果再经一个规定的表进行置换运算,产生的结果即为F函数的输出。
S盒是分8组共16*16的矩阵,48bit的数据分6bit一组,通过相应的S盒进行代换,最后得到32bit输出。这里长度剪短变化就抵消了扩展运算的加长,使得整个运算明文和密文长度一致。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据