CyberGlossary

密码学

RSA 算法

别称: RSA, Rivest–Shamir–Adleman

定义

由 Rivest、Shamir 与 Adleman 于 1977 年提出的公钥算法,其安全性基于对两个大素数乘积进行因数分解的困难性。

RSA 选择两个大素数 p 与 q,计算模数 n = p·q 与欧拉函数 φ(n),然后选择公开指数 e(通常为 65537),并计算私有指数 d 作为 e 在模 φ(n) 下的逆元。加密为 m^e mod n,解密为 c^d mod n。RSA 既支持加密(配合 OAEP 等填充方案),也支持数字签名(RSA-PSS)。其安全性依赖于整数因数分解的假设性困难;为达到 128 位等效安全,NIST 当前要求 RSA 密钥至少 3072 位。RSA 比椭圆曲线方案慢,并且在大规模量子计算机面前不再安全,因此正在标准化 ML-KEM、ML-DSA 等后量子方案以在新部署中取代它。

示例

  • 2020 年之前签发的多数 TLS 服务器证书使用 RSA-2048 或 RSA-3072 密钥。
  • GPG 邮件签名常使用 4096 位的 RSA 密钥对。

相关术语