まず、secp128r1は古くなっています。今日の標準のセキュリティを向上させる曲線を使用してください。Daniel J. BernsteinとTanja Langeのセーフカーブをご覧ください。
サイズqのフィールド上で定義された楕円曲線とすべての要素-point-には、2つの座標XとYがあります。楕円曲線Secp128r1のサイズは2 128 -2 97 -1です。つまり、ポイント数は2 ^ 128弱です。つまり、128ビット表現が必要です。
曲線上の点でもある公開鍵には2つの座標があるため、128ビットを2つ格納する必要があります。
楕円曲線の方程式Y 2 = X 3 + aX + bを見ると、
a = FFFFFFFD FFFFFFFF FFFFFFFF FFFFFF
b = E87579C1 1079F43D D824993C 2CEE5E
方程式からXがわかっていれば、Yを見つけることができます。フィールドで作業しているので、Yは最大2つの平方根を持つことができます。Y 2の平方根はyまたは-yになります。この知識は、ポイントの表現を圧縮するために使用でき、ポイント圧縮と呼ばれます。ちょうどX座標及び1ビットが選択するために、Y又は-Yを。次に、基点を確認します(Certicomの推奨事項を参照)
base point = 03 161FF752 8B899B2D 0C28607C A52C5B86
= 04 161FF752 8B899B2D 0C28607C A52C5B86 CF5AC839 5BAFEB13 C02DA292 DDED7A83
最初のオクテットは、構造を決定します
04
圧縮がないことを意味します
03
圧縮があることを意味し、yを正として選択します
02
圧縮があることを意味し、yを負として選択します
次に、OPのパラメーターに変換します。
pub:
04:
04:ce:24:34:d4:cb:f2:58:94:2f:8a:5f:06:d7:3f:ed: -->X
5a:50:ef:fb:cc:b7:49:62:16:62:9e:aa:d5:30:a8:a5 -->Y
最初のオクテット04
は圧縮がないことを意味します。1行目はX座標で、2行目は公開鍵のY座標です。
秘密鍵nはどうですか?0 <= n <=ℓの間の単なるスカラー-整数-です
priv:00:9f:bf:2b:bd:06:86:3a:a1:bc:7c:3e:90:57:40:f4:bc
したがって、ポイントではなく上記の番号が秘密鍵です。
一部のWebツールを使用して、この情報を抽出することもできます。
注:秘密鍵は公開しないでください。