当前位置: 首页 > 专利查询>武汉大学专利>正文

一种支持成员资格撤销的SM9群签名生成与验证方法及系统技术方案

技术编号:37871229 阅读:35 留言:0更新日期:2023-06-15 21:00
本发明专利技术公开了一种支持成员资格撤销的SM9群签名生成与验证方法及系统,包括设定公共参数、用户注册、群签名、验证签名、用户撤销、证据更新和列表检索等操作。本发明专利技术基于SM9数字签名算法的签名结构,消除了传统公钥密码体制中对证书的管理问题。它支持群签名成员资格撤销,群成员的变化不影响先前群签名的验签,且群签名长度与群成员数量无关。该方案弥补了基于SM9商用密码体系在群签名领域的空白,可用于匿名凭证、身份托管、投票以及电子现金等应用场景。用场景。用场景。

【技术实现步骤摘要】
一种支持成员资格撤销的SM9群签名生成与验证方法及系统


[0001]本专利技术属于信息安全
,涉及一种SM9群签名生成与验证方法及系统,具体涉及一种支持成员资格撤销的SM9群签名生成与验证方法及系统。

技术介绍

[0002]群签名是由Chaum和Van Heyst首次提出的,群签名方案允许群成员代表群签名消息,而无需透露其实际签名者身份,也不允许该签名值链接到其他可与同一公钥验证的签名值。群签名方案的参与者是一组群成员和一个群管理员。群管理员的作用是通过颁发包含注册详细信息的成员证书来注册新用户,并且在对签名消息有争议的情况下,通过“打开”签名来撤销签名消息的匿名性。群签名是提供隐私的最重要的加密原语之一,并已用于匿名凭证、身份托管、投票以及电子现金等应用。
[0003]传统的数字签名技术需要第三方证书颁发机构CA颁发公钥证书以证明公钥和身份之间的可信绑定关系。然而,这导致了用户量过大时复杂的证书管理问题。为解决这个问题,Shamir提出了基于身份的公钥密码体制,在该体制中用户身份作为公钥,用户私钥由私钥生成器PKG根据用户身份生成,Park等人首次提出了基于身份的群签名方案,该方案存在严重的问题,如果群发生变化,则其他成员签署的所有先前的群签名都将无效且群签名的长度取决于群成员的数量。
[0004]SM9标识密码算法是国家密码管理局于2016年3月28日发布的一种标识密码标准(标准表号:GM/T 0044

2016SM9标识密码算法),主要包含三个部分:数字签名算法、公钥加密算法、密钥交换协议。SM9标准满足电子认证服务系统等应用需求,并弥补了国产标识密码体制的空白。但是目前尚未提出基于SM9标识密码算法的群签名方案,导致在需要适配国密算法的应用系统中,缺少该功能型签名密码算法基础组件。

技术实现思路

[0005]为了解决上述技术问题,本专利技术提出了一种支持成员资格撤销的SM9群签名生成与验证方法及系统。
[0006]本专利技术的方法所采用的技术方案是:一种支持成员资格撤销的SM9群签名生成与验证方法,包括以下步骤:
[0007]步骤1:设定公共参数Params=(λ,P1,P2,P
pub
,G1,G2,G3,V0,Arc,Reg);其中,λ为安全参数,N阶循环子群及其生成元P1,N阶循环子群及其生成元P2,随机选取作为群主密钥,计算群主公钥P
pub
=[d]P2;公共列表Arc,由用户标识哈希值、用户注册状态、当前累加器值三部分组成,记为(H(ID
i
),b,V
i+1
),b为1表示添加注册用户H(ID
i
),b为0表示注销用户H(ID
i
);随机选择累加器值初始化为V0=[u]P1;公共列表Reg,存放已注册用户标识哈希值H(ID
i
)及其[H(ID
i
)]P2;密码杂凑函数;密码杂凑函数是由1,2,,

.,q

