A SM2 é a curva elíptica chinesa de 256 bits, usada com os algoritmos de assinatura e de troca de chaves SM2 e com o hash SM3.
SM2 é uma curva na forma curta de Weierstrass y² = x³ + ax + b sobre um campo primo de 256 bits com um subgrupo de ordem prima de 256 bits e cofator 1; o nível de segurança estimado é de 128 bits. Status: segura, mas regional ou de nicho.
A curva é y² = x³ − 3x + b sobre p = 2^256 − 2^224 − 2^96 + 2^64 − 1, publicada em 2010 pelo Escritório da Administração Estatal de Criptografia Comercial da China (OSCCA) e padronizada como GB/T 32918. O OpenSSL a chama de SM2, e o TLS a lista como curveSM2.
O algoritmo de assinatura SM2 não é o ECDSA: o signatário primeiro calcula o hash de um identificador do usuário e da chave pública, obtendo um valor Z_A que é anteposto à mensagem, e a equação da assinatura é diferente, então uma chave SM2 não pode ser conferida por um verificador ECDSA. A RFC 8998 leva o SM2 e o SM3 ao TLS 1.3 (grupo 41, esquema de assinatura sm2sig_sm3), e a RFC 9563, ao DNSSEC como algoritmo 17.