古典密码对比表

并排比较23种古典密码。此参考表涵盖密码类型、密钥格式、安全级别、密钥空间大小和最佳使用场景,帮助您选择适合的密码。

完整密码对比

密码类型密钥类型密钥空间安全性年代
凯撒密码单表替换单个整数(1-25)25极弱约公元前58年
ROT13单表替换固定位移(13)1无(仅混淆)1982
埃特巴什密码单表替换无(固定映射)1极弱约公元前500年
仿射密码单表替换两个整数(a, b)312约1900年代
关键词密码单表替换关键词字符串~2×10²⁶约1500年代
猪圈密码符号替换无(固定网格)1极弱约1700年代
波利比奥斯方阵分割编码5×5 网格排列~2×10²⁶约公元前150年
维吉尼亚密码多表替换关键词字符串26ⁿ(n = 密钥长度)中等1553
博福特密码多表替换关键词字符串26ⁿ(n = 密钥长度)中等约1857年
自动密钥密码多表替换关键词 + 明文扩展26ⁿ(非重复密钥)中等-强1586
特里特米乌斯密码多表替换无(自动递增位移)11508
格隆斯费尔德密码多表替换数字密钥(0-9)10ⁿ(n = 密钥长度)弱-中等约1700年代
波尔塔密码多表替换关键词字符串(13 个字母表)13ⁿ(n = 密钥长度)中等1563
连续密钥密码多表替换书籍/长文本片段(长度与消息相同)非常大(全文)中等-强约1800年代
普莱费尔密码二联替换5×5 关键词矩阵~2×10²⁶中等1854
四方密码二联替换两个 5×5 关键词矩阵(~2×10²⁶)²强(古典中)1902
希尔密码多字母替换N×N 可逆矩阵非常大(取决于矩阵)中等-强1929
阿尔贝蒂盘密码多表替换盘面位置 + 位移计划可变(取决于旋转频率)中等1467
培根密码二进制编码 / 隐写无(固定 5 位编码)1弱(仅隐写)1605
同音替换密码同音替换每个字母多个符号非常大(取决于映射)中等-强约1400年代
摩尔斯电码编码(非加密)无(标准映射)1无(编码,不是密码)1837
一次一密(Vernam)流密码与消息等长的随机密钥26ⁿ(真正随机)完美1917
跨格棋盘分割编码字母排列 + 行头非常大中等约1940年代
夸格迈尔密码多表替换1-3 个关键词字母表 + 指示器非常大(多重混合字母表)强(古典中)约1900年代

凯撒 vs ROT13 vs Atbash:单表替换对比

凯撒、ROT13 和 Atbash 都是最基础的替换密码。它们都会把每个字母替换成一个固定对应字母,但决定替换方式的规则并不相同。下面的表格展示了同一明文在三种密码下的差异。

特性凯撒密码ROT13埃特巴什密码
替换规则每个字母向前位移 k 位每个字母固定向前位移 13 位字母表反转(A↔Z,B↔Y,...)
密钥整数 1-25(可变)无(固定为 13)无(固定反转)
密钥空间2511
是否自逆否(解密需反向位移)是(应用两次回到原文)是(应用两次回到原文)
“HELLO” 加密KHOOR(位移 3)URYYBSVOOL
“ATTACK” 加密DWWDFN(位移 3)NGGNPXZGGZXP
公式E(x) = (x + k) mod 26E(x) = (x + 13) mod 26E(x) = (25 − x) mod 26
能否处理数字可选(扩展字母表时)否(仅字母;数字通常用 ROT5)否(仅字母)
来源尤利乌斯·凯撒,约公元前58年Usenet 社区,1982希伯来学者,约公元前500年
最佳用途教学和理解替换密码轻度混淆、隐藏剧透历史研究、文字谜题

应该什么时候用哪一种?

  • 凯撒:最适合教学。可变密钥能直观展示“秘密参数”这个概念,是学习古典密码的标准起点。
  • ROT13:适合不想管理密钥、只想快速混淆内容时使用。它的自逆性质让编码和解码都非常方便。
  • Atbash:适合历史、文学或谜题场景。它在希伯来文本和历史谜题里出现很多,核心概念就是字母表镜像。

维吉尼亚 vs 博福特 vs 自动密钥:多表替换对比

