Next Article in Journal
Quantum Measurements and Delays in Scattering by Zero-Range Potentials
Previous Article in Journal
Study on Microstructure and High Temperature Stability of WTaVTiZrx Refractory High Entropy Alloy Prepared by Laser Cladding
Previous Article in Special Issue
Fair Max–Min Diversity Maximization in Streaming and Sliding-Window Models
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Identity-Based Matchmaking Encryption with Equality Test

College of Computer Science and Technology, Ocean University of China, Qingdao 266100, China
*
Author to whom correspondence should be addressed.
Entropy 2024, 26(1), 74; https://doi.org/10.3390/e26010074
Submission received: 19 November 2023 / Revised: 31 December 2023 / Accepted: 8 January 2024 / Published: 15 January 2024
(This article belongs to the Special Issue Advances in Information Sciences and Applications II)

Abstract

:
The identity-based encryption with equality test (IBEET) has become a hot research topic in cloud computing as it provides an equality test for ciphertexts generated under different identities while preserving the confidentiality. Subsequently, for the sake of the confidentiality and authenticity of the data, the identity-based signcryption with equality test (IBSC-ET) has been put forward. Nevertheless, the existing schemes do not consider the anonymity of the sender and the receiver, which leads to the potential leakage of sensitive personal information. How to ensure confidentiality, authenticity, and anonymity in the IBEET setting remains a significant challenge. In this paper, we put forward the concept of the identity-based matchmaking encryption with equality test (IBME-ET) to address this issue. We formalized the system model, the definition, and the security models of the IBME-ET and, then, put forward a concrete scheme. Furthermore, our scheme was confirmed to be secure and practical by proving its security and evaluating its performance.

1. Introduction

The swift progress in cloud computing featured by the outsourcing of data to the cloud has given rise to a growing trend among organizations and individuals, enabling entities to benefit from the ultra-large capacity and calculating services provided by cloud providers. The maintenance of data confidentiality is a fundamental security requirement of cloud storage, which is generally achieved by employing existing cryptographic mechanisms. Nonetheless, how to perform efficient searches on ciphertexts is a practical problem. In order to protect data confidentiality and, meanwhile, support privacy-preserving keyword searching on ciphertexts, public key encryption with keyword search (PEKS) has been presented [1]. Nevertheless, PEKS is limited to searching on ciphertexts generated under a single public key, rendering it unsuitable for cloud storage scenarios involving multiple users.
To provide privacy-preserving equality searching on ciphertexts encrypted under distinct public keys without losing the data confidentiality, Yang et al. [2] put forward an extension of PEKS known as the public key encryption with equality test (PKEET). However, in Yang et al.’s construction, anyone can conduct the equality test without authorization, which infringes on the data owner’s privacy. Hence, the authorization mechanism was introduced into the PKEET to guarantee that no one except the data owner can enable the cloud server to test its ciphertexts with the others’.
Subsequently, Ma [3] proposed the identity-based encryption with equality test (IBEET) to eliminate the certificate management problem of the PKEET. In this primitive, the identities of the sender and receiver were exploited to denote the public keys, eliminating the need for certificate management. Owing to the equality test function, the IBEET has been applied in various practical applications, such as personal health record (PHR) systems [4,5] and Internet of Vehicles (IoV) road monitoring [6].
Ensuring the authenticity of data is another fundamental security requirement of cloud storage. For the sake of the confidentiality and authenticity of data while supporting the privacy-preserving equality test for ciphertexts generated from different identities, Xiong et al. [7] presented the identity-based signcryption with equality test (IBSC-ET). Afterwards, several related signcryption schemes supporting the equality test have been conceived of. Nevertheless, the existing studies have not considered the anonymity of the sender and the receiver, which leads to the potential leakage of sensitive personal information.

1.1. Motivation

As depicted in Figure 1, in a PHR system, the patients’ PHRs contain as much relevant health data as possible from various healthcare providers over their lifetime. To ensure patients’ privacy, it is essential to store the health data in the cloud in ciphertext form. To find patients having similar illnesses, a patient (e.g., Alice or Bob) can authorize the cloud server to compare his/her ciphertexts sent by a specified healthcare provider with the others’ ciphertexts, so that the patients can help each other by sharing their experiences or mental processes.
However, by employing the existing signcryption schemes with equality test (to guarantee the confidentiality and authenticity of health data while supporting the privacy-preserving equality test on ciphertexts), the patients are unable to prevent sensitive personal information from being leaked to the cloud server. That is because the existing schemes do not consider the anonymity of the sender and receiver of the ciphertext. Consequently, the cloud server can know the healthcare provider of the ciphertext, e.g., MD Anderson Cancer Center. Likewise, from the ciphertext and the authorization trapdoor, the cloud server can learn whose identity the ciphertext is encrypted under, namely who is the receiver of the ciphertext, in this way to identify the patient associated with the ciphertext. Obviously, this seriously infringes upon the patient’s privacy.
Hence, during the equality testing procedure, there are three security aspects that should be guaranteed against the cloud server:
  • Confidentiality: The cloud server has no knowledge about the health data concealed in the ciphertext.
  • Authenticity: The cloud server is unable to fake any legitimate ciphertext pertaining to the sender and the receiver.
  • Anonymity: The cloud server has no knowledge about the identities of the sender and the receiver concealed in the ciphertext.
Therefore, we propose a new primitive, which not only offers the confidentiality, authenticity, and anonymity of data stored in the cloud, but also provides equality test functionality for ciphertexts generated under different identities without losing the confidentiality, authenticity, and anonymity of the data.

1.2. Related Works

Search on ciphertexts: Searchable encryption (SE) [8] was put forward to offer secure search functionality over ciphertexts encrypted under single public key. There are two categories of SE: public key encryption with keyword search (PEKS) [1,9,10] and symmetric searchable encryption (SSE) [11,12]. PEKS was conceived of by Boneh et al. [1] to support keyword searching over ciphertexts in public key settings by using the corresponding trapdoors without retrieving messages. After that, a variety of PEKS schemes have been presented for enhanced functionalities and different application requirements [9,10]. However, SE cannot offer equality test functionality for ciphertexts generated under different identities, which differs from our proposal.
Equality test on ciphertexts: The primitive of the PKEET was put forward to verify whether the identical message is concealed in two ciphertexts, where the ciphertexts may be encrypted under distinct public keys [2]. Then, the authorization mechanisms were introduced into the PKEET, and a series of PKEET schemes supporting various authorizations were proposed [13,14]. Ma [3] first introduced the primitive of the IBEET, to eliminate the certificate management problem of the traditional PKEET. A semi-generic IBEET scheme was conceived of by Lee et al. [15] to achieve CCA security. Then, several IBEET schemes supporting various authorizations were introduced [16,17]. Although the above schemes offer equality test functionality while preserving the confidentiality, the data authenticity is not guaranteed. To address this challenge, Xiong et al. [7] established the notion of the IBSC-ET by combining identity-based signcryption (IBSC) [18] and the IBEET. Afterwards, several signcryption schemes with equality test functionality for heterogeneous systems were proposed [19,20,21]. However, the existing studies have not considered the anonymity of the sender and the receiver, which leads to the potential leakage of sensitive personal information, which differs from our proposal.
Identity-based matchmaking encryption: In CRYPTO 2019, Ateniese et al. [22] put forward the primitive of identity-based matching encryption (IB-ME) to logically ensure the confidentiality, authenticity, and anonymity of data in one step. The guarantee of IB-ME is as follows: the recipient obtains the message when the match happens (both parties’ identities match the identity specified by the other party); in case the match does not happen, no information is disclosed other than the fact of the mismatch. Then, by extending IB-ME, a secure access control scheme was conceived of by Xu et al. [23] for cloud–fog computing, and a secure access control scheme was suggested by Sun et al. [24] for cloud-enabled industrial IoT healthcare systems. Chen et al. [25] suggested an IB-ME scheme on the basis of standard assumptions. Wu et al. [26] conceived of a Fuzzy IB-ME scheme. Yan et al. [27] conceived of an IB-ME scheme supporting proxy decryption. Sun et al. [28] suggested an IB-ME scheme supporting a broadcast mechanism. However, although IB-ME can ensure the confidentiality, authenticity, and anonymity of data, all of these related schemes cannot offer equality test functionality for ciphertexts without losing the confidentiality, authenticity, and anonymity of the data, which differs from our proposal.

1.3. Contributions

We emphasize here again that the existing cryptographic schemes with the equality test do not consider the anonymity of the sender and the receiver, which leads to the potential leakage problem of sensitive personal information. Hence, we put forward a novel primitive, called the identity-based matchmaking encryption with equality test (IBME-ET), by combining IB-ME and the IBEET. This primitive not only offers the confidentiality, authenticity, and anonymity of data stored in the cloud, but also provides equality test functionality for ciphertexts generated under different identities without losing the confidentiality, authenticity, and anonymity of the data.
Our proposed IBME-ET can advance the anonymity of existing applications. For example, in a PHR system [4,5], the patient can permit the cloud server to compare his/her encrypted health data sent by a specified healthcare provider with the others’, in this way to make friends with the patients having a similar illness. Our proposal can simplify the leakage problem of the real identities of the healthcare provider and the patient, which exists in current cryptographic schemes with the equality test, thereby guaranteeing the confidentiality, authenticity, and anonymity of the patients’ health data.
The equality testing process in the IBME-ET can be succinctly outlined as follows: Let C ( σ A , r c v A ) denote a ciphertext generated on ( e k σ A , r c v A , m A ) and C ( σ B , r c v B ) denote a ciphertext generated on ( e k σ B , r c v B , m B ) , where e k σ A and e k σ B are the encryption keys of the senders with identities σ A and σ B and r c v A and r c v B are the identities of the specified receivers, respectively. Furthermore, let t d ( s n d A , ρ A ) be a trapdoor generated on ( s n d A , d k ρ A ) and t d ( s n d B , ρ B ) be a trapdoor generated on ( s n d B , d k ρ B ) , where s n d A and s n d B are the identities of the specified senders and d k ρ A and d k ρ B are the decryption keys of the receivers with identities ρ A and ρ B , respectively. Given ( C ( σ A , r c v A ) , t d ( s n d A , ρ A ) ) and ( C ( σ B , r c v B ) , t d ( s n d B , ρ B ) ) , two conditions are involved:
  • Match (i.e., σ A = s n d A r c v A = ρ A σ B = s n d B r c v B = ρ B m A = m B ): the cloud server returns 1, and no further information is revealed other than the fact that the match happened, that is the cloud server learns neither the messages m A = m B nor the identities σ A = s n d A , r c v A = ρ A , σ B = s n d B , r c v B = ρ B .
  • Mismatch (i.e., σ A s n d A r c v A ρ A σ B s n d B r c v B ρ B m A m B ): the cloud server returns 0, and no further information is revealed other than the fact of the mismatch, that is the cloud server learns neither the messages m A , m B nor the identities σ A , s n d A , r c v A , ρ A , σ B , s n d B , r c v B , ρ B .
The principal contributions can be succinctly outlined as follows:
  • We present the notion of the IBME-ET, which not only offers the confidentiality, authenticity, and anonymity of data stored in the cloud, but also provides equality test functionality for ciphertexts generated under different identities without losing the confidentiality, authenticity, and anonymity of the data.
  • We put forward the system model and definition of the IBME-ET. With respect to the confidentiality, authenticity, and anonymity, we formulated four security models for the IBME-ET by taking four types of adversaries into account.
  • We constructed a concrete IBME-ET scheme on the basis of the BDH assumption and the Gap-BDH assumption. Our scheme was confirmed to be secure and practical by proving its security and evaluating its performance.

1.4. Organization

In general: Section 2 introduces the preliminaries while Section 3 presents IBME-ET by displaying its system, definition and four security models. Section 4 and Section 5, respectively, focus on the detailed scheme and analysis of security. Then, Section 6 focuses on performance evaluation, Section 7 arrives at a conclusion.

2. Preliminaries

2.1. Asymmetric Bilinear Groups

G , G ^ , and G T indicate three multiplicative cyclic groups with prime order q. g and g ^ are the generators of G and G ^ , respectively. An asymmetric bilinear map e : G × G ^ G T includes the following characteristics:
  • Bilinearity: x G , y G ^ and u , v Z q * , e ( x u , y v ) = e ( x , y ) u v .
  • Non-degeneracy: g G , g ^ G ^ , e ( g , g ^ ) 1 .
Note that the group operations and asymmetric bilinear map e can be computed efficiently. However, if no efficiently computable isomorphisms are found between G and G ^ , then G , G ^ and G T do not possess efficiently computable isomorphisms.

2.2. Assumptions

  • Bilinear Diffie–Hellman (BDH) assumption: When a tuple ( g , g a , g c , g ^ , g ^ a , g ^ b ) G 3 × G ^ 3 is given, no PPT algorithm A calculates e ( g , g ^ ) a b c G T with non-negligible advantage. Define A ’s advantage as
    A d v B D H A ( λ ) = Pr [ A ( g , g a , g c , g ^ , g ^ a , g ^ b ) = e ( g , g ^ ) a b c ] .
  • Gap-bilinear Diffie–Hellman (Gap-BDH) assumption: When a tuple ( g , g a , g c , g ^ , g ^ a , g ^ b ) G 3 × G ^ 3 is given, even with the decision BDH oracle O DBDH , no PPT algorithm A calculates e ( g , g ^ ) a b c G T with non-negligible advantage [29]. Tuples of the form ( g , g a , g c , g ^ , g ^ a , g ^ b , e ( g , g ^ ) a b c ) are known as “BDH tuples”. With ( g , g a , g c , g ^ , g ^ a , g ^ b , T ) , O DBDH is able to check T = e ( g , g ^ ) a b c or not. O DBDH outputs 1 when T = e ( g , g ^ ) a b c ; otherwise, O DBDH outputs 0. Define A ’s advantage as
    A d v G a p - B D H A ( λ ) = Pr [ A ( g , g a , g c , g ^ , g ^ a , g ^ b , O DBDH ) = e ( g , g ^ ) a b c ] .

3. Definitions of IBME-ET

3.1. System Model

In Figure 2, our proposed IBME-ET comprises four distinct entities.
  • KGC: This entity’s responsibility is to securely generate and distribute encryption keys and decryption keys.
  • Sender: This entity’s responsibility is to generate ciphertexts, ensuring the confidentiality, authenticity, and anonymity of the data.
  • Receiver: This entity is responsible for collecting and outsourcing ciphertexts from potential senders secretly. It permits the cloud server to test ciphertexts sent by a specific sender without compromising the confidentiality, authenticity, and anonymity of the data.
  • Cloud server: This entity’s responsibility is to store the ciphertexts and perform equality tests based on the receivers’ authorizations.
