敲击码¶
什么是敲击码?¶
敲击码(Tap Code)是一种用敲击次数表示字母的编码方式。它把字母放入一个 5 x 5 方阵中,每个字母由两个数字表示:第一个数字表示行,第二个数字表示列。
因为 26 个英文字母无法完全放入 25 个格子,通常把 C 和 K 放在同一个格子里。
标准方阵¶
| 行/列 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| 1 | A | B | C/K | D | E |
| 2 | F | G | H | I | J |
| 3 | L | M | N | O | P |
| 4 | Q | R | S | T | U |
| 5 | V | W | X | Y | Z |
例如 A 位于第 1 行第 1 列,所以编码为 11;T 位于第 4 行第 4 列,所以编码为 44。
编码规则¶
每个字母写成两个数字:
例如:
| 字母 | 行 | 列 | 编码 |
|---|---|---|---|
| C | 1 | 3 | 13 |
| T | 4 | 4 | 44 |
| F | 2 | 1 | 21 |
所以:
敲击表示法¶
真实敲击时,通常先敲行数,再停顿,再敲列数。例如 T = 44 可以表示为:
其中第一组 4 下表示第 4 行,第二组 4 下表示第 4 列。
解码示例¶
密文:
查表:
| 编码 | 行 | 列 | 字母 |
|---|---|---|---|
| 21 | 2 | 1 | F |
| 31 | 3 | 1 | L |
| 11 | 1 | 1 | A |
| 22 | 2 | 2 | G |
得到:
常见变形¶
- 数字之间没有空格,需要每两个数字切一组。
- 用点、短横、敲击音数量表示行列。
- 可能使用 Polybius 方阵变体,字母表顺序或合并字母不一定相同。
- 有时会把行列顺序反过来,写成“列号行号”。
CTF 识别要点¶
- 密文只包含
1-5。 - 数字通常成对出现,如
13 44 21。 - 出现敲击、监狱、墙壁、tap 等提示词。
- 解码出现
C/K混淆时,需要结合语义判断。