跳到主要内容

波利比奥斯方阵密码:5x5 网格坐标怎么读

从古希腊的波利比奥斯方阵讲起,说清 5x5 字母网格如何把每个字母换成行列两个数字,I 和 J 为何合一格,和敲击码的关系,以及 CTF 解谜里怎么上手。

发布于 作者 李雷
#密码学 #CTF #古典密码 #解谜

波利比奥斯方阵密码:5x5 网格坐标怎么读

第一次在一道 CTF 题里见到「33 15 31 51 11 24 31 34」这种成串的两位数,提示只写了「5x5」,我盯了半天才反应过来:这不是乱码,是坐标。每两个数字指向一张 5x5 网格里的一个格子,格子里坐着一个字母。这就是波利比奥斯方阵密码,一套两千多年前就有的把字母变成数字的办法。

波利比奥斯是谁,这套方阵从哪来

波利比奥斯(Polybius)是公元前二世纪的古希腊历史学家。他在《历史》里记下一个用火把传信的点子:把字母排进一张网格,每个字母用所在的行和列两个数字表示,夜里左手举几把火把代表行号,右手举几把代表列号,远处的人按数字查表就能拼出整句话。这是有记载的把文字拆成坐标的早期做法,后来就以他的名字命名。

它本身不是为了保密设计的,而是为了让消息能用最简单的信号(火把、敲击、数字)传出去。这一点决定了它今天的用途:谜题和教学,不是真正的加密。

每个字母怎么变成两个数字

核心规则只有一句:把 26 个字母排进一张 5 行 5 列的网格,每个字母换成「先行后列」两个数字。

标准排布是这样,各行依次为:

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

读法严格是行在前、列在后。A 在第 1 行第 1 列,所以是 11;H 在第 2 行第 3 列,是 23;O 在第 3 行第 4 列,是 34;Z 落在右下角,是 55。

你会注意到 I 和 J 挤在同一格。原因很直白:5x5 只有 25 格,英文却有 26 个字母,总得有一对合并。约定俗成挑了 I 和 J,因为在英文里把它们并起来最不影响读。代价是解码 24 永远得到 I,J 要靠读懂意思补回去,INJURE 解出来是 INIURE,但一眼还是认得。

一个真实例子:把 HELLO 编出来

拿 HELLO 走一遍。H 是 23,E 是 15,L 是 31,第二个 L 还是 31,O 是 34。连起来就是:

HELLO  →  23 15 31 31 34

解码就反过来。把数字两两切开,第一个当行、第二个当列,回那张网格里查格子。23 查到 H,15 查到 E,以此类推,又拼回 HELLO。值得一提的是分隔符无所谓,23 15 31 31 34、2315313134、23-15-31-31-34 解出来是同一个词,因为解码时非数字字符会被先剔掉。我自己调试一串别人发来的坐标时,最常踩的坑是起点对不上:经典方阵从 11 走到 55,有的资料从 0 起,同一个字母在前者是 11、在后者是 00,搞混了整段就错一位变乱码。先确认起点,比逐个字母猜要快得多。

想感受可以直接打开 波利比奥斯方阵密码工具,它有一张实时网格,你敲一个字母就标出它指向哪一格,单独核对一对坐标不用把整串解完。

和敲击码是同一套底子

二战和越战的战俘之间流传过一种敲墙传信的「敲击码」(tap code),它的骨架就是波利比奥斯方阵。把字母编成坐标后,每个数字翻成那么多下敲击:先敲行数,停顿,再敲列数。WATER 编成 52 11 44 15 43,敲出来就是先五再二、先一再一、先四再四,如此类推。一张 5x5 网格,只靠「敲几下、停、再敲几下」就能把整句话穿过一堵墙传出去,这是它流传下来的最有名的用法。

CTF 与解谜里怎么上手

在 CTF 的 crypto 分类里,看到一串规整的两位数、范围都在 1 到 5 之间、提示带「5x5」或「grid」「square」,基本可以先按波利比奥斯试。解不成词就动两个旋钮:一是起点(11-55 还是 00-44),二是关键词。关键词会把它的不重复字母排到网格前面再接上其余字母,于是每个坐标全变,A 不再是 11,两端必须用同一个关键词才对得上。

它也是密室和谜题的好素材:坐标对看着像锁的组合,旁边画一张 5x5 网格当解谜钥匙,设个关键词重排字母,知道标准排布的人也抄不了近路。

想顺着古典密码往下学,可以接着看 凯撒密码加解密,它换的是「移位」而不是「坐标」,两条思路凑齐了入门古典密码最常见的两类。

一句话总结

波利比奥斯方阵把「字母」翻译成「行列坐标」,古希腊用火把传它,战俘用敲击传它,今天我们在 CTF 和谜题里解它。它简单、可逆、公开,所以好玩也好教,但正因为公开,千万别拿它保护任何真要保密的东西。


Made by Toolora · Updated 2026-06-13