前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >本体技术视点 | 禁!ECDSA算法中这件事绝对不能做

本体技术视点 | 禁!ECDSA算法中这件事绝对不能做

作者头像
本体Ontology
发布2021-07-30 11:47:22
7960
发布2021-07-30 11:47:22
举报
文章被收录于专栏:本体研究院

我们在本体技术视点 | ECDSA中的随机数重用会导致什么问题?中介绍了 ECDSA 数字签名算法中随机数的重要性。随机数不仅在 ECDSA 这样一个算法中起到重要作用,它更是许多密码机制的安全性保障。在本期的技术视点中,我们将接着围绕 ECDSA 这一在区块链领域中重要的密码学算法,谈谈 ECDSA 算法中为什么需要对消息的哈希摘要签名而不是直接对消息进行签名

回顾ECDSA

伪造签名

防止伪造

我们看到,其实在这样一种情况下,该伪造的签名结果能通过验证,是由于直接将(原始消息的)哈希值送入了验证公式中,而没有验证原始消息和哈希值的正确性。防止伪造的方法也很简单,就是 ECDSA 验签时提供原始消息,并通过原始消息来计算其哈希值,然后再利用该哈希值去验证。简单地说,由于哈希函数的单向性特点,计算上不可能从哈希摘要推出其原像,即原始消息,由此来保证安全性。

同样,我们也得到了一个简单的提示:ECDSA 签名算法需要有对消息进行哈希的前置处理。尤其是要签名的消息恰好落在 ECDSA 的消息空间时,更不应该偷懒省略前置哈希处理。

动手试一试

中本聪在数字资产创世块的 coinbase 交易中留下了广为流传的一句话,“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks” 。

而地址1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa 和该创世块相关。任何能通过此地址验证的签名都被认为是中本聪所生成的。

通过相关验证代码,我们可以发现该组消息哈希值和签名通过了创世块相关公钥的验证。Albacore Labs 团队创建了一个小工具来展示这种伪造方法,小伙伴可以通过网址 https://albacore.io/faketoshi 来生成能通过中本聪公钥验证的签名,体会一把当中本聪的感觉。

总结

ECDSA 是现行大多数区块链系统中的重要算法,利用其不可抵赖等特性可以完成交易发送等功能。因此,我们更加有必要充分认识 ECDSA 算法,了解它在理论和实现上的各个方面。在本期技术视点中,我们看到在 ECDSA 签名中前置哈希算法的重要性。我们也欢迎小伙伴们和本体技术团队通过各种方式来多多交流相关区块链技术。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 本体研究院 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
全站加速网络
全站加速网络(Enterprise Content Delivery Network,以下简称 ECDN)为您提供稳定高效的网络加速服务,适用于动静混合、纯动态、跨国、上传等多种加速场景。ECDN 网络资源丰富,同时融合静态缓存、智能路由、协议优化、多路传输、抗抖动等自研技术,加速效果更加显著;接入便捷,功能配置灵活多样,可满足您个性化的业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档