指定规则的简单代换密码

CRYPTO · 知识域。映射表由固定规则生成的单表替换。标签:埃特巴什码、其他。

触发特征

  • 频率分布像英文,但映射有明显"对称/倒序/旋转"痕迹。
  • 提示给出某种规则("逆序""棋盘""关键字")。

埃特巴什码(Atbash)

  • 明文表 ↔ 倒序表:A↔Z, B↔Y, ...;自逆变换。
  • 识别线索:题面出现 "Abashed/Atbash" 类暗示(国际赛惯用梗)。
  • 变体:对自定义字母表的 Atbash(希腊/西里尔)。

其他固定规则代换

  • 关键字密码(Keyword):关键字去重后作为表头,余字母顺填——映射规则"半已知的单表",先按关键字构造再词频修正。
  • 旋转代换:映射表整体旋转 n 位(Atbash 是旋转 13 的对偶)。
  • 棋盘变体:5x5 Polybius 换行列顺序(→ 多表替换 的棋盘密码)。
  • 非双射代换:多个明文字母映射到同一密文,逆向需枚举分支(注意熵:密文熵低于英文是识别特征)。
  • 规则代换 + 编码复合:代换后再 base64/栅栏,先剥编码层。

解法框架

  1. 判断是否自逆:密文加密自己看是否还原(Atbash 类)。
  2. 频率对齐给初始假设 → 用规则(倒序/旋转/关键字)约束搜索空间。
  3. hill-climbing 脚本兜底(n-gram 打分)。

工具速查

# Atbash
''.join(chr(219-ord(c)) if c.islower() else c for c in ct)
# quipqiup.com 自动求解替换密码

转向

  • 词频完全不像英文 → 可能是密文型(先 base64/XOR)→ 流密码

评论