无安全信道的无证书匿名多接收者签密方法技术

技术编号:19436303 阅读:20 留言:0更新日期:2018-11-14 13:06
本发明专利技术公开了一种无安全信道的无证书匿名多接收者签密方法,用于解决现有无证书匿名多接收者签密方法安全性差的技术问题。技术方案是首先由密钥生成中心KGC通过公开信道将伪部分私钥和部分公钥发送给用户,用户接收后,验证接收到的部分公钥和伪部分私钥是否成立,若是,则计算出用户的公钥、部分私钥以及私钥,否则停止操作;接下来将签密算法设计在椭圆曲线上,签密算法中的密文信息不包括发送者和接收者的身份信息,最后广播密文消息,只有授权接收者在验证密文消息合法的前提下,才解密密文消息获取明文消息。本发明专利技术通过公开信道将用户的伪部分私钥发送给用户,降低了成本;而且授权接收者在验证密文合法时,解密密文消息,提高了安全性。

【技术实现步骤摘要】
无安全信道的无证书匿名多接收者签密方法
本专利技术涉及一种无证书匿名多接收者签密方法,特别涉及一种无安全信道的无证书匿名多接收者签密方法。
技术介绍
文献“专利申请号是201710332215.7的中国专利技术专利”提出了一种无证书匿名多接收者签密方法。该方法首先密钥生成中心KGC生成用户的公钥和部分私钥,并将其发送给用户。用户收到公钥和部分私钥后,计算自己的私钥,并验证接收到的公钥和部分私钥是否正确,若正确,则继续执行后面的操作,否则停止操作;接下来在椭圆曲线上设计签密算法,得到签密密文,广播发送签密密文给接收者,但是只有授权的接收者才能正确地解密出明文消息。最后,授权的接收者验证明文消息的合法性,如果合法,授权接收者接收明文消息,否则,拒绝接收明文消息。该方法存在的不足之处是,首先,密钥生成中心KGC通过安全信道发送用户的部分私钥,意味着用户和密钥生成中心KGC在交互部分私钥时,安全性完全依赖于安全信道,如果安全信道遭到破坏,那么任何人都可以获取用户的部分私钥,并且使用安全信道的成本开销较大;其次,虽然该方法有签名操作,但是授权接收者是在解密得到明文消息后,再验证明文消息的合法性,这导致授权接收者会解密出无用或不真实甚至携带病毒的明文消息,从而给授权接收者带来一定的危害。综上所述,上述方法安全信道的使用不仅导致系统成本开销较大,而且导致用户部分私钥的安全性较低。另外授权接收者会解密出无用或不真实甚至携带病毒的明文消息,意味着上述方法的安全性较低。
技术实现思路
为了克服现有无证书匿名多接收者签密方法安全性差的不足,本专利技术提供一种无安全信道的无证书匿名多接收者签密方法。该方法首先由密钥生成中心KGC通过公开信道将伪部分私钥和部分公钥发送给用户,用户接收后,验证接收到的部分公钥和伪部分私钥是否成立,若成立,则计算出用户的公钥、部分私钥以及私钥,否则停止操作;接下来将签密算法设计在椭圆曲线上,签密算法中的密文信息不包括发送者和接收者的身份信息,最后广播密文消息,只有授权接收者在验证密文消息合法的前提下,才解密密文消息获取明文消息。预期的技术效果是:第一,密钥生成中心KGC通过公开信道将用户的伪部分私钥发送给用户,用户接收后计算出部分私钥,这不仅提高了用户部分私钥安全性,而且减少了系统成本开销;第二,授权接收者在验证密文合法的前提下,解密密文消息,避免解密出无用或者不真实甚至携带病毒的明文消息,提高了安全性。本专利技术解决其技术问题所采用的技术方案:一种无安全信道的无证书匿名多接收者签密方法,其特点是包括以下步骤:步骤一、用户U包括发送者S和接收者Ri,获取自己的公钥PKU和私钥SKU,其中i=1,2,…,n,n是正整数,表示发送者S选取的接收者的个数;步骤二、用户U随机选取一个整数vU∈Zp*作为秘密值,然后按照下式,用户U计算自己的秘密值参数VU:VU=vUP其中,vU表示用户U随机选取的秘密值,∈表示限定域符号,Zp*表示基于大素数p构成的非零乘法群,p表示密钥生成中心KGC选取的大素数,VU表示用户U的秘密值参数,P表示密钥生成中心KGC选取的加法循环群Gp上的生成元,Gp表示密钥生成中心KGC选取的椭圆曲线E上的加法循环群,E表示密钥生成中心KGC选取的有限域Fp上的安全的椭圆曲线,Fp表示密钥生成中心KGC选取的阶为大素数p的有限域;步骤三、用户U将秘密值参数VU和自己的身份信息IDU通过公开信道发送给密钥生成中心KGC,密钥生成中心KGC收到用户U的秘密值参数VU和身份信息IDU后,随机选取整数dU∈Zp*,按照下式,计算用户U的部分公钥DU:DU=H0(IDU,VU,dU)P其中,dU表示密钥生成中心KGC为用户U随机选取的整数,∈表示限定域符号,Zp*表示基于大素数p构成的非零乘法群,p表示密钥生成中心KGC选取的大素数,DU表示用户U的部分公钥,H0表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,VU表示用户U的秘密值参数,P表示密钥生成中心KGC选取的加法循环群Gp上的生成元;步骤四、按照下式,密钥生成中心KGC计算用户U的部分私钥yU:yU=H0(IDU,VU,dU)+s(modp)其中,yU表示用户U的部分私钥,H0表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,VU表示用户U的秘密值参数,dU表示密钥生成中心KGC为用户U随机选取的整数,s表示密钥生成中心KGC选取的系统主密钥,mod表示求模操作,p表示密钥生成中心KGC选取的大素数;步骤五、按照下式,密钥生成中心KGC计算用户U的伪部分私钥rU:rU=yU+H1(IDU,sVU)其中,rU表示用户U的伪部分私钥,yU表示用户U的部分私钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,s表示密钥生成中心KGC选取的系统主密钥,VU表示用户U的秘密值参数;步骤六、密钥生成中心KGC通过公开信道将用户U的部分公钥DU和伪部分私钥rU发送给用户U。步骤七、用户U接收到密钥生成中心KGC发送过来的部分公钥DU和伪部分私钥rU后,判断它们是否满足如下的等式。如果是,则执行步骤八,否则,用户U向密钥生成中心KGC报错,并退出用户注册过程;rUP=DU+Ppub+H1(IDU,vUPpub)P其中,rU表示用户U的伪部分私钥,DU表示用户U的部分公钥,Ppub表示密钥生成中心KGC生成的系统公钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,vU表示用户U随机选取的秘密值,P表示密钥生成中心KGC选取的加法循环群Gp上的生成元;步骤八、按照下式,用户U计算公钥PKU:PKU=DU+H1(IDU,VU)VU其中,PKU表示用户U的公钥,DU表示用户U的部分公钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,VU表示用户U的秘密值参数;步骤九、按照下式,用户U计算自己的部分私钥yU:yU=rU-H1(IDU,vUPpub)其中,yU表示用户U的部分私钥,rU表示用户U的伪部分私钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,vU表示用户U随机选取的秘密值,Ppub表示密钥生成中心KGC生成的系统公钥;步骤十、用户U按照下式计算私钥SKU:SKU=H1(IDU,PKU)(yU+H1(IDU,VU)vU)(modp)其中,SKU表示用户U的私钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,PKU表示用户U的公钥,yU表示用户U的部分私钥,VU表示用户U的秘密值参数,vU表示用户U随机选取的秘密值,mod表示求模操作,p表示密钥生成中心KGC选取的大素数;步骤十一、用户U将自己的公钥PKU通过公开信道发送给密钥生成中心KGC,并由密钥生成中心KGC对外公布用户U的公钥PKU,用户U安全地保存自己的私钥SKU,之后退出用户注册过程;步骤十二、发送者S判断自己是否已经执行了用户注册过程。若是,则执行步骤十三,否则,发送者S执行用户注册过程获取自己的公钥PKS和私钥SKS后,再执行步骤十三;步骤十三、发送者S随机选取已注册的接收者Ri,i=1,2,…,n,其中本文档来自技高网...