Our workflow is succinctly outlined as follows:
  • The KGC utilizes the algorithm SKGen to calculate the encryption key e k σ in accordance with the identity of the sender σ and securely delivers this to the sender. Similarly, the KGC utilizes the algorithm RKGen to calculate the decryption key d k ρ in accordance with the identity of the receiver ρ and securely delivers this to the receiver.
  • A sender identified as σ executes the algorithm Enc to conceal the message m using encryption key e k σ along with a target receiver’s identity r c v , delivering it to the receiver with the ciphertext C ( σ , r c v ) .
  • A receiver identified as ρ executes the algorithm Decc to decrypt the ciphertexts by employing the receiver’s decryption key d k ρ and the identity of the target sender s n d , delivering the desirable ciphertexts to the cloud server. Specifically, given C ( σ , r c v ) , d k ρ , and s n d , the guarantee in the decryption procedure is as follows:
    • Match (i.e., σ = s n d ρ = r c v ): the message m is obtained by the receiver.
    • Mismatch (i.e., σ s n d ρ r c v ): the receiver obtains neither the message m nor the identities σ , r c v .
  • To test the ciphertexts offered by a target sender, the receiver identified as ρ executes the algorithm Auth to calculate a trapdoor t d ( s n d , ρ ) with the identity of the target sender s n d and its decryption key d k ρ and delivers the trapdoor to the cloud server.
  • Utilizing the receivers’ trapdoors, the cloud server executes the algorithm Test to test the ciphertexts sent by the specified senders without learning the messages and identities. Specifically, given ( C ( σ A , r c v A ) , t d ( s n d A , ρ A ) ) and ( C ( σ B , r c v B ) , t d ( s n d B , ρ B ) ) , the guarantee in equality testing procedure is as follows:
    • Match (i.e., σ A = s n d A r c v A = ρ A σ B = s n d B r c v B = ρ B m A = m B ): the cloud server returns 1, and the cloud server learns neither the messages m A = m B nor the identities σ A = s n d A , r c v A = ρ A , σ B = s n d B , r c v B = ρ B .
    • Mismatch (i.e., σ A s n d A r c v A ρ A σ B s n d B r c v B ρ B m A m B ): the cloud server returns 0, and the cloud server learns neither the messages m A , m B nor the identities σ A , s n d A , r c v A , ρ A , σ B , s n d B , r c v B , ρ B .

3.2. IBME-ET Definition

An IBME-ET scheme comprises the subsequent algorithms:
  • S e t u p ( λ ) ( p p , m k ) : The system parameters p p along with the master key m k are answered.
  • S K G e n ( p p , m k , σ ) e k σ : The encryption key e k σ for the sender identified as σ is answered.
  • R K G e n ( p p , m k , ρ ) d k ρ : The decryption key d k ρ for the receiver identified as ρ is answered.
  • E n c ( p p , e k σ , r c v , m ) C : Given the system parameters p p , an encryption key of the sender e k σ , and an identity of the target receiver r c v along with the message m, the corresponding ciphertext C is answered.
  • D e c ( p p , d k ρ , s n d , C ) m / : Given the system parameters p p , a decryption key of the receiver d k ρ , and an identity of the target sender s n d along with the ciphertext C, the corresponding message m is answered or the symbol ⊥ to signal the failure of the decryption is answered.
  • A u t h ( p p , s n d , d k ρ ) t d ( s n d , ρ ) : Given the system parameters p p and an identity of the target sender s n d along with a decryption key of the receiver d k ρ , the corresponding trapdoor t d ( s n d , ρ ) is answered.
  • T e s t ( p p , C ( σ A , r c v A ) , t d ( s n d A , ρ A ) , C ( σ B , r c v B ) , t d ( s n d B , ρ B ) ) 0 / 1 : Given the system parameters p p , two pairs of ciphertext/trapdoors ( C ( σ A , r c v A ) , t d ( s n d A , ρ A ) ) and ( C ( σ B , r c v B ) , t d ( s n d B , ρ B ) ) , if σ A = s n d A r c v A = ρ A σ B = s n d B r c v B = ρ B C ( σ A , r c v A ) and C ( σ B , r c v B ) are generated using the identical message, it answers 1. Otherwise, it answers 0.
Correctness: An IBME-ET scheme is correct when the subsequent conditions are met:
  • When σ = s n d ρ = r c v , D e c ( p p , d k ρ , s n d , E n c ( p p , e k σ , r c v , m ) ) = m always holds.
  • Let C ( σ A , r c v A ) = E n c ( p p , e k σ A , r c v A , m A ) , C ( σ B , r c v B ) = E n c ( p p , e k σ B , r c v B , m B ) , t d ( s n d A , ρ A ) = A u t h ( p p , s n d A , d k ρ A ) , and t d ( s n d B , ρ B ) = A u t h ( p p , s n d B , d k ρ B ) . If σ A = s n d A r c v A = ρ A σ B = s n d B r c v B = ρ B m A = m B , T e s t ( p p , C ( σ A , r c v A ) , t d ( s n d A , ρ A ) , C ( σ B , r c v B ) , t d ( s n d B , ρ B ) ) = 1 ; otherwise, Pr [ T e s t ( p p , C ( σ A , r c v A ) , t d ( s n d A , ρ A ) , C ( σ B , r c v B ) , t d ( s n d B , ρ B ) ) = 1 ] is negligible.

3.3. Security Definitions

With respect to the confidentiality, authenticity, and anonymity of the IBME-ET, it is crucial to consider four distinct types of adversaries:
  • Type-I adversary A 1 : Without the trapdoor and decryption key of the receiver, A 1 is unable to determine which message the challenge ciphertext is computed from. For A 1 , define the security model IND-ID-CCA.
  • Type-II adversary A 2 : Without the decryption key of the receiver, A 2 is unable to obtain the message concealed in the challenge ciphertext. For A 2 , define the security model OW-ID-CCA.
  • Type-III adversary A 3 : Without the decryption key of the receiver and the encryption key of the sender, A 3 is unable to determine the corresponding sender and receiver, even if A 3 has the trapdoor. For A 3 , define the security model ANON-ID-CCA.
  • Type-IV adversary A 4 : Without the decryption key of the receiver and the encryption key of the sender, A 4 is unable to fake any legitimate ciphertext delivered by the sender to the receiver, even if A 4 has the trapdoor. For A 4 , define the security model sUF-ID-CMA.
Let C be the challenger. We have the following oracles:
  • O S K G e n ( σ i ) : Once the identity of the sender σ i is received, C answers the encryption key e k σ i .
  • O R K G e n ( ρ j ) : Once the identity of the receiver ρ j is received, C answers the decryption key d k ρ j .
  • O E n c ( σ i , r c v , m ) : Once the identity of the sender σ i , the identity of the target receiver r c v , and a message m are received, C answers the result of E n c ( p p , e k σ i , r c v , m ) .
  • O D e c ( ρ j , s n d , C ) : Once the identity of the receiver ρ j , the identity of the target sender s n d , and a ciphertext C are received, C answers the result of D e c ( p p , d k ρ j , s n d , C ) .
  • O A u t h ( s n d , ρ j ) : Once the identity of the target sender s n d and the identity of the receiver ρ j are received, C answers the corresponding trapdoor t d ( s n d , ρ j ) = A u t h ( p p , s n d , d k ρ j ) .
Definition 1
(IND-ID-CCA). Regarding A 1 , the IBME-ET scheme meets IND-ID-CCA security when no PPT A 1 is winning the game below with a non-negligible advantage:
1.
Setup: C utilizes the algorithm S e t u p to calculate the master key m k and the system parameters p p and delivers p p to A 1 .
2.
Phase 1: A 1 can issue queries to the oracles: O S K G e n , O R K G e n , O A u t h , O D e c .
3.
Challenge: A 1 sends identities σ * , r c v * and equal-length messages m 0 * , m 1 * to C . Subsequently, C randomly selects x { 0 , 1 } and answers A 1 with the challenge ciphertext C * = E n c ( p p , e k σ * , r c v * , m x * ) .
4.
Phase 2: A 1 makes queries like in P h a s e 1.
5.
Guess: A 1 answers a guess x { 0 , 1 } and is winning when x = x . A 1 ’s advantage is defined as A d v I B M E E T , A 1 I N D I D C C A ( λ ) = | Pr [ x = x ] 1 2 | .
In the above game, the constraint is that A 1 cannot ask the following queries: O R K G e n ( r c v * ) , O A u t h ( σ * , r c v * ) , O D e c ( r c v * , σ * , C * ) .
Definition 2
(OW-ID-CCA). Regarding A 2 , the IBME-ET scheme meets OW-ID-CCA security when no PPT A 2 is winning the game below with a non-negligible advantage:
1.
Setup: Same as Definition 1.
2.
Phase 1: A 2 can issue queries to the oracles: O S K G e n , O R K G e n , O A u t h , O D e c .
3.
Challenge: A 2 sends identities σ * , r c v * to C . Subsequently, C randomly chooses a message m * { 0 , 1 } λ and answers to A 2 with the challenge ciphertext C * = E n c ( p p , e k σ * , r c v * , m * ) .
4.
Phase 2: A 2 makes queries like in P h a s e 1.
5.
Guess: A 2 answers a guess m and is winning when m * = m . A 2 ’s advantage is defined as A d v I B M E E T , A 2 O W I D C C A ( λ ) = Pr [ m * = m ] .
In the above game, the constraints is that A 2 cannot ask the following queries: O R K G e n ( r c v * ) , O D e c ( r c v * , σ * , C * ) .
Definition 3
(ANON-ID-CCA). Regarding A 3 , the IBME-ET scheme meets ANON-ID-CCA security when no PPT A 3 is winning the game below with a non-negligible advantage:
1.
Setup: Same as Definition 1.
2.
Phase 1: A 3 can issue queries to the oracles: O S K G e n , O R K G e n , O A u t h , O E n c , O D e c .
3.
Challenge: A 3 sends identities ( s n d 0 * , ρ 0 * ) , ( s n d 1 * , ρ 1 * ) and a message m * to C . Subsequently, C randomly chooses x { 0 , 1 } and answers to A 3 with the challenge ciphertext C * = E n c ( p p , e k s n d x * , ρ x * , m * ) and the challenge trapdoor t d ( s n d x * , ρ x * ) = A u t h ( p p , s n d x * , d k ρ x * ) .
4.
Phase 2: A 3 makes queries like in P h a s e 1.
5.
Guess: A 3 answers a guess x { 0 , 1 } and is winning when x = x . A 3 ’s advantage is defined as A d v I B M E E T , A 3 A N O N I D C C A ( λ ) = | Pr [ x = x ] 1 2 | .
In the above game, the constraint is that A 3 cannot ask the following queries:
  • O S K G e n ( s n d 0 * ) , O S K G e n ( s n d 1 * ) , O E n c ( s n d 0 * , ρ 0 * , ) and O E n c ( s n d 1 * , ρ 1 * , ) .
  • O R K G e n ( ρ 0 * ) , O R K G e n ( ρ 1 * ) , O A u t h ( s n d 0 * , ρ 0 * ) and O A u t h ( s n d 1 * , ρ 1 * ) .
  • O D e c ( ρ 0 * , s n d 0 * , C * ) , O D e c ( ρ 1 * , s n d 1 * , C * ) .
Definition 4
(sUF-ID-CMA). Regarding A 4 , the IBME-ET scheme meets sUF-ID-CMA security when no PPT A 4 is winning the game below with a non-negligible advantage:
1.
Setup: Same as Definition 1.
2.
Queries: A 4 can issue queries to the oracles: O S K G e n , O R K G e n , O A u t h , O E n c , O D e c .
3.
Forgery: A 4 answers a triple ( s n d * , ρ * , C * ) . A 4 is winning when m * = D e c ( p p , d k ρ * , s n d * , C * ) . A 4 ’s advantage is defined as A d v I B M E E T , A 4 s U F I D C M A ( λ ) = Pr [ A 4 wins].
In the above game, the constraint is that A 4 cannot make the following queries: O S K G e n ( s n d * ) and O R K G e n ( ρ * ) . Furthermore, C * cannot be an output of O E n c ( s n d * , ρ * , * ) .

4. Our Construction

The IBME-ET scheme is concretely constructed as below:
  • Setup( λ ): The following steps are taken:
    • Randomly select the generators g G along with g ^ G ^ .
    • Randomly select numbers s , α , β 0 , β 1 Z q * , and set g 1 = g α , f = g β 0 , f ^ = g ^ β 0 , h = g β 1 , h ^ = g ^ β 1 .
    • Secure hash functions are defined: H : G T Z q * , H 1 : { 0 , 1 } * G , H 2 : { 0 , 1 } * G ^ , H 3 : { 0 , 1 } * G ^ , H 4 : G T Z q * , H 5 : { 0 , 1 } λ + l Z q * , H 6 : G T 2 × G 3 { 0 , 1 } λ + l , H 7 : { 0 , 1 } λ G ^ , and H 8 : G T G ^ .
    • Return the master key m k along with the system parameters p p , where
      m k = ( s , α ) ,
      p p = ( G , g , g ^ , g 1 , f , h , f ^ , h ^ , H , H 1 , H 2 , H 3 , H 4 , H 5 , H 6 , H 7 , H 8 ) .
  • SKGen( p p , m k , σ ): Let m k = ( s , α ) . This algorithm produces the encryption key e k σ = H 1 ( σ ) s .
  • RKGen( p p , m k , ρ ): Let m k = ( s , α ) . This algorithm produces the decryption key d k ρ = ( d 1 , d 2 , d 3 ) = ( H 3 ( ρ ) s , H 2 ( ρ ) α , H 3 ( ρ ) α ) .
  • Enc( p p , e k σ , r c v , m ): Let r c v = ρ and m { 0 , 1 } λ . The ciphertext C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) is calculated as below:
    • Randomly select r Z q * and k { 0 , 1 } l , and calculate R = H 5 ( m , k ) .
    • Calculate η = e ( e k σ , H 3 ( ρ ) ) , ω 1 = e ( g 1 , H 2 ( ρ ) ) r · H 4 ( η ) and ω 2 = e ( g 1 , H 3 ( ρ ) ) r · H 4 ( η ) .
    • Calculate the following numbers:
      C 0 = g R , C 1 = g r , C 2 = ( f h H ( η ) ) r , C 3 = ( m k ) H 6 ( ω 1 , η , C 0 , C 1 , C 2 ) , C 4 = H 7 ( m ) R · H 8 ( ω 2 ) .
  • D e c ( p p , d k ρ , s n d , C ): Let d k ρ = ( d 1 , d 2 , d 3 ) , s n d = σ . The following steps are taken:
    • Calculate η = e ( H 1 ( σ ) , d 1 ) , ω 1 = e ( C 1 , d 2 H 4 ( η ) ) and ω 2 = e ( C 1 , d 3 H 4 ( η ) ) .
    • Obtain m k by computing C 3 H 6 ( ω 1 , η , C 0 , C 1 , C 2 ) .
    • Calculate R = H 5 ( m , k ) .
    • If C 0 = g R and C 4 = H 7 ( m ) R · H 8 ( ω 2 ) hold, answer m ; otherwise, answer ⊥.
  • Auth( p p , s n d , d k ρ ): Let d k ρ = ( d 1 , d 2 , d 3 ) and s n d = σ . The following steps are taken:
    • Randomly select y Z q * , and calculate η = e ( H 1 ( σ ) , d 1 ) .
    • Return the trapdoor t d ( s n d , ρ ) = ( y 1 , y 2 ) = ( d 3 H 4 ( η ) ( f ^ h ^ H ( η ) ) y , g ^ y ) .
  • Test( p p , C ( σ A , r c v A ) , t d ( s n d A , ρ A ) , C ( σ B , r c v B ) , t d ( s n d B , ρ B ) ): Let C ( σ A , r c v A ) = ( C σ A , r c v A , 0 , C σ A , r c v A , 1 , C σ A , r c v A , 2 , C σ A , r c v A , 3 , C σ A , r c v A , 4 ) , t d ( s n d A , ρ A ) = ( y s n d A , ρ A , 1 , y s n d A , ρ A , 2 ) , C ( σ B , r c v B ) = ( C σ B , r c v B , 0 , C σ B , r c v B , 1 , C σ B , r c v B , 2 , C σ B , r c v B , 3 , C σ B , r c v B , 4 ) and t d ( s n d B , ρ B ) ) = ( y s n d B , ρ B , 1 , y s n d B , ρ B , 2 ) . The following steps are taken:
    • Calculate
      ω A , 2 = e ( C σ A , r c v A , 1 , y s n d A , ρ A , 1 ) / e ( C σ A , r c v A , 2 , y s n d A , ρ A , 2 ) ,
      ω B , 2 = e ( C σ B , r c v B , 1 , y s n d B , ρ B , 1 ) / e ( C σ B , r c v B , 2 , y s n d B , ρ B , 2 ) .
    • Calculate
      K A = C σ A , r c v A , 4 / H 8 ( ω A , 2 ) ,
      K B = C σ B , r c v B , 4 / H 8 ( ω B , 2 ) .
    • Check whether e ( C σ A , r c v A , 0 , K B ) = e ( C σ B , r c v B , 0 , K A ) holds. When it holds, answer 1 or 0 otherwise.
