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 异或最常用。”

自测

  1. 为什么对称加密系统无法提供不可否认性(nonrepudiation)?(答:通信双方共用一把密钥,都能生成相同密文,无法证明消息具体出自哪一方)
  2. 依据 Kerckhoffs 原则,一个密码系统的安全性应当依赖于什么保持机密?(答:密钥 key,而非算法本身)

This site uses Just the Docs, a documentation theme for Jekyll.