美文网首页比特钱包个人关注
3、数字签名(ECDSA)

3、数字签名(ECDSA)

作者: 谷歌派 | 来源:发表于2018-05-24 15:32 被阅读207次

比特币中使用的数字签名算法是椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm)或ECDSA。 ECDSA是用于基于椭圆曲线私钥/公钥对的数字签名的算法,如椭圆曲线章节[elliptic_curve]所述。 ECDSA用于脚本函数OP_CHECKSIG,OP_CHECKSIGVERIFY,OP_CHECKMULTISIG和OP_CHECKMULTISIGVERIFY。每当你锁定脚本中看到这些时,解锁脚本都必须包含一个ECDSA签名。

数字签名在比特币中有三种用途:
● 第一,签名证明私钥的所有者,即资金所有者,已经授权支出这些资金。
● 第二,授权证明是不可否认的(不可否认性)。
● 第三,签名证明交易(或交易的具体部分)在签字之后没有也不能被任何人修改。

创建数字签名
在比特币的ECDSA算法的实现中,被签名的“消息”是交易,或更确切地说是交易中特定数据子集的哈希值(参见签名哈希类型(SIGHASH))。
签名密钥是用户的私钥,结果是签名:
((Sig = F{sig}(F{hash}(m), dA)))
这里的:
● dA 是签名私钥
● m 是交易(或其部分)
● Fhash 是散列函数
● Fsig 是签名算法
● Sig 是结果签名
ECDSA数学运算的更多细节可以在ECDSA Math章节中找到。
函数Fsig 产生由两个值组成的签名Sig,通常称为R和S:
Sig = (R, S)
签名序列化(DER)
解锁脚本序列化之后:
3045022100884d142d86652a3f47ba4746ec719bbfbd040a570b1deccbb6498c75c4ae24cb02204b9f039ff08df09cbe9f6addac960298cad530a863ea8f53982c09db8f6e381301
包含以下9个元素:
● 0x30表示DER序列的开始
● 0x45 - 序列的长度(69字节)
● 0x02 - 一个整数值
● 0x21 - 整数的长度(33字节)
● R-00884d142d86652a3f47ba4746ec719bbfbd040a570b1deccbb6498c75c4ae24cb
● 0x02 - 接下来是一个整数
● 0x20 - 整数的长度(32字节)
● S-4b9f039ff08df09cbe9f6addac960298cad530a863ea8f53982c09db8f6e3813
● 后缀(0x01)指示使用的哈希的类型(SIGHASH_ALL)

相关文章

  • 比特币架构简述之签名

    来源bitcoin wiki比特币使用椭圆曲线 数字签名算法(ECDSA)来签署交易。对于ECDSA,使用http...

  • 3、数字签名(ECDSA)

    比特币中使用的数字签名算法是椭圆曲线数字签名算法(Elliptic Curve Digital Signature...

  • 区块链开发——数字签名扩展 #C02

    本篇为资料整理 数字签名算法 常见的数字签名算法主要有RSA、DSA、ECDSA三种。 RSA数字签名算法 RSA...

  • 理解以太坊的椭圆曲线签名

    原理 以太坊数字签名和比特币的关系 以太坊数字签名,几乎完全沿用了比特币的数字签名算法ECDSA-secp256k...

  • BTC中的签名算法ECDSA

    数字签名 如果要了解ECDSA算法必须先要知道数字签名是什么?有什么用?然后再去讨论应该怎样构造数字签名。这篇文章...

  • golang中crypto/ecdsa包

    ECDSA和DSA一样也是用于数字签名,同样在go使用上也很类似,RSA、DSA和ECDSA三者的签名的区别,可以...

  • RSA与ECC的选择

    数字签名技术已经广泛使用于网络安全协议或分布式系统中,目前比较流行的数字签名算法有RSA和ECDSA。很多同学在产...

  • 简单的学习下以太坊的椭圆曲线签名

    以太坊数字签名,几乎完全沿用了比特币的数字签名算法ECDSA-secp256k1。只有哈希的生成方式不一样。ECD...

  • 比特币/以太坊的关键机制——secp256k1

    比特币使用基于椭圆曲线加密的椭圆曲线数字签名算法(ECDSA)。特定的椭圆曲线称为secp256k1,即曲线 y²...

  • ECDSA科普:大雄和静香的情人节

    题图:哆啦A梦动画片。图片来自于网络。 这是刘教链《比特币原理》番外篇。本节讲的是椭圆曲线数字签名算法ECDSA ...

网友评论

    本文标题:3、数字签名(ECDSA)

    本文链接:https://www.haomeiwen.com/subject/ebssjftx.html