给定 中计算的值 r 和 s,我们可以计算两个可能的公钥。
首先,我们根据签名中的x坐标 r 值计算两个椭圆曲线点R和R’。有个两点,因为椭圆曲线在x轴上是对称的,所以对于任何值+x+,在x轴的两侧有两个可能的值适合曲线。
从 r 开始,我们也计算r-1这是 r 的倒数。
最后我们计算 z,它是消息散列的最低位,其中n是椭圆曲线的阶数。
K1 = r-1 (sR - zG)
和
K2 = r-1 (sR’ - zG)
其中:
s是签名的+s+值
z是消息散列的最低位
为了使事情更有效率,交易签名包括一个前缀值 v,它告诉我们两个可能的R值中哪一个是临时的公钥。如果 v 是偶数,那么R是正确的值。如果 v 是奇数,那么选择R’。这样,我们只需要计算R的一个值。