聊聊 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 算法了。