对称加密算法
经典的Feistel网路
-
构造思想
- 用简单的算法的乘积来近似表达大尺寸的替换变换
- 多个简单算法的结合得到的加密算法比任何一个部分算法都要强
- 交替使用替换变换和排列
- 混淆和扩散概念的应用
- 扩散,使得明文和密文之间的关系变得更加复杂,简单方法是换位(置换)
- 混淆,使得密文和密钥之间的关系变得近可能的复杂,简单方法是代替
-
理想分组密码(什么是一个好的加密算法)
- 算法固定
- 明文和密文一一对应
- 密文所有的统计特征都是独立于所用密钥
-
分组密码的模型
- 分组密码,将一个明文分组当作整体产生一个等长的密文分组的密码,通常使用的是128位分组大小
- 分组密码的实质是,设计一种算法,能够在密钥的控制下,把n比特明文简单而又迅速的置换成唯一n比特密文,并且这种变换是可逆的。
-
密钥空间
- 有 2 n ! 2^n ! 2n!个密钥
- 在n比较小的时候不安全
- 密钥长度为 n ∗ 2 n n*2^n n∗2n
-
构造细节
-
将明文块拆分为两个等长的块 L 0 , R 0 L_0,R_0 L0,R
-