HSM KitHSM 工具箱
中文

RSA 加密指南:密钥、填充方案与使用场景

加密# RSA# 公钥# OAEP# PKI
最后更新: 2026年4月3日5 分钟阅读By HSM Kit Team
现在需要计算吗?
使用我们免费的在线 RSA 加密工具 工具。

RSA 是公钥密码学的基础。它保护 HTTPS 连接、签署软件更新、保护电子邮件安全。理解 RSA 有助于您在密钥长度、填充方案以及何时使用 RSA 与 ECC 等方面做出更好的决策。

什么是 RSA?

RSA(Rivest–Shamir–Adleman,1977 年)是一种基于大数分解数学难题的非对称加密算法

与使用单一密钥的 AES 不同,RSA 使用密钥对

  • 公钥:可以公开分享,用于加密或验证签名
  • 私钥:必须保密,用于解密或创建签名

RSA 的数学原理(简化版)

RSA 的安全性依赖于:将两个大质数相乘很容易,但将乘积分解回质数在计算上不可行。

密钥生成

  1. 选择两个大质数 pq
  2. 计算 n = p × q(模数)
  3. 计算 φ(n) = (p-1)(q-1)
  4. 选择 e(公开指数,通常为 65537)
  5. 计算 d 使得 e × d ≡ 1 (mod φ(n))(私有指数)

公钥:(n, e)
私钥:(n, d)

加密与解密

  • 加密:C = M^e mod n
  • 解密:M = C^d mod n

RSA 密钥长度

密钥长度安全级别状态
1024 位已被破解禁止使用
2048 位~112 位安全最低可接受标准
3072 位~128 位安全推荐使用
4096 位~140 位安全高安全性 / 速度较慢

NIST 建议 2030 年前最低使用 2048 位,之后使用 3072 位

填充方案——安全性的关键

原始 RSA(教科书 RSA)不安全,必须使用填充方案:

PKCS#1 v1.5 —— 传统方案

  • 广泛支持,用于 TLS 1.2 及更早版本
  • 若实现不当,易受 Bleichenbacher 攻击
  • 签名场景仍可接受,新系统加密场景应避免使用

OAEP(最优非对称加密填充)—— 加密推荐方案

  • 使用哈希函数的随机化填充
  • 抵抗选择密文攻击
  • 新实现使用 OAEP-SHA256

PSS(概率签名方案)—— 签名推荐方案

  • 签名的随机化填充
  • 可证明安全(不同于 PKCS#1 v1.5 签名)
  • 某些现代标准要求使用

RSA 与 ECC 对比

属性RSA-2048ECC-256
安全级别~112 位~128 位
密钥大小2048 位256 位
性能较慢快得多
密钥生成
签名大小
兼容性通用广泛支持

对于新系统,通常优先选择 ECC——更小的密钥、更快的操作、相同甚至更好的安全性。详见 ECC 指南

RSA 实践应用

何时使用 RSA 加密

  • 加密少量数据(如 AES 密钥)
  • 兼容遗留系统
  • 基于证书的系统(TLS、S/MIME)

何时不使用 RSA 加密

  • 加密大量数据(使用 AES + RSA 封装 AES 密钥)
  • 高性能系统(改用 ECC)

混合加密模式

RSA 几乎总是与混合方案结合使用:

  1. 生成随机 AES 密钥
  2. 用 AES 加密数据
  3. 用 RSA 公钥加密 AES 密钥
  4. 同时发送加密的 AES 密钥和加密数据

这样既获得 RSA 的密钥交换安全性,又保留 AES 的高性能。

RSA 密钥格式

PEM 格式

带有页眉/页脚的 Base64 编码 DER:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
-----END PUBLIC KEY-----

DER 格式

ASN.1 结构的二进制编码。使用我们的 ASN.1 解析器 检查 DER 编码的密钥,或使用 RSA DER 公钥解码器 提取密钥参数。

常见 RSA 陷阱

问题风险解决方案
小密钥(< 2048 位)分解攻击使用 2048+ 位密钥
无填充教科书 RSA 攻击始终使用 OAEP 或 PSS
加密和签名使用同一密钥跨协议攻击使用独立密钥对
弱随机数生成器密钥泄露使用操作系统 CSPRNG

在线工具

使用我们的 RSA 加密工具

  • 生成 RSA 密钥对(1024/2048/4096 位)
  • 使用 PKCS#1 v1.5 或 OAEP 加密/解密
  • 使用 PKCS#1 或 PSS 签名/验证
  • 以 PEM/DER 格式导出密钥

如需解析证书中的 RSA 公钥,请使用 RSA DER 公钥解码器

相关工具
RSA 加密工具