(高清版)GB∕T 38647.2-2020 信息技术 安全技术 匿名数字签名 第2部分:采用群组公钥的机制_第1页
(高清版)GB∕T 38647.2-2020 信息技术 安全技术 匿名数字签名 第2部分:采用群组公钥的机制_第2页
(高清版)GB∕T 38647.2-2020 信息技术 安全技术 匿名数字签名 第2部分:采用群组公钥的机制_第3页
(高清版)GB∕T 38647.2-2020 信息技术 安全技术 匿名数字签名 第2部分:采用群组公钥的机制_第4页
(高清版)GB∕T 38647.2-2020 信息技术 安全技术 匿名数字签名 第2部分:采用群组公钥的机制_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息技术安全技术匿名数字签名第2部分:采用群组公钥的机制国家市场监督管理总局国家标准化管理委员会GB/T38647.2—2020 I Ⅱ 1 2 36具有连接能力的机制 46.1概述 46.2机制1 46.3机制2 8 6.5机制4 7具有打开功能的机制 7.1概述 7.2机制5 228具有打开和连接功能的机制 8.1概述 8.2机制7 248.3机制8 附录A(规范性附录)对象标识符 附录B(规范性附录)密码杂凑函数 附录C(资料性附录)采用群组公钥的匿名签名机制的安全指南 附录D(资料性附录)撤销机制的比较 附录E(资料性附录)数值实例 附录F(资料性附录)机制5的正确性证明 I本部分为GB/T38647的第2部分。●删除了ISO/IEC18031和ISO/IEC18032;●用修改采用国际标准的GB/T38647.1代替了ISO/IEC20008-1。 ⅡⅢ1b)生成签名的过程;GB/T34953.2—2018信息技术安全技术匿名实体鉴别第2部分:基于群组公钥签名的机GB/T38647.1信息技术安全技术匿名数字签名第1部分:总则(GB/T38647.1—2020,ISO/IEC10118(所有部分)信息技术安全技术杂凑函数(Informationtechnology—Securitytechniques—Hash-functISO/IEC15946-1信息技术安全技术基于椭圆曲线的密码技术第1部分:通用要求(Infor-mationtechnology—SecuriISO/IEC15946-5信息技术安全技术基于椭圆曲线的密码技术第5部分:椭圆曲线生成(Informationtechnology—Securitytechniques—2Zp:[0,p-1]中整数的集圆曲线E上的点Q,其中Q=[n]P=P+P+…+P,是n个P的总和3名机制中,签名方的角色分割为带有限计算和存储能力的主4——抗碰撞密码杂凑函数应采用GB/T32905中规定的函数;6.2机制1——lp,k,lx,l,lg,lx,e:——a,ao,g,h,b,C₁,D,C₂,d',d₁,d₂,t',t₁,t₂,A,f,T₁,T₂,T₃,T₄,d₃,d₄,ds,t₃,t—x',α,β:[0,2≠-1]——W₁,W₂,w₃:[0,224p—1]内的整——c,c,c',c,c",c”:长度为k比特的整数;——r:长度为(2l,+1)比特的整数;——r₃:长度为[e·(lx+2l,+k+1——r₄,rs:长度为[e·(2l,+k)]比特的整数;——sg,s10:[-22p+le+k——H:输出k比特消息摘要的密码杂凑函数;5b)选择RSA模块满足n=pq,且p=2p'+1,q=2q′+1,这里p,q,p',q′都是素数并且p'和q′c)选择二次剩余模n的群组的随机数a执行以下步骤:1)在Zn*内满足gcd(g+1,n)=1和gcd(g-1,n)=1;d)在QR(n)内选择区别于a的随机数ao。群组公钥(n,a,ao,g,h,b),群组成员发布过程需要在主签名方和发布方之间建立一个安全的鉴别通信信道,如何建立该a)群组成员选取随机整数x'∈[0,2¹≠-1]。b)群组成员选取随机整数i∈[0,2n—1]。c)群组成员计算C₁=g'h⁸(modn)。d)群组成员通过以下步骤产生一个在基g和h下C₁的(x',r)知识证明U:1)群组成员选取随机整数t₁∈[0,2(x+k)-1];3)群组成员计算D=g'¹h¹²,D=g¹h'²(modn);4)群组成员计算c=H(gllh||C₁|D);5)群组成员计算s₁=t₁—cx';f)群组成员发布方从群组成员接收到C₁和U。群组成员发布方验证是否存在(C₁Ip)=1h)群组成员发布方验证知识证明U:1)群组成员发布方计算D′=g⁸¹h³²C₁⁴(modn);2)群组成员发布方计算c=H(gllh||C₁ⅡD′);3)群组成员发布方验证c=c,8₁∈[-24x+k,2tIx+k]-1],并且s₂∈[-22p+k+1,2=(2p+k+1)-1]。6o)群组成员计算v=(ax'+β)|2¹≠。1)群组成员发布方选取随机整数r'∈[0,2#(lx+k)-1];2)群组成员计算d'=a(modn);3)群组成员计算c′=H(allgllC₂Ild′);1)群组成员选取随机整数r₁∈[0,2Elx+k]-1];5)群组成员计算d₂=g(g')2h'³(modn),其中l=2×;6)群组成员计算c=H(allgllh|C₁C₂ld₁lld₂);7)群组成员计算s₁=r₁-c(x-2¹≠);9)群组成员计算s₃=r₃—car;1)群组成员发布方计算so=s'-c'2¹×;2)群组成员发布方计算t'=C₂'a*0(modn);3)群组成员发布方计算c"=H(allglC₂t);1)群组成员发布方计算t₁=(C₂/a¹)*a¹(modn),其中L=2≠;2)群组成员发布方计算t₂=(C₁“g⁸)'g*(g¹)²h³3(modn),其中l=2×;3)群组成员发布方计算c"=H(allgllh||C₁lC₂lt₁Ⅱt₂);4)群组成员发布方验证c"=c,s1属于[-2x+,2=(x+b)-1],s2属于[-2¹x+k,2(x+k)-1]并7cc)群组成员验证A⁴=aoa*(mode)群组成员计算T₁=Ab"1(modn);f)群组成员计算T₂=g"1h2(modn);h)群组成员计算T₄=f*(modn);p)群组成员计算d₁=T₁'/(a2b⁹)(modt)群组成员计算ds=fr²(modn);8a)验证方计算f=(Hr(bsn))²(modn);b)验证方计算t₁=ao*T₁-d'/(a*²-db°)(modn),其中L′=2E,L=2¹×;c)验证方计算t₂=T₂*1-d/(g⁸⁹h³10)(modn),其中I′=2E;d)验证方计算t₃=T₂fgh(modn);e)验证方计算t₄=T₃‘g*-d'h*(modn),其中I′=2E;f)验证方计算t₅=T₄*f*2-d(modn),其中L=2¹≠;g)验证方计算c'=H(allh)如果c′=c,s1在[-20+k,24e+k]-1],s2在[-2×+k,2t(Ix+k)-1],s3在[-2²p+k,2t(2p+k)-1],i)否则返回0(不正确)。有两个使用同一个连接基bsn计算的合法的签名o=(c,81,82,8g,84,8s,89,s10,T₁,T₂,T₃,T₄)和o′=(c',s1',s2',s₃',s4′,s₅',sg',s10',T₁',T₂',T₃',T₄),该连接过程执行下列步骤:如果T₄=T₄',输出1(已连接),否则输出0(未连接)。该机制撤销过程的细节参见参考文献[10]。在该机制中支持两个类型的撤销(私钥撤销和验证方——如果群组成员的签名密钥(A,e,x)被损坏,群组成员发布方或者验证方把x放进该类型撤销列表RL中;——给定一个使用连接基bsn计算的合法的签名o=(c,S1,S2,83,84,8₅,Sg,s10,T₁,T₂,一个该类型的撤销列表RL,验证方可以按照如下方式检查该签名的撤销:对于每一个x'∈RL,验证T₄≠(Hr(bsn))2x(modn)。如果验证失败,输出0(已撤销);否则输出1(有效)。——如果生成签名时使用连接基bsn,则验证方可以创建他自己的对应于bsn的撤销列表RL。如果验证方想要将签名σ=(c,81,82,S3,S4,s₅,sg,s10,T₁,T₂,T₃,T₄)的签名方放进黑名单,需要把T₄放入该类型的撤销名单RL中。——给定一个使用连接基bsn计算的合法的签名σ=(c,S₁,S2,S3,S4,85,Sg,s10,T₁,T₂,T₃,T₄)和6.3机制2——lm,ly,l,l',l,l,ln,l,,l,,lr,l。:9—t,t₂,rj:长度为(2l,+l,+ln+1)比特的整数;——t₁:长度为(l,+ln)比特的整数;—ro,r₁:长度为(l;+l,+ln)比特的整数;——r。.长度为(1.+L,+2l,+ln+——r,:长度为(1,+2l,+ln)比特的整数;—v',w:长度为(1,+l,)比特的整数;和群成员之间的交互协议来产生唯一的群组成员签名。在群组成员发布过程重新放置撤销的群组成员私钥。c)选取RSA模块n=pg使得p=2p'+1,q=2q'+e)在[1,p'·q']中选取随机整数xo,xi,x₂,x,xn,x;f)计算g=(g′)*mi)选取长度为Lr比特的素数r,使得I-1是p的倍数并且(T-1)/p不是p的倍数;j)选取随机数γ,其乘法阶模「的整数为p;k)输出如下:群组公共参数=(l,,l,,l.,I',l。,ls,lg,l,,l,,lr,L,H,Hr),群组公钥=(n,g',g,h,S,Z,R。,R₁,y,r,p),群组成员发布密钥=(p',q)。a)主签名方和群组成员发布方之间协商一个连接基bsn₁;b)辅助签名方计算J₁=(Hr(1|bsnj))F-1/PmodI并发送J₁给主签名方;c)主签名方验证(J₁)=1(modF);d)主签名方选择随机数f∈[0,p-1]或从它的密钥种子值导出f;e)主签名方计算f₁=f/2r;g)主签名方随机选取一个长度为(l,+lp)比特的整数v';h)主签名方计算U=(R₀fo·R₁A·S)modn;j)主签名方发送U和K,给辅助签名方,然后辅助签名方能k)主签名方随机选取两个长度为(l,+l,+ln)比特的整数r₀,r₁;1)主签名方随机选取一个长度(ln+2l,+ln)比特的整数r′;m)主签名方计算U′=(R₀r0·R₁r1·So′)modn;n)主签名方计算ry=r₀+r₁·2x;o)主签名方计算K₁′=(J₁)modT;p)签名方发送U'和K₁给辅助签名方;q)群组成员发布方选取随机数n₁∈{0,1}"并发送n1给辅助签名方;r)辅助签名方计算ch=H(n||R。||R₁SU||K,ⅡU'||t)主签名方选取随机数nr∈{0,1}⁶;u)主签名方计算c=H(chlnr);v)主签名方计算s,′=r,'+c·v',so=r₀+c·fo,s₁=r₁+c·f₁;w)主签名方发送(c,nr,80,81,s。)x)辅助签名方发送(c,nr,8o,81,s,)aa)群组成员发布方计算U′=(U-e·R₀*°·R₁*¹·So′)modn;bb)群组成员发布方计算t=so+s₁·2f;dd)群组成员发布方验证c=H(H(n||R。|ⅡR₁ⅡS||U|K,U′Kee)群组成员发布方随机选取长度为(l,-1)比特的v*;ff)群组成员发布方随机从[2<-1,2*-¹+2-¹]中选取一个素数e;gg)群组成员发布方计算v"=vhh)群组成员发布方计算A=(Z·U-¹·s-°")¹/epp)辅助签名方计算A'=(A′·(Z·Ug)主签名方计算K=(J)modT;j)主签名方计算T,'=(R₀r0·R₁r¹·Sw)modn;x)主签名方发送(c,nr,S。,so,s1)给辅助签名方;aa)辅助签名方输出群组签名σ=(J,K,T,c,nr,s。,so,81,s)。6.3.4验证过程输入消息m、连接基bsn、随机数ny∈{0,1}H、签名(J,K,T,c,nr,S/,8o,s1,s)以及群组公钥(n,g',g,h,S,Z,R₀,R₁,y,I,p),验证a)验证(J)=1modT和(K)=1modT;b)验证s。和s₁是长度不超过(ly+l,+ln+1)f)计算T′=(Z-e·T¹·R₀⁵·R₁¹·S°′)modn;i)如果J是由连接基bsn导出的,验证J=(Hr(1||bsn))F-D/emodT;j)撤销检查过程是可选的;k)如果以上任意的一个验证失败,输出0(无效),否则输出1(有效)。6.3.5连接过程给定两个签名σ=(J,K,T,c,nr,s。',so,81,se)和σ′=(J',K',T',c′,nr',s',so′,s₁',s),该连接过程执行下列步骤:如果J=J'和K=K',输出1(已连接),否则输出0(未连接)。6.3.6撤销过程该机制撤销过程的细节参见参考文献[10]。在该机制中支持两个类型的撤销(私钥撤销和验证方黑名单撤销)。私钥撤销既可以是全局撤销也可以是本地撤销。验证方黑名单撤销属于本地撤销。私钥撤销:——如果群组成员的签名密钥(fo,f₁,A,e,v)被损坏,群组成员发布方或者验证方计算f=fo+f₁·2,并把f放进该类型撤销列表RL中;——给定签名σ=(J,K,T,c,nr,Sv',5o,81,s)和一个该类型的撤销列表,验证方可以检查该签名的撤销如下:对于每一个f'∈RL,验证K≠(J)modT。如果验证失败,输出0(已撤销),否则输出1(有效)。验证方黑名单撤销:——如果生成签名时使用连接基bsn,并且验证方可以创建他自己的对应于bsn的撤销列表RL。如果一个验证方想要将签名σ=(J,K,T,c,nr,s,',so,s1,s)的签名方放进黑名单,则需要把K放入该类型的撤销名单RL中。——给定签名σ=(J,K,T,c,nr,s。',so,si,s)和一个该类型的撤销列表RL,验证方可以检查该否则输出1(有效)。6.4机制3——Q₁,Q₂,A,F,R,J,K,J',K',T,R₁,R₂,,R₃:G₁中的元素;—y,f,f',x,r,c,cn,a,b,rj,rz,ra,r6,sy,sz,8a,s,u,——n₁,ny,nr:长度为t比特的整数;——H₁:输出元素在Z,内的密码杂凑函数;——H₂:输出元素在G₁内的密码杂凑函数。a)选取一个大素数阶为p的非对称的双线性群组对(G₁,G₂)并且满足一个双线性函数e:G₁×b)选取G₁的生成元P₁。c)选取G₂的生成元P₂。d)选取两个密码杂凑函数H₁:{0,1}*→Zp和H₂:{0,1}*→G₁。如何去构建该密码杂凑函数的示例在附录B中给出。e)选取G₁中的随机元素Q₁,Q₂。f)在Zp*内选取随机整数y并计算W=[y]P₂。g)计算T₁=e(P₁,P₂),T₂=e(Q₁,P₂),T₃=e(Q₂,P₂)群组公共参数=(G₁,G₂,Gr,p,e,P₁,P₂,H₁,H₂),群组公钥=(Q₁,Q₂,W,T₁,T₂,T₃,T₄),群组成员发布密钥=y。群组成员发布过程需要在主签名方和发布方之间建立一个安全的鉴别通信信道,如何建立该a)从Zp*中选取两个随机数f,x或者从密钥种子值导出;b)计算A=[1/(x+y)](P₁+[f]Q₁);e)签名方计算F=[f]Q₁和R=[r]Q₁;f)签名方计算c=H₁(pllP₁|P₂lQj)群组成员发布方验证c=H₁(pllP₁ⅡP₂lQ₁lQ₂WF|Rb)计算K=[f]J;f)计算R₁=[ry]J;g)计算R₂=e(A,P₂)-r·T₂h)计算c=H₁(H₁(pP₁ⅡP₂IlQ₁lQ₂||WJ|i)计算sy=(r,+c·)modp,sz=(r₂+c·x)modp;j)计算sa=(ra+c·a)modp,s,=(r,+c·b)modp;i)辅助签名方从Z,*中随机选取三个整数rz,ra,rs;p)主签名方计算发送(c,nr,sy)r)辅助的签名方输出匿名数字签名σ=(J,K,H₁(pllP₁lP₂IQ₁lQ₂IlWⅡJKⅡTllR₁IR₂IInv)。输入消息m、连接基bsn、签名(J,K,T,c,sj,Sx,saa)验证J,K,T是G₁中的元素;b)验证sy,Sx,Sa,s,是Z,中的整数;d)计算R₁=[sy]J-[c]K;f)验证c=H₁(H₁(pP₁|P₂IlQ₁lQ₂||WJ|K||T|R₁|R₂)|m);g)撤销检查过程(可选);h)如果以上的任意一种验证失败,输如果J=J'且K=K',输出1(连接),否则输出0(非连接)。名单撤销和签名撤销)。私钥撤销和签名撤销既可以是一个全局撤销也可以是一个本地撤销。验证方——如果群组成员的签名密钥(f,A,x)被损坏,群组成员发布方或者验证方把f放进该类型撤销——给定签名σ=(J,K,T,c,n,Sj,Sx,8a,sp)和一个该类型的撤销列表,验证方可以对于每一个f'∈RL,验证是否满足K≠[f']J。如果验证失败,输出0(已撤销),否则输出1(有效)。——如果生成签名时使用连接基bsn,并且验证方可以创建他自己的对应于bsn的撤销列表RL。如果一个验证方想要将签名σ=(J,K,T,K放入该类型的撤销名单RL中。——给定签名σ=(J,K,T,c,nr,Sj,Sx,sa,sn)和该类型的撤销列表RL,验证方可以对于每一个K'∈RL,验证K≠K'。如果验证失败,输出0(已撤销);否则输出1(有效)。——如果群组成员发布方或验证方确定签名σ=(J,K,T,c,nr,8f,Sx,Sa,s₆)是由恶意的签名方销列表RL中。——为了执行撤销检查,签名方需要使用零知识证明去证明他之前没有创建RL内的任何(J',a)签名方从Zp中选取随机整数u;c)签名方计算T=[u]K'+[v]J'。如果T=OE,证明已撤销;d)签名方从Zp*中选取随机整数r,,ro;e)签名方计算R₁=[r,]K+[r,]J和R₃=[r,]K′+[r,]J';f)签名方计算c=H₁(pllP₁J||KⅡJ'||K'|T|R₁||R₃llm);g)签名方计算sm=(r,+c·u)modp和s,=(r,+c·v)modp;i)验证方验证T∈G₁并且sm,s,∈Zp;j)验证方验证T≠OE;k)验证方计算R₁=[s.]K+[s,]J、R₃=[s,]K'1)验证方验证c=H₁(pllP₁ⅡJ|KⅡJ'||K'|ⅡT||R₁|R₃Ilm);6.5机制4——Q₂,U',A,B,C,D,R,S,T,W,J,K,R₁,R₂,C':G₁—x,y,f,u,v,w,v',l,c,r,h,s,x',β:Z—nj,ny,nr:长度为t比特的整数;——H₁:输出元素在G₁内的密码杂凑函数;——H₂,H₃,H₄:输出元素在Z,内的密码杂凑函数。c)选取G₁的生成元P₁。g)计算X=[x]P₂和Y=[y]P₂。e)主签名方从Z,选取u并计算U=[u]P₁。j)群组成员发布方计算v′=H₂(P₁ⅡQ₂|U′|X||Y|n₁)。输入群组公钥(X,Y),群组成员签名密钥(f,A,B,a)主签名方拥有群组成员私钥f,同时辅助签名方拥有(A,B,C,D);b)如果bsn=⊥,从G₁中选取随机元素J,计算J=H₁(bsn);c)辅助签名方从Z,中选取随机整数l;d)辅助签名方计算R=[1]A,S=[1]B,T=[1]C和W=[1]D;e)辅助签名方计算c=H₃(R||S|TⅡW|ny);g)主签名方计算K=[f]J;i)主签名方Z,中选取随机整数r;j)主签名方计算R₁=[r]J和R₂=[r]S;k)主签名方计算h=H₄(cllml|J||K||bsn||R₁|R₂|nr);1)主签名方计算s=(r+h·f)modp;n)辅助签名方输出该匿名签名σ=(R,S,T,W,J,K,h,s,ny,nr)。输入消息m、连接基bsn、随机数ny∈{0,1}'、签名(R,S,T,W,J,a)如果bsn≠⊥,验证J=H₁(bsn);b)验证e(R,Y)=e(S,P₂)和e(R+W,X)=e(T,P₂);c)计算R₁=[s]J-[h]K;d)计算R₂=[s]s-[h]W;e)验证h=H₄(H₃(R||S||T||W|nv)||mllJ||K||bsn||R₁ⅡR₂|lnr);h)如果以上的任意一项验证失败,输给定两个签名σ=(R,S,T,W,J,K,h,s,ny,nr)和σ'=(R',S',T',W',J',K',h',s',nv',nr),如果J=J′且K=K',输出1(连接),否则输出0(非连接)。该机制撤销过程的细节参见参考文献[10],在该机制中支持四个类型名单撤销、签名撤销和证书更新),前三个撤销同6.4.6,证书更新撤销过程2)成员更新它的证书如(A,B,C′)。7.2机制5群组成员发布方建立过程由群组成员发布方执行下列a)选取一个RSA模块n=pip₂使得p₁=2p₁'+1,p₂=2p₂'+1,其中pi',p₂',pi,p₂都是素数群组公钥(gpk):(n,ao,a1,a₂,b,w),a)选取一个满足DDH假设并且阶为q的一个群组G;b)随机选取一个群组G的生成元g;d)计算Y₁=[y₁]g,Y₂=[y₂]g;群组成员发布过程在群组成员发布方(简称发布方)和用户之间U,执行下列步骤:a)用户U₁随机选取x'∈A,d)发布方随机选取随机数x;"∈A并发送给用户U;。e)用户U,验证x,"∈A。f)用户U;计算x;=(x;'+x;")mod2*和(A,',h;)=(a₁modn,[x;]g),用户U₁将它与正确h)发布方选取一个素数e;'∈{0,1}K,其中e,=2Ke-¹+e;'也是素数。i)发布方计算A;=(a₀A;)¹/eimodn和B,=b¹/e′modn。j)发布方存储(i,(A;,e;',B,h;))到成员列表LIST。k)发布方发送(A,,e;',B₁)给用户U。m)用户U;验证aoa₁=A;°和b=B₁⁴modn。n)用户U₁存储(A,ei',B,h;)作为它的群组成员证书并且x;作为它的群组成员私钥。U₁的群输入群组公钥gpk=(n,ao,a1,a₂,b,w)、群组成员证书(A;,e;',B,h;)、群组成员私钥x;、由验证方认可的群组成员打开方公钥opk=(q,g,Y₁,Y₂)以及未签消息M∈{0,1}*,签名过程由签名方U;执a)选取pe∈Z,并计算E=(E₀,E₁,E₂)=([pE]g,h;+[pE]Y₁,h;+[pE]Y₂)。b)随机选取pm∈{0,1}Ka/2并计算Acom=A;a₂²mmodn和s=e;pm,其中e;=2Ke-¹+e;'。c)随机选取p,∈{0,1}K"/2并计算Bcom=B;wmodn和t=e,'p,。e)计算VcomCphe=(Vcom(pbeo,VcomCipberl,Vcom(ple2)=([μE]g,[μ,]g+[μE]Y₁,[μr]g+[μE]Y₂)。f)计算VcomMPK=a₁"*a₂"Acommodn。g)计算VcomRey=w"Bcom-”'modn。h)计算c=H(K,|K,ⅡK.|K|K.ⅡK,Ilgpkllopk|i)计算t,=cx,+μa,t,=cs+μ,,t,=ct+μ,,t=ce;'+μ/,Te=cpr+μpmodq。k)输出σ=(E,Acom,BcoM,c,Tx,T,,t,,t,,te)作为对消息M的签名。b)计算t.=t+c·2K-1,V'comCipher=(V'ComCphero,V'comCpherl,V'ComCipher2)=([re]g-[c]E。,[r,]g+[rE]Y₁-[c]E₁,[t,]g+[re]Y₂-[c]E₂),V'comMPk=a₀*a₁⁴a₂AcommoV'comRev=b*w⁴Bcom⁻modn;a)计算S₁=E₁-[y₁]E₀和S₂=E₂-[y₂]E。。验证S₁=S₂并且设置h=S₁;b)在成员列表LIST内搜索h并输出对应的用户ID;a)计算b¹=b¹/modn;b)更新群组公钥gpk为(n,ao,ab)计算B,'=B,"b⁸modn并用(A,,e',B,',h)替换mpk;。c)随机选取G₁的生成元P₁,Q₁,R₁。d)随机选取G₂的生成元P₂。e)随机选取G₃的生成元P₃。h)计算X=[x]P₂,S=[s]P₃g)签名方随机选择f'和u'并计k)签名方计算r=fc'+f'modp和q=uc'+u'modp。n)群组成员发布方从Z,中选择随机整数y和v。o)群组成员发布方计算A=[1/(x+y)](P₁-U-[v]R₁)。p)群组成员发布方将(A,y)作为签名方的群组成员凭证并发送给签名方。q)签名方计算z=u+v,并将(A,y)作为群组成员凭证。r)签名方验证e(A,X+[y]P₂)·e([f]Q₁,P₂)·e([z]R₁,P₂)=e(P₁,P₂)。t)签名方的群组成员签名密钥为(f,A,y,z)。b)签名方从Z,中随机选取g和h;c)签名方计算B=A+[h]R₁,Z=[f+g]P₃,V=[g]S和W=[g]T;d)签名方从Z,中随机选取a,b,j,n和o;f)签名方计算c=H(pllP₁|P₂lP₃ⅡXⅡS||TⅡQ₁ⅡR₁ⅡB|ZⅡV|W||YV′||W′Ⅱg)签名方计算f′=cf+amodp,y'=cy+bmodp,z′=c(z-hy)+jmodp,h′=—ch+nmodp和g′=cg+omodp;h)签名方输出群组签名σ=(B,Z,V,W,c,f',y',z',h',g′)。输入消息m、签名σ=(B,Z,V,W,c,f',y',z',h',g′)以及群组公钥(P₁,Q₁,R₁,P₂,P₃,X,S,a)计算Y=e(Q₁,P₂)·e(B,[y']P₂+[c]X)·e(R₁,P₂)·e(R₁,X)·e(P₁,P₂)*,Z′=[f'+g']P₃-[c]Z,V′=[g']s-[c]V和W′=[g]T-[c]b)验证c=H(pllP₁ⅡP₂ⅡP₃IⅡXⅡS|T|Q₁R₁ⅡB|ZⅡV|WⅡYⅡV'l|W'l|Z'llm)c)如果以上验证失败,输出0(有效),否则输出1(无效)。给定签名σ=(B,Z,V,W,c,f',y',z',h',g'),打开过程执行下列步骤:b)计算W=Z-[1/s]V;c)输出W。a)群组成员发布方收到一个已撤销的签名方群组成员证书(A,y);b)群组成员发布方计算Q₁=[1/(x+y)]Q₁,P₁=[1/(x+y)]P₁和R₁=[1/(x+y)]R₁;c)群组成员发布方发送(y,Q₁,P₁,R₁)给每一个签名方;[z]R₁)并设它的群组签名密钥为(f,A',y,z);e)每一个签名方设置群组公钥为(P₁,Q₁,R₁,P₂,Pg,X,S,T)。8具有打开和连接功能的机制8.1概述从群组签名中验证签名方的身份。还有一个实体称为群组签名连接方,它可以确定两个签名是否一个群组成员创建。机制8用于GB/T34953.2—2018中的匿名实体鉴别机制。8.2机制7——Q,Q₁,Q₂,U,W,D,V,A,Z,W,Q₁',Q₂',U',W',D',Ã,D₁,D₂,D₃,R₁,R₂,R₃,Wopn,Vpen,Y₁.,Y².,,X1.,X2.,Si,,S2.;,S₃.,,S4.,,Ss,;:G₁中的元素;——L₁,L₂,L₃,L₄,LA,L₁',L₂',L₃',L₄':Gr中的元素;—η,ξ,0,x,y,z,rip,Cm,8ip,α,Y,r。,rz,ry,ry,c,S。,8y,Sy+sy,Coen·Sopen,x₁,x2,x;,0;:Z,中——H,:输出元素在Z,*内的密码杂凑函数。过程和撤销过程。证据评估过程用来验证打开过程产生的绑定证据的合法性群组公钥gpk和它对应的群组成员发布密钥gmik,群组成员打开密钥gmok和群组签名连接密钥gslk。产生群组公共参数过程如下:a)产生三个阶为p的素数群组G₁,G₂,Gr和一个双线性映射e:G₁×G₂→Gr。假设群组是乘b)选取B₁<G₂和Q₁,Q₂,Q,U-G₁。c)选取一个密码密码杂凑函数Hp:{0,1}*→Zp,其中H,(M)是消息M∈{0,1}'的散列码。b)计算W=[η]U,D=[5]U,B₀=[0]B₁,V=[5]B₁;c)计算L₁=e(W,B₁),L₂=e(W,Bo),L₃=e(Q₁,B₁)和L₄=e(Q₂,B₁);a)选取随机群组成员私钥sk=b)选取rn<Zp*并计算W=[r₁p]W;d)计算s=rp+cmz(modp);f)发送(Join_Request,ID2)检查是否满足cp=H,(IDⅡW|ZⅡ[s₁p]W-[c₁p]Z)。c)检查LIST[i]=(ID,·,·,·,·,·,·)中的ID是否包含在成员列表LIST=(LIST[1],2)计算A=[1/(0+x)](Q₁-[y]Q₂-Z)(=[1/(0+x)](3)增加LIST[n+1]=(ID,[y]Q,A,x,y,upk[i]=Z(=[z]W),T₁p)2)计算A=[1/(θ+x)](Q₁-[y]Q₂-Z)(=[1/(0+x)](Q₁-[y]Q₂-[3)用新的LIST[i]=(ID,[y]Q,A,x,y,upk[i]=Z,Tu)代替之前的LIST[i]。钥usk=(k,x,y,z,A)和一个已更新的群组成员签名密钥uska=(λ,x,y,z,Ã),其中Ã已经是第λ次RI的注册c)计算D₁=[a]U',D₂=Ã+[a]W',D₃=[y]Q+[a]D';e)选取r,rx,ry,r,<Zp;g)计算R₂=e(D₂,B₁)*e(W',B₀)-ree(W',B₁)-re(Q₂',B₁)>;i)计算c=H,(M|λ||D₁ⅡD₂ⅡD₃IⅡRj)计算sa=ra+ca(modp),sx=r,+cx(modp),sy=ry+cγ(modp),sy=r,+cy(modp);a)调用gpk,(p,RL)更新撤销的gpk,并获取gpk。=(Q₁',Q₂',U',W',D',(L₁',L₂',L₃',L₄));b)计算R₁=[s.]U′-[c]D₁;c)计算R₂=e(D₂,B₁)*e(W′,B₀)⁻e(W′,B₁)-*ve(Q₂',B₁)(e(D₂,B₀)/e(Q₁',B₁))°;d)计算R₃=[s,]Q+[sa]D′-[c]D₃;e)检查等式c=H,(MⅡpllD₁Ⅱ8.2.5打开过程群组成员打开过程输入签名σ=(p,D₁,D₂,D₃,c,Sa,Sa,Sy,s,)和群组成员打开密钥gmok=(η,5),a)计算[y]Q=D₃-[∈b)从成员列表LIST找到对应i的LIST[i]=(ID,[y]Q,A,x,y,upk[i]=Z(=[z]W),·)。c)如果没有相匹配的i,输出(i=0,*)。否则,执行如下过程:2)计算Kpen=[η]D₁,Wopn=[r]U,Vopn=[r]D₁,Copn=H,(σllgllKopenlWopenIIVopen)3)输出一个绑定证据(i,t=(Kopn,Copen,Sopen),upk[i]=Z,Y₁.;=[y;]Q₂,Y₂,=[y;]B₁,X1.;=[x;]Q,X2,=[x;]B4)如果使用该绑定证据的证据评估过程输出为1,输出用户ID对应为i。8.2.6证据评估过程证据评估过程输入群组公钥gpk、签名σ=(p,D₁,D₂,D₃,c,sa,Sx,sy,sy)、绑定证据(i,t=a)调用gpk,(p,RL)更新撤销的gpk,并获取gpkp=(Q₁',Q₂',U',W',D',(L₁',L₂',L₃',L₄));b)如果i=0,那么输出上(失败)。否则,检查是否下列等式成立:Copen=H,(ollgllKopnll[sopen]U-[copen]WIⅡ[sopen]D₁-[c等式成立,则输出1(有效);否则输出0(无效)。8.2.7连接过程群组签名连接过程输入两个签名σ和o',群组签名连接密钥gslk=(B₁,V=[E]B₁),则执行过程如下:a)计算LI₁=e(D₃,B₁)e(D₁,V)-¹和LI₂=e(D₃',b)如果LI₁=LI₂,则输出1(连接),否则输出0(非连接)。8.2.8撤销过程RI是撤销指数列表,它包含目前已撤销群组成员的所有指数。无论何时密钥被撤销,RI都能马上将它更新进去。RL是一个包含目前已撤销群组成员隐私信息的列表。假设RL总是更新到最新的撤销指数RI。任何人都可以公开的使用RL和RI。列表RI和RL的初始设置为空。该撤销过程是一个全局撤销。它执行三个子过程:产生RL(由发布方执行)、更新gpk(由任意一方执行)和更新usk(由合法签名方或群组成员执行)。a)假设RI={j₁,…,ja}已给定,让LIST[i]=(ID,[y;]Q,A,xi,y;,·,·)在成员列表LIST中。定义vA=(0—x,₁)(0—x;₂)…(θ—x;)(modp);b)对于每一个j∈RI,执行如下动作:1)计算S₁,;=[1/o;]Qc)公开RL={(S1,j,S2.;,S₃,,S₄,,Ss,j,x;)lj∈RI={j₁,…,ja}}。jp}};3)计算L₁′=e(W′,B₁),L₂=e(W′,Bo),L₃=e(Q₁',B₁)和L₄′=e(Q₂',B₁);4)输出一个更新的群组公钥gpkp=(Q₁',Q₂',U',W',D',(L₁',L₂',L',L₄))。更新usk:a)输入usk=(k,x,y,z,A);b)计算gpkx,通过使用(gpk,(-1,RL))更新gpk;d)计算Ã=[(-1)²-*/πa-k]A+(II,≤RI(w,a)[(-1)A-*-iπ;-1/πa-k](S,+[-y]S₂,+[-x]——x',e₁,e2,C₁,8₁,t₁,c₂,a',0,f,f',x,y,c,v,w,e,e',s,a,u,r,r',c+,e+,e*,t,t+:Z,b)选取G₁中的随机生成元P₁。c)选取G₂中的随机生成元P₂。d)选取两个密码杂凑函数H:{0,1}*→G₁、H₁:{0,1}*→Zp。密码杂凑函数的选取见附录B。e)选取Zp中的随机数x,y。f)计算X=[x]P₂和Y=[y]P₂。1)群公共参数:G₁,G₂,Gr,i,P₁,P₂,p,H,H₁;b)选取G₁中的一个元素W,计算Q=[a-1]W和V=[β-1]W;1)群组成员打开方公钥:opk=(Q,V,W);a)群组成员发布方选取随机数n,<{0,1}';b)群组成员发布方发送n₁给主签名方;c)主签名方从Z,中随机选取一个群组成员私钥f,或者由密钥种子值导出f;d)主签名方计算F=[f]P₁;e)主签名方从Z,中选取u并计算椭圆曲线上的点U=[u]P₁,U由(xu,yu)表示;f)主签名方计算e=H₁(PK||P₁F||n₁);g)主签名方计算v=e+xumodq和w=(1+f)-¹·(u-v·f)modq;i)群组成员发布方计算t=v+wmodq;j)群组成员发布方验证是否满足t≠0,如果t=0即验证失败,则k)群组成员发布方计算(x'u,y'u)=[w]P₁+[t]F;1)群组成员发布方计算e¹=H₁(PK|P₁|Fn₁);m)群组成员发布方计算v¹=e'+x'umodq;o)群组成员发布方从Z,中选取随机数r,计算A=[r]P₁,B=[y]A,C=[x]A+[r·xy]F,D=[r·y]F;p)群组成员发布方从Z,中选取随机数a′并计算h=r·y;q)群组成员发布方计算R₁=[a']P₁,R₂=[a']F;r)群组成员发布方计算e*=H₁(P₁|B||D||F);s)群组成员发布方计算c=e*十xr₁+xr₂modq;t)群组成员发布方计算s=(1+h)-1·(u)群组成员发布方发送A,B,C,D,c,s给辅助签名方;v)辅助签名方验证e(A,Y)=t(B,P₂);w)辅助签名方验证e(C,P₂)=t^(A+D,X);bb)辅助签名方计算e+=H₁(P₁ⅡB|D||F),c+=e++xr₁++xr₂+;cc)辅助签名方验证是否满足c=c+;dd)如果不相等即验证失败,则丢弃此过程;a)主签名方拥有群组成员私钥f及参数F,关系式为F=[f]P₁,同时辅助签名方拥有(A,B,b)辅助签名方从Z,中选取随机数r';c)辅助签名方计算A'=[r']A,B'=[r']B,C'=[r']C,D'=[r']D;d)如果bsn≠⊥,计算J=H(bsn),否则返回失败;e)辅助签名方发送J给主签名方;g)主签名方发送F给辅助签名方;i)辅助签名方计算C₁=[r.]Q,C₂=[rp]V,C₃=[ra+rg]W+F;j)主签名方从Z,中选取随机整数a;k)主签名方计算R=[a]J,(xk,yr)<-R;m)主签名方计算c₁=e₁+xpmodq;n)主签名方计算s₁=(1+f)-1·(a¹-c₁·f)modq;p)辅助签名方输出匿名签名σ=(A',B',C',D',K,J,C₁,C₂,C₃,c₁,81,nv)。b)验证J=H(bsn);c)如果Vf'∈Roguelist且K=[f']J,返回失败;d)验证i(A',Y)=i(Be)计算e₂=H₁(JⅡKⅡbsn||m'llny);f)计算t₁=c₁+s₁modq;给定一个签名o=(A',B',C',D',K,J,C₁,C₂,C₃,c₁,81,nv),群组成员打开过程由群组成员打a)计算F'=C₃-([a]C₁+[β]C₂),验证是否满足F¹=F,其中F=[f]P₁;给定针对已签名消息m'的两个签名σ=(A',B',C',D',K,J,C₁,C₂,C₃,c₁,s₁,ny)和σ¹=(A',B',C',D',K',J',C₁',C₂',C₃',c₁',s₁',nv'),2)验证是否满足J=H(bsn);4)验证f(A,Y)=f(B,P₂)和i5)计算e₂=H₁(J|K||bsn||m'|ln3)如果Vf"∈Roguelist且K′=[f"]J'成立,返回失败;4)验证i(A',Y)=i(B',P₂)和i(C',P₂)=i(A'+D',X),如果两个验证中有其中之一8)否则计算(xk+,yk+)=[s₁]J+[t₁]K,c₂=e₂+xk+;c)如果J=J',K=K',则输出1(已连接);否则输出0(未连接)。撤销、签名撤销和证书更新),前三个撤销同6.4.6,私钥撤销和签名撤销既可以是a)群组成员发布方从Z,中选取随机数x';1)发布方计算C-=[0]C,并发送C-给成员;GBAnonymousSignatureUsiso(1)member-body(2)cn(156)bwips(11235)GB/T38647(38647)GB/T38647.2(2)asnl-module(1)mechanisms-using-group-puFROMDedicatedHashFunctiiso(1)standard(0)hash-functions(10118)part(3)asnOID::=OBJECTIDiso(1)member-body(2)cn(156)bwips(11235)GB/T38GB/T38647.2(AnonymousSignature::=SEQUalgorithmALGORITHM.&.id({ASAlgorithms}),parametersALGORITHM.&.Type({ASAlgorithms}{@algorithm})OPTIONALgbas-gpk-m-3ALGORITHM::={gbas-gpk-m-4ALGORITHM::={gbas-gpk-m-6ALGORITHM::={--CryptographicalgoriEND--CAnonymousSignatureUsingGr则值m;定义为m=2¹-¹x₁-1+2c)对于从0~(k/h-1)的i,使得T=T||H(m|I2BSc)返回hmodp。e)设h=H(I2BSP(p,plen)|ⅡI2BSP(mlen,128)|ⅡI2BSP(i,128)g)如果BS2IP(z)<p,输出BS2IP(z)并停止进程;h)由1~i,如果i<2³2,则回到e),否则返回“Fail”。让E是在明确给定的素数域F,上的椭圆曲线。HBS2ECP是一个密码函数,它能把一个串m杂凑成E上的点它包括下列步骤:b)设I2ECP为一个能够将整数转换为ISO/IEC15946-1中椭圆曲线上的点的原语;e)由1~i。如果i<22,则回到c),否则返回“Fail”。C.1.1总则sionalDiffie-Hellman)假设(参考文献[2]),SDH((Lysyanskaya-Rivest-Sahai-Wolf)假设(参考文献[18])和静态DH(StaticDH)假设(参考文献[8])。机制1√√√√√√√√√√√√√√√√√√强RSA假设下列问题很难解决:给定随机选取的RSA系数n和Z,*中的随机数z,存在e>1C.1.3DDH(判定性DH)假设DDH假设是假设下列问题很难解决:给定循环群G的阶为p和三个元素g",g",z∈G,决定是否SDH假设下列问题很难解决:给定循环群G的生成元为g和阶为p。给定g,g²,g²,…,g⁴∈给定循环群G的生成元为g和阶为p,设g²和g>给定。假设一个oracle是用三元(a,a*,a*+y)解答问题s。其中a是G中的随机群组元素。设该oracle被称为下列问题s₁,s2,…,sm。LRSW假设i静态DH假设假定静态DH问题很难解决。设G是阶为p的循环群。给定g,h∈G满足h=gx,机制3、机制4、机制6、机制7、机制8都是使用双线性函数。产生好的双线性椭圆曲线方法在ISO/IEC15946-5中给出。对于80比特安全强度,160比特MNT曲线在ISO/IEC15946-5的附录C中C.2或160比特BN曲线在ISO/IEC15946-5的附录C中C.3中有推荐。对于112比特安全强度,224比特BN曲线在ISO/IEC15946-5的附录C中C.3中有推荐。对于128比特的安全强度,256比特BN曲机制6还是使用传统的椭圆曲线。产生伪随机椭圆曲线的方法在ISO/IEC15946-5中给出,该伪随机椭圆曲线的一个示例在ISO/IEC1594——机制1:对于112比特的安全强度,推荐下列参数:lp(1024比特),k(160比特),l(160比 机制2:对于112比特的安全强度,推荐下列参数:1.(2048比特),l,(104比特),L.(368比特),I'(120比特),l,(2536比特),l(8a)对于80比特的安全强度,选取160比特的双线性椭圆曲线和选取160比特t和p;b)对于112比特的安全强度,选取224比特的双线性椭圆曲线和选取224比特t和p;c)对于128比特的安全强度,选取256比特的双线性椭圆曲线和选取256比特t和p。—机制4:a)对于80比特的安全强度,选取160比特的双线性椭圆曲线和选取160比特t和p;b)对于112比特的安全强度,选取224比特的双线性椭圆曲线和选取224比特t和p;c)对于128比特的安全强度,选取256比特的双线性椭圆曲线和选取256比特t和p。 对于80比特的安全强度,推荐下列参数:K,(1024比特),K(160比特),K.(160比特),K——机制6:a)对于80比特的安全强度,选取160比特的G₁中的双线性椭圆曲线,160比特的G₃中的双线性椭圆曲线和选取160比特的p;b)对于112比特的安全强度,选取224比特G₁中的双线性椭圆曲线,224比特的G₃中的双线性椭圆曲线和选取224比特的p;GB/T38647.1介绍了使用群组公钥的匿名数字签名的三种不同的撤销验证方可以检查是否给定的签名是由列表中签名的签名方创建的。这样产生的列表中。表D.1给出全局撤销和本地撤销的机制的归类。√√√√√√私钥和验证方黑名单撤销的安全性证明在参考文献[4]的全文中给出证明。签名撤销的安全性证表D.2在匿名签名机制中使用的撤销选项机制√√√√机制机制3√√√√√√√机制5√√机制7√机制8√a)是全局的撤销或本地的撤销。b)是否成员证书需要更新。d)是否一个验证方在撤销检查需要执行额外的计e)是否可撤销群组成员私钥未知的成员。私钥撤销只有在群组成员私钥已经被公布的条件下执行。如果群组成员私钥不是已知的,那么该成员不能够在私钥g)是否撤销列表具体到特定的连接基。在验证方黑名单撤销,撤销列表具体到单个的连接基。如果创建一个群组签名使用一个不同的连接基,那么它不能够使用撤销列表撤销。对于私钥私钥签名全局更新成员证书否否否是否否是否是是是否否是是是私钥签名签名否是否不可用GB/T38647.2—2020(资料性附录)数值实例SHA-256被用做基础的密码杂凑函数。其输出将被截断以保持最小的主要的k比特位。Hr是附录B中B.2的HL函数。72E3DD15AA189A85D8169EE37864CA8774070EEOB9B6726805D9D61D2DA52D03478447C6FF5D297116B5F832C8FBB55A89BEE236A4856F2613DE553127F8AD43A1716E10009346F631509055D5148DE15C3E107FB3F14B7FA15D4F154E59ED8934B38A7831AD09971871689B7364B08E780EAED3DF0326A1204ABD56EF9853AF33D5CBC1C8A8A2AFC43261503ECF2DD837D20202678B4DC408AF9E5580433E61168CB3DD877C3F4CA4ED0F530B2519C8AA74B8E3E6322E7F96178AB8BB3C1FAFBC889B75DOCOE0383BC8F02881F63A9144DDCB2E39424CEF64CADB4D9BB08177B0B84BD698FB79FD7A45008B1E0843F34E39839E95304DC1F30A32FC5E1001AB16A37F3AA6988A13B6A878922BF5E5C30936F934068DBA39E8ECD30FB1FF4E5EDC6EC605EDDE227E3F4D54501B6CA69D5F572E2F56ABOEDC22A87AB7C67543C8D665451CF26AA403ADE92A9F13A34152C8041A9247518737D98C16092B47ECF4AB548A06FE859CF811E7AE729035ADA22244C273BF27F5C3C3E457881E4BE7F522FD0A2D08ED4AEB51EBAAEC97155F7E430083955F8A16102127706C2A877D1B1325589D1916681056D5BE2A7B5g=466402AFB01C8AEO74BA7E6D3FCC093625EAF074F723F3BED8E552E625C334C6BCA1795803C018B4B8B9F973FC674192271D3C64C75007861325579A63EC60A7DBCF23C921E5B74CE2D36F824562D405FC8C797EF97D653BAFD1155B6A6937A62A079099FA116ACD068BEC7AE2215010B13C4A93545BD9A55ABD123491F173DC175BBA35558B5A9B4311F9685EA6552DOD78A4BA800C12ED12FAC8458B7B7FB26623C402ECFCO8E2528183D55DDC1AD1EDCF645C66ADD64BE6EF8953F7690C41E56432110982D6FE27601EE88404081F6010CBDCE9C1C8E7276A2304A0E06644649BF8CF938313AE7F8494F91BD3AF2472EF3E89B1D124581002FOB4124EF15AD5FB55EFD78AF8DCE73109E4DE7504EB458193A828A8F1022FED61D70D02C6F6C805BOEOC715468D269CCD8809A16F4C54154C3FCOA1C7C715150C7DODF108DF8A0528FE4EC7A155D47D6000F010AB6C34

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论