CN112003698B - 一种sm9协同数字签名方法和系统 - Google Patents

一种sm9协同数字签名方法和系统 Download PDF

Info

Publication number
CN112003698B
CN112003698B CN202010928725.2A CN202010928725A CN112003698B CN 112003698 B CN112003698 B CN 112003698B CN 202010928725 A CN202010928725 A CN 202010928725A CN 112003698 B CN112003698 B CN 112003698B
Authority
CN
China
Prior art keywords
signature
cyclic group
value
formula
digital signature
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
CN202010928725.2A
Other languages
English (en)
Other versions
CN112003698A (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 CN202010928725.2A priority Critical patent/CN112003698B/zh
Publication of CN112003698A publication Critical patent/CN112003698A/zh
Application granted granted Critical
Publication of CN112003698B publication Critical patent/CN112003698B/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • 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/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB

Landscapes

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

Abstract

本发明涉及一种SM9协同数字签名方法和系统,实现SM9数字签名并不单独由CPU或GPU完成,也不单独由密码卡,而是通过两个实体即密码卡和CPU或GPU共同完成数字签名,CPU或GPU具有高性能运算能力,且密码卡的运算比较简单,保证SM9数字签名的效率,而且,签名密钥预存在密码卡中,使用户的签名密钥不存在泄露的风险,具有高安全性和高可靠性,也就是说,本申请的一种SM9协同数字签名方法给用户提供高性能SM9数字签名的同时,也能保证用户的签名密钥的安全性。

Description

一种SM9协同数字签名方法和系统
技术领域
本发明涉及信息安全技术领域,尤其涉及一种SM9协同数字签名方法和系统。
背景技术
SM9密码算法在我国信息安全系统中的应用越来越多,但该算法涉及的数学计算较为复杂,运算性能较低,制约着该密码算法的推广使用。如何有效提高其计算性能是近年来学界的研究热点。目前SM9数字签名的实现方式主要分为两种,软件实现数字签名和硬件实现数字签名,具体地:
1)软件实现数字签名:一般是利用高性能CPU或GPU(图形处理器,GraphicsProcessing Unit,缩写:GPU,又称显示核心、视觉处理器、显示芯片)来实现,通过大数量的CPU/GPU的多核或众核计算优势,可以达到每秒数十万次签名级别的性能;
2)硬件实现数字签名:一般是采用FPGA(Field Programmable Gate Array的缩写,是在PAL、GAL等可编程器件的基础上进一步发展的产物)/ASIC密码芯片/PCI-E密码卡/智能IC卡/USB智能密码钥匙/密码机等来实现,最终以硬件方式即通过密码卡来提供数字签名服务,受限于硬件资源或工艺水平,硬件实现的数字签名性能比较低,大概只能够到每秒签名几十次~几千次级别的性能;
其中,软件实现数字签名虽然性能较高,但由于用户的签名密钥会出现在内存中,可能造成签名密钥的泄露,带来安全隐患。硬件实现数字签名的安全强度高,有完善的密钥保护机制。在进行数字签名运算时,用户的私钥只存在于硬件载体中,使用户的签名密钥不存在泄露的风险,但是性能比较低,可能无法应付某些高并发、高性能场景的需求。
如何在给用户提供高性能SM9数字签名的同时,保证用户的签名密钥的安全性是当下急需解决的问题。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供了一种SM9协同数字签名方法和系统。
本发明的一种SM9协同数字签名方法的技术方案如下:
CPU或GPU生成临时签名信息(rc,gc),并将待签名消息M和所述临时签名信息(rc,gc)进行打包,并将打包后的签名消息包(M,(rc,gc))发送至密码卡;
所述密码卡根据所述签名消息包(M,(rc,gc))、预存的签名辅助信息(rs,gs)和预存的签名密钥得到所述待签名消息M对应的数字签名值(h,S);
其中,rc为第一随机数,根据所述第一随机数rc得到第一数值gc,rs为第二随机数,根据所述第二随机数rs得到第二数值gs,且所述第一数值gc和所述第二数值gs均为国密SM9标准定义的第三循环群GT中的元素,所述国密SM9标准定义第一循环群G1、第二循环群G2和所述第三循环群GT,且G1×G2双线性映射至所述第三循环群GT
本发明的一种SM9协同数字签名方法的有益效果如下:
实现SM9数字签名并不单独由CPU或GPU完成,也不单独由密码卡,而是通过两个实体即密码卡和CPU或GPU共同完成数字签名,CPU或GPU具有高性能运算能力,且密码卡的运算比较简单,保证SM9数字签名的效率,而且,签名密钥预存在密码卡中,使用户的签名密钥不存在泄露的风险,具有高安全性和高可靠性,也就是说,本申请的一种SM9协同数字签名方法给用户提供高性能SM9数字签名的同时,也能保证用户的签名密钥的安全性。
在上述方案的基础上,本发明的一种SM9协同数字签名方法还可以做如下改进。
进一步,所述根据所述第一随机数rc得到第一数值gc,包括:
通过第一公式计算签名双线性对g,且所述签名双线性对g为所述第三循环群GT中的元素,所述第一公式为:g=e(P1,Ppub-s);
通过第二公式计算所述得到所述第一数值gc,所述第二公式为:
其中,P1表示所述第一循环群G1的生成元,e(P1,Ppub-s)表示G1×G2到所述第三循环群GT的双线性对,Ppub-s表示签名的主公钥,且Ppub-s为所述第二循环群G2中的元素。
进一步,所述密码卡得到数字签名值(h,S)的过程,包括:
根据第三公式得到第一签名值h,所述第三公式为:h=H2(M||w,N);
根据第四公式得到第二签名值S,所述第四公式为:S=[l]dsA
将所述第一签名值h和所述第二签名值S打包后得到所述数字签名值(h,S);
其中,w=gc*gsl=(r-h)mod N,r=(rc+rs)mod N,dsA表示所述签名密钥,H2(M||w,N)表示密码杂凑函数SM3所派生的密码函数,[k]P表示椭圆曲线上的点P的k倍点,P是第一循环群G1中的元素,N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶。
进一步,还包括:当生成打包后的签名消息包(M,(rc,gc))时,删除所述临时签名信息(rc,gc)。
采用上述进一步方案的有益效果是:当生成打包后的签名消息包(M,(rc,gc))时,删除所述临时签名信息(rc,gc),以保证CPU或GPU的高性能运算能力。
本发明的一种SM9协同数字签名系统的技术方案如下:
包括处理器和密码卡,所述处理器用于生成临时签名信息(rc,gc),并将待签名消息M和所述临时签名信息(rc,gc)进行打包,并将打包后的签名消息包(M,(rc,gc))发送至密码卡;
所述密码卡用于根据所述签名消息包(M,(rc,gc))、预存的签名辅助信息(rs,gs)和预存的签名密钥得到所述待签名消息M对应的数字签名值(h,S);
其中,rc为第一随机数,根据所述第一随机数rc得到第一数值gc,rs为第二随机数,根据所述第二随机数rs得到第二数值gs,且所述第一数值gc和所述第二数值gs均为国密SM9标准定义的第三循环群GT中的元素,所述国密SM9标准定义第一循环群G1、第二循环群G2和所述第三循环群GT,且G1×G2双线性映射至所述第三循环群GT
本发明的一种SM9协同数字签系统的有益效果如下:
实现SM9数字签名并不单独由CPU或GPU完成,也不单独由密码卡,而是通过两个实体即密码卡和CPU或GPU共同完成数字签名,CPU或GPU具有高性能运算能力,且密码卡的运算比较简单,保证SM9数字签名的效率,而且,签名密钥预存在密码卡中,使用户的签名密钥不存在泄露的风险,具有高安全性和高可靠性,也就是说,本申请的一种SM9协同数字签名系统给用户提供高性能SM9数字签名的同时,也能保证用户的签名密钥的安全性。
在上述方案的基础上,本发明的一种SM9协同数字签系统还可以做如下改进。
进一步,所述处理器具体用于通过第一公式计算签名双线性对g,且所述签名双线性对g为所述第三循环群GT中的元素,所述第一公式为:g=e(P1,Ppub-s);
通过第二公式计算所述得到所述第一数值gc,所述第二公式为:
其中,P1表示所述第一循环群G1的生成元,e(P1,Ppub-s)表示G1×G2到所述第三循环群GT的双线性对,Ppub-s表示签名的主公钥,且Ppub-s为所述第二循环群G2中的元素。进一步,所述密码卡具体用于:
根据第三公式得到第一签名值h,所述第三公式为:h=H2(M||w,N);
根据第四公式得到第二签名值S,所述第四公式为:S=[l]dsA
将所述第一签名值h和所述第二签名值S打包后得到所述数字签名值(h,S);
其中,w=gc*gsl=(r-h)mod N,r=(rc+rs)mod N,dsA表示所述签名密钥,H2(M||w,N)表示密码杂凑函数SM3所派生的密码函数,[k]P表示椭圆曲线上的点P的k倍点,P是第一循环群G1中的元素,N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶。
进一步,所述处理器还用于当生成打包后的签名消息包(M,(rc,gc))时,删除所述临时签名信息(rc,gc)。
采用上述进一步方案的有益效果是:当生成打包后的签名消息包(M,(rc,gc))时,删除所述临时签名信息(rc,gc),以保证处理器的高性能运算能力。
进一步,所述处理器为CPU或GPU。
附图说明
图1为本发明实施例的一种SM9协同数字签名方法的流程示意图;
图2为本发明实施例的一种SM9协同数字签名系统的结构示意图;
具体实施方式
如图1所示,本发明实施例的一种SM9协同数字签名方法,包括如下步骤:
S1、CPU或GPU生成临时签名信息(rc,gc),并将待签名消息M和所述临时签名信息(rc,gc)进行打包,并将打包后的签名消息包(M,(rc,gc))发送至密码卡;
S2、所述密码卡根据所述签名消息包(M,(rc,gc))、预存的签名辅助信息(rs,gs)和预存的签名密钥得到所述待签名消息M对应的数字签名值(h,S);
其中,rc为第一随机数,根据所述第一随机数rc得到第一数值gc,rs为第二随机数,根据所述第二随机数rs得到第二数值gs,且所述第一数值gc和所述第二数值gs均为国密SM9标准定义的第三循环群GT中的元素,所述国密SM9标准定义第一循环群G1、第二循环群G2和所述第三循环群GT,且G1×G2双线性映射至所述第三循环群GT
实现SM9数字签名并不单独由CPU或GPU完成,也不单独由密码卡,而是通过两个实体即密码卡和CPU或GPU共同完成数字签名,CPU或GPU具有高性能运算能力,且密码卡的运算比较简单,保证SM9数字签名的效率,而且,签名密钥预存在密码卡中,使用户的签名密钥不存在泄露的风险,具有高安全性和高可靠性,也就是说,本申请的一种SM9协同数字签名方法给用户提供高性能SM9数字签名的同时,也能保证用户的签名密钥的安全性。
可以理解的是,S1中安全性要求不高的运算由高性能的第一实体即CPU或GPU来完成,且密码卡的运算比较简单,保证SM9数字签名的效率。签名密钥预存在第二实体即密码卡中,使用户的签名密钥不存在泄露的风险,具有高安全性和高可靠性,其中,第一实体和第二实体只需要一次交互就能完成完整的数字签名,简单方便,且第一实体和第二实体之间的协议简单方便。
较优地,在上述技术方案中,所述根据所述第一随机数rc得到第一数值gc,包括:
通过第一公式计算签名双线性对g,且所述签名双线性对g为所述第三循环群GT中的元素,所述第一公式为:g=e(P1,Ppub-s);
通过第二公式计算所述得到所述第一数值gc,所述第二公式为:
其中,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)的一种具体实施方式。较优地,在上述技术方案中,所述密码卡得到数字签名值(h,S)的过程,包括:
根据第三公式得到第一签名值h,所述第三公式为:h=H2(M||w,N);
根据第四公式得到第二签名值S,所述第四公式为:S=[l]dsA
将所述第一签名值h和所述第二签名值S打包后得到所述数字签名值(h,S);
其中,w=gc*gsl=(r-h)mod N,r=(rc+rs)mod N,dsA表示所述签名密钥,H2(M||w,N)表示密码杂凑函数SM3所派生的密码函数,[k]P表示椭圆曲线上的点P的k倍点,P是第一循环群G1中的元素,N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶。
其中,可用H2(Q3)表示密码杂凑函数SM3所派生的密码函数,将Q3替换为“M||w,N”,即得到H2(M||w,N),也就是说,H2(M||w,N)是H2(Q3)的一种具体实施形式。
其中,用十六进制进行表示阶的值,阶的值为B6400000、02A3A6F1、D603AB4F、F58EC744、49F2934B、18EA8BEE、E56EE19或D69ECF25等
较优地,在上述技术方案中,还包括:当生成打包后的签名消息包(M,(rc,gc))时,删除所述临时签名信息(rc,gc)。
当生成打包后的签名消息包(M,(rc,gc))时,删除所述临时签名信息(rc,gc),以保证CPU或GPU的高性能运算能力。
在上述各实施例中,虽然对步骤进行进行了编号S1、S2等,但只是本申请给出的具体实施例,本领域的技术人员可根据实际情况对调整S1、S2等的执行顺序,此也在本发明的保护范围内。
如图2所示,本发明实施例的一种SM9协同数字签名系统200,包括处理器210和密码卡220,所述处理器210用于生成临时签名信息(rc,gc),并将待签名消息M和所述临时签名信息(rc,gc)进行打包,并将打包后的签名消息包(M,(rc,gc))发送至密码卡220;
所述密码卡220用于根据所述签名消息包(M,(rc,gc))、预存的签名辅助信息(rs,gs)和预存的签名密钥得到所述待签名消息M对应的数字签名值(h,S);
其中,rc为第一随机数,根据所述第一随机数rc得到第一数值gc,rs为第二随机数,根据所述第二随机数rs得到第二数值gs,且所述第一数值gc和所述第二数值gs均为国密SM9标准定义的第三循环群GT中的元素,所述国密SM9标准定义第一循环群G1、第二循环群G2和所述第三循环群GT,且G1×G2双线性映射至所述第三循环群GT
实现SM9数字签名并不单独由CPU或GPU完成,也不单独由密码卡220,而是通过两个实体即密码卡220和CPU或GPU共同完成数字签名,CPU或GPU具有高性能运算能力,且密码卡220的运算比较简单,保证SM9数字签名的效率,而且,签名密钥预存在密码卡220中,使用户的签名密钥不存在泄露的风险,具有高安全性和高可靠性,也就是说,本申请的一种SM9协同数字签名系统200给用户提供高性能SM9数字签名的同时,也能保证用户的签名密钥的安全性。
较优地,在上述技术方案中,所述处理器210具体用于通过第一公式计算签名双线性对g,且所述签名双线性对g为所述第三循环群GT中的元素,所述第一公式为:g=e(P1,Ppub-s);
通过第二公式计算所述得到所述第一数值gc,所述第二公式为:
其中,P1表示所述第一循环群G1的生成元,e(P1,Ppub-s)表示G1×G2到所述第三循环群GT的双线性对,Ppub-s表示签名的主公钥,且Ppub-s为所述第二循环群G2中的元素。
较优地,在上述技术方案中,所述密码卡220具体用于:
根据第三公式得到第一签名值h,所述第三公式为:h=H2(M||w,N);
根据第四公式得到第二签名值S,所述第四公式为:S=[l]dsA
将所述第一签名值h和所述第二签名值S打包后得到所述数字签名值(h,S);
其中,w=gc*gsl=(r-h)mod N,r=(rc+rs)mod N,dsA表示所述签名密钥,H2(M||w,N)表示密码杂凑函数SM3所派生的密码函数,[k]P表示椭圆曲线上的点P的k倍点,P是第一循环群G1中的元素,N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶。
较优地,在上述技术方案中,所述处理器210还用于当生成打包后的签名消息包(M,(rc,gc))时,删除所述临时签名信息(rc,gc)。
当生成打包后的签名消息包(M,(rc,gc))时,删除所述临时签名信息(rc,gc),以保证处理器210的高性能运算能力。
较优地,在上述技术方案中,所述处理器210为CPU或GPU。
上述关于本发明的一种SM9协同数字签名系统200中的各参数和各个单元模块实现相应功能的步骤,可参考上文中关于一种SM9协同数字签名方法的实施例中的各参数和步骤,在此不做赘述。
在本发明中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (5)