Correctness: The proposed scheme is correct in accordance with the correctness definition:
  • Regarding Condition 1, when σ = s n d and ρ = r c v , we have
    η = e ( e k σ , H 3 ( ρ ) ) = e ( H 1 ( σ ) , H 3 ( ρ ) ) s = e ( H 1 ( σ ) , d 1 ) , ω 1 = e ( g 1 , H 2 ( ρ ) ) r · H 4 ( η ) = e ( g , H 2 ( ρ ) ) r α · H 4 ( η ) = e ( C 1 , d 2 H 4 ( η ) ) , C 3 H 6 ( ω 1 , η , C 0 , C 1 , C 2 ) = ( m k ) H 6 ( ω 1 , η , C 0 , C 1 , C 2 ) H 6 ( ω 1 , η , C 0 , C 1 , C 2 ) = m k .
    Thus, when σ = s n d and ρ = r c v , D e c ( p p , d k ρ , s n d , E n c ( p p , e k σ , r c v , m ) ) = m always holds.
  • Regarding Condition 2, if σ A = s n d A r c v A = ρ A σ B = s n d B r c v B = ρ B m A = m B , we have
    e ( C σ A , ρ A , 1 , y σ A , ρ A , 1 ) e ( C σ A , ρ A , 2 , y σ A , ρ A , 2 ) = e ( g r A , d A , 3 H 4 ( η A ) ( f ^ h ^ H ( η A ) ) y A ) e ( ( f h H ( η A ) ) r A , g ^ y A ) = e ( g r A , d A , 3 H 4 ( η A ) ) · e ( g , f ^ h ^ H ( η A ) ) r A y A e ( f h H ( η A ) , g ^ ) r A y A = e ( g r A , d A , 3 H 4 ( η A ) ) · e ( g , g ^ β 0 + β 1 H ( η A ) ) r A y A e ( g β 0 + β 1 H ( η A ) , g ^ ) r A y A = e ( g r A , d A , 3 H 4 ( η A ) ) = e ( g , H 3 ( ρ A ) ) r A α · H 4 ( η A ) = e ( g 1 , H 3 ( ρ A ) ) r A · H 4 ( η A ) = ω A , 2 , e ( C σ B , ρ B , 1 , y σ B , ρ B , 1 ) e ( C σ B , ρ B , 2 , y σ B , ρ B , 2 ) = e ( g r B , d B , 3 H 4 ( η B ) ( f ^ h ^ H ( η B ) ) y B ) e ( ( f h H ( η B ) ) r B , g ^ y B ) = e ( g r B , d B , 3 H 4 ( η B ) ) · e ( g , f ^ h ^ H ( η B ) ) r B y B e ( f h H ( η B ) , g ^ ) r B y B = e ( g r B , d B , 3 H 4 ( η B ) ) · e ( g , g ^ β 0 + β 1 H ( η B ) ) r B y B e ( g β 0 + β 1 H ( η B ) , g ^ ) r B y B = e ( g r B , d B , 3 H 4 ( η B ) ) = e ( g , H 3 ( ρ B ) ) r B α · H 4 ( η B ) = e ( g 1 , H 3 ( ρ B ) ) r B · H 4 ( η B ) = ω B , 2 .
    K A = C σ A , ρ A , 4 H 8 ( ω A , 2 ) = H 7 ( m A ) R A · H 8 ( ω A , 2 ) H 8 ( ω A , 2 ) = H 7 ( m A ) R A , K B = C σ B , ρ B , 4 H 8 ( ω B , 2 ) = H 7 ( m B ) R B · H 8 ( ω B , 2 ) H 8 ( ω B , 2 ) = H 7 ( m B ) R B , e ( C σ A , ρ A , 0 , K B ) = e ( g R A , H 7 ( M B ) R B ) = e ( g , H 7 ( M B ) ) R A R B , e ( C σ B , ρ B , 0 , K A ) = e ( g R B , H 7 ( M A ) R A ) = e ( g , H 7 ( M A ) ) R A R B .
    If σ A = s n d A r c v A = ρ A σ B = s n d B r c v B = ρ B m A = m B , then e ( C σ A , ρ A , 0 , K B ) = e ( C σ B , ρ B , 0 , K A ) , so T e s t ( p p , C ( σ A , r c v A ) , t d ( s n d A , ρ A ) , C ( σ B , r c v B ) , t d ( s n d B , ρ B ) ) = 1 ; otherwise, Pr [ T e s t ( p p , C ( σ A , r c v A ) , t d ( s n d A , ρ A ) , C ( σ B , r c v B ) , t d ( s n d B , ρ B ) ) = 1 ] is negligible due to the hash functions H 7 and H 8 being collision-resistant.

5. Security Analysis

In the random oracle model, we used the method of proof by contradiction to show that if the BDH assumption and Gap-BDH assumption introduced in the preliminaries (see Section 2) hold, and our proposed IBME-ET scheme can meet confidentiality, authenticity, and anonymity in cryptography [30,31,32].
According to our IBME-ET scheme, given the ciphertext C, we have the following observations:
  • To reveal the message m, it is necessary to calculate ω 1 = e ( g 1 , H 2 ( ρ ) ) r · H 4 ( η ) .
  • To obtain H 7 ( m ) R , which is used for the equality test, it is necessary to calculate ω 2 = e ( g 1 , H 3 ( ρ ) ) r · H 4 ( η ) .
  • To distinguish the identities of the sender and the receiver concealed in the ciphertext, it is necessary to calculate η = e ( e k σ , H 3 ( ρ ) ) = e ( H 1 ( σ ) , H 3 ( ρ ) ) s .
  • To fake any legitimate ciphertext pertaining to the sender σ and the receiver ρ , it is necessary to calculate η = e ( e k σ , H 3 ( ρ ) ) = e ( H 1 ( σ ) , H 3 ( ρ ) ) s .
