基于SM2数字签名算法的双环签名生成方法及系统技术方案

技术编号:35520716 阅读:63 留言:0更新日期:2022-11-09 14:39
本发明专利技术涉及一种基于SM2数字签名算法的双环签名生成方法,能够有效降低计算复杂度和通信复杂度,二者均可由原先单环结构的降低到。本发明专利技术还具备了环签名的无条件匿名性,可在随机谕言模型下进行证明。可在随机谕言模型下进行证明。可在随机谕言模型下进行证明。

【技术实现步骤摘要】
基于SM2数字签名算法的双环签名生成方法及系统


[0001]本专利技术属于信息安全
,具体涉及一种基于SM2数字签名算法的双环签名生成方法及系统。

技术介绍

[0002]随着网络的发展,用户需要通过网络传输数据,其中数字签名技术可解决数字通信过程面临的信息篡改、身份冒充等问题。虽然数字签名可提供真实性、完整性和不可抵赖性,但无法满足投票、征信、举报等特定场景的匿名需求。因此,Rivest等提出了环签名的概念,环签名除了具备数字签名的各种性质,还具有无条件匿名性,能够解决前述特定场景的身份隐私泄露问题。由于传统单环结构的环签名计算开销较大、通信复杂度较高,所以Tsz等提出了双环签名的设计方式。然而,现有的双环签名方案都是基于国际密码算法,难以满足我国密码技术安全高效、自主可控的要求

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种基于SM2数字签名算法的双环签名生成方法及系统,能够有效降低计算复杂度和通信复杂度,提高签名效率。
[0004]为实现上述目的,本专利技术采用如下技术方案:
[0005]一种基于SM2数字签名算法的双环签名生成方法,包括双环签名生成阶段和签名验证阶段;
[0006]所述双环签名生成阶段,设环内用户数量为n,环内用户公钥的集合为L={P1,P2,...,P
n
},公钥变量为其中第j个用户为签名者,对应的公钥为P
j
=d
j
·
G,私钥为d
j
,根据待签名消息M,获取消息M的签名σ=(r,R,π);
[0007]所述签名验证阶段,根据收到签名消息M

及其双环签名σ

=(r

,R

,π

),进行验证。
[0008]进一步的,所述双环签名生成阶段,具体为:
[0009]S1:对于i=j+1,...,n,1,...,j

1,随机产生计算
[0010]S2:计算
[0011]S3:计算r=((1+d
j
)
·
s+c
j
·
d
j
)mod q;
[0012]S4:据S1,计算P=R

r
·
G;
[0013]S5:计算其中其中
[0014]生成的签名σ=(r,R,π)。
[0015]进一步的,所述签名验证阶段,具体为:
[0016]V1:检验是否成立,若不成立则验证不通过;
[0017]V2:计算c

=H
z
(M

,L,R

);
[0018]V3:计算P

=R
′‑
r

·
G;
[0019]V4:检验是否成立,若成立则验证不通过;否则验证通过。
[0020]一种基于SM2数字签名算法的双环签名生成方法的系统,包括处理器、存储器以及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,具体执行如上所述的双环签名生成方法中的步骤。
[0021]本专利技术与现有技术相比具有以下有益效果:
[0022]1、本专利技术能够有效降低计算复杂度和通信复杂度,提高签名效率;
[0023]2、本专利技术具备了环签名的无条件匿名性,可在随机谕言模型下进行证明。
附图说明
[0024]图1是本专利技术方法示意图。
具体实施方式
[0025]下面结合附图及实施例对本专利技术做进一步说明。
[0026]在本实施例中,符号及定义如下:
[0027]q:q为素数且q>2
256

[0028]mod q:模q运算。例如,17mod5=2。
[0029]由整数1,2,...,q

1组成的整数集合。
[0030]Z
p
:由整数0,1,2,...,p

1组成的整数集合。
[0031]S
j
:第j个用户,在本专利技术中表示签名者。
[0032]V:验证者。
[0033]d
i
:用户i的私钥,且
[0034]阶为素数q的加法循环群,元素为椭圆曲线上的点。
[0035]G:加法循环群的基点。
[0036]u:加法循环群的生成元。
[0037]P:加法循环群的元素。
[0038]r
·
Q:加法循环群中元素Q的r倍。
[0039]P
i
:用户i的公钥,计算方式为P
i
=d
i
·
G。
[0040]L={P1,P2,

,P
n
}:环签名群体公钥,即n个用户的公钥集合。
[0041]param:SM2数字签名的系统参数生成算法中输出的系统公共参数与的生成元u组合而成的参数。
[0042]H
z
:任意长度比特串{0,1}
*
映射到整数集合Z
q
上的密码杂凑函数。
[0043]签名生成算法中产生的中间值。
[0044]由公钥所构成的向量。
[0045]π:由证明算法所计算出的证明参数。
[0046]NISA(Non

interactive Sum Argument):零知识证明中的非交互式总和参数算法。
[0047]非交互式总和参数算法中的证明算法,以输出证明出证明
[0048]非交互式总和参数算法中的验证算法,输出0\1以判断验证是否成功。
[0049]请参照图1,本专利技术提供一种基于SM2数字签名算法的双环签名生成方法,包括双环签名生成阶段和签名验证阶段;
[0050]双环签名生成阶段,具体如下:
[0051]设环内用户数量为n,环内用户公钥的集合为L={P1,P2,...,P
n
},公钥变量为其中第j个用户为签名者,对应的公钥为P
j
=d
j
·
G,私钥为d
j
。设待签名消息为M,为了获取消息M的签名(r,R,π),签名者S
j
实现以下运算步骤:
[0052]S1:对于i=j+1,...,n,1,...,j

1,随机产生计算
[0053]S2:计算
[0054]S3:计算r=((1+d
j
)
·
s+c
j
·
d
j
)mod q;
[0055]S4:据S1,计算P=R

r
·
...

【技术保护点】

【技术特征摘要】
1.一种基于SM2数字签名算法的双环签名生成方法,其特征在于,包括双环签名生成阶段和签名验证阶段;所述双环签名生成阶段,设环内用户数量为n,环内用户公钥的集合为L={P1,P2,...,P
n
},公钥变量为其中第j个用户为签名者,对应的公钥为P
j
=d
j
·
G,私钥为d
j
,根据待签名消息M,获取消息M的签名σ=(r,R,π);所述签名验证阶段,根据收到签名消息M

及其双环签名σ

=(r

,R

,π

),进行验证。2.根据权利要求1所述的基于SM2数字签名算法的双环签名生成方法,其特征在于,所述双环签名生成阶段,具体为:S1:对于i=j+1,...,n,1,...,j

1,随机产生计算S2:计算S3:计算r=((1+d
j
)
·
s+c
j<...

【专利技术属性】
技术研发人员:林超丰梦琪黄欣沂何德彪王晓虎
申请(专利权)人:福建师范大学
类型:发明
国别省市:

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

1