一、加密算法的安全性
衡量一个加密算法的安全性,有两个方面
- 能够抵抗的攻击
- 达到的安全目标
1.四种基本攻击强度(由弱到强)
- 唯密文攻击:分析者通过统一密钥加密的密文,恢复出明文或密文。
- 已知明文攻击:分析者通过统一密钥加密的明文/密文对,恢复出其他密文的明文或者密钥。(无法选择获取的明文/密文对)
- 选择明文攻击:分析者可以根据破解需要,选择明文并获得对应的密文,恢复出其他密文的明文或密钥。(可以根据攻击者的兴趣选择获取的明文/密文对)
- 选择密文攻击:分析者可以根据破解需要,选择系列密文并获得对应的明文,恢复出其他密文的明文或者密钥。
2.安全目标(由弱到强)
- 攻击者不能获得解密密钥。
- 攻击者不能获得正确的明文。
- 攻击者不能获取明文的任何部分信息。
- 攻击者不能获得明文的任何函数。
从攻击者的角度看,第四条是最容易完成的。从加密算法的角度看,第四条是最安全的。