RSA 加密 / 解密
RSA 非对称加密、解密、密钥对生成,支持 1024/2048/4096 位密钥。
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(密钥管理服务)中。