CN112019352B - 一种sm9快速签名方法、系统及电子设备 - Google Patents

一种sm9快速签名方法、系统及电子设备 Download PDF

Info

Publication number
CN112019352B
CN112019352B CN202010928053.5A CN202010928053A CN112019352B CN 112019352 B CN112019352 B CN 112019352B CN 202010928053 A CN202010928053 A CN 202010928053A CN 112019352 B CN112019352 B CN 112019352B
Authority
CN
China
Prior art keywords
signature
acceleration data
value
obtaining
cyclic group
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.)
Active
Application number
CN202010928053.5A
Other languages
English (en)
Other versions
CN112019352A (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.)
Shandong Sanwei Xinan Information Technology Co ltd
Sanwei Xin'an Technology Co ltd
Original Assignee
Shandong Sanwei Xinan Information Technology Co ltd
Sanwei Xin'an Technology Co ltd
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 Shandong Sanwei Xinan Information Technology Co ltd, Sanwei Xin'an Technology Co ltd filed Critical Shandong Sanwei Xinan Information Technology Co ltd
Priority to CN202010928053.5A priority Critical patent/CN112019352B/zh
Publication of CN112019352A publication Critical patent/CN112019352A/zh
Application granted granted Critical
Publication of CN112019352B publication Critical patent/CN112019352B/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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

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

Abstract

本发明涉及一种SM9快速签名方法、系统及电子设备,根据签名的主公钥Ppub‑s得到4个签名加速数据,由于预先将第一随机数r拆成4个64比特的整数即:R0、R1、R2、R3,在采用自左向右按比特移位处理时,每次移位相当于同时处理4个比特,极大提高了计算出待签名消息M对应的数字签名值(h,S)的效率,即极大提高SM9数字签名的效率。

Description

