凯撒密码编码器

凯撒密码会将每个字母按固定数量位移 — 在 +3 位移下,A 变成 D,B 变成 E,依此类推,并在 Z 之后绕回 A。它以尤利乌斯·凯撒命名,据说凯撒在私人通信中使用过位移 3。它是最简单的替换密码,至今仍适用于谜题、课堂演示,以及经典的 ROT13 Usenet 约定。粘贴文本,选择位移,然后编码或解码。

凯撒密码的工作原理

  1. 1

    输入明文或密文

    任意英文文本。非字母字符(数字、标点、空格)会保持不变。大小写会被保留。

  2. 2

    选择位移值

    任意 1-25 的整数。位移 13 就是 ROT13 — 它是自己的逆运算。经典凯撒密码使用 3。

  3. 3

    选择方向

    编码向前位移;解码向后位移。使用位移 K 解码,等同于使用位移 26-K 编码。

  4. 4

    查看结果

    密文(或解码后的明文)会即时显示。一键即可复制。

凯撒位移是什么样子

对字母表应用位移 3:

Plain:      A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Cipher:     D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

示例:HELLO 使用位移 3 → KHOOR。用位移 3 解码 KHOOR(或用位移 23 编码)→ HELLO

ROT13 — 自逆的位移

ROT13 使用位移 13。连续应用两次就会回到原始文本:HELLOURYYBHELLO。这让它非常适合在 1980 年代的 Usenet 帖子中隐藏剧透:同一个转换既能编码也能解码,而且不需要记住密钥。

安全性(或者说并不安全)

面对任何现代分析,凯撒密码在设计上就是容易被破解的:

  • 暴力破解:只有 25 种可能的位移。全部尝试一遍,选择读起来像英文的结果即可。
  • 频率分析:位移后的文本会保留字母频率。E 仍然是英文中最常见的字母;密文中最常见的字母,很可能就是 E 位移后的版本。
  • 已知明文:只要知道哪怕一个原始字母,就能确定整个位移。

不要把它用于任何需要保护的内容。它适合教学,不适合实际保密。

变体与扩展

  • ROT5:只位移数字(0-9)。在 ROT18 中会与 ROT13 搭配使用。
  • ROT47:位移 94 个可打印 ASCII 字符;像 ROT13 一样是自逆的。
  • Vigenère:带关键词的凯撒密码,因此每个位置使用不同的位移。破解难度高得多。
  • Atbash:交换 A↔Z、B↔Y,依此类推。相对于其希伯来历史用法来说,它是一种固定式替换。

课堂用途

凯撒密码是密码学入门课程第一周的常见内容:它无需复杂数学,就能引入模运算、替换、频率分析以及密钥的概念。它也是许多 CTF“初学者密码学”挑战的解法。

常见问题

苏埃托尼乌斯记载,凯撒在通信中使用位移 3。据称奥古斯都使用位移 1(A → B、B → C、Z → A 或 AA,取决于不同资料)。

不能。经典凯撒密码定义在 26 个字母的罗马字母表上。带重音符号的字母(é、ñ、ü)会保持不变。如果需要多字母表密码,应使用现代替换方案。

因为方便。它能以很轻量的方式隐藏文本(剧透、谜题答案、轻度粗话过滤),同时解码又极其简单。它从来不是为了安全而设计的 — 只是轻度混淆。

可以,而且很容易。尝试全部 25 种位移,找出可读的英文即可。较长的密文(20+ 个字符)通常几乎没有歧义;非常短的密文可能会有多个看似合理的位移。

相关工具