培根密码 — 实验台工具
发布 2026 年 10 月 17 日 ·
弗朗西斯·培根 1605 年提出的双字母密码,是有记载以来第一次用二进制编码字母表——比任何人真正需要二进制早了三个世纪。它也是隐写术最早、最清晰的表述:秘密不在编码上(编码是公开出版的),而在于承载它的字体选择。
- 时代
- 文艺复兴
- 类型
- 替换
- 密钥空间
- fixed code, cover free
- 难度
- 野战
I这把工具做什么
给每个字母分配一个由两种符号组成的五位图案。培根用的是 A 与 B;现代实验台为清晰起见用 0 与 1。以下是经典的 24 字母版本——I 与 J 共用一个图案,U 与 V 共用一个图案,因为五个二元位给出 32 个位置,而伊丽莎白时代的字母表只需要 24 个:
| 字母 | 图案 | 字母 | 图案 |
|---|---|---|---|
| A | AAAAA | N | ABBAA |
| B | AAAAB | O | ABBAB |
| C | AAABA | P | ABBBA |
| D | AAABB | Q | ABBBB |
| E | AABAA | R | BAAAA |
| F | AABAB | S | BAAAB |
| G | AABBA | T | BAABA |
| H | AABBB | U/V | BAABB |
接下来是妙处。这五个记号根本不必是字母本身。它们可以是印刷书里的两种字体:正体与斜体、大号与小号、这一款字与那一款字。培根自己举的例子,就是一段印刷文字里那个区分承载着隐藏消息,而读者永远不会注意到,因为可见的句子完全是普通散文。
本实验台把图案直接写成字面的 A 与 B,便于研读,却也毁掉了全部要点。在真实使用中,记号是看不见的那部分,散文才是看得见的那部分。
II密钥
映射是固定、公开的;培根本人就把它发表了。密码学意义上根本不存在密钥。
密钥是掩护文本:你选择用来藏记号的那段散文。这使空间以与本织机前面空密码相同的方式变得无界——而那种无界并无用处。
培根真正的贡献是发现了编码容量。五个二元位承载 32 个值,恰好够放下一个字母表并略有富余,而这份富余正是 I/J、U/V 合并的来源。此后每一种数字字符编码——五位博多码、七位 ASCII、八位字节、十六位 Unicode——都在容量与冗余之间做着同样的交易。
培根密码是本合集中第一个弱点不在算法、而在载体上的密码。
III弱点提示
历史密码用于教学与娱乐,不适合保护真实信息。完整分析见对应条目。