波利比乌斯方阵

波利比乌斯方阵及其衍生密码:从古希腊到一战密码

探索波利比乌斯方阵密码如何演变为敲击码、虚无主义密码、双轨密码和 ADFGVX 密码。从公元前 150 年到第一次世界大战的全面历史。

发布于 2026年3月18日
15 分钟阅读
密码学指南

波利比乌斯方阵及其衍生密码:从古希腊到一战密码

波利比乌斯方阵是密码学史上最具影响力的发明之一。公元前 150 年左右,由古希腊历史学家波利比乌斯构思而成,这个看似简单的 5x5 方阵将字母表中的每个字母转化为一对两位数坐标。将字符转换为数字坐标这一核心思想极为强大,由此衍生出跨越两千年的整个密码谱系。从囚室墙壁上的敲击声,到第一次世界大战泥泞的战壕,波利比乌斯方阵的衍生密码深刻影响了军事史、情报技艺以及现代密码分析的演进。

本文将追溯这一谱系,从原始的波利比乌斯密码出发,介绍其最重要的衍生体:敲击码、虚无主义密码、双轨密码,以及 ADFGX/ADFGVX 密码。在此过程中,我们将探讨每个系统如何在波利比乌斯方阵的坐标概念基础上发展,以应对新的通信挑战。

原始波利比乌斯方阵(公元前 150 年)

历史学家波利比乌斯

波利比乌斯约生于公元前 200 年,出身于古希腊阿卡狄亚同盟的麦加洛波利斯城。罗马征服希腊后,他作为政治人质被带往罗马,在那里成为强大的西庇阿家族的密切盟友。他的巨著《历史》记录了罗马的崛起,内容涵盖军事战略、国家治理等多个领域。在《历史》第十卷中,波利比乌斯描述了一套以其名字命名、流传至今的信号系统。

火炬信号系统

波利比乌斯方阵最初并非为书面加密而设计,而是用于光学电报传输。该系统的运作方式如下:

  1. 构建方阵。 将古希腊字母表的 24 个字母排列在一个 5x5 方阵中(第 25 格留空或填入特殊字符)。每个字母获得一对唯一坐标:一个表示行,一个表示列。

  2. 火炬传输。 发送方同时举起两组火炬。左组表示行编号(1 至 5 支火炬),右组表示列编号(1 至 5 支火炬)。远处的观察者数清火炬数量,即可确定对应字母。

  3. 中继站。 由山顶中继站组成的链路将信号跨越广阔距离接力传递。一条消息可在数小时内传递数百公里,远快于任何人力信使。

数学之美

波利比乌斯方阵的天才之处在于一个简单的数学洞见:5x5 方阵恰好提供 25 对唯一坐标,足以表示任意 25 个或更少字符的字母表。通过将每个字母压缩为统一的两位数格式,波利比乌斯将任意文本的传输复杂度降低为传输一组小数字的序列——这一概念比数字编码早了两千余年。

使用波利比乌斯密码编解码器亲身体验这一系统的运作。

敲击码:囚室墙壁上的波利比乌斯方阵

敲击码的工作原理

敲击码也许是波利比乌斯方阵最令人动容的应用形式。坐标不再通过火炬或数字传递,而是以可听见的敲击声序列敲击墙壁、管道或任何坚硬表面来传达。发送方先敲击行编号,短暂停顿后再敲击列编号。接听方将每对敲击解码还原为字母。

敲击码通常使用一个省略字母 K 的 5x5 方阵(在语境中用 C 代替 K),而非标准波利比乌斯方阵的 I/J 合并方式:

    1 2 3 4 5
1 | A B C D E
2 | F G H I J
3 | L M N O P
4 | Q R S T U
5 | V W X Y Z

要发送字母 H(第 2 行,第 3 列),需敲击两下,停顿,再敲击三下。要发送字母 S(第 4 行,第 3 列),需敲击四下,停顿,再敲击三下。

越战战俘与河内希尔顿

敲击码因越战期间美国战俘的使用而举世瞩目。数百名美国军人(大多为被击落于北越上空的海军和空军飞行员)被关押在河内的火炉监狱,该监狱被讽刺地称为"河内希尔顿"。战俘们遭到严格隔离,被禁止相互交谈,并受到审讯和折磨。

1965 年,空军上尉卡莱尔·"史密蒂"·哈里斯在回忆起军事生存训练课上学过的内容后,将敲击码引入狱中。该系统在战俘群体中迅速传播。战俘们在墙上敲击,用扫帚按节奏扫地,咳嗽成序,甚至用手势比划方阵坐标。

