密码复习——分组密码DES

DES——分组密码算法

整体的加密流程
在这里插入图片描述

显著的特点

使用56位的密钥(一般密钥说是64位,实际上有效位只有56位,其余8位是校验位)
以64位位单位,对数据分组进行加密和解密(密文与明文长度相同,均为64位)。
DES加密与解密使用同一密钥(属于对称加密)
DES的保密性依赖于密钥。(DES的加密算法是公开的,密钥是保密的)

第一步:首先进行IP置换

img

初始置换,就是将原来的明文打乱,并进行重新排序,我们参考置换表能知道每一位分别移动到哪一位了。例如第一个数字58代表输入的第58位移动到第一位上。

第二步:16轮的迭代过程

img

轮函数:E拓展置换(32->48)

拓展的方法:

在这里插入图片描述

将32位分成8段,每一段4位,每一段的开头来自上一段的结尾,每一段的结尾来自上一段的开头,就可以完成E拓展。

S盒压缩处理:

经过拓展的48位明文和48位密钥进行异或后在使用8个s盒处理得到32位数据
在这里插入图片描述

压缩是将每6位的开头结尾,拼接在一起转换位10进制作为s盒的行号,中间四位转换为10进制作为列号:

在这里插入图片描述

参考S盒可以得到数字13
加粗样式

将13转换为2进制位1101就可以进行6进4出的压缩。

P盒置换

S盒位在经过P盒置换,至此,一次论函数操作完毕

密钥的生成

总体思路:

在这里插入图片描述

置换选择1:除去8,16,…,64位(8个校验位),表是7*8行的置换表。
在这里插入图片描述

然后将56位分为左半部分和右半部分,都是28bit,在经过循环左移,要参考移位次数表:

加粗样式

第一次 1位,第三次2位…

然后再经过一个置换选择PC2,将左半部分密钥和右半部分拼接起来,进行PC置换,输出为48位,置换表6*8:

拼接起来,进行PC置换,输出为48位,置换表6*8:

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值