CN113556233A - 一种支持批验证的sm9数字签名方法 - Google Patents

一种支持批验证的sm9数字签名方法 Download PDF

Info

Publication number
CN113556233A
CN113556233A CN202110773072.XA CN202110773072A CN113556233A CN 113556233 A CN113556233 A CN 113556233A CN 202110773072 A CN202110773072 A CN 202110773072A CN 113556233 A CN113556233 A CN 113556233A
Authority
CN
China
Prior art keywords
signature
group
key
signer
belonging
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
CN202110773072.XA
Other languages
English (en)
Other versions
CN113556233B (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 CN202110773072.XA priority Critical patent/CN113556233B/zh
Publication of CN113556233A publication Critical patent/CN113556233A/zh
Application granted granted Critical
Publication of CN113556233B publication Critical patent/CN113556233B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种支持批验证的SM9数字签名方法,在不改变SM9数字签名算法整体架构的基础上,对签名生成算法进行优化,使单签名者生成的多个签名支持签名的批验证。验证者能一次验证由单签名者生成的多个签名,不需要对签名逐个验证,有效提高了签名的验证效率,进一步拓宽SM9数字签名算法在实际中的应用。

Description

一种支持批验证的SM9数字签名方法
技术领域
本发明涉及信息安全技术领域,尤其涉及一种支持批验证的SM9数字签名方法。
背景技术
数字签名是一种用于鉴定签名者和签名消息有效性的密码安全技术,通过验证签名保证签名者身份的真实性和不可抵赖性,同时检验消息在传输过程中是否遭到篡改,确保消息的完整性和真实性。数字签名是公钥密码体系中的一个重要研究领域,在云计算、物联网、区块链等应用中得到广泛使用。
消息签名的有效性验证需要消耗一定的计算资源,当需要验证多个消息签名时,采用逐个验证的方法会消耗较多的计算资源,不适用于计算资源有限的应用场景。此外,多个签名的验证耗时较大,不满足车联网等应用的需求。在这种亟需提高多个签名验证效率的背景下,支持批验证的签名孕育而生。为实现密码自主可控,保障网络与信息安全,我国自主设计了SM9数字签名算法并成为了国际标准。然而,由于SM9签名算法结构的特殊性,该算法并不支持批验证,严重阻碍了SM9数字签名算法的应用。
发明内容
本发明的目的在于提供一种支持批验证的SM9数字签名方法,在不改变SM9数字签名的整体架构上,对签名算法进行优化,使其支持单个签名者生成签名的批验证,与签名逐个验证的方法相比,签名验证效率提高了约50%。
本发明采用的技术方案是:
一种支持批验证的SM9数字签名方法,包括步骤:
S1、密钥生成中心生成密钥生成中心的主公私钥对,将生成的主公钥公开给系统中的用户,并秘密保存主私钥;
S2、密钥生成中心利用主公私钥对生成签名者的签名密钥,将签名密钥通过安全信道发送给签名者;
S3、签名者基于待签名的消息,利用密钥生成中心生成的签名密钥和密钥生成中心的主公钥生成签名;
S4、验证算法基于消息签名、签名者的标识和密钥生成中心的主公钥,验证签名的有效性;
S5、批验证算法基于单签名者生成的多个消息签名、签名者标识和密钥生成中心的主公钥,批量验证多个签名的有效性。
本发明的有益效果在于:SM9数字签名算法作为我国的商用密码算法,具有强安全性和高效率性,常用于保护数据的完整性,得到了广泛的应用。但是,当需要验证多个消息签名时,只能逐个验证,无法实现签名的批量验证,计算开销较大,而且验证时间较长,效率低下,无法满足物联网等应用的新需求,限制了SM9数字签名算法的部署。
本发明在不改变SM9数字签名算法整体架构的基础上,对消息签名生成算法进行优化,使其能批量验证单个签名者生成的多个签名。即,当需要验证由某个签名者生成的多个消息签名的有效性时,不需要逐个签名验证,而是同时验证多个签名的有效性。该方法不仅降低了计算开销,而且减少了验证时间,有效提高了签名的验证效率,有助于促进SM9数字签名算法的应用。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1为一种支持批验证的SM9数字签名方法流程图;
图2为签名算法流程示意图;
图3为签名验证算法流程示意图;
图4为签名批验证算法流程示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述。本发明最关键的构思在于:由单个签名者生成的多个SM9消息签名可实现批量验证。
如图1至图4之一所示,本发明公开了一种支持批验证的SM9数字签名方法,其包括步骤:
S1、密钥生成中心生成密钥生成中心的主公私钥对,将生成的主公钥公开给系统中的用户,并秘密保存主私钥;
S2、密钥生成中心利用主公私钥对生成签名者的签名密钥,将签名密钥通过安全信道发送给签名者;
S3、签名者基于待签名的消息,利用密钥生成中心生成的签名密钥和密钥生成中心的主公钥生成签名;
S4、验证算法基于消息签名、签名者的标识和密钥生成中心的主公钥,验证签名的有效性;
S5、批验证算法基于单签名者生成的多个消息签名、签名者标识和密钥生成中心的主公钥,批量验证多个签名的有效性。
进一步的,所述步骤S1具体包括:
首先选取双线性群BP=(G1,G2,GT,e,N),群G1和群G2的生成元分别为P1和P2。产生随机数α∈[1,N-1]作为主私钥,计算G2中的元素Ppub=αP2,计算GT中的元素g=e(P1,Ppub)。选择并公开用一个字节表示的签名密钥生成函数识别符hid;
其中,
BP:双线性群;
N:循环群G1,G2,GT的阶,且N>2191的素数;
G1:阶为素数N的加法循环群;
G2:阶为素数N的加法循环群;
GT:阶为素数N的乘法循环群;
e:从G1×G2到GT的双线性映射;
α:主私钥;
[1,N-1],
Figure BDA0003154605710000031
:不小于1且不大于N-1的整数集合;
P1:群G1的生成元;
P2:群G2的生成元;
Ppub:群G2中的元素;
g:群GT中的元素;
hid:用一个字节表示的签名密钥生成函数识别符,由密钥生成中心选择并公开。
所述步骤S2中密钥生成中心为签名者生成签名密钥具体包括:
为产生签名者的签名密钥sk,首先在有限域FN上计算非零元素t1=H1(ID||hid,N)+α,计算t2=α·t1 -1,然后计算签名者的签名密钥sk=t2·P1
其中,
ID:签名者的标识,可以唯一确定签名者的公钥;
sk:签名者的签名密钥,属于群G1中的元素;
FN:有限域;
ID||hid:ID与hid的拼接,其中ID和hid是比特串或字节串;
t1:临时变量,属于有限域FN中的元素;
t2:临时变量,属于有限域FN中的元素;
H1(ID||hid,N):
Figure BDA0003154605710000041
Figure BDA0003154605710000042
由密码杂凑函数派生的密码函数。
所述步骤S3中签名者生成数字签名具体包括:
产生随机数r∈[1,N-1],计算C=r·P1,w=gr,h=H2(M||w,N),
Figure BDA0003154605710000044
Figure BDA0003154605710000046
并输出签名σ=(C,S);
其中,
r:[1,N-1]中的随机数;
M:待签名的消息;
C:临时变量,属于群G1中的元素;
w:临时变量,属于群GT中的元素;
h:临时变量,属于有限域FN中的整数;
H2(M||w,N):{0,1}*×GT
Figure BDA0003154605710000043
的由密码杂凑函数派生的密码函数;
Figure BDA0003154605710000045
:临时变量,属于有限域FN中的整数;
S:临时变量,属于群G1中的元素;
σ:消息M的签名。
所述步骤S4中签名验证具体包括:
假设待验证的消息签名为(σ,M,ID),其中σ=(C,S)。验证者首先计算w=e(C,Ppub),h'=H2(M||w',N),P=H1(ID||hid,N)P2+Ppub,u=e(S,P),w'=u·gh'。接着验证w'=w是否成立,若不成立则输出该签名无效,否则输出该签名是有效签名;
其中,
h':临时变量,属于有限域FN中的整数;
P:临时变量,属于群G2中的元素;
u:临时变量,属于群GT中的元素;
w':临时变量,属于群GT中的元素。
所述步骤S5中签名批验证具体包括:
假设由签名者ID生成的n个待验证的消息签名为(σi,Mi),其中σi=(Ci,Si),i=1,2,…,n。验证者对任意的i=1,2,…,n,计算wi=e(Ci,Ppub),hi=H2(Mi||wi,N),接着,验证
Figure BDA0003154605710000051
是否成立。若成立,则表示该n个签名对是有效的,否则至少存在一个签名是无效的;
其中,
n:正整数,表示待验证签名的个数;
Mi:待验证的消息;
σi:标识为ID的签名者对消息Mi的签名;
wi:临时变量,属于群GT中的元素;
hi:临时变量,属于有限域FN中的整数。
SM9签名的批验证过程具体如下:
Figure BDA0003154605710000052
此处对公式计算中需要说明的是:
假设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 BDA0003154605710000053
都有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 (6)

