书本密码 — 实验台工具
发布 2026 年 10 月 2 日 ·
书本密码用一本书取代字母表。每个字母写成一个位置——页、行、词、字——由接收方去查。这套方法不需要数学、不需要背方阵、不需要器械,因此每当人们只能依靠手边现成的东西来秘密通信时,它就会重新出现。
- 时代
- 中世纪
- 类型
- 替换
- 密钥空间
- the shared volume
- 难度
- 野战
I这把工具做什么
两个人约定同一个版本。数字 14.2 表示第 14 个词的第二个字母——在更完整的约定 页.行.词 中,每个字母要用三个数字。
双方必须持有同一版本,而不仅仅是同名书。不同印次的页码不同;袖珍本与对开本对不上。这是该方法在实践中的决定性约束。
| 约定 | 写法 | 每字母位数 |
|---|---|---|
| 页.行.词.字母 | 214.07.11.3 | 8-12 |
| 行.词.字母 | 214.3 | 4-6 |
| 词.字母(固定单页) | 14.2 | 2-4 |
| 单页连续索引 | 61 | 2 |
最后一行正是本条目实验台采用的做法:用一段固定的字母串代替那一页,每个字母写成目标字符在该串中的序号。这不是真实书本密码的写法,但它暴露了这门技术所依赖的东西——双方持有一件完全相同、且带索引的实物。
II密钥
密钥空间是“两个人可能都拥有的书”的集合,在任何有用的意义上都不可搜索。但这不等于强。
想一想攻击者需要什么。他们需要那本书。若缴获了书,根本不需要破译——密文直接变成一张查表。若没有缴获书,他们依然可以利用一个事实:这些数字是有结构的,每组中的第一个数字在整页上变化很慢,最后一个变化很快。这种结构就是指纹。
一个以两人共有的公开物为密钥的密码,其安全等级等于通信本身的保密程度,而不是算法的保密程度。
相关的历史困难:约定的那一版用完了。军队在移动,图书馆在燃烧,而一个用不了的密码比一个能被破的密码更糟。
III弱点提示
历史密码用于教学与娱乐,不适合保护真实信息。完整分析见对应条目。