🏠 目录 CH1 概论 CH2 风险管理 CH4 技术体系 CH5 鉴别 CH6 访问控制 CH7 防火墙 古典密码 哈希函数 牛津密码练习
密码学基础 · 古典密码

🔐 古典密码入门

从一个通信小游戏出发 · 凯撒 → 替换 → 维吉尼亚 · 配套牛津练习册

📚 学习进度
0%

🎯学习目标

读完这一讲,你应该能回答:

  1. 通信小游戏揭示了密码学最核心的直觉是什么?(单向函数
  2. 凯撒密码、替换密码、维吉尼亚密码各自的原理和区别?
  3. 为什么频率分析能破解古典密码?维吉尼亚为什么更难?
  4. 密码强度提升的本质是什么?(让同一明文字母在不同位置呈现不同密文行为)

1开篇:一个通信小游戏

两个人面对面时,抛一枚硬币就能公平决定输赢。可一旦改成打电话 / 网络通信,双方都犯嘀咕:

"你会不会先看结果再说?"  ·  "你会不会事后改口?"

核心问题:两人不见面,怎样仍能公平地决定正反面

解决思路:先"承诺",再"公开",最后"验证"

① 承诺 甲发出 f(x) ② 猜测 乙猜 x 奇偶 ③ 公开验证 甲公开 x,核 f(x)
图1 · 承诺—公开—验证 协议流程
  1. 甲随机选一个大数 x,计算 f(x)
  2. 甲先把 f(x) 发给乙——先承诺,但不暴露 x
  3. 乙根据规则猜 x 的奇偶(偶=正面,奇=反面)。
  4. 公开 x,乙再算一次 f(x) 核验是否真实。
✅ 为什么公平?不能事后更改(f(x) 已发出,锁定了选择);乙不能事先看穿(只看到 f(x),不知道 x)。

2最核心的直觉:单向函数 ⭐

这个小游戏告诉我们密码学最核心的思想:

💡 一句话 合法方容易算,攻击者难反推。
x f(x) 正向:容易 ✓ 逆向:很难 ✗
图2 · 单向函数:从 x 算 f(x) 容易,从 f(x) 反推 x 很难
  • x 计算 f(x) 很容易(正向)。
  • 给出 f(x) 要反推 x 很难(逆向)。

这就是单向函数的直观理解。密码设计的核心就是:让"正向计算"方便,让"逆向恢复秘密"变难

🔗 贯穿全课 这个思想贯穿整个密码学——后面的哈希函数公钥密码都基于"正向易、逆向难"。下面三种古典密码,都在解决"如何把明文藏起来"。

3凯撒密码:固定步长的"整体平移" 🎮

原理

  • 把 26 个英文字母看成一个循环表(A→0, B→1, …, Z→25)。
  • 选一个固定步长 k,所有字母一起平移
📐 公式(模 26) 加密:C = (P + k) mod 26  ·  解密:P = (C - k) mod 26

🎮 凯撒密码交互加密器(拖动滑块即时加密)

拖动滑块改变位移 k,下面会实时显示「明文字母表 → 密文字母表」的平移对照;在输入框打字即可看到密文。

位移 k = 3(密钥 D)
明文 ▶
密文 ▶
🧪 试一试 把 k 拖到 15(密钥 P),输入 CAESAR,输出应是 RPTHPG(与牛津课件示例一致)。

为什么它很容易被破解?

  • 只需尝试 25 个有效移位(暴力穷举即可)。
  • 字母频率整体只是"平移",特征并没有消失——配合频率分析更快。

4替换密码:一字一映射

原理

  • 每个明文字母对应一个固定的"替身"。
  • 密钥不再是一个数字,而是一整张替换表
  • 解密时用这张表的逆映射(反查)。
明文CDEHINPRSTY
密文XJLAZEVKHOM
图3 · 替换表(牛津课件示例的一小段)

按这张表:THIS SENTENCE IS ENCRYPTEDOAZH HLEOLEXL ZH LEXKMVOLJ。只要映射固定,同一明文字母总变成同一密文字母。

🔑 比凯撒"隐蔽"在哪? 密钥空间更大——不是 1 个位移量,而是一整张映射表(26! 种可能,约 4×10²⁶),暴力穷举不可行。
⚠️ 但仍不安全 它仍保留单字母频率特征(同一明文字母总变成同一密文字母),所以仍可被频率分析破解。

5维吉尼亚密码:关键词驱动的"多表替换" ⭐

原理

  • 先选一个关键词(如 KEY)。
  • 把关键词重复展开到与明文等长。
  • 每个位置都做一次"对应位移"的凯撒加密——可理解成多个凯撒轮流作用
📐 按位公式(模 26) Ci = (Pi + Ki) mod 26
密钥KEYKEYKEYKEY
明文CRYPTOGRAPHY
密文MVWZXMQVYZLW
图4 · 关键词 KEY 加密 CRYPTOGRAPHY → MVWZXMQVYZLW(逐位凯撒)

加密 C:用密钥 K(移 10 位)→ M;加密 H:用密钥 E(移 4 位)→ L。加密时通常去掉空格和标点

🔑 为什么比"单表替换"更难? 同一个明文字母出现在不同位置时,可能因关键词字母不同而被加密成不同结果,因此单字母频率特征被"摊薄"
⚠️ 关键理解不是随机替换,而是"有规律地、按位变化的替换"——这是理解它的核心。

6三种古典密码核心差别(一表看懂)

密码密钥形式本质操作同一字母总变同一密文?典型破解思路
凯撒一个位移量 k整体平移穷举 25 个密钥 + 频率分析
替换一整张替换表单表映射频率分析 + 常见单词/模式
维吉尼亚一个关键词按位变化的多表替换不一定先猜关键词长度,再分组分析
⭐ 难度变化的本质 不是"字母表更复杂",而是:是否让同一个明文字母在不同位置呈现出不同的密文行为(从而削弱频率特征)。

🎮 小练习:把密码和它的"本质操作"连起来

先点左边一个密码,再点右边对应的操作。连对会变绿。

📌 古典密码
凯撒密码
替换密码
维吉尼亚密码
🎯 本质操作
关键词驱动的多表替换
固定步长整体平移
单表逐字映射

7破解方法:频率分析

频率分析(Frequency Analysis):观察每个字母出现的频率(次数)。密文中最常见的字母,往往对应明文中最常见的字母;而明文中最常见的字母,通常是该语言里最常见的。

E T A O I N Q Z 英语字母出现频率(示意)
图5 · 英语中 E、T、A、O、I、N 最常见,Q、Z 最罕见

辅助技巧

  • 单字母单词:英语中很可能是 AI
  • 重复字母:如 letter 中的 "tt"。
  • 常见双字母单词:of、to、in、is 等。
⚠️ 维吉尼亚为何能"挡住"频率分析? 凯撒和替换都保留单字母频率,所以频率分析直接有效。维吉尼亚因为"多表"摊薄了频率,必须先猜关键词长度(卡西斯基测试),再分组做频率分析。

8本讲小结

  • 通信小游戏揭示密码学核心直觉:单向函数——正向易、逆向难。
  • 凯撒 = 一个位移量、整体平移,只需穷举 25 种即可破。
  • 替换 = 一整张映射表,密钥空间大(26!),但仍保留单字母频率。
  • 维吉尼亚 = 关键词驱动的多表替换,摊薄频率,需先猜密钥长度再分组破。
  • 强度提升本质:让同一明文字母在不同位置呈现不同密文行为
  • 下一步自然延伸:现代分组密码(DES/AES)公钥密码(RSA)——见 CH4。

📄 配套 牛津密码练习 📘 配套 哈希函数入门 🔗 关联 CH4 密码技术

🎯自测(点击展开参考要点)

通信小游戏揭示了密码学的什么核心思想?
单向函数:合法方正向计算 f(x) 容易,攻击者从 f(x) 反推 x 很难。靠"先承诺(发f(x))、再公开(发x)、后验证"保证甲不能改、乙不能偷看。
凯撒密码的加解密公式?为什么容易破解?
加密 C=(P+k) mod 26,解密 P=(C-k) mod 26。容易破解:只有 25 个有效密钥可穷举,且频率特征只是整体平移、没有消失。
替换密码比凯撒更隐蔽,为什么仍不安全?
密钥空间大到 26!(不可穷举),但同一明文字母总映射到同一密文字母,保留了单字母频率特征,所以仍能用频率分析破解。
维吉尼亚密码为什么能削弱频率分析?怎么破解?
关键词重复展开后逐位做不同的凯撒位移,同一明文字母在不同位置可能变成不同密文,单字母频率被摊薄。破解:先用卡西斯基测试猜密钥长度,再按长度分组(每组同一位移)分别频率分析。
三种密码强度提升的本质是什么?
不是字母表更复杂,而是是否让同一明文字母在不同位置呈现不同的密文行为(从单表到多表)。
✅ 都能答上来? 那就去做牛津密码练习册动手加密解密,再继续学 哈希函数入门

📝强化题库(20 选择 + 20 填空 = 40 题)

覆盖本讲全部知识点。选择题点选即时判分;填空题输入后点"检查"或"显示答案"。

已答 0/20 答对 0 正确率
已检查 0/20 答对 0