CN107086911B - 一种cca安全的可委托验证的代理重加密方法 - Google Patents
一种cca安全的可委托验证的代理重加密方法 Download PDFInfo
- Publication number
- CN107086911B CN107086911B CN201710206772.4A CN201710206772A CN107086911B CN 107086911 B CN107086911 B CN 107086911B CN 201710206772 A CN201710206772 A CN 201710206772A CN 107086911 B CN107086911 B CN 107086911B
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- encryption
- public key
- data
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提出一种CCA安全的可委托验证的代理重加密方法,用于解决现有技术存在的加密方法安全性不足的问题,实现步骤为:数据拥有者生成系统参数并计算自己的公私钥;数据接收者计算自己的公私钥;数据拥有者对明文进行第二层密文加密,并把结果上传至云服务器,同时计算重加密密钥并发送至云服务器;云服务器对第二层密文进行复合加密,并对结果签名,同时计算签名验证密钥,最后将第二层密文、公钥加密密文、签名值和签名验证密钥发送至数据接收者;数据接收者将收到的数据和公钥加密私钥发送至委托方;委托方对公钥加密密文进行合法性验证;委托方对重加密密文进行完整性及合法性验证;数据接收者根据验证结果决定是否解密密文。
Description
技术领域
本发明属于计算机技术领域,涉及一种达到CCA安全的可委托验证的代理重加密方法,可应用于云计算、分布式文件系统、邮件系统等。
背景技术
云计算是一种新兴的计算模式。它能够提供便捷、按需的网络访问。这一优势使得计算资源贫乏的用户可以通过云平台来获取强大的计算、存储等能力。因此近年来云计算技术得到了快速发展,用户群也与日俱增。而在这过程中,为了保护用户数据的隐私性,需要对用户的数据进行加密再进行其他操作,以免对用户的权益造成损害。代理重加密技术作为一种特殊类型的公钥加密技术,允许代理在不暴露对应明文的基础上重新加密密文。这一技术依托云平台等第三方计算平台能够安全、便捷并且有针对性的传递消息。然而,由于云服务器有时为了快速计算和减小消耗,可能不会严格按照加密方法完成重加密过程,所以用户选择的加密方法需要能够满足可验证性来保证传递消息的合法性及完整性可以被验证。通过可委托验证这一验证方式,可以更加灵活且便捷的解决验证问题。
Xiaodong Lin和Rongxing Lu在论文“Proxy Re-encryption with DelegatableVerifiability”(Information Security and Privacy.2016.)中提出了一种可委托验证的代理重加密方法。该方法的具体步骤是:在第二层密文加密阶段,数据拥有者对数据接收者所需的明文消息进行第二层密文加密,得到第二层密文,并将第二层密文上传至云服务器;在重加密阶段,云服务器对第二层密文进行重加密,得到重加密密文,再对重加密密文进行公钥加密,得到公钥加密密文,并将公钥加密密文发送至数据接收者;在委托第三方验证阶段,委托方对公钥加密密文进行公钥加密解密得到重加密密文,并对重加密密文的合法性及完整性进行验证,然后将验证结果返回至数据接收者;在解密阶段,数据接收者对公钥加密密文进行公钥加密解密,得到重加密密文,再对重加密密文进行重加密解密,得到明文消息。在这过程中,数据接收者可以选择委托第三方验证,也可以选择自己进行验证,因此数据接收者能够灵活的控制验证权限。该方法的不足之处在于,由于非法用户可以从委托第三方验证阶段中获取公钥加密私钥,从而非法用户可以对公钥加密密文进行公钥加密解密,获取重加密密文,然后对重加密密文再次进行公钥加密,就能得到伪造的合法公钥加密密文,这一情形使得该方法只能达到RCCA安全这一较低的安全性,非法用户可以利用这一点侵害使用者的权益。
发明内容
本发明的目的是针对上述现有技术的不足,提出了一种CCA安全的可委托验证的代理重加密方法,利用签名算法保证了即便非法用户可以从委托第三方验证阶段中获取公钥加密私钥,非法用户也无法伪造合法公钥加密密文,从而达到CCA安全,用于解决现有技术存在的加密方法安全性不足的问题。
为实现上述目的,本发明采取的技术方案,包括如下步骤:
(1)数据拥有者根据自己的安全需求,生成系统参数param,包括:第一个群G中随机选择的七个成员g1,g2,h1,h2,u,v,w、加密参数L、四个哈希函数H0,H1,H2,H3、乘法循环群有限域和双线性映射e;
(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;
(7)云服务器将第二层密文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);
(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,否则不对密文进行解密。
本发明与现有技术相比,具有以下优点:
本发明由于在生成重加密密钥的过程中,利用签名密钥生成重加密密钥,保证了签名的有效性,从而确保密文无法被秘密篡改,使密文能够抵御更强类型的攻击者,避免了由于安全性不足导致用户权益受损的危害,与现有技术相比,有效的提高了加密方法的安全性,使用户能够更加安全高效的传递信息。
附图说明
图1为本发明的总体流程图。
具体实施方式
以下结合附图,对本发明作进一步详细说明。
步骤1,数据拥有者根据自己的安全需求,生成系统参数param,包括:第一个群G中随机选择的七个成员g1,g2,h1,h2,u,v,w、加密参数L、四个哈希函数H0,H1,H2,H3、乘法循环群有限域和双线性映射e,实施步骤为:
步骤1a,数据拥有者根据自己的安全需求,随机选取一个素数p,分别构建成员个数为p的第一个群G和第二个群GT、成员个数为p-1的乘法循环群和成员个数为p的有限域最后根据代数学中双线性映射的构建方法,利用第一个群G和第二个群GT构建双线性映射e:G×G→GT;
步骤1b,数据拥有者从第一个群G中随机选择七个成员g1,g2,h1,h2,u,v,w,并计算加密参数L,L=e(h1,h2),同时从哈希函数中选择四个哈希函数H0,H1,H2,H3,其中要求第一个哈希函数H0满足条件:是一个抗碰撞的哈希函数,l代表0-1串{0,1}的长度,要求第二个哈希函数H1满足条件:是一个抗碰撞且单向的哈希函数,l1代表0-1串{0,1}的长度,要求第三个哈希函数H2满足条件是一个普通的哈希函数,l2代表0-1串{0,1}的长度,要求第四个哈希函数H3满足条件:H3:{0,1}*→G是一个抗碰撞的哈希函数,*代表0-1串{0,1}的长度;
步骤3e,数据接收者将数据接收者公钥公布到公共信道当中,使数据拥有者可以在公共信道中查询到数据接收者公钥;
步骤4,数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员g2、成员u、成员v、成员w、加密参数L、哈希函数H0,哈希函数H1,和哈希函数H2,以及数据拥有者公钥pki,对数据接收者所需的明文消息m进行第二层密文加密,得到第二层密文C2,该第二层密文C2包括成员γc0c1c2c3c4c5,并将第二层密文C2发送至云服务器中存储;
步骤4b,数据拥有者计算用于第二层密文加密的中间参数ψ,ψ=H0(c0,c1),并计算第二层密文C2的成员c5,c5=(uψvγw)r;
步骤4c,数据拥有者将从有限域中随机选取第一成员γ作为第二层密文C2的成员之一,并与第二层密文C2的成员c0、成员c1、成员c2、成员c3、成员c4、成员c5合并,得到第二层密文C2,C2=(γ,c0,c1,c2,c3,c4,c5);
步骤4d,数据接收者将第二层密文C2发送至云服务器中存储;
步骤5,数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员g2和成员h2,计算重加密密钥rki→j并发送:数据拥有者从签名密钥空间随机选取签名密钥k,同时在公共信道查询数据接收者公钥pkj,并利用签名密钥k、数据接收者公钥pkj和数据拥有者私钥ski,计算重加密密钥rki→j,再将重加密密钥rki→j发送至云服务器,实现步骤为:
步骤5c,数据拥有者将重加密密钥rki→j发送至云服务器;
步骤6,云服务器对第二层密文C2进行复合加密,并对复合加密的结果进行签名,同时计算签名验证密钥K,实现步骤为:
步骤6a,云服务器根据系统参数param中第一个群G中随机选择的成员h1和双线性映射e,以及重加密密钥rki→j,对第二层密文C2进行重加密,得到重加密密文C1,实现方法为:云服务器利用第二层密文C2的成员,计算重加密密文C1的成员γ′,γ′=γ、成员c′0,c′0=c0、成员c′1,c′1=c1、成员c′2,和成员c′3,c′3=c5,然后将重加密密文C1的成员γ′、成员c′0、成员c′1、成员c′2和成员c′3合并,得到重加密密文C1,C1=(γ′,c′0,c′1,c′2,c′3);
步骤6b,云服务器根据重加密密钥rki→j,对重加密密文C1进行公钥加密,得到公钥加密密文C',实现方法为:云服务器将重加密密钥rki→j中数据接收者公钥加密公钥与重加密密文C1,带入公钥加密算法得到公钥加密密文C′;
步骤6c,云服务器根据系统参数param中哈希函数H3,以及签名密钥k,计算公钥加密密文C'的签名值σ,σ=H3(C′)k;
步骤7,云服务器将第二层密文C2、公钥加密密文C'、签名值σ和签名验证密钥K发送至数据接收者;
步骤9,委托方对公钥加密密文C'的合法性进行验证:委托方根据系统参数param中第一个群G中随机选择的成员g1、哈希函数H3和双线性映射e,分别计算签名验证参数e(H3(C′),K)和签名验证参数e(σ,g1),然后判断签名验证参数e(H3(C′),K)和签名验证参数e(σ,g1)是否相等,若是,则由签名算法的性质可知,公钥加密密文C'与签名值σ所对应的公钥加密密文为同一个密文,从而可得公钥加密密文C'为合法,执行步骤(10),否则,公钥加密密文C'为非法,将判断结果返回至数据接收者,并执行步骤(13);
步骤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)是否相等,若是,则由双线性映射e的性质可得,重加密密文C1确实是通过重加密得到的,从而重加密密文C1为完整,执行步骤(12),否则,重加密密文C1为不完整,将判断结果返回至数据接收者,并执行步骤(13);
步骤12,委托方对重加密密文C1进行合法性验证:第一判断,委托方判断重加密密文C1的成员γ′是否等于第二层密文C2的成员γ,第二判断,委托方判断重加密密文C1的成员c′0是否等于第二层密文C2的成员c0,第三判断,委托方判断重加密密文C1的成员c′1是否等于第二层密文C2的成员c1,第四判断,委托方判断重加密密文C1的成员c′3是否等于第二层密文C2的成员c5,然后委托方最终判断第一判断、第二判断、第三判断和第四判断的结果是否全部为是,若全部为是,则重加密密文C1为合法,即重加密密文C1是通过重加密第二层密文C2得到的,将最终判断结果返回至数据接收者,并执行步骤(13),否则,重加密密文C1为非法,将最终判断结果返回至数据接收者,并执行步骤(13);
步骤13,数据接收者根据接收的判断结果,决定是否解密密文,若验证的公钥加密密文C'为合法、重加密密文C1为完整且重加密密文C1为合法,则根据步骤(3)中计算的数据接收者私钥skj,对公钥加密密文C'进行公钥加密解密,得到重加密密文C1,再根据系统参数param中第一个群G中随机选择的成员h1、哈希函数H2和双线性映射e,以及数据接收者私钥skj对重加密密文C1进行重加密解密,得到明文消息m,否则不对密文进行解密,实现步骤为:
步骤13b,数据接收者将重加密密文C1的成员c′0,转换成长度为l的二进制表达形式,并将组成部分之一c′0的长度为l2的后半部分拆分出来,作为解密第一参数τ1;
Claims (4)
1.一种CCA安全的可委托验证的代理重加密方法,其特征在于包括如下步骤:
(1)数据拥有者根据自己的安全需求,生成系统参数param,包括:第一个群G中随机选择的七个成员g1,g2,h1,h2,u,v,w、加密参数L、四个哈希函数H0,H1,H2,H3、乘法循环群有限域和双线性映射e;
(3)数据接收者根据系统参数param中第一个群G中随机选择的成员g1、成员h1和乘法循环群计算数据接收者公钥pkj和数据接收者私钥skj,并将数据接收者公钥pkj公布到公共信道中,其中,数据接收者公钥pkj和数据接收者私钥skj的计算步骤为:
(4)数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员g2、成员u、成员v、成员w、加密参数L、哈希函数H0,哈希函数H1,和哈希函数H2,以及数据拥有者公钥pki,对数据接收者所需的明文消息m进行第二层密文加密,得到第二层密文C2,该第二层密文C2包括成员γc0 c1 c2 c3 c4c5,并将第二层密文C2发送至云服务器中存储;
(5)数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员g2和成员h2,计算重加密密钥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;
(7)云服务器将第二层密文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);
(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)数据拥有者根据自己的安全需求,随机选取一个素数p,分别构建成员个数为p的第一个群G和第二个群GT、成员个数为p-1的乘法循环群和成员个数为p的有限域最后根据代数学中双线性映射的构建方法,利用第一个群G和第二个群GT构建双线性映射e:G×G→GT;
(1b)数据拥有者从第一个群G中随机选择七个成员g1,g2,h1,h2,u,v,w,并计算加密参数L,L=e(h1,h2),同时从哈希函数中选择四个哈希函数H0,H1,H2,H3,其中要求第一个哈希函数H0满足条件:H0:是一个抗碰撞的哈希函数,l代表0-1串{0,1}的长度,要求第二个哈希函数H1满足条件:H1:是一个抗碰撞且单向的哈希函数,l1代表0-1串{0,1}的长度,要求第三个哈希函数H2满足条件H2:是一个普通的哈希函数,l2代表0-1串{0,1}的长度,要求第四个哈希函数H3满足条件:H3:{0,1}*→G是一个抗碰撞的哈希函数,*代表0-1串{0,1}的长度;
3.根据权利要求1所述的一种CCA安全的可委托验证的代理重加密方法,其特征在于,步骤(4)所述的数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员g2、成员u、成员v、成员w、加密参数L、哈希函数H0,哈希函数H1,和哈希函数H2,以及数据拥有者公钥pki,对数据接收者所需的明文消息m进行第二层密文加密,实现步骤为:
(4b)数据拥有者计算用于第二层密文加密的中间参数ψ,ψ=H0(c0,c1),并计算第二层密文C2的成员c5,c5=(uψvγw)r;
4.根据权利要求1所述的一种CCA安全的可委托验证的代理重加密方法其特征在于,步骤(13)所述的数据接收者根据步骤(3)中计算的数据接收者私钥skj,对公钥加密密文C'进行公钥加密解密,得到重加密密文C1,再根据系统参数param中第一个群G中随机选择的成员h1、哈希函数H2和双线性映射e,以及数据接收者私钥skj对重加密密文C1进行重加密解密,实现步骤为:
(13b)数据接收者将重加密密文C1的成员c′0,转换成长度为l的二进制表达形式,并将成员c′0二进制表达形式中后半部分长度为l2的拆分出来,作为解密第一参数τ1;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710206772.4A CN107086911B (zh) | 2017-03-31 | 2017-03-31 | 一种cca安全的可委托验证的代理重加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710206772.4A CN107086911B (zh) | 2017-03-31 | 2017-03-31 | 一种cca安全的可委托验证的代理重加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107086911A CN107086911A (zh) | 2017-08-22 |
CN107086911B true CN107086911B (zh) | 2020-04-07 |
Family
ID=59614591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710206772.4A Active CN107086911B (zh) | 2017-03-31 | 2017-03-31 | 一种cca安全的可委托验证的代理重加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107086911B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108365959B (zh) * | 2018-02-14 | 2020-09-15 | 东北大学 | 一种云环境下全代理的外包多项式验证方法 |
CN108600217B (zh) * | 2018-04-23 | 2022-08-12 | 南京理工大学 | 一种云端基于代理重加密的数据授权确定性更新方法 |
CN109359471B (zh) * | 2018-08-20 | 2021-02-26 | 北京中测安华科技有限公司 | 基于用户身份的加密方法、装置、系统、设备和介质 |
CN109039614A (zh) * | 2018-09-17 | 2018-12-18 | 杭州弗兰科信息安全科技有限公司 | 一种基于optimal ate的代理重加密方法 |
CN109462581B (zh) * | 2018-10-24 | 2021-06-01 | 电子科技大学 | 能够抵御暴力字典敌手持续攻击的密文去重方法 |
CN112818362B (zh) * | 2021-01-29 | 2023-09-22 | 江苏理工学院 | 基于r-lwe的公钥加密方法 |
CN112865968B (zh) * | 2021-02-08 | 2021-12-03 | 上海万向区块链股份公司 | 数据密文托管方法、系统、计算机设备及存储介质 |
CN112995189B (zh) * | 2021-03-08 | 2022-01-21 | 北京理工大学 | 一种基于隐私保护的公开验证矩阵乘法正确性的方法 |
CN115603902B (zh) * | 2022-09-27 | 2024-10-15 | 福建师范大学 | Cca安全的sm9匿名广播加密方法 |
CN117349889B (zh) * | 2023-10-20 | 2024-10-18 | 深圳市志合创伟信息技术有限公司 | 一种基于云计算的安全数据的访问控制方法、系统及终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883100A (zh) * | 2010-06-11 | 2010-11-10 | 北京大学 | 一种数字内容分布式授权方法 |
CN103095462A (zh) * | 2013-01-24 | 2013-05-08 | 中国科学院软件研究所 | 基于代理重加密和安全芯片的数据广播分发保护方法 |
CN103888249A (zh) * | 2013-12-04 | 2014-06-25 | 中国人民武装警察部队工程大学 | 组播通信用代理重加密方法 |
CN104363218A (zh) * | 2014-11-04 | 2015-02-18 | 河海大学 | 一种基于证书条件代理重加密方法和系统 |
-
2017
- 2017-03-31 CN CN201710206772.4A patent/CN107086911B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883100A (zh) * | 2010-06-11 | 2010-11-10 | 北京大学 | 一种数字内容分布式授权方法 |
CN103095462A (zh) * | 2013-01-24 | 2013-05-08 | 中国科学院软件研究所 | 基于代理重加密和安全芯片的数据广播分发保护方法 |
CN103888249A (zh) * | 2013-12-04 | 2014-06-25 | 中国人民武装警察部队工程大学 | 组播通信用代理重加密方法 |
CN104363218A (zh) * | 2014-11-04 | 2015-02-18 | 河海大学 | 一种基于证书条件代理重加密方法和系统 |
Non-Patent Citations (1)
Title |
---|
无证书盲签名方案;苏万力等;《电子科技大学学报》;20090731;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107086911A (zh) | 2017-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107086911B (zh) | 一种cca安全的可委托验证的代理重加密方法 | |
CN109040045B (zh) | 一种基于密文策略属性基加密的云存储访问控制方法 | |
CN108881314B (zh) | 雾计算环境下基于cp-abe密文隐私保护方法及系统 | |
CN103647642B (zh) | 一种基于证书代理重加密方法及系统 | |
CN104168108B (zh) | 一种泄露密钥可追踪的属性基混合加密方法 | |
CN110958219B (zh) | 一种面向医疗云共享数据的sm2代理重加密方法与装置 | |
CN107154845B (zh) | 一种基于属性的bgn型密文解密外包方案 | |
CN110113155B (zh) | 一种高效无证书公钥加密方法 | |
US20130251152A1 (en) | Key transport protocol | |
CN108989049B (zh) | 一种无双线性配对的代理重加密系统及加密方法 | |
CN114513327B (zh) | 一种基于区块链的物联网隐私数据快速共享方法 | |
CN106878322B (zh) | 一种基于属性的定长密文与密钥的加密、解密方法 | |
CN105025024A (zh) | 一种基于无证书条件代理重加密系统与方法 | |
CN114036539A (zh) | 基于区块链的安全可审计物联网数据共享系统及方法 | |
CN106713349B (zh) | 一种能抵抗选择密文攻击的群组间代理重加密方法 | |
US11997075B1 (en) | Signcrypted envelope message | |
CN109547413B (zh) | 具有数据源认证的可转换的数据云存储的访问控制方法 | |
CN114726546A (zh) | 数字身份认证方法、装置、设备和存储介质 | |
CN101964039B (zh) | 一种版权对象的加密保护方法和系统 | |
CN112350820B (zh) | 多接收者签密方法、发送端、接收端、系统及存储介质 | |
CN116318739B (zh) | 一种电子数据交换方法及系统 | |
CN114070549A (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
CN112511310B (zh) | 一种加密身份盲签名的混淆方法 | |
CN113779593A (zh) | 一种基于身份的双服务器授权密文等值判定方法 | |
CN114070550A (zh) | 一种信息处理方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |