DES算法描述

DES描述

DES历史背景不再详细描述,我们直接开门见山

1.明文分组长度:64bit 

2.密钥长度:56bit (这个要注意)

3.加密轮数:16轮

4.输出密文分组长度:64bit

DES加密有三个阶段:

(1)初始置换IP:就是对原来的明文按照一定的规则打乱了顺序

(2)16轮变换:就是用16个轮密钥,对明文不断的迭代加密,每一轮都有置换和代换计算

(3)   逆初始置换IP^{-1}:这个和第一轮相对应

下面介绍这三个阶段

初始置换IP

这个初始置换很好理解,就是根据上面的表对明文进行重新排序,对于明文分组b1b2b3...b63b64b1的位置被b58取代,b2b50取代,依次类推b63b15取代,b64b7取代。这样就完成了对明文的初始置换。

16轮变换

16轮变换中每一轮都是这种结构的加密方式,轮变换如下

(1)64位输入:第一轮的输入就是初始置换后的明文,之后的输入是上一轮变化后的结果

(2)分组:把64位输入分为左右两组,每组32位

(3)对右边的Ri-1做变换:首先将Ri-1扩充为48位,扩充算法参考下图

        将扩展后的Ri-1与轮密钥Ki-1进行异或运算,得到一个48bit的二进制串。每一轮的轮密钥由最初的56位密钥产生。轮密钥也是由初始密钥置换和循环移位产生。

(4)S盒代换:首先按顺序将48bit分为8组,每组6bit,然后对6bit二进数进行S盒代换,输出4bit内容,8个S盒输出32bit内容。

对与S盒,一共4行,16列。6bit输入,第一位和最后一位决定了哪一行,中间四位决定那一列。

如100101,代表了3行2列即8.

(5)将输出的32bit串与Li-1进行异或运算,作为下一轮Ri的输入,而下一轮Li的输入来自于最初的Ri-1,下一轮再重复此过程。

 逆初始置换IP^{-1}

逆初始置换跟初始置换类似,先对16轮输出分为左右两半并交换次序。然后再进行逆置换,逆置换表如下。

轮密钥生成

以上就是对DES的简单介绍,希望对你们有帮助,后续密钥生成部分还会继续完善。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值