跳到主要内容
安全2026-09-104 分钟阅读

SM2 和 RSA 怎么选?国密椭圆曲线与国际公钥算法的完整对比

一句话结论

有国密合规要求(等保、政务、金融、央企)选 SM2;纯技术选型两者都安全,SM2 密钥更短、RSA 生态更成熟。 大多数真实场景里这不是算法优劣问题,是合规问题。

两者是什么

  • RSA:1977 年提出的公钥算法,安全性基于大整数分解难题。全球生态最广泛的公钥算法——HTTPS 证书、SSH、JWT 签名的主流选择。
  • SM2:2010 年由中国密码管理局发布,2016 年成为国家标准 GB/T 32918。基于 256 位椭圆曲线(SM2 曲线),安全性基于椭圆曲线离散对数难题(ECDLP)。

关键维度对比

维度SM2RSA
数学基础椭圆曲线离散对数大整数分解
推荐密钥长度256 位2048 位(3072 位更稳妥)
安全强度换算256 位 SM2 ≈ 3072 位 RSA3072 位 ≈ 128 位安全强度
签名速度快(标量乘法)慢(大数模幂)
验签速度慢快
密文/签名长度短(签名 ~70 字节 DER)长(2048 位签名 256 字节)
生态国内完善(密码卡、UKey、国密 TLS)全球通用
合规等保三级+/政务/金融必须不满足国密要求

性能细节:SM2 签名快、验签慢;RSA 相反(验签快,可用小指数 e=65537 优化)。证书验签频繁的场景(TLS 握手)RSA 验签优势明显;签名频繁的场景(物联网设备上报)SM2 更省。

实际选型的三个问题

1. 有没有合规要求?

等保 2.0 三级及以上、政务系统、金融(人行/银保监要求)、央企信息化——必须 SM2(通常搭配 SM3、SM4 组成国密套件)。没有硬性合规,两者自由选。

2. 对端系统是什么?

算法选型经常被对端决定:对接政务平台要 SM2 证书;对接国际支付渠道要 RSA。混合场景(如国密改造过渡期)常见双证书并行——同一系统同时持有 SM2 和 RSA 证书,按对端协商使用。Nginx + 国密分支(如 BabaSSL/Tongsuo)支持双证书部署。

3. 密钥长度敏感吗?

物联网、嵌入式场景里 256 位 SM2 私钥比 3072 位 RSA 私钥省一个数量级的存储和带宽,签名长度也更短(70 vs 384 字节),窄带网络收益明显。

联调最常见的坑:C1C3C2 vs C1C2C3

SM2 密文由三段组成:C1(椭圆曲线点)、C2(密文数据)、C3(SM3 摘要)。老标准(GM/T 0003)是 C1C2C3 顺序,新国标(GB/T 32918.4-2016)推荐 C1C3C2——两者不互通,联调失败九成是这里:

  • Java BouncyCastle 默认 C1C2C3,可传参切换
  • 前端 sm-crypto 库通过 cipherMode 参数区分(1=C1C3C2)
  • 对端解不开时,第一件事确认双方密文结构

可以用本站的 SM2 在线工具做联调验证:生成密钥对、加密已知明文,把密文发给对端解密,能对上说明格式一致。

密钥格式速查

SM2 公钥:130 位 hex(04 前缀 + X 32字节 + Y 32字节,非压缩格式)
SM2 私钥:64 位 hex(32 字节标量)

公钥还有压缩格式(66 位 hex)形态,部分 HSM/UKey 输出压缩格式,联调时注意转换。

迁移 RSA → SM2 的注意点

  1. 证书体系重建:需要国密 CA 签发的 SM2 证书(CFCA、上海CA 等)
  2. TLS 栈:标准 OpenSSL 不支持国密 TLS,需 Tongsuo(原 BabaSSL)或 GmSSL 分支
  3. 数据兼容:存量 RSA 加密数据要先解密迁移,不能直接换算法
  4. 双算法过渡期:建议双证书并行 3-6 个月,灰度切流

排查清单

  1. 有合规要求 → SM2 无悬念
  2. 对端用啥我用啥(联调先对密文结构 C1C3C2/C1C2C3)
  3. 验签频繁(TLS)RSA 有优势;签名频繁(物联网)SM2 有优势
  4. 迁移走双证书过渡,不要一刀切
  5. 联调问题先用在线 SM2 工具隔离验证算法层,再查传输层

排查注记

一句话结论把选型压成「合规问题而非算法优劣」,后面的三个实际选型问题按此展开:先问有没有合规要求,再问对端是什么——算法选型经常被对端决定,混合场景用双证书并行过渡。对比表里签名/验签速度特意分列且方向相反(SM2 签名快验签慢、RSA 正好反过来),对应两种典型负载:TLS 握手验签频繁 RSA 占优,物联网上报签名频繁 SM2 省资源。联调坑只写一个——C1C3C2 与 C1C2C3 密文顺序,理由明说:联调失败九成是这里。


感谢阅读这篇 ToolVault 工具匣 技术文章。相关工具:SM2 加解密与签名、SM3 哈希、SM4 加解密、JWT 解码。相关阅读:国密算法入门指南、SM3 和 SHA-256 的区别。访问 首页 查看更多开发者工具。