同音替换密码:从击败频率分析到黄道带杀手
深入探讨同音替换密码如何击败频率分析,涵盖黄道带杀手的 Z408 和 Z340 密码、历史起源及密码构造方法。
简介
频率分析是密码分析人员对抗简单替换密码最强大的武器。通过统计密文中每个符号的出现次数,并与已知源语言的字母分布相比较,熟练的分析人员可以在数分钟内破解大多数单表替换密码。自阿拉伯博学家阿尔-金迪(al-Kindi)于公元 850 年前后首次描述这一技术以来,频率分析使简单替换密码在数百年间无法用于保护重要机密。
同音替换密码是密码学界对这一问题的回应。与每个明文字母只对应一个固定密文符号不同,同音密码为每个字母分配多个不同符号。语言中出现频率越高的字母,获得的替代符号就越多。设计得当时,这种机制可以使密文的频率分布趋于平坦,令每个符号的出现概率大致相等,从而消除频率分析所依赖的统计规律。
这一构想在概念上简单,但在执行上要求严格,并在密码学史上塑造了若干最具影响力的篇章——从文艺复兴时期的教廷外交通信,到二十世纪最著名的未解密码。
试用我们的免费同音密码工具,亲身体验同音替换并观察它如何掩盖字母频率。
什么是同音替换?
核心原理
在标准简单替换密码(如凯撒密码或关键词密码)中,明文字母表的每个字母恰好映射到一个密文符号,每个密文符号也恰好映射回一个明文字母。这种映射是双射:一一对应且满射。这意味着,如果 E 是英语中最常见的字母(出现频率约为 12.7%),那么 E 所对应的符号在密文中也会以约 12.7% 的频率出现。频率特征从明文直接转移到密文。
同音替换密码打破了这种一对一关系。每个明文字母可以用多个不同的密文符号来表示,这些符号称为同音字符。加密时,每次遇到某个字母,都从该字母对应的符号集合中随机选取一个替换。结果是密文中每个单独符号的出现频率远比标准替换密码更加均匀。
简单示例
假设为以下几个字母分配同音字符:
| 字母 | 同音字符 |
|---|---|
| E | 14, 27, 43, 56, 72, 81 |
| T | 09, 33, 65, 48 |
| A | 17, 39, 62, 51 |
| O | 05, 28, 74 |
| N | 11, 36, 88 |
| S | 22, 47, 70 |
| R | 03, 58 |
| I | 19, 44 |
| ... | ... |
字母 E 是最常见的字母,因此分配了六个同音字符。加密时,每次遇到 E,都从 {14, 27, 43, 56, 72, 81} 中随机选取一个替换。在最终的密文中,没有任何单一符号占主导地位——六个 E 对应的符号各自只出现约 2%(12.7% 分摊到六个符号),与不常见字母的频率融为一体。
为何有效
同音替换的有效性源于一个简单的统计原理。频率分析依赖于一个假设:密文符号的频率反映明文字母的频率。通过将每个字母的频率分散到多个符号上,同音密码违反了这一假设。如果每个符号的出现频率大致相等,分析人员就无法判断哪些符号代表常见字母,哪些代表罕见字母。
理想的同音密码按照字母频率的精确比例分配同音字符:如果 E 占文本的 12.7%,且密码共使用 100 个符号,则 E 应获得约 13 个符号。如果 Z 只占 0.07%,则可能只分配一个符号。当比例精确时,每个符号的出现概率约为 1/100 = 1%,密文具有完全平坦的频率分布。
历史起源:教廷密码学家与文艺复兴宫廷
已知最早的使用(15 世纪)
同音替换密码兴起于文艺复兴时期的意大利宫廷。彼时佛罗伦萨、威尼斯、米兰和教皇国等城邦陷于持续的外交角力之中。大使、间谍头目和教廷秘书急需能够抵御频率分析的密码,而这一技术已在学术圈中广泛流传。
最早有据可查的同音密码出现在十五世纪初曼图亚公国和佛罗伦萨共和国的档案中。这些早期系统相对简单:仅对最常见的字母(E、T、A、O)分配两三个符号,而较不常见的字母则保留单一符号。即便是如此有限的同音替换,也显著提升了密码分析的难度。
教廷密码办公室
梵蒂冈在文艺复兴时期欧洲维持着最为精密的密码运作机构之一。教廷密码秘书负责加解密罗马与遍布欧洲各地教廷使节(教廷大使)之间的所有外交往来。
至十五世纪中叶,教廷密码办公室已开发出精密的同音系统,其中包括:
- 每个常见字母对应多个符号
- 空符号(插入密文以迷惑分析人员的无意义符号)
- 常见姓名、地点和概念的代码词(一种称为命名符的混合系统)
阿根蒂(Argentis)家族在十六至十七世纪历经数代担任教廷密码秘书,将这些系统打磨至炉火纯青。他们的命名符将数百个词汇和音节代码组与单字母同音替换相结合,创造出按当时标准极难破解的密码。
命名符:数百年间占主导地位的密码系统
从约 1400 年到 1700 年的大约三百年间,命名符是欧洲外交中占主导地位的加密系统。命名符将两层加密结合在一起:
- 同音替换表——用于单个字母的加密
- 代码表——将常见词汇、姓名和短语映射到任意符号或数字组
"命名符"(nomenclator)一词源自拉丁语"呼名者",反映了代码表在掩盖专有名词方面的作用。一张典型的命名符可能包含"法王"、"宣战"、"和约"、"一万兵"等数百个外交术语的代码组,以及一套用于拼写代码表中未收录词汇的同音字母表。
命名符的规模从仅含数十个代码组的简单系统,到拥有数千条目的庞大表格不等。代码表条目越多,密码越难破解,但同时也越难正确使用,操作人员犯错的可能性也随之增大。
路易十四的大密码
安托万与博纳旺蒂尔·罗西尼奥尔
历史上最著名的命名符是十七世纪末法国路易十四宫廷所用的"大密码"(Grand Chiffre)。它由安托万·罗西尼奥尔(Antoine Rossignol)及其子博纳旺蒂尔·罗西尼奥尔(Bonaventure Rossignol)创制,二人均为法国王室服务的密码分析家和密码制造者。
大密码的与众不同之处在于其设计:它不是对单个字母进行编码,而是对音节进行编码。法语被分解为各个音节,每个音节被分配一个唯一编号(共 587 个编号)。其中一些编号是陷阱——它们表示前一个编号应被忽略,从而误导任何试图系统性破解的分析人员。
这种以音节为单位的编码方式,加上陷阱编号,使大密码对分析工作具有极强的抵抗力。罗西尼奥尔父子相继去世后,密码的密钥随之失传,用其编写的信件沉寂了两百余年,无人能读。
埃蒂安·巴泽里斯与破解之路
1893 年,法国军事密码分析家埃蒂安·巴泽里斯(Etienne Bazeries)指挥官经过三年艰苦工作,终于破解了大密码。他的关键洞见在于认识到那些编号代表的是音节而非单个字母。一旦通过推断和统计分析确定了少数音节的值,他便能以此为基础层层推进,利用部分解密结果逐步识别更多音节的值。
在巴泽里斯解码的信件中,有一批揭示了"铁面人"真实身份的往来文书——铁面人是路易十四秘密关押数十年、始终以面具遮面的国家囚犯。解密后的信件显示,该囚犯是一位名叫维维安·德·比隆德(Vivien de Bulonde)的失宠将军,但这一认定至今仍存争议。
黄道带杀手的密码
现代史上最著名的同音替换密码,是黄道带杀手创作的密码信。黄道带杀手是一名身份至今不明的连环杀手,于二十世纪六十年代末至七十年代初活跃于加利福尼亚州北部。他向旧金山湾区报纸寄送挑衅性信件和密码,声称已实施多起谋杀,并公开向众人发出破解密码的挑战。
Z408 密码(1969 年)
1969 年 7 月 31 日,黄道带杀手将一封密码信的三个碎片分别寄往湾区三家报纸:《旧金山纪事报》、《旧金山检察官报》和《瓦列霍时代先驱报》。每家报纸收到完整 408 个符号密码的三分之一。黄道带杀手要求各报在头版刊载密码,并威胁若不照做将大开杀戒。
这封完整密码被称为 Z408,是一种使用字母、数字及自创符号混合的同音替换密码。黄道带杀手使用约 54 种不同符号来代表英语的 26 个字母,为 E、T 等常见字母分配了多个符号。
唐纳德与贝蒂·哈登:破解 Z408
密码公开后不到一周,来自加利福尼亚州萨利纳斯市的中学教师唐纳德·哈登(Donald Harden)与其妻子贝蒂(Bettye)便将 Z408 破解。二人是业余解谜爱好者,并未接受过密码分析的正规训练。
哈登夫妇的方法综合运用了多种技术:
已知明文猜测。 贝蒂·哈登推测,以黄道带杀手明显的自恋性格,他可能以"I"或"I LIKE KILLING"作为信息的开头。这为他们提供了一个可能的已知明文片段——一段已知或猜测的明文内容——用以在密文中寻找规律。
模式匹配。 "KILLING" 中含有双写字母 L,在密文中会表现为重复符号。他们在密文中搜索可能对应双写 L 的重复符号,并找到了匹配项。
逐步推进。 一旦"I LIKE KILLING"被初步确认,字母 I、L、K、N、G 的部分映射便已知晓。利用这些已知字母可以猜测相邻单词,从而揭示更多字母与符号的对应关系,进而实现进一步解密。
解密后的 Z408 全文为:
I LIKE KILLING PEOPLE BECAUSE IT IS SO MUCH FUN IT IS MORE FUN THAN KILLING WILD GAME IN THE FORREST BECAUSE MAN IS THE MOST DANGEROUE ANAMAL OF ALL TO KILL SOMETHING GIVES ME THE MOST THRILLING EXPERENCE IT IS EVEN BETTER THAN GETTING YOUR ROCKS OFF WITH A GIRL THE BEST PART OF IT IS THAE WHEN I DIE I WILL BE REBORN IN PARADICE AND ALL THE I HAVE KILLED WILL BECOME MY SLAVES I WILL NOT GIVE YOU MY NAME BECAUSE YOU WILL TRY TO SLOI DOWN OR ATOP MY COLLECTIOG OF SLAVES FOR MY AFTERLIFE EBEORIETEMETHHPITI
信息中含有多处拼写错误(可能为故意为之),结尾有 18 个似乎毫无意义的字符("EBEORIETEMETHHPITI"),至今没有令人满意的解释。部分分析人员认为其中隐藏了黄道带杀手的姓名;另一些人则认为这只是用来填满格子的随机字符。
Z340 密码:51 年未解之谜
1969 年 11 月 8 日,黄道带杀手向《旧金山纪事报》寄出一封新密码,共含 340 个符号,使用了更为复杂的同音替换方案。Z340 此后将抵御所有破解尝试长达半个多世纪。
Z340 难以分析,原因有以下几点:
多层加密。 与 Z408 直接的同音替换不同,Z340 似乎在替换之上叠加了额外的操作,但没有人能确定这些操作究竟是什么。
长度较短。 Z340 仅含 340 个符号,提供的统计数据少于含 408 个符号的 Z408。
可能存在错误。 如果黄道带杀手在加密过程中出现失误(鉴于密码的复杂性,这完全有可能),这些错误将引入干扰,足以使任何系统性分析偏离正轨。
明文语言不确定。 虽然英语是默认假设,但黄道带杀手已知的拼写错误习惯和异常措辞方式,使标准英语统计数据更难以直接套用。
2020 年突破:奥兰查克、布莱克与范艾克
2020 年 12 月 5 日——距密码寄出已逾 51 年——由三名业余密码破解者组成的团队宣布,他们已成功破解 Z340。团队成员包括:来自弗吉尼亚州的网页开发者大卫·奥兰查克(David Oranchak),他已在这道密码上耕耘逾 14 年;来自澳大利亚墨尔本的应用数学家山姆·布莱克(Sam Blake);以及比利时仓库管理员兼程序员雅尔·范艾克(Jarl Van Eycke),他开发了名为 AZdecrypt 的专用密码破解软件。
他们的突破源于一项关键发现:Z340 不仅使用了同音替换,还包含一个换位步骤。明文先被写入一个网格,随后在施加同音替换之前,网格的行被做了调整(部分行被反向读取,部分行被移位)。正是这种换位与替换相叠加的双重加密,使密码分析人员五十年来无从突破。
该团队的方法主要依赖计算机手段:
-
假设生成。 布莱克编写软件,系统性地测试数千种可能的换位方案——包括行的各种重排、反转或移位方式。
-
自动化求解。 针对每种候选换位方案,范艾克的 AZdecrypt 软件尝试利用爬山算法破解由此产生的同音替换,对数百万种可能的替换表进行测试。
-
评分。 每个候选解对照英语语言统计数据(字母频率、二元组频率、三元组频率)进行评分,以识别最合理的明文。
-
人工验证。 奥兰查克对得分最高的候选解进行审核,当连贯的英文文本出现时,他确认了这一解法。
解密后的 Z340 全文为:
I HOPE YOU ARE HAVING LOTS OF FUN IN TRYING TO CATCH ME THAT WASNT ME ON THE TV SHOW WHICH BRINGS UP A POINT ABOUT ME I AM NOT AFRAID OF THE GAS CHAMBER BECAUSE IT WILL SEND ME TO PARADICE ALL THE SOONER BECAUSE I NOW HAVE ENOUGH SLAVES TO WORK FOR ME WHERE EVERYONE ELSE HAS NOTHING WHEN THEY REACH PARADICE SO THEY ARE AFRAID OF DEATH I AM NOT AFRAID BECAUSE I KNOW THAT MY NEW LIFE IS LIFE WILL BE AN EASY ONE IN PARADICE DEATH
美国联邦调查局于 2020 年 12 月 11 日确认了这一解法。解密文本与黄道带杀手已知的写作风格高度吻合,包括他将"paradise"惯常拼写为"PARADICE"——与 Z408 解密结果中出现的拼写错误相同。然而,该信息并未包含任何可识别杀手身份的信息。
Z13 与 Z32 密码
黄道带杀手还寄出了两封较短的密码:一封含 13 个符号的密码(Z13),据称包含他的姓名;一封含 32 个符号的密码(Z32),据称包含一份炸弹制造配方。两者均至今未解。极短的篇幅(分别为 13 和 32 个符号)使统计方法无从施展,而暴力破解又会产生过多看似合理的候选解,无法从中辨别正确答案。
如何构造同音替换表
构建有效的同音替换密码,需要仔细考量字母频率的比例关系。
第一步:确定符号总数
常见选择是 100 个符号,这样频率百分比可以直接对应符号数量。更大的符号集(200、500 个)可提供更细的粒度和更平坦的密文分布。
第二步:按比例分配符号
使用标准英语字母频率:
| 字母 | 频率(%) | 符号数(共 100 个) |
|---|---|---|
| E | 12.7 | 13 |
| T | 9.1 | 9 |
| A | 8.2 | 8 |
| O | 7.5 | 8 |
| I | 7.0 | 7 |
| N | 6.7 | 7 |
| S | 6.3 | 6 |
| H | 6.1 | 6 |
| R | 6.0 | 6 |
| D | 4.3 | 4 |
| L | 4.0 | 4 |
| C | 2.8 | 3 |
| U | 2.8 | 3 |
| M | 2.4 | 2 |
| W | 2.4 | 2 |
| F | 2.2 | 2 |
| G | 2.0 | 2 |
| Y | 2.0 | 2 |
| P | 1.9 | 2 |
| B | 1.5 | 2 |
| V | 1.0 | 1 |
| K | 0.8 | 1 |
| J | 0.2 | 1 |
| X | 0.2 | 1 |
| Q | 0.1 | 1 |
| Z | 0.1 | 1 |
如此分配共得 103 个符号。通过从四舍五入较宽松的字母中减去符号,调整至恰好 100 个(或直接使用 103 个符号)。
第三步:分配具体符号
每个符号应为唯一的字形、数字或字符。对于 100 个符号的集合,可使用两位数字 00–99,或字母、数字与特殊字符的混合。黄道带杀手创造性地混合使用了标准字母、反转字母、占星符号和自创形状。
第四步:加密时随机选取符号
加密时,对每个明文字母,从其可用的同音字符中随机选取。这种随机化至关重要——如果始终按固定顺序使用同音字符(按序循环),分析人员可以检测到规律并重建映射关系。
优势与局限
优势
击败简单频率分析。 这是主要优势。使用比例适当的符号集时,单符号频率分析无法提供任何有用信息。这是相对简单替换密码的革命性提升。
灵活的安全性调节。 符号越多,频率分布越平坦,分析难度越大。50 个符号的集合可提供中等防护;500 个符号的集合接近平坦分布的实际极限。
历史上经过验证的有效性。 同音密码成功保护外交通信数百年,并在多个场合使专业密码分析人员铩羽而归。
局限
易受二元组和三元组分析攻击。 即使单符号频率平坦,符号对(二元组)和三元组的模式仍然携带信息。在英语中,字母对 TH 远比 QX 常见。如果分析人员能识别出哪些符号对对应常见二元组,密码便可被逐层拆解。这是对抗同音替换的主要攻击向量。
密钥管理复杂。 替换表规模庞大且必须保密。共享一张含 100 个以上条目的表格,比共享一个简单关键词要困难得多,也更容易出错。
密文膨胀。 如果符号是多位数字(如两位数代码),密文将长于明文,这对手写或电报通信是实际的不便。
不抵抗已知明文攻击。 如果攻击者知道部分明文,便可立即识别该部分中各符号与字母的对应关系,再将这一映射扩展至密文的其余部分。
与其他替换密码的比较
与简单替换密码(凯撒、关键词)的比较
凯撒密码和关键词密码都是单表替换密码——每个字母只有一个替代符号。频率分析可以轻松破解它们。同音替换是针对这一特定弱点的直接升级。然而,管理每个字母多个符号带来的额外复杂性,也使同音密码在实际使用中更容易出错。
与多表替换密码(维吉尼亚)的比较
维吉尼亚密码等多表替换密码同样能击败单字母频率分析,但机制不同:通过循环使用多套替换字母表来实现。维吉尼亚密码的弱点在于其重复密钥,可通过卡西斯基检验或弗里德曼检验检测出来。同音密码没有可被检测的重复密钥,但它易受二元组分析攻击,而多表替换密码对此具有一定抵抗力。
在实践中,设计良好的同音密码的安全性与使用中等长度密钥的维吉尼亚密码大致相当。二者都能被技术娴熟的分析人员在掌握足够密文的情况下破解,但与简单替换密码相比,都代表了显著的安全提升。
与多字母替换密码(普莱费尔、希尔)的比较
像普莱费尔密码这样的多字母替换密码一次加密多个字母,同样能破坏单字母频率模式。普莱费尔密码的双字母加密方式产生了一种不同的频率掩盖效果——它掩盖了单字母特征,但引入了可检测的二元组模式。同音替换与多字母加密可被视为实现同一目标的两种不同策略:击败频率分析。
破解同音密码:现代方法
爬山算法
破解同音密码最成功的现代方法是爬山优化算法。算法流程如下:
- 从随机的符号到字母的映射开始。
- 使用此映射解密密文。
- 利用适应度函数对所得明文评分(通常基于四元组统计——英语中四字母序列的出现频率)。
- 对映射进行小幅随机调整(交换两个符号的映射关系)。
- 重新解密并重新评分。若分数提升,保留调整;否则还原。
- 重复数千次,直至分数收敛。
这一方法是破解黄道带杀手 Z340 密码的核心手段。雅尔·范艾克的 AZdecrypt 软件使用了针对同音密码优化的复杂爬山算法变体。
模拟退火
模拟退火是爬山算法的一种改进,它偶尔接受会使分数变差的调整。这有助于算法逃脱局部最优——即爬山算法陷入的次优解,因为每次小幅调整都会使分数变差,即便更大跨度的跳跃有可能找到远优于此的解。
机器学习方法
近年来的研究探索了利用神经网络和其他机器学习技术攻击同音密码的可能性。这些方法通过对大量已知明文-密文对进行训练,学习识别正确解码文本的统计特征。虽然仍处于实验阶段,机器学习在自动分析抵御传统方法的复杂密码方面展现出广阔前景。
常见问题
"同音"(homophonic)一词的含义是什么?
"homophonic"一词来自希腊语"homo"(相同)和"phone"(声音或语音)。在音乐中,"homophonic"指多声部以相同节奏运动的织体。在密码学中,"homophonic"意味着多个不同的符号可以代表同一个字母——它们是同一"声音"的不同"表达"。这一术语将同音替换与简单(单音)替换区分开来,后者中每个字母只有一个替代符号。
安全的同音密码需要多少个符号?
没有绝对的数字,但作为一般参考:50 个符号可提供对抗随意分析的中等防护;100 个符号可提供对抗手工分析的良好防护;200 个以上的符号接近同音替换所能实现的实际安全上限。超过一定数量后,增加更多符号的收益递减,因为无论单符号频率分布如何,二元组和三元组分析都将成为主要攻击手段。
黄道带杀手是否已被确认身份?
截至 2026 年,黄道带杀手的身份从未得到官方确认。数十年来,多名嫌疑人相继被提出,包括在原案调查期间受到警方关注的亚瑟·利·艾伦(Arthur Leigh Allen)。2021 年 10 月,一个名为"破案者"(The Case Breakers)的团队将加里·弗朗西斯·波斯特(Gary Francis Poste)列为嫌疑人,但执法机构并未确认这一认定。该案目前仍由美国联邦调查局和地方执法机构保持开放状态。
同音密码是否可以真正无法破解?
不能。虽然同音替换显著提升了密码分析的难度,但在理论上并非无法破解。只要密文长度足够,二元组和三元组分析最终都能揭示底层的替换模式。唯一在理论上被证明无法破解的密码是一次性密码本,它要求密钥与消息等长,且本质上不是替换密码。然而,极短的同音密码(如黄道带杀手的 Z13)在实际上可能确实无法破解,仅仅是因为其中包含的数据太少,统计方法无从发挥作用。
同音密码与命名符有何不同?
命名符是一种混合系统,将同音字母替换与词汇和短语代码表相结合。在纯同音密码中,明文的每个字符都通过替换表单独加密。在命名符中,常见词汇和短语由独立代码表中的代码组替换,只有其余文本才逐字母加密。命名符是从约 1400 年到 1850 年间占主导地位的外交密码系统,也是同音替换在历史上出现最为频繁的背景。