DES分组密码

一、设计目标

用于加密保护静态存储传输信道中的数据,安全使用10~15 年。

二、特点

DES是一种分组密码。明文、密文和密钥的分组长度都是64位。
DES是面向二进制的密码算法。因而能够加解密任何形式的计算机数据。
DES是对合运算,因加密和解密共用同一算法,从而使工程实现的工作量减半。

三、算法加密过程

1.生成16个子密钥
2.初始置换IP
3.加密函数f加密
4.逆初始置换IP
DES图

1.1 子密钥生成

1.置换选择1
2.循环左移
3.置换选择2,得48位密钥
4.迭代16轮
子密钥生成

1.1.1 置换选择1

子密钥(8x8矩阵)最后一列用于校验,56位有效密钥长度参与置换。Co是矩阵上半部分,Do矩阵是下半部分。
置换顺序固定如下:
子密钥生成置换选择1

置换选择的作用有两个:一是从 64 位密钥中去掉8个奇偶校验位:二是把其余56位密钥位打乱重排,且将前28 位作为Co ,后 28位作为Do。

1.1.2 循环左移

循环左移固定顺序如下:
子密钥生成循环左移

1.1.3 置换选择2

将Ci和Di重新合并成一个新的矩阵,按下表挑选位数生成一个48位密钥(14是取矩阵第14位)
子密钥生成置换选择2

1.2 初始置换IP

按固定表打乱明文顺序。Co是矩阵上半部分,Do矩阵是下半部分。
加密初始置换IP

1.3 加密函数 f

  1. 选择运算(扩展为48位)
  2. 与子密钥异或运算
  3. S盒运算
  4. 置换运算

一轮流程
取右边的明文Ro进行加密运算,运算流程如下:
在这里插入图片描述

1.3.1 选择运算

顺出矩阵的固定顺序如下,由32位扩展为48位
选择运算

1.3.2 与48位密钥异或运算

1.3.3 S盒运算

有8个S盒,输入6位(一行),输出4位
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3.4 置换运算

作用:用P置换来提供扩散,把S盒的混淆作用扩散开来,提高安全性。
第1-15轮迭代打乱顺序固定如下:
在这里插入图片描述
第16轮应进行逆初始置换IP运算
在这里插入图片描述
逆初始置换表格如下:
在这里插入图片描述

四、解密

子密钥使用顺序过来,先用K16,最后用K1进行解密

五、补充:根据初始置换IP表得逆初始置换IP表

在这里插入图片描述

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值