【技术保护点】
1.一种无安全信道的无证书匿名多接收者签密方法,其特征在于包括以下步骤:步骤一、用户U包括发送者S和接收者Ri,获取自己的公钥PKU和私钥SKU,其中i=1,2,…,n,n是正整数,表示发送者S选取的接收者的个数;步骤二、用户U随机选取一个整数vU∈Zp*作为秘密值,然后按照下式,用户U计算自己的秘密值参数VU:VU=vUP其中,vU表示用户U随机选取的秘密值,∈表示限定域符号,Zp*表示基于大素数p构成的非零乘法群,p表示密钥生成中心KGC选取的大素数,VU表示用户U的秘密值参数,P表示密钥生成中心KGC选取的加法循环群Gp上的生成元,Gp表示密钥生成中心KGC选取的椭圆曲线E上的加法循环群,E表示密钥生成中心KGC选取的有限域Fp上的安全的椭圆曲线,Fp表示密钥生成中心KGC选取的阶为大素数p的有限域;步骤三、用户U将秘密值参数VU和自己的身份信息IDU通过公开信道发送给密钥生成中心KGC,密钥生成中心KGC收到用户U的秘密值参数VU和身份信息IDU后,随机选取整数dU∈Zp*,按照下式,计算用户U的部分公钥DU:DU=H0(IDU,VU,dU)P其中,dU表示密钥生成中心KGC为用户U随机选取的整数,∈表示限定域符号,Zp*表示基于大素数p构成的非零乘法群,p表示密钥生成中心KGC选取的大素数,DU表示用户U的部分公钥,H0表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,VU表示用户U的秘密值参数,P表示密钥生成中心KGC选取的加法循环群Gp上的生成元;步骤四、按照下式,密钥生成中心KGC计算用户U的部分私钥yU:yU=H0(IDU,VU,dU)+s(modp)其中,yU表示用户U的部分私钥,H0表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,VU表示用户U的秘密值参数,dU表示密钥生成中心KGC为用户U随机选取的整数,s表示密钥生成中心KGC选取的系统主密钥,mod表示求模操作,p表示密钥生成中心KGC选取的大素数;步骤五、按照下式,密钥生成中心KGC计算用户U的伪部分私钥rU:rU=yU+H1(IDU,sVU)其中,rU表示用户U的伪部分私钥,yU表示用户U的部分私钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,s表示密钥生成中心KGC选取的系统主密钥,VU表示用户U的秘密值参数;步骤六、密钥生成中心KGC通过公开信道将用户U的部分公钥DU和伪部分私钥rU发送给用户U;步骤七、用户U接收到密钥生成中心KGC发送过来的部分公钥DU和伪部分私钥rU后,判断它们是否满足如下的等式;如果是,则执行步骤八,否则,用户U向密钥生成中心KGC报错,并退出用户注册过程;rUP=DU+Ppub+H1(IDU,vUPpub)P其中,rU表示用户U的伪部分私钥,DU表示用户U的部分公钥,Ppub表示密钥生成中心KGC生成的系统公钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,vU表示用户U随机选取的秘密值,P表示密钥生成中心KGC选取的加法循环群Gp上的生成元;步骤八、按照下式,用户U计算公钥PKU:PKU=DU+H1(IDU,VU)VU其中,PKU表示用户U的公钥,DU表示用户U的部分公钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,VU表示用户U的秘密值参数;步骤九、按照下式,用户U计算自己的部分私钥yU:yU=rU‑H1(IDU,vUPpub)其中,yU表示用户U的部分私钥,rU表示用户U的伪部分私钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,vU表示用户U随机选取的秘密值,Ppub表示密钥生成中心KGC生成的系统公钥;步骤十、用户U按照下式计算私钥SKU:SKU=H1(IDU,PKU)(yU+H1(IDU,VU)vU)(modp)其中,SKU表示用户U的私钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,PKU表示用户U的公钥,yU表示用户U的部分私钥,VU表示用户U的秘密值参数,vU表示用户U随机选取的秘密值,mod表示求模操作,p表示密钥生成中心KGC选取的大素数;步骤十一、用户U将自己的公钥PKU通过公开信道发送给密钥生成中心KGC,并由密钥生成中心KGC对外公布用户U的公钥PKU,用户U安全地保存自己的私钥SKU,之后退出用户注册过程;步骤十二、发送者S判断自己是否已经执行了用户注册过程;若是,则执行步骤十三,否则,发送者S执行用户注册过程获取自己的公钥PKS和私钥SKS后,再执行步骤十三;步骤十三、发送者S随机选取已注册的接收者Ri,i=1,2,…,n,其中,n是正整数,表示发送者S随机选取的接收者Ri的数目;步骤十...

