跳到主要内容

凯撒密码完全指南:从偏移 3 到 25 种暴力破解

讲清楚凯撒密码怎么按字母位移加解密,凯撒大帝用的偏移 3 从哪来,为什么 25 种可能让它一秒被破,以及它为什么只配做教学和谜题,不是真加密。

发布于 作者 李雷
#凯撒密码 #位移密码 #加密 #密码学 #教学

凯撒密码完全指南:从偏移 3 到 25 种暴力破解

凯撒密码可能是最早被写进史书的加密法,也是最容易被破的。它的全部秘密只有一个数字,字母往后挪几位。挪 3 位,A 就变 D,B 变 E,挪到 Z 就绕回开头。明白了这一句,你就明白了它的强,也明白了它致命的弱。

一个偏移 3 的故事

公元前一世纪,罗马的尤利乌斯·凯撒在军中传递命令时,把每个字母往后挪固定的 3 位再写下来。古罗马史家苏埃托尼乌斯在《罗马十二帝王传》里记下了这个习惯:凯撒把 A 写成 D,B 写成 E。所以偏移 3 不是随便选的数,它就是这套方法最初的样子,后人也因此把整类字母位移法叫作凯撒密码。

它在当时管用,原因很朴素,识字的人本就不多,看懂字母位移的人更少。一段挪了 3 位的文字,在不知道规则的人眼里就是一串无意义的字母。安全感全部建立在"对方不知道这是位移密码"上,而不是建立在数学难度上。这一点,是它和现代加密最大的分水岭。

加密和解密,只差一个方向

凯撒密码的运算干净到可以手算。加密就是每个字母往后挪 N 位,解密就是往回挪 N 位。来看一个最经典的例子:

明文 HELLO,用偏移 3 加密,逐字母走一遍:

  • H 往后 3 位是 K
  • E 往后 3 位是 H
  • L 往后 3 位是 O
  • L 往后 3 位是 O
  • O 往后 3 位是 R

结果是 KHOOR。要还原,就把 KHOOR 每个字母往回挪 3 位,又得回 HELLO

这里有个新手最常踩的坑:把方向搞反。还原 KHOOR 时要用解密(往回挪 3),不是再用偏移 3 加密一次,否则字母总共挪了 6 位,仍然是乱的。在 凯撒密码加解密器 里,加密和解密是两个独立按钮,点对那个就不会算错方向。

还有一点要记住:凯撒密码只作用在 A 到 Z 上。数字、空格、标点都原样不动。Meet at 9pm! 用偏移 5 加密会变成 Rjjy fy 9ru!,那个 9、空格和感叹号按设计就该留在原地。

为什么 25 种可能就等于没有锁

字母表一共 26 个字母,偏移 0 等于没动,所以真正有意义的偏移只有 1 到 25,总共 25 种。25 这个数,放在密码学里小得可笑。

这意味着任何人拿到一段凯撒密文,根本不需要密钥,把 25 种偏移全试一遍,挑出读得通的那一行就破了。这叫暴力破解,对凯撒密码而言它快到一瞬间。我自己第一次做密室逃脱时,墙上贴着一串 KHOOR ZRUOG,我没有任何密钥,把它丢进暴力破解模式,25 行结果一次列出来,偏移 23 那行赫然是 HELLO WORLD,出题人用的就是加密偏移 3。从看到密文到读出答案,不超过十秒,我连笔都没动。

现代加密的密钥空间是天文数字。AES-128 有 2 的 128 次方种可能,就算调动全世界的算力一直试,也试不到宇宙终结。凯撒密码的 25 种,和这个数字之间隔着一道无法跨越的鸿沟。

ROT13:把偏移钉死在 13

有一种凯撒密码特别常见,偏移固定为 13,叫 ROT13。13 之所以特殊,是因为它正好是 26 的一半,这让运算变成自反:对一段文字应用两次 ROT13 会还原成原文,同一个函数既编码又解码。Usenet 时代的人用它藏剧透和谜底,内容显示成乱码,读者主动跑一遍才看得见。如果你常打交道的就是这个偏移,直接用 ROT13 编码器 更顺手。

它不是加密,这话得说白

凯撒密码诚实的用途只有三类:谜题、课堂上演示模运算、藏剧透。它能让一段文字暂时看不懂,但挡不住任何一个肯花十秒的人。

所以请记住一条铁律:永远别用凯撒密码保护真正的秘密。密码、私人消息、文档,这些东西交给它等于没锁门。需要真加密时,用 AES 文本加密器 这类现代算法,它的密钥空间大到暴力破解在物理上不可能完成。凯撒密码留给它擅长的地方:让学生第一次看见字母怎么在转盘上绕圈,让谜题有个会心一笑的答案。

把它当成密码学的入门玩具,而不是保险箱,你就用对了。


Made by Toolora · Updated 2026-06-13