1.一种支持批验证的SM9数字签名方法,其特征在于:其包括以下步骤:
S1、密钥生成中心生成密钥生成中心的主公私钥对,将生成的主公钥公开给系统中的用户,并秘密保存主私钥;
S2、密钥生成中心利用主公私钥对生成签名者的签名密钥,将签名密钥通过安全信道发送给签名者;
S3、签名者基于待签名的消息,利用密钥生成中心生成的签名密钥和密钥生成中心的主公钥生成签名;
S4、验证算法基于消息签名、签名者的标识和密钥生成中心的主公钥,验证签名的有效性;
S5、批验证算法基于单签名者生成的多个消息签名、签名者标识和密钥生成中心的主公钥,批量验证多个签名的有效性。
2.根据权利要求1所述的一种支持批验证的SM9数字签名方法,其特征在于,所述步骤S1具体包括:
S1-1,选取双线性群BP=(G1,G2,GT,e,N),群G1和群G2的生成元分别为P1和P2
S1-2,产生随机数α∈[1,N-1]作为主私钥,计算G2中的元素Ppub=αP2,计算GT中的元素g=e(P1,Ppub);
S1-3,选择并公开用一个字节表示的签名密钥生成函数识别符hid;
其中,BP表示双线性群;N表示循环群G1,G2,GT的阶,且N>2191的素数;G1表示阶为素数N的加法循环群;G2表示阶为素数N的加法循环群;GT表示阶为素数N的乘法循环群;e表示从G1×G2到GT的双线性映射;α表示主私钥;[1,N-1],
Figure FDA0003154605700000011
为不小于1且不大于N-1的整数集合;P1表示群G1的生成元;P2表示群G2的生成元;Ppub表示群G2中的元素;g表示群GT中的元素;hid表示用一个字节表示的签名密钥生成函数识别符,由密钥生成中心选择并公开。
3.根据权利要求1所述的一种支持批验证的SM9数字签名方法,其特征在于,所述步骤S2中密钥生成中心为签名者生成签名密钥具体包括:
S2-1,在有限域FN上计算非零元素t1=H1(ID||hid,N)+α,计算t2=α·t1 -1
S2-2:计算签名者的签名密钥sk=t2·P1
其中,ID表示签名者的标识,可以唯一确定签名者的公钥;sk表示签名者的签名密钥,属于群G1中的元素;FN表示有限域;ID||hid表示ID与hid的拼接,其中ID和hid是比特串或字节串;t1表示临时变量,属于有限域FN中的元素;t2表示临时变量,属于有限域FN中的元素;H1(ID||hid,N)表示
Figure FDA0003154605700000021
Figure FDA0003154605700000022
由密码杂凑函数派生的密码函数。
4.根据权利要求1所述的一种支持批验证的SM9数字签名方法,其特征在于,所述步骤S3中签名者生成数字签名具体包括:
S3-1,产生随机数r∈[1,N-1],
S3-2,计算C=r·P1、w=gr、h=H2(M||w,N)、l=(r-h)modN和S=lsk,
S3-3,最后输出签名σ=(C,S);
其中,r表示[1,N-1]中的随机数;M表示待签名的消息;C表示临时变量,属于群G1中的元素;w表示临时变量,属于群GT中的元素;h表示临时变量,属于有限域FN中的整数;H2(M||w,N)表示{0,1}*×GT
Figure FDA0003154605700000023
的由密码杂凑函数派生的密码函数;l表示临时变量,属于有限域FN中的整数;S表示临时变量,属于群G1中的元素;σ表示消息M的签名。
5.根据权利要求1所述的一种支持批验证的SM9数字签名方法,其特征在于,所述步骤S4中签名验证具体包括:
S4-1,设定待验证的消息签名为(σ,M,ID),其中σ=(C,S);
S4-2,验证者计算w=e(C,Ppub),h'=H2(M||w',N),P=H1(ID||hid,N)P2+Ppub,u=e(S,P),w'=u·gh'
S4-3,验证w'=w是否成立;当验证等式不成立时,则输出该签名无效;否则,输出该签名是有效签名;
其中,h'表示临时变量,属于有限域FN中的整数;P表示临时变量,属于群G2中的元素;u表示临时变量,属于群GT中的元素;w'表示临时变量,属于群GT中的元素。
6.根据权利要求1所述的一种支持批验证的SM9数字签名方法,其特征在于,所述步骤S5中签名批验证具体包括:
S5-1,设定由签名者ID生成的n个待验证的消息签名为(σi,Mi),其中σi=(Ci,Si),i=1,2,…,n;
S5-2,验证者对任意的i=1,2,…,n,计算wi=e(Ci,Ppub),hi=H2(Mi||wi,N),
S5-3,验证
Figure FDA0003154605700000031
是否成立;当成立时表示该n个签名对是有效的;当不成立时至少存在一个签名是无效的;
其中,n表示正整数,表示待验证签名的个数;Mi表示待验证的消息;σi表示标识为ID的签名者对消息Mi的签名;wi表示临时变量,属于群GT中的元素;hi表示临时变量,属于有限域FN中的整数。
CN202110773072.XA 2021-07-08 2021-07-08 一种支持批验证的sm9数字签名方法 Active CN113556233B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110773072.XA CN113556233B (zh) 2021-07-08 2021-07-08 一种支持批验证的sm9数字签名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110773072.XA CN113556233B (zh) 2021-07-08 2021-07-08 一种支持批验证的sm9数字签名方法

