一种CCA安全的可委托验证的代理重加密方法技术

技术编号:16066890 阅读:62 留言:0更新日期:2017-08-22 18:14
本发明专利技术提出一种CCA安全的可委托验证的代理重加密方法,用于解决现有技术存在的加密方法安全性不足的问题,实现步骤为:数据拥有者生成系统参数并计算自己的公私钥;数据接收者计算自己的公私钥;数据拥有者对明文进行第二层密文加密,并把结果上传至云服务器,同时计算重加密密钥并发送至云服务器;云服务器对第二层密文进行复合加密,并对结果签名,同时计算签名验证密钥,最后将第二层密文、公钥加密密文、签名值和签名验证密钥发送至数据接收者;数据接收者将收到的数据和公钥加密私钥发送至委托方;委托方对公钥加密密文进行合法性验证;委托方对重加密密文进行完整性及合法性验证;数据接收者根据验证结果决定是否解密密文。

A CCA secure proxy authentication proxy re encryption method

The invention provides a CCA security verification may entrust the proxy re encryption method and encryption method is used to solve the problem existing in the prior art and insufficient security, implementation steps: data owner generation system parameters and calculating its own public key and private key; the data receiver calculates its own public key and private key; the data owner of message second ciphertext encryption, and the results are uploaded to the cloud server, and calculate the heavy encryption key is sent to the cloud server; cloud server on the second layer composite encrypted ciphertext, and the results calculated at the same time signature, signature verification key, the second layer of cipher and public key encryption, signature and ciphertext value signature verification key is sent to the data receiver; the data receiver will receive the data and public key encryption private key is sent to the client; the client of public key encryption ciphertext validity inspection The client verifies the integrity and legality of the encrypted ciphertext, and the data receiver decides whether to decrypt the ciphertext based on the result of the verification.

【技术实现步骤摘要】
一种CCA安全的可委托验证的代理重加密方法
本专利技术属于计算机
,涉及一种达到CCA安全的可委托验证的代理重加密方法,可应用于云计算、分布式文件系统、邮件系统等。
技术介绍
云计算是一种新兴的计算模式。它能够提供便捷、按需的网络访问。这一优势使得计算资源贫乏的用户可以通过云平台来获取强大的计算、存储等能力。因此近年来云计算技术得到了快速发展,用户群也与日俱增。而在这过程中,为了保护用户数据的隐私性,需要对用户的数据进行加密再进行其他操作,以免对用户的权益造成损害。代理重加密技术作为一种特殊类型的公钥加密技术,允许代理在不暴露对应明文的基础上重新加密密文。这一技术依托云平台等第三方计算平台能够安全、便捷并且有针对性的传递消息。然而,由于云服务器有时为了快速计算和减小消耗,可能不会严格按照加密方法完成重加密过程,所以用户选择的加密方法需要能够满足可验证性来保证传递消息的合法性及完整性可以被验证。通过可委托验证这一验证方式,可以更加灵活且便捷的解决验证问题。XiaodongLin和RongxingLu在论文“ProxyRe-encryptionwithDelegatableVeri本文档来自技高网...
一种CCA安全的可委托验证的代理重加密方法

【技术保护点】
一种CCA安全的可委托验证的代理重加密方法,其特征在于包括如下步骤:(1)数据拥有者根据自己的安全需求,生成系统参数param,包括:第一个群G中随机选择的七个成员g1,g2,h1,h2,u,v,w、加密参数L、四个哈希函数H0,H1,H2,H3、乘法循环群

