为什么要做强度换算
不同算法族达到同一安全强度所需的密钥长度并不相同,NIST SP 800-57 给出的对照表是选型与合规评估的通用尺子。核心结论是:128 位安全强度对应 AES-128、SHA-256(抗碰撞)、RSA-3072 与 ECC P-256。差异如此之大,是因为对称算法、因子分解问题与椭圆曲线离散对数问题在已知最佳攻击下的复杂度完全不同。
基本信息
| 参照标准 | NIST SP 800-57 Part 1 Rev.5 表 2 |
|---|---|
| 128 位强度 | AES-128 / RSA-3072 / P-256 / SHA-256 |
| 192 位强度 | AES-192 / RSA-7680 / P-384 / SHA-384 |
| 256 位强度 | AES-256 / RSA-15360 / P-521 / SHA-512 |
| 评估原则 | 按方案中最弱的一环确定整体等级 |
| 哈希口径 | 抗碰撞强度约等于摘要长度的一半 |
安全强度对照
| 安全强度 | 对称算法 | RSA / DH | ECC | 哈希(抗碰撞) |
|---|---|---|---|---|
| 112 位 | 3TDEA(历史) | 2048 位 | P-224 | SHA-224 |
| 128 位 | AES-128 | 3072 位 | P-256 | SHA-256 |
| 192 位 | AES-192 | 7680 位 | P-384 | SHA-384 |
| 256 位 | AES-256 | 15360 位 | P-521 | SHA-512 |
典型使用场景
- 方案选型:按目标强度确定各环节的算法与长度
- 合规评估:对照标准表说明所用参数为何满足要求
- 整改清单:把 RSA-2048 标注为需要排期迁移的项目
- 迁移规划:确定从 RSA 转向 ECC 或后量子算法的节奏
- 对外沟通:用统一的强度口径解释参数选择依据
常用换算结论
常用换算结论
RSA-2048 约等于 112 位安全强度,当前仍广泛使用,但已临近迁移窗口
ECC P-256 约等于 128 位,公钥约 64 字节(未压缩 65 字节)
SHA-256 提供约 128 位抗碰撞强度,即摘要长度的一半
对称算法不需要折算:128 位密钥即 128 位强度评估方案强度时应按最弱环节计算:签名算法、哈希、密钥交换与协议版本共同决定整体等级。
不要把位数直接当强度:2048 位 RSA 与 2048 位对称密钥完全不是一个量级,后者在实际中既不使用也不需要。
换算表随密码分析进展会更新:这里反映当前公认水平,选型时以最新标准文档为准,不要照抄旧资料里的长度建议。