前言

现代密码学已经不只是“加密解密”这么简单,而是一套覆盖保密性、完整性、身份认证、隐私保护与未来安全演进的系统工程。

如果把它当作一张能力地图,可以整理为下面这棵树:

1
2
3
4
5
6
7
8
9
10
11
12
13
现代密码学体系
├── 数据保密性(基础三要素)
│ ├── 对称加密(按处理方式:分组加密 AES / 流加密 ChaCha20)
│ └── 非对称加密(RSA、ECC、SM2)
├── 数据完整性/摘要
│ └── 单向杂凑/哈希(SHA-256、SM3)
├── 隐私计算与高级应用
│ ├── 同态加密(密文直接计算)
│ ├── 零知识证明 ZKP(不泄露信息的证明)
│ └── 多方安全计算 MPC(多端联合计算)
└── 未来安全演进
├── 传统密码(面临量子威胁)
└── 后量子密码 PQC(抗量子破解,如基于格的 ML-KEM/ML-DSA)

下面按这四层结构展开。

一、数据保密性

1. 对称加密:快,适合大数据量

对称加密的核心特点是“加密和解密使用同一把密钥”。它计算效率高,通常用于实际业务中的数据传输与数据存储加密。

常见算法:

  • AES(Advanced Encryption Standard,分组加密)
  • ChaCha20(流加密)

对比:

维度 AES ChaCha20
类型 分组加密 流加密
性能特点 在有 AES 指令集的 CPU 上非常快 在通用软件实现和移动端常表现更稳
常见组合 AES-GCM(机密性+完整性) ChaCha20-Poly1305(机密性+完整性)
典型场景 TLS、磁盘加密、数据库加密 TLS、移动端、物联网设备

工程建议:

  1. 新项目优先使用 AEAD 套件(如 AES-GCM、ChaCha20-Poly1305),不要只做“裸加密”。
  2. 密钥、随机数(nonce/IV)必须规范管理,nonce 复用会直接破坏安全性。
  3. 不要自行设计加密模式,优先用成熟密码库默认安全配置。

2. 非对称加密:解决密钥分发与身份认证

非对称加密使用公钥/私钥对。公钥可公开,私钥必须保密。

常见算法:

  • RSA:历史最广泛,生态成熟
  • ECC(椭圆曲线密码):同等安全级别下密钥更短、性能更好
  • SM2:国密体系中的椭圆曲线公钥算法

典型用途:

  1. 密钥交换(协商对称密钥)
  2. 数字签名(身份认证 + 不可抵赖)
  3. 证书体系(PKI)

注意:

  • 非对称加密通常比对称加密慢,适合“交换密钥/签名”,不适合直接加密大文件。
  • 现代协议普遍采用“混合加密”:先非对称协商,再对称传输。

二、数据完整性与摘要

完整性回答的问题是:数据有没有被改动。

1. 单向杂凑(哈希)

常见算法:SHA-256、SM3。

哈希函数的关键性质:

  1. 输入任意长度,输出固定长度摘要。
  2. 单向性:由摘要反推原文在计算上不可行。
  3. 抗碰撞:难以构造两段不同消息得到相同摘要。

应用场景:

  • 文件完整性校验(下载镜像、安装包)
  • 区块链中的区块链接与交易摘要
  • 密码存储(需结合加盐和专用 KDF,而不是直接哈希)

2. 从“摘要”到“可验证完整性”

只给哈希值还不够,因为攻击者可以“替换文件 + 替换摘要”。

工程上通常使用:

  1. HMAC(带密钥的消息认证码):验证消息完整性与来源
  2. 数字签名:公开可验证,适合分发场景

可以理解为:

  • 哈希 = 指纹
  • HMAC = 带共享密钥的指纹
  • 数字签名 = 用私钥“盖章”的指纹

三、隐私计算与高级应用

传统密码学关注“传输和存储时安全”,隐私计算更进一步:
在“数据可用但不可见”的前提下完成计算。

1. 同态加密(HE)

目标:在密文上直接计算,解密后结果等同于明文计算结果。

优势:

  • 数据全程不明文暴露给计算方。

挑战:

  • 计算开销大、延迟高。
  • 工程落地需要在“安全性、精度、性能”之间做权衡。

典型场景:

  • 医疗、金融等高敏数据外包计算
  • 隐私保护机器学习推理

2. 零知识证明(ZKP)

目标:证明“我知道某个秘密/我满足某个条件”,但不泄露秘密本身。

经典性质:

  1. 完备性:真的命题可被证明者说服。
  2. 可靠性:假的命题难以骗过验证者。
  3. 零知识性:证明过程不泄露额外信息。

典型场景:

  • 区块链扩容与隐私交易
  • 身份认证(证明“有权限”而不暴露具体身份信息)
  • 可验证计算(证明计算过程正确)

3. 多方安全计算(MPC)

目标:多个参与方联合计算函数结果,但各方不暴露自己的原始输入。

典型场景:

  • 联合风控、联合建模
  • 跨机构数据协同分析

常见挑战:

  • 通信轮次多、网络开销大
  • 协议复杂,工程调优成本高

四、未来安全演进:从传统密码到后量子密码

1. 传统公钥算法的量子风险

量子计算对不同算法影响不同:

  1. RSA、ECC:受 Shor 算法威胁显著,理论上可被多项式时间破解。
  2. 对称密码与哈希:主要受 Grover 算法影响,安全强度大致“减半”。

这意味着:

  • 现有 RSA/ECC 体系需要提前准备替换或混合过渡。
  • 对称密钥长度可通过加长缓解(例如从 128 位提升到 256 位)。

2. 后量子密码(PQC)

PQC 是在经典计算机上运行、但能抵抗已知量子攻击模型的密码算法。

当前主流方向之一是基于格问题的算法,例如:

  • ML-KEM(用于密钥封装)
  • ML-DSA(用于数字签名)

迁移策略建议:

  1. 先做资产盘点:识别系统中所有 RSA/ECC 使用点。
  2. 建立密码敏捷性:算法可配置、可替换、可灰度。
  3. 采用混合方案:经典算法 + PQC 并行,逐步切换。
  4. 重点关注长期敏感数据:防范“先窃取、后解密”风险。

五、工程选型速查

如果你在做系统设计,可以按下面的“问题到方案”快速映射:

  1. 要高性能保密传输:优先 AEAD(AES-GCM 或 ChaCha20-Poly1305)。
  2. 要开放验证身份:公钥签名体系(RSA/ECC/SM2,按合规要求选型)。
  3. 要检测篡改:哈希 + HMAC/签名,不要只放一个裸摘要。
  4. 要在不暴露数据前提下计算:评估 HE/ZKP/MPC 的安全收益与性能成本。
  5. 要面向 5~10 年安全周期:把 PQC 迁移纳入技术路线图。

六、总结

现代密码学体系可以概括为一句话:

从“保密”走向“可验证”,再走向“可计算的隐私保护”,最终走向“抗量子长期安全”。

对研发团队来说,真正的关键不是“会几个算法名词”,而是建立一套可持续演进的密码工程能力:

  1. 默认安全配置
  2. 密钥生命周期管理
  3. 算法敏捷与合规治理
  4. 面向未来的 PQC 迁移准备

这套能力,才是现代系统长期可信的底座。