des基本特点
- 用56位密钥加密64位数据(8个奇偶校验)
- 采用分组加密,feistel密码结构(feistel:简单地说Feistel结构就是顺序地执行两个或多个基本密码系统,使最后结果的密码强度高于每个密码系统的结果)
- 对称算法:加密和解密除密钥编排不同外,使用同一算法
- 密钥较短,加密处理简单,加解密速度快,适用于加密大量数据的场合
des算法总流程

详细流程
每轮明文的加密(流程图左半部分)
1.ip置换(先是左边的明文加密部分)
1. 给定明文,通过一个固定的初始置换IP来重排输入明文块P中的比特,得到比特串P0=IP(P)=L0R0,这里L0和R0分别是P0的前32比特和后32比特
初始置换IP

2.将ip置换后的明文分成两组

3.右边进入分组密码的轮函数F

4.右半部分继续进入E盒扩展
因为子密钥是48bit,所以将数据通过e盒扩展从32bit——>48bit(注意e盒扩展的规律)

5.与子密钥异或后,再通过S盒压缩
48bit分成8组,通过8个s盒进行压缩恢复为32bit(注意压缩的方法:第一位与第六位组成行,中间四位组成列。最后查s盒得到的数据的二进制位压缩后的四位结果)

例子

6.s盒的输出结果,通过p盒置换输出,轮函数F结束

7.轮函数F的输出结果再与左半部分异或形成新的R,而原来的R则转为L本轮结束

每轮子密钥的生成(流程图右半部分)

1.先减掉8奇偶校验位,再通过pc-1置换

2.分两组C0与D0进行循环左移位

3.再进行pc-2的置换。52bit——>48bit,本轮子密钥生成结束,下一轮密钥靠C1、D1循环左移位后继续通过pc-2置换

本文深入解析了DES(Data Encryption Standard)加密算法,包括其基本特点:使用56位密钥加密64位数据,Feistel密码结构,对称加密以及加解密速度优势。详细阐述了DES的加密流程,如IP置换、轮函数F的执行,子密钥生成等步骤,并介绍了每轮明文加密和子密钥生成的详细过程。通过对DES的全面解读,读者可以更好地理解这种经典加密技术。
9895

被折叠的 条评论
为什么被折叠?