【技术特征摘要】
1.一种无安全信道的无证书匿名多接收者签密方法,其特征在于包括以下步骤:步骤一、用户U包括发送者S和接收者Ri,获取自己的公钥PKU和私钥SKU,其中i=1,2,…,n,n是正整数,表示发送者S选取的接收者的个数;步骤二、用户U随机选取一个整数vU∈Zp*作为秘密值,然后按照下式,用户U计算自己的秘密值参数VU:VU=vUP其中,vU表示用户U随机选取的秘密值,∈表示限定域符号,Zp*表示基于大素数p构成的非零乘法群,p表示密钥生成中心KGC选取的大素数,VU表示用户U的秘密值参数,P表示密钥生成中心KGC选取的加法循环群Gp上的生成元,Gp表示密钥生成中心KGC选取的椭圆曲线E上的加法循环群,E表示密钥生成中心KGC选取的有限域Fp上的安全的椭圆曲线,Fp表示密钥生成中心KGC选取的阶为大素数p的有限域;步骤三、用户U将秘密值参数VU和自己的身份信息IDU通过公开信道发送给密钥生成中心KGC,密钥生成中心KGC收到用户U的秘密值参数VU和身份信息IDU后,随机选取整数dU∈Zp*,按照下式,计算用户U的部分公钥DU:DU=H0(IDU,VU,dU)P其中,dU表示密钥生成中心KGC为用户U随机选取的整数,∈表示限定域符号,Zp*表示基于大素数p构成的非零乘法群,p表示密钥生成中心KGC选取的大素数,DU表示用户U的部分公钥,H0表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,VU表示用户U的秘密值参数,P表示密钥生成中心KGC选取的加法循环群Gp上的生成元;步骤四、按照下式,密钥生成中心KGC计算用户U的部分私钥yU:yU=H0(IDU,VU,dU)+s(modp)其中,yU表示用户U的部分私钥,H0表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,VU表示用户U的秘密值参数,dU表示密钥生成中心KGC为用户U随机选取的整数,s表示密钥生成中心KGC选取的系统主密钥,mod表示求模操作,p表示密钥生成中心KGC选取的大素数;步骤五、按照下式,密钥生成中心KGC计算用户U的伪部分私钥rU:rU=yU+H1(IDU,sVU)其中,rU表示用户U的伪部分私钥,yU表示用户U的部分私钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,s表示密钥生成中心KGC选取的系统主密钥,VU表示用户U的秘密值参数;步骤六、密钥生成中心KGC通过公开信道将用户U的部分公钥DU和伪部分私钥rU发送给用户U;步骤七、用户U接收到密钥生成中心KGC发送过来的部分公钥DU和伪部分私钥rU后,判断它们是否满足如下的等式;如果是,则执行步骤八,否则,用户U向密钥生成中心KGC报错,并退出用户注册过程;rUP=DU+Ppub+H1(IDU,vUPpub)P其中,rU表示用户U的伪部分私钥,DU表示用户U的部分公钥,Ppub表示密钥生成中心KGC生成的系统公钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,vU表示用户U随机选取的秘密值,P表示密钥生成中心KGC选取的加法循环群Gp上的生成元;步骤八、按照下式,用户U计算公钥PKU:PKU=DU+H1(IDU,VU)VU其中,PKU表示用户U的公钥,DU表示用户U的部分公钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,VU表示用户U的秘密值参数;步骤九、按照下式,用户U计算自己的部分私钥yU:yU=rU-H1(IDU,vUPpub)其中,yU表示用户U的部分私钥,rU表示用户U的伪部分私钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,vU表示用户U随机选取的秘密值,Ppub表示密钥生成中心KGC生成的系统公钥;步骤十、用户U按照下式计算私钥SKU:SKU=H1(IDU,PKU)(yU+H1(IDU,VU)vU)(modp)其中,SKU表示用户U的私钥,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDU表示用户U的身份信息,PKU表示用户U的公钥,yU表示用户U的部分私钥,VU表示用户U的秘密值参数,vU表示用户U随机选取的秘密值,mod表示求模操作,p表示密钥生成中心KGC选取的大素数;步骤十一、用户U将自己的公钥PKU通过公开信道发送给密钥生成中心KGC,并由密钥生成中心KGC对外公布用户U的公钥PKU,用户U安全地保存自己的私钥SKU,之后退出用户注册过程;步骤十二、发送者S判断自己是否已经执行了用户注册过程;若是,则执行步骤十三,否则,发送者S执行用户注册过程获取自己的公钥PKS和私钥SKS后,再执行步骤十三;步骤十三、发送者S随机选取已注册的接收者Ri,i=1,2,…,n,其中,n是正整数,表示发送者S随机选取的接收者Ri的数目;步骤十四、按照下式,对每一个i=1,2,…,n,发送者S计算第i个接收者Ri的伪公钥Qi:Qi=PKi+Ppub其中,Qi表示第i个接收者Ri的伪公钥,PKi表示第i个接收者Ri的公钥,n表示发送者S随机选取的接收者Ri的数目,Ppub表示密钥生成中心KGC生成的系统公钥;步骤十五、发送者S随机选取签密整数w∈Zp*,按照下式计算发送者S的签密验证份额W:W=wP其中,w表示发送者S随机选取的签密整数,W表示发送者S的签密验证份额,∈表示限定域符号,Zp*表示基于大素数p构成的非零乘法群,P表示密钥生成中心KGC选取的加法循环群Gp上的生成元;步骤十六、按照下式,对每一个i=1,2,…,n,发送者S计算第i个接收者Ri的签密验证份额Fi:Fi=wH1(IDi,PKi)Qi其中,Fi表示第i个接收者Ri的签密验证份额,w表示发送者S随机选取的签密整数,H1表示密钥生成中心KGC选取的抗碰撞哈希函数,IDi表示第i个接收者Ri的身份信息,PKi表示第i个接收者Ri的公钥,Qi表示第i个接收者Ri的伪公钥,n表示发送者S随机选取的接收者Ri的数目;步骤十七、按照下式,对每一个i=1,2,…,n,发送者S计算第i个接收者Ri的伪身份值αi:αi=H2(W,Fi)其中,αi表示第i个接收者Ri的伪身份值,H2表示密钥生成中心KGC选取的抗碰撞哈希函数,W表示发送者S的签密验证份额,Fi表示第i个接收者Ri的签密验证份额,n表示发送者S随机选取的接收者Ri的数目;步骤十八、发送者S随机选取加密整数g∈Zp...

【专利技术属性】
技术研发人员:庞辽军贾生盼叩曼李慧贤
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1