凯撒密码是大多数人学过的第一种替换密码,也是看清「秘密方法不等于安全性」的最直观例子。本工具能在 1 到 25 的任意位移上编码和解码文本,提供一键 ROT13 切换,并能把未知位移的全部 25 种可能解码并排显示,实现暴力破解。
规则只有一个模 26 的加法。把字母编号为 A=0 到 Z=25,位移为 k 时:
encoded = (letter + k) mod 26
decoded = (letter - k) mod 26
模 26 让字母表首尾相接:X 位移 4 得到 B,而不是越过字母表末尾。工具把解码方向算作 (26 - k) mod 26 再做加法,这在代数上等同于减去 k。
大小写得以保留,是因为大写和小写分别以不同的基准处理:大写从 65(‘A’)起算,小写从 97(‘a’)起算。超出这两个范围的字符原样附加。
位移 3,据说是尤利乌斯·凯撒用过的那一档:
| 步骤 | 结果 |
|---|---|
| 明文 | ATTACK AT DAWN |
| 每个字母 +3 | DWWDFN DW GDZQ |
| 用位移 3 解码 | ATTACK AT DAWN |
对同一段文本应用 ROT13 得到 NGGNPX NG QNJA。再跑一次 ROT13 就回到 ATTACK AT DAWN,因为 13 + 13 = 26,而 26 mod 26 = 0。在暴力破解面板里试位移 13,你会看到这两行是唯一可读的一对。
数字、标点和空格绝不会被转换,这就是上例中词边界一点没变的原因。
只有 25 种可能的密钥时,未知位移不是一道难题,而是一次查表。工具对 1 到 25 的每个值调用一次位移函数并列出结果,剩下的唯一挑战是辨认明文,而语言让这件事很容易:正确的那一行就是含有真实单词的那行。如果消息没有空格且混用多种语言,频率分析也能达到同样目的——寻找英文字母的典型分布,其中 E、T、A、O、I、N 占主导。
凯撒密码是一种密钥空间仅 25、映射固定的替换。现代加密需要它欠缺的两个特性:密钥大到穷举搜索不可行,以及即使算法公开也难以分析的构造。相比之下 AES 使用 128 位或 256 位密钥,其安全性不依赖攻击者不了解其工作原理。绝不要用凯撒位移或 ROT13 来保护密码、个人数据或任何重要信息。 真正需要保密时,请使用 AES 加密并把输出当作二进制数据处理。
凯撒位移是古典密码家族中最简单的一员,把这些密码放在一起看,就能明白每一种为何被取代。
| 密码 | 密钥 | 密钥空间 | 弱点 |
|---|---|---|---|
| 凯撒 | 单个位移 | 25 | 穷举搜索与频率分析 |
| Atbash | 无(固定反转) | 1 | 根本没有密钥,知道方法即能读懂 |
| ROT13 | 固定位移 13 | 1 | 凯撒的特例,自逆且极易还原 |
| Vigenère | 重复关键词 | 很大 | 被 Kasiski 检验和重合指数破解 |
| AES-256 | 256 位二进制密钥 | 2^256 | 正确使用下无已知实际攻击 |
Atbash 把 A 映射到 Z、B 映射到 Y,依此类推;它是换了伪装的凯撒位移,提供的保护更少。Vigenère 是有意思的进步,因为重复关键词能击败直白的频率分析,这也是它流行了几个世纪的原因——但重复本身会泄露密钥长度,一旦密钥长度已知,消息就会瓦解。像 AES 这样的现代分组密码彻底消除了重复,使输出与随机数据无法区分。
可用的密钥只有 25 个,任何人几秒钟就能试遍每一种位移;频率分析破解得更快:英文文本中最常见的字母几乎总是 E,因此把密文里出现最多的字母映射到 E 的那个位移,几乎肯定是正确的。它对任何知道方法的人都提供不了保护。
编码是给每个字母加上位移,解码则是减去它。内部实现上,解码方向使用等效位移 (26 - shift),所以用位移 3 编码后再用位移 3 解码,会还原出原文。
工具完全不碰它们。只有 26 个大写和 26 个小写拉丁字母会被位移;其余一切——é 这类重音、数字、标点、空格、西里尔字母、CJK 和表情符号——都原样通过。像 café 这样的词在位移 3 下会变成 pdsé,而 é 保持不动。
位移 0 或 26 会让文本与原文完全相同,而其他所有整数在模 26 下都会归入 1–25 的范围。界面强制这一区间,是为了让滑块上的每个位置都产生可见的变化。
ROT13 是位移 13 的凯撒密码,而 13 恰好是 26 的一半,这使它自逆:应用两次 ROT13 就还原原文。这个特性让它成为方便的可逆混淆,用于剧透和谜题答案——目标只是避免无意间读到,而不是保守秘密。
它把当前输出移入输入框,并把模式从编码翻转为解码,或反过来。暴力破解后这个按钮很好用:一旦发现可读的那一行,用 Swap 重新编码就能验证它。
由 HandyTools Hub 团队审校 · 最后更新