如何使用终端的比特币私钥签署消息

时间:2013-04-13 18:26:18

标签: console terminal digital-signature bitcoin

我正在尝试使用比特币私钥签名,以获得InstaWallet的退款。

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

1 个答案:

答案 0 :(得分:1)

(第22页,来自An Introduction to Bitcoin, Elliptic Curves and the Mathematics of ECDSA的23)

  

4.6 ECDSA

     

2.4.2中给出了数字签名如何工作的简要概述。   比特币使用椭圆曲线的数学作为基础   数字签名的基础。召回椭圆曲线由。定义   T =(p,a,b,G,n,h),比特币使用规定的参数   sep256k1。我们还有私钥和公钥对(Kpriv,Kpub   其中Kpub = Kpriv×G,如4.5中所述。如果爱丽丝(A)和鲍勃(B)   想要彼此发送消息(或交易),这是怎么回事   他们会创建并验证数字签名。

     

4.6.1签名生成[7]

     

要签署消息,Alice会执行以下操作。

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

[...]

按照链接继续,通过第23页继续执行第五步,第六步和第七步;或者通过Jorky10通过python答案: How to sign and verify signature with ecdsa in python