一种基于SM9数字签名的批量验证方法和系统技术方案

技术编号:27109199 阅读:35 留言:0更新日期:2021-01-25 19:02
本申请提供了一种基于SM9数字签名的批量验证方法和系统,该方法包括:获取待签名消息以及待签名消息对应的签名者的身份标识;基于可信密钥生成中心获取系统公钥和签名者私钥;基于系统公钥、身份标识和签名者私钥生成待签名消息的数字签名,并将数字签名以消息签名对的形式表示;验证者对消息签名对进行批量验证。其中,验证者可以一次性完成多个SM9数字签名的有效性验证,极大地提高了SM9数字签名验证效率。证效率。证效率。

【技术实现步骤摘要】
一种基于SM9数字签名的批量验证方法和系统


[0001]本申请涉及数字签名
,尤其涉及一种基于SM9数字签名的批量验证方法和系统。

技术介绍

[0002]数字签名技术是一种伴随着信息网络技术的发展而出现的安全保障技术,通过网络技术手段代替传统的纸面签字或者盖章的功能,以实现防伪造、鉴别身份、验证信息是否被篡改和防抵赖的作用。数字签名一般为:发送者采用自己的私钥对消息进行签名而生成签名信息,并将签名信息随附消息发送给接收方;接收方在接收到消息和签名信息后,采用发送方的公钥验证签名信息是否正确,继而判断消息是否被篡改或者发送者身份是否为伪造。如何提高数字签名技术的安全性是当前研究的一大热点。
[0003]现有技术中提供了一种SM9标识密码算法,它是一种基于双线性对的标识密码算法,可以把用户的身份标识作为公钥并借以生成用户的私钥。SM9标识密码算法的应用与管理不需要数字证书、证书库或密钥库,主要用于数字签名、安全加密及密钥交换等。
[0004]然而本申请的专利技术人发现,传统SM9数字签名的验证效率与签名数量呈正相关关系,数字签名越多时需要花费的验证时间就越多,然而目前并没有一种可以批量验证SM9数字签名的方法,即现有技术存在验证数字签名时效率低的缺点。

技术实现思路

