密码学指DES密码

DES密码是比较重要的对称加密算法,使用了移位、分组、置换等多种加密方法。

DES加密过程

S={P,C,K,E,D},其中明文P,密文C是64bit的数据,密钥K是56bit的数据

在这里插入图片描述
1.明文首先经过一次置换(IP),置换后还是64bit。
2.将置换后的明文分为两部分:L,R,分别的32bit。然后与k作用,经过16圈的迭代。此时的k1…k16经过去除奇偶校验位等后变成48bit。其通用公式为:
在这里插入图片描述
3.16此迭代完成后将L与R(32bit)两部分连接起来,进行一次置换的逆运算,即可得到最终的密文(64bit)。

不知道大家看到这有没有什么疑问,48bit的密钥k是怎么和32bit的R作用的?

因为R为32bit,k为48bit,位数不同,无法直接作用,所以要先将R补位为48bit。具体怎么补位,IBM公司(DES算法的发明者)设计了特定的补位方法,这里不做详细介绍了。
既然R变成了48bit,那么f(R,K)也变成了48bit,而L为32bit,位数不同不能异或。倘若再对L进行补位的话,那么得到的新的R将会是48bit的,这和我们的期望不同,我们想要得到32bit的新的R,那应该怎么办呢?IBM公司研究出一个S1盒能够使48bit的数转化为32bit。
在这里插入图片描述
s1盒(四行十六列,表格里面的数为0-15的数):
s1盒
s1盒的输入是六位数,输出为四位数。
例(计算题):s盒输入为:011011,求输出。
行数:x1x6:01=1
列数:x2x3x4x5:1101=13
于是输出的数应为s1盒中第一行第十三列(从零开始到十五)的数,即为5,所以输出应为0101(写为四位数)

密钥k的生成过程:

在这里插入图片描述
通过置换与左移生成k。

DES缺点

1.P,C太短,无法满足需求
2.K太短,不安全
3.S盒的技术未公开,有些机构害怕可以被IBM公司获取机密。

猜你喜欢

转载自blog.csdn.net/weixin_43699616/article/details/84201821