CN113014398B - 基于sm9数字签名算法的聚合签名生成方法 - Google Patents
基于sm9数字签名算法的聚合签名生成方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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数字签名算法的聚合签名生成方法,包括步骤:
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中的元素(αP2,α2P2,…,α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],不小于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):到由密码杂凑函数派生的密码函数。
所述步骤S3中签名者生成SM9数字签名具体包括:
其中,r:[1,N-1]中的随机数;M:待签名的消息;C:临时变量,属于群G1中的元素;w:临时变量,属于群GT中的元素;h:临时变量,属于有限域FN中的整数;H2(M||w,N):{0,1}*×GT到的由密码杂凑函数派生的密码函数;l:临时变量,属于有限域FN中的整数;S:临时变量,属于群G1中的元素;σ:消息M的签名。
所述步骤S4中聚合签名生成具体包括:
其中,n:正整数,表示参与聚合的签名个数,且n≤m;(σi,Mi,IDi):待聚合的签名信息;σi:签名者IDi对消息Mi的签名;U:临时变量,属于群G1中的元素;τ:临时变量,消息和标识对的集合;σAgg:聚合后的签名。
所述步骤S5中聚合签名的验证具体包括:
其中,f(x)、fi(x):多项式;wi:临时变量,属于群GT中的元素;hi:临时变量,属于有限域FN中的整数;mod N:模数为N的模运算;Ci:临时变量,属于群G1中的元素。
SM9聚合签名的验证过程具体如下:
此处对公式计算中需要说明的是:
假设G1,G2,GT均是阶为大素数N的循环群,P1,P2分别是群G1,G2的生成元,ZN为包含N个元素的整数域,双线性群BP由五元组(G1,G2,GT,e,N)组成。其中映射e:G1×G2→GT为双线性映射,满足以下3个条件:
(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-3、计算G2中的元素(αP2,α2P2,…,αmP2)作为主公钥并设Ppub=αP2,其中,m表示一次参与聚合的消息签名的上界且正整数;Ppub表示群G2中的元素;
S1-4、选择并公开用一个字节表示的签名密钥生成函数识别符hid;
S2、密钥生成中心利用主公私钥对生成签名者的签名密钥,将签名密钥通过安全信道发送给签名者;步骤S2中密钥生成中心为签名者生成签名密钥具体包括以下步骤:
S2-1、在有限域FN上计算t1=H1(IDA||hid,N)+α,其中,H1(IDA||hid,N)表示到由密码杂凑函数派生的密码函数;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数字签名具体方法为:
其中,M为待签名的消息;C、S为临时变量,属于群G1中的元素;w为临时变量,属于群GT中的元素;h、均为临时变量,属于有限域FN中的整数;H2(M||w,N)表示{0,1}*×GT到的由密码杂凑函数派生的密码函数;
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的签名;
S5、聚合签名验证算法基于聚合签名和密钥生成中心的主公钥验证SM9聚合签名的有效性。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110880977A (zh) * | 2019-11-26 | 2020-03-13 | 武汉大学 | 一种安全高效的sm9环签名生成与验证方法 |
Family Cites Families (6)
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数字签名的批量验证方法和系统 |
-
2021
- 2021-03-17 CN CN202110287099.8A patent/CN113014398B/zh active Active
Patent Citations (1)
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 |