Note that, regarding to the confidentiality, anonymity, and authenticity of the IBME-ET, four security models are defined by considering four distinct types of adversaries (see Section 3.3). The security proof of our scheme can be outlined as follows:
As for the confidentiality, we first used the BDH assumption to prove that our proposal meets IND-ID-CCA security regarding the Type-I adversary A 1 . Given a BDH assumption instance ( g , g a , g c , g ^ , g ^ a , g ^ b ) , we generated a simulated scheme B and interacted with A 1 by following the IND-ID-CCA security model defined in Section 3.3. B simulates the oracles O S K G e n , O R K G e n , O A u t h , and O D e c to answer A 1 ’s queries and preserves the L H and L H i ( i = 1 , 2 , 3 , 5 , 6 , 7 , 8 ) lists to simulate the random oracles O H and O H i ( i = 1 , 2 , 3 , 5 , 6 , 7 , 8 ) . In the challenge phase, A 1 sends identities σ * , r c v * and equal-length messages m 0 * , m 1 * to B . Let r c v * = ρ * . B randomly selects x { 0 , 1 } and answers the challenge ciphertext C * = ( C 0 * , C 1 * , C 2 * , C 3 * , C 4 * ) = E n c ( p p , e k σ * , ρ * , m x * ) to A 1 . In the simulation, the challenge ciphertext implicitly sets ω 1 * = e ( g , g ^ ) a b c v * · H 4 ( η * ) , ω 2 * = e ( g , g ^ ) a b c t * · H 4 ( η * ) , H 6 ( ω 1 * , η * , C 0 * , C 1 * , C 2 * ) = ( m x k ) C 3 * , H 8 ( ω 2 * ) = C 4 * H 7 ( m x ) R , where g 1 = g a , H 2 ( ρ * ) = g ^ b v * , H 3 ( ρ * ) = g ^ b t * , H 1 ( σ * ) = g u * , e k σ * = g s u * , η * = e ( g , g ^ ) b s u * t * , C 0 * = g R , C 1 * = g c , and C 2 * = g β 0 c . Finally, in the guess phase, A 1 outputs a guess x { 0 , 1 } . The advantage of A 1 for breaking our proposal is defined as ϵ = | Pr [ x = x ] 1 2 | . If ϵ is non-negligible, then the tuple [ ω 1 * , η * , C 0 * , C 1 * , C 2 * , δ * ] is documented in L H 6 with non-negligible probability. If B selects the right tuple from L H 6 , B can return the BDH instance solution ω 1 * ( v * H 4 ( η * ) ) 1 ( = e ( g , g ^ ) a b c ) . As a result, the BDH assumption can be addressed by B with non-negligible advantage if A 1 is able to break our proposal with non-negligible advantage.
Subsequently, as for the confidentiality, we used the BDH assumption to prove that our proposal meets OW-ID-CCA security regarding the Type-II adversary A 2 . Given a BDH assumption instance ( g , g a , g c ,   g ^ , g ^ a , g ^ b ) , we generated a simulated scheme B and interacted with A 2 by following the OW-ID-CCA security model defined in Section 3.3. B simulates the oracles O S K G e n , O R K G e n , O A u t h , and O D e c to answer A 2 ’s queries and preserves the L H and L H i ( i = 1 , 2 , 3 , 5 , 6 , 7 , 8 ) lists to simulate the random oracles O H and O H i ( i = 1 , 2 , 3 , 5 , 6 , 7 , 8 ) . In the challenge phase, A 2 sends identities σ * , r c v * to B . Let r c v * = ρ * . B randomly chooses a message m * { 0 , 1 } λ and answers the challenge ciphertext C * = ( C 0 * , C 1 * , C 2 * , C 3 * , C 4 * ) = E n c ( p p , e k σ * , ρ * , m * ) to A 2 . In the simulation, the challenge ciphertext implicitly sets ω 1 * = e ( g , g ^ ) a b c v * · H 4 ( η * ) , H 6 ( ω 1 * , η * , C 0 * , C 1 * , C 2 * ) = ( m * k ) C 3 * , where g 1 = g a , H 2 ( ρ * ) = g ^ b v * , H 3 ( ρ * ) = g ^ t * , H 1 ( σ * ) = g u * , e k σ * = g s u * , η * = e ( g , g ^ ) b s u * t * , C 0 * = g R , C 1 * = g c , C 2 * = g β 0 c , and C 4 * = H 7 ( m * ) R · H 8 ( e ( g c , g ^ a t * · H 4 ( η * ) ) ) . Finally, in the guess phase, A 2 outputs a guess m . The advantage of A 2 for breaking our proposal is defined as ϵ = | Pr [ m * = m ] | . If ϵ is non-negligible, then the tuple [ ω 1 * , η * , C 0 * , C 1 * , C 2 * , δ * ] is documented in L H 6 with non-negligible probability. If B selects the right tuple from L H 6 , B can return the BDH instance solution ω 1 * ( v * H 4 ( η * ) ) 1 ( = e ( g , g ^ ) a b c ) . As a result, the BDH assumption can be addressed by B with non-negligible advantage if A 2 is able to break our proposal with non-negligible advantage.
As for the anonymity, we used the Gap-BDH assumption to prove that our proposal meets ANON-ID-CCA security regarding the Type-III adversary A 3 . Given a Gap-BDH assumption instance ( g , g a , g c , g ^ , g ^ a , g ^ b ,   O DBDH ) , we generated a simulated scheme B and interacted with A 3 by following the ANON-ID-CCA security model defined in Section 3.3. B simulates the oracles O H , O H i ( i = 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) , O S K G e n , O R K G e n , O A u t h , O E n c , and O D e c to answer A 3 ’s queries. In the challenge phase, A 3 sends identities ( s n d 0 * , ρ 0 * ) , ( s n d 1 * , ρ 1 * ) and a message m * to B . Let s n d 0 * = σ 0 * , s n d 1 * = σ 1 * . B randomly chooses x { 0 , 1 } and answers the challenge ciphertext C * = ( C 0 * , C 1 * , C 2 * , C 3 * , C 4 * ) = E n c ( p p , e k σ x * , ρ x * , m * ) and the challenge trapdoor t d ( σ x * , ρ x * ) = ( y 1 , y 2 ) = A u t h ( p p , σ x * , d k ρ x * ) to A 3 . In the simulation, the challenge ciphertext implicitly sets η * = e ( g , g ^ ) a b c u x * t x * , ω 1 * = e ( g a α , g ^ b ) r Ω v x * , C 3 * = ( m * k ) H 6 ( ω 1 * , η * , C 0 * , C 1 * , C 2 * ) , where g 1 = g a α , H 1 ( σ 0 * ) = g c u i x * , H 2 ( ρ x * ) = g ^ b v j t * , H 3 ( ρ x * ) = g ^ b v t x * , ω 2 * = e ( g a α , g ^ b ) r Ω ˜ x x , H ( η * ) = I = I x x , H 4 ( η * ) = Ω = Ω ˜ x x t x * , C 0 * = g R , C 1 * = g r , C 2 * = ( f h I ) r , and C 4 * = H 7 ( m * ) R · H 8 ( ω 2 * ) Furthermore, the challenge trapdoor implicitly sets y = y ˜ b z , where z = t x α Ω β 1 I = α Ω ˜ x x β 1 I , y 1 = g ^ β 0 ( y ˜ b z ) g ^ a β 1 I y ˜ , y 2 = g ^ y ˜ b z . Finally, in the guess phase, A 3 outputs a guess x { 0 , 1 } . The advantage of A 3 for breaking our proposal is defined as ϵ = | Pr [ x = x ] 1 2 | . If ϵ is non-negligible, η * = e ( g , g ^ ) a b c u x * t x * has been queried to O H with non-negligible probability. With O DBDH ( g , g a , g c , g ^ , g ^ a , g ^ b , η * ( u i x * t j x * ) 1 ) = 1 , B can return the Gap-BDH instance solution η * ( u i x * t j x * ) 1 ( = e ( g , g ^ ) a b c ) . As a result, the Gap-BDH assumption can be addressed by B with non-negligible advantage if A 3 is able to break our proposal with non-negligible advantage.
As for the authenticity, we used the Gap-BDH assumption to prove that our proposal meets sUF-ID-CMA security regarding the Type-IV adversary A 4 . Given a Gap-BDH assumption instance ( g , g a , g c , g ^ , g ^ a , g ^ b ,   O DBDH ) , we generated a simulated scheme B and interacted with A 4 by following the sUF-ID-CMA security model defined in Section 3.3. B simulates the oracles O H , O H i ( i = 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) , O S K G e n , O R K G e n , O A u t h , O E n c , and O D e c to answer A 4 ’s queries. In the simulation, the following numbers are implicitly set η * = e ( g , g ^ ) a b c , where H 1 ( σ * ) = g c , H 3 ( ρ * ) = g ^ b , H ( η * ) = I * , H 4 ( η * ) = Ω * . In the forgery phase, A 4 outputs a triple ( s n d * , ρ * , C * ) , where s n d * = σ * and C * = ( C 0 * , C 1 * , C 2 * , C 3 * , C 4 * ) . If m * = D e c ( p p , d k ρ * , σ * , C * ) , A 4 wins. The advantage of A 4 for breaking our proposal is defined as ϵ = Pr [ A 4 wins ] . With ϵ and the lemma on the relationship between the chosen-identity attack and given identity attack [33], if ϵ is non-negligible, η * = e ( g , g ^ ) a b c has been queried to O H with non-negligible probability. Then, O DBDH ( g , g a , g c , g ^ , g ^ a , g ^ b , η * ) = 1 , B can return the Gap-BDH instance solution η * ( = e ( g , g ^ ) a b c ) . As a result, the Gap-BDH assumption can be addressed by B with non-negligible advantage if A 4 is able to break our proposal with non-negligible advantage.
Theorem 1.
For any A 1 , our IBME-ET scheme meets IND-ID-CCA security on the basis of the BDH assumption.
More precisely, if A 1 is able to break our proposal with the advantage ϵ, we can conceive of a PPT algorithm B to address the BDH assumption with the advantage ϵ 1 q H 6 ( ϵ q H 1 q H 2 q D 2 λ + l q H 8 q ) , where q H i ( i = 1 , 2 , 6 , 8 ) and q D denote the numbers of different queries to O H i ( i = 1 , 2 , 6 , 8 ) and O D e c , respectively.
Proof. 
Given a BDH assumption instance ( g , g a , g c , g ^ , g ^ a , g ^ b ) , the task of B is to calculate e ( g , g ^ ) a b c by interacting with A 1 as below:
(1)
Setup: B randomly selects i * { 1 , 2 , , q H 1 } , j * { 1 , 2 , , q H 2 } . B randomly chooses I * , s , β 0 , β 1 Z q * , calculates g 1 = g a , f = g β 0 a β 1 I * , h = g a β 1 , f ^ = g ^ β 0 a β 1 I * , and h ^ = g ^ a β 1 , sets p p = ( G , g , g ^ , g 1 , f , h , f ^ , h ^ , H , H i ( i = 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) ) , and delivers this to A 1 with p p . B implicitly sets m k = ( s , a ) , because B has no knowledge about a. B preserves the L H and L H i ( i = 1 , 2 , 3 , 5 , 6 , 7 , 8 ) lists to simulate O H and O H i ( i = 1 , 2 , 3 , 5 , 6 , 7 , 8 ) . Afterwards, B randomly selects u * , v * , t * Z q * .
(2)
Phase1: B answers A 1 ’s queries.
  • O H ( η ) : When η e ( g , g ^ ) b s u * t * , B randomly selects I Z q * , inserts a tuple [ η , I ] into L H , and answers I. Otherwise, B answers I * .
  • O H 1 ( σ i ) : Suppose σ i as the i-th different query. When i i * , B randomly selects u i Z q * , inserts a tuple [ σ i , u i ] into L H 1 , and returns g u i . Otherwise, B has u i * = u * , inserts a tuple [ σ i * , u i * ] into L H 1 , and returns g u i * .
  • O H 2 ( ρ j ) : Suppose ρ j as the j-th different query. When j j * , B randomly selects v j Z q * , inserts a tuple [ ρ j , v j ] into L H 2 , and returns g ^ v j . Otherwise, B has v j * = v * , inserts a tuple [ ρ j * , v j * ] into L H 2 , and returns g ^ b v j * .
  • O H 3 ( ρ j ) : B performs a simulation algorithm to query O H 2 ( ρ j ) . Subsequently, B searches the tuple [ ρ j , v j ] in L H 2 . When j j * , B selects t j Z q * randomly, inserts a tuple [ ρ j , t j ] into L H 3 , and returns g ^ t j . Otherwise, B has t j * = t * , inserts a tuple [ ρ j * , t j * ] into L H 3 , and returns g ^ b t j * .
  • O H 5 ( m , k ) : B randomly chooses R Z q * , inserts a tuple [ m , k , R ] into L H 5 , and answers R.
  • O H 6 ( ω 1 , η , C 0 , C 1 , C 2 ) : B randomly chooses δ { 0 , 1 } λ + l , inserts a tuple [ ω 1 , η , C 0 , C 1 , C 2 , δ ] into L H 6 , and answers δ .
  • O H 7 ( m ) : B randomly selects h 7 G ^ , inserts a tuple [ m , h 7 ] into L H 7 , and returns h 7 .
  • O H 8 ( ω 2 ) : B randomly selects π G ^ , inserts a tuple [ ω 2 , π ] into L H 8 , and returns π .
  • O S K G e n ( σ i ) : B performs a simulation algorithm to query O H 1 ( σ i ) . There is a tuple [ σ i , u i ] in L H 1 . Next, B returns e k σ i = g s u i .
  • O R K G e n ( ρ j ) : B performs a simulation algorithm to query O H 3 ( ρ j ) . There are a tuple [ ρ j , v j ] in L H 2 and a tuple [ ρ j , t j ] in L H 3 . When j j * , B returns d k ρ j = ( d 1 , d 2 , d 3 ) = ( g ^ s t j , g ^ a v j , g ^ a t j ) . Otherwise, B is aborted by failure.
  • O D e c ( ρ j , s n d , C ) : Let s n d = σ i . B performs a simulation algorithm to query O H 3 ( ρ j ) and O H 1 ( σ i ) .
    -
    When j j * , B can query O R K G e n ( ρ j ) to obtain d k ρ j and returns the outcome of the algorithm D e c ( p p , d k ρ j , σ i , C ) .
    -
    Otherwise, B can query O S K G e n ( σ i ) to obtain e k σ i and calculates η = e ( e k σ i , H 3 ( ρ j ) ) . For each tuple [ ω 1 , η , C 0 , C 1 , C 2 , δ ] in L H 6 , B calculates m k = C 3 δ and calculates R = H 5 ( m , k ) . If C 0 = g R and there exists a tuple [ ω 2 , π ] in L H 8 such that C 4 = H 7 ( m ) R · π holds, it outputs m . Once L H 8 has no such tuple, B outputs ⊥.
  • O A u t h ( s n d , ρ j ) : Let s n d = σ i . B performs a simulation algorithm to query O H 3 ( ρ j ) and O H 1 ( σ i ) . When j j * , B can query O R K G e n ( ρ j ) to obtain d k ρ j , returns t d ( σ i , ρ j ) = A u t h ( p p , σ i , d k ρ j ) . Otherwise, B executes the following operations:
    -
    When ( i , j ) = ( i * , j * ) , B is aborted by failure.
    -
    Otherwise, L H 2 has a tuple [ ρ j * , v j * ] and L H 3 has a tuple [ ρ j * , t j * ] , and B can query O S K G e n ( σ i ) to obtain e k σ i , calculates η = e ( e k σ i , H 3 ( ρ j ) ) , I = H ( η ) and Ω = H 4 ( η ) , randomly selects y ˜ Z q * , calculates z = t j * Ω β 1 ( I I * ) , implicitly sets y = y ˜ b z , and returns t d ( σ i , ρ j * ) = ( y 1 , y 2 ) = ( g ^ β 0 ( y ˜ b z ) g ^ a β 1 ( I I * ) y ˜ , g ^ y ˜ b z ) . t d ( σ i , ρ j * ) = ( y 1 , y 2 ) is a valid random trapdoor according to ρ j * and σ i , where
    y 1 = g ^ β 0 ( y ˜ b z ) g ^ a β 1 ( I I * ) y ˜ = g ^ a b t j * · Ω g ^ β 0 y g ^ a β 1 ( I I * ) y = d 3 Ω g ^ ( β 0 a β 1 I * + a β 1 I ) y = d 3 Ω ( f ^ h ^ I ) y , y 2 = g ^ y ˜ b z = g ^ y .
(3)
Challenge: A 1 offers equal-length messages m 0 * , m 1 * { 0 , 1 } λ along with the pair of sender/receiver identities ( σ * , r c v * ) to B . Let r c v * = ρ * . Afterwards, B utilizes a simulation algorithm to query O H 1 ( σ * ) and O H 3 ( ρ * ) .
-
When the i * -th tuple in L H 1 is [ σ * , u * ] and the j * -th tuple in L H 2 is [ ρ * , v * ] , B randomly selects x { 0 , 1 } , C 3 * { 0 , 1 } λ + l , C 4 * G ^ and k { 0 , 1 } l , calculates e k σ * = g s u * , η * = e ( g , g ^ ) b s u * t * , R = H 5 ( m x , k ) , C 0 * = g R , C 1 * = g c , and C 2 * = g β 0 c , and then, sends the challenge ciphertext C * = ( C 0 * , C 1 * , C 2 * , C 3 * , C 4 * ) to A 1 .
The above construction implicitly sets ω 1 * = e ( g , g ^ ) a b c v * · H 4 ( η * ) , ω 2 * = e ( g , g ^ ) a b c t * · H 4 ( η * ) , H 6 ( ω 1 * , η * , C 0 * , C 1 * , C 2 * ) = ( m x k ) C 3 * , H 8 ( ω 2 * ) = C 4 * H 7 ( m x ) R , where g u * = H 1 ( σ * ) , g ^ b v * = H 2 ( ρ * ) , g ^ b t * = H 3 ( ρ * ) .
-
Otherwise, B is aborted by failure.
(4)
Phase2: A 1 makes queries like in P h a s e 1.
(5)
Guess: A 1 answers a guess x { 0 , 1 } . B randomly selects a tuple [ ω 1 * , η * , C 0 * , C 1 * , C 2 * , δ * ] from L H 6 and returns the BDH instance solution ω 1 * ( v * H 4 ( η * ) ) 1 ( = e ( g , g ^ ) a b c ) .
Analysis: It is obvious that the simulations of O H , O H 1 , O H 2 , O H 3 , O H 5 , and O H 7 are perfect. Denote the query O H 6 ( e ( g , g ^ ) a b c v * · H 4 ( η * ) , η * , C 0 * , C 1 * , C 2 * ) as the event A s k H 6 * . Denote the query O H 8 ( e ( g , g ^ ) a b c t * · H 4 ( η * ) ) as the event A s k H 8 * . Denote the failure of B to decrypt the legitimate ciphertext in O D e c as the event D e r r . Thus, Pr [ D e r r ] q D 2 λ + l . Let r c v * = ρ * . Suppose A b o r t R K as the event in which B terminates upon the query O R K G e n ( ρ * ) being issued, A b o r t A u t h as the event in which B terminates upon the query O A u t h ( σ * , ρ * ) being issued, and A b o r t C h as the event in which B terminates in the challenge phase. Clearly, ¬ A b o r t C h implies ¬ A b o r t R K and ¬ A b o r t A u t h , because the queries O R K G e n ( ρ * ) and O A u t h ( σ * , ρ * ) cannot be issued. We obtain Pr [ ¬ A b o r t C h ] 1 q H 1 q H 2 .
Define E = ( A s k H 6 * A s k H 8 * D e r r ) | ¬ A b o r t C h . There is no greater over 1 2 advantage that A 1 will gain in guessing x when E does not happen because O H 6 and O H 8 are random oracles. Pr [ x = x | ¬ E ] = 1 2 . Hence,
Pr [ x = x ] = Pr [ x = x | ¬ E ] Pr [ ¬ E ] + Pr [ x = x | E ] Pr [ E ] 1 2 Pr [ ¬ E ] + Pr [ E ] = 1 2 + 1 2 Pr [ E ] .
With ϵ , we obtain
ϵ = | Pr [ x = x ] 1 2 | Pr [ E ] Pr [ A s k H 6 * ] + Pr [ A s k H 8 * ] + Pr [ D e r r ] Pr [ ¬ A b o r t C h ] .
Subsequently, we obtain
Pr [ A s k H 6 * ] ϵ Pr [ ¬ A b o r t C h ] Pr [ D e r r ] Pr [ A s k H 8 * ] ϵ q H 1 q H 2 q D 2 λ + l q H 8 q .
When A s k H 6 * happens, A 1 can distinguish the simulation of the challenge ciphertext C * . Because O H 6 ( e ( g , g ^ ) a b c v * · H 4 ( η * ) , η * , C 0 * , C 1 * , C 2 * ) has been documented in L H 6 with non-negligible probability, B is winning when the right element is selected from L H 6 . Thus, the BDH assumption can be addressed by B with advantage ϵ 1 q H 6 Pr [ A s k H 6 * ] 1 q H 6 ( ϵ q H 1 q H 2 q D 2 λ + l q H 8 q ) .
Theorem 2.
For any A 2 , our IBME-ET scheme meets OW-ID-CCA security on the basis of the BDH assumption.
More precisely, if A 2 is able to break our proposal with the advantage ϵ, we are able to conceive of a PPT algorithm B to address the BDH assumption with the advantage ϵ 1 q H 6 ( ϵ 1 2 λ q H 1 q H 2 q D 2 λ + l ) , where q H i ( i = 1 , 2 , 6 ) and q D denote the numbers of different queries to O H i ( i = 1 , 2 , 6 ) and O D e c , respectively.
Proof. 
Given a BDH assumption instance ( g , g a , g c , g ^ , g ^ a , g ^ b ) , the task of B is to calculate e ( g , g ^ ) a b c by interacting with A 2 as below:
(1)
Setup: B executes like in the proof of Theorem 1.
(2)
Phase1: B answers A 2 ’s queries.
  • For O H ( η ) , O H 1 ( σ i ) , O H 2 ( ρ j ) , O H 5 ( m , k ) , O H 6 ( ω 1 , η , C 0 , C 1 , C 2 ) , O H 7 ( m ) , and O H 8 ( ω 2 ) , B executes like in the proof of Theorem 1.
  • O H 3 ( ρ j ) : B performs a simulation algorithm to query O H 2 ( ρ j ) . Subsequently, B searches the tuple [ ρ j , v j ] in L H 2 . When j j * , B randomly selects t j Z q * , inserts a tuple [ ρ j , t j ] into L H 3 , and returns g ^ t j . Otherwise, B sets t j * = t * , inserts a tuple [ ρ j * , t j * ] into L H 3 , and returns g ^ t j * .
  • O S K G e n ( σ i ) : B performs a simulation algorithm to query O H 1 ( σ i ) . There is a tuple [ σ i , u i ] in L H 1 . Next, B returns e k σ i = g s u i .
  • O R K G e n ( ρ j ) : B performs a simulation algorithm to query O H 3 ( ρ j ) . There are a tuple [ ρ j , v j ] in L H 2 and a tuple [ ρ j , t j ] in L H 3 . When j j * , B returns d k ρ j = ( d 1 , d 2 , d 3 ) = ( g ^ s t j , g ^ a v j , g ^ a t j ) . Otherwise, B is aborted by failure.
  • O D e c ( ρ j , s n d , C ) : Let s n d = σ i . B performs a simulation algorithm to query O H 3 ( ρ j ) and O H 1 ( σ i ) .
    -
    When j j * , B can query O R K G e n ( ρ j ) to obtain d k ρ j and returns the outcome of the algorithm D e c ( p p , d k ρ j , σ i , C ) .
    -
    Otherwise, B can query O S K G e n ( σ i ) to obtain e k σ i and calculates η = e ( e k σ i , H 3 ( ρ j ) ) . For each tuple [ ω 1 , η , C 0 , C 1 , C 2 , δ ] in L H 6 , B calculates m k = C 3 δ and calculates R = H 5 ( m , k ) . If C 0 = g R and there exists a tuple [ ω 2 , π ] in L H 8 such that C 4 = H 7 ( m ) R · π holds, it outputs m . When L H 8 has no such tuple, B outputs ⊥.
  • O A u t h ( s n d , ρ j ) : Let s n d = σ i . B performs a simulation algorithm to query O H 3 ( ρ j ) and O H 1 ( σ i ) .
    -
    When j j * , B can query O R K G e n ( ρ j ) to obtain d k ρ j and returns t d ( σ i , ρ j ) = A u t h ( p p , σ i , d k ρ j ) .
    -
    Otherwise, there are a tuple [ ρ j * , v j * ] in L H 2 and a tuple [ ρ j * , t j * ] in L H 3 , and B can query O S K G e n ( σ i ) to obtain e k σ i , calculates η = e ( e k σ i , H 3 ( ρ j ) ) , I = H ( η ) , Ω = H 4 ( η ) , and d 3 = H 3 ( ρ j * ) a = g ^ a v j * , randomly selects y Z q * , and returns t d ( σ i , ρ j * ) = ( y 1 , y 2 ) = ( d 3 Ω ( f ^ h ^ I ) y , g ^ y ) .