一种SM9快速签名方法、系统及电子设备
技术领域
本发明涉及信息安全技术领域,尤其涉及一种SM9快速签名方法、系统及电子设备。
背景技术
SM9密码算法在2016年被确定为国家密码行业标准(GM/T 0044-2016),该算法是一种标识密码算法,以用户的身份信息(如序列号、手机号码、网络地址等)作为公钥,可以大大简化传统PKI/CA证书体系中繁琐的密钥管理。与传统的密码体系相比,基于SM9密码算法构建的密码系统的优势在于易于管理和易于使用。系统中的用户设备无需事先申请用户证书,也不需要对数字证书进行验证,大大降低了密码系统的使用复杂度,非常适合海量用户群中用户之间的安全通信。
SM9密码算法在我国信息安全系统中的应用越来越多,但该算法涉及的数学计算较为复杂,运算性能较低,制约着该密码算法的推广使用。如何有效提高其计算性能是当下急需解决的问题。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供了一种SM9快速签名方法、系统及电子设备。
本发明的一种SM9快速签名方法的技术方案如下:
根据签名的主公钥Ppub-s得到第一签名加速数据g1,并根据所述第一签名加速数据g1得到第二签名加速数据g2、第三签名加速数据g4、第四签名加速数据g8,其中,g2=(g1)64,g4=(g1)128,g8=(g1)192
生成第一随机数r,其中,Rj[j′]∈[0,1],ri∈[0,1],Rj∈[0,264-1],Rj[j′]表示Rj的第j′的位;
根据Rj、所述第一签名加速数据g1、所述第二签名加速数据g2、所述第三签名加速数据g4、所述第四签名加速数据g8和基于固定基的快速模幂算法得到第一数值gr
根据所述第一数值gr和签名密钥得到所述待签名消息M对应的数字签名值(h,S);
其中,所述第一随机数r、所述第一数值gr均为国密SM9标准定义的第三循环群GT中的元素,所述国密SM9标准定义第一循环群G1、第二循环群G2和所述第三循环群GT,且G1×G2双线性映射至所述第三循环群GT
本发明的一种SM9快速签名方法的有益效果如下:
根据签名的主公钥Ppub-s得到4个签名加速数据,由于预先将第一随机数r拆成4个64比特的整数即:R0、R1、R2、R3,在采用自左向右按比特移位处理时,每次移位相当于同时处理4个比特,极大提高了计算出待签名消息M对应的数字签名值(h,S)的效率,即极大提高SM9数字签名的效率。
在上述方案的基础上,本发明的一种SM9快速签名方法还可以做如下改进。
进一步,所述根据签名的主公钥Ppub-s得到第一签名加速数据g1,包括:
通过第一公式计算签名双线性对g,所述签名双线性对g即为所述第一签名加速数据g1,所述第一公式为:g=e(P1,Ppub-s);
其中,所述签名双线性对g为所述第三循环群GT中的元素,P1表示所述第一循环群G1的生成元,e(P1,Ppub-s)表示G1×G2到所述第三循环群GT的双线性对,Ppub-s表示签名的主公钥,且Ppub-s为所述第二循环群G2中的元素进一步,所述根据Rj、所述第一签名加速数据g1、所述第二签名加速数据g2、所述第三签名加速数据g4、所述第四签名加速数据g8和基于固定基的快速模幂算法得到第一数值gr,包括:
S30、设置u=1,r′=R3[j′]×23+R2[j′]×22+R1[j′]×2+R0[j′],得到u×gr′
S31、将(u×gr′)2作为u,将j′-1作为j′,重新带入S30,直至j′=0时所得到的u×gr′即为所述第一数值gr
其中,r′∈[0,15],g0=1,g3=g2×g1,g5=g4×g1,g6=g4×g2,g7=g4×g3,g9=g8×g1,g10=g8×g2,g11=g8×g3,g12=g8×g4,g13=g8×g5,g14=g8×g6,g15=g8×g7
进一步,所述根据所述第一数值gr和签名密钥得到所述待签名消息M对应的数字签名值(h,S),包括:
根据第三公式得到第一签名值h,所述第三公式为:h=H2(M||gr,N);
根据第四公式得到第二签名值S,所述第四公式为:S=[l]dsA
其中,l=(r-h)mod N,dsA表示所述签名密钥,H2(M||gr,N)表示密码杂凑函数SM3所派生的密码函数,[k]P表示椭圆曲线上的点P的k倍点,P是所述第一循环群G1中的元素,N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶。
本发明的一种SM9快速签名系统的技术方案如下:
包括:获取签名加速数据模块、生成模块、获取模块和计算数字签名值模块;
所述获取签名加速数据模块用于根据签名的主公钥Ppub-s得到第一签名加速数据g1,并根据所述第一签名加速数据g1得到第二签名加速数据g2、第三签名加速数据g3、第四签名加速数据g4,其中,g2=(g1)64,g4=(g1)128,g8=(g1)192
所述生成模块用于生成第一随机数r,其中,/>Rj[j′]∈[0,1],ri∈[0,1],Rj∈[0,264-1],Rj[j′]表示Rj的第j′的位;
所述获取模块用于根据Rj、所述第一签名加速数据g1、所述第二签名加速数据g2、所述第三签名加速数据g4、所述第四签名加速数据g8和基于固定基的快速模幂算法得到第一数值gr
所述计算数字签名值模块用于根据所述第一数值gr和签名密钥得到所述待签名消息M对应的数字签名值(h,S);
其中,所述第一随机数r、所述第一数值gr均为国密SM9标准定义的第三循环群GT中的元素,所述国密SM9标准定义第一循环群G1、第二循环群G2和所述第三循环群GT,且G1×G2双线性映射至所述第三循环群GT
本发明的一种SM9快速签名系统的有益效果如下:
根据签名的主公钥Ppub-s得到4个签名加速数据,由于预先将第一随机数r拆成4个64比特的整数即:R0、R1、R2、R3,在采用自左向右按比特移位处理时,每次移位相当于同时处理4个比特,极大提高了计算出待签名消息M对应的数字签名值(h,S)的效率,即极大提高SM9数字签名的效率。
在上述方案的基础上,本发明的一种SM9快速签名系统还可以做如下改进。
进一步,所述所述获取签名加速数据模块具体用于:通过第一公式计算签名双线性对g,所述签名双线性对g即为所述第一签名加速数据g1,所述第一公式为:g=e(P1,Ppub-s);
其中,所述签名双线性对g为所述第三循环群GT中的元素,P1表示所述第一循环群G1的生成元,e(P1,Ppub-s)表示G1×G2到所述第三循环群GT的双线性对,Ppub-s表示签名的主公钥,且Ppub-s为所述第二循环群G2中的元素。
进一步,所述获取模块包括设置模块和计算模块:
所述设置模块用于:设置u=1,r′=R3[j′]×23+R2[j′]×22+R1[j′]×2+R0[j′],得到u×gr′
所述计算模块用于将(u×gr′)2作为u,将j′-1作为j′,重新调用设置模块,直至j′=0时所得到的u×gr′即为所述第一数值gr
其中,r′∈[0,15],g0=1,g3=g2×g1,g5=g4×g1,g6=g4×g2,g7=g4×g3,g9=g8×g1,g10=g8×g2,g11=g8×g3,g12=g8×g4,g13=g8×g5,g14=g8×g6,g15=g8×g7
进一步,所述计算数字签名值模块具体用于:
根据第三公式得到第一签名值h,所述第三公式为:h=H2(M||gr,N);
根据第四公式得到第二签名值S,所述第四公式为:S=[l]dsA
其中,l=(r-h)mod N,dsA表示所述签名密钥,H2(M||gr,N)表示密码杂凑函数SM3所派生的密码函数,[k]P表示椭圆曲线上的点P的k倍点,P是所述第一循环群G1中的元素,N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶。
本发明的一种电子设备的技术方案如下:
包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如上述任一项所述的一种SM9快速签名方法的步骤。
本发明的一种电子设备的有益效果如下:
根据签名的主公钥Ppub-s得到4个签名加速数据,由于预先将第一随机数r拆成4个64比特的整数即:R0、R1、R2、R3,在采用自左向右按比特移位处理时,每次移位相当于同时处理4个比特,极大提高了计算出待签名消息M对应的数字签名值(h,S)的效率,即极大提高SM9数字签名的效率。
附图说明
图1为本发明实施例的一种SM9快速签名方法的流程示意图;
图2为本发明实施例的一种SM9快速签名系统的结构示意图;
图3为本发明实施例的一种电子设备的结构示意图;
具体实施方式
如图1所示,本发明实施例的一种SM9快速签名方法,包括如下步骤:
S1、根据签名的主公钥Ppub-s得到第一签名加速数据g1,并根据所述第一签名加速数据g1得到第二签名加速数据g2、第三签名加速数据g3、第四签名加速数据g4,其中,g2=(g1)64,g4=(g1)128,g8=(g1)192
S2、生成第一随机数r,其中,Rj[j′]∈[0,1],ri∈[0,1],Rj∈[0,264-1],Rj[j′]表示Rj的第j′的位;
S3、根据Rj、所述第一签名加速数据g1、所述第二签名加速数据g2、所述第三签名加速数据g4、所述第四签名加速数据g8和基于固定基的快速模幂算法得到第一数值gr
S4、根据所述第一数值gr和签名密钥得到所述待签名消息M对应的数字签名值(h,S);
其中,所述第一随机数r、所述第一数值gr均为国密SM9标准定义的第三循环群GT中的元素,所述国密SM9标准定义第一循环群G1、第二循环群G2和所述第三循环群GT,且G1×G2双线性映射至所述第三循环群GT
根据签名的主公钥Ppub-s得到4个签名加速数据,由于预先将第一随机数r拆成4个64比特的整数即:R0、R1、R2、R3,在采用自左向右按比特移位处理时,每次移位相当于同时处理4个比特,极大提高了计算出待签名消息M对应的数字签名值(h,S)的效率,即极大提高SM9数字签名的效率。
较优地,在上述技术方案中,S1中,所述根据签名的主公钥Ppub-s得到第一签名加速数据g1,包括:
S10、通过第一公式计算签名双线性对g,所述签名双线性对g即为所述第一签名加速数据g1,所述第一公式为:g=e(P1,Ppub-s);
其中,所述签名双线性对g为所述第三循环群GT中的元素,P1表示所述第一循环群G1的生成元,e(P1,Ppub-s)表示G1×G2到所述第三循环群GT的双线性对,Ppub-s表示签名的主公钥,且Ppub-s为所述第二循环群G2中的元素。由于P1为第一循环群G1的生成元,那么P1一定为所述第一循环群G1中的元素。
其中,可用e(Q1,Q2)表示G1×G2到所述第三循环群GT的双线性对,Q1为所述第一循环群G1中的生成元,Q2为所述第二循环群G2中的元素,那么:将e(Q1,Q2)中的Q1替换为P1,将e(Q1,Q2)的Q2替换为Ppub-s,即得到e(P1,Ppub-s),也就是说,e(P1,Ppub-s)是e(Q1,Q2)的一种具体实施方式。
较优地,在上述技术方案中,所述根据Rj、所述第一签名加速数据g1、所述第二签名加速数据g2、所述第三签名加速数据g3、所述第四签名加速数据g4和基于固定基的快速模幂算法得到第一数值gr,包括:
S30、设置u=1,r′=R3[j′]×23+R2[j′]×22+R1[j′]×2+R0[j′],得到u×gr′
S31、将(u×gr′)2作为u,将j′-1作为j′,重新带入S30,直至j′=0时所得到的u×gr′即为所述第一数值gr
其中,r′∈[0,15],g0=1,g3=g2×g1,g5=g4×g1,g6=g4×g2,g7=g4×g3,g9=g8×g1,g10=g8×g2,g11=g8×g3,g12=g8×g4,g13=g8×g5,g14=g8×g6,g15=g8×g7
其中,将按照比特展开可以得到:
R0={R0[63],R0[62],R0[61]······R0[2],R0[1],R0[0]};
R1={R1[63],R1[62],R1[61]······R1[2],R1[1],R1[0]};
R2={R2[63],R2[62],R2[61]······R2[2],R2[1],R2[0]};
R3={R3[63],R3[62],R3[61]······R3[2],R3[1],R3[0]};
由于预先将第一随机数r拆成4个64比特的整数即:R0、R1、R2、R3,在采用自左向右按比特移位处理时,每次移位相当于同时处理4个比特,这样完成一次模幂运算即得到第一数值gr只需要64次平方运算和60次乘法运算即可;
而采用传统的二进制展开法求模幂的方式为:生成第一随机数r,r∈[1,N-1],且其中,ri∈{0,1},N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶,那么:
S300、令U=1,若ri=1,则U=U×g;
S310、将(U×g)2作为u,将i-1作为i,重新带入S300,直至i=0时所得到的U×g即为所述第一数值gr
从S300-S310可以看出,传统的二进制展开法求模幂是按二进制展开的方式从左往右处理,每次移动一个比特。完成一次模幂运算即得到第一数值gr大概需要256次平方运算和128次乘法运算,而本申请完成一次模幂运算即得到第一数值gr只需要64次平方运算和60次乘法运算即可,进而极大提高了计算出待签名消息M对应的数字签名值(h,S)的效率,即极大提高SM9数字签名的效率。
较优地,在上述技术方案中,S4中,所述根据所述第一数值gr和签名密钥得到所述待签名消息M对应的数字签名值(h,S),包括:
S40、根据第三公式得到第一签名值h,所述第三公式为:h=H2(M||gr,N);
S41、根据第四公式得到第二签名值S,所述第四公式为:S=[l]dsA
其中,l=(r-h)mod N,dsA表示所述签名密钥,H2(M||gr,N)表示密码杂凑函数SM3所派生的密码函数,[k]P表示椭圆曲线上的点P的k倍点,P是所述第一循环群G1中的元素,N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶,其中,用十六进制进行表示阶的值,阶的值为B6400000、02A3A6F1、D603AB4F、F58EC744、49F2934B、18EA8BEE、E56EE19C或D69ECF25等。
其中,其中,可用H2(Q3)表示密码杂凑函数SM3所派生的密码函数,将Q3替换为“M||gr,N”,即得到H2(M||gr,N),也就是说,H2(M||gr,N)是H2(Q3)的一种具体实施形式。
在上述各实施例中,虽然对步骤进行进行了编号S1、S2等,但只是本申请给出的具体实施例,本领域的技术人员可根据实际情况对调整S1、S2等的执行顺序,此也在本发明的保护范围内。
如图2所示,本发明实施例的一种SM9快速签名系统200,包括:获取签名加速数据模块210、生成模块220、获取模块230和计算数字签名值模块240;
所述获取签名加速数据模块210用于根据签名的主公钥Ppub-s得到第一签名加速数据g1,并根据所述第一签名加速数据g1得到第二签名加速数据g2、第三签名加速数据g3、第四签名加速数据g4,其中,g2=(g1)64,g4=(g1)128,g8=(g1)192
所述生成模块220用于生成第一随机数r, 其中,/>Rj[j′]∈[0,1],ri∈[0,1],Rj∈[0,264-1],Rj[j′]表示Rj的第j′的位;
所述获取模块230用于根据Rj、所述第一签名加速数据g1、所述第二签名加速数据g2、所述第三签名加速数据g4、所述第四签名加速数据g8和基于固定基的快速模幂算法得到第一数值gr
所述计算数字签名值模块240用于根据所述第一数值gr和签名密钥得到所述待签名消息M对应的数字签名值(h,S);
其中,所述第一随机数r、所述第一数值gr均为国密SM9标准定义的第三循环群GT中的元素,所述国密SM9标准定义第一循环群G1、第二循环群G2和所述第三循环群GT,且G1×G2双线性映射至所述第三循环群GT
根据签名的主公钥Ppub-s得到4个签名加速数据,由于预先将第一随机数r拆成4个64比特的整数即:R0、R1、R2、R3,在采用自左向右按比特移位处理时,每次移位相当于同时处理4个比特,极大提高了计算出待签名消息M对应的数字签名值(h,S)的效率,即极大提高SM9数字签名的效率。
较优地,在上述技术方案中,所述所述获取签名加速数据模块210具体用于:通过第一公式计算签名双线性对g,所述签名双线性对g即为所述第一签名加速数据g1,所述第一公式为:g=e(P1,Ppub-s);
其中,所述签名双线性对g为所述第三循环群GT中的元素,P1表示所述第一循环群G1的生成元,e(P1,Ppub-s)表示G1×G2到所述第三循环群GT的双线性对,Ppub-s表示签名的主公钥,且Ppub-s为所述第二循环群G2中的元素。较优地,在上述技术方案中,所述获取模块230包括设置模块和计算模块:
所述设置模块用于:设置u=1,r′=R3[j′]×23+R2[j′]×22+R1[j′]×2+R0[j′],得到u×gr′
所述计算模块用于将(u×gr′)2作为u,将j′-1作为j′,重新调用设置模块,直至j′=0时所得到的u×gr′即为所述第一数值gr
其中,r′∈[0,15],g0=1,g3=g2×g1,g5=g4×g1,g6=g4×g2,g7=g4×g3,g9=g8×g1,g10=g8×g2,g11=g8×g3,g12=g8×g4,g13=g8×g5,g14=g8×g6,g15=g8×g7
较优地,在上述技术方案中,所述计算数字签名值模块240具体用于:
根据第三公式得到第一签名值h,所述第三公式为:h=H2(M||gr,N);
根据第四公式得到第二签名值S,所述第四公式为:S=[l]dsA
其中,l=(r-h)mod N,dsA表示所述签名密钥,H2(M||gr,N)表示密码杂凑函数SM3所派生的密码函数,[k]P表示椭圆曲线上的点P的k倍点,P是所述第一循环群G1中的元素,N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶。
上述关于本发明的一种SM9快速签名系统200中的各参数和各个单元模块实现相应功能的步骤,可参考上文中关于一种SM9快速签名方法的实施例中的各参数和步骤,在此不做赘述。
如图3所示,本发明实施例的一种电子设备300,包括存储器310、处理器320及存储在所述存储器310上并在所述处理器320上运行的程序330,所述处理器320执行所述程序330时实现上述任一实施的一种SM9快速签名方法的步骤。
根据签名的主公钥Ppub-s得到4个签名加速数据,由于预先将第一随机数r拆成4个64比特的整数即:R0、R1、R2、R3,在采用自左向右按比特移位处理时,每次移位相当于同时处理4个比特,极大提高了计算出待签名消息M对应的数字签名值(h,S)的效率,即极大提高SM9数字签名的效率。
其中,电子设备300可以选用电脑、手机等,相对应地,其程序330为电脑软件或手机APP等,且上述关于本发明的一种电子设备300中的各参数和步骤,可参考上文中一种SM9快速签名方法的实施例中的各参数和步骤,在此不做赘述。
在本发明中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (7)