1组成的整数集合,q为一个大素数;其中,公共列表Arc上有j个条目;
[0008]步骤2:用户注册;
[0009]用户通过注册协议与群管理员之间进行通信,其中,用户为若干,每个用户都有唯一的身份标识ID,群管理员为一个可信群管理员,用户和群管理员之间的通信是私有的并且是经过身份验证;注册成功后,用户成为该群的授权成员;成员的输出是成员证书和成员秘密;
[0010]步骤3:群签名,输出m的签名σ;其中,m为待签名的消息;
[0011]其中,群主公钥P
pub
对用户i的标识哈希值x
i
进行Elgamal加密,得到C=(C1,C2),C1=[r]P2,C2=[x
i
]P2+[r]P
pub
;r表示Elgamal加密算法选择的随机数;
[0012]步骤4:验证签名;
[0013]验证者使用群公钥验证签名值σ是否成立;若成立,用群主密钥d解密C,即[x
*
]P
H
=C2‑
[d]C1;检索当前公共列表Reg,找出对应的用户身份H(ID
*
)。
[0014]本专利技术的系统所采用的技术方案是:一种支持成员资格撤销的SM9群签名生成与验证系统,包括以下模块:
[0015]模块1,设定初始化公共参数Params=(λ,P1,P2,P
pub
,G1,G2,G3,V0,Arc,Reg);其中,λ为安全参数,N阶循环子群及其生成元P1,N阶循环子群及其生成元P2,随机选取作为群主密钥,计算群主公钥P
pub
=[d]P2;公共列表Arc,由用户标识哈希值、用户注册状态、当前累加器值三部分组成,记为(H(ID
i
),b,V
i+1
),b为1表示添加注册用户H(ID
i
),b为0表示注销用户H(ID
i
);随机选择累加器值初始化为V0=[u]P1;公共列表Reg,存放已注册用户标识哈希值H(ID
i
)及其[H(ID
i
)]P2;密码杂凑函数H(
·
):):是由1,2,,

,q

1组成的整数集合,q为一个大素数;其中,公共列表Arc上有j个条目;
[0016]模块2,用于用户注册;
[0017]用户通过注册协议与群管理员之间进行通信,其中,用户为若干,每个用户都有唯一的身份标识ID,群管理员为一个可信群管理员,用户和群管理员之间的通信是私有的并且是经过身份验证;注册成功后,用户成为该群的授权成员;成员的输出是成员证书和成员秘密;
[0018]模块3,用于群签名,输出m的签名σ;其中,m为待签名的消息;
[0019]其中,群主公钥P
pub
对用户i的标识哈希值x
i
进行Elgamal加密,得到C=(C1,C2),C1=[r]P2,C2=[x
i
]P2+[r]P
pub
;r表示Elgamal加密算法选择的随机数;
[0020]模块4,用于验证签名;
[0021]验证者使用群公钥验证签名值σ是否成立;若成立,用群主密钥d解密C,即[x
*
]P2=C2‑
[d]C1;检索当前公共列表Reg,找出对应的用户身份H(ID
*
)。
[0022]本专利技术与现有技术相比具有如下优点和有益效果:
[0023]1.传统的数字签名技术需要第三方证书颁发机构CA颁发公钥证书以证明公钥和身份之间的可信绑定关系。然而,这导致了用户量过大时复杂的证书管理问题。为解决这个问题,本专利技术的方案基于身份密码体制。
[0024]2.已有文献提出基于身份的群签名方案,但是方案存在严重的问题,如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持成员资格撤销的SM9群签名生成与验证方法,其特征在于,包括以下步骤:步骤1:设定公共参数Params=(λ,P1,P2,P
pub
,G1,G2,G3,V0,Arc,Reg);其中,λ为安全参数,N阶循环子群及其生成元P1,N阶循环子群及其生成元P2,G1,G2,随机选取作为群主密钥,计算群主公钥P
pub
=[d]P2;公共列表Arc,由用户标识哈希值、用户注册状态、当前累加器值三部分组成,记为(H(ID
i
),b,V
i+1
),b为1表示添加注册用户H(ID
i
),b为0表示注销用户H(ID
i
);随机选择累加器值初始化为V0=[u]P1;公共列表Reg,存放已注册用户标识哈希值H(ID
i
)及其[H(ID
i
)]P2;密码杂凑函数H(
·
):):是由1,2,,

