Processing math: 17%
We use cookies to improve your experience with our site.

Identity-Based Encryption with Equality Test Supporting Accountable Authorization in Cloud Computing

Zhen Zhao, Bao-Cang Wang, Wen Gao

downloadPDF
赵臻, 王保仓, 高雯. 云计算环境下支持授权可追责的身份基密文等值测试[J]. 计算机科学技术学报, 2025, 40(1): 215-228. DOI: 10.1007/s11390-024-2933-y
引用本文: 赵臻, 王保仓, 高雯. 云计算环境下支持授权可追责的身份基密文等值测试[J]. 计算机科学技术学报, 2025, 40(1): 215-228. DOI: 10.1007/s11390-024-2933-y
Zhao Z, Wang BC, Gao W. Identity-based encryption with equality test supporting accountable authorization in cloud computing. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 40(1): 215−228, Jan. 2025. DOI: 10.1007/s11390-024-2933-y
Citation: Zhao Z, Wang BC, Gao W. Identity-based encryption with equality test supporting accountable authorization in cloud computing. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 40(1): 215−228, Jan. 2025. DOI: 10.1007/s11390-024-2933-y
赵臻, 王保仓, 高雯. 云计算环境下支持授权可追责的身份基密文等值测试[J]. 计算机科学技术学报, 2025, 40(1): 215-228. CSTR: 32374.14.s11390-024-2933-y
引用本文: 赵臻, 王保仓, 高雯. 云计算环境下支持授权可追责的身份基密文等值测试[J]. 计算机科学技术学报, 2025, 40(1): 215-228. CSTR: 32374.14.s11390-024-2933-y
Zhao Z, Wang BC, Gao W. Identity-based encryption with equality test supporting accountable authorization in cloud computing. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 40(1): 215−228, Jan. 2025. CSTR: 32374.14.s11390-024-2933-y
Citation: Zhao Z, Wang BC, Gao W. Identity-based encryption with equality test supporting accountable authorization in cloud computing. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 40(1): 215−228, Jan. 2025. CSTR: 32374.14.s11390-024-2933-y

云计算环境下支持授权可追责的身份基密文等值测试

Identity-Based Encryption with Equality Test Supporting Accountable Authorization in Cloud Computing

