混合加密Hybrid Encryption)是把 非对称加密对称加密 组合使用的工程模式:非对称部分负责安全建立或包裹短期密钥,对称部分负责高效加密大量数据。

核心问题

对称加密速度快,但密钥分发困难;非对称加密便于密钥分发和身份表达,但速度慢、数据长度受限。混合加密解决的是“如何同时获得公钥体系的分发能力和对称加密的高性能”。

核心机制

常见流程有两类:

  1. 密钥封装 / 信封加密:随机生成数据密钥 K,用 K 加密数据,再用接收方公钥或 KMS 主密钥包裹 K
  2. 密钥协商:双方通过 密钥交换 得到共享秘密,再派生出会话密钥,用 认证加密 保护后续流量。

可以简化为:

其中 P 是明文,A 是关联数据,C 是密文,E 是被公钥或主密钥包裹的数据密钥。

工程用途

  • TLS / HTTPS:握手阶段建立密钥,记录层用对称算法加密流量。
  • PGP / 邮件加密:用随机会话密钥加密正文,再用接收方公钥加密会话密钥。
  • KMS 信封加密:KMS 保护数据密钥,应用用数据密钥加密对象或字段。
  • 大文件加密:避免用慢速公钥算法直接处理大文件。

边界与常见坑

  • 混合加密不是两个算法简单拼接:必须绑定算法、版本、接收者身份、关联数据和上下文。
  • 公钥可信性仍要验证:否则攻击者可以替换公钥,让密钥封装给自己。
  • 数据密钥要短期化:长期复用同一个数据密钥会扩大泄露影响。
  • 不要忽略完整性:数据密文和被包裹密钥都需要认证或签名保护。
  • 元数据可能泄露信息:接收者列表、文件大小、时间戳和算法版本可能仍是敏感信息。

相关术语