(3)
Challenge: A 2 submits a pair of sender/receiver identities ( σ * , r c v * ) to B . Let r c v * = ρ * . Afterwards, B chooses a message m * { 0 , 1 } λ randomly and executes a simulation algorithm to query O H 1 ( σ * ) and O H 3 ( ρ * ) .
-
When the i * -th tuple in L H 1 is [ σ * , u * ] and the j * -th tuple in L H 2 is [ ρ * , v * ] , B randomly selects k { 0 , 1 } l , C 3 * { 0 , 1 } λ + l , calculates e k σ * = g s u * , η * = e ( g , g ^ ) b s u * t * , R = H 5 ( m x , k ) , C 0 * = g R , C 1 * = g c , C 2 * = g β 0 c , and C 4 * = H 7 ( m * ) R · H 8 ( e ( g c , g ^ a t * · H 4 ( η * ) ) ) , and delivers this to A 2 with the challenge ciphertext C * = ( C 0 * , C 1 * , C 2 * , C 3 * , C 4 * ) .
The above construction implicitly sets ω 1 * = e ( g , g ^ ) a b c v * · H 4 ( η * ) , H 6 ( ω 1 * , η * , C 0 * , C 1 * , C 2 * ) = ( m * k ) C 3 * , where g u * = H 1 ( σ * ) , g ^ b v * = H 2 ( ρ * ) , g ^ t * = H 3 ( ρ * ) .
-
Otherwise, B is aborted by failure.
(4)
Phase2: A 2 makes issues like in Phase1.
(5)
Guess: A 2 answers a guess m . B randomly chooses a tuple [ ω 1 * , η * , C 0 * , C 1 * , C 2 * , δ * ] from L H 6 and answers the BDH instance solution ω 1 * ( v * H 4 ( η * ) ) 1 ( = e ( g , g ^ ) a b c ) .
Analysis: It is obvious that the simulations of O H , O H 1 , O H 2 , O H 3 , O H 5 , O H 7 , and O H 8 are perfect. Denote the query O H 6 ( e ( g , g ^ ) a b c v * · H 4 ( η * ) , η * , C 0 * , C 1 * , C 2 * ) as the event A s k H 6 * . Denote the failure of B to decrypt the legitimate ciphertext in O D e c as the event D e r r . Hence, we have, Pr [ D e r r ] q D 2 λ + l . Let r c v * = ρ * . Suppose A b o r t R K as the event in which B terminates upon the query O R K G e n ( ρ * ) being issued and A b o r t C h the event in which B terminates in the challenge phase. Clearly, ¬ A b o r t C h implies ¬ A b o r t R K , because the query O R K G e n ( ρ * ) cannot be issued. We obtain Pr [ ¬ A b o r t C h ] 1 q H 1 q H 2 .
Define E = ( A s k H 6 * D e r r ) | ¬ A b o r t C h . There is no greater over 1 2 λ advantage that A 2 will gain in guessing m when E does not happen, because O H 6 is a random oracle. Pr [ m = m | ¬ E ] 1 2 λ . Hence,
Pr [ m = m ] = Pr [ m = m | ¬ E ] Pr [ ¬ E ] + Pr [ m = m | E ] Pr [ E ] 1 2 λ Pr [ ¬ E ] + Pr [ E ] = 1 2 λ + 1 2 Pr [ E ] = ( 1 1 2 λ ) Pr [ E ] + 1 2 λ .
With ϵ , we obtain
ϵ = | Pr [ m = m ] | ( 1 1 2 λ ) Pr [ E ] + 1 2 λ ( 1 1 2 λ ) Pr [ A s k H 6 * ] + Pr [ D e r r ] Pr [ ¬ A b o r t C h ] + 1 2 λ .
Subsequently, we obtain
Pr [ A s k H 6 * ] ϵ 1 2 λ 1 1 2 λ Pr [ ¬ A b o r t C h ] Pr [ D e r r ] ϵ 1 2 λ q H 1 q H 2 q D 2 λ + l .
When A s k H 6 * happens, A 2 can distinguish the simulation of the challenge ciphertext C * . Because [ e ( g , g ^ ) a b c v * · H 4 ( η * ) , η * , C 0 * , C 1 * , C 2 * , δ * ] has been documented in L H 6 with non-negligible probability, B is winning when the right element is selected from L H 6 . Thus, the BDH assumption can be addressed by B with advantage ϵ 1 q H 6 Pr [ A s k H 6 * ] 1 q H 6 ( ϵ 1 2 λ q H 1 q H 2 q D 2 λ + l ) .
Theorem 3.
For any A 3 , our IBME-ET scheme meets ANON-ID-CCA security on the basis of the Gap-BDH assumption.
More precisely, if A 3 is able to break our proposal with the advantage ϵ, we are able to conceive of a PPT algorithm B to address the Gap-BDH assumption with the advantage ϵ ϵ q H 1 2 q H 2 2 q D 2 λ + l , where q H i ( i = 1 , 2 ) and q D denote the numbers of different queries to O H i ( i = 1 , 2 ) and O D e c , respectively.
Proof. 
Given a Gap-BDH assumption instance ( g , g a , g c , g ^ , g ^ a , g ^ b , O DBDH ) , the task of B is to calculate e ( g , g ^ ) a b c by interacting with A 3 as below:
(1)
Setup: B randomly selects i 0 * , i 1 * { 1 , 2 , , q H 1 } and j 0 * , j 1 * { 1 , 2 , , q H 2 } . B randomly selects α , β 0 , β 1 Z q * , calculates g 1 = g a α , f = g β 0 , h = g a β 1 , f ^ = g ^ β 0 and h ^ = g ^ a β 1 , sets p p = ( G , g , g ^ , g 1 , f , h , f ^ , h ^ , H , H i ( i = 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) ) , and delivers this to A 3 with p p . B implicitly sets m k = ( s , α ) = ( a , a α ) , because B has no knowledge about a. B preserves the L H , L H i ( i = 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) , and L A lists to simulate O H , O H i ( i = 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) , and O A u t h . Afterwards, B randomly selects u i 0 * , u i 1 * , v j 0 * , v j 1 * , t j 0 * , t j 1 * Z q * and randomly chooses Ω ˜ 00 , Ω ˜ 01 , Ω ˜ 11 , Ω ˜ 10 , I 00 , I 01 , I 11 , I 10 Z q * .
(2)
Phase1: B answers A 3 ’s queries.
  • O H ( η ) : B executes the following operations.
    -
    When O DBDH ( g , g a , g c , g ^ , g ^ a , g ^ b , η ( u i 0 * t j 0 * ) 1 ) = 1 , B returns the Gap-BDH instance solution η ( u i 0 * t j 0 * ) 1 ( = e ( g , g ^ ) a b c ) and defines Ω = Ω ˜ 00 t j 0 * and I = I 00 .
    -
    When O DBDH ( g , g a , g c , g ^ , g ^ a , g ^ b , η ( u i 1 * t j 1 * ) 1 ) = 1 , B returns the Gap-BDH instance solution η ( u i 1 * t j 1 * ) 1 ( = e ( g , g ^ ) a b c ) and defines Ω = Ω ˜ 11 t j 1 * and I = I 11 .
    -
    When O DBDH ( g , g a , g c , g ^ , g ^ a , g ^ b , η ( u i 0 * t j 1 * ) 1 ) = 1 , B returns the Gap-BDH instance solution η ( u i 0 * t j 1 * ) 1 ( = e ( g , g ^ ) a b c ) and defines Ω = Ω ˜ 01 t j 1 * and I = I 01 .
    -
    When O DBDH ( g , g a , g c , g ^ , g ^ a , g ^ b , η ( u i 1 * t j 0 * ) 1 ) = 1 , B returns the Gap-BDH instance solution η ( u i 1 * t j 0 * ) 1 ( = e ( g , g ^ ) a b c ) and defines Ω = Ω ˜ 10 t j 0 * and I = I 10 .
    -
    Otherwise, B randomly selects I , Ω Z q * .
    Subsequently, B inserts [ η , Ω ] into L H 4 and [ η , I ] into L H and answers I.
  • O H 1 ( σ i ) : Suppose σ i as the i-th different query. When i = i 0 * , B inserts a tuple [ σ i 0 * , u i 0 * ] into L H 1 and returns g c u i 0 * . When i = i 1 * , B inserts a tuple [ σ i 1 * , u i 1 * ] into L H 1 and returns g c u i 1 * . Otherwise, B randomly selects u i Z q * , inserts a tuple [ σ i , u i ] into L H 1 , and returns g u i .
  • O H 2 ( ρ j ) : Suppose ρ j as the j-th different query. When j = j 0 * , B inserts a tuple [ ρ j 0 * , v j 0 * ] into L H 2 and returns g ^ b v j 0 * . When j = j 1 * , B inserts a tuple [ ρ j 1 * , v j 1 * ] into L H 2 and returns g ^ b v j 1 * . Otherwise, B randomly selects v j Z q * , inserts a tuple [ ρ j , v j ] into L H 2 , and returns g ^ v j .
  • O H 3 ( ρ j ) : B performs a simulation algorithm to query O H 2 ( ρ j ) . Subsequently, B searches the tuple [ ρ j , v j ] in L H 2 . When j = j 0 * , B inserts a tuple [ ρ j 0 * , t j 0 * ] into L H 3 and returns g ^ b t j 0 * . When j = j 1 * , B inserts a tuple [ ρ j 1 * , t j 1 * ] into L H 3 and returns g ^ b t j 1 * . Otherwise, B randomly selects t j Z q * , inserts a tuple [ ρ j , t j ] into L H 3 , and returns g ^ t j .
  • O H 4 ( η ) : B performs a simulation algorithm to query O H ( η ) . Subsequently, B searches for the tuple [ η , Ω ] in L H 4 and returns Ω .
  • O H 5 ( m , k ) : B randomly chooses R Z q * , inserts a tuple [ m , k , R ] into L H 5 , and answers R.
  • O H 6 ( ω 1 , η , C 0 , C 1 , C 2 ) : B performs a simulation algorithm to query O H ( η ) . Subsequently, B randomly selects δ { 0 , 1 } λ + l , inserts a tuple [ ω 1 , , η , C 0 , C 1 , C 2 , δ ] into L H 6 , and returns δ .
  • O H 7 ( m ) : B randomly selects h 7 G ^ , inserts a tuple [ m , h 7 ] into L H 7 , and returns h 7 .
  • O H 8 ( ω 2 ) : B randomly selects π G ^ , inserts a tuple [ ω 2 , π ] into L H 8 , and returns π .
  • O S K G e n ( σ i ) : B performs a simulation algorithm to query O H 1 ( σ i ) . There is a tuple [ σ i , u i ] in L H 1 . When i i 0 * and i i 1 * , B answers e k σ i = g a u i . Otherwise, B is aborted by failure.
  • O R K G e n ( ρ j ) : B performs a simulation algorithm to query O H 3 ( ρ j ) . There are a tuple [ ρ j , v j ] in L H 2 and a tuple [ ρ j , t j ] in L H 3 . When j j 0 * and j j 1 * , B answers d k ρ j = ( d 1 , d 2 , d 3 ) = ( g ^ a t j , g ^ a α v j , g ^ a α t j ) . Otherwise, B is aborted by failure.
  • O E n c ( σ i , r c v , m ) : Let r c v = ρ j . B performs a simulation algorithm to query O H 1 ( σ i ) and O H 3 ( ρ j ) . When i i 0 * and i i 1 * , B can query O S K G e n ( σ i ) to obtain e k σ i and returns C = E n c ( p p , e k σ i , ρ j , m ) . Otherwise, B executes as below:
    -
    When ( i , j ) = ( i 0 * , j 0 * ) or ( i , j ) = ( i 1 * , j 1 * ) , B is aborted by failure.
    -
    When ( i , j ) = ( i 0 * , j 1 * ) or ( i , j ) = ( i 1 * , j 0 * ) , B executes a simulation algorithm to query O A u t h ( σ i , ρ j ) . There is a tuple [ σ i , ρ j , I ,   Ω , t d ( σ i , ρ j ) ] in L A . Afterwards, B randomly selects r Z q * , δ { 0 , 1 } λ + l , k { 0 , 1 } l , calculates ω 1 = e ( g 1 , H 2 ( ρ j ) ) r · Ω , ω 2 = e ( g 1 , H 3 ( ρ j ) ) r · Ω and R = H 5 ( m , k ) , inserts a tuple [ ω 1 , ( i , j ) , , C 0 , C 1 , C 2 , δ ] into L H 6 , and returns C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) , where C 0 = g R , C 1 = g r , C 2 = ( f h I ) r , C 3 = ( m k ) δ , C 4 = H 7 ( m ) R · H 8 ( ω 2 ) .
    -
    Otherwise, B can query O R K G e n ( ρ j ) to get d k ρ j = ( d 1 , d 2 , d 3 ) , selects k { 0 , 1 } l , r Z q * randomly, calculates η = e ( H 1 ( σ i ) , d 1 ) , ω 1 = e ( g 1 , H 2 ( ρ j ) ) r · H 4 ( η ) , ω 2 = e ( g 1 , H 3 ( ρ j ) ) r · H 4 ( η ) and R = H 5 ( m , k ) , and returns C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) , where C 0 = g R , C 1 = g r , C 2 = ( f h H ( η ) ) r , C 3 = ( m k ) H 6 ( ω 1 , η , C 0 , C 1 , C 2 ) , C 4 = H 7 ( m ) R · H 8 ( ω 2 ) .
  • O D e c ( ρ j , s n d , C ) : Let s n d = σ i . B performs a simulation algorithm to query O H 2 ( ρ j ) and O H 1 ( σ i ) . When j j 0 * and j j 1 * , B can query O R K G e n ( ρ j ) to obtain d k ρ j and returns the outcome of D e c ( p p , d k ( ρ j ) , σ i , C ) . Otherwise, B executes the following operations:
    -
    When ( i , j ) = ( i 0 * , j 0 * ) , or ( i , j ) = ( i 1 * , j 1 * ) m or ( i , j ) = ( i 0 * , j 1 * ) , or ( i , j ) = ( i 1 * , j 0 * ) , B searches for the tuple [ σ i , ρ j , I , Ω , t d ( σ i , ρ j ) ] in L A . When L A has no such tuple, B executes as below.
    When ( i , j ) = ( i 0 * , j 0 * ) , Ω = Ω ˜ 00 t j , I = I 00 . When ( i , j ) = ( i 1 * , j 1 * ) , Ω = Ω ˜ 11 t j , I = I 11 . When ( i , j ) = ( i 0 * , j 1 * ) , Ω = Ω ˜ 01 t j , I = I 01 . When ( i , j ) = ( i 1 * , j 0 * ) , Ω = Ω ˜ 10 t j , I = I 10 . Afterwards, B randomly selects y ˜ Z q * , calculates z = t j α Ω β 1 I , implicitly sets y = y ˜ b z , sets t d ( σ i , ρ j ) = ( y 1 , y 2 ) = ( g ^ β 0 ( y ˜ b z ) g ^ a β 1 I y ˜ , g ^ y ˜ b z ) , and stores [ ρ j , σ i , I , Ω , t d ( σ i , ρ j ) ] in L A . t d ( σ i , ρ j ) = ( y 1 , y 2 ) is a valid random trapdoor according to ρ j and σ i , where
    y 1 = g ^ β 0 ( y ˜ b z ) g ^ a β 1 I y ˜ = g ^ a α b t j · Ω g ^ β 0 y g ^ a β 1 I y = d 3 Ω g ^ ( β 0 + a β 1 I ) y = d 3 Ω ( f ^ h ^ I ) y , y 2 = g ^ y ˜ b z = g ^ y .
    Next, B calculates ω 2 = e ( C 1 , y 1 ) e ( C 2 , y 2 ) . For each tuple [ ω 1 , ( i , j ) , , C 0 , C 1 , C 2 , δ ] in L H 6 , B calculates m k = C 3 δ and R = H 5 ( m , k ) . If both C 0 = g R and C 4 = H 7 ( m ) R · H 8 ( ω 2 ) hold, B returns m; otherwise, B returns ⊥.
    -
    Otherwise, B can query O A u t h ( σ i , ρ j ) to obtain t d ( σ i , ρ j ) = ( y 1 , y 2 ) and calculates ω 2 = e ( C 1 , y 1 ) e ( C 2 , y 2 ) . For each tuple [ ω 1 , ( i , j ) , , C 0 , C 1 , C 2 , δ ] in L H 6 , B calculates m k = C 3 δ and R = H 5 ( m , k ) . If both C 0 = g R and C 4 = H 7 ( m ) R · H 8 ( ω 2 ) hold, B returns m; otherwise, B returns ⊥.
  • O A u t h ( s n d , ρ j ) : Let s n d = σ i . B performs a simulation algorithm to query O H 3 ( ρ j ) and O H 1 ( σ i ) . There is a tuple [ ρ j , v j ] in L H 2 . When j j 0 * and j j 1 * , B can query O R K G e n ( ρ j ) to obtain d k ρ j = ( d 1 , d 2 , d 3 ) , calculates η = e ( H 1 ( σ i ) , d 1 ) , I = H ( η ) , Ω = H 3 ( η ) , returns t d ( σ i , ρ j ) = A u t h ( p p , σ i , d k ρ j ) , and stores [ σ i , ρ j , I , Ω , t d ( σ i , ρ j ) ] into L A . Otherwise, B executes as below:
    -
    When ( i , j ) = ( i 0 * , j 0 * ) or ( i , j ) = ( i 1 * , j 1 * ) , B is aborted by failure.
    -
    When ( i , j ) = ( i 0 * , j 1 * ) , Ω = Ω ˜ 01 t j , I = I 01 .
    -
    When ( i , j ) = ( i 1 * , j 0 * ) , Ω = Ω ˜ 10 t j , I = I 10 .
    -
    Otherwise, B can query O S K G e n ( σ i ) to obtain e k σ i and calculates η = e ( e k σ i , H 3 ( ρ j ) ) , Ω = H 4 ( η ) . I = H ( η )
    Subsequently, B randomly selects y ˜ Z q * , calculates z = t j α Ω I β 1 , implicitly sets y = y ˜ b z , returns t d ( σ i , ρ j ) = ( y 1 , y 2 ) = ( g ^ β 0 ( y ˜ b z ) g ^ a β 1 I y ˜ , g ^ y ˜ b z ) , and then, stores [ σ i , ρ j , I , Ω , t d ( σ i , ρ j ) ] in L A . t d ( σ i , ρ j ) = ( y 1 , y 2 ) is a valid random trapdoor according to ρ j and σ i , where
    y 1 = g ^ β 0 ( y ˜ b z ) g ^ a β 1 I y ˜ = g ^ a α b t j · Ω g ^ β 0 y g ^ a β 1 I y = d 3 Ω g ^ ( β 0 + a β 1 I ) y = d 3 Ω ( f ^ h ^ I ) y , y 2 = g ^ y ˜ b z = g ^ y .
