Bifid 密码
输入关键词、周期和消息,即可使用 Delastelle 的 Bifid 密码进行加密或解密。工具会构建 Polybius 方阵,显示每个分组的行列数字、用于读取的数字串,以及由此得出的密文字母。免费,无需注册,所有内容都留在您的浏览器中。
其字母(在 6 × 6 方阵中还包括数字)依次填入方阵的前部,每个只用一次;其余字母表按顺序接续。将全部 25 或 36 个字符粘贴进来,即可自行写出方阵。
每个分组中的字母数,各自单独加密。留空或填 0 时,整段消息被视为一个分组,正如 Delastelle 所做的那样。
按行写入是最常见的做法。美国密码学协会的示例则从左上角开始,按顺时针螺旋写入。
只有字母(在 6 × 6 方阵中还包括数字)会被加密。空格和标点会被省略,结果为大写。
I 与 J 共用一格,因此每个 J 都会还原为 I。
方阵与分组
加密:把每个明文字母的行号写在一行,列号写在其下方。横向读取这些数字——先是所有行号,然后是所有列号——并切分为数字对。每一对数字即为一个密文字母的行与列。
| 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|
| 1 | E | X | T | R | A |
| 2 | K | L | M | P | O |
| 3 | H | W | Z | Q | D |
| 4 | G | V | U | S | I |
| 5 | F | C | B | Y | N |
行与列从 1 开始编号。
分组 1
明文
| 明文 | O | D | D | P | E | R | I |
|---|---|---|---|---|---|---|---|
| 行 | 2 | 3 | 3 | 2 | 1 | 1 | 4 |
| 列 | 5 | 5 | 5 | 4 | 1 | 4 | 5 |
密文
| 数字对 | 23 | 32 | 11 | 45 | 55 | 41 | 45 |
|---|---|---|---|---|---|---|---|
| 密文 | M | W | E | I | N | G | I |
横向读取的数字: 2332114 5554145
分组 2
明文
| 明文 | O | D | S | A | R | E | P |
|---|---|---|---|---|---|---|---|
| 行 | 2 | 3 | 4 | 1 | 1 | 1 | 2 |
| 列 | 5 | 5 | 4 | 5 | 4 | 1 | 4 |
密文
| 数字对 | 23 | 41 | 11 | 25 | 54 | 54 | 14 |
|---|---|---|---|---|---|---|---|
| 密文 | M | G | E | O | Y | Y | R |
横向读取的数字: 2341112 5545414
分组 3
明文
| 明文 | O | P | U | L | A | R |
|---|---|---|---|---|---|---|
| 行 | 2 | 2 | 4 | 2 | 1 | 1 |
| 列 | 5 | 4 | 3 | 2 | 5 | 4 |
密文
| 数字对 | 22 | 42 | 11 | 54 | 32 | 54 |
|---|---|---|---|---|---|---|
| 密文 | L | V | E | Y | W | Y |
横向读取的数字: 224211 543254
如何使用 Bifid 密码工具
- 1. 设置方阵。 输入关键词,然后选择 5 × 5 方阵(I 与 J 共用一格,或省去 Q),或选择可容纳字母与数字 0–9 的 6 × 6 方阵。再选择关键词的写入方式。
- 2. 选择周期。 周期是一起加密的字母数。留空或填 0 表示将整段消息视为一个分组。
- 3. 输入消息,然后选择“编码”或“解码”。 只有字母(在 6 × 6 方阵中还包括数字)会被加密;空格和标点会被省略。
- 4. 阅读计算过程。 每个分组都会显示其字母、行与列的数字、按对读取的数字串,以及由此得出的密文字母。
Bifid 密码如何工作
Bifid 密码将 Polybius 方阵与坐标转置结合起来。每个明文字母在方阵中都有一个行号和一个列号。把消息的行号写成一行,列号写在其下方的一行。然后横向而非纵向读取这些数字:先是所有行号,接着是所有列号,连成一串。将这串数字每两位切分为一对,每一对都指明方阵中的一个密文字母。
这样,每个字母的两个坐标就被分拆到两个不同的密文字母之中,这也是其名称的由来(bifid 意为“一分为二”)。于是每个密文字母都依赖于两个不同的明文字母——一个的行与另一个的列。这称为分解 (fractionation),它隐藏了简单替换密码中会暴露字母频率的规律。解码时过程反过来:把密文字母转为数字对,将数字串从中间切开,前半部分读作行,后半部分读作列,沿两行对应读取即可得到明文字母。
示例
用关键词 BIFID 加密 ATTACK AT DAWN,关键词按行写入,I 与 J 共用一格,周期为 5。方阵起始为 B I F D A / C E G H K / L M N O P …,消息被切分为分组 ATTAC、KATDA 和 WN。
| 分组 | 行数字 | 列数字 | 按对横向读取 | 密文 |
|---|---|---|---|---|
| ATTAC | 14412 | 54451 | 14 41 25 44 51 | DQKTV |
| KATDA | 21411 | 55445 | 21 41 15 54 45 | CQAYU |
| WN | 53 | 23 | 53 23 | XG |
结果为 DQKTV CQAYU XG。在第一个分组中,明文 A(第 1 行、第 5 列)把它的行数字放入第一个密文字母 D,把列数字放入第三个字母 K——因此一个明文字母被分散到两个密文字母之中。用相同的关键词、方阵和周期解码该密文,即可还原出 ATTACKATDAWN。
会改变结果的约定
有三种选择会改变密文,因此请与您所依据的资料保持一致。方阵可以合并 I 与 J、省去 Q,或采用 6 × 6。关键词可以按行、按列向下或按螺旋方式写入;美国密码学协会(American Cryptogram Association)的 Bifid 示例将 EXTRAORDINARY 按顺时针螺旋写入,而用周期 7 加密 Odd periods are popular 得到 MWEINGIMGEOYYRLVEYWY。周期同样关键:周期为 1 时文本保持不变,而很短的周期提供的额外安全性十分有限。
Bifid 密码的来历
Bifid 密码出自 Félix Delastelle(1840–1902)之手,他是一位法国业余密码学家。他于 1895 年在 Revue du Génie civil 上以 cryptographie nouvelle 之名发表了该密码的一个版本,一些资料则把其发明时间定在 1901 年左右。他在 Traité élémentaire de cryptographie 中阐述了 Bifid、Trifid 和 Four-Square,该书于 1902 年由 Gauthier-Villars 在巴黎出版,距他去世仅数月。Bifid 是重要的一步,因为它是一种实用的手工密码,对字母进行了分解,这一思路后来被用于 ADFGVX 等密码之中。
Bifid 密码如何被破解
Bifid 是一种短分组密码,而分组长度会泄露出来。由于每个密文字母都依赖于两个相隔固定距离的明文字母,密文中字母对的统计以及双字母频率中的规律都能显示周期。一种已发表的方法考察相隔半个周期的字母:周期为偶数时,每个字母依赖两个明文字母;周期为奇数时则依赖三个,这也是人们认为奇数周期以这种方式更难攻击的原因。一旦周期已知,爬山算法软件就能搜索密钥方阵,并依据每个猜测解码出的文本有多像英语来打分。只需几百个字母即可完成。
用于解谜,而非保密
Bifid 是学习分解原理的好例子。计算机能很快破解它,因此切勿将其用于任何私密内容。
常见问题
- 什么是 Bifid 密码?
- Bifid 密码是一种使用 Polybius 方阵的分解密码。它把消息的行号与列号写在两行上,横向读取数字,再把每一新的数字对转换回字母。它由法国密码学家 Félix Delastelle 发明。
- 如何解码 Bifid 密码?
- 把每个密文字母转为其行与列,将数字写成一串,并为每个分组将其从中间切开。前半部分给出行,后半部分给出列,每一对行列数字即对应一个明文字母。您需要关键词、方阵约定和周期。
- Bifid 密码中的周期是什么?
- 周期是一起加密为一个分组的字母数。较长的消息会按该长度切成若干分组,每个分组单独分解。常见的周期约为 5 至 13,而此处周期为 0 表示整段消息是一个分组。
- Bifid 与 Polybius 方阵密码有何不同?
- 普通的 Polybius 密码把每个字母替换为其两个坐标,因此字母频率会暴露出来。Bifid 则把这些坐标在整个分组中打乱,再转回字母,使每个密文字母都依赖于两个明文字母。
- Bifid 密码能加密数字吗?
- 可以。6 × 6 方阵可容纳 26 个字母和数字 0–9,因此数字可以与字母一同加密。工具提供此选项;若使用 5 × 5 方阵,数字会被省略。
- Bifid 密码安全吗?
- 不安全。它隐藏了单个字母的频率,但周期会在双字母统计中显现,软件便能从几百个字母的密文中恢复出密钥方阵。它是用于学习和解谜的历史密码。