凯撒移位密码 — 实验台工具
发布 2026 年 8 月 30 日 ·
大多数人接触的第一个字母密码:每个字母沿字母表向后移动固定位数。学会它大约要九十秒,破译它大约要四分钟——正因如此,它最值得先学。
- 时代
- 古典时代
- 类型
- 替换
- 密钥空间
- 25 shifts
- 难度
- 入门
I这把工具做什么
拿句子 ATTACK AT DAWN,把每个字母向后推三位:A 变 D,T 变 W,消息离室时已成 DWWDFN DW GDZQ。
字母本身没有变,只是标签换了。词长保留、标点保留,明文中重复的字母在密文里以完全相同的间隔重复。ATTACK 在第 2、3 位有双 T,DWWDFN 就在第 2、3 位有双 W。
这种形状的残留正是攻击者可读的入口。密文不是另一种语言,只是同一种语言换了制服。
| 明文特征 | 移位后的特征 | 仍然泄露的东西 |
|---|---|---|
| 叠字母 | 叠字母 | 词的形状 |
| 单字母词 | 单字母词 | A 和 I 依然扎眼 |
| 词长 | 词长 | 句子的节奏 |
| 字母频率 | 被旋转的频率 | E 仍是最高的柱子,只是换了名字 |
II密钥
密钥是一个整数,而其中只有 25 个会产生不同结果。移位 26 等于没移,移位 27 与移位 1 完全相同,所以不同密钥的全集就是 25。
log2(25) 约等于 4.64 比特。作为对比,现代对称密钥是 128 比特:凯撒的密钥空间比“抛五次硬币”还小。
比数字更重要的是结构。因为任一字母的加密只取决于该字母本身,这个密码没有记忆。用移位 3 加密 AAAA 永远得到 DDDD:没有上下文、没有链式、没有状态。没有状态的密码可以逐字母攻破。
从这里学到的经验:如果密钥比消息短,那消息本身就是密钥。
III弱点提示
历史密码用于教学与娱乐,不适合保护真实信息。完整分析见对应条目。