敲击码成为战俘们的生命线。通过它,他们:

  • 分享审讯技巧的情报
  • 协调抵抗策略
  • 传递个人消息和新闻
  • 在多年囚禁中维系集体士气
  • 在战俘中建立指挥链条

杰里迈亚·邓顿指挥官曾在一场电视宣传采访中,以眨眼摩尔斯码拼出"TORTURE"(折磨)一词而举世闻名,他是每天依赖敲击码的众多战俘之一。该系统的简洁性使其几乎无法被看守阻止——哪怕是用凉鞋敲打床架,也能传递信息。

俄国政治犯

早在越战数十年前,沙俄和苏联早期监狱中的俄国政治犯就在使用完全相同的系统。十二月党人、民粹党人,以及后来的布尔什维克革命者,曾通过西伯利亚监狱和圣彼得堡彼得保罗要塞厚重的石墙敲出加密消息。亚瑟·科斯特勒的小说《正午的黑暗》(1940 年)对这种通信方式有生动的描绘。

敲击码的韧性在于其极度简洁:无需任何设备,方阵几分钟内即可背熟,敲击声可伪装成普通噪音。时至今日,它仍在全球各地的监狱中沿用。

虚无主义密码:为波利比乌斯方阵添加算术运算

起源于俄国革命者

虚无主义密码于 19 世纪 80 年代兴起于俄国革命团体——民意党(人民意志)及与之相关的反对沙皇专制的组织。这些团体需要一种比简单替换密码更强、但又足够简单、无需纸张和设备即可使用的密码,因为一旦发现任何密码设备,便意味着逮捕和处决。

虚无主义密码是他们的解决方案:通过加法运算,在波利比乌斯方阵的基础上叠加一层以密钥词为基础的密钥,创造出一种使用上稍显复杂、但乍看之下更难破解的密码。

虚无主义密码的工作原理

  1. 创建波利比乌斯方阵。 将 25 个字母(I/J 合并)排入 5x5 方阵,可选择以密钥词打乱顺序。

  2. 将明文转换为坐标。 利用方阵,将每个明文字母替换为其两位波利比乌斯坐标。例如,使用标准方阵:H = 23,E = 15,L = 31,P = 35。

  3. 将密钥转换为坐标。 取一个密钥词(如"SECRET"),同样将每个字母转换为其波利比乌斯坐标。重复密钥词以匹配明文长度。

  4. 坐标相加。 对每个位置,将明文坐标与密钥坐标相加。若明文坐标为 23,密钥坐标为 43,则密文数字为 23 + 43 = 66。

结果是一组两位或三位数字序列(范围从 22 到 110),与原始波利比乌斯坐标看起来大相径庭。

示例演示

明文:    H   E   L   P
波利比乌斯:23  15  31  35

密钥:    S   E   C   R
波利比乌斯:43  15  13  42

密文:    23+43=66  15+15=30  31+13=44  35+42=77
结果:    66 30 44 77

安全性分析

虚无主义密码比原始的波利比乌斯密码提供了更多混淆性,但存在一个关键弱点:加法运算会保留规律。若相同的明文字母出现在密钥字母也相同的位置,所得密文值将完全一致。这意味着该密码易受以下攻击:

  • 模运算分析:密文值中十位和个位同为奇数或同为偶数时,会泄露底层坐标的信息。
  • 已知明文攻击:一个已知单词即可暴露密钥的部分内容。
  • 统计攻击:和值的分布并不均匀,经验丰富的密码分析师可以检测出密钥长度,并重构明文和密钥。

尽管存在这些弱点,虚无主义密码在系统性密码分析尚不普及的时代,对俄国革命者而言已足够实用。沙皇秘密警察(宪兵队)最终学会了破解它,但往往不够及时,无法阻止革命者的行动。

双轨密码:波利比乌斯方阵与置换的结合

费利克斯·德拉斯泰勒的创新

1901 年,法国密码学家费利克斯·德拉斯泰勒发表了双轨密码,这是一种将波利比乌斯方阵与置换步骤相结合的系统,所创造的安全强度从根本上超越了单独使用任一技术的效果。德拉斯泰勒认识到,波利比乌斯方阵最大的价值不在于其本身作为一种密码,而在于它是一种分组机制——将每个字母分解为两个独立分量(行和列),可对这两个分量分别进行操作。

双轨密码的工作原理

  1. 创建波利比乌斯方阵(可选择以密钥词设置密钥)。

  2. 提取坐标。 对每个明文字母,分别记录其行编号和列编号,形成两行数字。

  3. 拼接并重新分组。 先写出所有行编号,再接上所有列编号,然后将这一合并序列两两分组。

  4. 还原为字母。 将每对新的数字在波利比乌斯方阵中查找,得到密文字母。

