Polybius 棋盘
别称: Polybius Square
转换方式¶
棋盘密码的加密需要用到一个 5×5 的字符方阵。如果没有特别提供这个加密方阵,默认按照下面的方阵作为加密或解密密钥。
这里默认 I 与 J 共用一个格子。
棋盘密码的目的是将每一个字母替换成两个数字,如 P 替换为 35, I 替换为 24。棋盘密码通常默认表示行的数字在列的数字前面。
加密举例¶
明文: PUZZLEHUNT
密文: 35 45 55 55 31 15 23 45 33 44
解码工具¶
变种¶
通过密钥生成加密方阵¶
若提供了一份密钥(一个字符串),可以由密钥生成加密方阵。 具体做法为先移去密钥里重复的字符(总是保留第一次出现的字符), 然后将这些字符填入 5×5 的方阵,再将字母表中没有用到的其他字符按顺序填入。
TapCode¶
TapCode 在棋盘密码的基础上,使用 .
的数量来代替数字。比如 ... ...
就是棋盘 (3,3) 的 N。
以下是 PUZZLEHUNT
的 TapCode 密文:
... ..... .... ..... ..... ..... ..... ..... ... . . .....
.. ... .... ..... ... ... .... ....
解码工具: dCode
Nihilist¶
Nihilist 加密在棋盘密码的基础上又加了一层密钥,即 Nihilist 包括一个加密方阵和一个密钥。
Nihilist 将每个明文字母和密钥的字母都转化成一个两位数。然后将明文和密钥进行循环匹配, 即明文第一位匹配密钥第一位,明文第二位匹配密钥第二位,以此类推。如果密钥用完了就从第一位重新用。
之后将每一位明文转换的数字与密钥转换的数字相加,这个取值范围在 22 到 110 之间,取末两位作为结果。
我们用以下方阵作为加密方阵:
并选取 POLYBIUS
为密钥。
则明文 CIPHER CODE BREAKING
可以加密为
427825764080439443583900405953863377
加密过程:
明文 | C | I | P | H | E | R | C | O | D | E | B | R | E | A | K | I | N | G |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
数字 | 31 | 35 | 11 | 21 | 15 | 45 | 31 | 43 | 32 | 15 | 25 | 45 | 15 | 24 | 41 | 35 | 22 | 34 |
密钥 | P | O | L | Y | B | I | U | S | P | O | L | Y | B | I | U | S | P | O |
数字 | 11 | 43 | 14 | 55 | 25 | 35 | 12 | 51 | 11 | 43 | 14 | 55 | 25 | 35 | 12 | 51 | 11 | 43 |
求和 | 42 | 78 | 25 | 76 | 40 | 80 | 43 | 94 | 43 | 58 | 39 | 100 | 40 | 59 | 53 | 86 | 33 | 77 |
解码工具: dCode
ADFGVX¶
ADFGVX 是一战时期德军使用的加密系统。他将 A-Z 的 26 个字母和 0-9 的 10 个数字组合成 36 个字符, 并排列成 6×6 的方阵。与棋盘密码的不同之处首先在行和列的标志,他们使用的不是 1-6 的数字,而是 ADFGVX 这六个字母。
\ A D F G V X
A A B C D E F
D G H I J K L
F M N O P Q R
G S T U V W X
V Y Z 0 1 2 3
X 4 5 6 7 8 9
先按照常规的棋盘密码方式将密码翻译成若干对 A, D, F, G, V, X 字母组成的字符串后,选取一个密钥, 使用列移位密码的方式将其进行置换。列移位不足的字母由 X 补上。
比如我们加密 PUZZLEHUNT
时,得到的第一层密文为 FG GF VD VD DX AV DD GF FD GD
。
我们选取的列移位密码的密钥为 CIPHERS
,其顺序为 1453267
。
将得到的密文按密钥长度 7 排好:
密钥 | C | I | P | H | E | R | S |
---|---|---|---|---|---|---|---|
F | G | G | F | V | D | V | |
D | D | X | A | V | D | D | |
G | F | F | D | G | D | [X] |
这里的最后一个 [X]
是因为空位补上去的。
然后将七列 CIPHERS 按照字典序排列:
密钥 | C | E | H | I | P | R | S |
---|---|---|---|---|---|---|---|
F | V | F | G | G | D | V | |
D | V | A | D | X | D | D | |
G | G | D | F | F | D | [X] |
最后的密文将从第一列开始,按照列优先方式,从上到下,从左到右写出。 即,先从上到下写第一列的字符,然后第二列,以此类推。
这里我们的密文最终结果为 FDG VVG FAD GDF GXF DDD VDX
。
解码工具: dCode
ADFGX¶
该密码另有一套 ADFGX 密码,即去掉了 V 列,也拿掉了 0-9 的数字,变回经典的 5×5 的方阵。
ADFGX 密码的加密方式与 ADFGVX 一致。
解码工具: dCode