维吉尼亚、博福特和自动密钥都属于多表替换密码,都会利用关键词在多个字母表之间切换。它们的核心差异在于关键词如何扩展、加解密是否互反,以及是否存在重复密钥模式。

特性维吉尼亚密码博福特密码自动密钥密码
加密公式C = (P + K) mod 26C = (K − P) mod 26C = (P + Kᵢ) mod 26
密钥扩展关键词循环重复关键词循环重复关键词 + 明文附加为密钥
是否互反否(解密时减去密钥)是(同一操作可加解密)否(解密需逐步恢复密钥)
是否存在重复密钥模式是,易受 Kasiski 检验是,易受 Kasiski 检验否,密钥不重复
“HELLO” + KEYRIJVSDSJJGRIJSS
“ATTACK” + KEYKXDKEMKVFAOQKXDKEK
密钥推导KEY→KEYKE→KEYKEY...KEY→KEYKE→KEYKEY...KEY→KEYHE→KEYHELLO...
Tabula Recta标准表(行=密钥,列=明文)反向表(行=密钥,列=密文)标准表(与维吉尼亚相同)
破解方式Kasiski + 频率分析与维吉尼亚类似(Kasiski + Friedman)已知明文攻击、统计方法
安全级别中等中等中等-强
发明者Giovan Battista Bellaso(1553),后常归于 VigenèreSir Francis Beaufort(约1857)Blaise de Vigenère(1586)

应该什么时候用哪一种?

  • 维吉尼亚:最标准的多表密码,也是学习关键词加密的最佳起点。
  • 博福特:适合需要“同一操作即可加解密”的场景,实现更直接。
  • 自动密钥:比维吉尼亚更强,因为它消除了重复密钥模式,短消息下通常是三者里最难直接分析的。

古典密码的安全性如何比较?

古典密码的安全级别从“无”到“完美”不等。按现代标准看,大多数古典密码都落在“极弱”到“中等”之间,主要价值在于教学、历史研究和谜题设计。

安全性相关密码主要弱点
完美Vernam(一次一密)无;如果使用正确则不可破解
四方、夸格迈尔、同音替换需要大量已知明文和深入密码分析
中等维吉尼亚、博福特、自动密钥、Playfair、Hill、Porta、Running KeyKasiski 检验、已知明文攻击、成对频率分析
仿射、关键词、Gronsfeld、Trithemius、Polybius频率分析、小密钥空间、可预测模式
极弱 / 无凯撒、ROT13、Atbash、猪圈、摩尔斯、培根几秒内暴力破解、无密钥或已知映射

古典密码主要分为哪些类型?

古典密码可以根据它们如何转换明文分成几个大类。理解这些分类,有助于你选择密码,也有助于判断应当使用哪种分析方法来破解它。

密码类型工作方式示例关键弱点
单表替换每个字母始终映射到同一个密文字母凯撒、Atbash、仿射、关键词保留字母频率,容易被频率分析破解
多表替换使用多个字母表,并按关键词轮换维吉尼亚、博福特、自动密钥、Porta密钥重复会形成可检测模式(Kasiski)
二联 / 多字母一次把 2 个或更多字母作为整体加密Playfair、四方、Hill可被双字母或多字母频率分析攻击
分割编码先把字母转成数字/坐标,再进一步变换Polybius、跨格棋盘可对坐标对做频率分析
流密码明文与密钥流逐字符结合Vernam(一次一密)核心难点在密钥管理,密钥必须真随机且不可复用

这些古典密码是什么时候发明的?

古典密码横跨 2500 多年的密码学历史,从古代学者到 20 世纪军事情报系统,反映了替换、换位和数学化加密的发展过程。

时代时期出现的密码关键进展
古代公元前500年 – 公元前100年Atbash、凯撒、Polybius最早的替换与分割思想
文艺复兴1400s – 1600sAlberti、维吉尼亚、Porta、Trithemius、自动密钥、培根多表替换开始出现
工业时代1700s – 1800sPlayfair、博福特、猪圈、摩尔斯双字母加密与实用野战密码
现代古典时期1900s – 1940s四方、Hill、Vernam、跨格棋盘数学基础更强,出现可证明安全性

各密码最适合的使用场景

