RSA加密/解密工具
公钥加密、私钥解密,支持密钥生成和数字签名
关于RSA加密
RSA是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年发明。RSA是目前应用最广泛的公钥加密算法之一,被广泛应用于数据加密、数字签名和密钥交换。
RSA的安全性基于大整数分解的困难性。它使用一对密钥:公钥用于加密,私钥用于解密。公钥可以公开分发,而私钥必须保密。
功能特点
- 密钥对生成:支持1024、2048、4096位密钥长度
- 公钥加密:使用公钥加密敏感数据
- 私钥解密:使用私钥解密加密数据
- 数字签名:使用私钥对消息进行签名
- 签名验证:使用公钥验证签名的真实性
- 支持多种哈希算法:SHA-1、SHA-256、SHA-384、SHA-512
- 填充模式选择:支持OAEP(推荐)和PKCS#1 v1.5(传统兼容)
- 多格式支持:输入/输出支持文本、Base64、Hex等多种格式
密钥长度选择
选择合适的密钥长度对于安全性和性能至关重要:
- 1024-bit: 1024位:不推荐用于新系统,可能在数年内被破解
- 2048-bit: 2048位:当前推荐的最小长度,适合大多数应用
- 4096-bit: 4096位:提供最高安全性,但加密/解密速度较慢
填充模式
本工具支持两种RSA填充模式,可根据安全需求和兼容性要求选择:
- OAEP: 最优非对称加密填充,提供语义安全性,可防止选择密文攻击。推荐用于新系统。
- PKCS#1 v1.5: 传统填充模式,存在已知的Bleichenbacher攻击漏洞。仅建议在需要与旧系统兼容时使用。
格式选项
本工具支持多种数据格式,方便与不同系统进行交互:
- 文本: 直接输入/输出UTF-8文本,适合处理普通字符串
- Base64: Base64编码格式,常用于网络传输和存储二进制数据
- Hex: 十六进制格式,便于查看和调试二进制数据
使用场景
- 安全通信:加密敏感数据后传输
- 数字签名:验证消息的真实性和完整性
- 密钥交换:安全地交换对称密钥
- 身份认证:验证发送者身份
- 软件许可:生成和验证许可证
安全建议
- 使用至少2048位的密钥长度
- 妥善保管私钥,不要通过不安全的渠道传输
- 定期更换密钥对
- 对于高度敏感的数据,考虑使用4096位密钥
- 结合对称加密使用(混合加密)处理大量数据
RSA的限制
- RSA只能加密有限长度的数据(取决于密钥长度和填充模式)
- RSA加密/解密比对称加密慢得多
- 通常用于加密对称密钥而非直接加密大量数据