Saltar al contenido
ecdsa.com
AceptableWeierstrass corta

SM2

SM2 es la curva elíptica china de 256 bits, que se usa con los algoritmos de firma y de intercambio de claves SM2 y con el hash SM3.

SM2 es una curva de Weierstrass corta y² = x³ + ax + b sobre un campo primo de 256 bits, con un subgrupo de orden primo de 256 bits y cofactor 1; su nivel de seguridad estimado es de 128 bits. Estado: segura, pero regional o de nicho.

La curva es y² = x³ − 3x + b sobre p = 2^256 − 2^224 − 2^96 + 2^64 − 1; la publicó en 2010 la Oficina de Administración Estatal de Criptografía Comercial de China (OSCCA) y se estandarizó como GB/T 32918. OpenSSL la llama SM2 y TLS la incluye como curveSM2.

El algoritmo de firma SM2 no es ECDSA: el firmante primero calcula el hash de un identificador de usuario y de la clave pública para obtener un valor Z_A que se antepone al mensaje, y la ecuación de firma es distinta, así que una clave SM2 no puede comprobarse con un verificador ECDSA. El RFC 8998 lleva SM2 y SM3 a TLS 1.3 (grupo 41, esquema de firma sm2sig_sm3), y el RFC 9563, a DNSSEC como algoritmo 17.

Nombres en los estándares

EstándarNombre
GB/T 32918.5-2017SM2
OpenSSLSM2
IANA TLScurveSM2

Identificadores de objeto

Parámetros de dominio

campo primo de 256 bits · seguridad de unos 128 bits

Primo del campo p
0xfffffffeffffffffffffffffffffffffffffffff00000000ffffffffffffffff
Coeficiente a
0xfffffffeffffffffffffffffffffffffffffffff00000000fffffffffffffffc
Coeficiente b
0x28e9fa9e9d9f5e344d5a9e4bcf6509a7f39789f515ab8f92ddbcbd414d940e93
Punto base x
0x32c4ae2c1f1981195f9904466a39c9948fe30bbff2660be1715a4589334c74c7
Punto base y
0xbc3736a2f4f6779c59bdcee36b692153d0a9877cc62a474002df32e52139f0a0
Orden n del punto base
0xfffffffeffffffffffffffffffffffff7203df6b21c6052b53bbf40939d54123
Cofactor h
0x1

Se usa en

  • Chinese commercial cryptography (SM2/SM3/SM4)
  • TLS 1.3 (RFC 8998)
  • DNSSEC (algorithm 17)

Identificadores en registros

Grupos admitidos de TLS
curveSM2 0x0029curveSM2MLKEM768 0x11EE
Esquemas de firma de TLS
sm2sig_sm3 0x0708
Números de algoritmo DNSSEC
SM2SM3 17

Estándares y referencias

Todas las curvas