跳转到正文

Bifid 密码

输入关键词、周期和消息,即可使用 Delastelle 的 Bifid 密码进行加密或解密。工具会构建 Polybius 方阵,显示每个分组的行列数字、用于读取的数字串,以及由此得出的密文字母。免费,无需注册,所有内容都留在您的浏览器中。

模式

其字母(在 6 × 6 方阵中还包括数字)依次填入方阵的前部,每个只用一次;其余字母表按顺序接续。将全部 25 或 36 个字符粘贴进来,即可自行写出方阵。

每个分组中的字母数,各自单独加密。留空或填 0 时,整段消息被视为一个分组,正如 Delastelle 所做的那样。

方阵

按行写入是最常见的做法。美国密码学协会的示例则从左上角开始,按顺时针螺旋写入。

只有字母(在 6 × 6 方阵中还包括数字)会被加密。空格和标点会被省略,结果为大写。

I 与 J 共用一格,因此每个 J 都会还原为 I。

方阵与分组

加密:把每个明文字母的行号写在一行,列号写在其下方。横向读取这些数字——先是所有行号,然后是所有列号——并切分为数字对。每一对数字即为一个密文字母的行与列。

12345
1EXTRA
2KLMPO
3HWZQD
4GVUSI
5FCBYN

行与列从 1 开始编号。

分组 1

明文

明文ODDPERI
行2332114
列5554145

密文

数字对23321145554145
密文MWEINGI

横向读取的数字: 2332114 5554145

分组 2

明文

明文ODSAREP
行2341112
列5545414

密文

数字对23411125545414
密文MGEOYYR

横向读取的数字: 2341112 5545414

分组 3

明文

明文OPULAR
行224211
列543254

密文

数字对224211543254
密文LVEYWY

横向读取的数字: 224211 543254

如何使用 Bifid 密码工具

  1. 1. 设置方阵。 输入关键词,然后选择 5 × 5 方阵(I 与 J 共用一格,或省去 Q),或选择可容纳字母与数字 0–9 的 6 × 6 方阵。再选择关键词的写入方式。
  2. 2. 选择周期。 周期是一起加密的字母数。留空或填 0 表示将整段消息视为一个分组。
  3. 3. 输入消息,然后选择“编码”或“解码”。 只有字母(在 6 × 6 方阵中还包括数字)会被加密;空格和标点会被省略。
  4. 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。

分组行数字列数字按对横向读取密文
ATTAC144125445114 41 25 44 51DQKTV
KATDA214115544521 41 15 54 45CQAYU
WN532353 23XG

结果为 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 密码安全吗?
不安全。它隐藏了单个字母的频率,但周期会在双字母统计中显现,软件便能从几百个字母的密文中恢复出密钥方阵。它是用于学习和解谜的历史密码。

相关工具

编码与密码中的更多工具