CN107086911B - 一种cca安全的可委托验证的代理重加密方法 - Google Patents

一种cca安全的可委托验证的代理重加密方法 Download PDF

Info

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
Application number
CN201710206772.4A
Other languages
English (en)
Other versions
CN107086911A (zh
Inventor
詹宇
王保仓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201710206772.4A priority Critical patent/CN107086911B/zh
Publication of CN107086911A publication Critical patent/CN107086911A/zh
Application granted granted Critical
Publication of CN107086911B publication Critical patent/CN107086911B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0822Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/083Key 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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安全的可委托验证的代理重加密方法
技术领域
本发明属于计算机技术领域,涉及一种达到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、乘法循环群
Figure BDA0001260027020000021
有限域
Figure BDA0001260027020000022
和双线性映射e;
(2)数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员h1和乘法循环群
Figure BDA0001260027020000023
计算数据拥有者公钥pki和数据拥有者私钥ski
(3)数据接收者根据系统参数param中第一个群G中随机选择的成员g1、成员h1和乘法循环群
Figure BDA0001260027020000024
计算数据接收者公钥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,
Figure BDA0001260027020000031
(7)云服务器将第二层密文C2、公钥加密密文C'、签名值σ和签名验证密钥K发送至数据接收者;
(8)数据接收者将接收到的第二层密文C2、公钥加密密文C'、签名值σ和签名验证密钥K,以及数据接收者公钥加密私钥
Figure BDA0001260027020000032
发送至委托方;
(9)委托方对公钥加密密文C'的合法性进行验证:委托方根据系统参数param中第一个群G中随机选择的成员g1、哈希函数H3和双线性映射e,分别计算签名验证参数e(H3(C′),K)和签名验证参数e(σ,g1),然后判断签名验证参数e(H3(C′),K)和签名验证参数e(σ,g1)是否相等,若是,则公钥加密密文C'为合法,执行步骤(10),否则,公钥加密密文C'为非法,将判断结果返回至数据接收者,并执行步骤(13);
(10)委托方根据数据接收者公钥加密私钥
Figure BDA0001260027020000041
对公钥加密密文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,否则不对密文进行解密。
本发明与现有技术相比,具有以下优点:
本发明由于在生成重加密密钥的过程中,利用签名密钥生成重加密密钥,保证了签名的有效性,从而确保密文无法被秘密篡改,使密文能够抵御更强类型的攻击者,避免了由于安全性不足导致用户权益受损的危害,与现有技术相比,有效的提高了加密方法的安全性,使用户能够更加安全高效的传递信息。
附图说明
图1为本发明的总体流程图。
具体实施方式
以下结合附图,对本发明作进一步详细说明。
步骤1,数据拥有者根据自己的安全需求,生成系统参数param,包括:第一个群G中随机选择的七个成员g1,g2,h1,h2,u,v,w、加密参数L、四个哈希函数H0,H1,H2,H3、乘法循环群
Figure BDA0001260027020000051
有限域
Figure BDA0001260027020000052
和双线性映射e,实施步骤为:
步骤1a,数据拥有者根据自己的安全需求,随机选取一个素数p,分别构建成员个数为p的第一个群G和第二个群GT、成员个数为p-1的乘法循环群
Figure BDA0001260027020000053
和成员个数为p的有限域
Figure BDA0001260027020000054
最后根据代数学中双线性映射的构建方法,利用第一个群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满足条件:
Figure BDA0001260027020000055
是一个抗碰撞的哈希函数,l代表0-1串{0,1}的长度,要求第二个哈希函数H1满足条件:
Figure BDA0001260027020000057
是一个抗碰撞且单向的哈希函数,l1代表0-1串{0,1}的长度,要求第三个哈希函数H2满足条件
Figure BDA0001260027020000056
是一个普通的哈希函数,l2代表0-1串{0,1}的长度,要求第四个哈希函数H3满足条件:H3:{0,1}*→G是一个抗碰撞的哈希函数,*代表0-1串{0,1}的长度;
步骤1c,数据拥有者将从第一个群G中随机选择的七个成员g1,g2,h1,h2,u,v,w、加密参数L、四个哈希函数H0,H1,H2,H3、乘法循环群
Figure BDA0001260027020000061
有限域
Figure BDA0001260027020000062
和双线性映射e合并,得到系统参数param;
步骤2,数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员h1和乘法循环群
Figure BDA0001260027020000063
计算数据拥有者公钥pki和数据拥有者私钥ski,实现步骤为:
步骤2a,数据拥有者从乘法循环群
Figure BDA0001260027020000064
中随机的选取成员xi,yi,zi,作为数据拥有者重加密私钥
Figure BDA0001260027020000065
步骤2b,数据拥有者利用数据拥有者重加密私钥
Figure BDA0001260027020000066
计算数据拥有者重加密公钥
Figure BDA0001260027020000067
步骤2c,数据拥有者根据公钥加密密钥生成算法PKE·KeyGen,计算数据拥有者公钥加密公钥
Figure BDA0001260027020000068
和数据拥有者公钥加密私钥
Figure BDA0001260027020000069
步骤2d,数据拥有者合并数据拥有者重加密公钥
Figure BDA00012600270200000610
和数据拥有者公钥加密公钥
Figure BDA00012600270200000611
得到数据拥有者公钥pki,同时合并数据拥有者重加密私钥
Figure BDA00012600270200000612
和数据拥有者公钥加密私钥
Figure BDA00012600270200000613
得到数据拥有者私钥ski
步骤3,数据接收者根据系统参数param中第一个群G中随机选择的成员g1、成员h1和乘法循环群
Figure BDA00012600270200000614
计算数据接收者公钥pkj和数据接收者私钥skj,并将数据接收者公钥pkj公布到公共信道中,实现步骤为:
步骤3a,数据接收者从乘法循环群
Figure BDA00012600270200000615
中随机的选取成员xj,yj,zj,作为数据接收者重加密私钥
Figure BDA00012600270200000616
步骤3b,数据接收者利用数据接收者重加密私钥
Figure BDA00012600270200000617
计算数据接收者重加密公钥
Figure BDA00012600270200000618
步骤3c,数据接收者根据公钥加密密钥生成算法PKE·KeyGen,计算数据接收者公钥加密公钥
Figure BDA0001260027020000071
和数据接收者公钥加密私钥
Figure BDA0001260027020000072
步骤3d,数据接收者合并数据接收者重加密公钥
Figure BDA0001260027020000073
和数据接收者公钥加密公钥
Figure BDA0001260027020000074
得到数据接收者公钥pkj,同时合并数据接收者重加密私钥
Figure BDA0001260027020000075
和数据接收者公钥加密私钥
Figure BDA0001260027020000076
得到数据接收者私钥skj
步骤3e,数据接收者将数据接收者公钥公布到公共信道当中,使数据拥有者可以在公共信道中查询到数据接收者公钥;
步骤4,数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员g2、成员u、成员v、成员w、加密参数L、哈希函数H0,哈希函数H1,和哈希函数H2,以及数据拥有者公钥pki,对数据接收者所需的明文消息m进行第二层密文加密,得到第二层密文C2,该第二层密文C2包括成员γc0c1c2c3c4c5,并将第二层密文C2发送至云服务器中存储;
步骤4a,数据拥有者从有限域
Figure BDA0001260027020000077
中随机选取第一成员γ和第二成员r,并计算第二层密文C2的成员c0
Figure BDA0001260027020000078
成员c1
Figure BDA0001260027020000079
成员c2
Figure BDA00012600270200000710
成员c3
Figure BDA00012600270200000711
和成员c4
Figure BDA00012600270200000712
其中
Figure BDA00012600270200000713
表示异或操作;
步骤4b,数据拥有者计算用于第二层密文加密的中间参数ψ,ψ=H0(c0,c1),并计算第二层密文C2的成员c5,c5=(uψvγw)r
步骤4c,数据拥有者将从有限域
Figure BDA00012600270200000714
中随机选取第一成员γ作为第二层密文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发送至云服务器,实现步骤为:
步骤5a,数据拥有者从有限域
Figure BDA0001260027020000081
中随机选取成员s,t,同时将有限域
Figure BDA0001260027020000082
看作签名密钥空间,并从签名密钥空间随机选择签名密钥k,再计算第一部分重加密密钥
Figure BDA0001260027020000083
步骤5b,数据拥有者将第一部分重加密密钥
Figure BDA0001260027020000084
和数据接收者公钥加密公钥
Figure BDA0001260027020000085
合并,得到重加密密钥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
Figure BDA0001260027020000086
和成员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中数据接收者公钥加密公钥
Figure BDA0001260027020000087
与重加密密文C1,带入公钥加密算法
Figure BDA0001260027020000088
得到公钥加密密文C′;
步骤6c,云服务器根据系统参数param中哈希函数H3,以及签名密钥k,计算公钥加密密文C'的签名值σ,σ=H3(C′)k
步骤6d,云服务器根据系统参数param中第一个群G中随机选择的成员g1,以及签名密钥k,计算签名验证密钥K,
Figure BDA0001260027020000095
步骤7,云服务器将第二层密文C2、公钥加密密文C'、签名值σ和签名验证密钥K发送至数据接收者;
步骤8,数据接收者将接收到的第二层密文C2、公钥加密密文C'、签名值σ和签名验证密钥K,以及数据接收者公钥加密私钥
Figure BDA0001260027020000091
发送至委托方;
步骤9,委托方对公钥加密密文C'的合法性进行验证:委托方根据系统参数param中第一个群G中随机选择的成员g1、哈希函数H3和双线性映射e,分别计算签名验证参数e(H3(C′),K)和签名验证参数e(σ,g1),然后判断签名验证参数e(H3(C′),K)和签名验证参数e(σ,g1)是否相等,若是,则由签名算法的性质可知,公钥加密密文C'与签名值σ所对应的公钥加密密文为同一个密文,从而可得公钥加密密文C'为合法,执行步骤(10),否则,公钥加密密文C'为非法,将判断结果返回至数据接收者,并执行步骤(13);
步骤10,委托方根据数据接收者公钥加密私钥
Figure BDA0001260027020000092
对公钥加密密文C'进行公钥加密解密,得到重加密密文C1,实现方法为:委托方将公钥加密私钥
Figure BDA0001260027020000093
和公钥加密密文C′,带入公钥加密解密算法
Figure BDA0001260027020000094
得到重加密密文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)是否相等,若是,则由双线性映射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,否则不对密文进行解密,实现步骤为:
步骤13a,数据接收者将数据接收者公钥加密私钥
Figure BDA0001260027020000101
和公钥加密密文C′带入公钥加密解密算法
Figure BDA0001260027020000102
得到重加密密文C1
步骤13b,数据接收者将重加密密文C1的成员c′0,转换成长度为l的二进制表达形式,并将组成部分之一c′0的长度为l2的后半部分拆分出来,作为解密第一参数τ1
步骤13c,数据接收者将解密第一参数τ1转换为十进制,并计算解密第二参数T,
Figure BDA0001260027020000111
步骤13d,数据接收者利用解密第一参数τ1和解密第二参数T,计算明文m,
Figure BDA0001260027020000112