.,q

1组成的整数集合,q为一个大素数;其中,公共列表Arc上有j个条目;步骤2:用户注册;用户通过注册协议与群管理员之间进行通信,其中,用户为若干,每个用户都有唯一的身份标识ID,群管理员为一个可信群管理员,用户和群管理员之间的通信是私有的并且是经过身份验证;注册成功后,用户成为该群的授权成员;成员的输出是成员证书和成员秘密;步骤3:群签名,输出m的签名σ;其中,m为待签名的消息;其中,群主公钥P
pub
对用户i的标识哈希值x
i
进行Elgamal加密,得到C=(C1,C2),C1=[r]P2,C2=[x
i
]P2+[r]P
pub
;r表示Flgamal加密算法选择的随机数;步骤4:验证签名;验证者使用群公钥验证签名值σ是否成立;若成立,用群主密钥d解密C,即[x
*
]P2=C2‑
[d]C1;检索当前公共列表Reg,找出对应的用户身份H(ID
*
)。2.根据权利要求1所述的支持成员资格撤销的SM9群签名生成与验证方法,其特征在于,步骤2的具体实现包括以下子步骤:步骤2.1:用户i发送身份标识ID
i
∈{0,1}
*
给群管理员,请求加入群组;其中,{0,1}
*
表示长度为*的二进制字符串;步骤2.2:群管理员计算用户的私钥并发送给用户i;步骤2.3:用户验证是否成立以判断私钥的合法性;其中,双线性对e:?=表示判断等式两边是否相等;步骤2.4:若当前已知的群累加值是V
j
,群管理员计算一个新的群累加值V
j+1
=[(H(ID
i
)+d)]V
j
并添加元组(H(ID
i
),1,V
j+1
)到公共列表Arc上;群管理员计算[H(ID
i
)]P2,并添加元组(H(ID
i
),[H(ID
i
)]P2)到公共列表Reg上;步骤2.5:用户i将公共列表Reg上的V
j
作为自己的证据W
i
;步骤2.6:其他用户运行证据更新算法Update更新证据。3.根据权利要求1所述的支持成员资格撤销的SM9群签名生成与验证方法,其特征在于,步骤3的具体实现包括以下子步骤:步骤3.1:计算用户i的标识哈希值x
i
=H(ID
i
);步骤3.2:设置用户i的群私钥其中,为用户i的私钥,W
i
为用户i的证据;步骤3.3:用群主公钥P
pub
对x
i
进行Elgamal加密,得到C=(C1,C2),其中C1=[r]P2,C2=[x
i
]P2+[r]P
pub
;其中,r表示Elgamal加密算法选择的随机数;
知识签名由三部分组成,

用户i的证据W
i
证明x
i
确实在当前累加器值V中,

用户i的私钥合法,

密文C是由群主公钥P
pub
对x
i
进行Elgamal加密得到的;非交互式零知识证明非交互式零知识证明其中,m为待签名的消息;SOK表示知识签名;Enc(x
i
,r)为Elgamal加密算法,其中x
i
为加密的明文消息,r为加密算法选择的随机数;V表示当前累加器值;选取随机值计算A1=[r1]G1+[r2]G2+[r3]G3;A2=W
i
+[r1]G2;;α1=[r1]x
i
;α2=[r2]x
i
;α3=[r3]x
i
;π等价于π

,选取随机值计算T1=[k1]G1+[k2]G2+[k3]G3;T2=[k4]G1+[k5]G2+[k6]G3‑
[k7]A1;;T5=[k8]P2;T6=[k7]P2+[k8]P
pub
;ch=H(Params||A1,

,A3||T1,

,T6||m);s1=k1+ch
·
r1;s2=k2+ch
·
r2;s3=k3+ch
·
r3;s4=k4+ch
·
α1;s5=k5+ch
·
α2;s6=k6+ch
·
α3;s7=k7...

【专利技术属性】
技术研发人员:安浩杨何德彪包子健彭聪冯琦罗敏
申请(专利权)人:武汉大学
类型:发明
国别省市:

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

1