01 密码学目标与基础概念(Cryptographic Foundations)
Domain 3 · 密码学开篇 · 四个目标 + 一套术语 + 两个设计原则
一句话秒懂
密码学就是用数学给信息”上锁”。它要达成的四个目标是:保密、完整、认证、不可否认;而它的底气来自”算法公开、只靠密钥保密”。
生活类比
寄一封机密信:① 信封封死防偷看(保密);② 封口火漆防中途被改(完整);③ 签名确认是你寄的(认证);④ 签名+第三方公证让你不能赖账说没寄(不可否认)。密码学把这四件事用算法自动化了。
核心概念(大白话 + 原书定义)
1. 密码学的四个目标(Goals of Cryptography)
| 目标 | 含义 | 靠什么实现 | |—|—|—| | Confidentiality(保密) | 数据在静止/传输/使用时都私密 | 对称或非对称加密 | | Integrity(完整性) | 数据未被未授权篡改(收发一致) | 哈希/数字签名 | | Authentication(认证) | 验证通信方身份 | 挑战-响应(challenge-response)等 | | Nonrepudiation(不可否认) | 发送方不能抵赖发过消息 | 只有非对称(公钥) 能做到 |
⚠️ 关键:对称密码(共享密钥)无法提供不可否认——因为通信双方都能用同一把密钥生成密文,无法证明”是谁发的”。非对称才能(用私钥签名)。
2. 基本术语
- Plaintext(明文 P):未加密的原始消息。
- Ciphertext(密文 C):加密后的产物。
- Algorithm(算法)+ Key(密钥):密钥本质就是”一个数字”,通常是很大的二进制数。
- Key Space(密钥空间):密钥可取的范围,由比特长度决定——n 位密钥空间是 0 到 2ⁿ。128 位密钥空间约 3.4×10³⁸,极难暴力穷举。
- Cryptography(密码学) vs Cryptanalysis(密码分析,破译) = 合称 Cryptology(密码学总称);具体软硬件实现叫 Cryptosystem(密码系统)。
- FIPS 140-3 规定联邦政府所用密码模块的软硬件安全要求。
3. Kerckhoffs 原则(柯克霍夫原则)
一个密码系统即使除密钥外的一切都公开,也应当是安全的。(“The enemy knows the system.”)
现代密码学遵循此原则,反对”靠隐藏算法求安全”(即 security through obscurity 隐蔽式安全,被认为不可靠)。所有安全性都建立在密钥保密上。
4. 两个设计支柱:混淆与扩散(Confusion & Diffusion)
- Confusion(混淆):让明文与密钥的关系复杂到攻击者无法靠改明文、看密文反推密钥(如替换 substitution)。
- Diffusion(扩散):明文一处改动,应散布到密文多处变化(如换位 transposition)。
5. 布尔逻辑与 XOR(考试实用)
密码算法底层是二进制逻辑:AND(全 1 才 1)、OR(有 1 则 1)、NOT(取反)、XOR(异或,不同为 1、相同为 0)——XOR 是密码学里最常用的运算(很多算法、CBC 链接、流密码都靠它)。
真实案例
- 一次性密码本(One-Time Pad):密钥随机、至少与消息等长、只用一次、物理保密——理论上绝对安全,但因密钥分发与管理不现实,难以大规模用。
- 挑战-响应:Alice 让 Bob 用共享密钥加密一段”挑战”来证明身份——这就是认证的日常实现。
考试怎么考
- 题型 A:问”哪个密码学目标能防止发送方抵赖” → Nonrepudiation(不可否认);问”防篡改” → Integrity。
- 题型 B:Kerckhoffs 原则的核心表述(除密钥外公开也安全)。
- 必记混淆项:① 对称 ≠ 不可否认;② 密钥空间随比特数指数增长;③ 混淆≠扩散(前者藏密钥关系,后者散播改动);④ “security through obscurity” 是反面做法。
记忆口诀
“四目标:保完认证否(保密/完整/认证/不可否认);柯氏原则:算法公开密钥藏;混淆乱关系、扩散散改动;XOR 异或最常用。”
自测
- 为什么对称加密系统无法提供不可否认性(nonrepudiation)?(答:通信双方共用一把密钥,都能生成相同密文,无法证明消息具体出自哪一方)
- 依据 Kerckhoffs 原则,一个密码系统的安全性应当依赖于什么保持机密?(答:密钥 key,而非算法本身)