1.一种SM9协同数字签名方法,其特征在于,包括:
CPU或GPU生成临时签名信息(rc,gc),并将待签名消息M和所述临时签名信息(rc,gc)进行打包,并将打包后的签名消息包(M,(rc,gc))发送至密码卡;
所述密码卡根据所述签名消息包(M,(rc,gc))、预存的签名辅助信息(rs,gs)和预存的签名密钥得到所述待签名消息M对应的数字签名值(h,S);
其中,rc为第一随机数,根据所述第一随机数rc得到第一数值gc,rs为第二随机数,根据所述第二随机数rs得到第二数值gs,且所述第一数值gc和所述第二数值gs均为国密SM9标准定义的第三循环群GT中的元素,所述国密SM9标准定义第一循环群G1、第二循环群G2和所述第三循环群GT,且G1×G2双线性映射至所述第三循环群GT
所述根据所述第一随机数rc得到第一数值gc,包括:
通过第一公式计算签名双线性对g,且所述签名双线性对g为所述第三循环群GT中的元素,所述第一公式为:g=e(P1,Ppub-s);
通过第二公式计算所述得到所述第一数值gc,所述第二公式为:
其中,P1表示所述第一循环群G1的生成元,e(P1,Ppub-s)表示G1×G2到所述第三循环群GT的双线性对,Ppub-s表示签名的主公钥,且Ppub-s为所述第二循环群G2中的元素;
所述密码卡得到数字签名值(h,S)的过程,包括:
根据第三公式得到第一签名值h,所述第三公式为:h=H2(M||w,N);
根据第四公式得到第二签名值S,所述第四公式为:S=[l]dsA
将所述第一签名值h和所述第二签名值S打包后得到所述数字签名值(h,S);
其中,w=gc*gsl=(r-h)mod N,r=(rc+rs)mod N,dsA表示所述签名密钥,H2(M||w,N)表示密码杂凑函数SM3所派生的密码函数,[k]P表示椭圆曲线上的点P的k倍点,P是第一循环群G1中的元素,N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶,其中,用十六进制进行表示阶的值。
2.根据权利要求1所述的一种SM9协同数字签名方法,其特征在于,还包括:当生成打包后的签名消息包(M,(rc,gc))时,删除所述临时签名信息(rc,gc)。
3.一种SM9协同数字签名系统,其特征在于,包括处理器和密码卡,所述处理器用于生成临时签名信息(rc,gc),并将待签名消息M和所述临时签名信息(rc,gc)进行打包,并将打包后的签名消息包(M,(rc,gc))发送至密码卡;
所述密码卡用于根据所述签名消息包(M,(rc,gc))、预存的签名辅助信息(rs,gs)和预存的签名密钥得到所述待签名消息M对应的数字签名值(h,S);
其中,rc为第一随机数,根据所述第一随机数rc得到第一数值gc,rs为第二随机数,根据所述第二随机数rs得到第二数值gs,且所述第一数值gc和所述第二数值gs均为国密SM9标准定义的第三循环群GT中的元素,所述国密SM9标准定义第一循环群G1、第二循环群G2和所述第三循环群GT,且G1×G2双线性映射至所述第三循环群GT
所述处理器具体用于通过第一公式计算签名双线性对g,且所述签名双线性对g为所述第三循环群GT中的元素,所述第一公式为:g=e(P1,Ppub-s);
通过第二公式计算所述得到所述第一数值gc,所述第二公式为:
其中,P1表示所述第一循环群G1的生成元,e(P1,Ppub-s)表示G1×G2到所述第三循环群GT的双线性对,Ppub-s表示签名的主公钥,且Ppub-s为所述第二循环群G2中的元素;
所述密码卡具体用于:
根据第三公式得到第一签名值h,所述第三公式为:h=H2(M||w,N);
根据第四公式得到第二签名值S,所述第四公式为:S=[l]dsA
将所述第一签名值h和所述第二签名值S打包后得到所述数字签名值(h,S);
其中,w=gc*gsl=(r-h)mod N,r=(rc+rs)mod N,dsA表示所述签名密钥,H2(M||w,N)表示密码杂凑函数SM3所派生的密码函数,[k]P表示椭圆曲线上的点P的k倍点,P是第一循环群G1中的元素,N为所述第一循环群G1、所述第二循环群G2或所述第三循环群GT的阶,其中,用十六进制进行表示阶的值。
4.根据权利要求3所述的一种SM9协同数字签名系统,其特征在于,所述处理器还用于当生成打包后的签名消息包(M,(rc,gc))时,删除所述临时签名信息(rc,gc)。
5.根据权利要求3所述的一种SM9协同数字签名系统,其特征在于,所述处理器为CPU或GPU。
CN202010928725.2A 2020-09-07 2020-09-07 一种sm9协同数字签名方法和系统 Active CN112003698B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010928725.2A CN112003698B (zh) 2020-09-07 2020-09-07 一种sm9协同数字签名方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010928725.2A CN112003698B (zh) 2020-09-07 2020-09-07 一种sm9协同数字签名方法和系统

