文章目录
- DES基本信息
- [Block Cipher Primitives: Confusion and Diffusion](#Block Cipher Primitives: Confusion and Diffusion)
- 积密码
- [DES Algorithm](#DES Algorithm)
-
- [The DES Feistel Network](#The DES Feistel Network)
- 内部结构
-
- [Initial and Final Permutation](#Initial and Final Permutation)
- [The f-Function](#The f-Function)
-
- [The Expansion Function E](#The Expansion Function E)
- [Add Round Key](#Add Round Key)
- [The DES S-Boxes](#The DES S-Boxes)
- [The Permutation P](#The Permutation P)
- 密钥生成
- 解密
- 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 等)也被认为非常安全和高效。