书本密码
粘贴一段您和收信人都持有的文本,然后把信息写成它的位置:连续的词序号、行与词,或页、行与词。解码时同样处理一串数字,并可看到每个数字具体指向哪个词。
双方都必须使用完全相同的文本。只含 --- 的一行用于分隔页面。不含词语的行不计数。
轮流使用可使重复的字母对应不同的数字,从而掩盖破译者寻找的重复规律。无论采用哪种方式,解码结果都相同。
若没有斜杠,解码者无法分辨词在何处结束。
计算过程
信息中的每个词或字母都会在关键文本中查找。写下的是它的位置。
| 信息 | 写作 | 书中的位置 |
|---|---|---|
| M | 58 | 第 1 页,第 5 行,词 8:“mankind” |
| e | 7 | 第 1 页,第 1 行,词 7:“events” |
| e | 7 | 第 1 页,第 1 行,词 7:“events” |
| t | 3 | 第 1 页,第 1 行,词 3:“the” |
| 词间分隔 | / | |
| a | 24 | 第 1 页,第 2 行,词 11:“another” |
| t | 3 | 第 1 页,第 1 行,词 3:“the” |
| 词间分隔 | / | |
| d | 15 | 第 1 页,第 2 行,词 2:“dissolve” |
| a | 24 | 第 1 页,第 2 行,词 11:“another” |
| w | 1 | 第 1 页,第 1 行,词 1:“When” |
| n | 10 | 第 1 页,第 1 行,词 10:“necessary” |
如何使用书本密码
- 1. 粘贴关键文本。 这就是您们的“书”。示例为《独立宣言》的开头一句,属于公有领域。解码者需要完全相同的文本,包括换行。只含
---的一行表示新的一页开始。 - 2. 选择位置指向的单位。 整个单词、单词的首字母,或单个字母。首字母最灵活,因为几乎每个字母都能作为某个单词的开头。
- 3. 选择位置的写法。 连续数字、
行:位置,或页:行:位置。输入信息进行编码,或切换到解码模式并粘贴数字。 - 4. 检查计算过程。 表格列出每个词或字母、为其写下的位置,以及它在书中的位置。
?表示书中找不到对应内容。
书本密码如何运作
书本密码以双方约定的文本中的位置,代替每个单词或字母。它没有算法,也没有密钥表:书本本身就是密钥。没有这本书的人只能看到一串数字;持有这本书的人则通过逐一查找读出信息。按页、行与词计数的变体有时被称为 Ottendorf 密码。
以示例文本与信息 Meet at dawn 为例,用首字母与连续数字书写。从头计词,mankind 是第 58 个词,events 是第 7 个,the 是第 3 个,another 是第 24 个,依此类推:
首字母,连续数字
M E E T / A T / D A W N 58 7 7 3 / 24 3 / 15 24 1 10
把地址改为 行:位置 后,同一信息变为 5:8 1:7 1:7 1:3 / 2:11 1:3 / 2:2 2:11 1:1 1:10:mankind 是第 5 行的第 8 个词。较长的位置更便于肉眼核对;对于印刷书籍,人们实际上正是这样查找词语的。
整词、首字母或字母
- 整词最紧凑,却最难提供:信息中的每个词都必须出现在书中。
The people dissolve在此处为3 13 15,但书中没有的词会变成?。 - 首字母只需要一个以该字母开头的词,因此几百个普通词语的文字即可覆盖大部分字母。Q、X 与 Z 通常是缺口。
- 单个字母可以指向文本中的任意字母,因此几乎能完全覆盖,代价是信息更长、数字更大。
重复会暴露信息
如果 E 总是写作 7,那么数字 7 出现的频率就与英文中 E 相同,破译者可从这里入手。“轮流”选项会把字母的每次重复送到不同的出现位置——E 先变成 7,再变成 33——因此同一信息写作 58 7 33 3 / 24 14 / 15 25 1 10。解码器读取这两种写法的结果完全相同。
书本密码的使用历史
最著名的例子是 Beale 文件,这是 1885 年在弗吉尼亚印刷的一本小册子,给出三组数字密码,据称指明了一批埋藏宝藏的位置。第二组已被破解:取《独立宣言》中各数字所对应词的首字母,正是本工具采用的方法。另外两组尚未公开破解,许多历史学者也怀疑其背后的故事是否属实。据报道,本尼迪克特·阿诺德在 1780 年与英国军官约翰·安德烈的通信使用了以印刷书籍中的页、行与词为密钥的密码,所用的书包括 Blackstone 的 Commentaries 与一本词典。1942 年,两名驻开罗的德国特工在无线电通信中以达芙妮·杜穆里埃的小说 Rebecca 作为密钥。
这些方法共有的弱点是:密钥是一件实体物品。版本、印刷乃至换行都会改变位置,这正是本工具基于粘贴文本运行的原因。而且这本书是可以被找到的:疑似间谍的书架只是一份简短的候选名单,每本候选书只需几秒即可试过。请将它视为谜题与教学工具,而非安全手段。
常见问题
- 什么是书本密码?
- 一种以双方都持有的文本中的位置代替单词或字母的密码。文本就是密钥。位置可以是连续的词序号,也可以是行与词,或页、行与词。
- 没有书时如何解码书本密码?
- 必须找到这本书。先看最大的数字:它是文本长度的下限,可以缩小范围。然后尝试合理的候选文本——《圣经》、著名演讲、发信人拥有的小说——在解码模式下把每一个候选粘贴到关键文本框中。能得出可读文字的候选即为密钥;得出乱码的则不是。
- 页、行与词的数字是什么意思?
- 形如 2:14:5 的三个数字表示第 2 页、第 14 行、第 5 个词。由于它们指向某一特定版本,发信人与收信人必须持有相同的印本。本工具在每页内逐行计数,并在只含三个连字符的一行之后重新开始行计数。
- 哪种文本适合作为密钥?
- 选择一段您和收信人都能获得且内容相同的长文本,并且包含丰富多样的词汇。若使用首字母方案,请确认所需的每个字母都能作为某个词的开头。几百个词可以用于简单的试验;整本书更好,因为每个字母都有更多可选的位置。
- 为什么工具输出问号?
- 关键文本中没有与之匹配的词或字母。请选择不同的单位,例如首字母或单个字母,或使用更长的文本。在解码模式下,问号表示数字超出了书的末尾,或与所选地址格式的形式不符。
- Beale 密码是如何工作的?
- 在已破解的第二组密码中,每个数字是《独立宣言》中某个词的位置,而明文字母就是该词的首字母。小册子中的数字包含一些错误,其背后的故事也被广泛怀疑。
- 书本密码安全吗?
- 按今天的标准,并不安全。如果攻击者确定了这本书,就能读出一切。重复的数字会暴露字母频率,而最大的数字会泄露书的大小。任何私密的内容都应使用真正的加密方式。