[发明专利]哈希函数攻击在审
申请号: | 202080038736.1 | 申请日: | 2020-05-13 |
公开(公告)号: | CN113875188A | 公开(公告)日: | 2021-12-31 |
发明(设计)人: | 杰德·瓦哈伯;张伟;布洛克·多伊龙;克雷格·赖特 | 申请(专利权)人: | 区块链控股有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 北京中原华和知识产权代理有限责任公司 11019 | 代理人: | 孙磊;徐民 |
地址: | 安提瓜和巴布达圣*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数 攻击 | ||
1.一种在区块链网络的节点处理至少一笔证明交易的计算机实现的方法,所述方法包括:
接收所述至少一笔证明交易,其中所述至少一笔证明交易包括至少一个椭圆曲线数字签名算法(ECDSA)签名和至少一个零知识证明(ZKP)组成部分;
基于与所述至少一笔证明交易的ECDSA签名和签名部分相关联的公钥来验证所述至少一笔证明交易的ECDSA签名;
通过确定ZKP组成部分对于ECDSA签名以及定义哈希值和定义哈希函数是否正确,确定至少一个ZKP组成部分是否证明知道哈希函数攻击成功,因为所述ZKP组成部分证明ECDSA签名的r部分的对应临时密钥对应于所述定义哈希值相对于所述定义哈希函数的原像。
2.根据权利要求1所述的方法,其中所述至少一笔证明交易包括第二ZKP组成部分和第二ECDSA签名,其中节点验证所述第二ECDSA签名,并通过以下方式确定第一和第二ZKP组成部分是否共同证明知道对所述定义哈希函数的碰撞攻击成功:
检查所述第一和第二ECDSA签名是否具有不同的r部分,
确定所述第一ZKP组成部分对于所述ECDSA签名以及所述定义哈希值和所述定义哈希函数是否正确,
确定所述第二ZKP组成部分对于所述第二ECDSA签名以及与所述第一ZKP组成部分相同的定义哈希值和定义哈希函数是否正确,因为所述第二ZKP组成部分证明所述第二ECDSA签名的r部分的对应临时密钥对应于所述定义哈希值相对于所述定义哈希函数的原像。
3.根据权利要求2所述的方法,其中基于与ECDSA签名相同的公钥验证所述第二ECDSA签名。
4.根据权利要求1或2所述的方法,其中所述至少一笔证明交易包括防伪签名,所述节点基于与所述ECDSA签名相同的公钥验证所述防伪签名。
5.根据权利要求1、2、3或4所述的方法,其中所述至少一笔证明交易识别至少一笔挑战交易的代码,从而使所述节点根据所述至少一笔证明交易运行所述至少一笔挑战交易的代码,这又使所述节点通过确定所述ZKP组成部分是否满足所述至少一笔挑战交易的代码中包含的一个或多个证明要求来确定所述至少一笔证明交易的所述或每个ZKP组成部分是否正确。
6.根据权利要求5所述的方法,其中用于验证所述ECDSA签名的所述公钥在所述至少一笔证明交易中显示,但不是由所述至少一笔挑战交易指定。
7.根据权利要求6所述的方法,其中所述公钥在所述至少一笔证明交易中被编码为字符串,从而在所述至少一笔证明交易中显示,或从所述至少一笔证明交易的ECDSA签名中推导出,由此所述公钥由所述ECDSA签名本身显示。
8.根据权利要求5至7中任一项所述的方法,其中所述哈希值在所述至少一笔证明交易中定义,而不是由所述至少一笔挑战交易指定。
9.根据权利要求5至7中任一项所述的方法,其中所述哈希值在所述至少一笔挑战交易中定义。
10.根据从属于权利要求2的权利要求5至9中任一项所述的方法,其中所述至少一笔挑战交易的代码还包含所述第一和第二ECDSA签名具有不同r部分的要求。
11.根据从属于权利要求3的权利要求5至9中任一项所述的方法,其中所述至少一笔挑战交易的代码还包含使用相同私钥生成所述第一和第二ECDSA签名的要求。
12.根据权利要求5至11中任一项所述的方法,其中所述至少一笔挑战交易的代码使所述节点验证所述至少一笔证明交易中的所述ECDSA签名或每个ECDSA签名。
13.根据权利要求5至11中任一项所述的方法,其中所述挑战交易的代码包括所述挑战交易的一个或多个未花费交易输出的锁定脚本,所述ECDSA签名和所述ZKP组成部分嵌入到所述证明交易的解锁脚本中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于区块链控股有限公司,未经区块链控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080038736.1/1.html,转载请声明来源钻瓜专利网。