(3)
Challenge: A 3 offers a message m * { 0 , 1 } λ and two pairs of sender/receiver identities ( s n d 0 * , ρ 0 * ), ( s n d 1 * , ρ 1 * ) to B . Set s n d 0 * = σ 0 * , s n d 1 * = σ 1 * . Afterwards, B utilizes a simulation algorithm to query O H 1 ( σ 0 * ) , O H 1 ( σ 1 * ) , O H 3 ( ρ 0 * ) , and O H 3 ( ρ 1 * ) :
-
When the i 0 * -th tuple in L H 1 is [ σ 0 * , u 0 * ] , the i 1 * -th tuple in L H 1 is [ σ 1 * , u 1 * ] , the j 0 * -th tuple in L H 2 is [ ρ 0 * , v 0 * ] , and the j 1 * -th tuple in L H 2 is [ ρ 1 * , v 1 * ] , B executes the following operations:
Firstly, B randomly selects x { 0 , 1 } and searches for the tuple [ σ x * , ρ x * , I , Ω , t d ( σ x * , ρ x * ) ] in L A . When L A has no such tuple, B sets Ω = Ω ˜ x x t x * and I = I x x . Subsequently, B randomly selects y ˜ Z q * , calculates z = t x α Ω β 1 I = α Ω ˜ x x β 1 I , implicitly sets y = y ˜ b z , obtains t d ( σ x * , ρ x * ) = ( y 1 , y 2 ) = ( g ^ β 0 ( y ˜ b z ) g ^ a β 1 I y ˜ , g ^ y ˜ b z ) , and then, inserts a tuple [ σ x * , ρ x * , I , Ω , t d ( σ x * , ρ x * ) ] in L A . t d ( σ x * , ρ x * ) = ( y 1 , y 2 ) is a valid random trapdoor according to σ x * and ρ x * , where
y 1 = g ^ β 0 ( y ˜ b z ) g ^ a β 1 I y ˜ = g ^ a b α · Ω ˜ x x g ^ β 0 y g ^ a β 1 I y = g ^ a α b t x · Ω g ^ β 0 y g ^ a β 1 I y = d 3 Ω ( f ^ h ^ I ) y , y 2 = g ^ y ˜ b z = g ^ y .
Secondly, B randomly selects r Z q * , C 3 * { 0 , 1 } λ + l , k { 0 , 1 } l , calculates ω 2 * = e ( g a α , g ^ b ) r Ω ˜ x x , R = H 5 ( m * , k ) , C 0 * = g R , C 1 * = g r , C 2 * = ( f h I ) r , and C 4 * = H 7 ( m * ) R · H 8 ( ω 2 * ) .
The above construction implicitly sets C 3 * = ( m * k ) H 6 ( ω 1 * , η * , C 0 * , C 1 * , C 2 * ) , where ω 1 * = e ( g a α , g ^ b ) r Ω v x * , η * = e ( g , g ^ ) a b c u x * t x * . C x * = ( C 0 * , C 1 * , C 2 * , C 3 * , C 4 * ) is the encryption of m * according to σ x * and ρ x * , where
ω 2 * = e ( g a α , g ^ b ) r Ω ˜ x x = e ( g 1 , g ^ b ) r t x * Ω = e ( g 1 , g ^ b t x * ) r · Ω = e ( g 1 , H 3 ( ρ x * ) ) r · Ω .
Eventually, B returns the corresponding challenge ciphertext C x * = ( C 0 * , C 1 * , C 2 * , C 3 * , C 4 * ) and challenge trapdoor t d ( σ x * , ρ x * ) = ( y 1 , y 2 ) to A 3 .
-
Otherwise, B is aborted by failure.
(4)
Phase2: A 3 makes issues like in Phase1.
(5)
Guess: A 3 answers a guess x { 0 , 1 } .
Analysis: It is obvious that the simulations of O H 1 , O H 2 , O H 3 , O H 5 , O H 7 , and O H 8 are perfect. Define η ( 0 , 0 ) = e ( g , g ^ ) a b c u i 0 * t j 0 * , η ( 1 , 1 ) = e ( g , g ^ ) a b c u i 1 * t j 0 * , η ( 1 , 0 ) = e ( g , g ^ ) a b c u i 1 * t j 0 * , η ( 0 , 1 ) = e ( g , g ^ ) a b c u i 0 * t j 1 * . Let s n d 0 * = σ 0 * and s n d 1 * = σ 1 * . Denote the queries O H ( η ( 0 , 0 ) ) , O H ( η ( 0 , 1 ) ) , O H ( η ( 1 , 0 ) ) , and O H ( η ( 1 , 1 ) ) as the event A s k H . Suppose A b o r t S K as the event in which B terminates upon the queries O S K G e n ( σ 0 * ) and O S K G e n ( σ 1 * ) being issued, A b o r t R K as the event in which B terminates upon the queries O R K G e n ( ρ 0 * ) and O R K G e n ( ρ 1 * ) being issued, A b o r t A u t h as the event in which B terminates upon the queries O A u t h ( σ 0 * , ρ 0 * ) and O A u t h ( σ 1 * , ρ 1 * ) being issued, A b o r t E n c as the event in which B terminates upon the queries O E n c ( σ 0 * , ρ 0 * , ) and O E n c ( σ 1 * , ρ 1 * , ) being issued, and A b o r t C h as the event in which B terminates in the challenge phase. Clearly, ¬ A b o r t C h implies ¬ A b o r t S K , ¬ A b o r t R K , ¬ A b o r t A u t h , and ¬ A b o r t E n c , because the queries O S K G e n ( σ 0 * ) and O S K G e n ( σ 1 * ) cannot be issued, the queries O R K G e n ( ρ 0 * ) and O R K G e n ( ρ 1 * ) are unable to be issued, ( σ 0 * , ρ 0 * ) and the queries O A u t h ( σ 0 * , ρ 0 * ) and O A u t h ( σ 1 * , ρ 1 * ) are unable to be issued, and the queries O E n c ( σ 0 * , ρ 0 * , ) and O E n c ( σ 1 * , ρ 1 * , ) are unable to be issued. Thus, we obtain Pr [ ¬ A b o r t C h ] 1 q H 1 2 · 1 q H 2 2 .
Denote the failure of B to decrypt the legitimate ciphertext in O D e c as the event D e r r . Thus, Pr [ D e r r ] q D 2 λ + l .
Define E 0 = ( A s k H D e r r ) | ¬ A b o r t C h . There is no greater over 1 2 advantage that A 3 will gain in guessing x when E 0 does not happen because O H , O H 4 , and O H 6 are random oracles. Hence, Pr [ x = x | ¬ E 0 ] = 1 2 . We obtain
Pr [ x = x ] = Pr [ x = x | ¬ E 0 ] Pr [ ¬ E 0 ] + Pr [ x = x | E 0 ] Pr [ E 0 ] 1 2 Pr [ ¬ E 0 ] + Pr [ E 0 ] = 1 2 + 1 2 Pr [ E 0 ] .
With ϵ , we obtain
ϵ = | Pr [ x = x ] 1 2 | Pr [ E 0 ] Pr [ A s k H ] + Pr [ D e r r ] Pr [ ¬ A b o r t C h ] .
Subsequently, we obtain
Pr [ A s k H ] ϵ Pr [ ¬ A b o r t C h ] Pr [ D e r r ] ϵ q H 1 2 q H 2 2 q D 2 λ + l .
Obviously, when A s k H occurs, the Gap-BDH assumption can certainly be addressed by B . B addresses the Gap-BDH assumption with advantage ϵ = Pr [ B s u c c e s s ] = Pr [ A s k H ] ϵ q H 1 2 q H 2 2 q D 2 λ + l .
Theorem 4.
For any A 4 , our IBME-ET scheme meets sUF-ID-CMA security on the basis of the Gap-BDH assumption.
More precisely, if A 4 is able to break our proposal with the advantage ϵ, we are able to conceive of a PPT algorithm B to address the Gap-BDH assumption with the advantage ϵ ϵ ( 1 1 q ) 1 q H 1 q H 3 1 + q D 2 λ , where q H i ( i = 1 , 3 ) and q D denote the numbers of different queries to O H i ( i = 1 , 3 ) and O D e c , respectively.
Proof. 
Given a Gap-BDH assumption instance ( g , g a , g c , g ^ , g ^ a , g ^ b , O DBDH ) , the task of B is to calculate e ( g , g ^ ) a b c by interacting with A 4 as below:
(1)
Setup: B randomly chooses i * { 1 , 2 , , q H 1 } , j * { 1 , 2 , , q H 3 } . B randomly selects α , β 0 , β 1 Z q * , calculates g 1 = g α , f = g β 0 , h = g β 1 , f ^ = g ^ β 0 and h ^ = g ^ β 1 , sets p p = ( G , g , g ^ , g 1 , f , h , f ^ , h ^ , H , H i ( i = 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) ) , and delivers this to A 4 with p p . B implicitly sets m k = ( a , α ) , because B has no knowledge about a. B preserves the L H and L H i ( i = 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) lists to simulate O H and O H i ( i = 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) . Afterwards, B randomly selects I * , Ω * Z q * .
(2)
Queries: B answers A 4 ’s queries as below:
  • O H ( η ) : When O DBDH ( g , g a , g c , g ^ , g ^ a , g ^ b , η ) 1 , B randomly selects Ω , I Z q * , inserts [ η , Ω ] into L H 4 and [ η , I ] into L H , and answers I. Otherwise, B answers the Gap-BDH solution η ( = e ( g , g ^ ) a b c ) , defines Ω = Ω * and I = I * , inserts [ η , Ω ] into L H 4 and [ η , I ] into L H , and answers I.
  • O H 1 ( σ i ) : Suppose σ i as the i-th different query. When i i * , B randomly selects u i Z q * , inserts a tuple [ σ i , u i ] into L H 1 , returns g u i . Otherwise, B inserts a tuple [ σ i , ] into L H 1 and returns g c .
  • O H 2 ( ρ j ) : B performs a simulation algorithm to query O H 3 ( ρ j ) . Subsequently, B randomly selects v j Z q * , inserts a tuple [ ρ j , v j ] into L H 2 , and returns g ^ v j .
  • O H 3 ( ρ j ) : Suppose ρ j as the j-th different query. When j j * , B randomly selects t j Z q * , inserts a tuple [ ρ j , t j ] into L H 3 , and returns g ^ t j . Otherwise, B inserts a tuple [ ρ j , ] into L H 3 and returns g ^ b .
  • O H 4 ( η ) : B performs a simulation algorithm to query O H ( η ) . Subsequently, B searches for the tuple [ η , Ω ] in L H 4 and answers Ω .
  • O H 5 ( m , k ) : B randomly chooses R Z q * , inserts a tuple [ m , k , R ] into L H 5 , and answers R.
  • O H 6 ( ω 1 , η , C 0 , C 1 , C 2 ) : B performs a simulation algorithm to query O H ( η ) . Subsequently, B randomly selects δ { 0 , 1 } λ + l , inserts a tuple [ ω 1 , , η , C 0 , C 1 , C 2 , δ ] into L H 6 , and returns δ .
  • O H 7 ( m ) : B randomly selects h 7 G ^ , inserts a tuple [ m , h 7 ] into L H 7 , and returns h 7 .
  • O H 8 ( ω 2 ) : B randomly selects π G ^ , inserts a tuple [ ω 2 , π ] into L H 8 , and returns π .
  • O S K G e n ( σ i ) : B performs a simulation algorithm to query O H 1 ( σ i ) . There is a tuple [ σ i , u i ] in L H 1 . If i i * , B returns e k σ i = g a u i . Otherwise, B is aborted by failure.
  • O R K G e n ( ρ j ) : B performs a simulation algorithm to query O H 2 ( ρ j ) . There is a tuple [ ρ j , v j ] in L H 2 . If j j * , B returns d k ρ j = ( d 1 , d 2 , d 3 ) = ( g ^ a t j , g ^ α v j , g ^ α t j ) . Otherwise, B is aborted by failure.
  • O A u t h ( s n d , ρ j ) : Let s n d = σ i . B performs a simulation algorithm to query O H 2 ( ρ j ) and O H 1 ( σ i ) . There is a tuple [ ρ j , t j ] in L H 3 . When j j * , B can query O R K G e n ( ρ j ) to obtain d k ρ j = ( d 1 , d 2 , d 3 ) , calculates η = e ( H 1 ( σ i ) , d 1 ) , Ω = H 4 ( η ) and I = H ( η ) , and answers t d ( σ i , ρ j ) = A u t h ( p p , σ i , d k ρ j ) . Otherwise, B executes the following operations:
    -
    When ( i , j ) ( i * , j * ) , B can query O S K G e n ( σ i ) to obtain e k σ i , calculates η = e ( e k σ i , H 2 ( ρ j ) ) , I = H ( η ) , and Ω = H 4 ( η ) , calculates d 3 = g ^ α t j , randomly selects y Z q * , and returns t d ( σ i , ρ j ) = ( y 1 , y 2 ) = ( d 3 H 4 ( η ) ( f ^ h ^ H ( η ) ) y , g ^ y ) .
    -
    Otherwise, B defines Ω = Ω * , I = I * , calculates d 3 = g ^ b α , randomly selects y Z q * , and returns t d ( σ i , ρ j ) = ( y 1 , y 2 ) = ( d 3 Ω ( f ^ h ^ I ) y , g ^ y ) .
  • O E n c ( σ i , r c v , m ) : Let r c v = ρ j . B performs a simulation algorithm to query O H 1 ( σ i ) and O H 2 ( ρ j ) . When i i * , B can query O S K G e n ( σ i ) to obtain e k σ i and returns C = E n c ( p p , e k σ i , ρ j , m ) . Otherwise, B executes the following operations:
    -
    When ( i , j ) ( i * , j * ) , B can query O R K G e n ( ρ j ) to obtain d k ρ j = ( d 1 , d 2 , d 3 ) , randomly selects r Z q * , k { 0 , 1 } l , calculates R = H 5 ( m , k ) , η = e ( H 1 ( σ i ) , d 1 ) , Ω = H 4 ( η ) , ω 1 = e ( g 1 , H 2 ( ρ j ) ) r · Ω and ω 2 = e ( g 1 , H 3 ( ρ j ) ) r · Ω , and then, returns C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) , where C 0 = g R , C 1 = g r , C 2 = ( f h I ) r , C 3 = ( m k ) H 6 ( ω 1 ) , C 4 = H 7 ( m ) R · H 8 ( ω 2 ) .
    -
    Otherwise, B defines Ω = Ω * , I = I * , randomly picks r Z q * , δ { 0 , 1 } λ + l , k { 0 , 1 } l , calculates R = H 5 ( m , k ) , ω 1 = e ( g 1 , H 2 ( ρ j ) ) r · Ω and ω 2 = e ( g 1 , H 3 ( ρ j ) ) r · Ω , inserts a tuple [ ω 1 , ( i , j ) , , C 0 , C 1 , C 2 , δ ] into L H 6 , and then, returns C = ( C 0 , C 1 , C 2 , C 3 , C 4 ) , where C 0 = g R , C 1 = g r , C 2 = ( f h I ) r , C 3 = ( m k ) δ , and C 4 = H 7 ( m ) R · H 8 ( ω 2 ) .
  • O D e c ( ρ j , s n d , C ) : Let s n d = σ i . B performs a simulation algorithm to query O H 2 ( ρ j ) and O H 1 ( σ i ) . When j j * , B can query O R K G e n ( ρ j ) to obtain d k ρ j and returns the outcome of the algorithm D e c ( p p , d k ρ j , σ i , C ) . Otherwise, B executes the following operations:
    -
    When ( i , j ) ( i * , j * ) , B can query O A u t h ( σ i , ρ j ) to obtain t d ( σ i , ρ j ) = ( y 1 , y 2 ) , calculates ω 2 = e ( C 1 , y 1 ) e ( C 2 , y 2 ) , obtains e k σ i by querying O S K G e n ( σ i ) , calculates η = e ( e k σ i , H 3 ( ρ j ) ) , Ω = H 4 ( η ) , d 2 = H 2 ( ρ j ) α , ω 1 = e ( C 1 , d 2 Ω ) , recovers m k by computing C 3 H 6 ( ω 1 , η , C 0 , C 1 , C 2 ) , calculates R = H 5 ( m , k ) . If C 0 = g R and C 4 = H 7 ( m ) R · H 8 ( ω 2 ) hold, B answers m; otherwise, B answers ⊥.
    -
    Otherwise, B defines Ω = Ω * , I = I * , calculates ω 1 = e ( C 1 , g ^ v j ) Ω , obtains t d ( σ i , ρ j ) = ( y 1 , y 2 ) by querying O A u t h ( σ i , ρ j ) , calculates ω 2 = e ( C 1 , y 1 ) e ( C 2 , y 2 ) , and searches for the corresponding tuple [ ω 1 , ( i , j ) , , C 0 , C 1 , C 2 , δ ] in L H 6 . If there exists no such tuple in L H 6 , B randomly selects δ { 0 , 1 } λ + l and inserts [ ω 1 , ( i , j ) , , C 0 , C 1 , C 2 , δ ] into L H 6 . Afterwards, B recovers m k by computing C 3 δ and calculates R = H 5 ( m , k ) . If C 0 = g R and C 4 = H 7 ( m ) R · H 8 ( ω 2 ) hold, B answers m; otherwise, B answers ⊥.
