メインコンテンツまでスキップ

A.1. 詳細な例

ここでは, 例のメッセージと鍵に対する k の生成中に取得された中間値を詳しく説明します。この特定の曲線は標準的であり, 群の位数の長さ (qlen) が 8 の倍数ではないため, バイナリ曲線を使用します。

A.1.1. 鍵ペア​

この例では, NIST 曲線 B-163 を使用します。これは GF(2^163) 上で定義された楕円曲線です。曲線のパラメータと基点 G は [FIPS-186-4] で定義されています。

群の位数 q (16進数表記):

q = 0x0400000000000000000020108A2E0CC0D99F8A5EF

これは 163 ビットの素数です (qlen = 163)。

A.1.2. k の生成​

このセクションでは, 決定論的 k 生成プロセスの各ステップで取得される中間値を示します。

ハッシュ関数として SHA-256 を使用します (hlen = 256 ビット)。

メッセージ m は文字列 "sample" です。

H(m) の計算:

h1 = SHA-256("sample")
= 0xAF2BDBE1AA9B6EC1E2ADE1D694F41FC71A831D0268E9891562113D8A62ADD1BF

この値は bits2octets 変換を使用して処理されます。


A.1.3. 署名​

生成された k 値を使用して, 標準的な ECDSA 署名プロセスに従って署名 (r, s) を計算します。

生成された k 値と結果の署名は, テストベクタセクションで提供されています。