[发明专利]SM2数字签名验证失败原因判定方法、装置、设备和介质有效
| 申请号: | 202110611492.8 | 申请日: | 2021-06-02 |
| 公开(公告)号: | CN113055189B | 公开(公告)日: | 2021-08-10 |
| 发明(设计)人: | 罗影;张文科;滕斌;敖麒;郭晓玲 | 申请(专利权)人: | 工业信息安全(四川)创新中心有限公司 |
| 主分类号: | H04L9/32 | 分类号: | H04L9/32 |
| 代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 刘世权 |
| 地址: | 610000 四川*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | sm2 数字签名 验证 失败 原因 判定 方法 装置 设备 介质 | ||
1.SM2数字签名验证失败原因判定方法,其特征在于,包括:
S1:初步检测签名值的正确性,若签名值正确,进入步骤S2;若签名值错误,进入步骤S6;步骤S1具体包括以下子步骤:将、数据类型转换为整数,检验和是否都成立,若有一个不成立,则签名值错误,其中,n为基点G的阶;
S2:按照SM2标准验证公钥的有效性,若公钥正确,进入步骤S3;若公钥错误,进入步骤S6;
S3:从签名值中解析出公钥,若解析失败,则签名值错误,则进入步骤S6,否则进入步骤S4;
步骤S3具体包括以下子步骤:
S31:输入标准SM2签名值、被执行数字签名的消息、签名者的杂凑值、签名者的可辨别标识和椭圆曲线系统参数,椭圆曲线系统参数包括椭圆曲线方程参数a、b、基点和基点的阶n;
S32:将、的数据类型转化为整数,置,计算,将的数据类型转化为整数;
S33:通过中间临时变量,将压缩点转换为椭圆曲线上的一个点来解析签名者的公钥;
当采用一个中间临时变量时,步骤S33具体包括:
a:计算,;
b:置比特,将压缩点转换为SM2椭圆曲线上的一个点;
c:置ne=0,ne为错误次数计数器;
d:计算公钥;
其中,[k]P:椭圆曲线上点P的k倍点;
其中,x||y为x与y的拼接,其中x、y是比特串或字节串,为消息摘要长度为v比特的密码杂凑函数;
S4:对比解析出的公钥与收到的公钥是否相同,相同则判定为公钥正确,不同则判定为公钥错误;若公钥正确,则进入步骤S5;若公钥错误,则进入步骤S6;
S5:执行数字签名验证,若数字签名验证通过,则判定为验证通过;否则签名值错误,进入步骤S6;
S6:若签名值错误,则错误原因判定为签名值异常;若公钥错误,则错误原因判定为公钥异常;
其中,为签名值实数对。
2.如权利要求1所述的SM2数字签名验证失败原因判定方法,其特征在于,当采用两个中间临时变量时,步骤S33具体包括:
A:计算,,;
B:置比特,将压缩点转换为SM2椭圆曲线上的一个点;
C:置ne=0,ne为错误次数计数器;
D:计算公钥;其中,,;
其中,[k]P:椭圆曲线上点P的k倍点。
3.如权利要求2所述的SM2数字签名验证失败原因判定方法,其特征在于,所述方法还包括公钥正确性核验步骤:
将a、b、xG、yG、、的数据类型转化为字节串;
计算;
检验是否成立,若成立,返回;
否则计算ne= ne+1,检查ne≤1是否成立,若成立,置R1=-R1,计算公钥,若ne≤1不成立,则返回签名值错误,其中,是用户A的可辨别标识的比特长度转换而成的两个字节,是对应接收方的两个字节。
4.如权利要求1所述的SM2数字签名验证失败原因判定方法,其特征在于,所述方法还包括公钥正确性核验步骤:
将a、b、xG、yG、、的数据类型转化为字节串;
计算;
检验是否成立,若成立,返回;
否则计算ne= ne+1,检查ne≤1是否成立,若成立,置Q=-Q,计算公钥,若ne≤1不成立,则返回签名值错误,其中,是发送方用户A的可辨别标识的比特长度转换而成的两个字节,是对应接收方的两个字节。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于工业信息安全(四川)创新中心有限公司,未经工业信息安全(四川)创新中心有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110611492.8/1.html,转载请声明来源钻瓜专利网。





