CN113014398B - 基于sm9数字签名算法的聚合签名生成方法 - Google Patents

基于sm9数字签名算法的聚合签名生成方法 Download PDF

Info

Publication number
CN113014398B
CN113014398B CN202110287099.8A CN202110287099A CN113014398B CN 113014398 B CN113014398 B CN 113014398B CN 202110287099 A CN202110287099 A CN 202110287099A CN 113014398 B CN113014398 B CN 113014398B
Authority
CN
China
Prior art keywords
signature
key
group
signer
aggregated
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
CN202110287099.8A
Other languages
English (en)
Other versions
CN113014398A (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.)
Fujian Normal University
Original Assignee
Fujian Normal University
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 Fujian Normal University filed Critical Fujian Normal University
Priority to CN202110287099.8A priority Critical patent/CN113014398B/zh
Publication of CN113014398A publication Critical patent/CN113014398A/zh
Application granted granted Critical
Publication of CN113014398B publication Critical patent/CN113014398B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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数字签名算法整体架构的基础上,对消息签名过程中签名生成算法进行优化,使其能实现签名的聚合和签名的批量验证。即,多个签名可聚合成单个签名,通过验证该签名的有效性,就能确保原始多个签名的有效性,实现签名的批量验证。该方法不仅提高了签名的验证效率,而且减少了存储代价,降低了对带宽的要求,进一步拓宽SM9数字签名算法的应用。

Description

