核心原则
- Kerckhoffs 原则:系统的安全性不应依赖于算法的保密,而应仅依赖于密钥的保密。不要使用“自制”的加密算法。
古典密码及其破解
- 移位密码 (Shift Cipher):密钥空间太小 (),易受穷举攻击。
- 单表代换 (Substitution Cipher):密钥空间大 (),但不改变明文的统计分布。
- 攻击方法:频率分析 (Frequency Analysis)。英文字母 ‘e’ 出现频率最高。
- Vigenère 密码:多表代换。
- 攻击方法:利用 Kasiski 测试确定密钥长度,然后通过重合指数 (Index of Coincidence) 分析。
- 漏洞原因:密钥是重复使用的,对于每个子密文的第 ki 位尝试 25 种偏移可能,IoC 最接近 0.65 的就是密钥