示例演示

使用标准波利比乌斯方阵:

明文:    H   E   L   L   O
行:      2   1   3   3   3
列:      3   5   1   1   4

拼接:    2 1 3 3 3 3 5 1 1 4
分组:    (2,1) (3,3) (3,5) (1,1) (4,_)
          = F     N     P     A     ...

(实际输出取决于分组是否与所选的周期长度对齐。)

双轨密码为何比波利比乌斯方阵更强

关键创新在于,每个密文字母依赖于两个不同的明文字母——一个贡献其行,另一个贡献其列。这种扩散效果意味着:

  • 改变单个明文字母会影响多个密文字母。
  • 对单个字母的频率分析变得困难得多。
  • 明文与密文之间的关系是非线性的。

德拉斯泰勒还发明了三轨密码,将这种分组扩展到三维,使用 3x3x3 立方体;以及四方密码,同时使用多个波利比乌斯方阵。

在德拉斯泰勒在世期间,双轨密码在手工方法面前几乎无法被破解。即使在今天,破解双轨密码也需要复杂的爬山算法或模拟退火算法,而非简单的频率分析。

ADFGX 与 ADFGVX:西线战场上的波利比乌斯方阵

第一次世界大战的熔炉

到 1918 年,四年的阵地战已将西线变成了通信噩梦。无线电通信可被敌方截获,因此每条重要消息都必须加密。德国陆军需要一种密码,同时满足以下要求:

  • 安全,能抵抗法国和英国密码分析师的破解
  • 足够简单,使前线电报员能在炮火下操作
  • 抗摩尔斯码误差,确保传输稳定

德国陆军上校弗里茨·内贝尔设计了满足上述三项要求的 ADFGX 密码,而波利比乌斯方阵正是其核心。

ADFGX 的工作原理

  1. 波利比乌斯替换。 以秘密密钥词构建一个 5x5 方阵。行和列用字母 A、D、F、G、X 标注——这些字母被特意选择,因为它们对应的摩尔斯码(滴-嗒、嗒-滴-滴、滴-滴-嗒-滴、嗒-嗒-滴、嗒-滴-滴-嗒)彼此差异最大,从而最大程度减少传输错误。

  2. 列移位置换。 将所得的 ADFGX 字母对写入一个置换密钥词下方的方格中,然后按字母顺序重新排列各列,再逐列读取密文。

这一两步流程(替换后置换)使密文极难分析,因为置换彻底打乱了替换后的规律。

扩展为 ADFGVX

1918 年 6 月,德军将系统扩展为 6x6 方阵,新增字母 V(行列标注变为 A、D、F、G、V、X 六个字母)。更大的方阵容纳了全部 26 个字母加上 10 个数字,使前线部队能够在同一系统内加密地图坐标、部队番号及其他数值数据。

乔治·潘万的胜利

ADFGVX 密码在战争的关键时刻登场。1918 年春,德国发动大规模春季攻势(迈克尔行动),协约国迫切需要有关德军部队调动和攻击计划的情报。

法国密码分析师乔治·潘万中尉接受了破解 ADFGVX 密码的挑战。在截获信息有限、时间压力巨大的情况下,潘万利用了置换步骤中微妙的统计规律。他的关键洞察是:使用相同置换密钥但从明文不同位置开始加密的消息,会在列对齐的规律中泄露密钥长度信息。

1918 年 6 月 2 日,潘万破解了一条关键的 ADFGVX 消息,揭示了德军下一次进攻的目标——蒙迪迪耶与贡比涅之间的区域。这一情报使法国最高统帅部得以增援受威胁地段,德军攻势在马恩河第二次战役中被击退。许多历史学家认为,潘万的成就是历史上最具决定性意义的密码分析壮举之一。

潘万在数周的努力中工作强度之大,体重减轻了 33 磅。他后来表示,破解 ADFGVX 密码是他一生中所经历的最艰难的智力挑战。

交叉棋盘密码:优化的波利比乌斯方阵

交叉棋盘密码是对波利比乌斯方阵的一种巧妙改进,解决了其最大的实用弱点之一:密文长度膨胀。在标准波利比乌斯密码中,每个字母变为两位数字,消息长度翻倍。交叉棋盘密码通过为最常用字母(E、T、A、O、N 等)分配单位数编码,为较少用字母分配两位数编码,解决了这一问题。

