首先,secp128r1已过时。使用可以为当今标准提供更好安全性的曲线。请参阅Daniel J.Bernstein和Tanja Lange 撰写的安全曲线。
椭圆曲线定义在大小的字段q和每-point-具有两个坐标元件X和ÿ。椭圆曲线Secp128r1的大小为2 128 -2 97 -1,即点数在2 ^ 128以下。这意味着我们需要128位表示形式。
公钥也是曲线上的一个点,它具有两个坐标,因此,我们需要存储两个128位。
如果我们看一下椭圆曲线的方程ÿ 2 = X 3 + AX + B,其中
a = FFFFFFFD FFFFFFFF FFFFFFFF FFFFFF
b = E87579C1 1079F43D D824993C 2CEE5E
如果我们知道X从公式我们可以发现ÿ。由于我们在一个领域中工作,因此Y最多可以具有两个平方根。Y 2将具有y或-y作为平方根。该知识可用于压缩点的表示,这称为点压缩。只需x坐标和一位即可选择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表示没有压缩。第一行是公钥的X坐标,第二行是公钥的Y坐标。
私钥n呢?它只是0 <= n <=ℓ 之间的标量-integer-
私人:00:9f:bf:2b:bd:06:86:3a:a1:bc:7c:3e:90:57:40:f4:bc
因此,上述数字(不是重点)是您的私钥。
您还可以使用一些Web工具来提取此信息。
注意:请不要公开您的私钥。