1.DES算法描述
1)、输入64位明文数据,并进行初始置换IP;
2)、在初始置换IP后,明文数据再被分为左右两部分,每部分32位,以L0,R0表示;
3)、在秘钥的控制下,经过16轮运算(f);
4)、16轮后,左、右两部分交换,并连接再一起,再进行逆置换;
5)、输出64位密文。
2.DES解密
加密和解密可以使用相同的算法。加密和解密唯一不同的是秘钥的次序是相反的。就是说如果每一轮的加密秘钥分别是K1、K2、K3…K16,那么解密秘钥就是K16、K15、K14…K1。为每一轮产生秘钥的算法也是循环的。加密是秘钥循环左移,解密是秘钥循环右移。解密秘钥每次移动的位数是:0、1、2、2、2、2、2、2、1、2、2、2、2、2、2、1。
3.DES算法特点
1、分组加密算法:
以64位为分组。64位明文输入,64位密文输出。
2、对称算法:
加密和解密使用同一秘钥
3、有效秘钥长度为56位
秘钥通常表示为64位数,但每个第8位用作奇偶校验,可以忽略。
4、代替和置换
DES算法是两种加密技术的组合:混乱和扩散。先替代后置换。
5、易于实现
DES算法只是使用了标准的算术和逻辑运算,其作用的数最多也只有64 位,因此用70年代末期的硬件技术很容易实现
算法的重复特性使得它可以非常理想地用在一个专用芯片中。
4.秘钥算法的特点
优点:
效率高,算法简单,系统开销小
适合加密大量数据
明文长度和密文长度相等
缺点:
需要以安全方式进行秘钥交换
秘钥管理复杂