什么是 RSA?
RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,使用一对密钥——公钥用于加密,私钥用于解密。它是最早的实用公钥密码系统之一,广泛用于安全数据传输。
快速了解
| 全称 | Rivest-Shamir-Adleman |
|---|---|
| 创建时间 | 1977 年由 Rivest、Shamir 和 Adleman 发明 |
| 规范文档 | 官方规范 |
工作原理
RSA 于 1977 年由麻省理工学院的 Ron Rivest、Adi Shamir 和 Leonard Adleman 发明。其安全性依赖于分解两个大素数乘积的实际困难性。RSA 可用于加密和数字签名。对于加密,发送者使用接收者的公钥;对于签名,签名者使用其私钥。常见的密钥大小是 2048 和 4096 位。虽然 RSA 比 AES 等对称算法慢,但它通过允许在不共享密钥的情况下进行安全通信来解决密钥分发问题。
主要特点
- 非对称加密(公钥/私钥对)
- 基于分解大素数的困难性
- 用于加密和数字签名
- 常见密钥大小:2048、3072、4096 位
- 比对称加密慢
- 解决密钥分发问题
常见用途
- SSL/TLS 证书密钥交换
- 数字签名
- 电子邮件加密(PGP/GPG)
- 安全密钥交换
- 代码签名
示例
loading...
Loading code...常见问题
什么是 RSA 加密算法?
RSA 是一种非对称加密算法,使用一对数学相关的密钥:公钥用于加密数据,私钥用于解密。其安全性基于大素数分解的计算困难性,是目前最广泛使用的公钥加密算法之一。
RSA 的公钥和私钥是如何工作的?
公钥可以公开分享,任何人都可以用它加密消息;但只有持有对应私钥的人才能解密。用于数字签名时则相反:私钥签名,公钥验证。这解决了对称加密中密钥分发的难题。
RSA 密钥长度应该选择多少位?
目前推荐至少使用 2048 位密钥,对于需要长期安全性的应用建议使用 3072 或 4096 位。1024 位密钥已被认为不够安全。密钥越长安全性越高,但计算速度也越慢。
RSA 和 AES 有什么区别?应该用哪个?
RSA 是非对称加密(公钥/私钥),适合密钥交换和数字签名,但速度较慢;AES 是对称加密(单一密钥),速度快,适合加密大量数据。实际应用中通常结合使用:用 RSA 安全交换 AES 密钥,再用 AES 加密实际数据。