1.一种SM9快速签名方法,其特征在于,包括:
根据签名的主公钥Ppub-s得到第一签名加速数据g1,并根据所述第一签名加速数据g1得到第二签名加速数据g2、第三签名加速数据g4和第四签名加速数据g8,其中,g2=(g1)64,g4=(g1)128,g8=(g1)192
生成第一随机数r,其中,/> Rj[j′]∈[0,1],ri∈[0,1],Rj∈[0,264-1],Rj[j′]表示Rj的第j′的位;
根据Rj、所述第一签名加速数据g1、所述第二签名加速数据g2、所述第三签名加速数据g4、所述第四签名加速数据g8和基于固定基的快速模幂算法得到第一数值gr
根据所述第一数值gr和签名密钥得到所述待签名消息M对应的数字签名值(h,S);
其中,所述第一随机数r、所述第一数值gr均为国密SM9标准定义的第三循环群GT中的元素,所述国密SM9标准定义第一循环群G1、第二循环群G2和所述第三循环群GT,且G1×G2双线性映射至所述第三循环群GT
其中,所述根据Rj、所述第一签名加速数据g1、所述第二签名加速数据g2、所述第三签名加速数据g4、所述第四签名加速数据g8和基于固定基的快速模幂算法得到第一数值gr,包括:
S30、设置u=1,r′=R3[j′]×23+R2[j′]×22+R1[j′]×2+R0[j′],得到u×gr′
S31、将(u×gr′)2作为u,将j′-1作为j′,重新带入S30,直至j′=0时所得到的u×gr′即为所述第一数值gr
其中,r′∈[0,15],g0=1,g3=g2×g1,g5=g4×g1,g6=g4×g2,g7=g4×g3,g9=g8×g1,g10=g8×g2,g11=g8×g3,g12=g8×g4,g13=g8×g5,g14=g8×g6,g15=g8×g7
2.根据权利要求1所述的一种SM9快速签名方法,其特征在于,所述根据签名的主公钥Ppub-s得到第一签名加速数据g1,包括:
通过第一公式计算签名双线性对g,所述签名双线性对g即为所述第一签名加速数据g1,所述第一公式为:g=e(P1,Ppub-s);
其中,所述签名双线性对g为所述第三循环群GT中的元素,P1表示所述第一循环群G1的生成元,e(P1,Ppub-s)表示G1×G2到所述第三循环群GT的双线性对,Ppub-s表示签名的主公钥,且Ppub-s为所述第二循环群G2中的元素。
3.根据权利要求1所述的一种SM9快速签名方法,其特征在于,所述根据所述第一数值gr和签名密钥得到所述待签名消息M对应的数字签名值(h,S),包括:
根据第三公式得到第一签名值h,所述第三公式为:h=H2(M||gr,N);
根据第四公式得到第二签名值S,所述第四公式为:S=[l]dsA
其中,l=(r-h)mod N,dsA表示所述签名密钥,H2(M||gr,N)表示密码杂凑函数SM3所派生的密码函数,[k]P表示椭圆曲线上的点P的k倍点,P是所述第一循环群G1中的元素,N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶。
4.一种SM9快速签名系统,其特征在于,包括:获取签名加速数据模块、生成模块、获取模块和计算数字签名值模块;
所述获取签名加速数据模块用于根据签名的主公钥Ppub-s得到第一签名加速数据g1,并根据所述第一签名加速数据g1得到第二签名加速数据g2、第三签名加速数据g4和第四签名加速数据g8,其中,g2=(g1)64,g4=(g1)128,g8=(g1)192
所述生成模块用于生成第一随机数r,其中,Rj[j′]∈[0,1],ri∈[0,1],Rj∈[0,264-1],Rj[j′]表示Rj的第j′的位;
所述获取模块用于根据Rj、所述第一签名加速数据g1、所述第二签名加速数据g2、所述第三签名加速数据g4、所述第四签名加速数据g8和基于固定基的快速模幂算法得到第一数值gr
所述计算数字签名值模块用于根据所述第一数值gr和签名密钥得到所述待签名消息M对应的数字签名值(h,S);
其中,所述第一随机数r、所述第一数值gr均为国密SM9标准定义的第三循环群GT中的元素,所述国密SM9标准定义第一循环群G1、第二循环群G2和所述第三循环群GT,且G1×G2双线性映射至所述第三循环群GT
所述获取模块包括设置模块和计算模块:
所述设置模块用于:设置u=1,r′=R3[j′]×23+R2[j′]×22+R1[j′]×2+R0[j′],得到u×gr′
所述计算模块用于将(u×gr′)2作为u,将j′-1作为j′,重新调用设置模块,直至j′=0时所得到的u×gr′即为所述第一数值gr
其中,r′∈[0,15],g0=1,g3=g2×g1,g5=g4×g1,g6=g4×g2,g7=g4×g3,g9=g8×g1,g10=g8×g2,g11=g8×g3,g12=g8×g4,g13=g8×g5,g14=g8×g6,g15=g8×g7
5.根据权利要求4所述的一种SM9快速签名系统,其特征在于,所述所述获取签名加速数据模块具体用于:通过第一公式计算签名双线性对g,所述签名双线性对g即为所述第一签名加速数据g1,所述第一公式为:g=e(P1,Ppub-s);
其中,所述签名双线性对g为所述第三循环群GT中的元素,P1表示所述第一循环群G1的生成元,e(P1,Ppub-s)表示G1×G2到所述第三循环群GT的双线性对,Ppub-s表示签名的主公钥,且Ppub-s为所述第二循环群G2中的元素。
6.根据权利要求5所述的一种SM9快速签名系统,其特征在于,所述计算数字签名值模块具体用于:
根据第三公式得到第一签名值h,所述第三公式为:h=H2(M||gr,N);
根据第四公式得到第二签名值S,所述第四公式为:S=[l]dsA
其中,l=(r-h)mod N,dsA表示所述签名密钥,H2(M||gr,N)表示密码杂凑函数SM3所派生的密码函数,[k]P表示椭圆曲线上的点P的k倍点,P是所述第一循环群G1中的元素,N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述的一种SM9快速签名方法的步骤。
CN202010928053.5A 2020-09-07 2020-09-07 一种sm9快速签名方法、系统及电子设备 Active CN112019352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010928053.5A CN112019352B (zh) 2020-09-07 2020-09-07 一种sm9快速签名方法、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010928053.5A CN112019352B (zh) 2020-09-07 2020-09-07 一种sm9快速签名方法、系统及电子设备

