
黄金宝藏(单表替换密码)
1839 年 12 月 18 日,费城的《亚历山大洲讯报》(Alexander's Weekly Messenger) 刊登了一封非同寻常的挑战书。作者自信地宣称:他能轻易破译任何由形象符号加密而成的字母!这则声明瞬间点燃了读者的热情,数以百计的加密信件如潮水般涌向报社。这些在普通人眼中无异于天书般的乱码,却几乎全被挑战者一一破解。这位神秘的密码破译高手,正是日后以《乌鸦》、《厄舍府的倒塌》等作品闻名于世的美国作家——埃德加·爱伦·坡(Edgar Allan Poe),一位对密码学有着深刻洞见的天才。
单表替换密码
算法: 包含加密算法(明文 -> 密文)和解密算法(密文 -> 明文)。
密钥: 算法的运行需要密钥输入。一个字母表(明文)到另一个符号集(密文)的完整映射关系就是密钥。密码本的本质就是记录这种映射关系的密钥集合。
密钥空间: 所有可能的密钥组合称为密钥空间。对于 26 个字母的英文,单表替换密码的密钥空间是巨大的 26
!(即 26 的阶乘),理论上组合数量超过 4 亿亿亿种。
脆弱性: 虽然密钥空间巨大(使暴力破解在爱伦·坡时代几乎不可能),但这种密码本身存在致命弱点。
频率破解
那么,爱伦·坡(以及更早的沃尔辛厄姆)是如何在没有密码本的情况下,不依赖暴力破解就成功破译这些密码的呢?答案在于语言的内在规律——字母频率。
从一些互联网摘抄的段落可知,段落中每个字母出现的频率并不一样,甚至有很大的差别。
语言的「指纹」: 在任何有明确意义的文本中,不同字母出现的频率并不相同,且这种频率分布具有惊人的稳定性。例如在英文中:
这种频率特征不仅存在于英文,也清晰地体现在德语、西班牙语、意大利语等其他语言中。文本越长,实际频率就越趋近于该语言的典型分布。
德语:
西班牙语:
意大利语:
爱伦·坡正是利用了它对密码完成了破译。依靠他自己对密码的破解,他激起了众多读者对密码的热情之后他趁热打铁,写出了小说《金甲虫》,里面详细展示了他对密码破译的思路。
黄金宝藏
一次机缘巧合下,一张印有奇怪字符的羊皮出现在人们的视野,全是由数字和奇怪符号组成的乱码,但破解的思路很简单——频率分析,然后填词
正确破译后会得出明文,这就是黄金宝藏的埋藏地点
看起来很复杂,我们整理一下
凭借在报纸挑战中展现的神奇破译能力,爱伦·坡成功点燃了公众对密码学的巨大热情。他趁热打铁,于 1843 年发表了著名小说《金甲虫》(The Gold-Bug)。小说不仅是一个精彩的寻宝故事,更是一部生动的密码学教程。
结语
《金甲虫》虽然是虚构小说,但它所激发的大众对密码学的热情却是无比真实的。小说中关于「黄金宝藏密码」的情节,也反映了当时社会上流行的密码解谜游戏(如著名的「比尔密码」)的风潮。
然而,爱伦·坡的成功也揭示了一个残酷的现实:一旦一种密码的破译方法(如频率分析法)被广泛知晓并成为「智力的挑战」,它就不再安全了。 单表替换密码的脆弱性暴露无遗。
正是为了克服这种脆弱性,追求更高级别的保密性,密码学家们不断探索。在爱伦·坡的时代之后不久,一种号称「不可破译」(在当时技术条件下)的新密码——维吉尼亚密码(Vigenère cipher)——登上了历史舞台。密码攻防的永恒博弈,由此进入了一个新的篇章。爱伦·坡的挑战与《金甲虫》,则成为了密码学从神秘技艺走向大众认知的重要里程碑。
🧸 参考文献
本文基于基本操作发行的《成为一名密码朋克》项目