CN112241526B - 一种基于sm9数字签名的批量验证方法和系统 - Google Patents
一种基于sm9数字签名的批量验证方法和系统 Download PDFInfo
- Publication number
- CN112241526B CN112241526B CN202011156041.1A CN202011156041A CN112241526B CN 112241526 B CN112241526 B CN 112241526B CN 202011156041 A CN202011156041 A CN 202011156041A CN 112241526 B CN112241526 B CN 112241526B
- Authority
- CN
- China
- Prior art keywords
- message
- signer
- representing
- signature
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 35
- 125000004122 cyclic group Chemical group 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种基于SM9数字签名的批量验证方法和系统,该方法包括:获取待签名消息以及待签名消息对应的签名者的身份标识;基于可信密钥生成中心获取系统公钥和签名者私钥;基于系统公钥、身份标识和签名者私钥生成待签名消息的数字签名,并将数字签名以消息签名对的形式表示;验证者对消息签名对进行批量验证。其中,验证者可以一次性完成多个SM9数字签名的有效性验证,极大地提高了SM9数字签名验证效率。
Description
技术领域
本申请涉及数字签名技术领域,尤其涉及一种基于SM9数字签名的批量验证方法和系统。
背景技术
数字签名技术是一种伴随着信息网络技术的发展而出现的安全保障技术,通过网络技术手段代替传统的纸面签字或者盖章的功能,以实现防伪造、鉴别身份、验证信息是否被篡改和防抵赖的作用。数字签名一般为:发送者采用自己的私钥对消息进行签名而生成签名信息,并将签名信息随附消息发送给接收方;接收方在接收到消息和签名信息后,采用发送方的公钥验证签名信息是否正确,继而判断消息是否被篡改或者发送者身份是否为伪造。如何提高数字签名技术的安全性是当前研究的一大热点。
现有技术中提供了一种SM9标识密码算法,它是一种基于双线性对的标识密码算法,可以把用户的身份标识作为公钥并借以生成用户的私钥。SM9标识密码算法的应用与管理不需要数字证书、证书库或密钥库,主要用于数字签名、安全加密及密钥交换等。
然而本申请的发明人发现,传统SM9数字签名的验证效率与签名数量呈正相关关系,数字签名越多时需要花费的验证时间就越多,然而目前并没有一种可以批量验证SM9数字签名的方法,即现有技术存在验证数字签名时效率低的缺点。
发明内容
本申请提供了一种基于SM9数字签名的批量验证方法和系统,以解决现有技术验证数字签名时效率低的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
第一方面,本申请提供了一种基于SM9数字签名的批量验证方法,该方法包括:
获取待签名消息以及所述待签名消息对应的签名者的身份标识;
基于可信密钥生成中心获取系统公钥和签名者私钥;
基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,并将所述数字签名以消息签名对的形式表示;
验证者对所述消息签名对进行批量验证。
优选的,所述基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,包括:
S301、计算g=e(P1,Ppub);
其中:
g表示乘法循环群GT中的元素;
e表示从G1×G2到GT的双线性映射,G1为阶为素数N的加法循环群,G2为阶为素数N的加法循环群,GT为阶为素数N的乘法循环群;
P1表示群G1的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
S302、随机选取一个数ri∈[1,N-1],[1,N-1]为不小于1且不大于N-1的整数的集合;
计算并将wi转换为字符串;
其中:
wi表示乘法循环群GT中的元素g的ri次幂;
S303、计算Li=(ri-h2i)mod N
其中:
Li表示整数集合[1,N-1]中的元素;
h2i为中间变量,且
h2i=H2(Mi||IDi||wi,N)
其中:
H2为由密码杂凑函数派生的密码函数;
Mi表示签名者Ui分属的待签名消息,IDi表示签名者Ui的身份标识;
若Li=0,则跳转到S302;
S304、计算Si=[Li]di并将Si转换为字符串;
其中:
Si表示加法循环群G1中的元素;
di表示签名者Ui的签名者私钥;
S305、得到签名者Ui的数字签名σi=(wi,Si)。
优选的,所述签名消息以消息签名对的形式表示,所述消息签名对为:
{σi,Mi,IDi}
其中:
σi为签名者Ui的数字签名;
Mi表示签名者Ui分属的待签名消息;
IDi表示签名者Ui的身份标识。
优选的,所述验证者对所述消息签名对进行批量验证,包括:
验证者基于预设的验证方法对所述消息签名对进行批量验证,所述预设的验证方法包括:
S501、校验wi是否为乘法循环群GT中元素;若不是,则判定所述消息签名对无效;
S502、校验Si是否为加法循环群G1中元素;若不是,则判定所述消息签名对无效;
S503、从整数集合[1,N-1]中随机选取n个数(v1,v2,...,vn);
S504、判断预设的验证条件是否成立;若成立,则判定所述消息签名对有效,若不成立,则判定所述消息签名对无效。
优选的,所述预设的验证条件为:
其中:
e表示从G1×G2到GT的双线性映射;
P2表示群G2的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
h2i为中间变量;
其中:
S表示加法循环群G1中的元素;
h1i表示中间变量,且
h1i=H1(IDi||hid,N)
其中:
H1为由密码杂凑函数派生的密码函数;
hid表示可信密钥生成中心选择并公开的私钥生成函数识别符;
其中:
表示加法循环群G1中的元素。
优选的,还包括:验证者对所述消息签名对进行验证,验证方法包括:
S501、校验wi是否为乘法循环群GT中元素;若不是,则判定所述消息签名对无效;
S502、校验Si是否为加法循环群G1中元素;若不是,则判定所述消息签名对无效;
S503、判断预设的验证条件是否成立;若成立,则判定所述消息签名对有效,若不成立,则判定所述消息签名对无效;所述预设的验证条件为:
其中:
e表示从G1×G2到GT的双线性映射;
P2表示群G2的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
h2i为中间变量;
h1i=H1(IDi||hid,N)
其中:
H1为由密码杂凑函数派生的密码函数;
IDi表示签名者Ui的身份标识;
hid表示可信密钥生成中心选择并公开的私钥生成函数识别符。
第二方面,本申请提供了一种基于SM9数字签名的批量验证系统,所述系统包括:
第一获取模块,被配置为获取待签名消息以及所述待签名消息对应的签名者的身份标识;
第二获取模块,被配置为基于可信密钥生成中心获取系统公钥和签名者私钥;
数字签名获取模块,被配置为基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,并将所述数字签名以消息签名对的形式表示;
签名验证模块,被配置为对所述消息签名对进行批量验证。
优选的,所述数字签名获取模块进一步被配置为:
S301、计算g=e(P1,Ppub);
其中:
g表示乘法循环群GT中的元素;
e表示从G1×G2到GT的双线性映射,G1为阶为素数N的加法循环群,G2为阶为素数N的加法循环群,GT为阶为素数N的乘法循环群;
P1表示群G1的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
S302、随机选取一个数ri∈[1,N-1],[1,N-1]为不小于1且不大于N-1的整数的集合;
计算并将wi转换为字符串;
其中:
wi表示乘法循环群GT中的元素g的ri次幂;
S303、计算Li=(ri-h2i)mod N
其中:
Li表示整数集合[1,N-1]中的元素;
h2i为中间变量,且
h2i=H2(Mi||IDi||wi,N)
其中:
H2为由密码杂凑函数派生的密码函数;
Mi表示签名者Ui分属的待签名消息,IDi表示签名者Ui的身份标识;
若Li=0,则跳转到S302;
S304、计算Si=[Li]di并将Si转换为字符串;
其中:
Si表示加法循环群G1中的元素;
di表示签名者Ui的签名者私钥;
S305、得到签名者Ui的数字签名σi=(wi,Si)。
优选的,所述签名验证模块进一步被配置为:
S501、校验wi是否为乘法循环群GT中元素;若不是,则判定所述消息签名对无效;
S502、校验Si是否为加法循环群G1中元素;若不是,则判定所述消息签名对无效;
S503、从整数集合[1,N-1]中随机选取n个数(v1,v2,...,vn);
S504、判断预设的验证条件是否成立;若成立,则判定所述消息签名对有效,若不成立,则判定所述消息签名对无效。
优选的,所述预设的验证条件为:
其中:
e表示从G1×G2到GT的双线性映射;
P2表示群G2的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
h2i为中间变量;
其中:
S表示加法循环群G1中的元素;
h1i表示中间变量,且
h1i=H1(IDi||hid,N)
其中:
H1为由密码杂凑函数派生的密码函数;
hid表示可信密钥生成中心选择并公开的私钥生成函数识别符;
其中:
表示加法循环群G1中的元素。
与现有技术相比,本申请的有益效果为:
本申请通过获取待签名消息以及待签名消息对应的签名者的身份标识;基于可信密钥生成中心获取系统公钥和签名者私钥;基于系统公钥、身份标识和签名者私钥生成待签名消息的数字签名,并将数字签名以消息签名对的形式表示;验证者对消息签名对进行批量验证。其中,验证者根据预先设定好的验证条件对签名消息进行批量验证,从而可以一次性完成多个SM9数字签名的有效性验证,极大地提高了SM9数字签名验证效率。数字签名的具体生成过程并不改变SM9数字签名算法的签名逻辑,同时数字签名集批量验证与独立验证的等价性直接依赖于自主可控的SM9数字签名算法的安全性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于SM9数字签名的批量验证方法的整体流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
参见图1,为本申请实施例提供的基于SM9数字签名的批量验证方法的整体流程图。如图1所示,该方法包括以下步骤:
S1、获取待签名消息以及所述待签名消息对应的签名者的身份标识;
S2、基于可信密钥生成中心获取系统公钥和签名者私钥;
S3、基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,并将所述数字签名以消息签名对的形式表示;
S4、验证者对所述消息签名对进行批量验证。
本申请实施例中涉及三类实体:密钥生成中心KGC(Key Generation Center)、签名者{U1,U2,…,Un}和验证者V。
下面对各个步骤进行详细描述:
在步骤S1中,获取待签名消息以及所述待签名消息对应的签名者的身份标识。
在本申请实施例中,待签名消息设定为{M1,M2,…,Mn},签名者的身份标识设定为{ID1,ID2,…,IDn}。具体的,签名者Ui的身份标识为IDi,并且对待签名消息Mi进行数字签名。
在步骤S2,基于可信密钥生成中心获取系统公钥和签名者私钥。
在步骤S3中,基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,并将所述数字签名以消息签名对的形式表示。
在本发明实施例中,签名者获取待签名消息的数字签名。
具体的,数字签名的生成方法包括以下步骤:
S301、计算g=e(P1,Ppub);
其中:
g表示乘法循环群GT中的元素;
e表示从G1×G2到GT的双线性映射,G1为阶为素数N的加法循环群,G2为阶为素数N的加法循环群,GT为阶为素数N的乘法循环群;
P1表示群G1的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
S302、随机选取一个数ri∈[1,N-1],[1,N-1]为不小于1且不大于N-1的整数的集合;
计算并将wi转换为字符串;
其中:
wi表示乘法循环群GT中的元素g的ri次幂;
S303、计算Li=(ri-h2i)mod N
其中:
Li表示整数集合[1,N-1]中的元素;
h2i为中间变量,且
h2i=H2(Mi||IDi||wi,N)
其中:
H2为由密码杂凑函数派生的密码函数;
Mi表示签名者Ui分属的待签名消息,IDi表示签名者Ui的身份标识;
若Li=0,则跳转到S302;
S304、计算Si=[Li]di并将Si转换为字符串;
其中:
Si表示加法循环群G1中的元素;
di表示签名者Ui的签名者私钥;
S305、得到签名者Ui的数字签名σi=(wi,Si)。
在本申请实施例中,求得数字签名后,再将数字签名以消息签名对的形式表示,消息签名对具体为:
{σi,Mi,IDi}
其中:
σi为签名者Ui的数字签名;
Mi表示签名者Ui分属的待签名消息;
IDi表示签名者Ui的身份标识。
在步骤S4中,验证者对所述消息签名对进行批量验证。
具体的,验证者基于预设的验证方法对签名消息进行验证。
在一些实施例中,预设的验证方法包括:
S501、校验wi是否为乘法循环群GT中元素;若不是,则判定消息签名对无效。
S502、校验Si是否为加法循环群G1中元素;若不是,则判定消息签名对无效。
S503、从整数集合[1,N-1]中随机选取n个数(v1,v2,...,vn)。
S504、判断预设的验证条件是否成立;若成立,则判定消息签名对有效,若不成立,则判定消息签名对无效。
具体的,预设的验证条件为:
其中:
e表示从G1×G2到GT的双线性映射;
P2表示群G2的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
h2i为中间变量。
其中:
S表示加法循环群G1中的元素;
h1i表示中间变量,且
h1i=H1(IDi||hid,N)
其中:
H1为由密码杂凑函数派生的密码函数;
hid表示可信密钥生成中心选择并公开的私钥生成函数识别符。
其中:
表示加法循环群G1中的元素。
在本申请实施例中,经过简洁的预处理,验证者可以基于一个验证条件等式完成多个SM9数字签名的有效性验证,在不改变其签名逻辑的基础上实现了多个签名的批量验证。在保证数据资源的真实性、有效性及不可抵赖性的同时极大地改善了SM9数字签名算法的验证效率。
具体的,在一些实施例中,当数字签名的数量较少时,也可采用普通的验证方法对消息签名对进行验证。验证方法包括:
S501、校验wi是否为乘法循环群GT中元素;若不是,则判定消息签名对无效。
S502、校验Si是否为加法循环群G1中元素;若不是,则判定消息签名对无效。
S503、依次判断预设的验证条件是否成立;若成立,则判定消息签名对有效,若不成立,则判定消息签名对无效。
预设的验证条件为:
其中:
e表示从G1×G2到GT的双线性映射;
P2表示群G2的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
h2i为中间变量;
h1i=H1(IDi||hid,N)
其中:
H1为由密码杂凑函数派生的密码函数;
IDi表示签名者Ui的身份标识;
hid表示可信密钥生成中心选择并公开的私钥生成函数识别符。
与上述实现方法相对应的,在本申请实施例中,还提供了一种基于SM9数字签名的批量验证系统,包括:
第一获取模块,被配置为获取待签名消息以及所述待签名消息对应的签名者的身份标识;
第二获取模块,被配置为基于可信密钥生成中心获取系统公钥和签名者私钥;
数字签名获取模块,被配置为基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,并将所述数字签名以消息签名对的形式表示;
签名验证模块,被配置为对所述消息签名对进行批量验证。
由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。
综上所述,与现有技术相比,具备以下有益效果:
本申请实施例通过获取待签名消息以及待签名消息对应的签名者的身份标识;基于可信密钥生成中心获取系统公钥和签名者私钥;基于系统公钥、身份标识和签名者私钥生成待签名消息的数字签名,并将数字签名以消息签名对的形式表示;验证者对消息签名对进行批量验证。其中,验证者根据预先设定好的验证条件对签名消息进行批量验证,从而可以一次性完成多个SM9数字签名的有效性验证,极大地提高了SM9数字签名验证效率。数字签名的具体生成过程并不改变SM9数字签名算法的签名逻辑,同时数字签名集批量验证与独立验证的等价性直接依赖于自主可控的SM9数字签名算法的安全性。
需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个......”限定的要素,并不排除在包括所述要素的电路结构、物品或者设备中还存在另外的相同要素。
本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。以上所述的本申请实施方式并不构成对本申请保护范围的限定。
Claims (8)
1.一种基于SM9数字签名的批量验证方法,其特征在于,所述方法包括:
获取待签名消息以及所述待签名消息对应的签名者的身份标识;
基于可信密钥生成中心获取系统公钥和签名者私钥;
基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,并将所述数字签名以消息签名对的形式表示;
验证者对所述消息签名对进行批量验证;
其中,所述基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,包括:
S301、计算g=e(P1,Ppub);
其中:
g表示乘法循环群GT中的元素;
e表示从G1×G2到GT的双线性映射,G1为阶为素数N的加法循环群,G2为阶为素数N的加法循环群,GT为阶为素数N的乘法循环群;
P1表示群G1的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
S302、随机选取一个数ri∈[1,N-1],[1,N-1]为不小于1且不大于N-1的整数的集合;
计算并将wi转换为字符串;
其中:
wi表示乘法循环群GT中的元素g的ri次幂;
S303、计算Li=(ri-h2i)mod N;
其中:
Li表示整数集合[1,N-1]中的元素;
h2i为中间变量,且h2i=H2(Mi||IDi||wi,N);
其中:
H2为由密码杂凑函数派生的密码函数;
Mi表示签名者Ui分属的待签名消息,IDi表示签名者Ui的身份标识;
若Li=0,则跳转到S302;
S304、计算Si=[Li]di并将Si转换为字符串;
其中:
Si表示加法循环群G1中的元素;
di表示签名者Ui的签名者私钥;
S305、得到签名者Ui的数字签名σi=(wi,Si)。
2.根据权利要求1所述的验证方法,其特征在于,将所述数字签名以消息签名对的形式表示,所述消息签名对为:
{σi,Mi,IDi}
其中:
σi为签名者Ui的数字签名;
Mi表示签名者Ui分属的待签名消息;
IDi表示签名者Ui的身份标识。
3.根据权利要求1所述的验证方法,其特征在于,所述验证者对所述消息签名对进行批量验证,包括:
验证者基于预设的验证方法对所述消息签名对进行批量验证,所述预设的验证方法包括:
S501、校验wi是否为乘法循环群GT中元素;若不是,则判定所述消息签名对无效;
S502、校验Si是否为加法循环群G1中元素;若不是,则判定所述消息签名对无效;
S503、从整数集合[1,N-1]中随机选取n个数(v1,v2,...,vn);
S504、判断预设的验证条件是否成立;若成立,则判定所述消息签名对有效,若不成立,则判定所述消息签名对无效。
4.根据权利要求3所述的验证方法,其特征在于,所述预设的验证条件为:
其中:
e表示从G1×G2到GT的双线性映射;
P2表示群G2的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
h2i为中间变量;
其中:
S表示加法循环群G1中的元素;
h1i表示中间变量,且
h1i=H1(IDi||hid,N)
其中:
H1为由密码杂凑函数派生的密码函数;
hid表示可信密钥生成中心选择并公开的私钥生成函数识别符;
其中:
表示加法循环群G1中的元素。
5.根据权利要求2所述的验证方法,其特征在于,还包括:验证者对所述消息签名对进行验证,验证方法包括:
S501、校验wi是否为乘法循环群GT中元素;若不是,则判定所述消息签名对无效;
S502、校验Si是否为加法循环群G1中元素;若不是,则判定所述消息签名对无效;
S503、依次判断预设的验证条件是否成立;若成立,则判定所述消息签名对有效,若不成立,则判定所述消息签名对无效;所述预设的验证条件为:
其中:
e表示从G1×G2到GT的双线性映射;
P2表示群G2的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
h2i为中间变量;
h1i=H1(IDi||hid,N)
其中:
H1为由密码杂凑函数派生的密码函数;
IDi表示签名者Ui的身份标识;
hid表示可信密钥生成中心选择并公开的私钥生成函数识别符。
6.一种基于SM9数字签名的批量验证系统,其特征在于,所述系统包括:
第一获取模块,被配置为获取待签名消息以及所述待签名消息对应的签名者的身份标识;
第二获取模块,被配置为基于可信密钥生成中心获取系统公钥和签名者私钥;
数字签名获取模块,被配置为基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,并将所述数字签名以消息签名对的形式表示;
签名验证模块,被配置为对所述消息签名对进行批量验证;
所述数字签名获取模块进一步被配置为:
S301、计算g=e(P1,Ppub);
其中:
g表示乘法循环群GT中的元素;
e表示从G1×G2到GT的双线性映射,G1为阶为素数N的加法循环群,G2为阶为素数N的加法循环群,GT为阶为素数N的乘法循环群;
P1表示群G1的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
S302、随机选取一个数ri∈[1,N-1],[1,N-1]为不小于1且不大于N-1的整数的集合;
计算并将wi转换为字符串;
其中:
wi表示乘法循环群GT中的元素g的ri次幂;
S303、计算Li=(ri-h2i)mod N;
其中:
Li表示整数集合[1,N-1]中的元素;
h2i为中间变量,且h2i=H2(Mi||IDi||wi,N);
其中:
H2为由密码杂凑函数派生的密码函数;
Mi表示签名者Ui分属的待签名消息,IDi表示签名者Ui的身份标识;
若Li=0,则跳转到S302;
S304、计算Si=[Li]di并将Si转换为字符串;
其中:
Si表示加法循环群G1中的元素;
di表示签名者Ui的签名者私钥;
S305、得到签名者Ui的数字签名σi=(wi,Si)。
7.根据权利要求6所述的验证系统,其特征在于,所述签名验证模块进一步被配置为:
S501、校验wi是否为乘法循环群GT中元素;若不是,则判定所述消息签名对无效;
S502、校验Si是否为加法循环群G1中元素;若不是,则判定所述消息签名对无效;
S503、从整数集合[1,N-1]中随机选取n个数(v1,v2,...,vn);
S504、判断预设的验证条件是否成立;若成立,则判定所述消息签名对有效,若不成立,则判定所述消息签名对无效。
8.根据权利要求7所述的验证系统,其特征在于,所述预设的验证条件为:
其中:
e表示从G1×G2到GT的双线性映射;
P2表示群G2的生成元;
Ppub表示可信密钥生成中心初始化的系统公钥;
h2i为中间变量;
其中:
S表示加法循环群G1中的元素;
h1i表示中间变量,且
h1i=H1(IDi||hid,N)
其中:
H1为由密码杂凑函数派生的密码函数;
hid表示可信密钥生成中心选择并公开的私钥生成函数识别符;
其中:
表示加法循环群G1中的元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011156041.1A CN112241526B (zh) | 2020-10-26 | 2020-10-26 | 一种基于sm9数字签名的批量验证方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011156041.1A CN112241526B (zh) | 2020-10-26 | 2020-10-26 | 一种基于sm9数字签名的批量验证方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112241526A CN112241526A (zh) | 2021-01-19 |
CN112241526B true CN112241526B (zh) | 2024-03-19 |
Family
ID=74169734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011156041.1A Active CN112241526B (zh) | 2020-10-26 | 2020-10-26 | 一种基于sm9数字签名的批量验证方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112241526B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113014398B (zh) * | 2021-03-17 | 2022-09-30 | 福建师范大学 | 基于sm9数字签名算法的聚合签名生成方法 |
CN113556233B (zh) * | 2021-07-08 | 2022-12-06 | 福建师范大学 | 一种支持批验证的sm9数字签名方法 |
CN115001698B (zh) * | 2022-04-27 | 2023-04-28 | 北京信安世纪科技股份有限公司 | 聚合签名方法、装置、设备和存储介质 |
CN115001711B (zh) * | 2022-06-10 | 2024-01-30 | 成都卫士通信息产业股份有限公司 | 信息签名方法、装置、电子设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119670A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳大学 | 一种无证书部分盲签名方法和装置 |
CN110034936A (zh) * | 2019-04-08 | 2019-07-19 | 中国科学院软件研究所 | 一种可刺穿的数字签名方法 |
CN110516435A (zh) * | 2019-09-02 | 2019-11-29 | 国网电子商务有限公司 | 一种基于生物特征的私钥管理方法及装置 |
CN110912708A (zh) * | 2019-11-26 | 2020-03-24 | 武汉大学 | 一种基于sm9数字签名算法的环签名生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030008183A (ko) * | 2002-12-24 | 2003-01-24 | 학교법인 한국정보통신학원 | 겹선형쌍을 이용한 개인식별정보 기반의 원형서명 방법 |
-
2020
- 2020-10-26 CN CN202011156041.1A patent/CN112241526B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119670A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳大学 | 一种无证书部分盲签名方法和装置 |
CN110034936A (zh) * | 2019-04-08 | 2019-07-19 | 中国科学院软件研究所 | 一种可刺穿的数字签名方法 |
CN110516435A (zh) * | 2019-09-02 | 2019-11-29 | 国网电子商务有限公司 | 一种基于生物特征的私钥管理方法及装置 |
CN110912708A (zh) * | 2019-11-26 | 2020-03-24 | 武汉大学 | 一种基于sm9数字签名算法的环签名生成方法 |
Non-Patent Citations (1)
Title |
---|
SM9标识密码算法综述;袁峰;程朝辉;;信息安全研究(11);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112241526A (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112241526B (zh) | 一种基于sm9数字签名的批量验证方法和系统 | |
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
CN104539423B (zh) | 一种无双线性对运算的无证书公钥密码体制的实现方法 | |
US8433897B2 (en) | Group signature system, apparatus and storage medium | |
CN102170352B (zh) | 使用具有温特尼茨单次签名的ecdsa的方法 | |
EP2533457B1 (en) | Secure implicit certificate chaining | |
JP5790319B2 (ja) | 署名検証装置、署名検証方法、プログラム、及び記録媒体 | |
JP5593850B2 (ja) | 認証装置、認証方法、プログラム、及び署名生成装置 | |
CN110880977B (zh) | 一种安全高效的sm9环签名生成与验证方法 | |
CN111010272B (zh) | 一种标识私钥生成和数字签名方法及系统和装置 | |
CN110505061B (zh) | 一种数字签名算法及系统 | |
EP2247025A1 (en) | Apparatus, method, and program for updating a pair of public and secret key for digital signature | |
CN110932865B (zh) | 一种基于sm2数字签名算法的可链接环签名生成方法 | |
CN114499887B (zh) | 签名密钥生成及相关方法、系统、计算机设备和存储介质 | |
CN114095162A (zh) | 一种无证书用电信息采集系统连接验证方法及装置 | |
CN116566626B (zh) | 环签名方法和设备 | |
CN115174037B (zh) | 一种基于sm9签名的变色龙哈希函数的构造方法及装置 | |
Wang et al. | Perfect ambiguous optimistic fair exchange | |
CN110932866B (zh) | 一种基于sm2数字签名算法的环签名生成方法 | |
Tsai et al. | Improved Non‐Repudiable Threshold Proxy Signature Scheme with Known Signers | |
CN108632043B (zh) | 一种优化的环签名方法及系统 | |
CN115473634B (zh) | 一种改进的可链接环签名生成方法及装置 | |
CN115174054B (zh) | 一种基于sm9签名的无证书签名生成方法及装置 | |
CN115174053B (zh) | 一种基于sm9算法的可否认环认证的签名生成方法及装置 | |
CN113972987B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |