🎓 牛津古典密码学练习
动手做题学三种古典密码 · 凯撒 / 替换 / 维吉尼亚 · 重点:操作方法与破解思路
🎯学习目标
这份资料是牛津大学密码学练习册(Encryption Worksheets 前 6 页)。核心是亲手加密、解密、破解。读完你应能:
- 用"密钥字母"做凯撒加密,并理解 解密密钥 = 26 − 加密密钥。
- 用替换表加解密,知道破解靠频率分析、关键词常打头。
- 用关键词做维吉尼亚加解密,理解为何频率分析失效。
- 掌握维吉尼亚破解的两条路:先猜密钥长度(卡西斯基) 和 已知明文攻击(crib)。
1凯撒密码(Caesar Cipher)🎮
1.1 方法:密钥是一个字母
把一段文字的所有字母统一向后移动若干位。密钥是一个字母,表示移动的位数(A=0 位移):
| 密钥字母 | 含义 |
|---|---|
A | 不移动(移 0 位) |
D | 移动 3 位 |
M | 移动 12 位 |
Z | 移动 25 位(也可理解为向后移 1 位) |
例子:CAESAR 用位移 P → RPTHPG。
🎮 凯撒解密器(拖动滑块即时解密)
在框里输入密文,拖动滑块选解密位移,实时还原明文。提示:练习册问题1.2 让你发现 解密密钥 = 26 − 加密密钥。
P(移 15),解密就要移 26−15=11 位(密钥 L)。输入密文 RPTHPG、解密位移 11,应还原成 CAESAR。
| 加密密钥 | A | ... | P | ... | Z |
| 位移 | 0 | ... | 15 | ... | 25 |
| 解密位移 | 0 | ... | 11 | ... | 1 |
1.3 破解:频率分析
凯撒很容易破解:密文中最常见的字母 往往对应 明文中最常见的字母,而明文最常见字母通常是该语言里最常见的(英语中 E 最常见)。辅助技巧:
- 单字母单词:很可能是
A或I。 - 重复字母:如 letter 中的 "tt"。
- 常见双字母单词:of、to、in、is。
TRVJRI TZGYVIJ RIV HLZKV VRJP KF TIRTB,让你用频率分析破解出加密密钥(自己动手试)。
2代换(替换)密码(Substitution Cipher)
2.1 方法:一整张替换表
把明文中的每一个字母都替换成另一个字母,需要一张完整的字母替换表。
| 明文 | 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。要让密码真正可用,必须为整个 26 个字母都提供替换关系。
2.2 解密:用逆映射反查
用替换表的逆映射。比如密文 O 对应明文 T,看到 O 就还原成 T。
JLXKMVO OAZH 按上表生成,用逆映射可反查得明文 ENCRYPT THIS。
2.3 破解:仍是频率分析
和凯撒一样,替换密码保留了单字母频率特征(同一明文字母总变成同一密文字母),所以仍可频率分析破解。破解一段含全部 26 字母的密文时:
- 先统计字母频率,把最高频密文字母猜成 E、T、A 等。
- 观察单字母单词(A/I)、常见短词。
3维吉尼亚密码(Vigenère Cipher)⭐
3.1 方法:关键词重复展开 + 逐位凯撒
用一个单词作为密钥(如 KEY):把密钥重复展开到与明文等长,密钥每个字母都当作一次凯撒位移,加密对应位置的明文。
| 密钥 | 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。
加密时通常去掉空格和标点,可用"维吉尼亚方阵表"查表加密。
CODE 加密 TO BE OR NOT TO BE(去掉空格),逐位用 C/O/D/E… 做凯撒,前三位已给出 VFR…。
3.2 解密
知道密钥词,对每一位做反方向凯撒移位即可。问题 3.3 让你思考:把 MVWZXMQVYZLW 还原回 CRYPTOGRAPHY 该用什么密钥词(练"解密密钥与加密密钥的关系")。
3.3 为什么频率分析失效?
🎮 小练习:把密码与其密钥形式连起来
先点左边一个密码,再点右边对应的密钥形式。连对会变绿。
4维吉尼亚的破解思路(进阶)
虽然难,但维吉尼亚仍可破解,主要有两条路:
4.1 路线一:先猜密钥长度再分组
- 猜密钥长度:卡西斯基测试 / 重合指数法——观察密文中重复片段的间距。
- 知道长度后,把密文按密钥长度分组——每组其实是用同一个凯撒位移加密的!
- 对每组分别做频率分析,逐位破解密钥。
4.2 路线二:已知明文攻击(Crib)
练习册问题 3.3(c) 给了密文 OINCHHFIAFYASZGUIVJCRKIWLLKJ,并告诉你明文开头是 WELLDONE。用前 8 位密文减去 WELLDONE 即可反推出密钥的循环段。
5三种密码总结对比
| 密码 | 密钥 | 操作 | 破解方法 |
|---|---|---|---|
| 凯撒 | 一个字母(位移) | 整体平移 | 穷举 25 种 + 频率分析 |
| 替换 | 一张替换表 | 逐字映射 | 频率分析(保留单字母频率) |
| 维吉尼亚 | 一个关键词 | 多表(按位变化) | 先猜密钥长度再分组频率分析 / crib 已知明文 |
6与 CH4 密码技术的关联
古典密码虽然不安全,但其中蕴含的思想是理解现代密码的基础:
密钥空间
凯撒25 → 替换26! → 现代AES密钥2¹²⁸,安全性取决于密钥空间足够大且不可穷举多表/混淆
维吉尼亚的"多表替换"思想,演化为现代分组密码的扩散与混淆频率特征
现代密码要求密文统计上像随机噪声,彻底消除频率特征下一步
现代对称密码 DES/AES、公钥密码 RSA——见 CH4 信息安全技术体系📄 配套 古典密码-入门讲义 📘 配套 哈希函数-入门课 🔗 关联 CH4 技术体系
🎯自测(点击展开参考要点)
凯撒密码密钥 D、M、Z 各表示移动几位?
加密用密钥 P(移15),解密该用什么密钥?规律是什么?
替换密码为什么仍能被频率分析破解?破解时有什么常见提示?
维吉尼亚为什么让频率分析失效?怎么破解?
已知明文攻击(crib)如何反推维吉尼亚密钥?
📝强化题库(20 选择 + 20 填空 = 40 题)
覆盖本讲全部知识点。选择题点选即时判分;填空题输入后点"检查"或"显示答案"。