Publications (2)

Publication Number Publication Date
CN113556233A true CN113556233A (zh) 2021-10-26
CN113556233B CN113556233B (zh) 2022-12-06

Family

ID=78102812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110773072.XA Active CN113556233B (zh) 2021-07-08 2021-07-08 一种支持批验证的sm9数字签名方法

Country Status (1)

Country Link
CN (1) CN113556233B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116318738A (zh) * 2023-05-18 2023-06-23 北京信安世纪科技股份有限公司 签名方法、系统、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080084500A (ko) * 2007-03-16 2008-09-19 삼성전자주식회사 집합 검증 장치 및 그 방법
US20100185865A1 (en) * 2007-12-20 2010-07-22 Bce Inc. Generation of communication device signatures for use in securing nomadic electronic transactions
CN109600725A (zh) * 2019-01-04 2019-04-09 广东安创信息科技开发有限公司 一种基于sm9算法的短信加密方法
CN109981292A (zh) * 2019-03-27 2019-07-05 北京思源互联科技有限公司 一种基于sm9算法的认证方法、装置及系统
CN110912708A (zh) * 2019-11-26 2020-03-24 武汉大学 一种基于sm9数字签名算法的环签名生成方法
CN112241526A (zh) * 2020-10-26 2021-01-19 北京华大信安科技有限公司 一种基于sm9数字签名的批量验证方法和系统
CN113014398A (zh) * 2021-03-17 2021-06-22 福建师范大学 基于sm9数字签名算法的聚合签名生成方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080084500A (ko) * 2007-03-16 2008-09-19 삼성전자주식회사 집합 검증 장치 및 그 방법
US20100185865A1 (en) * 2007-12-20 2010-07-22 Bce Inc. Generation of communication device signatures for use in securing nomadic electronic transactions
CN109600725A (zh) * 2019-01-04 2019-04-09 广东安创信息科技开发有限公司 一种基于sm9算法的短信加密方法
CN109981292A (zh) * 2019-03-27 2019-07-05 北京思源互联科技有限公司 一种基于sm9算法的认证方法、装置及系统
CN110912708A (zh) * 2019-11-26 2020-03-24 武汉大学 一种基于sm9数字签名算法的环签名生成方法
CN112241526A (zh) * 2020-10-26 2021-01-19 北京华大信安科技有限公司 一种基于sm9数字签名的批量验证方法和系统
CN113014398A (zh) * 2021-03-17 2021-06-22 福建师范大学 基于sm9数字签名算法的聚合签名生成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116318738A (zh) * 2023-05-18 2023-06-23 北京信安世纪科技股份有限公司 签名方法、系统、电子设备及存储介质
CN116318738B (zh) * 2023-05-18 2023-09-05 北京信安世纪科技股份有限公司 签名方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN113556233B (zh) 2022-12-06

