聊聊 DES 算法


一次性密码本中,我们讲到了 XOR 的自反性,

??a XOR b = c
??c XOR b = a

??按照这样的特性,我们只需要将加密后的结果跟 步骤4 中计算出来的随机数再做一次 XOR 运算即可还原加密前的数据。

解密过程如下图所示:
在这里插入图片描述

DES 特点

优点

??1、Feistel 网络的轮数可以任意增加。

??2、解密与轮函数 f 无关,轮函数f也不需要有逆函数。轮函数可以设计得足够复杂。

??3、加密和解密可以使用完全相同的结构来实现。

缺点

??1、分组比较短

??2、密钥太短

??3、密码生命周期短

??4、运算速度较慢。

三重DES

??随着硬件技术和 Internet 的发展,其破解的可能性越来越大,而且,所需要的时间越来越少。使用经过特殊设计的硬件并行处理只需要几个小时。

??为了克服 DES 密钥空间小、容易被暴力破解的缺陷,人们又开发出了三重 DES 算法。

??三重 DES 就是将 DES 的算法重复三次得到的一种密码算法。其加密机制如下:

在这里插入图片描述

??由上图所示,3重 DES 的密钥长度是 3*64bits。并且是加密->解密->加密的过程。 在两个加密中加入了一个解密过程。这个是为了兼容普通的DES算法,如果将 3 个DES密钥保持一致,这样 3DES 算法就等于普通的 DES 算法了。