2.1 密码学基础回顾


2.1 密码学基础回顾

本节摘要:HE/MPC/ZKP 全建立在密码学上。本节回顾 PETs 需要的密码学基础——对称/非对称加密、哈希、数字签名、承诺、零知识证明雏形。读完你能理解后面章节的密码学语言。

一、对称加密

对称加密:加密和解密用同一密钥。Alice 用密钥 k 加密明文 m 得密文 c,Bob 用同一 k 解密。

代表算法:

  • AES:块密码,128/256 位密钥,工业标准。
  • ChaCha20:流密码,移动端常用(比 AES 在无 AES 硬件时快)。
  • 模式:CBC、GCM(带认证)、CTR。GCM 是推荐模式(加密+认证)。

特点:

  • :硬件加速可达 Gbps 级。
  • 密钥分发难:双方要先共享密钥,如何安全分发是问题。
  • PETs 用途:MPC 中多方共享密钥、TEE 内数据加密、联邦学习通信加密。

二、非对称加密

非对称加密(公钥加密):用密钥对——公钥加密,私钥解密。Alice 用 Bob 的公钥加密,只有 Bob 用私钥能解。

代表算法:

  • RSA:基于大整数分解难。2048/4072 位密钥。
  • ECC(椭圆曲线密码):基于椭圆曲线离散对数难。256 位密钥安全等价 RSA 3072 位,更高效。
  • 后量子(PQC):格密码(Kyber/NTRU)、码密码(McEliece),抗量子攻击。NIST 标准化中。

特点:

  • :比对称慢 100-1000 倍。
  • 解决密钥分发:公钥可公开,用非对称传对称密钥,再用对称加密数据(混合加密,TLS 这么做)。
  • PETs 用途:HE 的密钥生成、MPC 的密钥交换、ZKP 的承诺。

三、哈希函数

哈希函数:把任意长输入映射到固定长输出,单向(不可逆)、抗碰撞(难找两输入同输出)。

代表:

  • SHA-2/SHA-3:NIST 标准,256/512 位输出。
  • BLAKE2/3:更快,现代选择。
  • Keccak:SHA-3 基础,海绵结构。

性质:

  • 单向:给 h 难找 m 使 H(m)=h。
  • 抗弱碰撞:给 m₁ 难找 m₂≠m₁ 使 H(m₁)=H(m₂)。
  • 抗强碰撞:难找任意 m₁≠m₂ 使 H(m₁)=H(m₂)。

PETs 用途:

  • 承诺:承诺值 H(m),后续揭示 m 验证。
  • Merkle 树:大批数据的承诺根。
  • ZKP:电路用哈希约束。
  • 差分隐私:随机响应用哈希。

四、数字签名

数字签名:私钥签名,公钥验证。证明"是私钥持有者签的"且"消息未被改"。

代表:

  • RSA-PSSECDSAEdDSA(Ed25519,确定性签名防侧信道)。

性质:

  • 不可伪造:无私钥难伪造签名。
  • 不可抵赖:签名者不能否认签过。
  • 完整性:消息改则签名失效。

PETs 用途:

  • MPC 消息认证:参与方签名消息防篡改。
  • 联邦学习模型签名:防恶意模型注入。
  • ZKP 证明签名:证明"知道签名"不泄露签名。

五、承诺

承诺(Commitment):两阶段——先"承诺"一个值(不揭示),后"揭示"验证。承诺后不能改(绑定),承诺时不泄露值(隐藏)。

代表:

  • 哈希承诺:C = H(m || r),r 是随机数。隐藏(H 单向)、绑定(抗碰撞)。
  • Pedersen 承诺:C = g^m h^r,基于离散对数。信息论隐藏、计算绑定。
  • 多项式承诺:承诺多项式,后续可打开任意点验证。KZG 承诺是代表,ZKP 用。

PETs 用途:

  • MPC 输入承诺:参与方先承诺输入,防中途改输入。
  • ZKP:证明者承诺见证,验证者挑战,证明者揭示。
  • 拍卖/投票:先承诺出价,后揭示,防"看别人出价再调"。

六、零知识证明雏形

零知识证明(ZKP):证明者让验证者相信"我知道 x 使关系成立",但不泄露 x。

三个性质:

  • 完备性:若证明者真知道 x,验证者接受。
  • 正确性:若证明者不知道 x,验证者拒绝(高概率)。
  • 零知识:验证者只学到"x 存在",不学 x 是什么。