基于SM9数字签名算法的聚合签名生成方法
技术领域
本发明涉及信息安全技术领域,尤其涉及基于SM9数字签名算法的聚合签名生成方法。
背景技术
数字签名是保护数据安全的一种有效方法,采用技术手段达到和传统手写签名等同的功能,用于鉴定签名者和签名消息的有效性。数字签名允许验证者验证签名消息在传输过程中是否遭到篡改,确保签名消息的完整性和真实性。此外,它还能保证签名者身份的真实性和不可抵赖性。数字签名是公钥密码体系中非常重要的一部分,在多个领域有着重要作用。
签名有效性的验证通常需要消耗一定的计算资源,当要求验证多个消息签名时,采用逐个验证的方法会消耗较多的计算资源,不适用于计算资源有限的应用场景。在这种亟需提高多个签名验证效率的背景下,聚合签名孕育而生。聚合签名已在电子医疗、云计算、物联网、区块链等领域得到广泛的研究和应用。为实现密码自主可控,保障网络与信息安全,我国自主设计了SM9数字签名算法并成为了我国数字签名标准。然而,由于SM9签名算法结构的特殊性,该签名并不支持签名的聚合,无法实现签名的批量验证,严重阻碍了SM9数字签名算法的部署。
发明内容
本发明的目的在于提供基于SM9数字签名算法的聚合签名生成方法。在不改变SM9数字签名的整体架构上,对签名算法进行优化,使其支持签名的聚合。多个不同的消息签名可聚合成单个签名,验证聚合后签名的有效性等同于分别验证每个签名的有效性,不需要逐个验证,实现批量验证,极大地提高了签名的验证效率。
本发明采用的技术方案是:
基于SM9数字签名算法的聚合签名生成方法,包括步骤:
S1、密钥生成中心生成密钥生成中心的主公私钥对,将密钥生成中心的主公钥发送给系统中的用户(签名者和验证者),秘密保存主私钥;
S2、密钥生成中心利用主公私钥对生成签名者的签名密钥,将签名密钥通过安全信道发送给签名者;
S3、签名者基于待签名的消息,利用密钥生成中心生成的签名密钥和密钥生成中心的主公钥生成SM9签名;
S4、聚合算法基于多个SM9消息签名和密钥生成中心的主公钥,生成SM9聚合签名;
S5、聚合签名验证算法基于聚合签名和密钥生成中心的主公钥验证SM9聚合签名的有效性。
本发明采用以上技术方案,在不改变SM9数字签名算法整体架构的基础上,对消息签名过程中签名生成算法进行优化,使其能实现签名的聚合和签名的批量验证。即,多个签名可聚合成单个签名,通过验证该签名的有效性,就能确保原始多个签名的有效性,实现签名的批量验证。该方法不仅提高了签名的验证效率,而且减少了存储代价,降低了对带宽的要求,进一步拓宽SM9数字签名算法的应用。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1为本发明基于SM9数字签名算法的聚合签名生成方法的流程图;
图2为数字签名算法流程示意图;
图3为SM9聚合签名流程示意图;
图4为SM9聚合签名验证流程示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述。
现有的国标SM9数字签名算法具有强安全性和高效率性,常用于保护数据的完整性。但是,当需要验证多个消息签名时,只能逐个验证,无法实现批量验证。与国外支持批量验证消息签名的签名方案相比,效率低下,无法满足我国商业需求,限制了SM9数字签名算法的应用范围。通过多个SM9消息签名可聚合成单个签名,验证该签名的有效性等同于验证了多个签名的有效性。
如图1至图4之一所示,本发明公开了一种基于SM9数字签名算法的聚合签名生成方案,其包括步骤:
S1、密钥生成中心生成密钥生成中心的主公私钥对,将密钥生成中心的主公钥发送给系统中的用户(签名者和验证者),秘密保存主私钥;
S2、密钥生成中心利用主公私钥对生成签名者的签名密钥,将签名密钥通过安全信道发送给签名者;
S3、签名者基于待签名的消息,利用密钥生成中心生成的签名密钥和密钥生成中心的主公钥生成SM9签名;
S4、聚合算法基于多个SM9的消息签名和密钥生成中心的主公钥,生成SM9聚合签名;
S5、聚合签名验证算法基于聚合签名和密钥生成中心的主公钥验证SM9聚合签名的有效性。
进一步的,所述步骤S1具体包括:
首先选取双线性群BP=(G1,G2,GT,e,N),群G1和群G2的生成元分别为P1和P2。产生随机数α∈[1,N-1]作为主私钥,计算G2中的元素(αP22P2,…,αmP2)作为主公钥并设Ppub=αP2。选择并公开用一个字节表示的签名密钥生成函数识别符hid;
其中,BP:双线性群;N:循环群G1,G2,GT的阶,且N>2191的素数;G1:阶为素数N的加法循环群;G2:阶为素数N的加法循环群;GT:阶为素数N的乘法循环群;e:从G1×G2到GT的双线性映射;m:正整数,表示一次参与聚合的消息签名的上界;α:主私钥;[1,N-1],
Figure BDA0002980920230000031
不小于1且不大于N-1的整数的集合;P1:群G1的生成元;P2:群G2的生成元;Ppub:群G2中的元素;hid:用一个字节表示的签名密钥生成函数识别符,由密钥生成中心选择并公开。
所述步骤S2中密钥生成中心为签名者生成签名密钥具体包括:
为产生签名者的签名密钥skA,首先在有限域FN上计算t1=H1(IDA||hid,N)+α,若t1=0,则需重新产生主公私钥对,计算和公开主公钥,并更新已有签名者的签名密钥;否则计算t2=α·t1 -1,然后计算签名者的签名密钥skA=t2·P1
其中,IDA:签名者A的标识,可以唯一确定签名者A的公钥;skA:签名者A的签名密钥,属于群G1中的元素;FN:有限域;IDA||hid:IDA与hid的拼接,其中IDA和hid是比特串或字节串;t1:临时变量,属于有限域FN中的元素;t2:临时变量,属于有限域FN中的元素;H1(IDA||hid,N):
Figure BDA0002980920230000032
Figure BDA0002980920230000033
由密码杂凑函数派生的密码函数。
所述步骤S3中签名者生成SM9数字签名具体包括:
产生随机数r∈[1,N-1],计算C=r·P1,w=e(C,Ppub),h=H2(M||w,N),l=(r-h)mod N,
Figure BDA0002980920230000034
并输出SM9签名σ=(C,S);
其中,r:[1,N-1]中的随机数;M:待签名的消息;C:临时变量,属于群G1中的元素;w:临时变量,属于群GT中的元素;h:临时变量,属于有限域FN中的整数;H2(M||w,N):{0,1}*×GT
Figure BDA0002980920230000035
的由密码杂凑函数派生的密码函数;l:临时变量,属于有限域FN中的整数;S:临时变量,属于群G1中的元素;σ:消息M的签名。
所述步骤S4中聚合签名生成具体包括:
假设n(n≤m)个待聚合的消息签名为(σi,Mi,IDi),其中σi=(Ci,Si),i=1,2,…,n,为描述方便,不妨设
Figure BDA0002980920230000041
接着,计算
Figure BDA0002980920230000042
并输出聚合签名
Figure BDA0002980920230000043
其中,n:正整数,表示参与聚合的签名个数,且n≤m;(σi,Mi,IDi):待聚合的签名信息;σi:签名者IDi对消息Mi的签名;U:临时变量,属于群G1中的元素;τ:临时变量,消息和标识对的集合;σAgg:聚合后的签名。
所述步骤S5中聚合签名的验证具体包括:
假设待验证的聚合签名为
Figure BDA0002980920230000044
其中
Figure BDA0002980920230000045
首先定义多项式
Figure BDA0002980920230000046
对每一个索引i=1,2,…,n,定义多项式
Figure BDA0002980920230000047
则f(a)P2
Figure BDA0002980920230000048
是可以通过主公钥计算得到。
接着,对每一个索引i=1,2,…,n,计算wi=e(Ci,Ppub),hi=H2(Mi||wi,N),并检查等式
Figure BDA0002980920230000049
是否成立。若成立则验证通过,否则验证不通过是否成立;
其中,f(x)、fi(x):多项式;wi:临时变量,属于群GT中的元素;hi:临时变量,属于有限域FN中的整数;mod N:模数为N的模运算;Ci:临时变量,属于群G1中的元素。
SM9聚合签名的验证过程具体如下:
Figure BDA0002980920230000051
此处对公式计算中需要说明的是:
假设G1,G2,GT均是阶为大素数N的循环群,P1,P2分别是群G1,G2的生成元,ZN为包含N个元素的整数域,双线性群BP由五元组(G1,G2,GT,e,N)组成。其中映射e:G1×G2→GT为双线性映射,满足以下3个条件:
(1)双线性性:对任意的生成元P1∈G1,P2∈G2
Figure BDA0002980920230000052
都有e(aP1,bP2)=e(P1,P2)ab
(2)非退化性:至少存在元素P∈G1,Q∈G2满足e(P,Q)≠1;
(3)可计算性:对于任意的P∈G1,Q∈G2,存在多项式时间算法高效计算e(P,Q)。
本发明采用以上技术方案,在不改变SM9数字签名算法整体架构的基础上,对消息签名过程中签名生成算法进行优化,使其能实现签名的聚合和签名的批量验证。即,多个签名可聚合成单个签名,通过验证该签名的有效性,就能确保原始多个签名的有效性,实现签名的批量验证。该方法不仅提高了签名的验证效率,而且减少了存储代价,降低了对带宽的要求,进一步拓宽SM9数字签名算法的应用。
显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

