DES加密算法简单介绍

密码学 专栏收录该内容
10 篇文章 0 订阅

笔者在之前的文章中为大家介绍了对称加密、非对称加密以及摘要算法(感兴趣的小伙伴可以看看笔者之前的文章),这里,简要的为大家介绍一下对称加密中,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加密的流程,供大家参考:

(图片来源于网络)

  • 3
    点赞
  • 0
    评论
  • 8
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

不怕死的假老练

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值