当前位置:   article > 正文

简单了解DES加密算法_明文通过des加密

明文通过des加密

1.历史来源:DES(数据加密标准)算法是早在1970年研制出来的算法,属于分组算法。容易被穷举攻击。

2.简单描述:DES以64位二进制明文为明文数据,对明文数据进行加密,输出64位密文。DES密钥实际位56位,并顺序平均分为8组,但每组最后一位添加1位奇偶校验位,这是为了保证密钥的正确性,所以也可表示位64位。DES的加密步骤主要是换位、替换、异或等变换。

3.步骤描述:

1)初始置换。对输入的64位二进制明文按照 初始置换表 进行明文顺序的置换,初始置换表中的数字 代表明文中该数字位  被置换到了表格所在位置。

2)明文分组。将置换后的明文,按顺序分为左右两组,每组32位。

3)密钥置换。这里来处理密钥,以56位密钥为基础,使用密钥置换表,置换密钥的顺序。

4)密钥分组、移位、合并。将密钥按顺序分为左右两组,并结合密钥循环迭代表按迭代次数进行密钥的左移变换(左右两组分别单独进行左移变换),然后将左右密钥合并。

5)密钥产生子密钥。让上一步的密钥产生子密钥,就是将长密钥转换压缩为短密钥,将原来的56位密钥压缩转换为48位密钥。这一步需要用到密钥压缩置换表,使用该表进行压缩步骤。

6)明文扩展置换。这一步是对一半明文的处理,将明文数据的右半部分(32位)扩展成48位,为什么要扩展成48位,因为要和上一步密钥压缩过后的48位子密钥进行运算。

7)48位子密钥和扩展置换后的48位明文进行异或运算。

8)S盒代替。将第7步产生的数据送进S盒代替。将48位数据分为8组,每组6位,分别送入S盒代替,最后变成每组4位,再拼接起来变成32位。S盒代替的原理是一组6位二进制数据‘a1a2a3a4a5a6’送入S盒,将a1a6转换成十进制,得出得结果为S盒代替表的行号,将a2a3a4a5转换为十进制,得出的结果为列号,最后这一组的替换结果就是S盒代替表中行列对应下来的那个值(十进制)的二进制形式(4位二进制)。

9)P盒置换。将S盒输出的32位按照P盒置换表进行置换。

10)P盒置换结果与明文左半部分进行异或运算,得到新的分组的右半部分。

11)将明文的右半部分作为新分组的左半部分。

12)重复4~11步,重复16轮。

13)逆初始置换。将16轮DES运算结果输出的左右合并起来,形成64位,再做一次逆初始置换,得到最终密文。

明文变化图:

扩展:因为DES算法易于击破,有双重DES盒三重DES变形。 

文章参考图表来源:(166条消息) DES加密算法原理与实现_bemodesty的博客-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/394086
推荐阅读
相关标签
  

闽ICP备14008679号