Publications (2)

Publication Number Publication Date
CN112003698A CN112003698A (zh) 2020-11-27
CN112003698B true CN112003698B (zh) 2024-04-19

Family

ID=73470023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010928725.2A Active CN112003698B (zh) 2020-09-07 2020-09-07 一种sm9协同数字签名方法和系统

Country Status (1)

Country Link
CN (1) CN112003698B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114172651B (zh) * 2021-11-15 2023-07-18 武汉大学 一种sm9公钥加密算法、解密算法的gpu加速实现方法
CN114816737B (zh) * 2022-04-11 2024-03-22 中国电子科技集团公司第三十研究所 高性能杂凑运算方法、装置、计算机设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006203825A (ja) * 2005-01-24 2006-08-03 Toshiba Corp 電子署名システム、電子署名方法及びプログラム
CN107579819A (zh) * 2017-09-13 2018-01-12 何德彪 一种sm9数字签名生成方法及系统
CN107819585A (zh) * 2017-11-17 2018-03-20 武汉理工大学 Sm9数字签名协同生成方法及系统
CN107968710A (zh) * 2017-11-27 2018-04-27 武汉理工大学 Sm9数字签名分离交互生成方法及系统
CN108173639A (zh) * 2018-01-22 2018-06-15 中国科学院数据与通信保护研究教育中心 一种基于sm9签名算法的两方合作签名方法
CN108551392A (zh) * 2018-04-13 2018-09-18 武汉大学 一种基于sm9数字签名的盲签名生成方法及系统
CN108989054A (zh) * 2018-08-30 2018-12-11 武汉理工大学 一种密码系统及数字签名方法
CN109039656A (zh) * 2018-09-19 2018-12-18 深圳奥联信息安全技术有限公司 Sm9联合数字签名方法、装置和计算机设备
CN109981284A (zh) * 2019-03-11 2019-07-05 北京三未信安科技发展有限公司 一种椭圆曲线数字签名的实现方法及装置
CN110011802A (zh) * 2019-02-27 2019-07-12 武汉大学 一种高效的sm9两方协同生成数字签名的方法及系统
CN110401531A (zh) * 2019-07-31 2019-11-01 国网电子商务有限公司 一种基于sm9算法的协同签名和解密系统
CN111010272A (zh) * 2019-12-20 2020-04-14 武汉理工大学 一种标识私钥生成和数字签名方法及系统和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2334008A1 (en) * 2009-12-10 2011-06-15 Tata Consultancy Services Limited A system and method for designing secure client-server communication protocols based on certificateless public key infrastructure

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006203825A (ja) * 2005-01-24 2006-08-03 Toshiba Corp 電子署名システム、電子署名方法及びプログラム
CN107579819A (zh) * 2017-09-13 2018-01-12 何德彪 一种sm9数字签名生成方法及系统
CN107819585A (zh) * 2017-11-17 2018-03-20 武汉理工大学 Sm9数字签名协同生成方法及系统
CN107968710A (zh) * 2017-11-27 2018-04-27 武汉理工大学 Sm9数字签名分离交互生成方法及系统
CN108173639A (zh) * 2018-01-22 2018-06-15 中国科学院数据与通信保护研究教育中心 一种基于sm9签名算法的两方合作签名方法
CN108551392A (zh) * 2018-04-13 2018-09-18 武汉大学 一种基于sm9数字签名的盲签名生成方法及系统
CN108989054A (zh) * 2018-08-30 2018-12-11 武汉理工大学 一种密码系统及数字签名方法
CN109039656A (zh) * 2018-09-19 2018-12-18 深圳奥联信息安全技术有限公司 Sm9联合数字签名方法、装置和计算机设备
CN110011802A (zh) * 2019-02-27 2019-07-12 武汉大学 一种高效的sm9两方协同生成数字签名的方法及系统
CN109981284A (zh) * 2019-03-11 2019-07-05 北京三未信安科技发展有限公司 一种椭圆曲线数字签名的实现方法及装置
CN110401531A (zh) * 2019-07-31 2019-11-01 国网电子商务有限公司 一种基于sm9算法的协同签名和解密系统
CN111010272A (zh) * 2019-12-20 2020-04-14 武汉理工大学 一种标识私钥生成和数字签名方法及系统和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Horizontal Attack on SM9 Signature Generation;Weijun Shan;2019 15th International Conference on Computational Intelligence and Security (CIS);20200305;全文 *
一种关于SM9的安全密钥分发方案;许盛伟;计算机应用与软件;20200112;全文 *

