文章目录
- DES基本信息
- Block Cipher Primitives: Confusion and Diffusion
- 积密码
- DES Algorithm
- The DES Feistel Network
- 内部结构
- Initial and Final Permutation
- The f-Function
- The Expansion Function E
- Add Round Key
- The DES S-Boxes
- The Permutation P
- 密钥生成
- 解密
- DES的安全性
- 三重DES
- 替代DES
- 总结
DES基本信息
DES属于对称块加密
Block Cipher Primitives: Confusion and Diffusion
积密码
DES Algorithm
The DES Feistel Network
加密和解密代码大部分是相同的,只需要在密钥调度(keyschedule)中改变子密钥的顺序。
在加密的最后阶段,即第16轮加密之后,左右两部分(L16 和 R16)再次交换,交换后的作为输入进行最终置换(Final Permutation, FP)。
内部结构
Initial and Final Permutation
The f-Function
The Expansion Function E
增强扩散,因为一个位的值可能出现多个地方,对后面影响更大
Add Round Key
The DES S-Boxes
Non-linear and resistant to differential cryptanalysis.
非线性,且对差分密码分析具有较强的抵抗力。分析不出明文和密文关系,因为非线性不好分析
这里属于增强混淆的操作,使得分析不出明文和密文关系
The Permutation P
这里也属于增强扩散性
密钥生成
解密
DES的核心是 Feistel Network
加密最后是交换R和L了再给置换的,所以当再次加密时候,此时进入f的函数就说L了
DES的安全性
2的56次方
三重DES
遗留应用(Legacy Applications)
替代DES
总结
- 从 1970 年代中期到 1990 年代中期,DES 一直是主流的对称加密算法。
由于 DES 使用的 56 位密钥已经不再安全,因此后来开发了 高级加密标准 (AES) 来取代它。AES 的密钥长度更长(128、192、256 位),安全性更高。 - 使用 56 位密钥的标准 DES,现在已经可以通过“穷举密钥搜索”方式被轻松破解
- DES 对已知的分析攻击(analytical attacks),例如差分密码分析(Differential Cryptanalysis)和线性密码分析(Linear Cryptanalysis),具有较强的抵抗力。
- 为了增强 DES 的安全性,可以对数据连续执行三次 DES 加密,称为 三重 DES (3DES)。
3DES 提供了更高的安全性,目前没有已知的实际攻击方法可以有效破解 3DES。3DES 仍然被用于某些需要高安全性的系统,但它的速度比 AES 慢。 - 默认的对称加密算法:AES
现在,“默认”的对称加密算法通常是 AES,因为它更安全且更高效。
除了 AES,其它几个进入 AES 最终选拔的候选算法(如 Serpent、Twofish 等)也被认为非常安全和高效。