跳转至

密码学

本章节的状态

这是本板块的大纲与阅读顺序。条目在写完后会作为独立页面加入左侧导航, 此页始终保持为该板块的入口和索引。

阅读顺序

现代密码学与「发明一个别人看不懂的算法」正好相反:它要求先严格定义安全目标和攻击者能力, 再把方案的安全性归约到一个明确的困难假设上。 按这个思路读,每个构造都能回答三个问题:想防住谁、假设什么难、归约怎么做。

一、基础

  • 安全定义的语言:攻击者模型、优势、可忽略函数
  • 归约证明怎么读、怎么写
  • 完美保密与一次性密码本的能力上限
  • 数论工具:模运算、群与有限域、欧拉定理、二次剩余

二、对称密码

  • 分组密码:DES 与 AES 的结构,混淆与扩散
  • 工作模式:ECB 为什么不能用,CBC / CTR / GCM 的区别
  • 流密码与伪随机数生成器
  • 认证加密与 AEAD:为什么加密必须配认证

三、哈希与消息认证

  • 抗原像、抗第二原像、抗碰撞的定义与区别
  • Merkle–Damgård 与 Sponge 结构,长度扩展攻击
  • HMAC 的构造与安全论证
  • 口令存储:为什么需要慢哈希与加盐

四、公钥密码

  • 陷门单向函数的思想
  • RSA:构造、常见误用与攻击
  • 离散对数、Diffie–Hellman 密钥交换
  • 椭圆曲线密码:群运算、曲线选择与实现陷阱
  • 数字签名:RSA-PSS、ECDSA、EdDSA
  • 后量子密码:格基方案的基本思路

五、协议

  • TLS 握手的演进与设计权衡
  • 前向保密的含义与实现
  • 公钥基础设施、证书链与信任模型
  • 常见协议层攻击:中间人、重放、降级

六、现代构造

  • 承诺方案与秘密共享
  • 零知识证明:交互式定义、Fiat–Shamir 变换、zk-SNARK 的组成
  • 安全多方计算(MPC)与同态加密的能力边界

七、工程实现

  • 侧信道:时序、缓存与功耗攻击
  • 常量时间实现的写法
  • 随机数来源与熵管理的实践