Also Published As

Publication number Publication date
CN112003698A (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
WO2021238527A1 (zh) 数字签名生成方法、装置、计算机设备和存储介质
CN106506170B (zh) 一种基于rsa的分布式签名方法与系统
CN110351096B (zh) 多重签名方法、签名中心、程序介质及电子设备
EP3758280A1 (en) Mts-based mutual-authenticated remote attestation
CN112003698B (zh) 一种sm9协同数字签名方法和系统
US10116450B1 (en) Merkle signature scheme using subtrees
US20120096274A1 (en) Authenticated encryption for digital signatures with message recovery
CN103138938B (zh) 基于csp的sm2证书申请及应用方法
CN107425971B (zh) 无证书的数据加/解密方法和装置、终端
WO2020103631A1 (zh) 一种基于非对称双线性对的匿签密方法
WO2021143456A1 (zh) Sm9数字签名生成方法、装置、计算机设备和存储介质
CN109450640A (zh) 基于sm2的两方签名方法及系统
CN113452527A (zh) 用于有状态的基于散列的签名的鲁棒状态同步
CN111817846A (zh) 一种轻量级的密钥协商通信协议
CN113765662A (zh) 一种基于sm2算法的签名及解密方法和系统
CN109831305B (zh) 基于非对称密钥池的抗量子计算签密方法和系统
CN111163108A (zh) 一种电力物联网安全终端芯片复合加密系统和方法
CN104821884A (zh) 基于非对称密钥体系的私钥保护方法
CN114172651A (zh) 一种sm9公钥加密算法、解密算法的gpu加速实现方法
CN112019352A (zh) 一种sm9快速签名方法、系统及电子设备
CN111953489A (zh) 基于sm2算法的发电单元采集业务的密钥交换设备及方法
CN102970134A (zh) 将硬件密码设备的算法用于pkcs#7数据封装的方法及系统
CN114329632A (zh) 一种数字签名方法、装置、终端设备及存储介质
CN113946845A (zh) 物联网设备离线会话方法、装置及存储介质
CN113556233A (zh) 一种支持批验证的sm9数字签名方法

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 100102

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