首页/安全/加密与证书速查/RSA 加密长度限制与混合加密
本包目录(305 条)
加密算法基础95 条
TLS 与 HTTPS60 条证书与 PKI30 条OpenSSL 实战30 条证书运维排查49 条密钥管理41 条

RSA 加密长度限制与混合加密

RSA 只能加密小于模数的数据:2048 位密钥配 OAEP+SHA-256 的明文上限约 190 字节;实际系统用 RSA 包装随机对称密钥(信封加密)。

加密与证书速查安全更新于 2026-10-12
上限公式k - 2·hLen - 2(k 为模长字节数)
2048 位 + SHA-256256 - 64 - 2 = 190 字节
4096 位 + SHA-256512 - 64 - 2 = 446 字节
实际做法RSA 加密一个 32 字节 AES 密钥

混合加密流程(伪代码)

混合加密流程(伪代码)
1) 生成随机 AES-256 密钥 K 与 IV
2) 用 K 以 AES-GCM 加密数据 → 密文 + tag
3) 用接收方 RSA 公钥(OAEP)加密 K → 封装密钥
4) 传输 {封装密钥, IV, 密文, tag}
5) 接收方先用私钥解出 K,再解密密文
TLS 1.3 已移除 RSA 密钥传输,改用 (EC)DHE 协商会话密钥;混合加密思路仍适用于文件加密与消息系统。

易错点

  • 对每个消息重复使用同一封装密钥会削弱前向保护,建议每条消息新随机会话密钥
  • RSA 加密结果每次不同(随机填充),不能用来做密文比对或去重

数据来源与参考

  • RFC 8017 §7.1(长度约束)
  • RFC 8446 附录 B(移除 RSA 密钥传输)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