漫画:什么是DES算法




网络传输经常采用http的方式,假设一个发送方向接收方发送消息,如果没有任何加密算法。那么消息在被中间人截获到之后,即使中间人无法篡改消息,也可以窥探到消息的内容,从而暴露双方通信的私密。如果在战场中被敌人破获了消息,那带来的打击可是毁灭性的。
因此,我们在传递消息的时候,需要通过对称加密的方式传输密文,如下图所示:

DES算法原理

DES(Data Encryption Standard)是一种用于电子数据加密的对称密钥块加密算法.它以64位为分组长度,64位一组的明文作为算法的输入,通过一系列复杂的操作,输出同样64位长度的密文。DES 同样采用64位密钥,但由于每8位中的最后1位用于奇偶校验,实际有效密钥长度为56位。密钥可以是任意的56位的数,且可随时改变。

DES 使用加密密钥定义变换过程,因此算法认为只有持有加密所用的密钥的用户才能解密密文。DES的两个重要的安全特性是混淆和扩散。其中混淆是指通过密码算法使明文和密文以及密钥的关系非常复杂,无法从数学上描述或者统计。扩散是指明文和密钥中的每一位信息的变动,都会影响到密文中许多位信息的变动,从而隐藏统计上的特性,增加密码的安全。

DES算法的基本过程是换位和置换。如图,有16个相同的处理阶段,称为轮。还有一个初始和最终的排列,称为 IP 和 FP,它们是反向的 (IP 取消 FP 的作用,反之亦然)。

算法流程

1.输入64位明文数据,并进行初始置换IP。

2.在初始置换IP后,明文数据再被分为左右两部分,每部分32位,以L0,R0表示。

3.在秘钥的控制下,经过16轮运算(T)。

4.16轮后,左、右两部分交换,并连接再一起,再进行逆置换。

5.输出64位密文。


我们将算法分为了三大块:IP置换、16次T迭代和IP逆置换,加密和解密过程分别如下:


符号 释意
M 算法输入的64位明文块
E 描述以K 为密钥的加密函数,由连续的过程复合构成
IP 64位初始置换
Tn 一系列的迭代变换
W 为64位置换,将输入的高32位和低32位交换后输出
IP-1 是IP的逆置换
C 算法输出的64位密文块
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容