Claims (3)

1.基于SM9数字签名算法的聚合签名生成方法,其特征在于:其包括步骤:
S1、密钥生成中心生成密钥生成中心的主公私钥对,将密钥生成中心的主公钥发送给系统中的用户,秘密保存主私钥;所述步骤S1具体包括:
S1-1、选取双线性群BP=(G1,G2,GT,e,N),群G1和群G2的生成元分别为P1和P2;其中,BP表示双线性群;G1、G2分别表示阶为素数N的加法循环群;GT表示阶为素数N的乘法循环群;e表示从G1×G2到GT的双线性映射;N表示循环群G1,G2,GT的阶,且N>2191的素数;
S1-2、产生随机数α∈[1,N-1]作为主私钥,α表示主私钥;[1,N-1],即
Figure FDA0003800554030000011
表示不小于1且不大于N-1的整数的集合;
S1-3、计算G2中的元素(αP22P2,…,αmP2)作为主公钥并设Ppub=αP2,其中,m表示一次参与聚合的消息签名的上界且正整数;Ppub表示群G2中的元素;
S1-4、选择并公开用一个字节表示的签名密钥生成函数识别符hid;
S2、密钥生成中心利用主公私钥对生成签名者的签名密钥,将签名密钥通过安全信道发送给签名者;步骤S2中密钥生成中心为签名者生成签名密钥具体包括以下步骤:
S2-1、在有限域FN上计算t1=H1(IDA||hid,N)+α,其中,H1(IDA||hid,N)表示
Figure FDA0003800554030000012
Figure FDA0003800554030000013
由密码杂凑函数派生的密码函数;IDA为签名者A的标识,以唯一确定签名者A的公钥;IDA||hid表示IDA与hid的拼接,其中IDA和hid是比特串或字节串;
S2-2、判定t1=0是否成立;是则,重新产生主公私钥对,计算和公开主公钥,并更新已有签名者的签名密钥;否则,计算t2=α·t1 -1,并计算签名者的签名密钥skA=t2·P1,其中,skA为签名者A的签名密钥,属于群G1中的元素;t1、t2为临时变量,属于有限域FN中的元素;
S3、签名者基于待签名的消息,利用密钥生成中心生成的签名密钥和密钥生成中心的主公钥生成SM9签名;S3中签名者生成SM9数字签名具体方法为:
产生随机数r∈[1,N-1],计算C=r·P1,w=e(C,Ppub),h=H2(M||w,N),
Figure FDA0003800554030000014
Figure FDA0003800554030000015
并输出SM9签名σ=(C,S);
其中,M为待签名的消息;C、S为临时变量,属于群G1中的元素;w为临时变量,属于群GT中的元素;h、
Figure FDA0003800554030000016
均为临时变量,属于有限域FN中的整数;H2(M||w,N)表示{0,1}*×GT
Figure FDA0003800554030000021
的由密码杂凑函数派生的密码函数;
S4、聚合算法基于多个SM9消息签名和密钥生成中心的主公钥生成SM9聚合签名;步骤S4中聚合签名生成具体包括:
S4-1、设n(n≤m)个待聚合的消息签名为(σi,Mi,IDi),其中σi=(Ci,Si),i=1,2,…,n,其中,n为正整数,表示参与聚合的签名个数,且n≤m;σi为签名者IDi对消息Mi的签名;
S4-3、令
Figure FDA0003800554030000022
计算
Figure FDA0003800554030000023
并输出聚合签名
Figure FDA0003800554030000024
其中,U为临时变量,属于群G1中的元素;τ为临时变量,消息和标识对的集合;
S5、聚合签名验证算法基于聚合签名和密钥生成中心的主公钥验证SM9聚合签名的有效性。
2.根据权利要求1所述的基于SM9数字签名算法的聚合签名生成方法,其特征在于:步骤S5中聚合签名的验证具体包括:
S5-1、设待验证的聚合签名为
Figure FDA0003800554030000025
其中
Figure FDA0003800554030000026
Ci为临时变量,属于群G1中的元素;
S5-2、定义多项式
Figure FDA0003800554030000027
对每一个索引i=1,2,…,n,定义多项式
Figure FDA0003800554030000028
则f(α)P2
Figure FDA0003800554030000029
通过主公钥计算得到;其中,modN表示模数为N的模运算;
S5-3、对每一个索引i=1,2,…,n计算wi=e(Ci,Ppub),hi=H2(Mi||wi,N),其中,wi为临时变量,属于群GT中的元素;hi为临时变量,属于有限域FN中的整数;
S5-4、检查等式
Figure FDA00038005540300000210
是否成立;是则,验证通过;否则,验证不通过。
3.根据权利要求1或2所述的基于SM9数字签名算法的聚合签名生成方法,其特征在于:步骤S5中SM9聚合签名的验证过程具体如下:
Figure FDA0003800554030000031
其中,映射e:G1×G2→GT为双线性映射,满足以下3个条件:
(1)双线性性:对任意的生成元P1∈G1,P2∈G2
Figure FDA0003800554030000032
都有e(aP1,bP2)=e(P1,P2)ab
(2)非退化性:至少存在元素P∈G1,Q∈G2满足e(P,Q)≠1;
(3)可计算性:对于任意的P∈G1,Q∈G2,存在多项式时间算法高效计算e(P,Q)。
CN202110287099.8A 2021-03-17 2021-03-17 基于sm9数字签名算法的聚合签名生成方法 Active CN113014398B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110287099.8A CN113014398B (zh) 2021-03-17 2021-03-17 基于sm9数字签名算法的聚合签名生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110287099.8A CN113014398B (zh) 2021-03-17 2021-03-17 基于sm9数字签名算法的聚合签名生成方法

