CN110557260A - 一种sm9数字签名生成方法及装置 - Google Patents

一种sm9数字签名生成方法及装置 Download PDF

Info

Publication number
CN110557260A
CN110557260A CN201910789305.8A CN201910789305A CN110557260A CN 110557260 A CN110557260 A CN 110557260A CN 201910789305 A CN201910789305 A CN 201910789305A CN 110557260 A CN110557260 A CN 110557260A
Authority
CN
China
Prior art keywords
digital signature
signature
secret
user
private key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910789305.8A
Other languages
English (en)
Other versions
CN110557260B (zh
Inventor
龙毅宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201910789305.8A priority Critical patent/CN110557260B/zh
Publication of CN110557260A publication Critical patent/CN110557260A/zh
Application granted granted Critical
Publication of CN110557260B publication Critical patent/CN110557260B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

发明涉及一种SM9数字签名生成方法:生成SM9数字签名的装置有[1,n‑1]区间内的一个整数秘密c,非秘密PA=[c‑1]dA和gc=g^(c‑1),其中n为群G1的阶,dA为用户的标识私钥,^为幂运算,g=e(P1,Ppub);当需要使用dA针对消息M进行数字签名时,所述装置在[1,n‑1]内随机选择一个整数r,计算w=gc^r;计算h=H2(M||w,n),v=(r‑ch)mod n;所述装置将(h,v,PA)作为初始签名数据返回给所述装置的调用方或提交给数字签名的使用或信赖方;所述装置的调用方或数字签名的使用或信赖方计算S=[v]PA得到最终的数字签名(h,S)。

Description

一种SM9数字签名生成方法及装置
技术领域
本发明属于信息安全技术领域,特别是一种针对计算资源、计算能力受限装置的SM9数字签名生成方法,以及实施此方法的装置。
背景技术
SM9是由国家密码管理局颁布的一种基于双线性映射(配对运算)的标识密码算法,其中的双线性映射(配对运算)为:
e:G1×G2→GT时,其中G1、G2是加法循环群,GT是一个乘法循环群,G1、G2、GT的阶是素数n(注:在SM9规范中,G1、G2、GT的阶用的是大写字母N,本专利申请采用小写n),即若P、Q、R分别为G1、G2中的元,则e(P,Q)为GT中的元,且:
e(P+R,Q)=e(P,Q)e(R,Q),
e(P,Q+R)=e(P,Q)e(P,R),
e(aP,bQ)=e(P,Q)ab
基于SM9密码算法能实现基于标识的数字签名、密钥交换及数据加密。在SM9密码算法中,使用用户的SM9私钥dA针对消息M生成数字签名的过程如下:
计算得到w=g^r,这里符号^表示幂运算(g的r次幂),r是在[1,n-1]区间内随机选择的整数,n是SM9密码算法的群G1、G2、GT的阶,g=e(P1,Ppub),P1为G1中的生成元,Ppub为主公钥(即Ppub=[s]P2,s为主私钥或主密钥,P2为G2中的生成元,参见SM9规范;注意,这里的主私钥或主密钥,主公钥,用户标识私钥,以及群的阶使用的符号与SM9规范略有不同);
然后,计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、GT的阶(参见SM9规范);
若r≠h,计算S=[r-h]dA,则(h,S)为生成的数字签名;若r=h,则重新选择r,重新计算w、h,直到r≠h。
给定一个消息M的数字签名(h,S),验证签名有效性的方法如下(参加SM9规范,注意,SM9规范中签名验证过程描述使用的符号为M'、(h',S'))。
B1:检验h∈[1,n-1]是否成立,若不成立则验证不通过;
B2:检验S∈G1是否成立,若不成立则验证不通过;
B3:计算群GT中的元素g=e(P1,Ppub);
B4:计算群GT中的元素t=gh
B5:计算整数h1=H1(IDA||hid,n)(这里是IDA用户的标识,hid是用一个字节表示的签名私钥生成函数识别符,H1()是SM9规范中定义的散列或哈希函数);
B6:计算群G2中的元素P=[h1]P2+Ppub
B7:计算群GT中的元素u=e(S,P);
B8:计算群GT中的元素w'=u·t;
B9:计算整数h2=H2(M||w',n),检验h2=h是否成立,若成立则验证通过;否则验证不通过(H2()是SM9规范中定义的散列或哈希函数)。
SM9中的群G1、G2通常是椭圆曲线点群,因此数字签名过程中计算S=[r-h]dA要进行椭圆曲线点的数乘或多倍点运算,计算工作量大,这对于某些计算资源、计算能力受限的装置,比如传感器、微控制器、智能电表、智能穿戴设备,来说在短时间内实时完成运算是比较困难的,而在实时处理过程中又可能需要短时间内实时完成这种运算操作。
发明内容
本发明的目的是一种针对计算资源、计算能力受限装置的SM9数字签名生成方法,避免计算资源、计算能力受限装置在生成SM9数字签名的过程中进行群G1中元的数乘或多倍点运算。
针对本发明的目的,本发明提出的技术方案包括一种SM9数字签名生成方法以及实施此方法的相应装置。
在以下对本发明技术方案的描述中,若P、Q是加法群G1、G2中的元,则P+Q表示P、Q在加法群上的加,P-Q表示P加上Q的逆元(加法逆元),[k]P表示k个P在加法群上的加,即P+P+...+P(共有k个P)(若k是负数,则是|k|个P相加的结果的加法逆元);
省略号“...”,表示多个同样(类型)的数据项或多个同样的运算;
若a、b是乘法群GT中的元,则ab或a·b表示a、b在乘法群GT上的乘(只要不产生无二义性,“·”可以省略),a-1表示a在乘法群中逆元(乘法逆元),at表示t个a在乘法群GT上相乘(t是负数,则是|t|个a相乘的结果的乘法逆元),即幂运算,at的另一种表达方式是a^t;
若c为整数,则c-1表示整数c的模n乘法逆(即cc-1mod n=1);如无特别说明,本专利发明中整数的乘法逆都是针对群G1、G2、GT的阶n的模n乘法逆;
多个整数相乘(包括整数符号相乘、常数与整数符号相乘),在不产生二义性的情况下,省略掉乘号“·”,如k1·k2简化为k1k2,3·c,简化为3c;
mod n表示模n运算(modulo operation),对应于SM9规范中的modN;还有,模n运算的算子mod n的优先级是最低的,如a+b mod n等同于(a+b)mod n,a-b mod n等同于(a-b)mod n,ab mod n等同于(ab)mod n。
本发明提出的SM9数字签名生成方法具体如下。
所述方法涉及一个生成SM9数字签名的装置;所述装置有[1,n-1]区间内的一个整数秘密c,非秘密PA=[c-1]dA,非秘密gc=g^(c-1),其中n为SM9密码算法中群G1、G2、GT的阶(为素数),dA为用户的SM9标识私钥,c-1为c的模n乘法逆,^表示幂运算(对^前面的元进行幂运算,^后面是幂运算的次数),g=e(P1,Ppub),P1为G1中的生成元,Ppub为主公钥(即Ppub=[s]P2,s为主私钥或主密钥,P2为G2中的生成元,参见SM9规范);
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,所述装置在[1,n-1]内随机选择一个整数r,计算w=gc^r;
计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、GT的阶;
计算v=(r-ch)mod n;
检查v是否为0,若为0,则重新选择r,重新计算w、h、v,直到v≠0;
所述装置将(h,v,PA)作为初始签名数据或最终签名数据返回给调用所述装置请求进行数字签名操作的调用方(调用装置、系统或程序),或者将(h,v,PA)作为初始签名数据或最终签名数据提交给数字签名的使用或信赖方(使用装置、系统或程序)。
若(h,v,PA)是作为初始签名数据返回给调用所述装置请求进行数字签名操作的调用方(调用装置、系统或程序),或者作为初始签名数据提交给数字签名的使用或信赖方(使用装置、系统或程序),则请求进行数字签名操作的调用方,或数字签名的使用或信赖方,在获得(h,v,PA)后,计算S=[v]PA,形成最终的数字签名(h,S)。
若(h,v,PA)是作为最终签名数据返回给调用所述装置请求进行数字签名操作的调用方(并由调用方提交给数字签名的使用或信赖方),或作为最终签名数据提交给数字签名的使用或信赖方,则数字签名的验证方按如下方式进行签名验证:
按u=e(PA,P)v计算得到u=e(S,P)的值,其中P=[h1]P2+Ppub,h1=H1(IDA||hid,n),其他的验证操作与SM9规范规定的签名验证过程中的操作相同;
所述数字签名的验证方中包括数字签名的最终使用或信赖方。
对于以上所述SM9数字签名生成方法,生成SM9数字签名的装置中保存的秘密c由所述装置自己生成,或者由标识私钥生成系统生成,或者由其他系统生成;PA=[c-1]dA、gc=g^(c-1)的计算,由生成SM9数字签名的装置计算,或者由标识私钥生成系统计算,或者由其他系统计算。
基于本发明的SM9数字签名生成方法可构建相应的生成SM9数字签名的装置,所述装置包括秘密管理模块和签名生成模块;所述秘密管理模块用于秘密c的管理,所述秘密c的管理包括秘密c的生成或获得以及存储;所述签名生成模块用于按所述SM9数字签名生成方法生成针对消息的SM9数字签名。
从以上描述可以看到,基于本发明的方法和装置,当需要使用用户标识私钥dA对消息进行数字签名时,生成SM9数字签名的装置在生成数字签名的过程中无需进行群G1中元的数乘或多倍点运算,这在生成SM9数字签名的装置是一个计算资源、计算能力受限的装置时是非常有用的。
具体实施方式
下面结合实施例对本发明作进一步的描述。以下实施例仅是本发明列举的几个可能的实施例,不代表全部可能的实施例,不作为对本发明的限定。
实施例1、
生成SM9数字签名的装置是一个计算资源、计算能力受限的装置,如传感器、微控制器、智能穿戴设备;该装置本身或其用户有一个对应的标识私钥dA;该装置在运行过程需要对一个数据M进行SM9数字签名,比如,对用于身份鉴别的随机字串M进行签名,或者对产生或获取的数据M进行签名以保证其真实性、完整性,但由于该装置是一个计算资源、能力受限的装置,因此,无法在短时间内实时完成使用标识私钥dA对数据M的数字签名运算;为此,该装置采用本发明的SM9数字签名生成方法生成针对消息M的数字签名;
具体地,计算资源、计算能力受限的装置有[1,n-1]区间内的一个整数秘密c,非秘密PA=[c-1]dA,非秘密gc=g^(c-1),其中n为SM9密码算法中群G1、G2、GT的阶(为素数),dA为用户的SM9标识私钥,c-1为c的模n乘法逆,^表示幂运算(对^前面的元进行幂运算,^后面是幂运算的次数),g=e(P1,Ppub),P1为G1中的生成元,Ppub为主公钥(即Ppub=[s]P2,s为主私钥或主密钥,P2为G2中的生成元,参见SM9规范);
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,所述装置在[1,n-1]内随机选择一个整数r,计算w=gc^r;
计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、GT的阶;
计算v=(r-ch)mod n;
检查v是否为0,若为0,则重新选择r,重新计算w、h、v,直到v≠0;
在此实施例中,(h,v,PA)作为初始数字签名数据提交给了数字签名的使用或信赖方(使用装置、程序或系统);而数字签名的使用或信赖方通过计算S=[v]PA,得到最终的数字签名(h,S),并对其是否是数据M的SM9数字签名进行验证。
实施例2、
此实施例与实施例1的差别在于,在此实施例中,(h,v,PA)作为最终数字签名数据提交给了数字签名的使用或信赖方(使用装置、程序或系统);而数字签名的使用或信赖方在对(h,v,PA)是否是数据M的SM9数字签名进行验证的过程中,按u=e(PA,P)v计算得到u=e(S,P)的值,其他的验证操作与SM9规范规定的签名验证过程中的操作相同。
实施例3、
生成SM9数字签名的装置是一个计算资源、计算能力受限的密码装置,该密码装置的用户有一个标识私钥dA;该密码装置由于计算资源、计算能力,由其完成完整的SM9数字签名生成的速度不能令人满意;该密码装置的调用装置、系统具有较强的计算能力;
当该密码装置的调用装置、系统或程序调用该密码装置要求使用用户的标识私钥dA生成针对一个消息M的SM9数字签名时,该密码装置采用本发明的SM9数字签名生成方法生成针对消息M的数字签名;
具体地,计算资源、计算能力受限的装置有[1,n-1]区间内的一个整数秘密c,非秘密PA=[c-1]dA,非秘密gc=g^(c-1),其中n为SM9密码算法中群G1、G2、GT的阶(为素数),dA为用户的SM9标识私钥,c-1为c的模n乘法逆,^表示幂运算(对^前面的元进行幂运算,^后面是幂运算的次数),g=e(P1,Ppub),P1为G1中的生成元,Ppub为主公钥(即Ppub=[s]P2,s为主私钥或主密钥,P2为G2中的生成元,参见SM9规范);
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,所述装置在[1,n-1]内随机选择一个整数r,计算w=gc^r;
计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、GT的阶;
计算v=(r-ch)mod n;
检查v是否为0,若为0,则重新选择r,重新计算w、h、v,直到v≠0;
在此实施例中,(h,v,PA)作为初始数字签名数据返回给了密码装置的调用装置、系统或程序,而密码装置的调用装置、系统或程序通过计算S=[v]PA,得到最终的数字签名(h,S),并将其提交数字签名的使用或信赖方。
实施例4、
此实施例与实施例3一样,生成SM9数字签名的装置是一个计算资源、计算能力受限的密码装置,该密码装置的用户有一个标识私钥dA;该密码装置由于计算资源、计算能力,由其完成完整的SM9数字签名生成的速度不能令人满意;数字签名的使用、信赖方(装置、系统或程序)具有较强的计算能力;
当该密码装置的使用装置、系统或程序调用该密码装置要求使用用户的标识私钥dA生成针对一个消息M的SM9数字签名时,该密码装置采用本发明的SM9数字签名生成方法生成针对消息M的数字签名;
具体地,计算资源、计算能力受限的装置有[1,n-1]区间内的一个整数秘密c,非秘密PA=[c-1]dA,非秘密gc=g^(c-1),其中n为SM9密码算法中群G1、G2、GT的阶(为素数),dA为用户的SM9标识私钥,c-1为c的模n乘法逆,^表示幂运算(对^前面的元进行幂运算,^后面是幂运算的次数),g=e(P1,Ppub),P1为G1中的生成元,Ppub为主公钥(即Ppub=[s]P2,s为主私钥或主密钥,P2为G2中的生成元,参见SM9规范);
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,所述装置在[1,n-1]内随机选择一个整数r,计算w=gc^r;
计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、GT的阶;
计算v=(r-ch)mod n;
检查v是否为0,若为0,则重新选择r,重新计算w、h、v,直到v≠0;
在此实施例中,(h,v,PA)作为初始数字签名数据返回给了密码装置的调用装置、系统或程序,而密码装置的调用装置、系统或程序将(h,v,PA)作为初始数字签名数据提交给数字签名的使用、信赖方;数字签名的使用、信赖方通过计算S=[v]PA,得到最终的数字签名(h,S)。
实施例5、
此实施例与实施例3、4一样,生成SM9数字签名的装置是一个计算资源、计算能力受限的密码装置,该密码装置的用户有一个标识私钥dA;该密码装置由于计算资源、计算能力,由其完成完整的SM9数字签名生成的速度不能令人满意;
当该密码装置的使用装置、系统或程序调用该密码装置要求使用用户的标识私钥dA生成针对一个消息M的SM9数字签名时,该密码装置采用本发明的SM9数字签名生成方法生成针对消息M的数字签名;
具体地,计算资源、计算能力受限的装置有[1,n-1]区间内的一个整数秘密c,非秘密PA=[c-1]dA,非秘密gc=g^(c-1),其中n为SM9密码算法中群G1、G2、GT的阶(为素数),dA为用户的SM9标识私钥,c-1为c的模n乘法逆,^表示幂运算(对^前面的元进行幂运算,^后面是幂运算的次数),g=e(P1,Ppub),P1为G1中的生成元,Ppub为主公钥(即Ppub=[s]P2,s为主私钥或主密钥,P2为G2中的生成元,参见SM9规范);
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,所述装置在[1,n-1]内随机选择一个整数r,计算w=gc^r;
计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、GT的阶;
计算v=(r-ch)mod n;
检查v是否为0,若为0,则重新选择r,重新计算w、h、v,直到v≠0;
在此实施例中,(h,v,PA)作为最终数字签名数据返回给了密码装置的调用装置、系统或程序,而密码装置的调用装置、系统或程序将(h,v,PA)作为最终数字签名数据提交给数字签名的使用、信赖方(使用装置、程序或系统);而数字签名的使用或信赖方在对(h,v,PA)是否是数据M的SM9数字签名进行验证的过程中,按u=e(PA,P)v计算得到u=e(S,P)的值,其他的验证操作与SM9规范规定的签名验证过程中的操作相同。
实施例6、
此实施例与实施例中,生成SM9数字签名的装置是一个计算资源、计算能力受限的密码装置或者作为密码装置使用的计算装置,该密码装置或作为密码装置使用的计算装置的用户有一个标识私钥dA;该密码装置或作为密码装置使用的计算装置由于计算资源、计算能力,由其完成完整的SM9数字签名生成的速度不能令人满意;
此密码装置或者作为密码装置使用的计算装置与另一个调用此装置的装置或系统(称为调用装置或系统)相连;调用装置或系统中的程序调用通过一个密码动态库调用此密码装置或作为密码装置使用的计算装置;当调用装置或系统中的程序调用通过密码动态库调用此密码装置或作为密码装置使用的计算装置,使用用户的标识私钥dA生成针对一个消息M的数字签名时,此密码装置或作为密码装置使用的计算装置采用本发明的SM9数字签名生成方法生成针对消息M的数字签名;
具体地,计算资源、计算能力受限的装置有[1,n-1]区间内的一个整数秘密c,非秘密PA=[c-1]dA,非秘密gc=g^(c-1),其中n为SM9密码算法中群G1、G2、GT的阶(为素数),dA为用户的SM9标识私钥,c-1为c的模n乘法逆,^表示幂运算(对^前面的元进行幂运算,^后面是幂运算的次数),g=e(P1,Ppub),P1为G1中的生成元,Ppub为主公钥(即Ppub=[s]P2,s为主私钥或主密钥,P2为G2中的生成元,参见SM9规范);
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,所述装置在[1,n-1]内随机选择一个整数r,计算w=gc^r;
计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、GT的阶;
计算v=(r-ch)mod n;
检查v是否为0,若为0,则重新选择r,重新计算w、h、v,直到v≠0;
在此实施例中,(h,v,PA)作为初始数字签名数据返回给调用的密码动态库,密码动态库通过计算S=[v]PA,得到最终的数字签名(h,S)。
在以上实施例1-6中,生成SM9数字签名的装置中保存的秘密c由所述装置自己生成,或者由标识私钥生成系统生成,或者由其他系统生成;PA=[c-1]dA、gc=g^(c-1)的计算,由生成SM9数字签名的装置计算,或者由标识私钥生成系统计算,或者由其他系统计算。
基于本发明的SM9数字签名生成方法可构建、实施相应的生成SM9数字签名的装置,所述装置包括秘密管理模块和签名生成模块;所述秘密管理模块用于秘密c的管理,所述秘密c的管理包括秘密c的生成或获得以及存储;所述签名生成模块用于按所述SM9数字签名生成方法生成针对消息的SM9数字签名。这里构建、实施的生成SM9数字签名的装置可以是以上所述实施例1-6中的生成SM9数字签名的装置。
其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。

Claims (5)

1.一种SM9数字签名生成方法,其特征是:
所述方法涉及一个生成SM9数字签名的装置;所述装置有[1,n-1]区间内的一个整数秘密c,非秘密PA=[c-1]dA,非秘密gc=g^(c-1),其中n为SM9密码算法中群G1、G2、GT的阶,dA为用户的SM9标识私钥,c-1为c的模n乘法逆,^表示幂运算,g=e(P1,Ppub),P1为G1中的生成元,Ppub为主公钥;
当需要使用用户的SM9标识私钥dA针对消息M进行数字签名时,所述装置在[1,n-1]内随机选择一个整数r,计算w=gc^r;
计算h=H2(M||w,n),其中H2为SM9中规定的散列函数,M||w表示M和w的字串合并,n为G1、G2、GT的阶;
计算v=(r-ch)mod n;
检查v是否为0,若为0,则重新选择r,重新计算w、h、v,直到v≠0;
所述装置将(h,v,PA)作为初始签名数据或最终签名数据返回给调用所述装置请求进行数字签名操作的调用方,或者将(h,v,PA)作为初始签名数据或最终签名数据提交给数字签名的使用或信赖方。
2.根据权利要求1所述的SM9数字签名生成方法,其特征是:
若(h,v,PA)是作为初始签名数据返回给调用所述装置请求进行数字签名操作的调用方,或者作为初始签名数据提交给数字签名的使用或信赖方,则请求进行数字签名操作的调用方,或数字签名的使用或信赖方,在获得(h,v,PA)后,计算S=[v]PA,形成最终的数字签名(h,S)。
3.根据权利要求1所述的SM9数字签名生成方法,其特征是:
若(h,v,PA)是作为最终签名数据返回给调用所述装置请求进行数字签名操作的调用方,或作为最终签名数据提交给数字签名的使用或信赖方,则数字签名的验证方按如下方式进行签名验证:
按u=e(PA,P)v计算得到u=e(S,P)的值,其中P=[h1]P2+Ppub,h1=H1(IDA||hid,n),IDA是用户的标识,hid是用一个字节表示的签名私钥生成函数识别符,H1()是SM9规范中定义的散列或哈希函数,其他的验证操作与SM9规范规定的签名验证过程中的操作相同;
所述数字签名的验证方中包括数字签名的最终使用或信赖方。
4.根据权利要求1所述的SM9数字签名生成方法,其特征是:
对于以上所述SM9数字签名生成方法,生成SM9数字签名的装置中保存的秘密c由所述装置自己生成,或者由标识私钥生成系统生成,或者由其他系统生成;PA=[c-1]dA、gc=g^(c-1)的计算,由生成SM9数字签名的装置计算,或者由标识私钥生成系统计算,或者由其他系统计算。
5.一种基于权利要求1-4中任一项所述的SM9数字签名生成方法构建的SM9数字签名生成装置,其特征是:
所述装置包括秘密管理模块和签名生成模块;所述秘密管理模块用于秘密c的管理,所述秘密c的管理包括秘密c的生成或获得以及存储;所述签名生成模块用于按所述SM9数字签名生成方法生成针对消息的SM9数字签名。
CN201910789305.8A 2019-08-26 2019-08-26 一种sm9数字签名生成方法及装置 Active CN110557260B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910789305.8A CN110557260B (zh) 2019-08-26 2019-08-26 一种sm9数字签名生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910789305.8A CN110557260B (zh) 2019-08-26 2019-08-26 一种sm9数字签名生成方法及装置

Publications (2)

Publication Number Publication Date
CN110557260A true CN110557260A (zh) 2019-12-10
CN110557260B CN110557260B (zh) 2020-08-04

Family

ID=68738385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910789305.8A Active CN110557260B (zh) 2019-08-26 2019-08-26 一种sm9数字签名生成方法及装置

Country Status (1)

Country Link
CN (1) CN110557260B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021143456A1 (zh) * 2020-01-15 2021-07-22 江苏芯盛智能科技有限公司 Sm9数字签名生成方法、装置、计算机设备和存储介质
CN115150062A (zh) * 2022-06-10 2022-10-04 武汉理工大学 签名制作数据安全受控的sm9数字签名生成方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107819585A (zh) * 2017-11-17 2018-03-20 武汉理工大学 Sm9数字签名协同生成方法及系统
CN109951292A (zh) * 2019-02-20 2019-06-28 武汉理工大学 精简的sm9数字签名分离交互生成方法及系统
CN110011802A (zh) * 2019-02-27 2019-07-12 武汉大学 一种高效的sm9两方协同生成数字签名的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107819585A (zh) * 2017-11-17 2018-03-20 武汉理工大学 Sm9数字签名协同生成方法及系统
CN109951292A (zh) * 2019-02-20 2019-06-28 武汉理工大学 精简的sm9数字签名分离交互生成方法及系统
CN110011802A (zh) * 2019-02-27 2019-07-12 武汉大学 一种高效的sm9两方协同生成数字签名的方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021143456A1 (zh) * 2020-01-15 2021-07-22 江苏芯盛智能科技有限公司 Sm9数字签名生成方法、装置、计算机设备和存储介质
CN115150062A (zh) * 2022-06-10 2022-10-04 武汉理工大学 签名制作数据安全受控的sm9数字签名生成方法及系统
CN115150062B (zh) * 2022-06-10 2024-04-02 武汉理工大学 签名制作数据安全受控的sm9数字签名生成方法及系统

Also Published As

Publication number Publication date
CN110557260B (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN110011802B (zh) 一种高效的sm9两方协同生成数字签名的方法及系统
US10530585B2 (en) Digital signing by utilizing multiple distinct signing keys, distributed between two parties
CN107483212B (zh) 一种双方协作生成数字签名的方法
CN108989050B (zh) 一种无证书数字签名方法
CN110247757B (zh) 基于国密算法的区块链处理方法、装置及系统
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及系统
CN107248909B (zh) 一种基于sm2算法的无证书安全签名方法
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及系统
CN110138567B (zh) 一种基于ecdsa的协同签名方法
JP7105308B2 (ja) デジタル署名方法、装置及びシステム
CN107911217B (zh) 基于ecdsa算法协同生成签名的方法、装置和数据处理系统
CN112118111B (zh) 一种适用于门限计算的sm2数字签名方法
CN110505061B (zh) 一种数字签名算法及系统
CN109361519B (zh) 一种改进的包含秘密的数的生成方法及系统
WO2023184858A1 (zh) 一种时间戳生成方法、装置、电子设备及存储介质
CN114499887B (zh) 签名密钥生成及相关方法、系统、计算机设备和存储介质
CN110557260B (zh) 一种sm9数字签名生成方法及装置
Mu et al. Secure two-party SM9 signing
Islam et al. Certificateless strong designated verifier multisignature scheme using bilinear pairings
CN109962783B (zh) 基于递进计算的sm9数字签名协同生成方法及系统
CN114117547A (zh) 一种基于预计算表的sm9数字签名加速生成方法以及数字签名加速验证方法
CN113055161B (zh) 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统
CN108055134B (zh) 椭圆曲线点数乘及配对运算的协同计算方法及系统
CN110798313B (zh) 基于秘密动态共享的包含秘密的数的协同生成方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant