[发明专利]椭圆曲线的签名方法、验签方法和装置有效
申请号: | 202110346727.5 | 申请日: | 2021-03-31 |
公开(公告)号: | CN113032844B | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 雷宗华;彭金辉;孙晓鹏;廖正赟;李鑫 | 申请(专利权)人: | 郑州信大捷安信息技术股份有限公司 |
主分类号: | G06F21/64 | 分类号: | G06F21/64;G06F21/60 |
代理公司: | 郑州德勤知识产权代理有限公司 41128 | 代理人: | 张微微 |
地址: | 450000 河南省*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 椭圆 曲线 签名 方法 装置 | ||
1.一种椭圆曲线的签名方法,其特征在于,所述签名方法包括:
步骤S1,获取待签名消息、签名方公钥P和私钥d,并计算获得所述待签名消息的消息摘要值e;所述签名方公钥P和所述私钥d之间的关系为P=[d]G,所述私钥d位于[1,n-1]之间,n为椭圆曲线E上基点的阶数,所述椭圆曲线E为定义在有限域Fq上的椭圆曲线,G为所述椭圆曲线E上基点;
步骤S2,获取随机数k∈[1,n-1],并计算第一椭圆曲线随机点;
步骤S3,根据所述消息摘要值e和所述第一椭圆曲线随机点的横坐标x1计算生成第一签名信息r=(e+ x1) mod n,在所述第一签名信息r不为零时,根据所述随机数k、所述第一签名信息r和所述私钥d计算生成第二签名信息s= k-1rd mod n,并在所述第二签名信息s不为
零时,输出所述待签名消息及其签名信息(r,s)。
2.根据权利要求1所述的签名方法,其特征在于,步骤S3具体包括:
步骤S301,根据所述消息摘要值e和所述第一椭圆曲线随机点的横坐标x1计算生成第一签名信息r=(e+ x1) mod n;
步骤S302,判断所述第一签名信息r是否为零,若不为零,则执行步骤S303;若为零,则返回重新执行步骤S2、步骤S301直至计算得到的第一签名信息r不为零;
步骤S303,根据所述随机数k、所述第一签名信息r和所述私钥d计算生成第二签名信息s= k-1rd mod n;
步骤S304,判断所述第二签名信息s是否为零,若不为零,则输出待签名消息及其签名信息(r,s);若为零,则返回重新执行步骤S1-步骤S3,直至所述第二签名信息s不为零。
3.根据权利要求1或2所述的签名方法,其特征在于,计算获得所述待签名消息的消息摘要值e的具体步骤为:对所述待签名消息使用预设的杂凑函数进行摘要计算获得摘要值e=Hash(m),其中,m为所述待签名消息。
4.一种椭圆曲线的验签方法,其特征在于,用于验证使用权利要求1-3中任意一项所述的签名方法获得的签名信息(r,s),所述验签方法包括:
步骤S4,获取待验证消息、待验证的签名信息(r,s)以及签名方公钥P和私钥d,并对所述待验证消息进行摘要计算获得消息摘要值e,所述签名方公钥P和所述私钥d之间的关系为P=[d]G,G为所述椭圆曲线E上n阶的基点;
步骤S5,判断所述第一签名信息r和所述第二签名信息s是否均位于[1,n-1],若不位于,则拒绝该签名;
步骤S6,计算所述第二签名信息s在有限素域Fp上的逆元s-1mod n,并根据s-1 mod n和第一签名信息r计算中间验签信息u=r(s-1 mod n) mod n= rs -1 mod n;
步骤S7,根据所述中间验签信息u和所述签名方公钥P计算第二椭圆随机点(x2,y2)=[u]P,并根据所述第二椭圆随机点的横坐标x2和所述消息摘要值e计算验签信息r’=(x2 +e)mod n,判断验签信息r’是否等于第一签名信息r,若等于,则验签通过,接受该签名;否则验签失败,拒绝该签名。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州信大捷安信息技术股份有限公司,未经郑州信大捷安信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110346727.5/1.html,转载请声明来源钻瓜专利网。