Publications (2)

Publication Number Publication Date
CN113014398A CN113014398A (zh) 2021-06-22
CN113014398B true CN113014398B (zh) 2022-09-30

Family

ID=76409342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110287099.8A Active CN113014398B (zh) 2021-03-17 2021-03-17 基于sm9数字签名算法的聚合签名生成方法

Country Status (1)

Country Link
CN (1) CN113014398B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113556233B (zh) * 2021-07-08 2022-12-06 福建师范大学 一种支持批验证的sm9数字签名方法
CN115001698B (zh) * 2022-04-27 2023-04-28 北京信安世纪科技股份有限公司 聚合签名方法、装置、设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110880977A (zh) * 2019-11-26 2020-03-13 武汉大学 一种安全高效的sm9环签名生成与验证方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300150A (ja) * 2001-03-29 2002-10-11 Nippon Telegr & Teleph Corp <Ntt> Icカードの鍵生成方法及びシステム
US20070043947A1 (en) * 2005-08-19 2007-02-22 Mizikovsky Semyon B Providing multimedia system security to removable user identity modules
CN107438005B (zh) * 2017-06-21 2020-01-14 深圳奥联信息安全技术有限公司 Sm9联合数字签名方法和装置
CN109714153B (zh) * 2019-02-01 2022-04-08 铜陵学院 一种高效的聚合签名方法
CN110011802B (zh) * 2019-02-27 2021-07-06 武汉大学 一种高效的sm9两方协同生成数字签名的方法及系统
CN112241526B (zh) * 2020-10-26 2024-03-19 北京华大信安科技有限公司 一种基于sm9数字签名的批量验证方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110880977A (zh) * 2019-11-26 2020-03-13 武汉大学 一种安全高效的sm9环签名生成与验证方法