密码最佳用途破解方式
凯撒密码教学、谜题、ROT13暴力破解、频率分析
ROT13隐藏剧透、轻度混淆再次应用 ROT13 即可
埃特巴什密码圣经研究、简单编码已知模式、频率分析
仿射密码数学教育、模运算暴力破解(312 组密钥)、频率分析
关键词密码易记密钥加密频率分析
猪圈密码视觉编码、儿童游戏已知符号网格
波利比奥斯方阵坐标编码、电报坐标对频率分析
维吉尼亚密码历史加密、教学Kasiski 检验、Friedman 检验
博福特密码互反加密(加密和解密同一操作)同维吉尼亚(Kasiski、Friedman)
自动密钥密码更强的维吉尼亚变体已知明文攻击、统计方法
特里特米乌斯密码历史研究、递进位移概念已知模式(可预测位移)
格隆斯费尔德密码维吉尼亚的数字密钥变体同维吉尼亚,但密钥空间更小
波尔塔密码自反多表密码半字母表频率分析
连续密钥密码使用长文本密钥加密统计分析、已知书本攻击
普莱费尔密码军用现场、二联加密二联频率分析
四方密码双钥二联加密大量二联频率分析
希尔密码数学/矩阵加密已知明文攻击与线性代数
阿尔贝蒂盘密码最早的多表密码,历史研究旋转点模式分析
培根密码隐藏明文、隐写二进制分组模式识别
同音替换密码对抗频率分析统计分析、爬山
摩尔斯电码电报通信、SOS 信号标准参考表
一次一密(Vernam)正确使用时可证明不可破解若密钥真随机、只使用一次且保持秘密,则不可破解
跨格棋盘间谍通信的紧凑编码可变长度编码的频率分析
夸格迈尔密码高级多表替换深度密码分析、模式检测

常见问题

凯撒密码和维吉尼亚密码有什么区别?

凯撒密码使用一个固定的位移值替换每个字母,属于单表替换,因此只有 25 个可能密钥,容易被频率分析破解。维吉尼亚密码使用关键词为每个位置提供不同位移,属于多表替换,密钥空间为 26^n(n 为关键词长度),破解难度明显更高,但仍可通过卡西斯基检验和 Friedman 检验攻击。

哪种古典密码最安全?

Vernam 密码,也就是一次一密,是唯一在数学上被证明具有完美安全性的古典密码。前提是密钥必须真正随机、长度至少与消息相同、只使用一次并严格保密。在可实际使用的古典密码中,四方密码和夸格迈尔密码通常被认为最强,因为它们拥有更大的密钥空间和更复杂的替换结构。

单表密码和多表密码有什么区别?

单表密码如凯撒、Atbash、仿射和关键词密码,在整条消息中始终使用同一套替换字母表,因此会保留原始字母频率分布。多表密码如维吉尼亚、博福特、自动密钥和 Porta,会依据关键词轮换多套替换字母表,从而压平频率分布并提升破解难度。

为什么 ROT13 不算真正的加密?

ROT13 本质上是位移为 13 的凯撒密码,但它没有任何秘密密钥,所有人都知道其规则,因此没有实际安全性。它更适合做轻度混淆,比如隐藏剧透或谜题答案。它的特点是自逆,连续应用两次 ROT13 就会回到原文。

像 Playfair 这样的双字母密码与单字母密码有什么不同?

单字母密码一次处理一个字符,而双字母密码会把两个字母作为一个整体进行加密。这会打乱单字母频率模式,并把可分析的单位从 26 个字母扩展到 676 个双字母组合,因此通常比简单的单字母替换更难破解。

凯撒、ROT13 和 Atbash 的核心区别是什么?

三者都属于单表替换,但凯撒密码允许选择 1 到 25 的任意位移,ROT13 是固定为 13 的特殊凯撒变体,而 Atbash 则是直接将字母表反转。ROT13 和 Atbash 都是自逆的,而通用凯撒密码需要使用反向位移来解密。

维吉尼亚、博福特和自动密钥密码有什么区别?

维吉尼亚和博福特都会循环重复关键词,但一个使用加法、一个使用减法。博福特因此具有互反性,加密和解密可用同一操作完成。自动密钥密码则把明文本身接到关键词后面,消除了重复关键词模式,因此通常比前两者更难被卡西斯基检验直接攻击。