[发明专利]一种区块链中基于sm2签名恢复公钥及地址的方法在审

专利信息
申请号: 202010993429.0 申请日: 2020-09-21
公开(公告)号: CN112152814A 公开(公告)日: 2020-12-29
发明(设计)人: 王震;姜孟杉;白健;李亚荣 申请(专利权)人: 中国电子科技网络信息安全有限公司
主分类号: H04L9/32 分类号: H04L9/32;H04L9/30;H04L9/08
代理公司: 成都九鼎天元知识产权代理有限公司 51214 代理人: 贾年龙
地址: 610207 四川省成都市*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 区块 基于 sm2 签名 恢复 地址 方法
【说明书】:

发明公开了一种区块链中基于sm2签名恢复公钥及地址的方法。本发明只需利用签名即可恢复出公钥,无需额外存储公钥,可大大节省公钥的存储开销;本发明通过签名可快速恢复出公钥,进而恢复交易发送方的交易地址,从而对交易地址进行合法性验证。

技术领域

本发明涉及区块链技术领域,具体涉及一种区块链中基于sm2签名恢复公钥及地址的方法。

背景技术

在区块链中,用户交易地址为公钥哈希值的编码,在验证交易时,需要对签名和地址进行验证。由于无法直接从交易地址中恢复出公钥,为验证交易的合法性,一般将公钥附加在交易中,然而一个区块可能包括成千个交易,会增加较大的存储开销。以太坊中通过从签名中恢复公钥进而对交易进行验证,该方法可节省一定的存储空间,但目前基于国密算法的区块链体系中仍未有类似有效的方法。

发明内容

针对现有技术中的上述不足,本发明提供的一种区块链中基于sm2签名恢复公钥及地址的方法解决了国密区块链交易中公钥存储空间、公钥和地址快速恢复以及交易地址及签名的验证的问题。

为了达到上述发明目的,本发明采用的技术方案为:一种区块链中基于sm2签名恢复公钥及地址的方法,包括以下步骤:

S1、对用户生成sm2公私钥对(sk,pk);

其中,sk为私钥,pk为公钥,pk=sk·G,G为椭圆曲线生成元;

S2、基于sm2算法和私钥sk生成交易信息M的数字签名;

S3、根据交易信息M的数字签名恢复公钥及地址。

进一步地:所述步骤S2的具体步骤为:

S21、输入系统及用户参数,包括椭圆曲线生成元G、椭圆曲线有限域阶数p、用户公钥信息的哈希值Z、交易信息M和私钥sk;

S22、令其中,为扩展消息;

S23、产生随机数k∈[1,n-1],n为生成元G的阶数;

S24、利用SM3哈希算法计算扩展消息的哈希值e,计算公式为:并将哈希值e转化为整数;

S25、根据随机数k和圆曲线生成元G计算椭圆曲线点(x1,y1),计算公式为:(x1,y1)=kG,并将x1转化为整数;

S26、当y1p/2时,令变量v=1,否则令v=0;

S27、根据哈希值e和椭圆曲线点横坐标x1计算签名第一部分r的值,当r=0或r+k=n时,返回步骤S23,否则进入步骤S28;

S28、根据私钥sk、随机数k和r计算签名第二部分s的值,当s=0时,返回步骤S23,否则输出交易信息M的数字签名(r,s,v)。

进一步地:所述步骤S27中r的计算公式为:

r=(e+x1)mod n。

进一步地:所述步骤S28中s的计算公式为:

s=(1+sk)-1(k-r·sk)mod n。

进一步地:所述步骤S3的具体步骤为:

S31、根据签名第一部分r、哈希值e计算横坐标x:

S32、由横坐标x计算其对应的纵坐标y2和y3

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技网络信息安全有限公司,未经中国电子科技网络信息安全有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010993429.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top