普莱费尔方阵
发布 2026 年 9 月 14 日 · · 8 分钟阅读
普莱费尔是第一个实用的“按对加密”而非“按字母加密”的密码,正是这一个设计决定为它换来了八十年有用的服役期。它由查尔斯·惠斯通于 1854 年发明,经普莱费尔勋爵力荐,被英国陆军部采用,用于布尔战争和第一次世界大战。它可以被破,但需要训练有素的分析者花上数小时,而不是让一个无聊的文书花上几分钟。
- 时代
- 近现代
- 类型
- 替换
- 密钥空间
- 25! squares / digraph alphabet
- 难度
- 野战
I现象
用关键词构建 5 × 5 方阵,去掉重复字母,并把 I 与 J 合并。以关键词 CIPHER 为例:
| C | I | P | H | E |
| R | A | B | D | F |
| G | K | L | M | N |
| O | Q | S | T | U |
| V | W | X | Y | Z |
把明文切成双字母组:LO OM NE VE RS TO PS。同行的两个字母各自换成它右边的字母(到行尾则回卷)。同列的两个字母各自换成它下方的字母。既不同行也不同列的两个字母,各自换成它们所构成矩形的另一个对角上的字母。
第三条规则才是精妙之处。它意味着同一个明文字母会因搭档不同而以八种不同密文字母之一离开,而每个输出字母同时取决于两个输入字母。单字母频率分析因此失效——因为任何字母都不再拥有稳定的符号。
像 LL 这样的重复对要插入填充字母 X 隔开(LX LX),末尾落单的字母同样补齐。
II密钥空间
一个普莱费尔方阵是 25 个符号的排列,表面上意味着 25! = 15511210043330985984000000 个密钥。这个数字有两重误导。
第一,关键词构造法意味着真实密钥来自一个小得多的池子:真正由好记的关键词导出的方阵只有数千个。
第二,密码分析并不需要找出方阵,它只需要找出映射,而普莱费尔的双字母规则意味着映射可以从相对很少的文本中恢复。当代公开发表的分析表明,大约 70 到 120 个密文字母即可恢复方阵。也就是一段话。
实用教训:密钥的数量,不等于在你所能观察到的明文条件下可区分的密钥数量。
III加密步骤
- 选定关键词,去重后填入 5 × 5 方阵;I 与 J 共用一个格子。
- 把明文切成双字母组。
- 绝不允许出现两个相同字母构成的组:在中间插入 X。
BALLOON变成BA LX LO ON。 - 若消息在奇数位结束,补一个 X。
- 在方阵中定位每个双字母组的两个字母。
- 同行:各自换成右边的字母,行尾回卷到行首。
- 同列:各自换成下方的字母,列底回卷到列顶。
- 矩形:各自换成对角上的另一个字母,行号取对方字母所在的行。
IV解密步骤
- 重建方阵——接收方知道关键词。
- 把密文切成双字母组,逐条反向套用规则:同行则左移,同列则上移,矩形则取对角。
- 去掉填充的 X。这一步需要判断力:夹在两个相同字母之间的 X、或出现在消息最末端的 X,属于填充;出现在其他任何地方的 X 都是数据。
- 靠上下文重新分词。普莱费尔本身不保留词边界。
- 若读不通,找发报错误:抄错一个字母会污染两个明文字母,而污染通常表现为一个不成词的词。
V弱点
双字母统计。 字母对并非均匀分布。TH、HE、IN、ER、AN、RE 在英文双字母统计中占主导,语料足够大时这些频率依然会泄露。
矩形规则可从结构反推。 拿到若干共享一行或一列的密文对,分析者无需猜测关键词就能重建方阵的行列归属。
填充约定泄露。 明文里每出现一个 X,都是作者自己插进去的——这恰恰告诉分析者哪些位置有叠字母、哪些位置是词尾。许多野战规程还按词边界断句,把词长信息完整保留下来。
它一直是次优选项。 英国自己的分析人员 1915 年就告知陆军部:普莱费尔适合短消息,不适合长消息。这个评价是对的。
VI实战挑战
密文
JSVSGTIYCFTNQIXH
提示: 关键词 CIPHER。先建方阵,再对每个双字母组反向套用规则。
展开答案
明文
LOOM NEVER STOPS
·史料
惠斯通 1854 年把该密码呈交英国政府;陆军部次官普莱费尔勋爵在推广过程中把自己的名字附了上去。外交部以“太复杂、没法教给文书”为由拒绝,但陆军部将其采纳为野战密码。它被用于第二次布尔战争和第一次世界大战,尤其是英军在美索不达米亚的行动,以及澳军在加里波利的使用。德军在早期部分海军通信中也用过它,直到他们自己的分析人员破解为止——而英方在明知其可解之后仍长期用于战术通信,理由是破解所需时间超过消息本身的作战有效期。
·继续读
普莱费尔真正的贡献是扩散这个概念:让每个输出符号依赖多于一个输入符号,从而明文改一个字母就会改变密文的多个字母。这一概念是克劳德·香农 1949 年设计准则的直接先祖,也是 AES 处理 128 比特块而不是单字节的原因。
普莱费尔扩散两个字母。AES 通过接连的替换与置换轮扩散整个块。同一个思路,计算量多了百分之四百。
下一台织机:enigma-rotor——多表、机械,而且直到不再自信之前一直以自信著称。