crypto1

CS3314 密码学课程内容

第二讲:古典密码学基础(Basics of Cryptography)

一、密码学总体框架

密码学的组成

  • Cryptography(密码编码):设计加密与保护信息的技术
  • Cryptanalysis(密码分析):破译密码的技术
  • Cryptology(密码学) = Cryptography + Cryptanalysis

密码系统五元组

一个密码系统由五个集合组成
(P, C, K, E, D)

  • P:明文空间 (Plaintext)
  • C:密文空间 (Ciphertext)
  • K:密钥空间 (Key)
  • E:加密算法 (Encryption)
  • D:解密算法 (Decryption)

满足:

D(E(M, K₁), K₂) = M


二、两大密码体制

体制密钥关系特点示例
单钥体制(对称密码)K₁ = K₂加密与解密使用相同密钥,速度快,密钥分配困难AES, DES
双钥体制(非对称密码)K₁ ≠ K₂加密与解密密钥不同,可公开公钥RSA, ECC

⚠️ Kerckhoffs 原理
密码系统的安全性应仅依赖密钥的保密,而不是算法的保密。


三、密码分析与攻击模型

攻击类型攻击者已知信息特点
唯密文攻击 (Ciphertext-only)仅密文难度最高
已知明文攻击 (Known-plaintext)若干明文-密文对常见于对称密码
选择明文攻击 (Chosen-plaintext)可选择加密输入典型攻击RSA等
选择密文攻击 (Chosen-ciphertext)可选择解密密文针对公钥体系

能力层级:唯密文 < 已知明文 < 选择明文 < 选择密文


四、信息论与安全性基础

香农的贡献

  • 提出了扩散性(Diffusion)混淆性(Confusion)原则
  • 建立了密码学的数学基础
  • 证明了一次一密 (One-Time Pad)完善保密(Perfect Secrecy)

安全分类

类型定义特点
无条件安全 / 完善保密 (Unconditional Security)无论计算资源多少都无法破解如一次一密 OTP
计算安全 (Computational Security)破解成本或时间过大如AES, RSA

条件:若 I(M; C) = 0 → 完善保密
必要条件:H(K) ≥ H(M) → 密钥熵不小于消息熵(相当于密钥空间 ≥ 明文空间)


五、古典密码技术

1️⃣ 代换密码 (Substitution Cipher)

用其他符号替换明文字符

类型加密规则特点 / 弱点
Caesar 移位密码c = (p + k) mod 26密钥空间 25,易穷举
单表代换任意置换表可频率分析破解
仿射密码E(x)=ax+b (mod 26),需 gcd(a,26)=1容易被统计攻击
Playfair 密码按双字母加密频率规律削弱但仍可破
Hill 密码向量线性代换 Kp=C抵抗密文攻击,不抗明文对攻击
Vigenère 密码多表代换,周期r可用 Kasiski 方法破译
一次一密 (OTP)cᵢ = mᵢ ⊕ kᵢ唯一无条件安全系统,但密钥管理困难

2️⃣ 置换密码 (Transposition Cipher)

不改变字符,只改变顺序。

类型方法特点
栅栏密码 (Rail Fence)对角线写,按行读简单,易破解
列换位 (Columnar Transposition)写矩阵后按密钥列序读取字母频率不变
乘积密码 (Product Cipher)代换 + 置换 组合古典 → 现代桥梁

六、机械密码与现代演化

转轮机 (Rotor Machine)

  • 基于多表代换,通过物理转子产生不同映射。
  • 代表:德国 Enigma、日本 Purple
  • 启示:多层代换 + 动态置换 → Feistel结构 / DES 的前身

七、隐写术 (Steganography)

  • 隐藏信息存在性,不是加密。
  • 例:隐形墨水、图像LSB、IoT SmartConfig。
  • 缺点:容量小,易检测。

八、核心结论

  1. 安全性取决于密钥,而非算法
  2. 仅有代换或置换都不安全,需结合。
  3. 密钥空间必须足够大,以防穷举攻击。
  4. OTP 是唯一无条件安全的系统
  5. 现代密码算法的雏形:乘积密码与转轮机。