3

我正在尝试使用比特币私钥签署一条消息,以便从 InstaWallet 获得退款。

有关如何从 OS X 上的终端执行此操作的任何提示?

4

1 回答 1

1

(第 22、23 页来自比特币、椭圆曲线和 ECDSA 数学简介

4.6 ECDSA

2.4.2 简要概述了数字签名的工作原理。比特币使用椭圆曲线的数学作为其数字签名的基础。召回椭圆曲线由 T = (p, a, b, G, n, h) 定义,比特币使用 sep256k1 规定的参数。我们还有私钥和公钥对 (Kpriv, Kpub 其中 Kpub = Kpriv × G,如 4.5 所述。如果 Alice (A) 和 Bob (B) 想要互相发送消息(或交易),这是他们将如何创建和验证数字签名。

4.6.1 签名生成 [7]

为了给消息签名,Alice 将执行以下操作。

  1. 选择一个随机整数 k,1 ≤ k ≤ n - 1。
  2. 计算 kG = (x1, y1) 并将 x1 转换为整数 x1。
  3. 计算 r = x1 (mod n)。如果 r = 0,则转到步骤 1。
  4. 计算 k^-1 (mod n)。其中 k^−1 是乘法逆元,满足 k−1

[ ... ]

请点击链接并继续,通过第 23 页继续执行步骤 5、6 和 7;或通过 Jorky10 在此处通过 python 回答: How to sign and verify signature with ecdsa in python

于 2013-05-15T23:57:37.167 回答