买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】可更新密钥的无证书多消息多接收者签密方法_西安电子科技大学_201810420018.5 

申请/专利权人:西安电子科技大学

申请日:2018-05-04

公开(公告)日:2021-06-08

公开(公告)号:CN108696362B

主分类号:H04L9/32(20060101)

分类号:H04L9/32(20060101);H04L9/30(20060101);H04L9/08(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.06.08#授权;2018.11.16#实质审查的生效;2018.10.23#公开

摘要:本发明公开了一种可更新密钥的无证书多消息多接收者签密方法,用于解决现有无证书多消息多接收者签密方法复杂的技术问题。技术方案是先由用户注册生成自己的公钥和私钥,当用户需要进行密钥更新时,则重新选择一个随机数,然后生成新的验证份额和密钥更新验证参数,然后通过公开信道将其发送给密钥生成中心KGC,密钥生成中心KGC收到后验证两者是否满足验证等式,若满足则将新的验证份额替换原来的验证份额,否则更新失败。当KGC更新了公钥后,用户计算并更新自己的私钥。在签密过程,对发送者的身份信息和明文一起加密,用发送者的私钥生成一个签名参数;当解密得到发送者的身份信息以后,再获取对应的公钥验证签名参数。方法简单实用。

主权项:1.一种可更新密钥的无证书多消息多接收者签密方法,其特征在于包括以下步骤:首先,密钥生成中心KGC根据系统安全参数η选取大素数q和一个有限域Fq,并选取一条在有限域Fq上的安全椭圆曲线E,选取P为密钥生成中心KGC选取的椭圆曲线E的一个生成元;随机选系统主密钥s∈Zq*并秘密保存,其中,∈表示限定域符号,Zq*表示基于大素数q构成的非零乘法群;构造4个单向哈希函数,分别记为:H0:{0,1}*×Gq×Gq→Zq*;H1:Gq×Zq*→{0,1}*;H2:Zq*→{0,1}*;H3:{0,1}*×Zq*×Zq*×…×Zq*×{0,1}*×Gq×Zq*→Zq*;其中,H0,H1,H2和H3表示密钥生成中心KGC构造的4个单向哈希函数,A→B表示定义域A到值域B的映射,{0,1}*表示任意长的“0”或“1”构成的串,Fq表示密钥生成中心KGC选取的一个有限域,×表示笛卡尔乘积,Zq*表示基于大素数q构成的非零乘法群;密钥生成中心KGC从现有的对称加密算法中任意选取一种对称加密算法Ek.,并选取与该对称加密算法对应的对称解密算法Dk.;密钥生成中心KGC构造并公开系统参数:params=Fq,E,P,Ppub,H0,H1,H2,H3,Ek.,Dk.,同时密钥生成中心KGC秘密保存系统主密钥s;1用户注册过程:1a用户U随机选取一个整数dU作为自己的秘密值,按照下式,用户U计算自己的验证份额DU,并将自己的身份信息IDU和验证份额DU通过公开信道发送给密钥生成中心KGC:DU=dUP1-1其中,DU表示用户U的验证份额,dU表示用户U的秘密值,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元,IDU表示用户U的身份信息,用户U包括接收者Ri和发送者S,i=1,2,…,n,n表示发送者S在已注册的用户U中随机选取的接收者Ri的数目;1b密钥生成中心KGC收到用户U的验证份额DU和身份信息IDU后,随机选取一个整数wU,按照下式计算用户U的部分私钥验证参数WU和部分私钥vU,并将用户U的部分私钥验证参数WU和部分私钥vU通过安全信道发送给用户U:WU=wUP1-2vU=s+wUH0IDU,DU,WU1-3其中,wU表示密钥生成中心KGC为用户U随机选取的整数,WU表示用户U的部分私钥验证参数,vU表示用户U的部分私钥,s表示密钥生成中心KGC选取的系统主密钥,H0表示密钥生成中心KGC选取的单向哈希函数;1c用户U判断收到的部分私钥vU和部分私钥验证参数WU是否满足如下等式;若是,则执行步骤4,否则,用户U向密钥生成中心KGC报错,并退出用户注册过程:vUP=H0IDU,DU,WUP+Ppub1-4其中,Ppub表示密钥生成中心KGC生成的系统公钥;1d按照下式,用户U计算自己的部分公钥QU:QU=H0IDU,DU,WUWU1-5其中,QU表示用户U的部分公钥;1e按照下式,用户U生成自己的公钥PKU并将其发送给密钥生成中心KGC:PKU=DU,QU1-6其中,PKU表示用户U的公钥,包含用户U的验证份额DU和用户U的部分公钥QU两部分;1f密钥生成中心KGC收到用户U发送的公钥PKU后,对外发布用户U的公钥PKU;1g密钥生成中心KGC对外发布用户U的公钥PKU后,按照下式,用户U计算自己的伪秘密值xU和伪部分私钥yU:xU=dUH0IDU,DU,QU1-7yU=vUH0IDU,DU,QU1-8其中,xU表示用户U的伪秘密值,yU表示用户U的伪部分私钥;1h按照下式,用户U生成自己的私钥SKU,并秘密保存,然后退出用户注册过程:SKU=xU,yU1-9其中,SKU表示用户U的私钥,包含用户U的伪秘密值xU和用户U的伪部分私钥yU两部分;2用户密钥更新过程:2a当用户U需要进行更新密钥时执行步骤2b,若不需要更新密钥则直接执行步骤3;2b用户U随机选取一个整数dU′,然后计算用户U新的验证份额DU′和密钥更新验证参数βU,并将用户U新的验证份额DU′和密钥更新验证参数βU通过公开信道发送给密钥生成中心KGC:DU′=dU′P2-1βU=dU′-1xU+yUH0IDU,DU′,QU2-2其中,dU′表示用户U新的秘密值,DU′表示用户U新的验证份额,βU表示用户U的密钥更新验证参数,-1表示求逆元操作;2c密钥生成中心KGC判断收到的用户U新的验证份额DU′和密钥更新验证参数βU是否满足等式βUDU′=DU+QU+PpubH0IDU,DU′,QU;若满足,则密钥生成中心KGC将用户U的公钥设置为PKU=DU,QU=DU′,QU并进行发布,否则,用户密钥更新失败并退出用户密钥更新过程;2d密钥生成中心KGC发布用户U的公钥PKU=DU,QU=DU′,QU后,按照下式,用户U计算自己新的伪秘密值xU′和新的伪部分私钥yU′,并设置自己的私钥SKU=xU,yU=xU′,yU′:xU′=dU′H0IDU,DU′,QU2-3yU′=yUH0IDU,DU,QU-1H0IDU,DU′,QU2-4其中,xU′表示用户U新的伪秘密值,yU′表示用户U新的伪部分私钥;3发送者签密:3a发送者S判断自己是否已经执行了步骤1的用户注册过程;若是,则执行步骤3b,否则发送者S执行步骤1的用户注册过程,并获取自己的私钥SKS=xS,yS,然后执行步骤3b;其中SKS表示发送者的私钥,包含发送者S的伪秘密值xS和发送者S的伪部分私钥yS两部分,xS表示发送者S的伪秘密值,yS表示发送者S的伪部分私钥;3b发送者S在已注册的用户U中随机选取n个用户作为接收者R1,R2,…,Rn并获取n个用户的公钥PK1,PK2,…,PKn,然后执行步骤3c;其中,PKi表示第i个接收者Ri的公钥,包含第i个接收者Ri的验证份额Di和第i个接收者Ri的部分公钥Qi两部分,Di表示第i个接收者Ri的验证份额,Qi表示第i个接收者Ri的部分公钥;3c发送者S随机选取一个整数t,计算签密验证份额T:T=tP3-1其中,t表示发送者S随机选取的整数,T表示发送者S的签密验证份额;3d按照下式,发送者S计算每一个接收者Ri的公钥隐藏信息Ki:Ki=tH0IDi,Di,QiDi+Qi+Ppub3-2其中,Ki表示第i个接收者Ri的公钥隐藏信息,IDi表示第i个接收者Ri的身份信息;3e按照下式,发送者S计算每一个接收者Ri的伪身份值αi:αi=H0IDi,Ki,T3-3其中,αi表示第i个接收者Ri的伪身份值;3f发送者S随机选取一个整数θ作为伪密钥,按照下式,发送者S构造接收者身份信息混合值fu: 其中,θ表示发送者S随机选取的伪密钥,mod表示求模操作,fu表示接收者身份信息混合值,u表示自变量,∏表示连乘操作,q表示密钥生成中心KGC选取的大素数,c0,c1,…,cn-1表示接收者身份信息混合值fu的系数;3g按照下式,发送者S计算明文消息混合值M: 其中,M表示明文消息混合值,H1和H2表示密钥生成中心KGC选取的单向哈希函数,||表示链接操作,表示逐位异或操作,mi表示要发送给第i个接收者Ri的明文消息;3h按照下式,发送者S计算加密消息密文V: 其中,V表示加密消息密文,Ek.表示密钥生成中心KGC选取的对称加密算法,k为对称密钥,IDS表示发送者S的身份信息;3i按照下式,发送者S计算签名参数λ:λ=xS+ySt-13-7其中,λ表示发送者S的签名参数,xS表示发送者S的伪秘密值,yS表示发送者S的伪部分私钥;3j按照下式,发送者S计算密文有效性参数Λ:Λ=H3M,θ,c1,c2,...,cn,V,T,λ3-8其中,Λ表示密文有效性参数,H3表示密钥生成中心KGC选取的单向哈希函数;3k发送者S将接收者身份信息混合值fu的系数c0,c1,…,cn-1、发送者S的签密验证份额T、加密消息密文V、发送者S的签名参数λ和密文有效性参数Λ构成签密密文C=c0,c1,…,cn-1,T,V,λ,Λ,并对签密密文C进行广播,然后结束发送者签密过程;4接收者解签密:4a按照下式,接收者Ri计算公钥隐藏信息Ki:Ki=xi+yiT4-1xi为第i个接收者Ri的伪秘密值,i=1,2,…,n;yi为第i个接收者Ri的伪部分私钥,i=1,2,…,n;4b按照下式,接收者Ri计算自己的伪身份值αi:αi=H0IDi,Ki,T4-24c按照下式,接收者Ri计算发送者S随机选取的伪密钥θ:θ=fαi4-34d按照下式,接收者Ri计算明文消息混合值和发送者S的身份信息M||IDS:M||IDS=DH2θV4-44e按照下式,接收者Ri计算权限参数Λ′:Λ′=H3M,θ,c1,c2,...,cn,V,T,λ4-5其中,Λ′表示权限参数;4f接收者Ri判断权限参数Λ′与密文有效性参数Λ是否相等;若是,则执行步骤4g,否则,解密失败,并退出接收者解签密过程;4g接收者Ri计算H1αi,T和H2αi,根据H1αi,T找出明文消息混合值M中对应的计算4h接收者Ri根据4d中解密得到的发送者S的身份信息IDS找到对应的发送者S的公钥PKS=DS,QS,并判断下述等式是否成立;若是,则接收者Ri接收明文消息mi并退出接收者解签密过程,否则,接收者Ri拒绝明文消息mi并退出接收者解签密过程:λT=H0IDS,DS,QSDS+QS+Ppub4-6PKS表示发送者S的公钥,包含发送者S的验证份额DS和发送者S的部分公钥QS两部分,DS表示发送者S的验证份额,QS表示发送者S的部分公钥。

全文数据:可更新密钥的无证书多消息多接收者签密方法技术领域[0001]本发明涉及一种无证书多消息多接收者签密方法,特别涉及一种可更新密钥的无证书多消息多接收者签密方法。背景技术[0002]文献“专利申请号是201710815077.8的中国发明专利”公开了一种真实匿名的无证书多消息多接收者签密方法,该方法的用户选择一个秘密值作为部分私钥,并用这个秘密值来计算部分公钥,然后将部分公钥和自己的身份信息发送给密钥生成中心KGC。密钥生成中心生成对应的部分私钥和对应的部分公钥验证参数,然后通过安全信道发送给用户。用户收到对应的部分私钥和对应的部分公钥之后,验证其合法性,若能通过验证,则继续计算出自己的公钥和私钥,并公开公钥,否则停止操作;签密过程中不仅不包含发送者和接收者的身份信息,而且对要发送的多个不同的消息进行整体加密,只有授权的接收者可以解密验证密文消息。但是该方法存在以下问题:接收者不能验证发送者的具体身份,若收到了非法的消息,也不能找到消息的发送者;使用的哈希函数较多;用户不能自己更新密钥,如果用户想要更新密钥只能重新注册。发明内容[0003]为了克服现有无证书多消息多接收者签密方法复杂的不足,本发明提供一种可更新密钥的无证书多消息多接收者签密方法。该方法首先由用户注册生成自己的公钥和私钥,公钥为两部分,由验证份额和部分私钥组成,当用户需要进行密钥更新时,则重新选择一个随机数,然后生成新的验证份额和密钥更新验证参数,然后通过公开信道将其发送给密钥生成中心KGC,密钥生成中心KGC收到后验证两者是否满足验证等式,若满足则将新的验证份额替换原来的验证份额,否则更新失败。当KGC更新了公钥后,用户计算并更新自己的私钥。在签密过程,对发送者的身份信息和明文一起加密,用发送者的私钥生成一个签名参数;在解签密过程,当解密得到发送者的身份信息以后,再获取对应的公钥验证签名参数。若通过验证,则接收签密密文;否则拒绝接收签密密文。该方法的有益效果是:第一、接收者能够验证发送者的具体身份;第二、减少了哈希函数的使用数量;第三、用户能够通过公开信道更新自己的密钥。[0004]本发明解决其技术问题所采用的技术方案:一种可更新密钥的无证书多消息多接收者签密方法,其特点是包括以下步骤:[0005]1用户注册过程:[0006]Ia用户U随机选取一个整数du作为自己的秘密值,按照下式,用户U计算自己的验证份额Du,并将自己的身份信息IDu和验证份额Du通过公开信道发送给密钥生成中心KGC:[0007]Du=duP1-1[0008]其中,Du表示用户U的验证份额,du表示用户U的秘密值,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元,IDu表示用户U的身份信息,用户U包括接收者心和发送者S,i=1,2,…,n,n表示发送者S在已注册的用户U中随机选取的接收者心的数目;[0009]Ib密钥生成中心KGC收到用户U的验证份额Du和身份信息IDu后,随机选取一个整数wu,按照下式计算用户U的部分私钥验证参数Wu和部分私钥vu,并将用户U的部分私钥验证参数Wu和部分私钥Vu通过安全信道发送给用户U:[0010]Wu=WuP卜2[0011]vu=s+wuHoIDu,Du,ffuI-3[0012]其中,wu表示密钥生成中心KGC为用户U随机选取的整数,Wu表示用户U的部分私钥验证参数,Vii表示用户U的部分私钥,s表示密钥生成中心KGC选取的系统主密钥,Ho表示密钥生成中心KGC选取的单向哈希函数;[0013]Ic用户U判断收到的部分私钥VU和部分私钥验证参数Wu是否满足如下等式。若是,则执行步骤4,否则,用户U向密钥生成中心KGC报错,并退出用户注册过程:[0014]VuP=HoIDu,Du,ffuP+PPub1-4[0015]其中,Ppub表示密钥生成中心KGC生成的系统公钥;[0016]Id按照下式,用户U计算自己的部分公钥Qu:[0017]Qu=HoIDu,Du,ffuffu1-5[0018]其中,Qu表不用户U的部分公钥;[0019]Ie按照下式,用户U生成自己的公钥PKu并将其发送给密钥生成中心KGC:[0020]PKu=Du1Qu1-6[0021]其中,PKu表示用户U的公钥,包含用户U的验证份额Du和用户U的部分公钥Qu两部分;[0022]If密钥生成中心KGC收到用户U发送的公钥PKu后,对外发布用户U的公钥PKu;[0023]Ig密钥生成中心KGC对外发布用户U的公钥PKu后,按照下式,用户U计算自己的伪秘密值Xu和伪部分私钥yu:[0024]xu=duH〇IDu,Du,Qu1-7[0025]yu=vuHoIDu,Du,QuI-8[0026]其中,xu表不用户U的伪秘密值,yu表不用户U的伪部分私钥;[0027]Ih按照下式,用户U生成自己的私钥SKu,并秘密保存,然后退出用户注册过程:[0028]SKu=xu,yuI-9[0029]其中,SKu表不用户U的私钥,包含用户U的伪秘密值xu和用户U的伪部分私钥yu两部分;[0030]2用户密钥更新过程:[0031]2a当用户U需要进行更新密钥时执行步骤2b,若不需要更新密钥则直接执行步骤⑶;[0032]2b用户U随机选取一个整数di,然后计算用户U新的验证份额Di和密钥更新验证参数,并将用户U新的验证份额Dl和密钥更新验证参数通过公开信道发送给密钥生成中心KGC:[0033]DlZ=CIlZP2-1[0034]βυ=άυ_1xu+yuHoIDu1Du7,Qu2-2[0035]其中,du表示用户U新的秘密值,Du表示用户U新的验证份额,βυ表示用户U的密钥更新验证参数,_1表示求逆元操作;[0036]2c密钥生成中心KGC判断收到的用户U新的验证份额Di和密钥更新验证参数是否满足等式ftiDi=Du+Qu+PpWHoaDLuDi,Qu。若满足,则密钥生成中心KGC将用户U的公钥设置为PKu=Du,Qu=Dl,Qu并进行发布,否则,用户密钥更新失败并退出用户密钥更新过程;[0037]2d密钥生成中心KGC发布用户U的公钥PKu=Du,Qu=Dl,Qu后,按照下式,用户U计算自己新的伪秘密值X〆和新的伪部分私钥yi,并设置自己的私钥SKu=Xu,yu=xu7,yu7:[0038]XU7=^7HoIDujDu7jQu2-3[0039]yu7=yuHoIDu,Du,Qu'1HoIDu,Du7,Qu2-4[0040]其中,xl表示用户U新的伪秘密值,yi表示用户U新的伪部分私钥;[0041]3发送者签密:[0042]3a发送者S判断自己是否已经执行了步骤(1的用户注册过程。若是,则执行步骤3b,否则发送者S执行步骤(1的用户注册过程,并获取自己的私钥SKs=Xs,ys,然后执行步骤3b;[0043]其中SKs表不发送者的私钥,包含发送者S的伪秘密值Xs和发送者S的伪部分私钥ys两部分,Xs表不发送者S的伪秘密值,ys表不发送者S的伪部分私钥;[0044]3b发送者S在已注册的用户U中随机选取η个用户作为接收者R1,R2,···,!?„并获取η个用户的公钥PK1,PK2,…,PKn,然后执行步骤3c;[0045]其中,PKi表示第i个接收者Ri的公钥,包含第i个接收者Ri的验证份额Di和第i个接收者R1的部分公钥Q1两部分,D1表示第i个接收者心的验证份额,Q1表示第i个接收者心的部分公钥;[0046]3c发送者S随机选取一个整数t,计算签密验证份额T:[0047]T=tP3-1[0048]其中,t表示发送者S随机选取的整数,T表示发送者S的签密验证份额;[0049]3d按照下式,发送者S计算每一个接收者心的公钥隐藏信息K1:[0050]Ki=tHoIDi,Di,QiDi+Qi+Ppub3-2[0051]其中,K1表示第i个接收者心的公钥隐藏信息,ID1表示第i个接收者心的身份信息;[0052]3e按照下式,发送者S计算每一个接收者R1的伪身份值Ct1:[0053]Qi=HoIDi1KiJ3-3[0054]其中,Ct1表示第i个接收者心的伪身份值;[0055]3f发送者S随机选取一个整数Θ作为伪密钥,按照下式,发送者S构造接收者身份信息混合值f⑹:[0056][0057]其中,Θ表示发送者S随机选取的伪密钥,mod表示求模操作,fU表示接收者身份信息混合值,u表示自变量,Π表示连乘操作,q表示密钥生成中心KGC选取的大素数,co,C1,…,Crrf表示接收者身份信息混合值fU的系数;[0058]3g按照下式,发送者S计算明文消息混合值M:[0059][0060]其中,M表示明文消息混合值,出和出表示密钥生成中心KGC选取的单向哈希函数,表示链接操作,㊉表示逐位异或操作,Hl1表示要发送给第i个接收者的明文消息;[0061]3h按照下式,发送者S计算加密消息密文V:[0062][0063]其中,V表示加密消息密文,Ek.表示密钥生成中心KGC选取的对称加密算法,k为对称密钥,IDs表示发送者S的身份信息;[0064]3i按照下式,发送者S计算签名参数λ:[0065]λ=xs+yst_13-7[0066]其中,λ表示发送者S的签名参数,xs表示发送者S的伪秘密值,ys表示发送者S的伪部分私钥;[0067]3j按照下式,发送者S计算密文有效性参数Λ:[0068]Λ=Η3Μ,θ,〇ι,〇2,···,〇η,ν,Τ,λ3-8[0069]其中,Λ表示密文有效性参数,H3表示密钥生成中心KGC选取的单向哈希函数;[0070]3k发送者S将接收者身份信息混合值f⑹的系数co,C1,…,ch、发送者S的签密验证份额T、加密消息密文V、发送者S的签名参数λ和密文有效性参数Λ构成签密密文C=〈C0,C1,…,Crrf,T,V,λ,Λ,并对签密密文C进行广播,然后结束发送者签密过程;[0071]⑷接收者解签密:[0072]4a按照下式,接收者心计算公钥隐藏信息K1:[0073]Ki=xi+yiT4-1[0074]4b按照下式,接收者心计算自己的伪身份值α1:[0075]Qi=HoIDi1KiJ4-2[0076]4c按照下式,接收者心计算发送者S随机选取的伪密钥Θ:[0077]0=fα〇4-3[0078]4d按照下式,接收者心计算明文消息混合值和发送者S的身份信息M|IIDs:[0079][0080]4e按照下式,接收者心计算权限参数Λ:[0081]Λ=Η3Μ,θ,〇ι,〇2,···,〇η,ν,Τ,λ4-5[0082]其中,Λ'表示权限参数;[0083]4f接收者R1判断权限参数Λ与密文有效性参数Λ是否相等。若是,则执行步骤4g,否则,解密失败,并退出接收者解签密过程;[0084]4g接收者Ri计算H1CtiJ和出Cti,根据H1CtiJ找出明文消息混合值M中对应的,计算[0085]4h接收者Ri根据4d中解密得到的发送者S的身份信息IDs找到对应的发送者S的公钥PKs=Ds,Qs,并判断下述等式是否成立。若是,则接收者Ri接收明文消息mi并退出接收者解签密过程,否则,接收者心拒绝明文消息πη并退出接收者解签密过程:[0086]λΤ=HoIDs,Ds,QsDs+Qs+PPub4-6[0087]PKs表示发送者S的公钥,包含发送者S的验证份额Ds和发送者S的部分公钥Qs两部分,Ds表不发送者S的验证份额,Qs表不发送者S的部分公钥。[0088]本发明的有益效果是:该方法首先由用户注册生成自己的公钥和私钥,公钥为两部分,由验证份额和部分私钥组成,当用户需要进行密钥更新时,则重新选择一个随机数,然后生成新的验证份额和密钥更新验证参数,然后通过公开信道将其发送给密钥生成中心KGC,密钥生成中心KGC收到后验证两者是否满足验证等式,若满足则将新的验证份额替换原来的验证份额,否则更新失败。当KGC更新了公钥后,用户计算并更新自己的私钥。在签密过程,对发送者的身份信息和明文一起加密,用发送者的私钥生成一个签名参数;在解签密过程,当解密得到发送者的身份信息以后,再获取对应的公钥验证签名参数。若通过验证,则接收签密密文;否则拒绝接收签密密文。该方法的有益效果是:第一,由于通过消除公钥两部分间的关联,解决了需要重新注册或者建立安全信道才能更新密钥的问题,实现了通过公开信道密钥更新的功能,通过计算密钥更新验证参数,解决了非授权用户假冒授权用户进行密钥更新的问题。在用户注册以后,用户可以根据需要更新自己的密钥,并且不需要重新注册,提高了通信的安全性,故解决了现有技术中的重复注册问题。由于通过公开信道来更新密钥,减少了计算和通信开销,解决了现有技术中密钥更新过程成本较高的技术问题。[0089]第二,由于在签密过程中将发送者的身份信息与明文消息混合值一起进行加密,在密文中不包含发送者身份信息的情况下,接收者能够通过验证发送者的具体身份和签名参数是否对应,解决了现有技术中发送者身份直接暴露在密文中和密文伪造的技术问题。[0090]下面结合附图和具体实施方式对本发明作详细说明。附图说明[0091]图1是本发明可更新密钥的无证书多消息多接收者签密方法的流程图。具体实施方式[0092]名词解释:[0093]U:用户。包括发送者S和接收者Ri,i=l,2,…,η,η表示发送者S在已注册的用户U中随机选取的接收者心的数目;[0094]KGC:密钥生成中心,为可信第三方,负责产生用户U的公私钥;[0095]η:密钥生成中心KGC选取的安全参数;[0096]q:密钥生成中心KGC选取的大素数;[0097]Fq:密钥生成中心KGC选取的一个有限域;[0098]E:密钥生成中心KGC在有限域Fq上选取的一条椭圆曲线;[0099]P:密钥生成中心KGC选取的椭圆曲线E的一个生成元;[0100]S:密钥生成中心KGC选取的系统主密钥;[0101]Ppub:密钥生成中心KGC生成的系统公钥;[0102]e:限定域符号,例如aeB,就是a属于B;[0103]Hj:密钥生成中心KGC选取的单向哈希函数,其中j=0,l,2,3;[0104]A—B:定义域A到值域B的映射;[0105]{〇,1}*:任意长的“0”或T构成的串;[0106]X:笛卡尔乘积,例如集合A={a,b},集合B={0,1},则两个集合的笛卡尔积为{a,0,a,I,b,0,b,I};[0107]Zq'基于大素数q构成的非零乘法群;[0108]Ek.:密钥生成中心KGC选取的对称加密算法,如AES,k为对称密钥;[0109]Dk.:密钥生成中心KGC选取的对称解密算法,如AES,k为对称密钥;[0110]params:系统参数;[0111]du:用户U的秘密值;[0112]Xu:用户U的伪秘密值;[0113]Du:用户U的验证份额;[0114]IDu:用户U的身份信息;[0115]Wu:密钥生成中心KGC为用户U随机选取的整数;[0116]Wu:用户U的部分私钥验证参数;[0117]Qu:用户U的部分公钥;[0118]PKu:用户U的公钥,包含用户U的验证份额Du和用户U的部分公钥Qu两部分;[0119]vu:用户U的部分私钥;[0120]yu:用户U的伪部分私钥;[0121]SKu:用户U的私钥,包含用户U的伪秘密值Xu和用户U的伪部分私钥yu两部分;[0122]di:用户U新的秘密值;[0123]Di:用户U新的验证份额;[0124]Xu:用户U新的伪秘密值;[0125]yi;用户U新的伪部分私钥;[0126]βυ:用户U的密钥更新验证参数;[0127]S:发送者;[0128]xs:发送者S的伪秘密值;[0129]Ds:发送者S的验证份额;[0130]IDs:发送者S的身份信息;[0131]Qs:发送者S的部分公钥;[0132]PKs:发送者S的公钥,包含发送者S的验证份额队和发送者S的部分公钥弘两部分;[0133]ys:发送者S的伪部分私钥;[0134]SKs:发送者S的私钥,包含发送者S的伪秘密值Xs和发送者S的伪部分私钥ys两部分;[0135]η:发送者S在已注册的用户中随机选取的接收者心的数目;[0136]Ri:第i个接收者,i=l,2,…,η;[0137]Xi:第i个接收者Ri的伪秘密值,i=1,2,…,η;[0138]D1:第i个接收者吣的验证份额,i=1,2,…,η;[0139]IDi:第i个接收者Ri的身份信息,i=1,2,…,η;[0140]Qi:第i个接收者Ri的部分公钥,i=l,2,…,η;[0141]PKi:第i个接收者Ri的公钥,包含第i个接收者Ri的验证份额Di和第i个接收者Ri的部分公钥Qi两部分,i=l,2,…,n;[0142]yi:第i个接收者Ri的伪部分私钥,i=I,2,…,η;[0143]SKi:第i个接收者Ri的私钥,包含第i个接收者Ri的伪秘密值Xi和第i个接收者Ri的伪部分私钥yi两部分,i=l,2,…,n;[0144]t:发送者S随机选取的整数;[0145]T:发送者S的签密验证份额;[0146]K1:第i个接收者吣的公钥隐藏信息,i=l,2,…,η;[0147]Cti:第i个接收者Ri的伪身份值,i=1,2,…,η;[0148]f⑹:接收者身份信息混合值,其中u表示自变量;[0149]Π:连乘操作,例如[0150]Θ:发送者S随机选取的伪密钥;[0151]mod:求模操作,例如7mod3=1;[0152]co,C1,…,Clrf:接收者身份信息混合值fu的系数;[0153]M:明文消息混合值;[0154]㊉:逐位异或操作,例如丨丨0㊉001】=0丨01;[0155]11:链接操作,例如0110II0011=01100011;[0156]_1:求逆元操作,例如7_1=17;[0157]mi:要发送给第i个接收者Ri的明文消息,i=l,2,…,η;[0158]V:加密消息密文;[0159]λ:发送者S的签名参数;[0160]Λ:密文有效性参数;[0161]C:签密密文;[0162]Λ权限参数。[0163]参照图1。本发明可更新密钥的无证书多消息多接收者签密方法具体步骤如下:[0164]首先,密钥生成中心KGC根据系统安全参数ri选取大素数q和一个有限域Fq,并选取一条在有限域Fq上的安全椭圆曲线E,选取P为密钥生成中心KGC选取的椭圆曲线E的一个生成元;随机选系统主密钥se并秘密保存,其中,e表示限定域符号,表示基于大素数q构成的非零乘法群;构造4个单向哈希函数,分别记为:[0165]Ho:{0,1}*XGqXGq^Zq*;Hi:GqXZq*^{0,1}*;H2:Zq*^{0,1}*;[0166]H3:{0,l}*XZq*XZq*X…XZq*X{0,l}*XGqXZq*—Zq*;[0167]其中,HH2和H3表示密钥生成中心KGC构造的4个单向哈希函数,A—B表示定义域A到值域B的映射,{0,1Γ表示任意长的“0”或“Γ构成的串,Fq表示密钥生成中心KGC选取的一个有限域,X表示笛卡尔乘积,表示基于大素数q构成的非零乘法群;[0168]密钥生成中心KGC从现有的对称加密算法中任意选取一种对称加密算法Ek.,并选取与该对称加密算法对应的对称解密算法Dk.;[0169]密钥生成中心KGC构造并公开系统参数:params=,同时密钥生成中心KGC秘密保存系统主密钥s。[0170]1用户注册过程:[0171]Ia用户U随机选取duez,作为自己的秘密值,按照下式,用户U计算自己的验证份额Du,并将自己的身份信息IDu和验证份额Du通过公开信道发送给密钥生成中心KGC:[0172]Du=duP1-1[0173]其中,Du表示用户U的验证份额,du表示用户U的秘密值,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元,IDu表示用户U的身份信息,用户U包括接收者心和发送者S,i=1,2,…,n,n表示发送者S在已注册的用户U中随机选取的接收者心的数目;[0174]Ib密钥生成中心KGC收到用户U的验证份额Du和身份信息IDu后,随机选取Wuezq%按照下式计算用户U的部分私钥验证参数Wu和部分私钥VU,并将用户U的部分私钥验证参数Wu和部分私钥Vu通过安全信道发送给用户U:[0175]Wu=WuP1-2[0176]vu=s+wuHoIDu,Du,ffuI-3[0177]其中,Wu表示密钥生成中心KGC为用户U随机选取的整数,Wu表示用户U的部分私钥验证参数,Vii表示用户U的部分私钥,s表示密钥生成中心KGC选取的系统主密钥,Ho表示密钥生成中心KGC选取的单向哈希函数;[0178]Ic用户U判断收到的部分私钥Vu和部分私钥验证参数Wu是否满足如下等式。若是,则执行步骤4,否则,用户U向密钥生成中心KGC报错,并退出用户注册过程:[0179]VuP=HoIDu,Du,ffuP+PPub1-4[0180]其中,Ppub表示密钥生成中心KGC生成的系统公钥;[0181]Id按照下式,用户U计算自己的部分公钥Qu:[0182]Qu=HoIDu,Du,ffuffu1-5[0183]其中,Qu表不用户U的部分公钥;[0184]Ie按照下式,用户U生成自己的公钥PKu并将其发送给密钥生成中心KGC:[0185]PKu=Du1Qu1-6[0186]其中,PKu表示用户U的公钥,包含用户U的验证份额Du和用户U的部分公钥Qu两部分;[0187]If密钥生成中心KGC收到用户U发送的公钥PKu后,对外发布用户U的公钥PKu;[0188]Ig密钥生成中心KGC对外发布用户U的公钥PKu后,按照下式,用户U计算自己的伪秘密值Xu和伪部分私钥yu:[0189]xu=duH〇IDu,Du,Qu1-7[0190]yu=vuHoIDu,Du,Qu1-8[0191]其中,xu表不用户U的伪秘密值,yu表不用户U的伪部分私钥;[0192]Ih按照下式,用户U生成自己的私钥SKu,并秘密保存,然后退出用户注册过程:[0193]SKu=xu,yuI-9[0194]其中,SKu表不用户U的私钥,包含用户U的伪秘密值xu和用户U的伪部分私钥yu两部分;[0195]2用户密钥更新过程:[0196]2a当用户U需要进行更新密钥时执行步骤2b,若不需要更新密钥则直接执行步骤⑶;[0197]2b用户U随机选取diezq'然后计算用户U新的验证份额Di和密钥更新验证参数,并将用户U新的验证份额Dl和密钥更新验证参数通过公开信道发送给密钥生成中心KGC:[0198]DlZ=CIlZP2-1[0199]βυ=άυ_1xu+yuHoIDu1Du7,Qu2-2[0200]其中,du表示用户U新的秘密值,Du表示用户U新的验证份额,βυ表示用户U的密钥更新验证参数,_1表示求逆元操作;[0201]2c密钥生成中心KGC判断收到的用户U新的验证份额Di和密钥更新验证参数是否满足等式ftiDi=Du+Qu+PpWHoaDLuDi,Qu。若满足,则密钥生成中心KGC将用户U的公钥设置为PKu=Du,Qu=Dl,Qu并进行发布,否则,用户密钥更新失败并退出用户密钥更新过程;[0202]2d密钥生成中心KGC发布用户U的公钥PKu=Du,Qu=Dl,Qu后,按照下式,用户U计算自己新的伪秘密值X〆和新的伪部分私钥yi,并设置自己的私钥SKu=Xu,yu=xu7,yu7:[0203]XU7=^7HoIDujDu7jQu2-3[0204]yu7=yuHoIDu,Du,Qu'1HoIDu,Du7,Qu2-4[0205]其中,xl表示用户U新的伪秘密值,yi表示用户U新的伪部分私钥;[0206]3发送者签密:[0207]3a发送者S判断自己是否已经执行了步骤(1的用户注册过程。若是,则执行步骤3b,否则发送者S执行步骤(1的用户注册过程,并获取自己的私钥SKs=Xs,ys,然后执行步骤3b;[0208]其中SKs表不发送者的私钥,包含发送者S的伪秘密值Xs和发送者S的伪部分私钥ys两部分,Xs表不发送者S的伪秘密值,ys表不发送者S的伪部分私钥;[0209]3b发送者S在已注册的用户U中随机选取η个用户作为接收者R1,R2,···,!?„并获取他们的公钥PK1,PK2,…,PKn,然后执行步骤3c;[0210]其中,PKi表示第i个接收者Ri的公钥,包含第i个接收者Ri的验证份额Di和第i个接收者R1的部分公钥Q1两部分,D1表示第i个接收者心的验证份额,Q1表示第i个接收者心的部分公钥;[0211]3c发送者S随机选取teZq^计算签密验证份额T:[0212]T=tP3-1[0213]其中,t表示发送者S随机选取的整数,T表示发送者S的签密验证份额;[0214]3d按照下式,发送者S计算每一个接收者心的公钥隐藏信息K1:[0215]Ki=tHoIDi,Di,QiDi+Qi+Ppub3-2[0216]其中,K1表示第i个接收者心的公钥隐藏信息,ID1表示第i个接收者心的身份信息;[0217]3e按照下式,发送者S计算每一个接收者R1的伪身份值Ct1:[0218]Qi=HoIDi1KiJ3-3[0219]其中,Ct1表示第i个接收者心的伪身份值;[0220]3f发送者S随机选取整数Θe作为伪密钥,按照下式,发送者S构造接收者身份信息混合值f⑹:[0221][0222]其中,Θ表示发送者S随机选取的伪密钥,mod表示求模操作,fu表示接收者身份信息混合值,u表示自变量,Π表示连乘操作,q表示密钥生成中心KGC选取的大素数,co,C1,…,Crrf表示接收者身份信息混合值fU的系数;[0223]3g按照下式,发送者S计算明文消息混合值M:[0224][0225]其中,M表示明文消息混合值,出和出表示密钥生成中心KGC选取的单向哈希函数,表示链接操作,®表示逐位异或操作,Hl1表示要发送给第i个接收者的明文消息;[0226]3h按照下式,发送者S计算加密消息密文V:[0227][0228]其中,V表示加密消息密文,Ek.表示密钥生成中心KGC选取的对称加密算法,k为对称密钥,IDs表示发送者S的身份信息;[0229]3i按照下式,发送者S计算签名参数λ:[0230]λ=xs+yst_13-7[0231]其中,λ表示发送者S的签名参数,xs表示发送者S的伪秘密值,ys表示发送者S的伪部分私钥;[0232]3j按照下式,发送者S计算密文有效性参数Λ:[0233]Λ=Η3Μ,θ,〇ι,〇2,···,〇η,ν,Τ,λ3-8[0234]其中,Λ表示密文有效性参数,H3表示密钥生成中心KGC选取的单向哈希函数;[0235]3k发送者S将接收者身份信息混合值fU的系数co,C1,…,cn、发送者S的签密验证份额T、加密消息密文V、发送者S的签名参数λ和密文有效性参数Λ构成签密密文C=〈CO,C1,…,Crrf,T,V,λ,Λ,并对签密密文C进行广播,然后结束发送者签密过程;[0236]⑷接收者解签密:[0237]4a按照下式,接收者心计算公钥隐藏信息K1:[0238]Ki=xi+yiT4-1[0239]4b按照下式,接收者心计算自己的伪身份值α1:[0240]Qi=HoIDi1KiJ4-2[0241]4c按照下式,接收者心计算发送者S随机选取的伪密钥Θ:[0242]0=fα〇4-3[0243]4d按照下式,接收者心计算明文消息混合值和发送者S的身份信息M|IIDs:[0244][0245]4e按照下式,接收者心计算权限参数Λ:[0246]Λ=Η3Μ,θ,〇ι,〇2,···,〇η,ν,Τ,λ4-5[0247]其中,Λ'表示权限参数;[0248]4f接收者R1判断权限参数Λ与密文有效性参数Λ是否相等。若是,则执行步骤4g,否则,解密失败,并退出接收者解签密过程;[0249]4g接收者Ri计算H1CtiJ和出Cti,根据H1CtiJ找出明文消息混合值M中对应的[0250]4h接收者R1根据4d中解密得到的发送者S的身份信息IDs找到对应的发送者S的公钥PKs=Ds,Qs,并判断下述等式是否成立。若是,则接收者Ri接收明文消息mi并退出接收者解签密过程,否则,接收者心拒绝明文消息πη并退出接收者解签密过程:[0251]λΤ=HoIDs,Ds,QsDs+Qs+PPub4-6[0252]PKs表示发送者S的公钥,包含发送者S的验证份额Ds和发送者S的部分公钥Qs两部分,Ds表不发送者S的验证份额,Qs表不发送者S的部分公钥。

权利要求:1.一种可更新密钥的无证书多消息多接收者签密方法,其特征在于包括以下步骤:1用户注册过程:la用户U随机选取一个整数du作为自己的秘密值,按照下式,用户U计算自己的验证份额Du,并将自己的身份信息IDu和验证份额Du通过公开信道发送给密钥生成中心KGC:Du=duP1-1其中,Du表示用户U的验证份额,du表示用户U的秘密值,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元,IDu表示用户U的身份信息,用户U包括接收者心和发送者S,i=1,2,…,n,n表示发送者S在已注册的用户U中随机选取的接收者心的数目;lb密钥生成中心KGC收到用户U的验证份额Du和身份信息IDu后,随机选取一个整数wu,按照下式计算用户U的部分私钥验证参数Wu和部分私钥vu,并将用户U的部分私钥验证参数Wu和部分私钥Vu通过安全信道发送给用户U:其中,Wu表示密钥生成中心KGC为用户U随机选取的整数,Wu表示用户U的部分私钥验证参数,VLi表示用户U的部分私钥,s表示密钥生成中心KGC选取的系统主密钥,Ho表示密钥生成中心KGC选取的单向哈希函数;lc用户U判断收到的部分私钥vu和部分私钥验证参数Wu是否满足如下等式;若是,则执行步骤⑷,否则,用户U向密钥生成中心KGC报错,并退出用户注册过程:其中,Ppub表示密钥生成中心KGC生成的系统公钥;ld按照下式,用户U计算自己的部分公钥Qu:其中,Qu表示用户U的部分公钥;le按照下式,用户U生成自己的公钥PKu并将其发送给密钥生成中心KGC:其中,PKu表示用户U的公钥,包含用户U的验证份额Du和用户U的部分公钥Qu两部分;lf密钥生成中心KGC收到用户U发送的公钥PKu后,对外发布用户U的公钥PKu;lg密钥生成中心KGC对外发布用户U的公钥PKu后,按照下式,用户U计算自己的伪秘密值Xu和伪部分私钥yu:其中,Xu表不用户U的伪秘密值,yu表不用户U的伪部分私钥;lh按照下式,用户U生成自己的私钥SKu,并秘密保存,然后退出用户注册过程:其中,SKu表不用户U的私钥,包含用户U的伪秘密值xu和用户U的伪部分私钥yu两部分;⑵用户密钥更新过程:2a当用户U需要进行更新密钥时执行步骤2b,若不需要更新密钥则直接执行步骤3;2b用户U随机选取一个整数di,然后计算用户U新的验证份额Dl和密钥更新验证参数,并将用户U新的验证份额Dl和密钥更新验证参数βυ通过公开信道发送给密钥生成中心KGC:其中,ck表示用户U新的秘密值,Dl表示用户U新的验证份额,βυ表示用户U的密钥更新验证参数,_1表示求逆元操作;2c密钥生成中心KGC判断收到的用户U新的验证份额Dl和密钥更新验证参数是否满足等式MV=Du+Qu+PpuOHoaDiuDi,Qu;若满足,则密钥生成中心KGC将用户U的公钥设置为PKu=Du,Qu=Dl,Qu并进行发布,否则,用户密钥更新失败并退出用户密钥更新过程;2d密钥生成中心KGC发布用户U的公钥PKu=Du,Qu=Du'Qu后,按照下式,用户U计算自己新的伪秘密值Xi和新的伪部分私钥yi,并设置自己的私钥:yu〇:其中,Xi表示用户U新的伪秘密值,yi表示用户U新的伪部分私钥;⑶发送者签密:3a发送者S判断自己是否已经执行了步骤(1的用户注册过程;若是,则执行步骤3b,否则发送者S执行步骤(1的用户注册过程,并获取自己的私钥SKs=Xs,ys,然后执行步骤3b;其中SKs表示发送者的私钥,包含发送者S的伪秘密值xs和发送者S的伪部分私钥ys两部分,XS表不发送者S的伪秘密值,ys表不发送者S的伪部分私钥;3b发送者S在已注册的用户U中随机选取η个用户作为接收者R^R2,…,Rn并获取η个用户的公钥PK1,PK2,…,PKn,然后执行步骤3c;其中,PKi表示第i个接收者Ri的公钥,包含第i个接收者Ri的验证份额Di和第i个接收者R1的部分公钥Q1两部分,D1表示第i个接收者化的验证份额,Q1表示第i个接收者化的部分公钥;3c发送者S随机选取一个整数t,计算签密验证份额T:T=tP3-1其中,t表示发送者S随机选取的整数,T表示发送者S的签密验证份额;3d按照下式,发送者S计算每一个接收者心的公钥隐藏信息K1:其中,K1表示第i个接收者心的公钥隐藏信息,ID1表示第i个接收者心的身份信息;3e按照下式,发送者S计算每一个接收者R1的伪身份值Ct1:其中,Ct1表示第i个接收者心的伪身份值;3f发送者S随机选取一个整数Θ作为伪密钥,按照下式,发送者S构造接收者身份信息混合值fu:其中,Θ表示发送者S随机选取的伪密钥,mod表示求模操作,fu表示接收者身份信息混合值,u表示自变量,Π表示连乘操作,q表示密钥生成中心KGC选取的大素数,Co,C1,…,CH表示接收者身份信息混合值fU的系数;3g按照下式,发送者S计算明文消息混合值M:其中,M表示明文消息混合值,出和出表示密钥生成中心KGC选取的单向哈希函数,II表示链接操作,®表示逐位异或操作,nu表示要发送给第i个接收者的明文消息;3h按照下式,发送者S计算加密消息密文V:3-6其中,V表示加密消息密文,Ek.表示密钥生成中心KGC选取的对称加密算法,k为对称密钥,IDs表示发送者S的身份信息;3i按照下式,发送者S计算签名参数λ:其中,λ表示发送者S的签名参数,xs表示发送者S的伪秘密值,ys表示发送者S的伪部分私钥;3j按照下式,发送者S计算密文有效性参数Λ:其中,Λ表示密文有效性参数,H3表示密钥生成中心KGC选取的单向哈希函数;3k发送者S将接收者身份信息混合值fU的系数Co,C1,…,Ct1、发送者S的签密验证份额T、加密消息密文V、发送者S的签名参数λ和密文有效性参数Λ构成签密密文C=〈co,C1,…,Cd,T,V,λ,Λ,并对签密密文C进行广播,然后结束发送者签密过程;⑷接收者解签密:4a按照下式,接收者心计算公钥隐藏信息K1:4b按照下式,接收者心计算自己的伪身份值Ct1:4c按照下式,接收者心计算发送者S随机选取的伪密钥Θ:4d按照下式,接收者吣计算明文消息混合值和发送者S的身份信息M|IIDs:4-44e按照下式,接收者心计算权限参数Λ:其中,Λ表示权限参数;4f接收者R1判断权限参数Λ与密文有效性参数Λ是否相等;若是,则执行步骤4g,否则,解密失败,并退出接收者解签密过程;4g接收者Ri计算H1Cti,T和出Cti,根据H1Cti,T找出明文消息混合值M中对应的出ai,TIIH2ai®mi,计算mi=H2ai®mi®H2ai;4h接收者R1根据4d中解密得到的发送者S的身份信息IDs找到对应的发送者S的公钥PKs=Ds,Qs,并判断下述等式是否成立;若是,则接收者Ri接收明文消息mi并退出接收者解签密过程,否则,接收者心拒绝明文消息πη并退出接收者解签密过程:PKs表不发送者S的公钥,包含发送者S的验证份额Ds和发送者S的部分公钥Qs两部分,Ds表示发送者S的验证份额,Qs表示发送者S的部分公钥。

百度查询: 西安电子科技大学 可更新密钥的无证书多消息多接收者签密方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。