为什么不能直接比位数
不同算法的密钥长度不能横着比较:对称算法、基于大整数分解的算法与基于椭圆曲线的算法,达到同一安全强度所需位数完全不同。比较时看的是安全强度位数,也就是攻击者需要付出的计算量级。
换算关系
大致的对应是:128 位安全强度约等于 3072 位大整数算法与 256 位椭圆曲线算法;192 位强度对应 7680 位与 384 位曲线;256 位强度对应 15360 位与 521 位曲线。这套换算是业内选型的通用参照(NIST SP 800-57)。
基本信息
| 参照标准 | NIST SP 800-57 第一部分、SP 800-52 修订版 |
|---|---|
| 128 位强度 | 对称 128 位、大整数 3072 位、椭圆曲线 256 位 |
| 112 位强度 | 较老的对称算法、大整数 2048 位、曲线 224 位 |
| 选型建议 | 满足合规基线即可,盲目加长只会拖慢握手 |
典型使用场景
- 评审合规基线时核对算法强度
- 选型时判断证书的密钥类型与长度是否够用
- 排查「升级密钥长度后性能明显下降」
- 理解为什么椭圆曲线算法的参数更短
查看证书与曲线
查看证书与曲线
openssl x509 -in cert.pem -noout -text | grep -E 'Public-Key|Signature Algorithm' # 看密钥与签名算法
openssl ecparam -list_curves | grep -E 'prime256v1|secp384r1|secp521r1' # 常见曲线
openssl speed ecdsap256 rsa3072 # 粗略对比签名性能安全强度对照
| 安全强度 | 对称 | 大整数算法 | 椭圆曲线 |
|---|---|---|---|
| 约 112 位 | 较老的对称算法 | 2048 | P-224 |
| 128 位 | 128 | 3072 | P-256 |
| 192 位 | 192 | 7680 | P-384 |
| 256 位 | 256 | 15360 | P-521 |
证书与套件按目标合规基线选择即可:常用的对称算法强度与椭圆曲线强度都远超日常需求,继续加长只会让握手更慢。
「位数越大越慢」在椭圆曲线上并不成立:384 位曲线仍比 2048 位大整数算法快,别用后者的思维去挑曲线。
强度取决于整条链上的最弱一环:签名算法、密钥交换与对称算法任何一项落后,整体强度都会被拉低。
评估存量资产时先摸清证书清单:哪些还在用老参数、哪些将在一年内到期,比逐一讨论位数更有效率。