DES加密算法简单介绍

笔者在之前的文章中为大家介绍了对称加密、非对称加密以及摘要算法(感兴趣的小伙伴可以看看笔者之前的文章),这里,简要的为大家介绍一下对称加密中,DES的加密算法。

一、明文处理

1.DES加密基于分组加密,需要先将明文按照8个字节为一组进行分组,分组后,将第一组的8个字节通过ascll码表,找到对应的ascll码,并转换为2进制,一共64位。

2.接着通过IP置换表,将明文进行IP置换,然后分为左右两组。

3.将右组扩展置换,将32位扩展为48位。

 

二、密钥处理

4.将64位取出每个字节的第8位,进行PC-1置换,变为56位(每第8位为校验位,不参与运算)。

5.将56位分为CD两组,左位移,每次位移1-2位(第1、2、9、16轮位移一次,其他位移两次)

6.位移后通过PC-2置换,合在一起,变成48位密钥。

 

三、加密处理

7.将48位密钥与扩展称为48位的右分组进行异或。

8.将异或后得到的数字,6位一组,拆分为8组。

9.每组6位中,将首尾当作行,中间四位当作列,通过S盒进行查找替换,再转变为2进制,成为32位。

10.将明文左组与其异或成为新一轮的右组。

11.原明文分组的右组直接放到下一轮,成为左组。

12.再重复进行以上操作,直至进行16轮,第一组加密完成。

 

下图为DES加密的流程,供大家参考:

DES加密算法简单介绍_第1张图片

(图片来源于网络)

你可能感兴趣的:(DES加密算法简单介绍)