【技术实现步骤摘要】
一种支持成员资格撤销的SM9群签名生成与验证方法及系统
[0001]本专利技术属于信息安全
,涉及一种SM9群签名生成与验证方法及系统,具体涉及一种支持成员资格撤销的SM9群签名生成与验证方法及系统。
技术介绍
[0002]群签名是由Chaum和Van Heyst首次提出的,群签名方案允许群成员代表群签名消息,而无需透露其实际签名者身份,也不允许该签名值链接到其他可与同一公钥验证的签名值。群签名方案的参与者是一组群成员和一个群管理员。群管理员的作用是通过颁发包含注册详细信息的成员证书来注册新用户,并且在对签名消息有争议的情况下,通过“打开”签名来撤销签名消息的匿名性。群签名是提供隐私的最重要的加密原语之一,并已用于匿名凭证、身份托管、投票以及电子现金等应用。
[0003]传统的数字签名技术需要第三方证书颁发机构CA颁发公钥证书以证明公钥和身份之间的可信绑定关系。然而,这导致了用户量过大时复杂的证书管理问题。为解决这个问题,Shamir提出了基于身份的公钥密码体制,在该体制中用户身份作为公钥,用户私钥由私钥生成器PKG根据用户身份生成,Park等人首次提出了基于身份的群签名方案,该方案存在严重的问题,如果群发生变化,则其他成员签署的所有先前的群签名都将无效且群签名的长度取决于群成员的数量。
[0004]SM9标识密码算法是国家密码管理局于2016年3月28日发布的一种标识密码标准(标准表号:GM/T 0044
‑
2016SM9标识密码算法),主要包含三个部分:数字签名算法、公钥加 ...
【技术保护点】
【技术特征摘要】
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...
【专利技术属性】
技术研发人员:安浩杨,何德彪,包子健,彭聪,冯琦,罗敏,
申请(专利权)人:武汉大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。