Claims (4)

1.一种CCA安全的可委托验证的代理重加密方法,其特征在于包括如下步骤:
(1)数据拥有者根据自己的安全需求,生成系统参数param,包括:第一个群G中随机选择的七个成员g1,g2,h1,h2,u,v,w、加密参数L、四个哈希函数H0,H1,H2,H3、乘法循环群
Figure FDA0002327557110000011
有限域
Figure FDA0002327557110000012
和双线性映射e;
(2)数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员h1和乘法循环群
Figure FDA0002327557110000013
计算数据拥有者公钥pki和数据拥有者私钥ski,实现步骤为:
(2a)数据拥有者从乘法循环群
Figure FDA0002327557110000014
中随机的选取成员xi,yi,zi,作为数据拥有者重加密私钥
Figure FDA0002327557110000015
(2b)数据拥有者利用数据拥有者重加密私钥
Figure FDA0002327557110000016
计算数据拥有者重加密公钥
Figure FDA0002327557110000017
Figure FDA0002327557110000018
(2c)数据拥有者根据公钥加密密钥生成算法PKE·KeyGen,计算数据拥有者公钥加密公钥
Figure FDA0002327557110000019
和数据拥有者公钥加密私钥
Figure FDA00023275571100000110
(2d)数据拥有者合并数据拥有者重加密公钥
Figure FDA00023275571100000111
和数据拥有者公钥加密公钥
Figure FDA00023275571100000112
得到数据拥有者公钥pki,同时合并数据拥有者重加密私钥
Figure FDA00023275571100000113
和数据拥有者公钥加密私钥
Figure FDA00023275571100000114
得到数据拥有者私钥ski
(3)数据接收者根据系统参数param中第一个群G中随机选择的成员g1、成员h1和乘法循环群
Figure FDA00023275571100000115
计算数据接收者公钥pkj和数据接收者私钥skj,并将数据接收者公钥pkj公布到公共信道中,其中,数据接收者公钥pkj和数据接收者私钥skj的计算步骤为:
(3a)数据接收者从乘法循环群
Figure FDA0002327557110000021
中随机的选取成员xj,yj,zj,作为数据接收者重加密私钥
Figure FDA0002327557110000022
(3b)数据接收者利用数据接收者重加密私钥
Figure FDA0002327557110000023
计算数据接收者重加密公钥
Figure FDA0002327557110000024
Figure FDA0002327557110000025
(3c)数据接收者根据公钥加密密钥生成算法PKE·KeyGen,计算数据接收者公钥加密公钥
Figure FDA0002327557110000026
和数据接收者公钥加密私钥
Figure FDA0002327557110000027
(3d)数据接收者合并数据接收者重加密公钥
Figure FDA0002327557110000028
和数据接收者公钥加密公钥
Figure FDA0002327557110000029
得到数据接收者公钥pkj,同时合并数据接收者重加密私钥
Figure FDA00023275571100000210
和数据接收者公钥加密私钥
Figure FDA00023275571100000211
得到数据接收者私钥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并发送,实现步骤为:
(5a)数据拥有者从有限域
Figure FDA00023275571100000212
中随机选取成员s,t,同时将有限域
Figure FDA00023275571100000213
看作签名密钥空间,并从签名密钥空间随机选择签名密钥k,再计算第一部分重加密密钥
Figure FDA00023275571100000214
Figure FDA00023275571100000215
(5b)数据拥有者将第一部分重加密密钥
Figure FDA00023275571100000216
和数据接收者公钥加密公钥
Figure FDA00023275571100000217
合并,得到重加密密钥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,
Figure FDA0002327557110000031
(7)云服务器将第二层密文C2、公钥加密密文C'、签名值σ和签名验证密钥K发送至数据接收者;
(8)数据接收者将接收到的第二层密文C2、公钥加密密文C'、签名值σ和签名验证密钥K,以及数据接收者公钥加密私钥
Figure FDA0002327557110000032
发送至委托方;
(9)委托方对公钥加密密文C'的合法性进行验证:委托方根据系统参数param中第一个群G中随机选择的成员g1、哈希函数H3和双线性映射e,分别计算签名验证参数e(H3(C′),K)和签名验证参数e(σ,g1),然后判断签名验证参数e(H3(C′),K)和签名验证参数e(σ,g1)是否相等,若是,则公钥加密密文C'为合法,执行步骤(10),否则,公钥加密密文C'为非法,将判断结果返回至数据接收者,并执行步骤(13);
(10)委托方根据数据接收者公钥加密私钥
Figure FDA0002327557110000033
对公钥加密密文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)数据拥有者根据自己的安全需求,随机选取一个素数p,分别构建成员个数为p的第一个群G和第二个群GT、成员个数为p-1的乘法循环群
Figure FDA0002327557110000051
和成员个数为p的有限域
Figure FDA0002327557110000052
最后根据代数学中双线性映射的构建方法,利用第一个群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:
Figure FDA0002327557110000053
是一个抗碰撞的哈希函数,l代表0-1串{0,1}的长度,要求第二个哈希函数H1满足条件:H1:
Figure FDA0002327557110000054
是一个抗碰撞且单向的哈希函数,l1代表0-1串{0,1}的长度,要求第三个哈希函数H2满足条件H2:
Figure FDA0002327557110000055
是一个普通的哈希函数,l2代表0-1串{0,1}的长度,要求第四个哈希函数H3满足条件:H3:{0,1}*→G是一个抗碰撞的哈希函数,*代表0-1串{0,1}的长度;
(1c)数据拥有者将从第一个群G中随机选择的七个成员g1,g2,h1,h2,u,v,w、加密参数L、四个哈希函数H0,H1,H2,H3、乘法循环群
Figure FDA0002327557110000056
有限域
Figure FDA0002327557110000057
和双线性映射e合并,得到系统参数param。
3.根据权利要求1所述的一种CCA安全的可委托验证的代理重加密方法,其特征在于,步骤(4)所述的数据拥有者根据系统参数param中第一个群G中随机选择的成员g1、成员g2、成员u、成员v、成员w、加密参数L、哈希函数H0,哈希函数H1,和哈希函数H2,以及数据拥有者公钥pki,对数据接收者所需的明文消息m进行第二层密文加密,实现步骤为:
(4a)数据拥有者从有限域
Figure FDA00023275571100000510
中随机选取第一成员γ和第二成员r,并计算第二层密文C2的成员c0
Figure FDA0002327557110000058
成员c1
Figure FDA0002327557110000059
成员c2
Figure FDA0002327557110000061
成员c3
Figure FDA0002327557110000062
和成员c4,c4=Yi r,其中
Figure FDA0002327557110000063
表示异或操作;
(4b)数据拥有者计算用于第二层密文加密的中间参数ψ,ψ=H0(c0,c1),并计算第二层密文C2的成员c5,c5=(uψvγw)r
(4c)数据拥有者将从有限域
Figure FDA0002327557110000064
中随机选取第一成员γ作为第二层密文C2的成员之一,并与第二层密文C2的成员c0、成员c1、成员c2、成员c3、成员c4、成员c5合并,得到第二层密文C2,C2=(γ,c0,c1,c2,c3,c4,c5)。
4.根据权利要求1所述的一种CCA安全的可委托验证的代理重加密方法其特征在于,步骤(13)所述的数据接收者根据步骤(3)中计算的数据接收者私钥skj,对公钥加密密文C'进行公钥加密解密,得到重加密密文C1,再根据系统参数param中第一个群G中随机选择的成员h1、哈希函数H2和双线性映射e,以及数据接收者私钥skj对重加密密文C1进行重加密解密,实现步骤为:
(13a)数据接收者将数据接收者公钥加密私钥
Figure FDA0002327557110000065
和公钥加密密文C′带入公钥加密解密算法
Figure FDA0002327557110000066
得到重加密密文C1
(13b)数据接收者将重加密密文C1的成员c′0,转换成长度为l的二进制表达形式,并将成员c′0二进制表达形式中后半部分长度为l2的拆分出来,作为解密第一参数τ1
(13c)数据接收者将解密第一参数τ1转换为十进制表达形式,并计算解密第二参数T,
Figure FDA0002327557110000067
(13d)数据接收者利用解密第一参数τ1和解密第二参数T,计算明文m,
Figure FDA0002327557110000068
CN201710206772.4A 2017-03-31 2017-03-31 一种cca安全的可委托验证的代理重加密方法 Active CN107086911B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 河海大学 一种基于证书条件代理重加密方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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