【技术实现步骤摘要】
SM2数字签名验证失败原因判定方法、装置、设备和介质
[0001]本专利技术属于信息安全
,尤其涉及SM2数字签名验证失败原因判定方法、装置、设备和介质。
技术介绍
[0002]密码学家Neal Koblitz和Victor Miller在1985年分别提出了椭圆曲线密码学(Elliptic curve Cryptography,ECC)的思想,使其成为构造公钥密码体制的一个有力工具。我国国家标准GB/T 32918《信息安全技术 SM2椭圆曲线公钥密码算法》规定的SM2算法就是一种特定的ECC密码算法,主要包括数字签名算法、密钥交换协议和公钥加密算法三个部分。GB/T 32918.2规定了SM2椭圆曲线公钥密码算法的数字签名算法,包括数字签名生成算法和验证算法及相应的流程,可以满足多种密码应用中的身份鉴别和数据完整性、信息来源真实性的安全需求。数字签名算法由一个签名者对数据产生数字签名,并由一个验证者验证签名的可靠性。每个签名者有一个公钥和一个私钥,其中私钥用于产生签名,验证者用签名者的公钥验证签名。在签名的生成过程之前和签名的验证过程之前,都分别要用密码杂凑函数对签名用户的可辨别标识ID、部分椭圆曲线系统参数和签名用户的公钥杂凑值以及待签名消息进行压缩得到该用户的杂凑值。在云计算、大数据、物联网、移动互联网、工业控制系统、区块链等众多领域都在使用SM2进行数据签名来保证数据真实性、完整性,为了验证签名的正确性,需使用公钥执行SM2签名验证功能。
[0003]在实际使用中,SM2数字签名验证可能失败, ...
【技术保护点】
【技术特征摘要】
1.SM2数字签名验证失败原因判定方法,其特征在于,包括:S1:初步检测签名值的正确性,若签名值正确,进入步骤S2;若签名值错误,进入步骤S6;S2:验证公钥的有效性,若公钥正确,进入步骤S3;若公钥错误,进入步骤S6;S3:从签名值中解析出公钥,若解析结果为签名值错误,则进入步骤S6,否则进入步骤S4;S4:对比解析出的公钥与收到的公钥是否相同,相同则判定为公钥正确,不同则判定为公钥错误;若公钥正确,则进入步骤S5;若公钥错误,则进入步骤S6;S5:执行数字签名验证,若数字签名验证通过,则判定为验证通过;否则签名值错误,进入步骤S6;S6:若签名值错误,则错误原因判定为签名值异常;若公钥错误,则错误原因判定为公钥异常;其中,为签名值实数对。2.如权利要求1所述的SM2数字签名验证失败原因判定方法,其特征在于,步骤S1具体包括以下子步骤:将、数据类型转换为整数,检验和是否都成立,若有一个不成立,则签名值错误,其中,n为基点G的阶。3.如权利要求1所述的SM2数字签名验证失败原因判定方法,其特征在于,步骤S3具体包括以下子步骤:S31:输入标准SM2签名值、被执行数字签名的消息、签名者的杂凑值、签名者的可辨别标识和椭圆曲线系统参数,椭圆曲线系统参数包括椭圆曲线方程参数a、b、基点和基点的阶n;S32:将、的数据类型转化为整数,置,计算,将的数据类型转化为整数;S33:通过中间临时变量,将压缩点转换为椭圆曲线上的一个点来解析签名者的公钥;其中,x||y为x与y的拼接,其中x、y是比特串或字节串,为消息摘要长度为v比特的密码杂凑函数。4.如权利要求3所述的SM2数字签名验证失败原因判定方法,其特征在于,当采用两个
中间临时变量时,步骤S33具体包括:A:计算,,;B:置比特,将压缩点转换为SM2椭圆曲线上的一个点;C:置n
e
=0,n
e
为错误次数计数器;D:计算公钥;其中,,;其中,[k]P:椭圆曲线上点P的k倍点。5.如权利要求4所述的SM2数字签名验证失败原因判定方法,其特征在于,所述方法还包括公钥正确性核验步骤:将a、b、x
G
、y
G
、、的数据类型转化为字节串;计算;检验是否成立,若成立,返回;否则计算n
e
= n
e
...
【专利技术属性】
技术研发人员:罗影,张文科,滕斌,敖麒,郭晓玲,
申请(专利权)人:工业信息安全四川创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。