Funds: This work was partially supported by the National Natural Science Foundation of China under Grant Nos. 62102299, 62272362, and 62002288, the Henan Key Laboratory of Network Cryptography Technology under Grant No. LNCT2022-A05, and the Youth Innovation Team of Shaanxi Universities.
More Information
    Author Bio:

    Zhen Zhao received her M.S. and Ph.D. degrees from Xidian University, Xi'an, in 2016 and 2020, respectively. She is currently a lecturer at the School of Cyber Engineering, Xidian University, Xi'an. Her major research interest is the public-key cryptography, in particular, security proof, signature, and encryption schemes

    Bao-Cang Wang received his B.S. and M.S. degrees in mathematics, and his Ph.D. degree in cryptography from Xidian University, Xi'an, in 2001, 2004, and 2006, respectively. He is currently a professor with the School of Cyber Engineering, Xidian University, Xi'an. His main research interests include post quantum cryptography, wireless network security, and data mining

    Wen Gao received her Ph.D. degree in cryptography from Xidian University, Xi’an, in 2017. She is currently a lecturer at the School of Cyberspace Security, Xi’an University of Posts and Telecommunications, Xi’an. Her research interests include information security and post-quantum public key cryptography

    Corresponding author:

    Bao-Cang Wang: bcwang79@aliyun.com

  • 摘要:
    研究背景 

    信息时代,越来越多的人为了便利将需要处理的信息存储在云上,由具备强大存储和计算能力的云来代替他们进行操作。而为了在这种情况下保护数据的隐私安全,人们选择将数据加密之后再发送给云。因此,如何基于加密数据由第三方执行各种计算操作逐渐成为了密码学界和工业界的研究热点。身份基密文等值测试(IBEET)可以在不解密密文的情况下检测两个使用相同或不同公钥加密的密文对应的明文是否相等,可以用在邮件分类等实际应用场景。IBEET方案中,数据拥有者可以为第三方产生授权密钥,第三方使用该授权密钥对数据拥有者的数据进行密文等值测试。然而,现有的IBEET方案中,由于基于身份的密码体制中固有的密钥托管问题,非完全可信的密钥产生中心(PKG)可以随时为任何用户产生授权密钥,甚至也可能会为了利益,将授权密钥非法分享、出售,而且数据拥有者没有办法对PKG的这种行为进行追责。

    目的 

    本文的研究目标是针对在IBEET中非完全可信的PKG非法共享用户授权密钥,而用户无法追责的问题,提出一种支持授权追责的IBEET密码机制。

    方法 

    针对非完全可信PKG可以非法分享授权密钥而用户无法追责的问题,本文将IBEET中传统的授权算法改为了需要由数据拥有者、PKG以及测试者交互运行产生授权密钥的授权协议。协议使用了零知识证明(ZKP)保障PKG无法获知测试者最终得到的授权密钥。即,测试者最终的授权密钥可能有指数多个,测试者使用ZKP最终获取了其中一个,但PKG无法得知测试者具体获得了哪一个。此外,针对附加的授权可追责功能,本文设计了三个新的安全模型来分别保障针对恶意授权者、PKG以及测试者的安全性。抗恶意授权者的安全性确保了盗版授权密钥只可能由PKG或关联的测试者产生。而抗恶意PKG和抗恶意测试者的安全性保障了PKG和测试者无法陷害彼此。基于Gentry身份基加密方案,我们给出了一个具体的可证明安全的IBEET-AA方案。

    结果 

    本文提出了一个新的密码原语——支持授权可追责的身份基密文等值测试(IBEET-AA)。IBEET-AA不仅支持在不解密的前提下对密文对应明文的相等性进行检测,而且还能够追踪有争议的授权密钥,找到该授权密钥的真正产生者,从而支持有效追责。本文基于Gentry身份基加密,提出了一个具体的IBEET-AA方案,并分别基于q-DABDHE困难问题证明了方案的OW-ID-CPA和IND-ID-CPA安全性,基于q-SDH困难问题证明了方案抗抗恶意授权者和测试者的安全性,基于DL困难问题证明了方案抗恶意PKG的安全性。

    结论 

    本文首次提出了现有IBEET-AA方案中存在的恶意授权密钥分享问题,该问题使得现实应用中可能会出现非完全可信的PKG可以随意生成并分享数据拥有者的授权密钥,并且该行为不会被追踪到。针对这一问题,本文提出了支持授权可追责的IBEET,即IBEET-AA。应用在实际场景中时,IBEET-AA能够支持对密文进行等式检测的同时保障数据拥有者的合法授权权益。如果出现PKG或者测试者非法分享授权密钥的情况,任何人可以向第三方仲裁机构提出申请,IBEET-AA支持对该盗版授权密钥背后生产者的追踪。IBEET-AA解决了IBEET在实际中应用时会出现的问题,符合实际应用需求。

    Abstract:

    Identity-based encryption with equality test (IBEET) is proposed to check whether the underlying messages of ciphertexts, even those encrypted with different public keys, are the same or not without decryption. Since people prefer to encrypt before outsourcing their data for privacy protection nowadays, the research of IBEET on cloud computing applications naturally attracts attention. However, we claim that the existing IBEET schemes suffer from the illegal trapdoor sharing problem caused by the inherited key escrow problem of the Identity-Based Encryption (IBE) mechanism. In traditional IBEET, the private key generator (PKG) with the master secret key generates trapdoors for all authorized cloud servers. Considering the reality in practice, the PKG is usually not fully trusted. In this case, the Private-Key Generator (PKG) may generate, share, or even sell any trapdoor without any risk of being caught, or not being held accountable, which may lead to serious consequences such as the illegal sharing of a gene bank’s trapdoors. In this paper, to relieve the illegal trapdoor sharing problem in IBEET, we present a new notion, called IBEET Supporting Accountable Authorization (IBEET-AA). In IBEET-AA, if there is a disputed trapdoor, the generator will be distinguished among the PKG and suspected testers by an additional tracing algorithm. For the additional tracing function, except for the traditional indistinguishability (IND) and one-way (OW) security models in IBEET, we define three more security models to protect the tracing security against dishonest authorizers, PKG, and testers, respectively. Based on Gentry’s IBE scheme, we instantiate IBEET-AA and give a specific construction along with a formalized security proof with random oracles.

  • It is convenient for people to outsource gradually increasing amounts of data on their local devices to cloud servers with powerful storage and computing abilities. To protect the privacy of sensitive data, people prefer to encrypt their data before outsourcing them. As a consequence, cloud servers cannot directly perform computations on outsourced data as on raw data, while it will be meaningless if the outsourced data can only be downloaded and locally processed by the outsourcers themselves. For this challenge, a sequence of techniques was proposed, such as searchable encryption (SE)[1] supporting search on encrypted data, fully homomorphic encryption (FHE)[2] supporting addition and multiplication on encrypted data, and public-key encryption with equality test (PKEET)[3] supporting equality tests on encrypted data. In particular, PKEET can check whether the underlying messages of ciphertexts are equal or not without decryption, even those that are encrypted with different public keys. This property enables PKEET to be technically useful in many scenarios, such as friend matching. For those people who want to make friends and dislike showing their interests on the Internet, they can upload their encrypted interests to the website. The website can then perform PKEET on encrypted interests and recommend people to those with the same interests.

    Due to the certificate management problem in public-key infrastructure, Ma[4] extended PKEET to Identity-Based Encryption (IBEET). The existing IBEET schemes inherit the system model proposed by Ma[4]. As shown in Fig.1, there are three kinds of entities, the private key generator (PKG), cloud servers, and authorizers U1,U2,,Un. In IBEET, the PKG generates private keys for all authorizers. An authorizer first sends his/her identity ID to the PKG. After verifying the validity of ID, the PKG generates and returns the corresponding private key dID to the authorizer. The authorizer can encrypt his/her data with ID and upload it to the cloud server. Note that, due to the property of IBE, authorizers can encrypt their data before requesting a private key from the PKG. Once an authorizer tends to obtain test results on his/her ciphertexts, he/she performs the following steps. Without loss of generality, we assume the authorizer U1 with identity ID tries to obtain the test results. U1 sends an authorization submission to the PKG that can then construct a trapdoor tdID for the cloud server. We also notice that the trapdoor is generated by the PKG in IBEET, instead of by the authorizer as that in PKEET. With the received trapdoor tdID and test order from U1, the cloud server performs equality tests on ciphertexts of U1 and other authorized ciphertexts. Finally, it sends the test results 1/0 to U1, where 1 denotes that the underlying messages of the ciphertexts are equal and 0 else.

    Figure  1.  System model of IBEET in cloud computing. dID: the private key of the authorizer U1 with ID. tdID: the trapdoor of the authorizer U1 with ID.

    However, we claim that the above IBEET system model suffers from the illegal trapdoor sharing problem caused by the inherited key escrow problem of IBE. As we emphasized in the last paragraph, in IBEET, trapdoors are generated and distributed by the PKG with the master secret key and then sent to the authorized cloud servers. That is, the PKG has full control over trapdoors. In practice, the PKG could be a not-fully-trusted company, which means they may freely generate trapdoors of any authorizer and even illegally share or sell them without any risk of being caught in IBEET. Meanwhile, an authorized cloud server may also share its received trapdoor out of economic profits or some other reason. This means once there is a disputed trapdoor, it could be constructed by the PKG or one of the authorized cloud servers, while the existing IBEET schemes cannot tell the real generator. This problem may lead to serious consequences, such as illegal trapdoor sharing for a gene bank. Then we have a challenge that how to identify the real generator of a given disputed trapdoor with convincing evidence such that the suspect can be held accountable in IBEET.

    In this paper, we fill this gap in the literature on IBEET. Specifically, our contributions are three fold and summarized as follows.

    1) We introduce accountability into IBEET and present a new notion, called IBEET Supporting Accountable Authorization (IBEET-AA). In IBEET-AA, not only the equality of ciphertexts' underlying messages can be checked, but also the real generator of a pirated trapdoor can be traced among the PKG and suspected testers. As shown in Fig.2, there is a third party in IBEET-AA compared with IBEET. The additional third party can be considered as the court in practice such that the real generator of the pirated trapdoor can be held accountable. Differing from that in traditional IBEET, the trapdoors in IBEET-AA are interactively generated by the PKG and authorized cloud servers such that the PKG has no knowledge of which trapdoor the authorized cloud server finally obtains, although trapdoors are generated with the help of PKG. This prevents the PKG from framing the tester by sharing the same trapdoor. Also, the cloud server identity IDt is inserted in the trapdoor to enable possible tracing, which enables the related tester to be distinguished from all the authorized testers.

    Figure  2.  System model of IBEET-AA in cloud computing. IDt: the identity of the tester. tdID, IDt: the trapdoor of the authorizer U1 with ID for the tester with IDt. tdID, ,tdID, : the to-be-traced trapdoor related to the authorizer U1 with ID and an unknown tester with identity .

    2) We give the formalized definition and security models of IBEET-AA. In traditional IBEET, there are two types of adversaries against message confidentiality, and the indistinguishability (IND) and one-way (OW) security models[4] are designed to prevent their attacks, respectively. In IBEET, due to the additional tracing function, we depict three more types of adversaries to protect tracing security against dishonest authorizers, the PKG, and testers, respectively. The security against dishonest authorizers ensures that an authorizer with ID cannot forge a trapdoor with which the ciphertexts encrypted with ID can be tested. The security against dishonest PKG prevents the PKG from framing a tester by generating a trapdoor with which the third party will determine the related tester as its generator. The security against dishonest testers prevents the tester from framing the PKG.

    3) Similar to the accountability in IBE, we split IBEET-AA into black-box and white-box IBEET-AA according to whether the scheme can further trace a decoder box or not, instead of only the well-formed trapdoors. We instantiate the IBEET-AA and propose a white-box IBEET-AA construction based on Gentry’s IBE scheme[5]. Compared with Gentry’s scheme, our scheme has the same key size and just one more element in the ciphertext. We give the formal proof of the proposed IBEET-AA scheme under five security models to prove its message confidentiality and security against dishonest authorizers, the PKG, and testers. For simplicity, we apply the IND-CPA version of Gentry’s IBE scheme, but our scheme can be extended to CCA security by applying the technique of [5].

    PKEET. The notion of PKEET was proposed by Yang et al.[3] along with the first related construction in which everyone can play the role of the tester. Tang introduced the authorization into PKEET[6] and formalized the IND and OW security models against the unauthorized and authorized adversary for message confidentiality in PKEET, respectively[7]. Subsequent efforts have mainly been devoted to kinds of authorizations on the testing scope to satisfy different privacy requirements[7, 8], improving security[9-11], extensions to other primitives[12-14], and flexible functions[15-17].

    IBEET. To simplify the complex certificate management in PKEET, Ma[4] firstly presented the concept of IBEET. Wu et al.[18] improved the efficiency by reducing the demand for time-consuming hash-to-point operations. To endow flexible authorizations to the participants of IBEET systems, Li et al.[19] introduced the notion of IBEET supporting flexible authorization (IBEET-FA), which is a variant of PKEET-FA[20] in the identity-based setting. Lee et al.[21] presented a semi-generic method for IBEET and Lin et al.[22] improved the efficiency and gave a generic IBEET construction. Also, Lee et al.[23] gave a generic IBEET construction that is secure in the standard model, while most previous schemes are secure with the random oracle model.

    We recall the definition of IBEET as below[4].

    Setup(1λ). Taking as input a security parameter 1λ, it generates the master public/secret key pair (mpk,msk), where mpk naturally contains the message space M and the identity space ID, denoted by (mpk,msk)Setup(1λ).

    KeyGen(mpk,msk,ID). Taking as input an identity IDID, it generates the corresponding private key dID, denoted by dIDKeyGen(mpk,msk,ID). For the same ID, it will output the same dID.

    Aut(mpk,msk,ID). It generates a trapdoor tdID with which any tester can perform equality tests on the ciphertexts encrypted with ID, denoted by tdIDAut(mpk,msk,ID).

    Enc(mpk,ID,M). Taking as input a message MM, it generates a ciphertext CT, denoted by CTEnc(mpk,ID,M).

    Dec(mpk,dID,CT). Taking as input the private key dID of user with ID and a ciphertext CT encrypted with ID, it returns a message M or , denoted by M/Dec(mpk,dID,CT).

    Test(mpk,tdID1,tdID2,CT1,CT2). Taking as input two trapdoors tdID1,tdID2 and two ciphertexts CT1,CT2 encrypted with (ID1,M1),(ID2,M2), respectively, it outputs 1 or 0 denoting that M1=M2 or M1M2, respectively, denoted by 1/0Test(mpk, tdID1,tdID2,CT1,CT2).

    Obviously, the correctness of IBEET requires decryption and testing correctness.

    Decryption Correctness. Given any master key pair (mpk,msk)Setup(1λ), identity IDID, private key dIDKeyGen(mpk,msk,ID), message MM, and ciphertext CTEnc(mpk,ID,M), we have

    MDec(mpk,dID,CT).

    Testing Correctness. Given any master key pair (mpk,msk)Setup(1λ), identities IDiM, trapdoors tdIDiAut(mpk,msk,IDi), messages MiM, and ciphertexts CTiEnc(mpk,IDi,Mi), i{1,2},

    ● if M1=M2, we have

    1Test(mpk,tdID1,tdID2,CT1,CT2);

    ● if M1M2, we have

    0Test(mpk,tdID1,tdID2,CT1,CT2).

    As traditional PKEET schemes[7], there are two types of adversaries against message confidentiality in IBEET.

    1) The type-1 adversary is not allowed to issue the trapdoor query related to the challenge identity ID that is encrypted in the challenge ciphertext CT, which means it cannot perform equality tests on CT. For the type-1 adversary A=(A1,A2), the IND-ID-ATK security model is defined as Fig.3, where ATK could be CCA, CCA1, and CPA.

    Figure  3.  IND-ID-ATK game. M0,M1: two messages chosen by the adversary A. δ: information known by the adversary A when it accesses the O1 oracle. b: a random bit chosen from {0,1}. b: the bit output by the adversary A.

    As defined, the adversary can run A1 and A2 to access the O1 and O2 oracle, respectively. We have that

    ● if ATK=CCA, O1,O2={Ok,Od,Ot},

    ● if ATK=CCA1, O1={Ok,Od,Ot},O2={Ok,Ot},

    ● if ATK=CPA, O1,O2={Ok,Ot},

    where we define Ok as the private key oracle with input ID, Od as the decryption oracle with input (ID,CT), and Ot as the trapdoor oracle with input ID. In particular, ID cannot be queried to Ok and Ot, and (ID,CT) cannot be queried to Od. The advantage of A in winning the above game is defined as

    AdvIND-ID-ATKIBEET,A(1λ)=Pr

    2) The type-2 adversary is allowed to query the trapdoor related to ID^* . For the type-2 adversary \mathcal{A} , the OW-ID-ATK security model is defined as Fig.4, where ATK could be CCA and CPA.

    Figure  4.  OW-ID-ATK game. \delta: information known by the adversary \mathcal{A} when it accesses the \mathcal{O} oracle. M^*: the challenge message chosen from the message space \mathcal{M}. M': the message output by the adversary \mathcal{A}.

    In the game, the adversary can access the oracle \mathcal{O} , and we have that

    ● if ATK=CCA, \mathcal{O}=\{ \mathcal{O}_k,\, \mathcal{O}_d,\, \mathcal{O}_t\} ,

    ● if ATK=CPA, \mathcal{O}=\{ \mathcal{O}_k,\, \mathcal{O}_t\} .

    We still define oracles \mathcal{O}_k,\, \mathcal{O}_d,\, \mathcal{O}_t with the restriction that ID^* cannot be queried to \mathcal{O}_k and (ID^*,\, CT^*) cannot be queried to \mathcal{O}_d . The advantage of \mathcal{A} in winning the above game is defined as

    Adv^{{{\mathrm{OW}}{\text{-}}{\mathrm{ID}}{\text{-}}{\mathrm{ATK}}}}_{\rm{IBEET},\, \mathcal{A}}(1^{\lambda})=\Pr[M'=M].

    q -SDH Assumption[24]. Let \mathbb{G} be a cyclic group of prime order p , g be a generator of \mathbb{G} , and a\in \mathbb{Z}_p be a randomly chosen number. Given g,\, g^a,\, g^{a^2},\, \ldots,\, g^{a^q}\in \mathbb{G} , no probabilistic polynomial-time algorithm can compute the tuple (s,\, g^{\tfrac{1}{a+s}})\in \mathbb{Z}_p \times \mathbb{G} for any s\in \mathbb{Z}_p with non-negligible advantage.

    DL Assumption. Let \mathbb{G} be a cyclic group of prime order p , g be a generator of \mathbb{G} , and a\in \mathbb{Z}_p be a randomly chosen number. Given g,\, g^a\in \mathbb{G} , no probabilistic polynomial-time algorithm can compute a with non-negligible advantage.

    q -DABDHE Assumption[5]. Let \mathbb{G},\, \mathbb{G}_T be cyclic groups of prime order p , e: \mathbb{G}\times \mathbb{G}\rightarrow \mathbb{G}_T be a pairing, g and h be generators of \mathbb{G} , and a,\, q \in \mathbb{Z}_p be randomly chosen numbers. Given g,\, g^a,\, g^{a^2},\, \ldots,\, g^{a^q},\, h, h^{a^{q+2}}\in \mathbb{G}, Z\in \mathbb{G}_T , no probabilistic polynomial-time algorithm can determine whether Z=e(g,\, h)^{a^{q+1}} holds or not with non-negligible advantage.

    To relieve the illegal trapdoor sharing problem caused by the key escrow problem in IBEET when being applied in cloud computing, we introduce the notion of accountable authorization into IBEET and present a new notion, called IBEET Supporting Accountable Authorization (IBEET-AA). Using IBEET-AA, the real generator of pirated trapdoors can be extracted to be held accountable. This deters the suspectors from illegally sharing their trapdoors with others.

    As shown in Fig.2, in IBEET-AA, an authorization protocol, instead of an algorithm as that in traditional IBEET schemes, is designed to generate trapdoors for authorized cloud servers. The PKG interacts with the cloud server to construct the trapdoor, and only the tester knows the final exact trapdoor while the PKG does not. An additional tracing algorithm is constructed to trace the generator of a disputed trapdoor. Of particular importance is that we also divide IBEET-AA into different types as that in other accountable primitives[25]. According to whether the tracing algorithm can only trace a well-formed pirated trapdoor or can further trace a decoder box, IBEET-AA is classified into white-box and black-box IBEET-AA. An IBEET-AA scheme consists of the following seven algorithms.

    1) \sf {AA.Setup}( 1^{\lambda} ). The same as {\sf Setup} , it is denoted by (mpk,\, msk)\leftarrow {\sf AA.Setup}(1^{\lambda}) .

    2) \sf {AA.KeyGen} ( mpk,\, msk,\, ID ). The same as {\sf KeyGen} , it is denoted by d_{ID}\leftarrow {\sf AA.KeyGen}(mpk,\, msk,\, ID) .

    3) \sf {AA.Aut} ( mpk,\, msk,\, ID,\, ID_t ). This is an authorization protocol run by the PKG and the to-be-authorized tester with ID_t . Finally, the tester obtains the trapdoor td_{ID, \, ID_t} , denoted by td_{ID,\, ID_t}\leftarrow {\sf AA.Aut} (mpk, msk,\, ID,\, ID_t) . Note that, the PKG does not know which trapdoor the tester finally obtains. At any time, any party may abort. For the same (ID,\, ID_t) , it will output the same td_{ID,\, ID_t} .

    4) \sf {AA.Enc} ( mpk,\, ID,\, M ). The same as {\sf Enc} , it is denoted by CT\leftarrow {\sf AA.Enc}(mpk,\, ID,\, M) .

    5) \sf {AA.Dec} ( mpk,\, d_{ID},\, CT ). The same as {\sf Dec}, it is denoted by M/\bot \leftarrow {\sf AA.Dec}(mpk,\, CT,\, d_{ID}) .

    6) \sf AA.Test ( mpk, td_{ID_1, ID_t}, td_{ID_2,\ ID_t}, CT_1, CT_2 ). Taking as input trapdoors td_{ID_1,\, ID_t}, td_{ID_2,\, ID_t} and two ciphertexts CT_1,\, CT_2 , where trapdoors are relate to the same tester as ID_t and the ciphertext CT_i is encrypted with (ID_i,\, M_i) for i\in \{1,2\} , the testing algorithm outputs 1 or 0 denoting that M_1=M_2 or M_1\neq M_2 , respectively, denoted by 1/0 \leftarrow {\sf AA.Test}(mpk, td_{ID_1,\, ID_t},\, td_{ID_2,\, ID_t},\, CT_1,\, CT_2) .

    7) \sf AA.Trace . Given a disputed pirated trapdoor td_{ID,\, *}' with which the ciphertexts encrypted with ID can be tested, the tracing algorithm can extract the real generator by tester tracing and authority tracing as follows.

    \sf AA.TTrace ( mpk,\, td_{ID,\, *},\, \{ ID_{t,\, i}\}_{1\leqslant i\leqslant n_{ID}} ). Suppose there are n_{ID} testers authorized by ID with corresponding identities as \{ ID_{t,i}\}_{1\leqslant i\leqslant n_{ID}} . Taking as input the pirated trapdoor td_{ID,\, *}' , the tester tracing algorithm outputs the identity ID_t of related tester, where ID_t\in \{ID_{t_i}\}_{1\leqslant i\leqslant n_{ID}} , denoted by ID_t\leftarrow {\sf AA.TTrace}(mpk,\, td_{ID,*}',\, \{ID_{t,\, i}\}_{1\leqslant i\leqslant n_{ID}}) . We then have that the given disputed trapdoor td_{ID,\, *}' is td_{ID,\, ID_t}' .

    \sf AA.ATrace ( mpk,\, td_{ID,\, ID_t},\, td_{ID,\, ID_t}' ). Taking as input the pirated trapdoor td_{ID,\, ID_t}' and the trapdoor td_{ID,\, ID_t} of the tester with ID_t , the authority tracing algorithm outputs T or PKG denoting that the pirated trapdoor is generated by the tester or PKG, respectively, denoted by {\rm{T/PKG}}\leftarrow {\sf AA.ATrace}(mpk, td_{ID,\, ID_t},\ td_{ID,\, ID_t}') .

    This IBEET-AA scheme is a white-box scheme since the tracing algorithm can only trace a well-formed trapdoor. If the tracing algorithm can further trace a decoder box D , it is a black-box IBEET-AA scheme.

    The correctness of an IBEET-AA scheme requires decryption correctness, testing correctness, and tracing correctness, where the decryption and testing correctnesses are as those in the traditional IBEET schemes (defined in Subsection 3.1). The additional tracing correctness is defined below.

    Tracing Correctness. It is divided into two steps.

    1) For any key pair (mpk,\, msk)\leftarrow {\sf AA.Setup}(1^{\lambda}) , identities ID_i,\, \{ID_{t,\, i}\}_{1\leqslant i\leqslant n_{ID}}\in \mathcal{ID} , and trapdoors td_{ID_i,\, ID_t}'\leftarrow {\sf AA.Aut}(mpk,\, msk,\, ID_i,\, ID_t) , we have

    \begin{aligned} ID_t\gets &{\sf AA.TTrace}(mpk,\, td_{ID,\, ID_t}', ID_{t,\, i}). \end{aligned}

    2) Furthermore, for any td_{ID,\, ID_t}\leftarrow {\sf Aut}(mpk,\, msk, ID,\, ID_t,\, d_{ID}) ,

    ● if td_{ID,\, ID_t}' is generated by PKG, we have

    \begin{aligned} \rm{PKG}\gets &{\sf AA.ATrace}(mpk,\, td_{ID,\, ID_t},\, td_{ID,\, ID_t}'),\end{aligned}

    ● if td_{ID,\, ID_t}' is generated by ID_t , we have

    \begin{aligned} \rm{T}\gets &{\sf AA.ATrace}(mpk,\, td_{ID,\, ID_t},\, td_{ID,\, ID_t}'). \end{aligned}

    The same as IBEET, there are two types of adversaries in IBEET-AA against message confidentiality. Correspondingly, the IND and OW security models which are the same as those for IBEET (Subsection 3.2), are omitted here. For additional accountability, there are three more types of adversaries acting as a dishonest authorizer, the PKG, and the tester, respectively. Specifically, the security against dishonest authorizers ensures that the pirated trapdoor can only come from the PKG or a related tester. Dishonest PKG security prevents the PKG from framing any tester, which means the PKG cannot generate a trapdoor such that the tracing algorithm will determine the related tester as the generator. Dishonest tester security prevents any tester from framing the PKG. These three securities lay the foundation for the correctness of the tracing algorithm in IBEET-AA.

    1) The type-3 adversary \mathcal{A} acts as a malicious authorizer with ID^* who tries to construct a pirated trapdoor td_{ID^*,\, ID_t^*}' for a tester with ID_t^* , as defined in Fig.5.

    Figure  5.  Dishonest authorizer game.

    In the above dishonest authorizer game, (ID^*,\, ID_t^*) is not allowed to be queried to \mathcal{O}_t . The advantage Adv^{\rm{Dishonest\; authorizer}}_{{{\mathrm{IBEET}}{\text{-}}{\mathrm{AA}}},\, \mathcal{A}}(\lambda) of \mathcal{A} in winning the above game is defined as

    \Pr[{\rm{PKG/T}}\leftarrow {\sf ATrace}(mpk,\, td_{ID^*,\, ID_t^*},\, td_{ID^*,\, ID_t^*}')].

    Note that, this type of adversary also covers the type of malicious tester who tries to construct a pirated trapdoor for another tester.

    2) The type-4 adversary acts as the malicious PKG who tries to construct a pirated trapdoor td_{ID^*, \, ID_t^*}' for the tester with ID_t^* such that the tracing algorithm will determine the generator of this pirated trapdoor as the related tester with ID_t^* , as defined in Fig.6.

    Figure  6.  Dishonest PKG game. ID^*: the challenge identity of the authorizer chosen by the adversary \mathcal{A}.

    The advantage Adv^{\rm{Dishonest\; PKG}}_{{{\mathrm{IBEET}}{\text{-}}{\mathrm{AA}}},\, \mathcal{A}}(1^{\lambda}) of \mathcal{A} in winning the above game is defined as

    \Pr[ {\rm{T}} \leftarrow {\sf ATrace}(pp,\, td_{ID^*,\, ID_t^*},\, td_{ID^*,\, ID_t^*}')].

    3) The type-5 adversary acts as a malicious tester with ID_t^* who tries to frame the PKG by constructing a pirated trapdoor td_{ID^*,\, ID_t^*}' such that the tracing algorithm will output PKG, as defined in Fig.7.

    Figure  7.  Dishonest tester game. ID^*: the challenge identity of the authorizer chosen by the adversary \mathcal{A}.

    In the dishonest authorizer game, the advantage Adv^{\rm{Dishonest\;tester}}_{{{\mathrm{IBEET}}{\text{-}}{\mathrm{AA}}},\, \mathcal{A}}(1^{\lambda}) of \mathcal{A} in winning the above game is defined as

    \Pr[{\rm{PKG}}\leftarrow {\sf ATrace}(mpk,\, td_{ID^*,\, ID_t^*},\, td_{ID^*,\, ID_t^*}')].

    Definition 1 (Security of IBEET-AA). An IBEET-AA system is secure if all probabilistic polynomial-time adversaries have at most negligible advantage in winning the OW-ID-ATK, IND-ID-ATK, dishonest authorizer, dishonest PKG, and dishonest tester games.

    Based on the Gentry IBE scheme[5], we propose a specific efficient IBEET-AA construction.

    For simplicity, we use the IND-CPA secure version of Gentry IBE. Let \mathbb{G} and \mathbb{G}_T be two multiplicative cyclic groups of prime order p and e: \mathbb{G}\times \mathbb{G} \rightarrow \mathbb{G}_T be a bilinear map satisfying e(g^a,\, g^b) = e(g,\, g)^{ab} and e(g,\, g) \neq 1 for generators g\in \mathbb{G} and random numbers a,\, b \in \mathbb{Z}_p . Let \mathbb{PG} = ( \mathbb{G},\, \mathbb{G}_T,\, g,\, p,\, e) denote a pairing group.

    1) \sf {AA.Setup} ( \lambda ). It chooses a pairing group \mathbb{PG} = ( \mathbb{G},\, \mathbb{G}_T,\, g,\, p,\, e) and cryptographic hash functions H:\{0,\, 1\}^*\to \mathbb{G},\, H_1: \{0,1\}^*\rightarrow \mathbb{G}_T , randomly picks \alpha,\, \beta\in \mathbb{Z}_p , and computes h_1=g^\alpha,\, h_2=g^{\beta} . It then sets the master public/secret key pair (mpk,\, msk) as

    mpk=\{ \mathbb{PG},\, h_1,\, h_2,\, H,\, H_1\},\, msk=\{\alpha,\, \beta\}.

    2) \sf {AA.KeyGen} ( mpk,\, msk,\, ID ). It randomly chooses r\in \mathbb{Z}_p and computes the private key d_{ID} of ID as

    \begin{aligned} d_{ID} =(d_1,\, d_2) =\left(r,\, g^{\tfrac{\beta-r}{\alpha-ID}} \right). \end{aligned}

    3) \sf {AA.Aut}( mpk,\, msk,\, ID,\, ID_t ). Our authorization protocol is interactively run by the authorizer with ID , the PKG, and the to-be-authorized tester with ID_t . We depict the flow path of our protocol in Fig.8. Once an authorizer wants to authorize a tester, it first generates a proof to convince the PKG and then the PKG interacts with the tester to construct a trapdoor as below.

    Figure  8.  Flow path of authorization protocol.

    Authorizer. The authorizer with private key d_{ID}=(d_1,\, d_2) computes the proof as

    \begin{aligned} proof_{ID,\, ID_t} &=e\left( g^{\tfrac{\beta-r}{\alpha-ID}},\, H(ID_t) \right)\\ &= e(d_2,\, H(ID_t)) , \end{aligned}

    and sends (ID,\, ID_t,\, proof_{ID,\, ID_t}) to the PKG.

    PKG. After receiving the trapdoor submission (ID,\, ID_t,\, proof_{ID,\, ID_t}) from the authorizer with ID , the PKG uses the related private key d_{ID}=(d_1,\, d_2) and checks whether the equation

    \left( proof_{ID, \,ID_t} \right)^{\alpha-ID} =e\left(h_2\, g^{-d_1},\; H(ID_t)\right)

    holds or not. If not, it aborts. Otherwise, it interacts with the tester as below.

    Tester. The tester randomly chooses \hat{r}\in \mathbb{Z}_p and computes R=g^{\hat{r}} . It runs the zero-knowledge proof (ZKP)[26] with the PKG as described in Fig.9 to prove that R=g^{\hat{r}} . Finally, if the PKG accepts R=g^{\hat{r}} , the ZKP succeeds. Otherwise, it fails.

    Figure  9.  Zero-knowledge proof of R.

    PKG. If the proof fails, the PKG aborts. Otherwise, it picks a random number \overline{r}\in \mathbb{Z}_p and computes a “partial” trapdoor for ID_t as

    \begin{aligned} \overline{td_{ID,\, ID_t}} &=\left( \overline{td_{ID,\, ID_t}^1},\, \overline{td_{ID,\, ID_t}^2} \right)\\ &=\left( \overline{r},\, \left( H(ID_t)^{\beta} \, R \, g^{-\overline{r}}\right)^{\tfrac{1}{\alpha-ID}} \right). \end{aligned}

    The PKG then sends \overline{td_{ID,\, ID_t}} to the tester.

    Tester. With the received \overline{td_{ID,\, ID_t}}=\left( \overline{td_{ID,\, ID_t}^1}, \right. \left. \overline{td_{ID,\, ID^t}^2}\right) , the tester checks whether

    \begin{aligned} &e\left( \overline{td_{ID,\, ID_t}^2},\, h_1\, g^{-ID} \right)\\ = &e\left( H(ID_t),\, h_2 \right)\, e\left( R,\, g\right) \, e\left( g,\, g \right)^{-\overline{td_{ID,\, ID_t}^1}} \end{aligned}

    holds, and aborts if not. Otherwise, it sets the trapdoor as

    td_{ID,\, ID_t}= (td_{ID,\, ID_t}^1,\, td_{ID,\, ID_t}^2),

    where

    \begin{aligned} td_{ID,\, ID_t}^1 &= \overline{r} - \hat{r},\\ td_{ID,\, ID_t}^2 &=\overline{td_{ID,\, ID^t}^2} =\left( H(ID_t)^{\beta} \, R \, g^{-\overline{r}}\right)^{\tfrac{1}{\alpha-ID}}\\ &=\left( H(ID_t)^{\beta}\, g^{-td_{ID,ID_t}^1}\right)^{\tfrac{1}{\alpha-ID}}.\\ \end{aligned}

    4) \sf {AA.Enc} ( mpk,\, ID,\, M ). For a message M\in \mathbb{G}_T , it randomly chooses s\in \mathbb{Z}_p and computes the ciphertext CT as

    \begin{aligned} CT=&(C_1,\, C_2,\, C_3,\, C_4)\\ =&\left( \left(h_1\, g^{-ID} \right)^s,\, e(g,g)^s,\, e(h_2,g)^s\, M,\right.\\ &\left.e\left(h_2,\, H(ID_t)\right)^s\, H_1(M)\right). \end{aligned}

    5) \sf {AA.Dec} ( mpk,\, d_{ID},\, CT ). It computes the message as

    M=\frac{C_3}{e(C_1,\, d_2)\, C_2^{d_1}}.

    6) {\sf AA.Test}( mpk,\, td_{ID_1,\, ID_t},\, td_{ID_2,\, ID_t},\, CT_1,\, CT_2 ). Taking as input trapdoors td_{ID_i,\, ID_t}= (td_{ID_i,\, ID_t}^1,\, td_{ID_i,\, ID_t}^2) and two ciphertext CT_i=(C_{i,\, 1},\, C_{i,\, 2},\, C_{i,\, 3},\, C_{i,\, 4}) encrypted with (ID_i,\, M_i) for i\in \{1,\, 2\} , the testing algorithm computes

    \begin{aligned} H_1(M_1)&=\frac{C_{1,\, 4}}{e(C_{1,\, 1},\, td_{ID_1,\, ID_t}^2)\, C_{1,\, 2}^{td_{ID_1,\, ID_t}^1}},\\ H_1(M_2)&=\frac{C_{2,\, 4}}{e(C_{2,\, 1},\, td_{ID_2,\, ID_t}^2)\, C_{2,\, 2}^{td_{ID_2,\, ID_t}^1}}. \end{aligned}

    It then checks whether

    H_1(M_1)=H_1(M_2)

    holds or not. If the equation holds, it outputs 1 denoting that M_1=M_2 . Otherwise, it outputs 0 denoting that M_1\neq M_2 .

    7) {\sf AA.Trace}. If there is a pirated trapdoor td_{ID,\, *}' with which the ciphertexts of the authorizer with ID can be tested, the tracing algorithm can retrieve the real generator from the PKG and related testers. It is divided into two steps, namely tester tracing and authority tracing.

    {\sf AA.TTrace} (mpk,\, td_{ID,\, *}',\, \{ID_{t_i}\}_{1\leqslant i\leqslant n_{ID}}) . This is to trace the tester related to the pirated trapdoor among the authorized testers by the user with ID . Suppose there are n_{ID} testers. Given a pirated trapdoor td_{ID,\, *}'=\left( (td_{ID,\, *}^1)',\, (td_{ID,\, *}^2)' \right) , it extracts the related tester by checking whether the following equation holds for any tester with ID_{t_i} among all n_{ID} possible candidates:

    \begin{aligned} &e\left( (td_{ID,\, *}^2)',\, h_1\, g^{-ID} \right) \\ =& e( H(ID_{t_i}),\, h_2)\, e(g,\, g)^{-(td_{ID,\, *}^1)'}. \end{aligned}

    If none of them holds, it aborts. Otherwise, it outputs ID_t that satisfies the above equation. We then have the pirated trapdoor as td_{ID,\, ID_t}'=((td_{ID,\, ID_t}^1)', (td_{ID,\, ID_t}^2)') .

    {\sf AA.ATrace} (mpk,\, td_{ID,\, ID_t},\, td_{ID,\, ID_t}') . With the cooperation of the tester with ID_t , it first checks whether the following equation holds and aborts if not.

    \begin{aligned} &e\left( (td_{ID,\, ID_t})^2,\, h_1\, g^{-ID}\right) \\ =& e(H(ID_t),\, h_2)\, e(g,\, g)^{-(td_{ID,\, ID_t})^1}.\\ \end{aligned}

    Otherwise, if (td_{ID,\, ID_t})^1=(td_{ID,\, ID_t}')^1 , it outputs T denoting that the pirated trapdoor is generated by the tester, and it outputs PKG if (td_{ID,\, ID_t})^1\neq (td'_{ID,} {ID_t}')^1 denoting that the pirated trapdoor is generated by the PKG.

    Below, we analyze the correctness of the above scheme.

    1) Decryption Correctness. Let CT=(C_1,\, C_2,\, C_3, C_4) be a well-formed ciphertext encrypted with ID and M , we have

    \begin{aligned} \frac{C_3}{e(C_1,\, d_2) \, C_2^{d_1}} =&\frac{e(h_2,\, g)^s\, M}{e\left(g^{(\alpha-ID)s}, g^{\tfrac{\beta-r}{\alpha-ID}}\right) e(g,\, g)^{s r}}\\ =&\frac{e(g,\, g)^{s \beta}\, M}{e(g,\, g)^{s (\beta-r)+s r_1}} =M.\\ \end{aligned}

    We have the correct decryption result.

    2) Testing Correctness. Given two ciphertexts CT_i =(C_{i,1},\, C_{i,2},\, C_{i,3},\, C_{i,4}) encrypted with M_i and ID_i satisfying M_1=M_2 and the corresponding trapdoors td_{ID_i,\, ID_t}=\left( (td_{ID_i,\, ID_t})^1,\, (td_{ID_i,\, ID_t})^2\right) for i\in \{1, 2\} , we have

    \begin{aligned}&\frac{C_{i,\, 4}}{e\left(C_{i,\, 1},\, (td_{ID_i,\, ID_t})^2\right)\, C_{i,\, 2}^{(td_{ID_i,\, ID_t})^1}}\\=&\frac{e\left(h_2,\, H(ID_t)\right)^{s_i}H_1(M_i)}{e\left(g^{(\alpha-ID_i)s_i},\, \left( H(ID_t)^{\beta}\, g^{-r_{ID_i,\, ID_t}}\right)^{\tfrac{1}{\alpha-ID_i}} \right) }\times \\&\frac{1}{e(g,\, g)^{s_i \, r_{ID_i,\, ID_t}}}\\=&\frac{e\left(h_2,\, H(ID_t)\right)^{s_i}\, H_1(M_i)}{ e\left(g^{\beta},\, H(ID_t)\right)^{s_i} } =H_1(M_i).\end{aligned}

    If M_1=M_2 , we will have H_1(M_1)=H_1(M_2) , and therefore the testing algorithm will output 1. Otherwise, we have H_1(M_1)\neq H_1(M_2) , and the testing algorithm will output 0.

    3) Tracing Correctness. As a white-box IBEET-AA scheme, our construction can trace the well-formed pirated trapdoors. Given a well-formed pirated trapdoor td_{ID,\, ID_t}'=\left((td_{ID,\, ID_t}')^1,\, (td_{ID,\, ID_t}')^2\right) relates to the user with ID and tester ID_t . We have

    \begin{aligned} &e\left( (td_{ID,\, ID_t}')^2,\, h_1\, g^{-ID}\right) \\ =& e\left( \left( H(ID_t)^{\beta} \, g^{-(td_{ID,\, ID_t}')^1} \right)^{\tfrac{1}{\alpha-ID}},\, g^{\alpha-ID}\right) \\ =& e\left( H(ID_t)^{\beta} \, g^{-(td_{ID,\, ID_t}')^1},\, g\right)\\ =& e\left( H(ID_t),\, h_2\right)\, e(g,\, g)^{-(td_{ID,\, ID_t}')^1}, \\ \end{aligned}

    which means the tester can be successfully traced. Note that although the PKG can generate new pirated trapdoor td_{ID,\, ID_t}' for (ID,\, ID_t) , the dishonest PKG security of IBEET-AA prevents the PKG from extracting (td_{ID,\, ID_t}')^1 satisfying (td_{ID,\, ID_t}')^1=td_{ID,\, ID_t}^1 , where the tester with ID owns td_{ID,\, ID_t}=\left(td_{ID,\, ID_t}^1,\right. \left. td_{ID,\, ID_t}^2\right) . Moreover, the dishonest tester security prevents the tester from generating a different trapdoor td_{ID,\, ID_t}' satisfying (td_{ID,\, ID_t}')^1\neq (td_{ID,\, ID_t})^1 . Therefore, if td_{ID,\, ID_t}' is generated by the tester with ID_t , we have (td_{ID,\, ID_t}')^1=td_{ID,\, ID_t}^1 . Otherwise, if it is generated by the PKG, we have (td_{ID,\, ID_t}')^1\neq td_{ID,\, ID_t}^1 . The tracing algorithm will then output correct tracing results.

    Theorem 1. The proposed IBEET-AA scheme is secure.

    Proof. According to Definition 1, we need to prove that the proposed IBEET-AA scheme is secure in OW-ID-CPA, IND-ID-CPA, dishonest authorizer, dishonest PKG, and dishonest tester games. We give the corresponding security proofs in Lemmas 1, 2, 3, 4, and 5, respectively.

    Lemma 1. The proposed IBEET-AA scheme is OW-ID-CPA secure under the q -DABDHE assumption with a random oracle.

    Proof. Let H be a random oracle. Suppose there is an adversary \mathcal{A} who can break the OW-ID-CPA security of the presented scheme with non-negligible advantage \epsilon , where it is allowed to make q_h hash queries, q_k private-key queries, and q_t trapdoor queries. We can construct a simulator \mathcal{B} to break the q -DABDHE assumption. Given a problem instance g,\, g^a,\, g^{a^2},\, \ldots,\, g^{a^q},\, h,\, h^{a^{q+2}},\, Z , \mathcal{B} is to determine whether Z=e(g,\, h)^{a^{q+1}} holds or not. \mathcal{B} controls the random oracle H and performs as follows.

    1) Setup. \mathcal{B} randomly chooses a q -degree polynomial F(x)\in \mathbb{Z}_p[x] and implicitly sets \alpha=a,\, \beta = F(a) , and computes

    h_1= g^{\alpha} = g^{a},\ h_2= g^{\beta} = g^{F(a)},

    which are all computable using g^a,\, g^{a^2},\, \ldots,\, g^{a^q} in the given tuple. \mathcal{B} sets H to be a random oracle and chooses a cryptographic hash function H_1: \{0,\, 1\}^*\rightarrow \mathbb{G}_T . It publishes the system public parameter pp as

    pp=( \mathbb{PG},\, h_1,\, h_2,\, H,\, H_1).

    2) Phase 1. In this phase, \mathcal{A} is allowed to make q_h hash queries, q_k private key queries, and q_t trapdoor queries on adaptively chosen identities.

    a) Hash Query. \mathcal{B} maintains a hash list \mathcal{L} which is empty at the beginning to record the hash queries and responses. For a queried identity ID_i , \mathcal{B} randomly picks w_i\in \mathbb{Z}_p and sets

    H(ID_i) =g^{w_i}.

    It then returns H(ID_i) to \mathcal{A} and stores the tuple (ID_i,\, H(ID_i)) to \mathcal{L} .

    b) Private-Key Query. For a queried identity ID_i , \mathcal{B} sets

    d_1=r=F(ID_i),

    and computes

    \begin{aligned} d_2&=g^{\tfrac{\beta-r}{\alpha-ID_i}} =g^{\tfrac{F(a)-F(ID_i)}{a-ID_i}},\ \end{aligned}

    which are all computable with the given g^a,\, g^{a^2},\, \ldots,\, g^{a^{q-1}} in the given tuple. It then returns the private key d_{ID_i}=(d_1,\, d_2) to \mathcal{A} .

    c) Trapdoor Query. For a queried identity pair (ID,\, ID_t) , \mathcal{B} first searches the hash list \mathcal{L} to find the corresponding tuple (ID_t,\, H(ID_t)=g^{w_t}) . If there is no such a tuple, \mathcal{B} randomly picks w_t\in \mathbb{Z}_p , sets H(ID_t)=g^{w_t} , and stores the tuple (ID_t,\, H(ID_t)= g^{w_t}) to \mathcal{L} . \mathcal{B} then generates the “partial” trapdoor following the below steps.

    \mathcal{B} receives R from \mathcal{A} . To be proven that R=g^{\hat{r}} , it interacts with \mathcal{A} according to the ZKP illustrated in Fig.9. In the interaction, \mathcal{B} aborts if the ZKP fails. Otherwise, it rewinds \mathcal{A} to obtain \hat{r} [26].

    \mathcal{B} computes “partial” trapdoor \overline{td} as

    \overline{td} = \left( \overline{td_1},\, \overline{td_2} \right),

    where \overline{td_1} = w_t F(ID) + \hat{r} and

    \begin{aligned} \overline{td_2} &= \left( H(ID_t)^{\beta}\, R\, g^{ - \overline{td_1} } \right)^{1/(\alpha-ID)}\\&= \left( H(ID_t)^{\beta} \, g^{ \hat{r} - \overline{td_1} } \right)^{1/(\alpha-ID)}\\ &= g^{\tfrac{w_t (F(a) - F(ID) )}{a-ID} }. \end{aligned}

    They are computable with known w_t . \mathcal{B} sends \overline{td} to \mathcal{A} .

    ● According to the key generation protocol, \mathcal{A} will obtain its trapdoor as

    \begin{aligned} td_{ID,\, ID_t} =& \left( (td_{ID,\, ID_t})^1,\, (td_{ID,\, ID_t})^2 \right)\\ =& \left( \overline{td_1} - \hat{r},\, \overline{td_2} \right)\\ =& \left( w_t\, F(ID),\, g^{ \tfrac{w_t (F(a) - F(ID) ) }{a-ID}} \right), \end{aligned}

    which is a well-formed trapdoor. Moreover, \mathcal{B} can also obtain this trapdoor with the known w_t,\, g,\, g^a,\, \ldots, g^{a^{q-1}} .

    3) Challenge. Once \mathcal{A} decides to finish Phase 1, it submits an identity ID^* to \mathcal{B} to be challenged. \mathcal{B} randomly picks M^*\in \mathcal{M} and generates the challenge ciphertext using ID^* as below.

    a) \mathcal{B} computes a private key d_{ID^*} for ID^* as

    \begin{aligned} \left(d_1^*,\, d_2^*\right) &= \left( r,\, \left( g^{\beta-r} \right)^{1/(\alpha-ID^*)} \right)\\ &= \left( F(ID^*),\, g^{f(a)} \right),\\ \end{aligned}

    where f(x)=\dfrac{F(x)-F(ID^*)}{x-ID^*} .

    b) \mathcal{B} implicitly sets s= \log_g^h \, C(a) , where

    \begin{aligned} C(x) =&\left( x^{q+2} -(ID^*)^{q+2} \right)/(x-ID^*) \\ = &x^{q+1} + \sum_{i=0}^q l_i x^i. \end{aligned}

    For simplicity, we set l_i to be the coefficient of x^i as above.

    c) \mathcal{B} computes

    \begin{aligned} C_1^*&= \left( g_1\, g^{-ID^*} \right)^s = g^{(\alpha-ID^*)s} = h^{a^{q+2} - (ID^*)^{q+2}}, \\ C_2^*&= e(g,\, g)^s = e(g,\, h)^{C(a)} = e(g,\, h)^{a^{q+1}} \, \\ & e(g, h)^{\sum_{i=0}^q l_i a^i} = Z\, \prod_{i=0}^q e\left(g^{a^i},\, h\right)^{l_i},\\ C_3^*&= M^*\, e(g,\, h_2)^{-s} = M^*\, e\left(g,\, g^{\beta}\right)^{-s}\\ &= M^*\, e\left(g,\, g^{\beta}\, g^{-r} \, g^{r}\right)^{-s}\\ &= M^*\, e\left(g,\, g^{\beta}\, g^{-r} \right)^{-s} \, e(g,\, g)^{-s\, r}\\ &= M^*\, e\left( h^{ (ID^*)^{q+2}-a^{q+2} }, g^{\tfrac{\beta-r}{a-ID^*}} \right) \, \left( C_2^* \right)^{-r_1}\\ &= M^*\, e\left( \left( C_1^* \right)^{-1},\, d_2^* \right) \, \left( C_2^* \right)^{-r_1}, \end{aligned}
    \begin{aligned}C_4^*&= H_1(M^*)\, e(h_2,\, H(ID_t^*))^{-s}\\ &= H_1(M^*)\, e(h_2,\, g^{w_t^*})^{-s} = H_1(M^*)\, C_3^{w_t^*}, \end{aligned}

    where H(ID_t^*)=g^{w_t^*} . \mathcal{B} then returns the challenge ciphertext CT^* to \mathcal{A} , where

    CT^*=(C_1^*,\, C_2^*,\, C_3^*,\, C_4^*).

    4) Phase 2. In this phase, \mathcal{A} can adaptively issue more private key queries and trapdoor queries with the restriction that ID^* is not allowed to query in the private-key query phase. \mathcal{B} responds to \mathcal{A} in the same way as in Phase 1.

    5) Attack. Finally, \mathcal{A} outputs a message M' . If M'=M^* , \mathcal{B} outputs 1 denoting that Z=e(g,\, h)^{a^{q+1}} . Otherwise, \mathcal{B} outputs 0 denoting that Z\neq e(g,\, h)^{a^{q+1}} .

    If Z=e(g,\, h)^{a^{q+1}} , the simulation is indistinguishable from the real system from the point of view of the adversary. Since \mathcal{A} can win the OW-ID-CPA game with non-negligible advantage \epsilon , the probability of \mathcal{A} in enabling M'=M is \epsilon . \mathcal{B} , therefore, outputs 1 with non-negligible probability \epsilon . If Z\neq e(g,\, h)^{a^{q+1}} , it is a random number instead. The challenge ciphertext is a one-time pad. In this case, \mathcal{A} can correctly output the message with negligible probability 1/| \mathbb{G}_T| , where | \mathbb{G}_T| denotes the size of group \mathbb{G}_T . \mathcal{B} then outputs 1 with negligible probability 1/| \mathbb{G}_T| . Therefore, the advantage of \mathcal{B} in breaking the q -DABDHE assumption is

    \begin{aligned} &\Pr[\mathcal{B}\; {\rm outputs\ 1} |Z=e(g,\, h)^{a^{q+1}}]- \\ & \Pr[\mathcal{B}\; {\rm outputs\ 1} |Z\neq e(g,\, h)^{a^{q+1}}]\\ =& \epsilon - 1/| \mathbb{G}_T|, \end{aligned}

    which is non-negligible. We have that the simulator can break the q -DABDHE assumption with non-negligible advantage.

    Lemma 2. The proposed IBEET-AA scheme is IND-ID-CPA secure under the q -DABDHE assumption with a random oracle.

    Proof. The IND security proof of the proposed IBEET-AA scheme is almost the same as the OW security proof above, besides the challenge phase, Attack phase, and that (ID^*,\, *) is not allowed to be queried to the trapdoor oracle.

    1) Challenge. Once \mathcal{A} decides to finish phase 1, it sends a challenge identity ID^* and two messages M_0^*,\, M_1^*\in \mathcal{M} to \mathcal{B} . \mathcal{B} then randomly picks b\in \{0,1\} and generates the challenge ciphertext CT^* encrypted with M_b^* and ID^* as that in the OW-ID-CPA security proof.

    2) Attack. \mathcal{A} returns a guess b' of b . If b'=b , \mathcal{B} outputs 1 denoting that Z=e(g,\, h)^{a^{q+1}} . Otherwise, \mathcal{B} outputs 0 denoting that Z\neq e(g,\, h)^{a^{q+1}} .

    If Z=e(g,\, h)^{a^{q+1}} , the simulator is indistinguishable from the real system from the point of view of the adversary. Since the adversary can win the IND-ID-CPA game with non-negligible advantage \epsilon , the probability of \mathcal{A} in correctly enabling b'=b is \epsilon+1/2 . \mathcal{B} will then output 1 with probability \epsilon+1/2 . If Z\neq e(g,\, h)^{a^{q+1}} , it is a random number instead. The challenge ciphertext is a one-time pad. In this case, \mathcal{A} can correctly guess b' such that b'=b with probability 1/2 . \mathcal{B} will output 1 with probability 1/2 . Therefore, the advantage of \mathcal{B} in breaking the q -DABDHE assumption is:

    \begin{aligned} &\Pr[\mathcal{B}\; {\rm outputs\ 1}|Z=e(g,\, h)^{a^{q+1}}] - \\ &\Pr[\mathcal{B}\;{ \rm outputs\ 1}|Z\neq e(g,\, h)^{a^{q+1}}]\\ =& \epsilon + 1/2 - 1/2 = \epsilon, \end{aligned}

    which is non-negligible.

    Lemma 3. The proposed IBEET-AA scheme is dishonest authorizer secure under the q -SDH assumption with a random oracle.

    Proof. Suppose there are n identities of users. Let H be a random oracle. Suppose there is an adversary \mathcal{A} who acts as an authorizer can construct a pirated trapdoor td_{ID,\, ID_t} for the tester owning ID_t with non-negligible advantage \epsilon , where it is allowed to make q_h hash queries, q_k private-key queries, and q_t trapdoor queries. We can construct a simulator \mathcal{B} to break the q -SDH assumption. That means \mathcal{B} can compute a tuple (s, g^{\tfrac{1}{a+s}}) for some s\in \mathbb{Z}_p with non-negligible advantage, given a tuple \left( g,\, g^a, \, \ldots,\, g^{a^q}\right)\in \mathbb{G}^{q+1} over \mathbb{PG} . \mathcal{B} controls the oracle H and performs as follows.

    1) Setup. The same as the ``setup" step in the OW-ID-CPA security proof of Lemma 1.

    2) Phase 1. The same as the ``phase 1" step in the OW-ID-CPA security proof of Lemma 1.

    3) Challenge. \mathcal{A} submits an identity pair (ID^*,\, ID_t^*) to \mathcal{B} , where (ID^*,\, ID_t^*) should not be queried to the trapdoor oracle in phase 1.

    4) Attack. Finally, \mathcal{A} outputs a trapdoor td_{ID^*,\, ID_t^*}= \left( (td_{ID^*,\, ID_t^*})^1,\, (td_{ID^*,\, ID_t^*})^2\right) .

    5) Solve. Let H(ID_t^*)=g^{w_t^*} . With the private key d_{ID^*}=(d_1^*,\, d_2^*)=\left( r^*,\, g^{\tfrac{\beta-r}{\alpha-ID^*}} \right) of ID^* , \mathcal{B} computes

    g^{\tfrac{1}{\alpha-ID^*}} = \left( (td_{ID^*,\, ID_t^*})^2 \, \left( d_2^* \right)^{-w_t^*} \right)^{\tfrac{1}{w_t^* \, d_1^*-(td_{ID^*,\, ID_t^*})^1}}.

    \mathcal{B} then sets (-ID^*,\, g^{\tfrac{1}{\alpha-ID^*}}) as the solution to the given q -SDH problem instance.

    Next, we analyze the advantage of \mathcal{B} in successfully solving the given q -SDH problem instance. Since \mathcal{A} can construct a well-formed pirated trapdoor with non-negligible probability \epsilon , we have

    \begin{aligned} &td_{ID^*,\, ID_t^*}\\ =&\left( (td_{ID^*,\, ID_t^*})^1,\, (td_{ID^*,\, ID_t^*})^2\right)\\ =&\left( (td_{ID^*,\, ID_t^*})^1,\, \left( H(ID_t^*)^{\beta} \, g^{(-td_{ID^*,\, ID_t^*})^1} \right)^{1/(\alpha-ID^*)} \right). \end{aligned}

    Let W=\dfrac{1}{w_t^* \, d_1^*-(td_{ID^*,\, ID_t^*})^1} , we then have

    \begin{aligned} &\left( (td_{ID^*,\, ID_t^*})^2 \, \left( d_2^* \right)^{-w_t^*} \right)^{\tfrac{1}{w_t^* \, d_1^*-(td_{ID^*,\, ID_t^*})^1}}\\ =& \left( \left( H(ID_t^*)^{\beta} \, g^{-(td_{ID^*,\, ID_t^*})^1} \right)^{\tfrac{1}{\alpha-ID^*}} \, g^{\tfrac{-w_t^*\, (\beta-r^*)}{\alpha-ID^*}} \right)^W\\ =& \left( \left(g^{\beta w_t^*} \, g^{-(td_{ID^*,\, ID_t^*})^1} \right)^{\tfrac{1}{\alpha-ID^*}} \, g^{\tfrac{-w_{t^*}\, (\beta-r^*)}{\alpha-ID^*}} \right)^W\\ =& \left( g^{\tfrac{\beta w_t^* -(td_{ID^*,\, ID_t^*})^1}{\alpha-ID^*}} \, g^{\tfrac{-w_t^*\, (\beta-r^*)}{\alpha-ID^*}} \right)^{\tfrac{1}{w_t^* \, r^*-(td_{ID^*, ID_t^*})^1}}\\ =& g^{\tfrac{1}{\alpha-ID^*}}. \end{aligned}

    Therefore, (-ID^*,\, g^{\tfrac{1}{\alpha-ID^*}}) is a solution to the given q -SDH problem instance with non-negligible probability \epsilon . This implies a fact that if \mathcal{A} can successfully return a well-formed trapdoor with non-negligible advantage \epsilon , \mathcal{B} can solve the given q -SDH problem instance with non-negligible advantage \epsilon .

    Lemma 4. The proposed IBEET-AA scheme is dishonest PKG secure under the DL assumption.

    Proof. Suppose there is an adversary \mathcal{A} who can break our scheme in the dishonest PKG game with non-negligible advantage \epsilon . We can construct a simulator \mathcal{B} to break the DL assumption. \mathcal{B} performs as follows.

    1) Setup. \mathcal{B} receives mpk and a challenge identity pair (ID^*,\, ID_t^*) from \mathcal{A} .

    2) KeyGen. \mathcal{B} receives d_{ID^*}=(d_1^*,\, d_2^*) from \mathcal{A} .

    3) Aut. To obtain a corresponding trapdoor of (ID^*,\, ID_t^*) , \mathcal{B} performs the following steps.

    a) \mathcal{B} implicitly sets \hat{r}=a and computes R=g^{\hat{r}} = g^a which is computable with the given tuple.

    b) To prove to \mathcal{A} that R=g^{\hat{r}} = g^a in the ZKP as Fig.9, \mathcal{B} first rewinds \mathcal{A} to obtain c and interacts with \mathcal{A} as illustrated in Fig.10. In the proof, \mathcal{B} randomly picks s\in \mathbb{Z}_p and computes y=g^s \, R^c . It is easy to see the ZKP will succeed.

    Figure  10.  ZKP of R in dishonest PKG game.

    c) \mathcal{B} receives the “partial” trapdoor \overline{td} from \mathcal{A} , where

    \overline{td} = \left( \overline{td_1},\, \overline{td_2}\right) .

    \mathcal{B} checks whether the following equation holds and aborts if it fails.

    \begin{aligned} &e\left( \overline{td_2},\, g_1\, g^{-ID^*} \right)\\ =& e\left( H(ID_t^*),\, h_2 \right)\, e\left( R,\, g\right) \, e\left( g,\, g \right)^{-\overline{td_1}}. \end{aligned}

    4) Frame. Finally, \mathcal{A} outputs a pirated trapdoor td_{ID^*,\, ID_t^*}' . Let

    td_{ID^*,\, ID_t^*}'= \left( (td_{ID^*,\, ID_t^*}')^1,\, (td_{ID^*,\, ID_t^*}')^2 \right).

    5) Solve. \mathcal{B} computes

    a = \left( \overline{td_1} - (td_{ID^*,\, ID_t^*}')^1\right).

    Let td_{ID^*,\, ID_t^*}=\left( td_{ID^*,\, ID_t^*}^1,\, td_{ID^*,\, ID_t^*}^2\right) be the trapdoor which should be obtained by \mathcal{B} with the received “partial” trapdoor and the knowledge of a . We have that td_{ID^*,\, ID_t^*}^1 = \overline{td_1} - \hat{r}=\overline{td_1} - a . Since \mathcal{A} can win the dishonest PKG game with an advantage \epsilon , the tracing algorithm will determine the generator of the pirated trapdoor td_{ID^*,\, ID_t^*}' to be the tester with non-negligible probability, which means the following equation will hold with non-negligible advantage \epsilon .

    td_{ID^*,\, ID_t^*}^1=(td_{ID^*,\, ID_t^*}')^1.

    That implies \mathcal{B} can obtain a correct computation of a with an advantage \epsilon . Therefore, \mathcal{B} can break the DL assumption with non-negligible advantage \epsilon .

    Lemma 5. The proposed IBEET-AA scheme is dishonest tester secure under the q -SDH assumption.

    Proof. We claim that this security proof is similar to that of Lemma 6, and therefore we omit the specific proof here. If \mathcal{A} who acts as a malicious tester can break the dishonest tester security of the proposed IBEET-AA scheme, it can output two trapdoors as

    \begin{aligned} &td_{ID^*,\, ID_t^*}=(td_{ID^*,\, ID_t^*}^1,\, td_{ID^*,\, ID_t^*}^2), \\ &td_{ID^*,\, ID_t^*}'=((td_{ID^*,\, ID_t^*}')^1,\, (td_{ID^*,\, ID_t^*})')^2. \end{aligned}

    \mathcal{B} can extract

    g^{\tfrac{1}{a-ID^*}} = {\frac{td_{ID^*,\, ID_t^*}^2}{ (td_{ID^*,\, ID_t^*}')^2}}^{\tfrac{1}{ (td_{ID^*,\, ID_t^*}')^1-td_{ID^*,\, ID_t^*}^1}},

    and set (-ID^*,\, g^{\tfrac{1}{a-ID^*}} ) as the solution to the given q -SDH problem instance. Hence if \mathcal{A} can break the dishonest tester security with non-negligible advantage \epsilon , \mathcal{B} can break the q -SDH assumption with non-negligible advantage \epsilon .

    This completes the security proof of the proposed IBEET-AA scheme. Following Definition 1, we have that our IBEET-AA scheme is secure.

    To relieve the key escrow problem in IBEET when being applied in cloud computing, we proposed a new notion, called IBEET-AA to support generator tracing of pirated trapdoors among the private-key generator (PKG) and suspected testers. In IBEET-AA, the PKG interacts with the authorized cloud server to generate the trapdoor, while the PKG generates trapdoors for authorized cloud servers alone in traditional IBEET. The interaction in trapdoor generation protects that only the cloud server itself knows the exact trapdoor and the PKG has no idea about which trapdoor the server finally obtains, although the trapdoor is generated with the help of the PKG. This enables the accountability of disputed trapdoors in IBEET-AA. For this presented notion, we also designed three new security models against dishonest authorizers, the PKG, and testers to protect the tracing security, except for the traditional IND and OW security model for message confidentiality as that in traditional IBEET. These three new security models guarantee that the authorizer cannot generate a valid trapdoor, and the PKG and a tester cannot frame each other by generating a trapdoor whose generator will be determined as the other party. We constructed a specific scheme and proved its security under five designed security models.

  • Figure  1.   System model of IBEET in cloud computing. d_{ID}: the private key of the authorizer U_1 with ID. td_{ID}: the trapdoor of the authorizer U_1 with ID.

    Figure  2.   System model of IBEET-AA in cloud computing. ID_t : the identity of the tester. td_{ID, \ ID_t} : the trapdoor of the authorizer U_1 with ID for the tester with ID_t . td_{ID, \ *}, td_{ID, \ *}' : the to-be-traced trapdoor related to the authorizer U_1 with ID and an unknown tester with identity * .

    Figure  3.   IND-ID-ATK game. M_0^*,\, M_1^*: two messages chosen by the adversary \mathcal{A}. \delta: information known by the adversary \mathcal{A} when it accesses the \mathcal{O}_1 oracle. b: a random bit chosen from \{0,\, 1\}. b': the bit output by the adversary \mathcal{A}.

    Figure  4.   OW-ID-ATK game. \delta: information known by the adversary \mathcal{A} when it accesses the \mathcal{O} oracle. M^*: the challenge message chosen from the message space \mathcal{M}. M': the message output by the adversary \mathcal{A}.

    Figure  5.   Dishonest authorizer game.

    Figure  6.   Dishonest PKG game. ID^*: the challenge identity of the authorizer chosen by the adversary \mathcal{A}.

    Figure  7.   Dishonest tester game. ID^*: the challenge identity of the authorizer chosen by the adversary \mathcal{A}.

    Figure  8.   Flow path of authorization protocol.

    Figure  9.   Zero-knowledge proof of R.

    Figure  10.   ZKP of R in dishonest PKG game.

  • [1]

    Abdalla M, Bellare M, Catalano D, Kiltz E, Kohno T, Lange T, Malone-Lee J, Neven G, Paillier P, Shi H. Searchable encryption revisited: Consistency properties, relation to anonymous IBE, and extensions. Journal of Cryptology, 2008, 21(3): 350–391. DOI: 10.1007/S00145-007-9006-6.

    [2]

    Gentry C. Fully homomorphic encryption using ideal lattices. In Proc. the 41st Annual ACM Symposium on Theory of Computing, May 31–Jun. 2, 2009, pp.169–178. DOI: 10.1145/1536414.1536440.

    [3]

    Yang G, Tan C H, Huang Q, Wong D S. Probabilistic public key encryption with equality test. In Proc. the 10th CryptographersTrack at the RSA Conference on Topics in Cryptology, Mar. 2010, pp.119–131. DOI: 10.1007/978-3-642-11925-5_9.

    [4]

    Ma S. Identity-based encryption with outsourced equality test in cloud computing. Information Sciences, 2016, 328: 389–402. DOI: 10.1016/J.INS.2015.08.053.

    [5]

    Gentry C. Practical identity-based encryption without random oracles. In Proc. the 25th International Conference on the Theory and Applications of Cryptographic Techniques on Advances in Cryptology, May 28–Jun. 1, 2006, pp.445–464. DOI: 10.1007/11761679_27.

    [6]

    Tang Q. Towards public key encryption scheme supporting equality test with fine-grained authorization. In Proc. the 16th Australisian Conference on Information Security and Privacy, Jul. 2011, pp.389–406. DOI: 10.1007/978-3-642-22497-3_25.

    [7]

    Tang Q. Public key encryption supporting plaintext equality test and user-specified authorization. Security and Communication Networks, 2012, 5(12): 1351–1362. DOI: 10.1002/SEC.418.

    [8]

    Ma S, Zhang M, Huang Q, Yang B. Public key encryption with delegated equality test in a multi-user setting. The Computer Journal, 2015, 58(4): 986–1002. DOI: 10.1093/COMJNL/BXU026.

    [9]

    Zhang K, Chen J, Lee H T, Qian H, Wang H. Efficient public key encryption with equality test in the standard model. Theoretical Computer Science, 2019, 755: 65–80. DOI: 10.1016/J.TCS.2018.06.048.

    [10]

    Wang Y, Pang H, Tran N H, Deng R H. CCA secure encryption supporting authorized equality test on ciphertexts in standard model and its applications. Information Sciences, 2017, 414: 289–305. DOI: 10.1016/J.INS.2017.06.008.

    [11]

    Lee H T, Ling S, Seo J H, Wang H. Public key encryption with equality test from generic assumptions in the random oracle model. Information Sciences, 2019, 500: 15–33. DOI: 10.1016/J.INS.2019.05.026.

    [12]

    Lin X J, Wang Q, Sun L, Qu H. Identity-based encryption with equality test and datestamp-based authorization mechanism. Theoretical Computer Science, 2021, 861: 117–132. DOI: 10.1016/J.TCS.2021.02.015.

    [13]

    Qu H, Yan Z, Lin X J, Zhang Q, Sun L. Certificateless public key encryption with equality test. Information Sciences, 2018, 462: 76–92. DOI: 10.1016/J.INS.2018.06.025.

    [14]

    Lin X J, Sun L, Qu H. Generic construction of public key encryption, identity-based encryption and signcryption with equality test. Information Sciences, 2018, 453: 111–126. DOI: 10.1016/J.INS.2018.04.035.

    [15]

    Huang K, Tso R, Chen Y C. Somewhat semantic secure public key encryption with filtered-equality-test in the standard model and its extension to searchable encryption. Journal of Computer and System Sciences, 2017, 89: 400–409. DOI: 10.1016/J.JCSS.2017.06.001.

    [16]

    Susilo W, Guo F, Zhao Z, Wu G. PKE-MET: Public-key encryption with multi-ciphertext equality test in cloud computing. IEEE Trans. Cloud Computing, 2022, 10(2): 1476–1488. DOI: 10.1109/TCC.2020.2990201.

    [17]

    Zhao Z Z, Guo F, Wu G, Susilo W, Wang B. Secure infectious diseases detection system with IoT-based e-health platforms. IEEE Internet of Things Journal, 2022, 9(22): 22595–22607. DOI: 10.1109/JIOT.2022.3181582.

    [18]

    Wu L, Zhang Y, Choo K K R, He D. Efficient and secure identity-based encryption scheme with equality test in cloud computing. Future Generation Computer Systems, 2017, 73: 22–31. DOI: 10.1016/J.FUTURE.2017.03.007.

    [19]

    Li H, Huang Q, Ma S, Shen J, Susilo W. Authorized equality test on identity-based ciphertexts for secret data sharing via cloud storage. IEEE Access, 2019, 7: 25409–25421. DOI: 10.1109/ACCESS.2019.2899680.

    [20]

    Ma S, Huang Q, Zhang M, Yang B. Efficient public key encryption with equality test supporting flexible authorization. IEEE Trans. on Information Forensics and Security, 2015, 10(3): 458–470. DOI: 10.1109/TIFS.2014.2378592.

    [21]

    Lee H T, Ling S, Seo J H, Wang H. Semi-generic construction of public key encryption and identity-based encryption with equality test. Information Sciences, 2016, 373: 419–440. DOI: 10.1016/J.INS.2016.09.013.

    [22]

    Lin X J, Sun L, Qu H, Zhang X. Public key encryption supporting equality test and flexible authorization without bilinear pairings. Computer Communications, 2021, 170: 190–199. DOI: 10.1016/J.COMCOM.2021.02.006.

    [23]

    Lee H T, Ling S, Seo J H, Wang H, Youn T Y. Public key encryption with equality test in the standard model. Information Sciences, 2020, 516: 89–108. DOI: 10.1016/J.INS.2019.12.023.

    [24]

    Boneh D, Boyen X. Short signatures without random oracles. In Proc. the International Conference on the Theory and Applications of Cryptographic Techniques on Advances in Cryptology, May 2004, pp.56–73. DOI: 10.1007/978-3-540-24676-3_4.

    [25]

    Goyal V. Reducing trust in the PKG in identity based cryptosystems. In Proc. the 27th Annual International Cryptology Conference on Advances in Cryptology, Aug. 2007, pp.430–447. DOI: 10.1007/978-3-540-74143-5_24.

    [26]

    Camenisch J. Group signature schemes and payment systems based on the discrete logarithm problem [Ph.D. Thesis]. ETH Zurich, 1998.

图(10)
计量
  • 文章访问数:  133
  • HTML全文浏览量:  9
  • PDF下载量:  42
  • 被引次数: 0
出版历程
  • 收稿日期:  2022-10-25
  • 录用日期:  2024-06-30
  • 网络出版日期:  2024-07-01
  • 刊出日期:  2025-02-22

目录

/

返回文章
返回