【技术特征摘要】
1.一种CCA安全的可委托验证的代理重加密方法,其特征在于包括如下步骤:(1)数据拥有者根据自己的安全需求,生成系统参数param,包括:第一个群G中随机选择的七个成员g1,g2,h1,h2,u,v,w、加密参数L、四个哈希函数H0,H1,H2,H3、乘法循环群有限域和双线性映射e;(2)数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员h1和乘法循环群计算数据拥有者公钥pki和数据拥有者私钥ski;(3)数据接收者根据系统参数param中第一个群G中随机选择的成员g1、成员h1和乘法循环群计算数据接收者公钥pkj和数据接收者私钥skj,并将数据接收者公钥pkj公布到公共信道中;(4)数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员g2、成员u、成员v、成员w、加密参数L、哈希函数H0,哈希函数H1,和哈希函数H2,以及数据拥有者公钥pki,对数据接收者所需的明文消息m进行第二层密文加密,得到第二层密文C2,该第二层密文C2包括成员γc0c1c2c3c4c5,并将第二层密文C2发送至云服务器中存储;(5)数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员g2和成员h2,计算重加密密钥rki→j并发送:数据拥有者从签名密钥空间随机选取签名密钥k,同时在公共信道查询数据接收者公钥pkj,并利用签名密钥k、数据接收者公钥pkj和数据拥有者私钥ski,计算重加密密钥rki→j,再将重加密密钥rki→j发送至云服务器;(6)云服务器对第二层密文C2进行复合加密,并对复合加密的结果进行签名,同时计算签名验证密钥K,实现步骤为:(6a)云服务器根据系统参数param中第一个群G中随机选择的成员h1和双线性映射e,以及重加密密钥rki→j,对第二层密文C2进行重加密,得到重加密密文C1,该重加密密文C1包括成员γ′,c′0,c′1,c′2,c′3;(6b)云服务器根据重加密密钥rki→j,对重加密密文C1进行公钥加密,得到公钥加密密文C';(6c)云服务器根据系统参数param中哈希函数H3,以及签名密钥k,计算公钥加密密文C'的签名值σ,σ=H3(C′)k;(6d)云服务器根据系统参数param中第一个群G中随机选择的成员g1,以及签名密钥k,计算签名验证密钥K,(7)云服务器将第二层密文C2、公钥加密密文C'、签名值σ和签名验证密钥K发送至数据接收者;(8)数据接收者将接收到的第二层密文C2、公钥加密密文C'、签名值σ和签名验证密钥K,以及数据接收者公钥加密私钥发送至委托方;(9)委托方对公钥加密密文C'的合法性进行验证:委托方根据系统参数param中第一个群G中随机选择的成员g1、哈希函数H3和双线性映射e,分别计算签名验证参数e(H3(C′),K)和签名验证参数e(σ,g1),然后判断签名验证参数e(H3(C′),K)和签名验证参数e(σ,g1)是否相等,若是,则公钥加密密文C'为合法,执行步骤(10),否则,公钥加密密文C'为非法,将判断结果返回至数据接收者,并执行步骤(13);(10)委托方根据数据接收者公钥加密私钥对公钥加密密文C'进行公钥加密解密,得到重加密密文C1;(11)委托方对重加密密文C1的完整性进行验证:委托方根据系统参数param中第一个群G中随机选择的成员g1、成员u、成员v、成员w、哈希函数H0和双线性映射e,首先计算用于完整性验证的中间参数ψ′,ψ′=H0(c′0,c′1),再计算完整性验证参数e(c′1,uψ′vγw)和完整性验证参数e(g1,c′3),然后判断完整性验证参数e(c′1,uψ′vγw)和完整性验证参数e(g1,c′3)是否相等,若是,则重加密密文C1为完整,执行步骤(12),否则,重加密密文C1为不完整,将判断结果返回至数据接收者,并执行步骤(13);(12)委托方对重加密密文C1进行合法性验证:第一判断,委托方判断重加密密文C1的成员γ′是否等于第二层密文C2的成员γ,第二判断,委托方判断重加密密文C1的成员c′0是否等于第二层密文C2的成员c0,第三判断,委托方判断重加密密文C1的成员c′1是否等于第二层密文C2的成员c1,第四判断,委托方判断重加密密文C1的成员c′3是否等于第二层密文C2的成员c5,然后委托方最终判断第一判断、第二判断、第三判断和第四判断的结果是否全部为是,若全部为是,则重加密密文C1为合法,将最终判断结果返回至数据接收者,并执行步骤(13),否则,重加密密文C1为非法,将最终判断结果返回至数据接收者,并执行步骤(13);(13)数据接收者根据接收的判断结果,决定是否解密密文,若验证的公钥加密密文C'为合法、重加密密文C1为完整且重加密密文C1为合法,则根据步骤(3)中计算的数据接收者私钥skj,对公钥加密密文C'进行公钥加密解密,得到重加密密文C1,再根据系统参数param中第一个群G中随机选择的成员h1、哈希函数H2和双线性映射e,以及数据接收者私钥skj对重加密密文C1进行重加密解密,得到明文消息m,否则不对密文进行解密。2.根据权利要求1所述的一种CCA安全的可委托验证的代理重加密方法,其特征在于,步骤(1)所述的数据拥有者根据自己的安全需求,生成系统参数param,实现步骤为:(1a)数据拥有者根据自己的安全需求,随机...

【专利技术属性】
技术研发人员:詹宇王保仓
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1