Publications (2)

Publication Number Publication Date
CN112019352A CN112019352A (zh) 2020-12-01
CN112019352B true CN112019352B (zh) 2024-02-27

Family

ID=73517000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010928053.5A Active CN112019352B (zh) 2020-09-07 2020-09-07 一种sm9快速签名方法、系统及电子设备

Country Status (1)

Country Link
CN (1) CN112019352B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208571A (zh) * 2022-09-14 2022-10-18 中安网脉(北京)技术股份有限公司 一种基于高速混合加密算法的并行多路硬件实现方法
CN115842683B (zh) * 2023-02-20 2023-07-07 中电装备山东电子有限公司 一种用于用电信息采集系统通信的签名生成方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107864037A (zh) * 2017-10-25 2018-03-30 深圳奥联信息安全技术有限公司 Sm9联合数字签名方法和装置
CN110166235A (zh) * 2019-05-21 2019-08-23 武汉理工大学 增强安全的sm9数字签名协同生成方法及系统
CN110177002A (zh) * 2019-06-10 2019-08-27 中国民航大学 基于无证书短签名的ads-b消息认证方法
CN110213057A (zh) * 2019-05-23 2019-09-06 武汉理工大学 具有乘积r参数的SM9数字签名协同生成方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107864037A (zh) * 2017-10-25 2018-03-30 深圳奥联信息安全技术有限公司 Sm9联合数字签名方法和装置
CN110166235A (zh) * 2019-05-21 2019-08-23 武汉理工大学 增强安全的sm9数字签名协同生成方法及系统
CN110213057A (zh) * 2019-05-23 2019-09-06 武汉理工大学 具有乘积r参数的SM9数字签名协同生成方法及系统
CN110177002A (zh) * 2019-06-10 2019-08-27 中国民航大学 基于无证书短签名的ads-b消息认证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《一种SM9数字签名及验证算法的快速实现方法》;王松等;通信技术;第52卷(第10期);全文 *

