本文へスキップ
ecdsa.com
許容短縮ワイエルシュトラス形式

SM2

SM2 は中国の 256 ビット楕円曲線で、SM2 署名アルゴリズム、SM2 鍵交換アルゴリズム、SM3 ハッシュとともに使われます。

SM2 は、256 ビットの素体上の短縮ワイエルシュトラス形式の曲線 y² = x³ + ax + b で、位数が 256 ビットの素数である部分群とコファクター 1 を持ちます。推定セキュリティレベルは 128 ビットです。ステータス:安全(ただし地域限定またはニッチな用途向け)。

この曲線は p = 2^256 − 2^224 − 2^96 + 2^64 − 1 上の y² = x³ − 3x + b で、中国の国家商用暗号管理局(OSCCA)が 2010 年に公開し、GB/T 32918 として標準化されました。OpenSSL ではこの曲線を SM2 と呼び、TLS では curveSM2 として登録されています。

SM2 署名アルゴリズムは ECDSA ではありません。署名者はまずユーザー識別子と公開鍵をハッシュして値 Z_A を求め、それをメッセージの前に付加します。署名の式も異なるため、SM2 の鍵を ECDSA の検証者で検証することはできません。RFC 8998 は SM2 と SM3 を TLS 1.3 に導入し(グループ 41、署名方式 sm2sig_sm3)、RFC 9563 は DNSSEC にアルゴリズム 17 として導入しています。

規格での名称

規格名称
GB/T 32918.5-2017SM2
OpenSSLSM2
IANA TLScurveSM2

オブジェクト識別子

ドメインパラメーター

256 ビットの素体 · 約 128 ビットセキュリティ

有限体の素数 p
0xfffffffeffffffffffffffffffffffffffffffff00000000ffffffffffffffff
係数 a
0xfffffffeffffffffffffffffffffffffffffffff00000000fffffffffffffffc
係数 b
0x28e9fa9e9d9f5e344d5a9e4bcf6509a7f39789f515ab8f92ddbcbd414d940e93
ベースポイントの x 座標
0x32c4ae2c1f1981195f9904466a39c9948fe30bbff2660be1715a4589334c74c7
ベースポイントの y 座標
0xbc3736a2f4f6779c59bdcee36b692153d0a9877cc62a474002df32e52139f0a0
ベースポイントの位数 n
0xfffffffeffffffffffffffffffffffff7203df6b21c6052b53bbf40939d54123
コファクター h
0x1

採用例

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

レジストリでの識別子

TLS のサポートされるグループ
curveSM2 0x0029curveSM2MLKEM768 0x11EE
TLS の署名方式
sm2sig_sm3 0x0708
DNSSEC のアルゴリズム番号
SM2SM3 17

規格と参考文献

すべての曲線