密码学基础:从简单替换到多字母替换密码
1. 简单替换密码的加密与破解
简单替换密码是一种将明文中的每个字母替换为密文中特定字母的加密方式。如果不断使模 26 运算变得复杂,就可以确定每个明文字母对应的密文字母。例如,字母 a 可以对应 26 个密文字母中的任意一个,字母 b 则可以对应除 a 所对应的密文字母之外的 25 个字母,以此类推,总共存在 26×25×24×···×3×2×1 = 403,291,461,126,605,635,584,000,000 种可能的替换方式。
这种密码虽然密钥数量众多,难以通过暴力破解,但存在一种有效的破解方法——字母频率分析。该技术至少可以追溯到 9 世纪的阿拉伯学者阿布·优素福·雅各布·伊本·伊斯哈克·萨巴赫·金迪。其原理是,在英语、阿拉伯语或其他人类语言中,某些字母的使用频率高于其他字母。例如,在典型的英语文本中,字母 e 的出现频率约为 13%,远高于其他字母。
如果截获的密文中某个字母(如 R)的出现频率约为 13%,且高于其他字母,那么很有可能 R(C = 18)代表 e(P = 5)。如果是加法密码,就可以通过 5 + k ≡ 18(模 26)计算出密钥 k = 13。
但如果是仿射密码,仅通过一个字母的频率信息可能不够。此时,可能需要猜测其他高频字母,如 t(出现频率约为 8%)或 a(出现频率约为 7%)。例如,若猜测 R 代表 e,F 代表 a,则可得到方程组:
[
\begin{cases}
5k + m ≡ 18 \text{ (模 26)} \
1k + m ≡ 6 \text{ (模 26)}
\end{cases}
]
两
超级会员免费看
订阅专栏 解锁全文
53

被折叠的 条评论
为什么被折叠?



