DES详细加密过程

DES详细加密过程传统密码: 1、单表替换密码 *(密码移位固定) 2、多表替换密码 *(密钥移位周期固定)其中维吉尼亚密码的出现引出了“秘钥”的概念 3、多字母代换密码 *(明文分组交换){1、DES 2、AES} DES加密过程:(DES算法明文分组长度为64 bit,密钥长度也为64 bit,但是实际密钥长度只

传统密码:

1、单表替换密码 *(密码移位固定)

2、多表替换密码  *(密钥移位周期固定)其中维吉尼亚密码的出现引出了“秘钥”的概念

3、多字母代换密码  *(明文分组交换){1、DES 2、AES}

DES加密过程:(DES算法明文分组长度为64 bit,密钥长度也为64 bit,但是实际密钥长度只有56位,其中第8、16、24、32、40、48、56、64位是奇偶校验位,用于检查密钥在产生、分配及存储过程中可能发生的错误。)

一、明文ip变换

1、明文根据ip置换表重新得到新的明文(所谓ip置换表就是将明文的数字按照ip表中的位置重新定位),得到一个乱序的64 bit 明文组

DES详细加密过程

 

2、将新得到的加密明文分成两个部分,Lo和Ro。

二、子密钥生成

在DES中,加密者输入的明文和密钥都是64 bit,其中只有56 bit是有用的位数(因为有8位为奇偶校验位)。但是DES加密过程有16轮循环函数,其中需要用到16个密钥,所以要将这56 bit密钥扩展生成16个48 bit 的子密钥。步骤如下:

 

 1、PC_1置换的主要步骤和初始IP置换一样,PC_1置换的目的是为了去掉64 bit密钥k中的8个奇偶校验位,并对其余56位打乱排列。置换完成后,同样将密钥分成左右两部分各28 bit,左边为C0, 右边为D0。

DES详细加密过程

 

 2、对于1<=n<=16,在第n轮分别对Cn-1和Dn-1进行循环左移,所移的位数为1位或者2位,取决于n的值,当n=1,2,9,16时左移1位,其它左移2位。因此表格如下:(此时还是56位)

(如Co左移为:1111000011001100101010101111——1110000110011001010101011111)

DES详细加密过程

3. 得到16个子密钥K

在这里插入图片描述

Kn = PC_2(CnDn),PC_2为固定置换,用于从 CnDn(56位) 中选取48 bit作为子密钥Kn,CnDn 表示从左到右将 Dn 排在 Cn 的后面,CnDn 的长度为56 bit。

至此,子密钥全部生成(48位),进入轮函数(轮函数中,首先将32位的一半重定位明文通过E变换转化为48位,如下图所示)。、

 

DES详细加密过程

 

 4、S盒代换

将 E(A) 和 K 进行异或(如果a、b两个值不相同,则异或结果为1。. 如果a、b两个值相同,异或结果为0)操作后,把比特串分为8组,一组 6 bit,分别对每一组进行S盒代换。经过S盒,每一组由 6 bit 缩减为 4 bit。

S盒的行号从0到3,列号从0到15

代换的过程如下,例如需要代换的第一组数据输入为011001,则第一位0和最后一位1组合成的01即为行号,中间的1101为列号,第一组数据对应S1,01转化成10进制为1,1101转化成10进制为13,因此S1中的第1行第13列就为对应的输出,查表得5,转化成2进制为0101。因此0101就为最终的4位输出。

DES详细加密过程

 

DES详细加密过程

 

 

 5、P盒代换

P为固定置换,将经过S盒变换得到的32 bit进行一个置换操作。至此,得到F函数的最终输出。

DES详细加密过程

 

 

6、迭代16次

DES详细加密过程

 

 7、p的逆置换

DES详细加密过程

 

 

 

 

————————————————
版权声明:本文为CSDN博主「pear粥小鲤」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44143499/article/details/105821846

今天的文章DES详细加密过程分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/55617.html

(0)
编程小号编程小号
上一篇 2023-08-27 18:11
下一篇 2023-08-27 18:30

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注