[0005]本申请提供了一种基于SM9数字签名的批量验证方法和系统,以解决现有技术验证数字签名时效率低的问题。
[0006]为了解决上述技术问题,本申请实施例公开了如下技术方案:
[0007]第一方面,本申请提供了一种基于SM9数字签名的批量验证方法,该方法包括:
[0008]获取待签名消息以及所述待签名消息对应的签名者的身份标识;
[0009]基于可信密钥生成中心获取系统公钥和签名者私钥;
[0010]基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,并将所述数字签名以消息签名对的形式表示;
[0011]验证者对所述消息签名对进行批量验证。
[0012]优选的,所述基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,包括:
[0013]S301、计算g=e(P1,P
pub
);
[0014]其中:
[0015]g表示乘法循环群G
T
中的元素;
[0016]e表示从G1×
G2到G
T
的双线性映射,G1为阶为素数N的加法循环群,G2为阶为素数N的加法循环群,G
T
为阶为素数N的乘法循环群;
[0017]P1表示群G1的生成元;
[0018]P
pub
表示可信密钥生成中心初始化的系统公钥;
[0019]S302、随机选取一个数r
i
∈[1,N-1],[1,N-1]为不小于1且不大于N-1的整数的集合;
[0020]计算并将w
i
转换为字符串;
[0021]其中:
[0022]w
i
表示乘法循环群G
T
中的元素g的r
i
次幂;
[0023]S303、计算L
i
=(r
i-h
2i
)mod N
[0024]其中:
[0025]L
i
表示整数集合[1,N-1]中的元素;
[0026]h
2i
为中间变量,且
[0027]h
2i
=H2(M
i
||ID
i
||w
i
,N)
[0028]其中:
[0029]H2为由密码杂凑函数派生的密码函数;
[0030]M
i
表示签名者U
i
分属的待签名消息,ID
i
表示签名者U
i
的身份标识;
[0031]若L
i
=0,则跳转到S302;
[0032]S304、计算S
i
=[L
i
]d
i
并将S
i
转换为字符串;
[0033]其中:
[0034]S
i
表示加法循环群G1中的元素;
[0035]d
i
表示签名者U
i
的签名者私钥;
[0036]S305、得到签名者U
i
的数字签名σ
i
=(w
i
,S
i
)。
[0037]优选的,所述签名消息以消息签名对的形式表示,所述消息签名对为:
[0038]{σ
i
,M
i
,ID
i
}
[0039]其中:
[0040]σ
i
为签名者U
i
的数字签名;
[0041]M
i
表示签名者U
i
分属的待签名消息;
[0042]ID
i
表示签名者U
i
的身份标识。
[0043]优选的,所述验证者对所述消息签名对进行批量验证,包括:
[0044]验证者基于预设的验证方法对所述消息签名对进行批量验证,所述预设的验证方法包括:
[0045]S501、校验w
i
是否为乘法循环群G
T
中元素;若不是,则判定所述消息签名对无效;
[0046]S502、校验S
i
是否为加法循环群G1中元素;若不是,则判定所述消息签名对无效;
[0047]S503、从整数集合[1,N-1]中随机选取n个数(v1,v2,...,v
n
);
[0048]S504、判断预设的验证条件是否成立;若成立,则判定所述消息签名对有效,若不成立,则判定所述消息签名对无效。
[0049]优选的,所述预设的验证条件为:
[0050][0051]其中:
[0052]e表示从G1×
G2到G
T
的双线性映射;
[0053]P2表示群G2的生成元;
[0054]P
pub
表示可信密钥生成中心初始化的系统公钥;
[0055]h
2i
为中间变量;
[0056][0057]其中:
[0058]S表示加法循环群G1中的元素;
[0059]h
1i
表示中间变量,且
[0060]h
1i
=H1(ID
i
||hid,N)
[0061]其中:
[0062]H1为由密码杂凑函数派生的密码函数;
[0063]hid表示可信密钥生成中心选择并公开的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SM9数字签名的批量验证方法,其特征在于,所述方法包括:获取待签名消息以及所述待签名消息对应的签名者的身份标识;基于可信密钥生成中心获取系统公钥和签名者私钥;基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,并将所述数字签名以消息签名对的形式表示;验证者对所述消息签名对进行批量验证。2.根据权利要求1所述的验证方法,其特征在于,所述基于所述系统公钥、所述身份标识和所述签名者私钥生成待签名消息的数字签名,包括:S301、计算g=e(P1,P
pub
);其中:g表示乘法循环群G
T
中的元素;e表示从G1×
G2到G
T
的双线性映射,G1为阶为素数N的加法循环群,G2为阶为素数N的加法循环群,G
T
为阶为素数N的乘法循环群;P1表示群G1的生成元;P
pub
表示可信密钥生成中心初始化的系统公钥;S302、随机选取一个数r
i
∈[1,N-1],[1,N-1]为不小于1且不大于N-1的整数的集合;计算并将w
i
转换为字符串;其中:w
i
表示乘法循环群G
T
中的元素g的r
i
次幂;S303、计算L
i
=(r
i-h
2i
)mod N其中:L
i
表示整数集合[1,N-1]中的元素;h
2i
为中间变量,且h
2i
=H2(M
i
||ID
i
||w
i
,N)其中:H2为由密码杂凑函数派生的密码函数;M
i
表示签名者U
i
分属的待签名消息,ID
i
表示签名者U
i
的身份标识;若L
i
=0,则跳转到S302;S304、计算S
i
=[L
i
]d
i
并将S
i
转换为字符串;其中:S
i
表示加法循环群G1中的元素;d
i
表示签名者U
i
的签名者私钥;S305、得到签名者U
i
的数字签名σ
i
=(w
i
,S
i
)。3.根据权利要求2所述的验证方法,其特征在于,将所述数字签名以消息签名对的形式表示,所述消息签名对为:{σ
i
,M
i
,ID
i
}其中:σ
i
为签名者U
i
的数字签名;M
i
表示签名者U
i
分属的待签名消息;
ID
i
表示签名者U
i
的身份标识。4.根据权利要求2所述的验证方法,其特征在于,所述验证者对所述消息签名对进行批量验证,包括:验证者基于预设的验证方法对所述消息签名对进行批量验证,所述预设的验证方法包括:S501、校验w
i
是否为乘法循环群G
T
中元素;若不是,则判定所述消息签名对无效;S502、校验S
i
是否为加法循环群G1中元素;若不是,则判定所述消息签名对无效;S503、从整数集合[1,N-1]中随机选取n个数(v1,v2,...,v
n
);S504、判断预设的验证条件是否成立;若成立,则判定所述消息签名对有效,若不成立,则判定所述消息签名对无效。5.根据权利要求4所述的验证方法,其特征在于,所述预设的验证条件为:其中:e表示从G1×
G2到G
T
的双线性映射;P2表示群G2的生成元;P
pub
表示可信密钥生成中心初始化的系统公钥;h
2i
为中间变量;其中:S表示加法循环群G1中的元素;h
1i
表示中间变量,且h
1i
=H1(ID
i
||hid,N)其中:H1为由密码杂凑函数派生的密码函数;hid表示可信密钥生成中心选择并公开的私钥生成函数识别符;其中:表示加法循环群G1中的元素。6.根据权利要求3所述的验证方法,其特征在于,还包括:验证者对所述消息签名对进行验证,验证方法包括:S501、校验w
i
是否为乘法循环群G
T
中元素;若不是,则判定所述消息签名对无效;S502...

【专利技术属性】
技术研发人员:杨文杰黄欣沂汪朝晖伍玮何德彪
申请(专利权)人:北京华大信安科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1