🔐 古典密码入门
从一个通信小游戏出发 · 凯撒 → 替换 → 维吉尼亚 · 配套牛津练习册
🎯学习目标
读完这一讲,你应该能回答:
- 通信小游戏揭示了密码学最核心的直觉是什么?(单向函数)
- 凯撒密码、替换密码、维吉尼亚密码各自的原理和区别?
- 为什么频率分析能破解古典密码?维吉尼亚为什么更难?
- 密码强度提升的本质是什么?(让同一明文字母在不同位置呈现不同密文行为)
1开篇:一个通信小游戏
两个人面对面时,抛一枚硬币就能公平决定输赢。可一旦改成打电话 / 网络通信,双方都犯嘀咕:
核心问题:两人不见面,怎样仍能公平地决定正反面?
解决思路:先"承诺",再"公开",最后"验证"
- 甲随机选一个大数
x,计算f(x)。 - 甲先把
f(x)发给乙——先承诺,但不暴露 x。 - 乙根据规则猜
x的奇偶(偶=正面,奇=反面)。 - 甲公开 x,乙再算一次
f(x)核验是否真实。
2最核心的直觉:单向函数 ⭐
这个小游戏告诉我们密码学最核心的思想:
- 从
x计算f(x)很容易(正向)。 - 给出
f(x)要反推x很难(逆向)。
这就是单向函数的直观理解。密码设计的核心就是:让"正向计算"方便,让"逆向恢复秘密"变难。
3凯撒密码:固定步长的"整体平移" 🎮
原理
- 把 26 个英文字母看成一个循环表(A→0, B→1, …, Z→25)。
- 选一个固定步长
k,所有字母一起平移。
加密就像把一封信用"密码本"翻译成外人看不懂的乱码,只有拥有密码本的人才能看懂。
解密就是用密码本把乱码翻译回原来的信。就像你和朋友约定"每个字母往后移3位",A变成D,B变成E,这样"HELLO"就变成"KHOOR",只有知道"移3位"这个规则的朋友才能还原。
凯撒密码 = 把字母整体移位,就像"密码本"
举个例子:
明文:HELLO
移位:3(每个字母往后移3位)
加密过程:
- H → K(H+3=K)
- E → H(E+3=H)
- L → O(L+3=O)
- L → O(L+3=O)
- O → R(O+3=R)
密文:KHOOR
解密过程(移位-3):
- K → H(K-3=H)
- H → E(H-3=E)
- O → L(O-3=L)
- O → L(O-3=L)
- R → O(R-3=O)
明文:HELLO
破解方法:
- 只有26种可能的移位,暴力穷举即可
- 或者用频率分析(E是英语中最常见的字母)
生活类比:
- 凯撒密码:像约定"每个字都往后说3个"
- 比如"你好"说成"叩奵"
- 知道规则后很容易破解
C = (P + k) mod 26 · 解密:P = (C - k) mod 26
🎮 凯撒密码交互加密器(拖动滑块即时加密)
拖动滑块改变位移 k,下面会实时显示「明文字母表 → 密文字母表」的平移对照;在输入框打字即可看到密文。
CAESAR,输出应是 RPTHPG(与牛津课件示例一致)。
为什么它很容易被破解?
- 只需尝试 25 个有效移位(暴力穷举即可)。
- 字母频率整体只是"平移",特征并没有消失——配合频率分析更快。
4替换密码:一字一映射
原理
- 每个明文字母对应一个固定的"替身"。
- 密钥不再是一个数字,而是一整张替换表。
- 解密时用这张表的逆映射(反查)。
| 明文 | C | D | E | H | I | N | P | R | S | T | Y |
| 密文 | X | J | L | A | Z | E | V | K | H | O | M |
按这张表:THIS SENTENCE IS ENCRYPTED → OAZH HLEOLEXL ZH LEXKMVOLJ。只要映射固定,同一明文字母总变成同一密文字母。
5维吉尼亚密码:关键词驱动的"多表替换" ⭐
原理
- 先选一个关键词(如
KEY)。 - 把关键词重复展开到与明文等长。
- 每个位置都做一次"对应位移"的凯撒加密——可理解成多个凯撒轮流作用。
Ci = (Pi + Ki) mod 26
| 密钥 | K | E | Y | K | E | Y | K | E | Y | K | E | Y |
| 明文 | C | R | Y | P | T | O | G | R | A | P | H | Y |
| 密文 | M | V | W | Z | X | M | Q | V | Y | Z | L | W |
加密 C:用密钥 K(移 10 位)→ M;加密 H:用密钥 E(移 4 位)→ L。加密时通常去掉空格和标点。
6三种古典密码核心差别(一表看懂)
| 密码 | 密钥形式 | 本质操作 | 同一字母总变同一密文? | 典型破解思路 |
|---|---|---|---|---|
| 凯撒 | 一个位移量 k | 整体平移 | 是 | 穷举 25 个密钥 + 频率分析 |
| 替换 | 一整张替换表 | 单表映射 | 是 | 频率分析 + 常见单词/模式 |
| 维吉尼亚 | 一个关键词 | 按位变化的多表替换 | 不一定 | 先猜关键词长度,再分组分析 |
对称加密就像你和朋友共用同一把钥匙锁门和开门。加密和解密用的是同一个密钥(比如凯撒密码的位移量k)。优点是速度快,缺点是密钥怎么安全地给对方是个问题。
非对称加密就像你有一把"公开的锁"(公钥)和一把"私人的钥匙"(私钥)。任何人都可以用你的公钥加密信息,但只有你能用私钥解密。就像任何人都能把信投进你的邮箱,但只有你有钥匙能打开邮箱取信。
古典密码(凯撒、替换、维吉尼亚)都属于对称加密,因为加密和解密用的是同一个密钥/规则。
🎮 小练习:把密码和它的"本质操作"连起来
先点左边一个密码,再点右边对应的操作。连对会变绿。
7破解方法:频率分析
频率分析(Frequency Analysis):观察每个字母出现的频率(次数)。密文中最常见的字母,往往对应明文中最常见的字母;而明文中最常见的字母,通常是该语言里最常见的。
辅助技巧
- 单字母单词:英语中很可能是
A或I。 - 重复字母:如
letter中的 "tt"。 - 常见双字母单词:of、to、in、is 等。
8本讲小结
- 通信小游戏揭示密码学核心直觉:单向函数——正向易、逆向难。
- 凯撒 = 一个位移量、整体平移,只需穷举 25 种即可破。
- 替换 = 一整张映射表,密钥空间大(26!),但仍保留单字母频率。
- 维吉尼亚 = 关键词驱动的多表替换,摊薄频率,需先猜密钥长度再分组破。
- 强度提升本质:让同一明文字母在不同位置呈现不同密文行为。
- 下一步自然延伸:现代分组密码(DES/AES)与公钥密码(RSA)——见 CH4。
📄 配套 牛津密码练习 📘 配套 哈希函数入门 🔗 关联 CH4 密码技术
🎯自测(点击展开参考要点)
通信小游戏揭示了密码学的什么核心思想?
凯撒密码的加解密公式?为什么容易破解?
替换密码比凯撒更隐蔽,为什么仍不安全?
维吉尼亚密码为什么能削弱频率分析?怎么破解?
三种密码强度提升的本质是什么?
📝强化题库(20 选择 + 20 填空 = 40 题)
覆盖本讲全部知识点。选择题点选即时判分;填空题输入后点"检查"或"显示答案"。