(3)
Forgery: A 4 outputs a triple ( s n d * , ρ * , C * ) , where s n d * = σ * and C * = ( C 0 * , C 1 * , C 2 * , C 3 * , C 4 * ) .
Analysis: It is obvious that the simulations of O H 1 , O H 2 , O H 3 , O H 5 , O H 7 , and O H 8 are perfect. Define η * = e ( g , g ^ ) a b c . Denote the query O H ( η * ) as the event A s k H . Denote the failure of B to decrypt the legitimate ciphertext in O D e c as the event D e r r . Thus, Pr [ D e r r ] q D 2 λ + l .
Suppose E as the event for which σ * = σ i * , ρ * = ρ j * , and ( σ * , ρ * , C * ) are legitimate. With ϵ and the lemma on the relationship between the chosen-identity attack and given identity attack [33], we obtain Pr [ E ] ϵ ( 1 1 q ) 1 q H 1 q H 3 .
Define E 0 = A s k H D e r r . There is no greater over 1 2 λ advantage that A 4 will forge a valid ( σ i * , ρ j * , C * ) when E 0 does not happen because O H , O H 4 , and O H 6 are random oracles. Hence, Pr [ E | ¬ E 0 ] = 1 2 λ . We obtain
Pr [ E ] Pr [ E | ¬ E 0 ] Pr [ ¬ E 0 ] + Pr [ E 0 ] 1 2 λ ( 1 Pr [ E 0 ] ) + Pr [ E 0 ] = 1 2 λ + ( 1 1 2 λ ) Pr [ E 0 ] 1 2 λ + Pr [ E 0 ] .
Therefore, we obtain
Pr [ E 0 ] = Pr [ A s k H D e r r ] = Pr [ A s k H ] + Pr [ D e r r ] Pr [ E ] 1 2 λ .
Subsequently, we obtain
Pr [ A s k H ] ϵ ( 1 1 q ) 1 q H 1 q H 3 1 2 λ Pr [ D e r r ] ϵ ( 1 1 q ) 1 q H 1 q H 3 1 + q D 2 λ .
Obviously, when A s k H occurs, the Gap-BDH assumption can certainly be addressed by B . B addresses the Gap-BDH assumption with advantage ϵ = Pr [ B s u c c e s s ] = Pr [ A s k H ] ϵ ( 1 1 q ) 1 q H 1 q H 3 1 + q D 2 λ .

6. Performance Evaluation

We first give the functionality and security comparisons, then give the comparisons of the computational overhead and communication overhead.
In Table 1, we compare our proposed IBME-ET with the related schemes (i.e., IB-ME [22], IBEET [3,15], and IBSC-ET [7]) in terms of functionality and security. It can be seen that the IB-ME scheme in [22] ensures the confidentiality, authenticity, and anonymity of data stored in the cloud, but does not achieve CCA security nor provide equality test functionality without losing the confidentiality, authenticity, and anonymity of the data. The IBEET schemes in [3,15] ensure the confidentiality of the data, but neither offer the authenticity and anonymity of data, nor provide equality test functionality without losing the confidentiality, authenticity, and anonymity of the data. Moreover, although the scheme in [3] was the first proposed IBEET scheme, it fails to achieve CCA security. Hence, the IBEET scheme that achieves CCA security was proposed in [15]. The IBSC-ET scheme in [7] ensures the confidentiality and authenticity the data and achieves CCA security, but neither ensures the anonymity of data, nor provides the equality test functionality without losing the confidentiality, authenticity, and anonymity of the data. As a result, only our proposed IBME-ET can realize all the functionality and security, which not only ensures the confidentiality, authenticity, and anonymity of the data stored in the cloud and achieves CCA security, but also provides equality test functionality for ciphertexts generated under different identities without losing the confidentiality, authenticity, and anonymity of the data.
Note that the IB-ME scheme in [22] implements only CPA security. This means that the ciphertexts are malleable. When a valid plaintext/ciphertext pair of the sender and receiver is given, an attacker can utilize it to fake a valid ciphertext of any message, in this way to break the authenticity of the ciphertext stored in the cloud. Moreover, the IB-ME scheme in [22] cannot provide equality test functionality for ciphertexts. Obviously, the IB-ME scheme in [22] is not applicable to cloud storage application scenarios. In addition, it was proven in [15] that the computational overhead and communication overhead of the IBEET scheme in [15] are comparable to those of the IBEET scheme in [3]; however, the IBEET scheme in [15] achieves stricter CCA security while the IBEET scheme in [3] only achieves CPA security. Therefore, we only compared our proposed IBME-ET with the most-related schemes (i.e., IBEET [15] and IBSC-ET [7]) in terms of computational overhead and communication overhead.
Table 2 shows the computational overhead comparison, which theoretically analyzes the computational cost of our proposed scheme and the comparative schemes with regard to encryption key generation (indicated as SKGen ), decryption key generation (indicated as RKGen), encryption (indicated as Enc), decryption (indicated as Dec), authorization (indicated as Auth), and the equality test (indicated as Test). For the analysis, we concentrated on the operations that consumed the most time, including hash-to-point, bilinear pairing, and exponentiation. Notably, the authorization algorithms of the schemes in [7,15] have no computational cost. This is because both schemes directly use the partial decryption private key as the trapdoor regardless of anonymity. The communication overhead comparison is given in Table 3, which theoretically analyzes the communication cost of our proposed scheme and the comparative schemes with regard to the encryption private key, decryption private key, trapdoor, and ciphertext.
In order to compare the computational and communication overhead of our proposed scheme with the comparative schemes more intuitively, we used Charm 0.50 in Python 3.6.9 to implement these schemes. The experimental environment was configured as follows: Intel(R) Xeon(R) Platinum 8124M CPU @ 2.70 GHz (Intel Corporation, Santa Clara, CA, USA), 16 GB memory, and Ubuntu 18.03 LTS. The experiments were instantiated using the MNT224 curve in Charm and employed the Python module t i m e i t for the time measurements. Figure 3 shows the experimental computational overheads of these schemes, and Figure 4 shows the experimental communication overheads of these schemes.
From Table 1, Table 2 and Table 3 and Figure 3 and Figure 4, we can conclude that, with a small sacrifice in computational and communication efficiency, our IBME-ET scheme not only offers the confidentiality, authenticity, and anonymity of the data and achieves CCA security, but also provides equality test functionality for ciphertexts generated under different identities without losing the confidentiality, authenticity, and anonymity of the data. Other related schemes cannot support this feature.