Similar Documents

Publication Publication Date Title
CN108809658B (zh) 一种基于sm2的身份基的数字签名方法与系统
Cui et al. An efficient authentication scheme based on semi-trusted authority in VANETs
CN108551392B (zh) 一种基于sm9数字签名的盲签名生成方法及系统
CN110912708B (zh) 一种基于sm9数字签名算法的环签名生成方法
CN110880977B (zh) 一种安全高效的sm9环签名生成与验证方法
CN107171788B (zh) 一种基于身份且签名长度恒定的在线离线聚合签名方法
CN110896351B (zh) 基于全域哈希的身份基数字签名方法
CN110505061B (zh) 一种数字签名算法及系统
CN115174056B (zh) 一种基于sm9签名的变色龙签名生成方法及装置
CN110932865A (zh) 一种基于sm2数字签名算法的可链接环签名生成方法
CN113014398B (zh) 基于sm9数字签名算法的聚合签名生成方法
CN112446052A (zh) 一种适用于涉密信息系统的聚合签名方法及系统
CN114117547A (zh) 一种基于预计算表的sm9数字签名加速生成方法以及数字签名加速验证方法
Zhu et al. An identity‐based proxy signature on NTRU lattice
WO2023206869A1 (zh) 基于格的代理签名及验证方法、装置、设备和存储介质
Islam et al. Certificateless strong designated verifier multisignature scheme using bilinear pairings
CN113556233B (zh) 一种支持批验证的sm9数字签名方法
CN109618348B (zh) 一种单向代理重签名的实现方法及装置
CN113055161B (zh) 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统
CN112491560A (zh) 一种支持批验证的sm2数字签名方法及介质
CN110932866B (zh) 一种基于sm2数字签名算法的环签名生成方法
CN108667619B (zh) 一种sm9数字签名的白盒实现方法与装置
CN108632043B (zh) 一种优化的环签名方法及系统
CN114071463A (zh) 一种基于双线性映射的车载自组织网络的批认证方法
Yang et al. A proxy-protected proxy signature based on 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
GR01 Patent grant
GR01 Patent grant