混合加密(Hybrid Encryption)是把 非对称加密 和 对称加密 组合使用的工程模式:非对称部分负责安全建立或包裹短期密钥,对称部分负责高效加密大量数据。
核心问题
对称加密速度快,但密钥分发困难;非对称加密便于密钥分发和身份表达,但速度慢、数据长度受限。混合加密解决的是“如何同时获得公钥体系的分发能力和对称加密的高性能”。
核心机制
常见流程有两类:
可以简化为:
其中 P 是明文,A 是关联数据,C 是密文,E 是被公钥或主密钥包裹的数据密钥。
工程用途
- TLS / HTTPS:握手阶段建立密钥,记录层用对称算法加密流量。
- PGP / 邮件加密:用随机会话密钥加密正文,再用接收方公钥加密会话密钥。
- 云 KMS 信封加密:KMS 保护数据密钥,应用用数据密钥加密对象或字段。
- 大文件加密:避免用慢速公钥算法直接处理大文件。
边界与常见坑
- 混合加密不是两个算法简单拼接:必须绑定算法、版本、接收者身份、关联数据和上下文。
- 公钥可信性仍要验证:否则攻击者可以替换公钥,让密钥封装给自己。
- 数据密钥要短期化:长期复用同一个数据密钥会扩大泄露影响。
- 不要忽略完整性:数据密文和被包裹密钥都需要认证或签名保护。
- 元数据可能泄露信息:接收者列表、文件大小、时间戳和算法版本可能仍是敏感信息。