雏形——Schnorr 协议(证明知道离散对数):

  1. 证明者选随机 r,发 A = g^r。
  2. 验证者发随机挑战 c。
  3. 证明者发 z = r + c·x。
  4. 验证者检查 g^z = A·y^c(y = g^x 是公开的)。

这协议是 Σ-协议(3 轮),零知识(验证者学到什么可模拟)。后面 ZKP 章节详述现代 zk-SNARK/zk-STARK。

七、PETs 用到的密码学

总结 PETs 各技术用到的密码学:

PETs 用到的密码学
同态加密 HE 格密码、LWE、RLWE、Bootstrapping
多方安全计算 MPC 秘密共享、不经意传输、混淆电路、承诺、MAC
零知识证明 ZKP Σ-协议、多项式承诺、KZG、FRI、zk-SNARK
差分隐私 DP 随机响应、拉普拉斯/高斯机制、组合定理
联邦学习 FL 对称加密通信、安全聚合、差分隐私
TEE 硬件密钥、远程证明、签名

理解这些基础,后面章节的协议才不陌生。

⚠️ 常见误读:以为"密码学就是加密"。PETs 用到的不只是加密——哈希、签名、承诺、ZKP 都是密码学,且在 PETs 中比加密更核心。

💡 关键直觉:PETs 密码学基础——对称(AES/ChaCha,快但密钥分发难)、非对称(RSA/ECC/PQC,解决分发但慢)、哈希(单向抗碰撞,承诺/Merkle/ZKP)、签名(不可伪造/抵赖,MPC 消息认证)、承诺(绑定+隐藏,MPC 输入/ZKP/拍卖)、ZKP 雏形(Schnorr Σ-协议,零知识三性质)。每项 PETs 用不同组合——HE 用格密码、MPC 用秘密共享+OT、ZKP 用多项式承诺、DP 用随机响应。

重点提炼

  • 对称加密:AES/ChaCha,快但密钥分发难,PETs 用于通信加密。
  • 非对称加密:RSA/ECC/PQC,慢但解决分发,PETs 用于密钥交换/HE 密钥。
  • 哈希:SHA/BLAKE,单向抗碰撞,PETs 用于承诺/Merkle/ZKP 电路。
  • 数字签名:RSA-PSS/ECDSA/EdDSA,不可伪造/抵赖,PETs 用于消息认证/模型签名。
  • 承诺:哈希/Pedersen/多项式(KZG),绑定+隐藏,PETs 用于 MPC 输入/ZKP/拍卖。
  • ZKP 雏形:Schnorr Σ-协议,完备/正确/零知识三性质,现代 zk-SNARK 基础。
  • PETs 密码学映射:HE(格/LWE)、MPC(秘密共享+OT+混淆电路)、ZKP(多项式承诺+KZG/FRI)、DP(随机响应+拉普拉斯)、FL(对称+安全聚合+DP)、TEE(硬件密钥+远程证明)。

学习重点

掌握密码学基础需要抓住三条主线:一是安全目标(保密性、完整性、认证性、不可否认性)与对应原语(加密、MAC、签名)的映射关系;二是安全定义的严格性(计算安全、语义安全)如何指导参数选择;三是密钥管理(生成、分发、存储、轮换、撤销)在真实系统中的重要性——多数隐私事故源于密钥管理不当而非算法被攻破。建议通过 OpenSSL 命令行实践各类密码操作,建立直观认识。

密码学基础是 PETs 的语言与工具:只有理解加密、签名、哈希等原语的安全性质与开销特性,才能正确选择与组合它们构建上层方案。建议本节能做到:能解释每类原语的安全目标与典型参数、能识别常见密码学误用(弱随机数、错误填充、密钥复用)、能独立完成密钥生命周期管理。

推荐实践路径:先通过 OpenSSL 生成 RSA/ECC 密钥对并完成加解密与签名验证,再使用 HashiCorp Vault 搭建密钥管理系统,最后阅读相关密码学标准文档(NIST SP 800 系列)理解参数选择的依据。这些实践能将抽象概念转化为可操作的工程能力,为后续学习同态加密、多方计算等高级原语奠定坚实基础。

牢记一个原则:密码学安全的前提是正确的实现与密钥管理,任何环节的疏忽都可能使整体方案失效,这也是 PETs 工程实践中最常被忽视的风险点。

唯有筑牢这一基础,才能在隐私计算的道路上走得更远。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U