Also Published As

Publication number Publication date
CN112019352A (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
WO2021238527A1 (zh) 数字签名生成方法、装置、计算机设备和存储介质
CN103427997B (zh) 一种生成数字签名的方法及装置
CN110247757B (zh) 基于国密算法的区块链处理方法、装置及系统
CN108540291B (zh) 基于身份的云存储中数据完整性验证方法
CN112019352B (zh) 一种sm9快速签名方法、系统及电子设备
CN107911217B (zh) 基于ecdsa算法协同生成签名的方法、装置和数据处理系统
WO2021143456A1 (zh) Sm9数字签名生成方法、装置、计算机设备和存储介质
CN109861826B (zh) 一种双向代理重签名的实现方法及装置
CN107425971B (zh) 无证书的数据加/解密方法和装置、终端
CN112187469B (zh) 一种基于密钥因子的sm2多方协同数字签名方法和系统
CN109361519B (zh) 一种改进的包含秘密的数的生成方法及系统
JP2004501385A (ja) 楕円曲線暗号化方法
CN111654481B (zh) 一种身份认证方法、装置和存储介质
CN115001711B (zh) 信息签名方法、装置、电子设备及计算机可读存储介质
CN109962783B (zh) 基于递进计算的sm9数字签名协同生成方法及系统
CN110635899B (zh) 一种ibc用户密钥更新方法及装置
CN110557260B (zh) 一种sm9数字签名生成方法及装置
CN108667619B (zh) 一种sm9数字签名的白盒实现方法与装置
CN114285576B (zh) 一种非对的在线离线签密方法
CN112804062B (zh) 一种基于sm2算法的无证书签名方法、装置、设备及介质
CN110932866B (zh) 一种基于sm2数字签名算法的环签名生成方法
CN113708927A (zh) 基于sm2数字签名的泛指定验证者签名证明系统
CN116318738B (zh) 签名方法、系统、电子设备及存储介质
CN115174052B (zh) 一种基于sm9签名的适配器签名生成方法及装置
CN111654369B (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
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: Room 1201, 12 / F, building 1, yard 34, Chuangyuan Road, Chaoyang District, Beijing 100020

Applicant after: Sanwei Xin'an Technology Co.,Ltd.

Applicant after: Shandong Sanwei Xinan Information Technology Co.,Ltd.

Address before: 100102 room 1406, 14th floor, building 2, yard 16, Guangshun North Street, Chaoyang District, Beijing

Applicant before: BEIJING SANSEC TECHNOLOGY DEVELOPMENT Co.,Ltd.

Country or region before: China

Applicant before: Shandong Sanwei Xinan Information Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant