Hi 游客

更多精彩,请登录!

比特池塘 区块链茶馆 正文

ECDSA在区块链应用中的七宗罪

cexugb2425495
94 0 0
基于椭圆曲线secp256k1的ECDSA由于Bitcoin中的部署,逐渐成为区块链项目中默认的签名机制. 然而在Bitcoin诞生的时期, 工程项目中更多采用基于一条名为secp256r1的椭圆曲线的ECDSA签名机制, Bitcoin中最初采纳secp256k1的真正原因已不可知,我们只能进行揣测, 也许是secp256r1曲线中可能埋藏的由NSA引入的算法后门, 也许是非常适合secp256k1支持的自同态映射能够加速签名验证过程的特性.
在区块链场景中应用基于secp256k1的ECDSA,带来了诸多方面的挑战,稍有不慎,就可能在区块链网络中引发安全问题,或者数字货币资产的损失. 回顾区块链发挥过程中踩过的坑,我们总结了ECDSA签名机制在区块链场景中应用时的七宗罪:
如果签名过程中随机数值泄露, 则任何知道该随机数值的?可以使?该随机数产?签名值恢复私钥
如果同一个用户对两个不同的消息签名时,采用了相同的随机数,则则任何?都可以通过两个签名值恢复出私钥
如果两个用户执行ECDSA签名时采用了相同的随机数,则两人中的任何一方可以推算出另一方的私钥
如果相同的私钥和随机数被同时用于ECDSA签名和Schnorr签名,则任何?都能够恢复出私钥
ECDSA签名值的可锻造性带来的安全隐患
ECDSA签名值的DER编码的不唯一性会带来的安全隐患
如果验签时不要求提供被签名的消息,则任何人都可以伪造签名值
在介绍ECDSA七宗罪的原理之外,还介绍了应对措施. 值得一提的是, Craig Wright (澳本聪)曾经利用上述的第7个问题,伪造中本聪的签名,并进而仅此宣称自己是中本聪.
在各种安全问题之外, ECDSA签名机制也拥有非常适合区块链场景的特性,比如可以从签名值中恢复出公钥, 利用这个特性可以缩减每笔交易的大小,以太坊中利用了这个特性.
secp256k1和secp256r1的对比, 七宗罪的背后的数学原理和应对措施, 从ECDSA签名值恢复公钥的数学原理以及在libsecp256k1中的应用详情
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

cexugb2425495 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    5