结果是一种可变长度编码,生成更短的密文,而且更重要的是,它使频率分析困难得多,因为分析师无法轻易判断一个字符的编码在哪里结束、下一个从哪里开始。

VIC 密码

交叉棋盘密码最著名的应用是 VIC 密码,由苏联间谍雷诺·海哈南(代号 VIK,后英语化为 VIC)在 20 世纪 50 年代使用。VIC 密码将交叉棋盘密码与多层置换以及复杂的密钥派生过程相结合,被认为是有史以来设计的最强手工密码之一,从未被美国情报界破解——海哈南的间谍活动仅因其于 1957 年叛逃才得以暴露。

VIC 密码展示了简朴的波利比乌斯方阵与其他密码技术结合后所能达到的高度。

现代遗产:波利比乌斯方阵为何至今仍有意义

发明两千余年后,波利比乌斯方阵仍不断出现在令人意想不到的地方:

密码学教育

波利比乌斯密码是全球各大学密码学入门课程的经典内容。它以学生能够立即理解的方式,优雅地阐释了基本概念——坐标系统、双射映射、分组,以及替换与置换之间的关系。讲授波利比乌斯方阵自然而然地引出对双轨密码、ADFGVX,乃至使用类似替换-置换网络架构的现代分组密码的讨论。

CTF 竞赛

夺旗(CTF)网络安全竞赛中经常出现以波利比乌斯编码的挑战题目。参赛者必须识别坐标对格式,判断使用的是标准方阵还是密钥方阵,并运用适当的求解技术。本网站的波利比乌斯解码器是 CTF 参赛者常用的工具。

密室逃脱与谜题设计

5x5 方阵的视觉简洁性使波利比乌斯密码非常适合密室逃脱谜题。设计者可以将方阵呈现为历史文物、间谍笔记本或囚室墙壁上的刻痕。玩家解码坐标对以揭示线索、密码或实体锁的开锁组合。

文化引用

波利比乌斯方阵及其衍生密码出现在小说、电影和视频游戏中。从汤姆·克兰西的惊悚小说到独立解谜游戏,将坐标转化为字母时那种令人满足的感觉,令享受智力挑战的受众心领神会。

常见问题

波利比乌斯方阵与波利比乌斯密码有什么区别?

这两个术语可以互换使用。"波利比乌斯方阵"指 5x5 方阵本身,而"波利比乌斯密码"指使用该方阵将字母转换为坐标对的加密方法。实际上,两个术语描述的是同一个系统。

波利比乌斯密码安全吗?

不安全。标准波利比乌斯密码是一种简单的单表替换密码,很容易通过频率分析破解。其价值在于教育意义和历史意义,而非实用性。如需安全通信,请使用 AES 等现代加密标准。

波利比乌斯密码和双轨密码有什么区别?

波利比乌斯密码直接将每个字母替换为其方阵坐标。双轨密码同样使用波利比乌斯方阵提取坐标,但在将坐标对还原为字母之前,会对行和列数字进行混排(置换)。这一额外步骤产生了扩散效果,使双轨密码的破解难度显著更高。

波利比乌斯密码可以用于数字吗?

可以。使用 6x6 扩展方阵,可容纳全部 26 个字母加上 0-9 共 10 个数字(共 36 个字符)。我们的在线波利比乌斯工具同时支持 5x5 和 6x6 方阵配置。

波利比乌斯密码在 CTF 竞赛中如何使用?

在 CTF 挑战中,你可能会遇到需要使用波利比乌斯方阵解码的数字对字符串(如"23 15 31 31 34")或字母对字符串(如"BC AE CA CA CD")。有时方阵以密钥词设置密钥,需要先重构方阵才能解码。我们的高级解码器支持所有常见格式。

什么是虚无主义密码?

虚无主义密码是一种源自波利比乌斯的系统,其中明文和密钥词都被转换为波利比乌斯坐标,再将对应坐标相加。它由俄国革命者在 19 世纪 80 年代发明,比原始波利比乌斯密码更强,但仍易受统计分析攻击。

谁破解了 ADFGVX 密码?

法国密码分析师乔治·潘万于 1918 年 6 月第一次世界大战期间破解了 ADFGVX 密码。他的突破揭示了一次德军重大攻势的目标,可能影响了战争的走向。

关于本文

本文是我们综合 波利比乌斯方阵 教程系列的一部分。继续了解古典密码学,并探索我们的交互式密码工具。

试用 波利比乌斯方阵 工具

通过我们的交互式波利比乌斯方阵工具,将所学知识付诸实践。

试用 波利比乌斯方阵 工具