加密算法基础95 条

RSA 公钥算法

1977 年提出的公钥算法,基于大整数分解难题,可同时用于加密与签名;RFC 8017(PKCS#1 v2.2)是其主流实现规范,新系统推荐 3072 位密钥。

加密与证书速查安全更新于 2026-10-12
标准RFC 8017 / FIPS 186-5
数学基础大整数分解与模幂运算
常见密钥长度2048 / 3072 / 4096 位
用途数字签名、密钥封装、证书签名

密钥生成与查看

密钥生成与查看
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -out rsa.key
openssl rsa -in rsa.key -pubout -out rsa.pub
openssl rsa -in rsa.key -noout -text | Select-String 'Private-Key'
RSA 加密有长度上限(2048 位密钥配 SHA-256 的 OAEP 约 190 字节),大文件必须采用「RSA 包装对称密钥」的混合加密。

易错点

  • RSA 的强度由密钥长度与填充方案共同决定,误用 PKCS#1 v1.5 加密会引入填充预言风险
  • 签名与加密应使用不同的密钥对与用途标记(KeyUsage),混用会扩大暴露面

数据来源与参考

  • RFC 8017(PKCS #1 v2.2)
  • FIPS 186-5(数字签名标准)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