[发明专利]在区块链上签名、验证的方法及装置有效
申请号: | 201710082714.5 | 申请日: | 2017-02-15 |
公开(公告)号: | CN106878022B | 公开(公告)日: | 2019-12-24 |
发明(设计)人: | 张一锋;徐忠;姚前 | 申请(专利权)人: | 中钞信用卡产业发展有限公司杭州区块链技术研究院 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 11258 北京东方亿思知识产权代理有限责任公司 | 代理人: | 彭琼 |
地址: | 310013 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 签名 验证 方法 装置 | ||
本发明公开了一种在区块链上签名、验证的方法及装置。其中,该在区块链上进行签名的方法包括:基于待签名消息和随机生成的大整数k,获得椭圆曲线点R的坐标(x1,y1)和判断标识v,其中,判断标识v用于标识所述y1的奇偶性;基于获得的椭圆曲线点R的坐标(x1,y1)、待签名消息发送方的私钥和判断标识v,计算待签名消息的数字签名,数字签名包含判断标识v。该区块链上签名、验证的方法及装置能够减少签名的数据量以提升吞吐量。
技术领域
本发明属于区块链技术领域,尤其涉及一种在区块链上签名、验证的方法及装置。
背景技术
在区块链上交易验证以及区块生成需要进行大量的签名验签运算,因此需要减少签名的数据量以提升吞吐量。
采用现有的国密SM2算法签名,签名后需要传送的数据包括:待签名消息、签名结果和公钥。使得在签名数据传输中增加了64字节的公钥数据。另外由于公钥是需要参与签名的验证,所以也无法采用现在区块链上普遍采用的外部账户地址(address)的机制进行数字签名的验证。
发明内容
本发明实施例提供了一种在区块链上签名、验证的方法及装置,能够减少签名的数据量以提升吞吐量。
第一方面,提供了一种基于SM2椭圆曲线算法在区块链上进行签名的方法,包括:基于待签名消息和随机生成的大整数k,获得椭圆曲线点R的坐标(x1,y1)和判断标识v,其中,判断标识v用于标识所述y1的奇偶性;基于获得的椭圆曲线点R的坐标(x1,y1)、待签名消息发送方的私钥和判断标识v,计算待签名消息的数字签名,数字签名包含判断标识v。
第二方面,提供了一种基于SM2椭圆曲线算法在区块链上进行验证的方法,包括:接收待验证消息和待验证消息的数字签名,其中,待验证消息的数字签名包含判断标识v′;基于待验证消息和判断标识v′获得用于生成待验证消息的数字签名的椭圆曲线点R′的坐标(x1′,y1′),其中,判断标识v′用于判断y1′的奇偶性;根据点R′的坐标(x1′,y1′)计算待验证消息的发送方的公钥P′点的坐标,基于计算得到的待验证消息的发送方的公钥P′点的坐标与预存公钥信息,对待验证消息的数字签名进行验证。
第三方面,提供了一种基于SM2椭圆曲线算法在区块链上进行签名的装置,包括:处理单元和第一签名单元。该处理单元被配置为基于待签名消息和随机生成的大整数k,获得椭圆曲线点R的坐标(x1,y1)和判断标识v,其中,判断标识v用于标识所述y1的奇偶性。该第一签名单元被配置为基于获得的椭圆曲线点R的坐标(x1,y1)、待签名消息发送方的私钥和判断标识v,计算待签名消息的数字签名,数字签名包含判断标识v。
第四方面,提供了一种基于SM2椭圆曲线算法在区块链上进行验证的装置,包括:接收单元、计算单元和验证单元。该接收单元被配置为接收待验证消息和待验证消息的数字签名,其中,待验证消息的数字签名包含判断标识v′;该计算单元被配置为基于待验证消息和判断标识v′获得用于生成待验证消息的数字签名的椭圆曲线点R′的坐标(x1′,y1′),其中,判断标识v′用于判断y1′的奇偶性;该验证单元被配置为根据点R′的坐标(x1′,y1′)计算待验证消息的发送方的公钥P′点的坐标,基于计算得到的待验证消息的发送方的公钥P′点的坐标与预存公钥信息,对待验证消息的数字签名进行验证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中钞信用卡产业发展有限公司杭州区块链技术研究院,未经中钞信用卡产业发展有限公司杭州区块链技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710082714.5/2.html,转载请声明来源钻瓜专利网。