ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

DES算法

2026/9/19 7:32:42 拓冰建站 浏览量
DES算法

在这里插入图片描述
本图来自
https://blog.csdn.net/weixin_45031801/article/details/126820338
在这里插入图片描述

基本原理

  1. DES算法属于对称密码 算法中的分组加密算法
  2. 密钥长64位,56位参与运算,其余8位为校验位(8,16,24,32,40,48,56,64)
  3. 当n个64位明文数据块都经过DES加密处理后,所得到的n个64位密文数据块串在一起就是密文

分组加密算法又称块加密,将明文分为固定的字节块,对每个字节块进行加密,然后拼接在一起

DES加密其实是64位的种子密钥,但是有8位是校验位,所以是56bit的

IP置换

按照一定的规则,将原来的64位二进制重新排序
在这里插入图片描述
如图上面,第一位58,将原始数据第58位的数据放在第一位
在这里插入图片描述

轮函数–E扩展置换

将32位的输入扩展为48位输出
在这里插入图片描述
在这里插入图片描述

  1. 看到将32位表扩展了两列
  2. 将32位的数据分为4bit半个字节
  3. 把每四位的最后一位扩展到下一组四位的前一位,一次下去
  4. 从而得到48位

异或

上面我们已经得到了
48位的密文,再将其与我们48位的密钥进行异或

奇怪?参与密钥的不是56位嘛?请看下面,会解释

轮函数–S盒压缩处理

  1. 经过扩展的48位明文和48位密钥进行异或运算后,再使用8个S盒压缩处理得到32位数据
  2. 将48位输入等分为8块,每块6位输入压缩4位输出
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    然后再进行查表
    在这里插入图片描述

轮函数–P盒置换

S盒所得结果再经过P盒置换。
至此一次轮函数操作完毕
在这里插入图片描述

密钥生成

  1. 密钥位64位,出去8位校验位,剩余56位参与运算
  2. 按照交换规则,生成16个48位的轮密钥
    在这里插入图片描述
    在这里插入图片描述
    pc1
    清楚了校验位的表,所以pc1
    的时候是56位

    在这里插入图片描述
    在这里经过PC2表就变成了48位

总的过程如下所示:
在这里插入图片描述