Also Published As

Publication number Publication date
CN113014398A (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
CN108809658B (zh) 一种基于sm2的身份基的数字签名方法与系统
CN108551392B (zh) 一种基于sm9数字签名的盲签名生成方法及系统
CN110912708B (zh) 一种基于sm9数字签名算法的环签名生成方法
CN102420691B (zh) 基于证书的前向安全签名方法及系统
CN112446052B (zh) 一种适用于涉密信息系统的聚合签名方法及系统
CN113014398B (zh) 基于sm9数字签名算法的聚合签名生成方法
CN110896351B (zh) 基于全域哈希的身份基数字签名方法
CN110880977A (zh) 一种安全高效的sm9环签名生成与验证方法
CN111245625B (zh) 无证书聚合的数字签名方法
CN114117547B (zh) 一种基于预计算表的sm9数字签名加速生成方法以及数字签名加速验证方法
He et al. An efficient certificateless designated verifier signature scheme.
CN115174056B (zh) 一种基于sm9签名的变色龙签名生成方法及装置
CN112491560A (zh) 一种支持批验证的sm2数字签名方法及介质
CN110505061A (zh) 一种数字签名算法及系统
CN114499887B (zh) 签名密钥生成及相关方法、系统、计算机设备和存储介质
CN110932866B (zh) 一种基于sm2数字签名算法的环签名生成方法
CN112152813A (zh) 一种支持隐私保护的无证书内容提取签密方法
Islam et al. Certificateless strong designated verifier multisignature scheme using bilinear pairings
CN115529134A (zh) 格上基于身份的代理盲签名方法
CN112989436B (zh) 一种基于区块链平台的多重签名方法
CN113556233B (zh) 一种支持批验证的sm9数字签名方法
CN108667619B (zh) 一种sm9数字签名的白盒实现方法与装置
CN111262710A (zh) 抵抗秘密信息泄露的无证书聚合数字签名方法
CN110557260A (zh) 一种sm9数字签名生成方法及装置
Li et al. Provably secure and efficient ID-based strong designated verifier signature scheme with message recovery

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