跳到主要内容

普莱费尔密码(Playfair)入门:5x5 方阵与字母对加密怎么玩

普莱费尔密码用一个 5x5 关键词方阵,I 和 J 合一格,把明文按字母对加密,同行同列矩形三条规则各管一种情况,比单表替换难破。

发布于 作者 李雷
#密码学 #Playfair #加密 #CTF #历史密码

普莱费尔密码:把字母两两成对加密的老把戏

第一次见普莱费尔密码,是在一道 CTF 题里。屏幕上甩来一段长得没有空格的大写字母,提示只写着「5x5,关键词 EXAMPLE」。我盯了半天才反应过来:这玩意儿不是一个字母换一个字母,而是两个一组地换。理解了这一点,后面就顺了。这篇文章把它讲清楚,顺便带你跑一遍我用的工具。

它和凯撒密码差在哪

凯撒密码和单表替换都是一对一:A 永远换成同一个字母。这种密码的死穴是频率分析,英文里 E 最常见,密文里出现最多的那个字母大概率就是 E,顺着数就能拆。

普莱费尔不一样。它由查尔斯·惠斯通在 1854 年发明,核心是按字母对(digraph)加密,也就是一次处理两个字母。英文里有 26 个字母,字母对就有几百种组合,密文里某个字母的出现频率不再直接对应某个明文字母。频率分析一眼破不了,这就是它当年比单表替换难破的原因。一战的战壕、布尔战争的战报,还有二战的部分战地通信都用过它,因为纸笔就能算,军官记住一个关键词就行。

5x5 关键词方阵:I 和 J 挤一格

加密的第一步是搭方阵。拿一个关键词,比如 PLAYFAIR,把里面不重复的字母按顺序填进 5 行 5 列的格子,再用剩下没出现过的字母补满。

这里有个关键细节:5x5 只有 25 格,字母表却有 26 个,所以总得有一对合并。按惯例是 I 和 J 共用一格。结果就是 JAM 和 IAM 加密方式完全一样,解出来永远是 I 不会是 J,你得靠语义把 J 补回去。看到 IUMP,心里清楚那是 JUMP。

用关键词 PLAYFAIR EXAMPLE 搭出来的方阵大致是这样:

P L A Y F
I R E X M
B C D G H
K N O Q S
T U V W Z

同行、同列、矩形:三条规则各管一种情况

明文先拆成字母对。遇到一对是两个相同字母(比如 BALLOON 里的 LL),编码会塞一个 X 把它拆开,变成 BA LX LO ON;末尾落单的字母也用 X 补齐。处理好之后,每一对字母按这三条规则之一加密:

  • 同一行:每个字母换成它右边那个(到行尾就绕回行首)。
  • 同一列:每个字母换成它下面那个(到列底就绕回列顶)。
  • 既不同行也不同列:这两个字母构成一个矩形的对角,各自换成自己那一行里、对方所在列的那个字母。

矩形规则是最容易绕晕的一条,但记住一句话就行:横着换列,行不动。

跑一个真实例子

拿上面那张 PLAYFAIR EXAMPLE 方阵,加密一对字母 HI。H 在第 3 行第 5 列,I 在第 2 行第 1 列,两个不同行不同列,走矩形规则。H 换成自己那行(第 3 行)里 I 所在列(第 1 列)的字母,也就是 B;I 换成自己那行(第 2 行)里 H 所在列(第 5 列)的字母,也就是 M。所以 HI 加密成 BM。

把整段 HIDETHEGOLDINTHETREESTUMP 用同一张方阵跑下来,结果是 BMODZBXDNABEKUDMUIXMMOUVIF。注意密文里那个多出来的 X,是编码时为了拆开重复字母塞进去的填充,解密读回来时跳过它就行。

自己动手试

理论看懂了,不如真敲一遍。打开普莱费尔密码加解密器,把文字粘进去,敲上关键词,工具会实时画出那张 5x5 方阵,还会把你的正文拆成的字母对一对对列出来,每条规则怎么起作用看得清清楚楚。关键词猜得接近时,你能从半对的明文里看出方向,据此微调,不用蒙着解。

想对比着学,可以再看看维吉尼亚密码,它是另一条思路:用关键词控制每个字母的位移量。两个工具搭着玩,字母对替换和多表位移的区别就很直观了。

一句话提醒

普莱费尔好玩,但它不是真正的加密。短关键词只是把 25 个字母重排一遍,密文够多时,有心人用手就能破。拿它做谜题、CTF 练习、历史复原和教学都合适,千万别拿去保护密码或私人信息。


Made by Toolora · Updated 2026-06-13