SM2(椭圆曲线公钥密码算法)

SM2 椭圆曲线公钥密码算法
设计者
中国国家密码管理局
首次发布
2010年
类别
非对称公钥密码
数学基础
椭圆曲线离散对数难题
曲线
SM2 P-256 (256 位素数域)
功能
数字签名 / 密钥交换 / 公钥加密
标准
GM/T 0003-2012
GB/T 32918-2016
ISO/IEC 14888-3:2018
安全状态
安全

SM2是中国国家密码管理局发布的椭圆曲线公钥密码算法标准(GM/T 0003-2012),涵盖三个功能模块:数字签名、密钥交换和公钥加密。SM2 使用一条 256 位的专用椭圆曲线,对标 ECDSA/ECDH 等国际标准。

SM2 椭圆曲线参数
SM2 曲线方程: y² = x³ + ax + b (mod p) p = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFF a = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFC b = 28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7 F39789F5 15AB8F92 DDBCBD41 4D940E93 n = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF 7203DF6B 21C6052B 53BBF409 39D54123 G = (32C4AE2C 1F198119 5F990446 6A39C994 8FE30BBF F2660BE1 715A4589 334C74C7, BC3736A2 F4F6779C 59BDCEE3 6B692153 D0A9877C C62A4740 02DF32E5 2139F0A0)
三个功能模块
模块功能对标国际标准说明
SM2-1数字签名ECDSA生成/验证数字签名,用于身份认证和不可否认性
SM2-2密钥交换ECDH双方协商共享密钥,支持前向保密
SM2-3公钥加密ECIES使用对方公钥加密消息,配合 SM3 和 SM4
与 ECDSA 对比
特性SM2ECDSA (P-256)
曲线SM2 P-256 (专用)NIST P-256
密钥长度256 bit256 bit
签名长度~512 bit (r, s)~512 bit (r, s)
签名速度相当相当
曲线选择中国自主NIST (受 NSA 信任度争议)
标准SCA / ISONIST / ISO
应用
  • 电子政务:政务 CA 证书、电子签章
  • 金融:银联卡、网上银行(替代 RSA)
  • 国密 TLS:GM/T 0024 SSL VPN
  • 身份认证:eID 电子身份证
  • 区块链:合规链使用 SM2 签名
参考文献
  1. 国家密码管理局 (2012). "SM2 椭圆曲线公钥密码算法". GM/T 0003-2012.
  2. 国家标准委 (2016). "信息安全技术 SM2椭圆曲线公钥密码算法". GB/T 32918-2016.
  3. ISO/IEC 14888-3:2018. "Digital signatures with appendix — Part 3: Discrete logarithm based mechanisms."