DeepSeal — 本地加密笔记应用,你的隐私只有你说了算。 免费下载 → ×
RSA

RSA 加密 / 解密

RSA 非对称加密、解密、密钥对生成,支持 1024/2048/4096 位密钥。

P0
密钥对生成(Web Crypto)
使用浏览器原生 Web Crypto API 生成 RSA 密钥对,安全可信。
公钥(Public Key · PEM)
私钥(Private Key · PEM)
明文
密文(Base64)

RSA 加密 / 解密在线工具

RSA 是由 Ron Rivest、Adi Shamir、Leonard Adleman 于 1977 年提出的非对称加密算法。它使用一对数学相关的密钥: 公钥用于加密,私钥用于解密。RSA 是 HTTPS/TLS、SSH、PGP、区块链等基础设施的核心算法。 本工具使用浏览器原生 Web Crypto API 生成密钥对,使用 jsencrypt 进行加密解密(PKCS#1 v1.5 填充)。

密钥长度选择

  • 1024 位:已不安全,仅用于历史兼容测试。
  • 2048 位:当前主流,安全至 2030 年左右,性能与安全的平衡点。
  • 4096 位:最高安全等级,性能较慢,用于长期归档。

RSA 单次加密长度限制

由于填充开销,RSA 单次加密的明文长度不能超过 密钥字节数 - 11。例如 2048 位(256 字节)密钥最多加密 245 字节明文。 实践中超过此长度需分段加密或改用 混合加密:用 RSA 加密一个 AES 密钥,再用 AES 加密数据(TLS、PGP 都采用此方式)。

混合加密实践

RSA 速度远慢于 AES(约慢 100-1000 倍),因此加密大文件时直接使用 RSA 既低效又会触及长度限制。现代加密系统普遍采用混合加密(Hybrid Encryption)方案:首先随机生成一个一次性的 AES 会话密钥,用 AES 加密实际数据;然后用接收方的 RSA 公钥加密这个 AES 会话密钥;最后将加密的会话密钥与密文一同发送。接收方用私钥解密出 AES 密钥,再用它解密数据。

这正是 TLS/HTTPS、PGP/GPG、JWE(JSON Web Encryption)的工作方式。混合加密兼顾了 RSA 解决密钥分发问题的优势和 AES 加密大块数据的高效性。本工具适合 RSA 算法验证、小数据加密、密钥对测试。如需加密大文件,建议使用 PGP 工具,它内置了完整的混合加密流程。

私钥安全:RSA 私钥泄露意味着所有用对应公钥加密的数据都可被解密。建议使用本地加密笔记应用(如 DeepSeal)保管私钥,永远不要通过邮件、聊天工具发送未加密的私钥。生产环境的密钥应当存储在 HSM(硬件安全模块)或 KMS(密钥管理服务)中。

RSA 常见问答

RSA 加密原理是什么?
RSA 是基于大整数分解难题的非对称加密算法,由 Rivest、Shamir、Adleman 于 1977 年提出。使用一对密钥:公钥加密、私钥解密。安全性依赖于分解两个大素数的乘积在计算上不可行。
RSA 密钥长度选多少合适?
2048 位是当前推荐的最小长度,NIST 规定 2030 年前 2048 位安全。1024 位已被认为不安全。对长期数据保护(2030 年后)建议使用 4096 位。
RSA 和 AES 有什么区别?什么时候用哪个?
RSA 是非对称加密,速度慢但解决了密钥分发问题,适合加密小数据(如会话密钥)。AES 是对称加密,速度快,适合加密大量数据。实际应用中通常混合使用:RSA 加密 AES 密钥,AES 加密数据。
为什么 RSA 加密有长度限制?
RSA 单次加密的数据长度不能超过密钥长度减去填充长度。2048 位密钥用 PKCS#1 v1.5 填充最多加密 245 字节。加密更长数据需要分块或混合使用对称加密。

HyperGrad 生态还有这些站