SM2 — китайская 256-битная эллиптическая кривая; её используют с алгоритмами подписи и обмена ключами SM2 и хеш-функцией SM3.
SM2 — кривая в короткой форме Вейерштрасса y² = x³ + ax + b над 256-битным простым полем с 256-битной подгруппой простого порядка и кофактором 1; оценочный уровень стойкости — 128 бит. Статус: безопасна, но региональная или нишевая.
Это кривая y² = x³ − 3x + b над полем по модулю p = 2^256 − 2^224 − 2^96 + 2^64 − 1. Её опубликовало в 2010 году Государственное управление коммерческой криптографии Китая (OSCCA), а стандартизирована она как GB/T 32918. В OpenSSL она называется SM2, а в TLS значится как curveSM2.
Алгоритм подписи SM2 — это не ECDSA: подписант сначала вычисляет из идентификатора пользователя и открытого ключа хеш Z_A, который добавляется в начало сообщения, и уравнение подписи тоже другое. Поэтому код проверки ECDSA не сможет проверить подпись, созданную ключом SM2. RFC 8998 вводит SM2 и SM3 в TLS 1.3 (группа 41, схема подписи sm2sig_sm3), а RFC 9563 — в DNSSEC как алгоритм 17.