HD钱包的公子密钥对应的私钥是什么?

时间:2018-08-31 11:54:14

标签: cryptography ethereum bitcoin

我已经读过bip32,但有些困惑。

如果我拥有有关高清钱包的所有有用信息,并使用公共父密钥,公共链代码和索引号生成了一个新的公共子密钥,我该如何在与新的公共子密钥相对应的新地址中花费资金?

换句话说,我签署新交易时新的公共子密钥对应的私钥是什么?

1 个答案:

答案 0 :(得分:1)

我在再次审查了bip32提案后解决了这个问题,并发布了答案以帮助他人。

答案

具有HD钱包的新公共子密钥的对应私钥是新的私有子密钥

原因:

首先,请参见下面的bip32局部图片:

enter image description here

有两个过程:

  1. 过程:专用父密钥->专用子密钥。

  2. 过程:公共父密钥->公共子密钥。

您可以在图片中看到带有红色框的内容,两个过程之间的I的两个计算结果是相同的。

  

对于点(k_par)= K_par,I的两个计算结果相同。

然后,此问题的答案是新的公共子密钥的相应私钥是新的私有子密钥。这意味着:

  

上方圆圈的k_i是下方圆圈的K_i的私钥,即公钥。

由于椭圆曲线组是一个加法组,因此表示:

  

[(x1 + x2)(mod n)] * G = x1 * G + x2 * G,

     

其中G是椭圆曲线组的生成器,n是椭圆曲线组的阶,x1,x2是私钥。

然后,我们专注于这种情况,很容易获得两个圆圈中的内容:

  

[parse_256(I_1)+ k_par(mod n)] * G = point(parse_256(I_1))+ K_par,

     

因为两个I_l相同,并且k_par是K_par的对应私钥。

有关更多信息,请通过电子邮件与我联系:xchang17@fudan.edu.cn