跳到主要内容

A.1.3. Signature (签名)

A.1.3. Signature (签名)

使用我们的私钥和刚刚生成的 k 值, 我们现在可以使用标准 ECDSA 机制计算签名.首先, 计算点 kG, 并将该点的 X 坐标转换为整数, 然后对 q 取模, 产生第一个签名部分:

r = 0x113A63990598A3828C407C0F4D2438D990DF99A7F

我们使用它, 连同 x (私钥),k (我们在上面计算的) 和 h = bits2int(h1), 来计算第二个签名部分:

s = 0x1313A2E03F5412DDB296A22E2C455335545672D9F

ECDSA 签名是一对整数.在许多需要签名为位 (或字节) 序列的协议中, 通常使用 DER 规则将签名编码为两个 INTEGER 值的 ASN.1 SEQUENCE.这会产生以下 48 字节签名:

30 2E 02 15 01 13 A6 39 90 59 8A 38 28 C4 07 C0
F4 D2 43 8D 99 0D F9 9A 7F 02 15 01 31 3A 2E 03
F5 41 2D DB 29 6A 22 E2 C4 55 33 55 45 67 2D 9F