7. Conclusions

In this paper, we presented the primitive of the IBME-ET, which not only offers the confidentiality, authenticity, and anonymity of data and achieves CCA security, but also provides equality test functionality for ciphertexts generated under different identities without losing the confidentiality, authenticity, and anonymity of the data. More precisely, we introduced the system model and definition of the IBME-ET. With respect to the confidentiality, authenticity, and anonymity, we formalized the security models for the IBME-ET. Finally, we proposed a concrete IBME-ET scheme, and our scheme was confirmed to be secure and practical by proving its security and evaluating its performance.

Author Contributions

Conceptualization, Z.Y. and X.L.; methodology, Z.Y.; validation, H.Q. and J.X.; writing—original draft, Z.Y. and X.L.; writing—review and editing, H.Q. and X.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Boneh, D.; Di Crescenzo, G.; Ostrovsky, R.; Persiano, G. Public key encryption with keyword search. In Proceedings of the Advances in Cryptology—EUROCRYPT 2004, Interlaken, Switzerland, 2–6 May 2004; Springer: Berlin/Heidelberg, Germany, 2004; pp. 506–522. [Google Scholar]
  2. Yang, G.; Tan, C.H.; Huang, Q.; Wong, D.S. Probabilistic public key encryption with equality test. In Proceedings of the Topics in Cryptology—CT-RSA 2010, San Francisco, CA, USA, 1–5 March 2010; Springer: Berlin/Heidelberg, Germany, 2010; pp. 119–131. [Google Scholar]
  3. Ma, S. Identity-based encryption with outsourced equality test in cloud computing. Inf. Sci. 2015, 328, 389–402. [Google Scholar] [CrossRef]
  4. Lu, J.; Li, H.; Huang, J.; Ma, S.; Au, M.H.A.; Huang, Q. An Identity-Based Encryption with Equality Test scheme for healthcare social apps. Comput. Stand. Interfaces 2023, 87, 103759. [Google Scholar] [CrossRef]
  5. My HealtheVet. Available online: http://www.myhealth.va.gov (accessed on 22 December 2023).
  6. Vaanchig, N.; Qin, Z.; Ragchaasuren, B. Constructing secure-channel free identity-based encryption with equality test for vehicle-data sharing in cloud computing. Trans. Emerg. Telecommun. Technol. 2022, 33, e3896. [Google Scholar] [CrossRef]
  7. Xiong, H.; Hou, Y.; Huang, X.; Zhao, Y. Secure message classification services through identity-based signcryption with equality test towards the Internet of vehicles. Veh. Commun. 2020, 26, 100264. [Google Scholar] [CrossRef]
  8. Ohtaki, Y. Constructing a Searchable Encrypted Log Using Encrypted Inverted Indexes. In Proceedings of the 2005 International Conference on Cyberworlds, CW 2005, Singapore, 23–25 November 2005; pp. 130–138. [Google Scholar]
  9. Boneh, D.; Kushilevitz, E.; Ostrovsky, R.; Skeith, W.E. Public key encryption that allows PIR queries. In Proceedings of the Advances in Cryptology—CRYPTO 2007, Santa Barbara, CA, USA, 19–23 August 2007; Springer: Berlin/Heidelberg, Germany, 2007; pp. 50–67. [Google Scholar]
  10. Camenisch, J.; Kohlweiss, M.; Rial, A.; Sheedy, C. Blind and anonymous identity-based encryption and authorised private searches on public key encrypted data. In Proceedings of the Public Key Cryptography—PKC 2009, Irvine, CA, USA, 18–20 March 2009; Springer: Berlin/Heidelberg, Germany, 2009; pp. 196–214. [Google Scholar]
  11. Curtmola, R.; Garay, J.A.; Kamara, S.; Ostrovsky, R. Searchable symmetric encryption: Improved definitions and efficient constructions. In Proceedings of the ACM Conference on Computer and Communications Security, CCS 2006, Alexandria, VA, USA, 30 October–3 November 2006; pp. 79–88. [Google Scholar]
  12. Cash, D.; Jarecki, S.; Jutla, C.S.; Krawczyk, H.; Rosu, M.; Steiner, M. Highly-scalable searchable symmetric encryption with support for Boolean queries. In Proceedings of the Advances in Cryptology—CRYPTO 2013, Santa Barbara, CA, USA, 18–22 August 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 353–373. [Google Scholar]
  13. Tang, Q. Public key encryption supporting plaintext equality test and user-specified authorization. Secur. Commun. Netw. 2012, 5, 1351–1362. [Google Scholar] [CrossRef]
  14. Ma, S.; Huang, Q.; Zhang, M.; Yang, B. Efficient public key encryption with equality test supporting flexible authorization. IEEE Trans. Inf. Forensic Secur. 2014, 10, 458–470. [Google Scholar] [CrossRef]
  15. Lee, H.T.; Ling, S.; Seo, J.H.; Wang, H. Semi-generic construction of public key encryption and identity-based encryption with equality test. Inf. Sci. 2016, 373, 419–440. [Google Scholar] [CrossRef]
  16. Lin, X.J.; Sun, L.; Qu, H. Generic construction of public key encryption, identity-based encryption and signcryption with equality test. Inf. Sci. 2018, 453, 111–126. [Google Scholar] [CrossRef]
  17. Li, N. Efficient equality test on identity-based ciphertexts supporting flexible authorization. Entropy 2023, 25, 362. [Google Scholar] [CrossRef] [PubMed]
  18. Boyen, X. Multipurpose Identity-Based Signcryption. In Proceedings of the Advances in Cryptology—CRYPTO 2003, Santa Barbara, CA, USA, 17–21 August 2003; Springer: Berlin/Heidelberg, Germany, 2003; pp. 383–399. [Google Scholar]
  19. Xiong, H.; Zhao, Y.; Hou, Y.; Huang, X.; Jin, C.; Wang, L.; Kumari, S. Heterogeneous Signcryption With Equality Test for IIoT Environment. IEEE Internet Things J. 2021, 8, 16142–16152. [Google Scholar] [CrossRef]
  20. Xiong, H.; Hou, Y.; Huang, X.; Zhao, Y.; Chen, C.M. Heterogeneous Signcryption Scheme from IBC to PKI with Equality Test for WBANs. IEEE Syst. J. 2022, 16, 2391–2400. [Google Scholar] [CrossRef]
  21. Hou, Y.; Huang, X.; Chen, Y.; Kumar, S.; Xiong, H. Heterogeneous signcryption scheme supporting equality test from PKI to CLC toward IoT. Trans. Emerg. Telecommun. Technol. 2021, 32, e4190. [Google Scholar] [CrossRef]
  22. Ateniese, G.; Francati, D.; Nuñez, D.; Venturi, D. Match Me if You Can: Matchmaking Encryption and Its Applications. In Proceedings of the Advances in Cryptology—CRYPTO 2019, Santa Barbara, CA, USA, 18–22 August 2019; Springer: Cham, Switzerland, 2019; pp. 701–731. [Google Scholar]
  23. Xu, S.; Ning, J.; Li, Y.; Zhang, Y.; Xu, G.; Huang, X.; Deng, R.H. Match in my way: Fine-grained bilateral access control for secure cloud-fog computing. IEEE Trans. Dependable Secur. Comput. 2020, 19, 1064–1077. [Google Scholar] [CrossRef]
  24. Sun, J.; Yuan, Y.; Tang, M.; Cheng, X.; Nie, X.; Aftab, M.U. Privacy-preserving bilateral fine-grained access control for cloud-enabled industrial IOT healthcare. IEEE Trans. Ind. Inform. 2021, 18, 6483–6493. [Google Scholar] [CrossRef]
  25. Chen, J.; Li, Y.; Wen, J.; Weng, J. Identity-Based Matchmaking Encryption from Standard Assumptions. In Proceedings of the Advances in Cryptology—ASIACRYPT 2022, Taipei, Taiwan, 5–9 December 2022; Springer: Cham, Switzerland, 2022; pp. 394–422. [Google Scholar]
  26. Wu, A.; Luo, W.; Weng, J.; Yang, A.; Wen, J. Fuzzy Identity-Based Matchmaking Encryption and Its Application. IEEE Trans. Inf. Forensic Secur. 2023, 18, 5592–5607. [Google Scholar] [CrossRef]
  27. Yan, Z.; Qu, H.; Zhang, X.; Xu, J.L.; Lin, X.J. Identity-based proxy matchmaking encryption for cloud-based anonymous messaging systems. J. Syst. Archit. 2023, 142, 102950. [Google Scholar] [CrossRef]
  28. Sun, J.; Xu, G.; Zhang, T.; Yang, X.; Alazab, M.; Deng, R.H. Privacy-Aware and Security-Enhanced Efficient Matchmaking Encryption. IEEE Trans. Inf. Forensic Secur. 2023, 18, 4345–4360. [Google Scholar] [CrossRef]
  29. Boyen, X. A tapestry of identity-based encryption: Practical frameworks compared. Int. J. Appl. Cryptogr. 2008, 1, 3–21. [Google Scholar] [CrossRef]
  30. Bellare, M.; Rogaway, P. Random oracles are practical: A paradigm for designing efficient protocols. In Proceedings of the ACM Conference on Computer and Communications Security, CCS 1993, Fairfax, VA, USA, 3–5 November 1993; ACM: New York, NY, USA, 1993; pp. 62–73. [Google Scholar]
  31. Tibouchi, M. Encyclopedia of Cryptography and Security; Springer: Boston, MA, USA, 2011. [Google Scholar]
  32. Franklin, J. Proof in Mathematics: An Introduction; Quakers Hill Press: Sydney, Australia, 1996. [Google Scholar]
  33. Choon, J.C.; Hee Cheon, J. An identity-based signature from gap Diffie-Hellman groups. In Proceedings of the 6th International Workshop on Practice and Theory in Public Key Cryptography, PKC 2002, Miami, FL, USA, 6–8 January 2002; Springer: Berlin/Heidelberg, Germany, 2002; pp. 18–30. [Google Scholar]
Figure 1. PHR system model.
Figure 1. PHR system model.
Entropy 26 00074 g001
Figure 2. IBME-ET system model.
Figure 2. IBME-ET system model.
Entropy 26 00074 g002
Figure 3. Computational overhead comparison with LLS+16 [15] and XHH+20 [7].
Figure 3. Computational overhead comparison with LLS+16 [15] and XHH+20 [7].
Entropy 26 00074 g003
Figure 4. Communication overhead comparison with LLS+16 [15] and XHH+20 [7].
Figure 4. Communication overhead comparison with LLS+16 [15] and XHH+20 [7].
Entropy 26 00074 g004
Table 1. Comparison of functionality and security.
Table 1. Comparison of functionality and security.
Equality TestConfidentialityAuthenticityAnonymity
SenderReceiver
[22]CPA
[3]CPA
[15]CCA
[7]CCA
OursCCA
Table 2. Comparison of computational overhead.
Table 2. Comparison of computational overhead.
SKGenRKGenEncDecAuthTest
[15]- 3 h ^ + 3 e ^ 3 h ^ + 3 p + 6 e 3 p + 2 e 0 2 p + 2 e
[7] 2 h + 2 e 2 h ^ + 2 e ^ 2 h ^ + 2 p + 5 e + e ^ 2 h + 5 p + 2 e + e ^ 0 4 p
Ours h + e 2 h ^ + 3 e ^ 2 h ^ + 3 p + 5 e + e ^ h + 3 p + 2 e + e ^ h + p + 4 e ^ 6 p
e , e ^ are exponentiation operations in G and G ^ , respectively. h , h ^ are hash-to-point operations in G and G ^ , respectively. p is the pairing operation.
Table 3. Comparison of communication overhead.
Table 3. Comparison of communication overhead.
Encryption KeyDecryption KeyTrapdoorCiphertext
[15]- 3 | G ^ | | G ^ | 4 | G | + 5 λ
[7] 2 | G | 2 | G ^ | | G ^ | 3 | G | + | G ^ | + | Z q | + λ
Ours | G | 3 | G ^ | 2 | G ^ | 3 | G | + | G ^ | + | Z q | + λ
| G | , | G ^ | are the sizes of the elements in groups G and G ^ , respectively. | Z q | is the size of the elements in Z q , and λ is the security level.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Yan, Z.; Lin, X.; Zhang, X.; Xu, J.; Qu, H. Identity-Based Matchmaking Encryption with Equality Test. Entropy 2024, 26, 74. https://doi.org/10.3390/e26010074

AMA Style

Yan Z, Lin X, Zhang X, Xu J, Qu H. Identity-Based Matchmaking Encryption with Equality Test. Entropy. 2024; 26(1):74. https://doi.org/10.3390/e26010074

Chicago/Turabian Style

Yan, Zhen, Xijun Lin, Xiaoshuai Zhang, Jianliang Xu, and Haipeng Qu. 2024. "Identity-Based Matchmaking Encryption with Equality Test" Entropy 26, no. 1: 74. https://doi.org/10.3390/e26010074

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop