Next Article in Journal
Substation Personnel Fall Detection Based on Improved YOLOX
Next Article in Special Issue
FLIBD: A Federated Learning-Based IoT Big Data Management Approach for Privacy-Preserving over Apache Spark with FATE
Previous Article in Journal
Machine Learning for Energy-Efficient Fluid Bed Dryer Pharmaceutical Machines
Previous Article in Special Issue
An Efficient and Secure Blockchain Consensus Protocol for Internet of Vehicles
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Certificateless Encryption Supporting Multi-Ciphertext Equality Test with Proxy-Assisted Authorization

1
The State Key Laboratory of Integrated Service Networks, Xidian University, Xi’an 710071, China
2
School of Cyberspace Security, Xi’an University of Posts & Telecommunications, Xi’an 710121, China
3
School of Mathematics and Information Science, Baoji University of Arts and Science, Xi’an 721016, China
*
Authors to whom correspondence should be addressed.
Current address: No. 2 South Taibai Road, Xi’an 710071, China.
These authors contributed equally to this work.
Electronics 2023, 12(20), 4326; https://doi.org/10.3390/electronics12204326
Submission received: 7 October 2023 / Revised: 12 October 2023 / Accepted: 16 October 2023 / Published: 18 October 2023
(This article belongs to the Special Issue Data Privacy and Cybersecurity in Mobile Crowdsensing)

Abstract

:
Public key encryption with equality test (PKEET) is a cryptographic primitive that enables a tester to determine, without decryption, whether two ciphertexts encrypted with different public keys generate from the same message. In previous research, public key encryption with equality test (PKEET) was extended to include identity-based encryption with equality test (IBEET), thereby broadening the application of PKEET. Subsequently, certificateless encryption with equality test (CLEET) was introduced to address the key escrow problem in IBEET. However, existing CLEET schemes suffer from inefficiency and potential information leakage when dealing with multiple ciphertexts due to the need for pairwise equality tests. To address this issue, we propose a concept of certificateless encryption supporting multi-ciphertext equality test with proxy-assisted authorization (CLE-MET-PA). CLE-MET-PA incorporates the functionality of the multi-ciphertext equality test into CLEET, enabling a tester to perform a single equality test on multiple ciphertexts to determine whether the underlying plaintexts are equal, without revealing any additional information. This enhances the security of our scheme while significantly reducing the computational overhead compared to multiple pairwise equality tests, making our scheme more efficient. Additionally, our approach integrates proxy-assisted authorization, allowing users to delegate a proxy to grant authorizations for equality tests on their behalf when offline. Importantly, the proxy token used in our scheme does not include any portion of the user’s private key, providing enhanced protection compared to traditional PKEET schemes in which the user token is often part of the user’s private key. We construct a concrete CLE-MET-PA scheme and prove that it achieves CPA security and attains CCA security through an FO transformation.

1. Introduction

Cloud computing provides an efficient solution for transferring the storage and computation burdens from users to cloud servers. In recent decades, the continuous improvement in network bandwidth, the emergence of big data, the Internet of Things, and artificial intelligence have led to the rapid development of cloud technology and its applications [1,2,3,4]. Cloud storage, in comparison to traditional local storage, offers several advantages including low cost, high scalability, easy management, and maintenance. With cloud technology, users can select the appropriate storage capacity and service types based on their specific requirements and perform various data operations such as uploading, downloading, backup, archiving, and sharing. As a result, more and more individuals and organizations are utilizing cloud servers to process and store their data. However, due to the sensitive nature of their data and the need for privacy protection, it is common practice to encrypt the data on cloud servers using various cryptosystems. Nevertheless, there is a growing demand for cryptographic technologies that enable processing operations, such as searching, deduplication, classification, and data segmentation, while preserving the confidentiality of the encrypted data.
In the realm of processing encrypted data, researchers have proposed various cryptographic primitives, including searchable encryption [5,6] and fully homomorphic encryption [7]. Expanding upon searchable encryption, Boneh et al. [8] introduced public key encryption with keyword search (PEKS) in 2004. The scheme allows a server to verify, without decryption, whether a ciphertext C is generated from a message M as long as it is in possession of the corresponding tag T M for that ciphertext and the public key used for message encryption. This property renders it suitable for applications such as the classification of public key ciphertexts.
This scheme, however, has a limitation in that it only allows ciphertext management for a single user, restricting comparison and search to ciphertexts under the same public key. To enable ciphertext equality tests across different public keys, additional primitives are necessary. In 2010, Yang et al. [9] proposed the concept of public-key encryption with equality test (PKEET). In their work, the authors introduced a special public key encryption scheme where an entity can determine whether two ciphertexts correspond to identical plaintexts using an equality test algorithm on two ciphertexts encrypted under different public keys.

1.1. Related Work

In the first PKEET scheme proposed by Yang et al. [9], there is a concern regarding the protection of data privacy for the data owner, as there is no restriction on who can perform an equality test. Consequently, the initial advancements in PKEET schemes were predominantly directed towards achieving fine-grained control over tester authorizations. These efforts [10,11,12,13,14] concentrated on devising methods to authorize testers and defining which ciphertexts they could perform equality tests on once granted authorization. The work proposed by Ma et al. [14] extensively examines and provides a comprehensive overview of diverse authorization mechanisms.
In 2016, Ma [15] and Lee et al. [16] introduced the identity-based encryption (IBE) primitive into PKEET, presenting their respective IBEET schemes. These schemes adopt the benefits of identity-based encryption (IBE) cryptosystems, which allow users to generate public and private key pairs using their identity information without the need for digital certificates, therefore addressing the key management problem in public key encryption cryptosystems. This novel approach sparked significant subsequent research on IBEET [17,18,19,20,21,22,23,24,25,26,27,28].
Certificateless public key encryption with equality test (CL-PKEET). When it comes to solving the key management problem, identity-based encryption (IBE) relies on a central authority, typically the key generation center (KGC), to generate private keys for users based on their identities. However, this reliance on a central authority means that the KGC has the ability to decrypt messages intended for any user. If the KGC is compromised, coerced, or misused, it can result in unauthorized access to users’ encrypted data, which is known as the key escrow problem. To address this issue, Al-Riyami et al. [29] proposed certificateless encryption (CLE). In CLE, the KGC generates partial private keys for users, enabling them to generate their own private and public keys. This approach effectively addresses the key escrow problem. Similarly, IBEET also faces the key escrow problem. In order to tackle this problem in IBEET, Qu et al. [30] introduced CLE into PKEET, creating the initial certificateless public key encryption with equality test (CL-PKEET, referred to as CLEET in this paper for brevity) scheme.
Public key encryption with multi-ciphertext equality test (PKE-MET). Before the introduction of PKE-MET by Susilo et al. [31], all PKEET and IBEET schemes only supported pairwise equality tests. Consider a scenario where a tester receives n ciphertexts from n different users. With a conventional PKEET scheme, the tester would be required to perform a minimum of n 1 equality tests between pairs of ciphertexts to determine the equality of the n ciphertexts. However, in the PKE-MET scheme, a specific parameter s is designated, enabling the tester to test the equality of s ciphertexts in a single equality test. Moreover, this feature of multi-ciphertext comparison significantly reduces additional information leakage in equality tests. For example, when conducting an equality test on ciphertexts from three different users to determine whether the plaintexts corresponding to user A, B, and C’s ciphertexts are equal, traditional PKEET test algorithms would inevitably reveal additional information, such as the equality of the underlying plaintexts between user A and user B. By exploiting our multi-ciphertext test feature, the leakage of additional information in equality tests can be greatly mitigated. This improvement leads to better efficiency, heightened security, and reduced computational costs for the tester.
Proxy-assisted authorization. One authorization method employed in our scheme is consistent with the majority of PKEET schemes, known as user authorization. In this method, a user generates a token (also referred to as a trapdoor), and sends it to the tester, enabling the tester to conduct equality tests on the user’s ciphertexts. Additionally, we introduce a proxy-assisted authorization method, whereby the user can engage with a proxy through a secure and efficient key exchange algorithm to create a proxy token. This token is then securely stored by the proxy and possesses the same authorization capabilities as the user token. There are two primary advantages to this approach. Firstly, it liberates the user from having to be constantly online to authorize a tester, enhancing the practical application value of the scheme. Secondly, unlike the user token, the proxy token does not compromise any part of the user’s private key, thus reducing the risk of privacy exposure.

1.2. Our Contribution

We propose a CLE-MET-PA scheme in this paper, and the contributions of this paper are as follows:
  • We introduce the multi-ciphertext equality test into CLEET. Our proposal associates each ciphertext with a designated number s, making it possible to perform equality tests on multiple ciphertexts simultaneously in a single test without revealing any additional information, all while retaining the fundamental attributes of certificateless encryption.
  • We incorporate the concept of a proxy into our framework. Users have the flexibility to choose and disclose proxies along with their public keys on the public key server. This enables users to delegate authorization to proxies, allowing them to go offline, which effectively improves the practical application value. Moreover, the use of proxy tokens eliminates the exposure of the user’s private key, thus enhancing the security of our scheme. Additionally, our encryption process does not involve proxy information. Hence, when users choose a new proxy, there is no need to reconfigure previous ciphertexts. The disclosed proxy information is only utilized in the equality test, resulting in a more flexible scheme. Furthermore, the key generation algorithm for proxies is identical to that of users, meaning that any user can act as a proxy. This enhances the flexibility and efficiency of our scheme.
  • We establish formal security models for our concrete CLE-MET-PA scheme, including five different types of adversaries. Subsequently, our work achieves IND-CPA security against adversaries with the trapdoor of the challenge ciphertext and OW-CPA security against adversaries without the trapdoor of the challenge ciphertext. In the extension section, we employ the Fujisaki–Okamoto (FO) transformation [32,33] to modify the encryption and decryption processes, thereby attaining CCA security for our scheme (i.e., IND-CCA security against adversaries with the trapdoor of the challenge ciphertext and OW-CCA security against adversaries without the trapdoor of the challenge ciphertext).

1.3. Organization

In Section 2, we reviewed the concepts of asymmetric bilinear groups and the BDH assumption; in Section 3, we introduced the system model, definitions and security models of CLE-MET-PA; in Section 4, we presented the concrete construction of CLE-MET-PA and verified its correctness; In Section 5, we proved the security of the scheme; in Section 6, we conducted a performance analysis and discussed the security extension of the scheme; in Section 7, we summarized our work.

2. Preliminary

2.1. Asymmetric Bilinear Groups

Let G = ( p , G 1 , G 2 , G T , e ) be a bilinear groups ensemble, where G 1 , G 2 , and G T are three multiplicative cyclic groups of order p. g 1 G 1 , g 2 G 2 are two generators. A bilinear map e : G 1 × G 2 G T has the following properties:
1.
Bilinear: For any g 1 G 1 , g 2 G 2 and a , b Z p , e ( g 1 a , g 2 b ) = e ( g 1 , g 2 ) a b .
2.
Non-degenerate: e ( g 1 , g 2 ) 1 .
3.
Computable: For any g 1 G 1 and g 2 G 2 , there is an efficient algorithm to compute e ( g 1 , g 2 ) .
Since G 1 G 2 , this is an asymmetric bilinear map. In the asymmetric setting, if there exists an efficient computable isomorphism ψ : G 1 G 2 , the pairing e is referred to as a Type 2 pairing. Conversely, if no such isomorphism exists, e is categorized as a Type 3 pairing [34,35,36,37].

2.2. Bilinear Diffie–Hellman (BDH) Assumption in Asymmetric Bilinear Groups

The bilinear Diffie–Hellman (BDH) assumption was initially proposed by Boneh et al. [38] in the context of symmetric bilinear groups. Later, Boyen et al. [39] expanded this assumption to asymmetric bilinear settings.
The BDH problem can be defined as follows: consider a set of bilinear groups in Section 2.1, denoted by G = { p , G 1 , G 2 , G T , e } . Let g 1 G 1 and g 2 G 2 be two generators. Given an instance ( g 1 , g 1 a , g 1 c , g 2 , g 2 a , g 2 b ) G 1 3 × G 2 3 where a, b, and c are uniformly random choices from Z p * , the task is to compute e ( g 1 , g 2 ) a b c G T .
The BDH assumption is defined as follows: Given an instance of the aforementioned BDH problem, no probabilistic polynomial-time (PPT) adversary, denoted by A , can compute the value of e ( g 1 , g 2 ) a b c with non-negligible probability. The advantage of A is defined as:
A d v ( A ) = P r [ A ( g 1 , g 1 a , g 1 c , g 2 , g 2 a , g 2 b ) = e ( g 1 , g 2 ) a b c ] .

3. System Model, Definitions, and Security Models

We present the system model of our certificateless encryption supporting multi-ciphertext equality test with proxy-assisted authorization (CLE-MET-PA) scheme, followed by its formal definition and security models.

3.1. System Model of CLE-MET-PA

The system model of our CLE-MET-PA scheme is depicted in Figure 1. The model comprises seven types of entities as follows:
1.
Key generation center (KGC): This entity is responsible for system setup, safeguarding the master secret key, and issuing partial private keys to users based on their identities.
2.
Message sender: This entity generates ciphertexts using the public key of the target user and uploads them to the cloud server.
3.
Message receiver: This entity, often referred to as the user in this paper, can download ciphertexts for decryption, grant authorization to testers for equality tests, and delegate proxies to provide authorizations on its behalf.
4.
Cloud server: This entity stores the ciphertexts generated by message senders and allows message receivers to download them. The cloud server often serves as the tester. To ensure generality, we established a separate entity for test purposes.
5.
Proxy: This entity can interact with a message receiver to create a proxy token, granting authorization for equality tests on the message receiver’s ciphertexts.
6.
Public key server: This entity stores public keys issued by message receivers and proxies. Additionally, it keeps track of the message receiver’s choice of proxy and publishes its proxy information.
7.
Tester: This entity can perform an equality test on a set of s ciphertexts. To conduct the test, the tester must receive s ciphertexts along with the tokens issued by their respective message receivers or proxies. Each ciphertext is designated with the number s.
Figure 1. System model of CLE-MET-PA.
Figure 1. System model of CLE-MET-PA.
Electronics 12 04326 g001
The workflow of our proposed CLE-MET-PA scheme is also depicted in Figure 1. The message sender queries the public key server for the necessary public key, encrypts the message using it to obtain the ciphertext, and uploads it to the cloud server. The message receiver can then download the ciphertext from the cloud server, and decrypt it to obtain the message. A message receiver can authorize a tester directly or by a delegated proxy, enabling the tester to perform an equality test on its ciphertexts.
A notable feature of CLE-MET-PA is its multi-ciphertext equality test, illustrated in Figure 2. A tester can conduct a single-test algorithm upon receiving s ciphertexts, each with the designated number s, along with s trapdoors (whether authorized by the user or authorized through user-delegated proxy authorization). The test algorithm outputs 1 if all underlying plaintexts to the ciphertexts are equal, and 0 if at least one underlying plaintext differs from the rest.

3.2. Certificateless Encryption Supporting Multi-Ciphertext Equality Test with Proxy-Assisted Authorization

A CLE-MET-PA system consists of eleven algorithms as described below:
  • Setup ( 1 λ ) : This algorithm takes the security parameter λ as input and outputs the system parameter p p and the system master secret key m s k .
  • Partial-Private-Key-Extract ( p p , m s k , I D ) : Given the system parameter p p , a master key m s k , and an identifier I D , this algorithm outputs the partial private key D.
  • Set-Secret-Value ( p p , I D ) : Given the system parameter p p and an identifier I D , this algorithm outputs a secret value x at random.
  • Set-Private-Key ( p p , D , x ) : Given the system parameter p p , a partial private key D, and a secret value x, this algorithm outputs a private key s k .
  • Set-Public-Key ( p p , x ) : Given the system parameter p p and a secret value x, this algorithm outputs a public key p k .
  • Set-Proxy-Key ( p p , I D P ) : Given the system parameter p p and a proxy identifier I D P , this algorithm outputs a proxy public key p k P and its secret value x P .
  • Enc ( p p , p k , M , s ) : This algorithm outputs a ciphertext C T of a message M, with a designated number s, such that an equality test on C T must be performed with s 1 other ciphertexts with the same s.
  • Dec ( C T , s k ) : This algorithm outputs the message M or ⊥.
  • Aut ( s k ) : This algorithm outputs a token t k that authorizes the tester to perform an equality test on the ciphertexts of users who own s k .
  • Proxy-Aut ( p p , s k , s k P ) : This protocol outputs a token t k ^ issued by the proxy who owns s k P to the tester, enabling the latter to perform an equality test on the ciphertexts of the users who own s k .
  • Test ( C T 1 , , C T t , t k ^ 1 , , t k ^ j , t k 1 , , t k t j : Given t ciphertexts C T and t tokens, including tokens issued by users and the proxy, this algorithm checks whether t = s 1 = s 2 = = s t , where s i is the designated number of C T i . If not, it outputs ⊥ and aborts. Otherwise, it outputs 1, implying that the underlying messages of C T 1 , C T 2 , , C T t are equal, or 0, implying that the messages are not equal.
Correctness: We can say that a CLE-MET-PA scheme is correct if the following conditions hold.
(1) For any security parameter λ , any message M M , and any number s Z p , we have
Pr Dec ( s k , C T ) = M p p Setup ( λ ) D Partial - Private - Key - Extract ( p p , m s k , I D ) x Set - Secret - Value ( p p , I D ) s k Set - Private - Key ( p p , D , x ) p k Set - Public - Key ( p p , x ) ( p k P , x P ) Set - Proxy - Key ( p p , I D P ) C T Enc ( p p , p k , M , s ) = 1 .
(2) For any security parameter λ , any message M M , any number t Z p , and i { 1 , , t } , we have
Pr Test ( C T 1 , , C T t , t k ^ 1 , , t k ^ j , t k 1 , , t k t j ) = 1 p p Setup ( λ ) D i Partial - Private - Key - Extract ( p p , m s k , I D i ) x i Set - Secret - Value ( p p , I D i ) s k i Set - Private - Key ( p p , D I , x i ) p k i Set - Public - Key ( p p , x i ) ( p k P , x P ) Set - Proxy - Key ( p p , I D P i ) C T i Enc ( p p , p k i , p k P i , M i , t ) t k i Aut ( s k i ) t k ^ i Proxy - Aut ( s k i )
is overwhelming.

3.3. Security Models of CLE-MET-PA

We consider five types of adversaries in CLE-MET-PA. Type-I ∼ Type-IV exist in CL-PKEET and Type-V in PKE-MET. In CLE, users generate their own pairs of public and private keys. The absence of a certificate in the public key introduces a vulnerability to tampering. We define Type-I and Type-II adversaries as outsiders who possess the capability to replace legitimate public keys. In the context of CLE, where the KGC is not fully trusted, we define Type-III and Type-IV adversaries as curious KGCs who possess the system master secret key m s k . For the discussion on the impact of trapdoors needed by the equality tests on system security, we define that Type-II and Type-IV adversaries can acquire all trapdoors in the system, including the trapdoor of the challenge ciphertext. Finally, considering the characteristics of PKE-MET, we define a Type-V adversary. The detailed descriptions are provided below:
  • Type-I Adversary: This type of adversary can replace the public key of a user but cannot access the master key. Without the trapdoor of the challenge ciphertext, we define the IND-CPA security model regarding this type of adversary.
  • Type-II Adversary: This type of adversary can replace the public key of a user but cannot access the master key. With the trapdoor of the challenge ciphertext, we define the OW-CPA security model regarding this type of adversary.
  • Type-III Adversary: This type of adversary cannot replace the public key of a user but can access the master key. Without the trapdoor of the challenge ciphertext, we define the IND-CPA security model regarding this type of adversary.
  • Type-IV Adversary: This type of adversary cannot replace the public key of a user but can access the master key. With the trapdoor of the challenge ciphertext, we define the OW-CPA security model regarding this type of adversary.
  • Type-V Adversary: This type of adversary attempts to perform an equality test on t ciphertexts C T 1 , , C T t , where all the designated numbers of these ciphertexts are s i , with s i > t .
We define five games for these five types of adversaries.
Game 1: IND-CPA Game
p p Setup ( 1 λ ) ;
D i Partial - Private - Key - Extract ( p p , m s k , I D i ) for 1 i N ;
x i Set - Secret - Value ( p p , I D i )
s k i Set - Private - Key ( p p , D i , x i )
p k i Set - Public - Key ( p p , x i )
( p k P i , x P i ) Set - Proxy - Key ( p p , I D P i )
( s * , p k * , M 0 * , M 1 * ) A O par - key ( · ) , O priv - key ( · ) , O pub - key ( · ) , O pub - rep ( · ) , O p - key ( · ) , O token ( · ) , O p - token ( · ) ( { p k i , p k P i } i = 1 N ) ;
C T * Enc ( p k * , M b * , s * ) for b { 0 , 1 } , random s * ;
b A O par - key ( · ) , O priv - key ( · ) , O pub - key ( · ) , O pub - rep ( · ) , O p - key ( · ) , O token ( · ) , O p - token ( · ) ( { p k i , p k P i } i = 1 N ) .
In Game 1, O par key ( · ) , O priv - key ( · ) , O pub - key ( · ) , O pub - rep ( · ) , O p - key ( · ) , O token ( · ) , and O p - token ( · ) , denote the partial key oracle, the private key oracle, the public key oracle, the public key replace oracle, the proxy key oracle, the token oracle, and the proxy token oracle, respectively. The adversary is not allowed to make private key query, token query, or proxy token query on p k * . We define the advantage of adversary in winning this game as
Adv CLE - MET - PA IND - CPA , Type - I ( λ ) = Pr [ b = b ] 1 / 2 .
Game 2: OW-CPA Game
p p Setup ( 1 λ ) ;
D i Partial - Private - Key - Extract ( p p , m s k , I D i ) for 1 i N ;
x i Set - Secret - Value ( p p , I D i )
s k i Set - Private - Key ( p p , D i , x i )
p k i Set - Public - Key ( p p , x i )
( p k P i , x P i ) Set - Proxy - Key ( p p , I D P i )
( s * , p k * ) A O par - key ( · ) , O priv - key ( · ) , O pub - key ( · ) , O pub - rep ( · ) , O p - key ( · ) , O token ( · ) , O p - token ( · ) ( { p k i , p k P i } i = 1 N ) ;
C T * Enc ( p k * , M * , s * ) for random M * , s * ;
M A O par - key ( · ) , O priv - key ( · ) , O pub key ( · ) , O pub - rep ( · ) , O p - key ( · ) , O token ( · ) , O p - token ( · ) ( { p k i , p k P i } i = 1 N ) .
In Game 2, the adversary is restricted to making a private key query on p k * . We define the advantage of the adversary in winning this game as
Adv CLE - MET - PA OW - CPA , Type - II ( λ ) = Pr [ M = M * ] .
Game 3: IND-CPA Game
p p Setup ( 1 λ ) ;
D i Partial - Private - Key - Extract ( p p , m s k , I D i ) for 1 i N ;
x i Set - Secret - Value ( p p , I D i )
s k i Set - Private - Key ( p p , D i , x i )
p k i Set - Public - Key ( p p , x i )
( p k P i , x P i ) Set - Proxy - Key ( p p , I D P i )
( s * , p k * , M 0 * , M 1 * ) A O msk ( · ) , O par - key ( · ) , O priv - key ( · ) , O pub - key ( · ) , O p - key ( · ) , O token ( · ) , O p - token ( · ) ( { p k i , p k P i } i = 1 N ) ;
C T * Enc ( p k * , M b * , s * ) for b { 0 , 1 } , random s * ;
b A O msk ( · ) , O par - key ( · ) , O priv - key ( · ) , O pub - key ( · ) , O p - key ( · ) , O token ( · ) , O p - token ( · ) ( { p k i , p k P i } i = 1 N ) .
In Game 3, the adversary can access the master secret key oracle O msk ( · ) , but can no longer access the public key replace oracle. The adversary cannot make a private key, token query, or proxy token query on p k * . We define the advantage of the adversary in winning this game as
Adv CLE - MET - PA IND - CPA , Type - III ( λ ) = Pr [ b = b ] 1 / 2 .
Game 4: OW-CPA Game
p p Setup ( 1 λ ) ;
D i Partial - Private - Key - Extract ( p p , m s k , I D i ) for 1 i N ;
x i Set - Secret - Value ( p p , I D i )
s k i Set - Private - Key ( p p , D i , x i )
p k i Set - Public - Key ( p p , x i )
( p k P i , x P i ) Set - Proxy - Key ( p p , I D P i )
( s * , p k * ) A O msk ( · ) , O par - key ( · ) , O priv - key ( · ) , O pub - key ( · ) , O p - key ( · ) , O token ( · ) , O p - token ( · ) ( { p k i , p k P i } i = 1 N ) ;
C T * Enc ( p k * , M * , s * ) for random M * , s * ;
M A O msk ( · ) , O par - key ( · ) , O priv - key ( · ) , O pub - key ( · ) , O p - key ( · ) , O token ( · ) , O p - token ( · ) ( { p k i , p k P i } i = 1 N ) .
In Game 4, the adversary can access the master secret key oracle O msk ( · ) , but can no longer access the public key replace oracle. The adversary cannot make a private key query on p k * . We define the advantage of the adversary in winning this game as
Adv CLE - MET - PA OW - CPA , Type - IV ( λ ) = Pr [ M = M * ] .
Game 5: Number Game
p p Setup ( 1 λ ) ;
D i Partial - Private - Key - Extract ( p p , m s k , I D i ) for 1 i N ;
x i Set - Secret - Value ( p p , I D i )
s k i Set - Private - Key ( p p , D i , x i )
p k i Set - Public - Key ( p p , x i )
( p k P i , x P i ) Set - Proxy - Key ( p p , I D P i )
( s * , t * , p k 1 * , , p k t * ) A O par - key ( · ) , O priv - key ( · ) , O pub - key ( · ) , O p - key ( · ) , O token ( · ) , O p - token ( · ) ( { p k i , p k P i } i = 1 N ) , t * < s * ;
( C T 1 * , , C T j * , , C T t * * ) Enc ( ( M 0 * , p k 1 * , s * ) , , ( M 0 * , p k j 1 * , s * ) , ( M b * , p k j * , s * ) , ( M 0 * , p k j + 1 * , s * ) , , ( M 0 * , p k t * , s * ) )
for random messages M 0 * , M 1 * and number b { 0 , 1 } ;
b A O par - key ( · ) , O priv - key ( · ) , O pub - key ( · ) , O p - key ( · ) , O token ( · ) , O p - token ( · ) ( { p k i , p k P i } i = 1 N ) .
In Game 5, the adversary cannot make private key queries on p k 1 * , , p k t * * . We define the advantage of the adversary in winning this game as
Adv CLE - MET - PA Number , Type - V ( λ ) = Pr [ b = b ] 1 / 2 .

4. The Proposed CLE-MET-PA Scheme

In certificateless encryption supporting multi-ciphertext equality test with proxy-assisted authorization (CLE-MET-PA), each ciphertext C T can designate a number s. With this designation, an authorized cloud server is enabled to perform an equality test on s ciphertexts, but only if all the designated numbers of these s ciphertexts are equal to s.

4.1. Our Construction

  • Setup ( 1 λ ) : Taking as input a security parameter λ , the setup algorithm generates a bilinear groups ensemble G = ( p , G 1 , G 2 , G T , e ) , generators g 1 G 1 , g 2 G 2 and five cryptographic hash functions H 1 : { 0 , 1 } * G 2 , H 2 : { 0 , 1 } * G 2 , H 3 : { 0 , 1 } * Z p , H 4 : { 0 , 1 } * { 0 , 1 } 2 l , H 5 : { 0 , 1 } * { 0 , 1 } λ , where l is the bit length of a group element in Z p . Pick a random α Z p * , g ¯ = g 1 α . It sets the system parameter as
    p p = { G , g 1 , g 2 , g ¯ , H 1 , H 2 , H 3 , H 4 , H 5 } ,
    and the master secret key
    m s k = α .
  • Partial private key extract ( p p , m s k , I D ) : Taking as input the system parameter p p , the master key m s k , and the identifier I D . The key generation algorithm computes and outputs the partial private key pair
    D = ( D 1 , D 2 ) = H 1 ( I D ) α , H 2 ( I D ) α .
  • Set-Secret-Value ( p p , I D ) : Taking as input the system parameter p p and an identifier I D . The algorithm picks a value x Z q * at random. A proxy secret value corresponding to I D P is denoted as x P .
  • Set-Private-Key ( p p , D , x ) : Taking as input the system parameter p p , a partial private key pair and an secret value x. The algorithm computes the private key pair s k , where
    s k = ( s k 1 , s k 2 ) = ( D 1 x , D 2 x ) = H 1 ( I D ) α x , H 2 ( I D ) α x .
  • Set-Public-Key ( p p , x ) : Taking as input the system parameter p p and a secret value x, the algorithm outputs the public key pair
    p k = ( X = g ¯ x , Y = g 2 x , Z = g 1 x ) = ( g 1 α x , g 2 x , g 1 x ) .
  • Set-Proxy-Key ( p p , I D P ) : The proxy can be any user. A proxy generates the secret value and public key by running Set-Secret-Value ( p p , I D P ) and Set-Public-Key ( p p , x P ) . Output the secret key x P , and the public key pair
    p k P = ( X P = g ¯ x P , Y P = g 2 x P , Z P = g 1 x P ) = ( g 1 α x P , g 2 x P , g 1 x P ) .
  • Enc ( p p , p k , M , s ) : Taking as input the system parameter p p , a user public key p k , check whether e ( X , g 2 ) = e ( g ¯ , Y ) and e ( Z , g 2 ) = e ( g 1 , Y ) holds; if not, output ⊥ and abort. Then, taking as input a message M Z p , and a number s Z p , the encryption algorithm iteratively computes
    f 0 = H 3 ( M | | s ) , f 1 = H 3 ( M | | s | | f 0 ) , , f s 1 = H 3 ( M | | s | | f 0 | | | | f s 2 )
    as illustrated in Figure 3 with i = s . Let
    f ( x ) = f 0 + f 1 x + f 2 x 2 + + f s 1 x s 1 .
It randomly chooses A , r 1 , r 2 Z p , and outputs the ciphertext C T = ( s , C 1 , C 2 , C 3 , C 4 , C 5 , C 6 ) as
C 1 = g 1 r 1 , C 2 = H 4 e ( X , H 1 ( I D ) ) r 1 ( M | | r 1 ) , C 3 = g 1 r 2 , C 4 = Z r 2 , C 5 = H 4 e ( X , H 2 ( I D ) ) r 2 ( A | | f ( A ) ) , C 6 = H 5 ( s | | C 1 | | C 2 | | C 3 | | C 4 | | C 5 | | e X , H 2 ( I D ) r 2 | | f 0 | | f 1 | | | | f s 1 ) .
Note that the equality of this ciphertext C T can only be performed as an equality test with other s 1 ciphertexts in which all the designated numbers are s.
Dec ( C T , s k ) : Taking as input a ciphertext C T = ( s , C 1 , C 2 , C 3 , C 4 , C 5 , C 6 ) and a secret key s k = H 1 ( I D ) α x , H 2 ( I D ) α x , the decrypt algorithm computes
M | | r 1 = C 2 H 4 e ( C 1 , s k 1 )
It then computes
f 0 = H 3 ( M | | s ) , f 1 = H 3 ( M | | s | | f 0 ) , , f s 1 = H 3 ( M | | s | | f 0 | | | | f s 2 )
and checks whether the following equations hold or not
C 1 = g 1 r 1 , f ( A ) = f 0 + f 1 A + + f s 1 A s 1 , C 6 = H 5 ( s | | C 1 | | C 2 | | C 3 | | C 4 | | C 5 | | e ( C 3 , s k 2 ) | | f 0 | | f 1 | | | | f s 1 ) ,
where A | | f ( A ) = C 5 H 4 e ( C 3 , s k 2 ) . If all the equations hold, it returns
M = M .
Otherwise, it returns ⊥.
  • Aut ( s k ) : Taking as input a secret key s k = ( s k 1 , s k 2 ) = H 1 ( I D ) α x , H 2 ( I D ) α x , the authorization algorithm returns the token as
    t k = s k 2 = H 2 ( I D ) α x .
  • Proxy-Aut ( p p , s k , s k P ) : Following the algorithm depicted in Table 1, the user receives and publishes H 2 ( I D ) x P as the proxy information P I ,
    P I = H 2 ( I D ) x P ,
    and the algorithm returns the proxy token as
    t k ^ = H 2 ( I D ) α x + x · x P .
  • Test ( C T 1 , , C T t , t k ^ 1 , , t k ^ j , t k 1 , , t k t j ) : Taking as input t ciphertexts C T 1 , , C T t where C T i = ( s i , C i , 1 , C i , 2 , C i , 3 , C i , 4 , C i , 5 , C i , 6 ) and t corresponding tokens including the proxy token and user token: t k ^ 1 , , t k ^ j , t k 1 , , t k t j , the test algorithm aborts if the equation s 1 = = s t = t does not hold. Otherwise, for each i { 1 , , j } :
    • With the token authorized by the user, it computes
      A i | | f i ( A i ) = C i , 5 H 4 e ( C i , 3 , t k i ) ,
    • With the proxy token authorized by the proxy, it computes
      A i | | f i ( A i ) = C i , 5 H 4 e ( C i , 3 , t k ^ i ) / e ( C i , 4 , P I i ) ,
    where
    f i ( A i ) = f i , 0 + f i , 1 A i + f i , 2 A i 2 + + f i , t 1 A i t 1 .
With A i and f i ( A i ) for i { 1 , , t } , we have an equation set as
f 1 ( A 1 ) = f 1 , 0 + f 1 , 1 A 1 + + f 1 , t 1 A 1 t 1 f 2 ( A 2 ) = f 2 , 0 + f 2 , 1 A 2 + + f 2 , t 1 A 2 t 1 f t ( A t ) = f t , 0 + f t , 1 A t + + f t , t 1 A t t 1 .
Implicitly setting f i , k = f j , k for i , j { 1 , 2 , , t } and k { 0 , 1 , , t 1 } , it solves the equation set and obtains a unique solution f i , 0 , f i , 1 , , f i , t 1 . It checks whether the following equations hold or not for each i { 1 , 2 , , j } .
C i , 6 = H 5 ( t | | C i , 1 | | | | C i , 5 | | e ( C i , 3 , t k ^ i ) / e ( C i , 4 , P I i ) | | f i , 0 | | | | f i , t 1 ) ,
and for each i { 1 , 2 , , t j } .
C i , 6 = H 5 ( t | | C i , 1 | | | | C i , 5 | | e ( C i , 3 , t k i ) | | f i , 0 | | | | f i , t 1 ) .
  • If all the equations hold, it returns 1, implying that M 1 = M 2 = = M t .
  • Otherwise, it returns 0, implying that the equation M 1 = M 2 = = M t does not hold.

4.2. Correctness of CLE-MET-PA

We analyze the correctness of the proposed CLE-MET-PA construction as below.
(1) In the decryption algorithm, denoted by Dec, the decryption process computes the following:
C 2 H 4 ( s k 1 , C 1 ) = H 4 e ( X , H 1 ( I D ) ) r 1 ( M | | r 1 ) H 4 e ( s k 1 , C 1 ) = H 4 e ( g 1 α x , H 1 ( I D ) ) r 1 ( M | | r 1 ) H 4 e ( H 1 ( I D ) α x , g 1 r 1 ) = M | | r 1
The output M and r 1 satisfy the three listed equations. Subsequently, the decryption algorithm will recover the message M, implying that
Pr Dec ( s k , C T ) = M = 1 .
(2) In the test algorithm, denoted by Test, after implicitly setting f i , k = f j , k for i , j 1 , 2 , , t and k 0 , 1 , , t 1 , we obtain an equation set comprising t equations for t unknown variables. We can then represent the coefficients of this equation set as the following Vandermonde matrix:
V = 1 A 1 A 1 2 A 1 t 1 1 A 2 A 2 2 A 2 t 1 1 A t A t 2 A t t 1 .
Thanks to the properties of the Vandermonde matrix, the equation set possesses a unique solution when the determinant of this matrix, denoted by det ( V ) , satisfies det ( V ) 0 . This determinant is defined as:
det ( V ) = 1 i < j t ( A i A j ) .
Since the values of A i for i 1 , , t are randomly chosen from the set Z p , we can conclude that
det ( V ) 0
holds with overwhelming probability, specifically p ( p 1 ) ( p t + 1 ) p t .
Consequently, we obtain a unique solution for the variables f 1 , 0 , f 1 , 1 , , f 1 , t 1 . Given that M 1 = = M t , it follows that f i , k = f j , k for i , j 1 , 2 , , t and k 0 , 1 , , t 1 . Thus, the unique solution will satisfy the following equations for 1 i j t .
C i , 6 = H 5 ( s | | C i , 1 | | | | C i , 5 | | e ( C i , 3 , t k ^ i ) / e ( C i , 4 , P I i ) | | f 1 , 0 | | | | f 1 , j ) C i , 6 = H 5 ( s | | C i , 1 | | | | C i , 5 | | e ( C i , 3 , t k i ) | | f 1 , 0 | | | | f 1 , t j + 1 )
Then, we have
Test ( C T 1 , , C T , t k ^ 1 , , t k ^ j , t k 1 , , t k t j ) = 1
will hold with overwhelming probability.
(3) Similarly to the previous step (2), we can obtain a unique solution from the equation set. However, since the equation M 1 = = M t does not hold, without a loss of generality, assume that M 1 M 2 = M 3 = = M t . In this scenario, we then have f 1 , k f i , k = f j , k for i , j 2 , , t , k 0 , , t 1 . Nevertheless, it is evident that the solution cannot simultaneously satisfy the two following equations.
C 1 , 6 = H 5 ( t | | C 1 , 1 | | | | C 1 , 4 | | e ( C 1 , 3 , t k ^ 1 ) / e ( C 1 , 4 , P I 1 ) | | f 1 , 0 | | | | f 1 , j ) C 2 , 6 = H 5 ( t | | C 2 , 1 | | | | C 2 , 4 | | e ( C 2 , 3 , t k ^ 2 ) / e ( C 1 , 4 , P I 2 ) | | f 1 , 0 | | | | f 1 , j )
Therefore, the test algorithm will output 0. We have
Test ( C T 1 , , C T , t k ^ 1 , , t k ^ j , t k 1 , , t k t j ) = 0
will hold with overwhelming probability.

5. Security Proof

Our CLE-MET-PA construction is secure due to the hardness of the BDH assumption.
Theorem 1.
For any PPT Type-I adversary, our CLE-MET-PA scheme is IND-CPA-secure based on the BDH assumption in the random oracle model.
Proof of Theorem 1.
Assume there exists an adversary A 1 who can break the IND-CPA security of our scheme with a non-negligible advantage ϵ , we can construct a simulator B to break the BDH assumption. Given an instance as ( G , g 1 , g 1 a , g 1 c , g 2 , g 2 a , g 2 b ) , B is to compute e ( g 1 , g 2 ) a b c by running A 1 as a subroutine. B and A 1 play the following game.
1.
Setup: B randomly picks a cryptographic hash function H 3 : { 0 , 1 } * { 0 , 1 } λ and sets the public parameter p p = { G , g 1 , g 2 , g ¯ , H 1 , H 2 , H 3 , H 4 , H 5 } , where g ¯ = g 1 a and H 1 , H 2 , H 4 , H 5 are random oracles. p p is sent to A 1 . Lists L H 1 , L H 2 , L H 4 , L H 5 , and   L s are initially empty. Assume that A 1 can make q H 1 , q H 2 , q H 4 , q H 5 hash queries to H 1 , H 2 , H 4 , and   H 5 , respectively.
2.
Phase 1: Assume there are n users with identities I D 1 , , I D n in the system. B randomly chooses i * [ 1 , n ] and performs the following steps.
  • H 1 -query ( I D i ): For i-th query I D i , B searches L H 1 . If there exists the related item of I D i as ( u i , I D i , H 1 ( I D i ) ) , B returns H 1 ( I D i ) to A 1 . Otherwise, B randomly chooses u i and sets
    H 1 ( I D i ) = g 2 u i , i f i i * , g 2 b u i , i f i = i * .
    B stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 and returns H 1 ( I D i ) to A 1 .
  • H 2 -query ( I D i ): For the i-th query I D i , B searches L H 2 . If there exists the related item of I D i as ( v i , I D i , H 2 ( I D i ) ) , B returns H 2 ( I D i ) to A 1 . Otherwise, B randomly chooses v i and sets
    H 2 ( I D i ) = g 2 v i , i f i i * , g 2 b v i , i f i = i * .
    B stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 and returns H 2 ( I D i ) to A 1 .
  • H 4 -query ( Q i ): For i-th query Q i , B randomly picks η i { 0 , 1 } 2 l , sets H 4 ( Q i ) = η i , stores a new item ( Q i , H 4 ( Q i ) = η i ) into L H 4 , and then returns H 4 ( Q i ) to A 1 .
  • H 5 -query ( W i ): For the i-th query W i , B randomly picks σ i { 0 , 1 } λ , sets H 5 ( W i ) = σ i , stores a new item ( W i , H 5 ( W i ) = σ i ) into L H 5 , and then returns H 5 ( W i ) to A 1 .
  • Partial private key query ( I D i ): For i-th queried identity I D i , if I D i = I D i * , B aborts. Otherwise, if I D i has not been queried to H 1 , B randomly chooses u i , sets
    H 1 ( I D i ) = g 2 u i ,
    and stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 . If I D i has not been queried to H 2 , B randomly chooses v i , sets
    H 2 ( I D i ) = g 2 v i ,
    and stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 . B searches L H 1 and L H 2 to find the related items of I D i as ( u i , I D i , H 1 ( I D i ) ) and ( v i , I D i , H 2 ( I D i ) ) . B then computes
    D i = ( D i , 1 , D i , 2 ) = H 1 α ( I D ) , H 2 α ( I D ) = g 2 a u i , g 2 a v i ,
    which can be computed with a known g 2 a , u i , v i . B returns D i to A 1 .
  • Secret key query ( I D i ): For the i-th queried identity I D i , B randomly picks x i Z p , stores ( I D i , x i , , ) into L s , and returns x i to A 1 .
  • Private key query ( I D i ): For i-th queried identity I D i , if I D i = I D i * , B aborts. Otherwise, if I D i has not been queried to H 1 , B randomly chooses u i , sets
    H 1 ( I D i ) = g 2 u i ,
    and stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 . If I D i has not been queried to H 2 , B randomly chooses v i , sets
    H 2 ( I D i ) = g 2 v i ,
    and stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 . B searches L H 1 and L H 2 to find the related items of I D i as ( u i , I D i , H 1 ( I D i ) ) and ( v i , I D i , H 2 ( I D i ) ) . B searches L s and finds the related item of I D i as ( I D i , x i , , ) . If the related item of I D i does exist, B randomly picks x i Z p and computes
    s k i = ( s k i , 1 , s k i , 2 ) = D 1 x i , D 2 x i = g 2 a x i u i , g 2 a x i v i ,
    which can be computed with known g 2 a , x i , u i , v i . It then stores ( I D i , x i , s k i , ) into L s and returns s k i to A 1 .
  • Public key query ( I D i ): For i-th queried identity I D i , B searches L s , and finds the related item of I D i as ( I D i , x i , , ) . If the related item does not exist, B randomly picks x i Z p and computes
    p k i = ( X i , Y i , Z i ) = g 1 a x i , g 2 x i , g 1 x i ,
    which can be computed with known g 1 , g 1 a , g 2 , x i . It then stores ( I D i , x i , , p k i ) into L s and returns p k i to A 1 .
  • Proxy key query ( I D P i ): For a proxy with the related item in L s as ( I D P i , x P i ) , B performs as Public key query step and obtains
    p k P i = ( X P i , Y P i , Z P i ) = g 1 a x P i , g 2 x P i , g 1 x P i .
    which can be computed with known g 1 , g 1 a , g 2 , x P i . B then returns p k P i and s k P i to A 1 .
  • Public key replace query ( I D i , p k ): B changes the public key p k i corresponding to I D i to p k = ( X , Y , Z ) while receiving ( I D i , p k ) if e ( X i , g 2 ) = e ( g ¯ 1 , Y i ) and e ( Z i , g 2 ) = e ( g 1 , Y i ) holds.
  • Token query ( I D i ): For a queried I D i , if I D i = I D i * , B aborts. Otherwise, B searches L s to find the related item of I D i as ( I D i , x i , s k i ) , where s k i = ( s k 1 , s k 2 ) . If the related item does not exist, B performs as follows. If I D i has not been queried to H 1 , B randomly chooses u i , sets
    H 1 ( I D i ) = g 2 u i ,
    and stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 . If I D i has not been queried to H 2 , B randomly chooses v i , sets
    H 2 ( I D i ) = g 2 v i ,
    and stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 . B searches L H 1 and L H 2 to find the related items of I D i as ( u i , I D i , H 1 ( I D i ) ) and ( v i , I D i , H 2 ( I D i ) ) . B searches L s and finds the related item of I D i as ( I D i , x i , , ) . If the related item of I D i does not exist, B randomly picks x i Z p and computes
    s k i = ( s k i , 1 , s k i , 2 ) = D 1 x i , D 2 x i = g 2 a x i u i , g 2 a x i v i ,
    which can be computed with known g 2 a , x i , u i , v i . It then stores ( I D i , x i , s k i ) into L s . B returns s k 2 to A 1 .
  • Proxy token query ( I D i , I D P i ): For a queried I D i , if I D i = I D i * , B aborts. Otherwise, B performs as Aut step except that B computes P I i = H 2 ( I D i ) x P i = g 2 a v i x i x P i , and the proxy token
    t k ^ i = H 2 ( I D ) α x + x · x P = g 2 a v i x i + x i x P i
    with known g 2 , g 2 a , v i , x i , x P i . B returns t k ^ i to A 1 .
3.
Challenge: A 1 sends ( s * , I D * , M 0 * , M 1 * ) to B , where s * represents the designated challenge number, I D * stands for the challenge identity, and two plaintexts M 0 * and M 1 * are selected from { 0 , 1 } λ with equal lengths. If I D * I D i * , B aborts. Otherwise, it randomly picks w 1 , w 2 Z p , R 1 , R 2 { 0 , 1 } 2 l , R 3 { 0 , 1 } λ and implicitly sets r 1 = w 1 c , r 2 = w 2 c . It then computes the challenge ciphertext as
C 1 = g 1 r 1 = g 1 c w 1 , C 2 = R 1 , C 3 = g 1 r 2 = g 1 c w 2 , C 4 = g 1 x i * r 2 = g 1 c x i * w 2 , C 5 = R 2 , C 6 = R 3 .
4.
Phase 2: B interacts with A 1 as Phase 1 with the limitation that I D i * cannot be queried in partial private key query, secret key query, private key query, token query, and proxy token query.
5.
Guess: A 1 outputs its guess bit ρ { 0 , 1 } .
6.
Solve: B randomly chooses an item ( Q i , H 4 ( Q i ) = η i ) from L H 4 and sets
e ( g 1 , g 2 ) a b c = Q i 1 x i * u i * w 1
as the solution to the BDH instance.
7.
Analysis: To successfully perform the reduction, the simulation should be indistinguishable from the real attack from the point of view of the adversary. As we can see, if the adversary chooses I D i * as the challenge identity, the simulation will not abort, which means that the simulation is indistinguishable from the real attack. The corresponding probability is 1 / n . Upon the case that the simulation is indistinguishable to the adversary, we have the following analysis. Since the adversary is assumed to break the security with the advantage ϵ , we have that it issues the hash query e ( X i * , H 1 ( I D i * ) ) r 1 = e ( g 1 a x i * , g 2 b u i * ) c w 1 = e ( g 1 , g 2 ) a b c · x i * u i * w 1 with probability ϵ . Thus, B can finally obtain the true solution to the given BDH instance as e ( g 1 , g 2 ) a b c = Q i 1 x i * u i * w 1 with a probability of ϵ q H 4 . In conclusion, B can successfully break the BDH assumption with the probability of
Pr [ B c h o o s e s t h e c o r r e c t h a s h q u e r y | t h e s i m u l a t i o n i s i n d i s t i n g u i s h a b l e ] = ϵ n · q H 4 .
  □
Theorem 2.
For any PPT Type-II adversary, our CLE-MET-PA scheme is OW-CPA secure based on the BDH assumption in the random oracle model.
Proof of Theorem 2.
Assume there exists an adversary A 2 who can break the OW-CPA security of our scheme with non-negligible advantage ϵ ; then, we can construct a simulator B to break the BDH assumption. Given an instance as ( G , g 1 , g 1 a , g 1 c , g 2 , g 2 a , g 2 b ) , B is to compute e ( g 1 , g 2 ) a b c by running A 2 as a subroutine. B and A 2 play the following game.
1.
Setup: B randomly picks a cryptographic hash function H 3 : { 0 , 1 } * { 0 , 1 } λ and sets the public parameter p p = { G , g 1 , g 2 , g ¯ , H 1 , H 2 , H 3 , H 4 , H 5 } , where g ¯ = g 1 a and H 1 , H 2 , H 4 , H 5 are random oracles. p p is sent to A 2 . Lists L H 1 , L H 2 , L H 4 , L H 5 , L s are initially empty. Assume that A 2 can make q H 1 , q H 2 , q H 4 , q H 5 hash queries to H 1 , H 2 , H 4 , H 5 , respectively.
2.
Phase 1: Assume there are n users with identities I D 1 , , I D n in the system. B randomly chooses i * [ 1 , n ] and performs the following steps.
  • H 1 -query ( I D i ): For i-th query I D i , B searches L H 1 . If there exists the related item of I D i as ( u i , I D i , H 1 ( I D i ) ) , B returns H 1 ( I D i ) to A 2 . Otherwise, B randomly chooses u i and sets
    H 1 ( I D i ) = g 2 u i , i f i i * , g 2 b u i , i f i = i * .
    B stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 and returns H 1 ( I D i ) to A 2 .
  • H 2 -query ( I D i ): For i-th query I D i , B searches L H 2 . If there exists the related item of I D i as ( v i , I D i , H 2 ( I D i ) ) , B returns H 2 ( I D i ) to A 2 . Otherwise, B randomly chooses v i and sets
    H 2 ( I D i ) = g 2 v i
    B stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 and returns H 2 ( I D i ) to A 2 .
  • H 4 -query ( Q i ): For the i-th query Q i , B picks η i { 0 , 1 } 2 l randomly, sets H 4 ( Q i ) = η i , stores a new item ( Q i , H 4 ( Q i ) = η i ) into L H 4 , and then returns H 4 ( Q i ) to A 2 .
  • H 5 -query ( W i ): For the i-th query W i , B randomly picks σ i { 0 , 1 } λ , sets H 5 ( W i ) = σ i , stores a new item ( W i , H 5 ( W i ) = σ i ) into L H 5 , and then returns H 5 ( W i ) to A 2 .
  • Partial private key query ( I D i ): For the i-th queried identity I D i , if I D i = I D i * , B aborts. Otherwise, if I D i has not been queried to H 1 , B randomly chooses u i , sets
    H 1 ( I D i ) = g 2 u i ,
    and stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 . If I D i has not been queried to H 2 , B randomly chooses v i , sets
    H 2 ( I D i ) = g 2 v i ,
    and stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 . B searches L H 1 and L H 2 to find the related items of I D i as ( u i , I D i , H 1 ( I D i ) ) and ( v i , I D i , H 2 ( I D i ) ) . B then computes
    D i = ( D i , 1 , D i , 2 ) = H 1 α ( I D ) , H 2 α ( I D ) = g 2 a u i , g 2 a v i ,
    which can be computed with known g 2 a , u i , v i . B returns D i to A 2 .
  • Secret key query ( I D i ): For the i-th queried identity I D i , B randomly picks x i Z p , stores ( I D i , x i , , ) into L s , and returns x i to A 2 .
  • Private key query ( I D i ): For the i-th queried identity I D i , if I D i = I D i * , B aborts. Otherwise, if I D i has not been queried to H 1 , B randomly chooses u i , sets
    H 1 ( I D i ) = g 2 u i ,
    and stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 . If I D i has not been queried to H 2 , B randomly chooses v i , sets
    H 2 ( I D i ) = g 2 v i ,
    and stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 . B searches L H 1 and L H 2 to find the related items of I D i as ( u i , I D i , H 1 ( I D i ) ) and ( v i , I D i , H 2 ( I D i ) ) . B searches L s and finds the related item of I D i as ( I D i , x i , , ) . If the related item of I D i does not exist, B randomly picks x i Z p and computes
    s k i = ( s k i , 1 , s k i , 2 ) = D 1 x i , D 2 x i = g 2 a x i u i , g 2 a x i v i ,
    which can be computed with known g 2 a , x i , u i , v i . It then stores ( I D i , x i , s k i , ) into L s and returns s k i to A 2 .
  • Public key query ( I D i ): For the i-th queried identity I D i , B searches L s and finds the related item of I D i as ( I D i , x i , , ) . If the related item does not exist, B randomly picks x i Z p and computes
    p k i = ( X i , Y i , Z i ) = g 1 a x i , g 2 x i , g 1 x i ,
    which can be computed with a known g 1 , g 1 a , g 2 , x i . It then stores ( I D i , x i , , p k i ) into L s and returns p k i to A 2 .
  • Proxy key query ( I D P i ): For a proxy with the related item in L s as ( I D P i , x P i ) , B performs as the public key query step and obtains
    p k P i = ( X P i , Y P i , Z P i ) = g 1 a x P i , g 2 x P i , g 1 x P i .
    which can be computed with known g 1 , g 1 a , g 2 , x P i . B then returns p k P i and s k P i to A 2 .
  • Public key replace query ( I D i , p k ): B changes the public key p k i corresponding to I D i to p k = ( X , Y , Z ) while receiving ( I D i , p k ) if e ( X i , g 2 ) = e ( g ¯ 1 , Y i ) and e ( Z i , g 2 ) = e ( g 1 , Y i ) holds.
  • Token query ( I D i ): For a queried I D i , B searches L s to find the related item of I D i as ( I D i , x i , s k i ) , where s k i = ( s k 1 , s k 2 ) . If the related item does not exist, B performs as follows. If I D i has not been queried to H 1 , B randomly chooses u i , sets
    H 1 ( I D i ) = g 2 u i ,
    and stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 . If I D i has not been queried to H 2 , B randomly chooses v i , sets
    H 2 ( I D i ) = g 2 v i ,
    and stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 . B searches L H 1 and L H 2 to find the related items of I D i as ( u i , I D i , H 1 ( I D i ) ) and ( v i , I D i , H 2 ( I D i ) ) . B searches L s and finds the related item of I D i as ( I D i , x i , , ) . If the related item of I D i does not exist, B randomly picks x i Z p and computes
    s k i = ( s k i , 1 , s k i , 2 ) = D 1 x i , D 2 x i = g 2 a x i u i , g 2 a x i v i ,
    which can be computed with known g 2 a , x , u i , v i . It then stores ( I D i , x i , s k i ) into L s . B returns s k 2 to A 2 .
  • Proxy token query ( I D i , I D P i ): For a queried I D i , B performs as Aut step except that B computes P I i = H 2 ( I D i ) x P i = g 2 a v i x i x P i , and the proxy token
    t k ^ i = H 2 ( I D ) α x + x · x P = g 2 a v i x i + x i x P i
    with known g 2 , g 2 a , v i , x i , x P i . B returns t k ^ i to A 2 .
3.
Challenge: A 2 sends ( s * , I D * ) to B , where s * represents the designated challenge number, and I D * stands for the challenge identity. If I D * I D i * , B aborts. Otherwise, it chooses to randomly pick M * { 0 , 1 } λ , w 1 , w 2 Z p , R 1 { 0 , 1 } 2 l , and implicitly sets r 1 = w 1 c , r 2 = w 2 c . Taking as input M * , s * , it then iteratively computes ( f 0 , f 1 , , f s * 1 ) and f ( x ) same as Enc ( p p , p k , M , s ) in Section 4.1. Then, it randomly picks A Z p , computes f ( A ) , then outputs the challenge ciphertext as follows:
C 1 = g 1 r 1 = g 1 c w 1 , C 2 = R 1 , C 3 = g 1 r 2 = g 1 c w 2 , C 4 = g 1 x i * r 2 = g 1 c x i * w 2 , C 5 = H 4 e ( g 1 c w 1 , g 2 a v i * x i * ) ( A | | f ( A ) ) , C 6 = H 5 s * | | C 1 * | | C 2 * | | C 3 * | | C 4 * | | C 5 * | | e ( g 1 c w 1 , g 2 a v i * x i * ) | | f 0 | | f 1 | | | | f s * 1 .
4.
Phase 2: B interacts with A 2 as Phase 1 with the limitation that I D i * cannot be queried in partial private key query, secret key query, and private key query.
5.
Guess: A 2 outputs its guess M { 0 , 1 } λ .
6.
Solve: B randomly chooses an item ( Q i , H 4 ( Q i ) = η i ) from L H 4 and sets
e ( g 1 , g 2 ) a b c = Q i 1 x i * u i * w 1
as the solution to the BDH instance.
7.
Analysis: To successfully perform the reduction, the simulation should be indistinguishable from the real attack from the point of view of the adversary. As we can see, if the adversary chooses I D i * as the challenge identity, the simulation will not abort, which means the simulation is indistinguishable from the real attack. The corresponding probability is 1 / n . Upon the case that the simulation is indistinguishable to the adversary, we have the following analysis. Since the adversary is assumed to break the security with advantage ϵ , we have that it issues the hash query e ( X i * , H 1 ( I D i * ) ) r 1 = e ( g 1 a x i * , g 2 b u i * ) c w 1 = e ( g 1 , g 2 ) a b c · x i * u i * w 1 with probability ϵ . Thus, B finally can obtain the true solution to the given BDH instance as e ( g 1 , g 2 ) a b c = Q i 1 x i * u i * w 1 with probability ϵ q H 4 . In conclusion, B can successfully break the BDH assumption with probability
Pr [ B c h o o s e s t h e c o r r e c t h a s h q u e r y | t h e s i m u l a t i o n i s i n d i s t i n g u i s h a b l e ] = ϵ n · q H 4 .
  □
Theorem 3.
For any PPT Type-III adversary, our CLE-MET-PA scheme is IND-CPA secure based on the BDH assumption in the random oracle model.
Proof of Theorem 3.
Assume that there exists an adversary A 3 who can break the IND-CPA security of our scheme with the non-negligible advantage ϵ , we can construct a simulator B to break the BDH assumption. Given an instance as ( G , g 1 , g 1 a , g 1 c , g 2 , g 2 a , g 2 b ) , B is to compute e ( g 1 , g 2 ) a b c by running A 3 as a subroutine. B and A 3 play the following game.
1.
Setup: B randomly picks a cryptographic hash function H 3 : { 0 , 1 } * { 0 , 1 } λ , randomly picks α Z p * , and sets the public parameter p p . p p = { G , g 1 , g 2 , g ¯ , H 1 , H 2 , H 3 , H 4 , H 5 } , where g ¯ = g 1 α , H 1 , H 2 , H 4 , H 5 are random oracles. p p is sent to A 3 . Lists L H 1 , L H 2 , L H 4 , L H 5 , L s are initially empty. Assume that A 3 can make q H 1 , q H 2 , q H 4 , q H 5 hash queries to H 1 , H 2 , H 4 , H 5 , respectively.
2.
Phase 1: Assume there are n users with identities I D 1 , , I D n in the system. B randomly chooses i * [ 1 , n ] and performs the following steps.
  • H i -query ( I D i ) ( i = 1 , 2 , 4 , 5 ) : B performs as in the Proof of Theorem 1.
  • Master secret key query ( 1 λ ): B returns α to A 3 .
  • Partial private key query ( I D i ): For i-th queried identity I D i , if I D i = I D i * , B aborts. Otherwise, if I D i has not been queried to H 1 , B randomly chooses u i , sets
    H 1 ( I D i ) = g 2 u i ,
    and stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 . If I D i has not been queried to H 2 , B randomly chooses v i , sets
    H 2 ( I D i ) = g 2 v i ,
    and stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 . B searches L H 1 and L H 2 to find the related items of I D i as ( u i , I D i , H 1 ( I D i ) ) and ( v i , I D i , H 2 ( I D i ) ) . B then computes
    D i = ( D i , 1 , D i , 2 ) = H 1 α ( I D ) , H 2 α ( I D ) = g 2 α u i , g 2 α v i ,
    which can be computed with known g 2 , α , u i , v i . B returns D i to A 3 .
  • Secret key query ( I D i ): For i-th queried identity I D i , if I D i = I D i * , B aborts. Otherwise, B randomly picks x i Z p , stores ( I D i , x i , , ) into L s , and returns x i to A 3 .
  • Private key query ( I D i ): For the i-th queried identity I D i , if I D i = I D i * , B aborts. Otherwise, if I D i was not queried to H 1 , B randomly chooses u i , sets
    H 1 ( I D i ) = g 2 u i ,
    and stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 . If I D i has not been queried to H 2 , B randomly chooses v i , sets
    H 2 ( I D i ) = g 2 v i ,
    and stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 . B searches L H 1 and L H 2 to find the related items of I D i as ( u i , I D i , H 1 ( I D i ) ) and ( v i , I D i , H 2 ( I D i ) ) . B searches L s and finds the related item of I D i as ( I D i , x i , , ) . If the related item of I D i does not exist, B randomly picks x i Z p and computes
    s k i = ( s k i , 1 , s k i , 2 ) = D 1 x i , D 2 x i = g 2 α x i u i , g 2 α x i v i ,
    which can be computed with known g 2 , α , x i , u i , v i . It then stores ( I D i , x i , s k i , ) into L s and returns s k i to A 3 .
  • Public key query ( I D i ): For the i-th queried identity I D i , if I D i I D i * , B searches L s and finds the related item of I D i as ( I D i , x i , , ) . If the related item does not exist, B randomly picks x i Z p and computes
    p k i = ( X i , Y i , Z i ) = g 1 α x i , g 2 x i , g 1 x i ,
    It then stores ( I D i , x i , , p k i ) into L s and returns p k i to A 3 ;
    If I D i I D i * , B randomly picks x i Z p , implicitly sets x i = a x i , computes
    p k i = ( X i , Y i , Z i ) = g 1 α a x i , g 2 a x i , g 1 a x i ,
    which can be computed with known g 1 a , g 2 a , α , x i . It then stores ( I D i , x i , , p k i ) into L s and returns p k i to A 3 .
  • Proxy key query ( I D P i ): For a proxy with the related item in L s as ( I D P i , x P i ) , B performs as a public key query step and obtains
    p k P i = ( X P i , Y P i , Z P i ) = g 1 α x P i , g 2 x P i , g 1 x P i .
    which can be computed with known g 1 , α , g 2 , x P i . B then returns p k P i and s k P i to A 3 .
  • Token query ( I D i ): For a queried I D i , if I D i = I D i * , B aborts. Otherwise, B searches L s to find the related item of I D i as ( I D i , x i , s k i ) , where s k i = ( s k 1 , s k 2 ) . If the related item does not exist, B performs as follows. If I D i has not been queried to H 1 , B randomly chooses u i , sets
    H 1 ( I D i ) = g 2 u i ,
    and stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 . If I D i has not been queried to H 2 , B randomly chooses v i , sets
    H 2 ( I D i ) = g 2 v i ,
    and stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 . B searches L H 1 and L H 2 to find the related items of I D i as ( u i , I D i , H 1 ( I D i ) ) and ( v i , I D i , H 2 ( I D i ) ) . B searches L s and finds the related item of I D i as ( I D i , x i , , ) . If the related item of I D i does not exist, B randomly picks x i Z p and computes
    s k i = ( s k i , 1 , s k i , 2 ) = D 1 x i , D 2 x i = g 2 α x i u i , g 2 α x i v i ,
    which can be computed with known g 2 a , x , u i , v i . It then stores ( I D i , x i , s k i ) into L s . B returns s k 2 to A 3 .
  • Proxy token query ( I D i , I D P i ): For a queried I D i , if I D i = I D i * , B aborts. Otherwise, B performs as Aut step except that B computes P I i = H 2 ( I D i ) x P i = g 2 α v i x i x P i , and the proxy token
    t k ^ i = H 2 ( I D ) α x + x · x P = g 2 α v i x i + x i x P i
    with known g 2 , α , v i , x i , x P i . B returns t k ^ i to A 3 .
3.
Challenge: A 3 sends ( s * , I D * , M 0 * , M 1 * ) to B , where s * represents the designated challenge number, I D * stands for the challenge identity, and two plaintexts M 0 * and M 1 * are selected from { 0 , 1 } λ with equal lengths. If I D * I D i * , B aborts. Otherwise, it randomly picks w 1 , w 2 Z p , R 1 , R 2 { 0 , 1 } 2 l , R 3 { 0 , 1 } λ and implicitly sets r 1 = w 1 c , r 2 = w 2 c . It then computes the challenge ciphertext as
C 1 = g 1 r 1 = g 1 c w 1 , C 2 = R 1 , C 3 = g 1 r 2 = g 1 c w 2 , C 4 = g 1 x i * r 2 = g 1 c x i * w 2 , C 5 = R 2 , C 6 = R 3 .
4.
Phase 2: B interacts with A 3 as Phase 1 with the limitation that I D i * cannot be queried in partial private key query, secret key query, private key query, token query, and proxy token query.
5.
Guess: A 3 outputs its guess bit ρ { 0 , 1 } .
6.
Solve: B randomly chooses an item ( Q i , H 4 ( Q i ) = η i ) from L H 4 and sets
e ( g 1 , g 2 ) a b c = Q i 1 x i * u i * w 1 α
as the solution to the BDH instance.
7.
Analysis: To successfully perform the reduction, the simulation should be indistinguishable from the real attack from the point of view of the adversary. As we can see, if the adversary chooses I D i * as the challenge identity, the simulation will not abort, which means that the simulation is indistinguishable from the real attack. The corresponding probability is 1 / n . Upon the case that the simulation is indistinguishable to the adversary, we have the following analysis. Since the adversary is assumed to break the security with advantage ϵ , we have that it issues the hash query e ( X i * , H 1 ( I D i * ) ) r 1 = e ( g 1 α a x i * , g 2 b u i * ) c w 1 = e ( g 1 , g 2 ) a b c · x i * u i * w 1 α with probability ϵ . Thus, B finally can obtain the true solution to the given BDH instance as e ( g 1 , g 2 ) a b c = Q i 1 x i * u i * w 1 α with probability ϵ q H 4 . In conclusion, B can successfully break the BDH assumption with probability
Pr [ B c h o o s e s t h e c o r r e c t h a s h q u e r y | t h e s i m u l a t i o n i s i n d i s t i n g u i s h a b l e ] = ϵ n · q H 4 .
  □
Theorem 4.
For any PPT Type-IV adversary, our CLE-MET-PA scheme is OW-CPA secure based on the BDH assumption in the random oracle model.
Proof of Theorem 4.
Assume there exists an adversary A 4 who can break the IND-CPA security of our scheme with a non-negligible advantage ϵ ; we can construct a simulator B to break the BDH assumption. Given an instance as ( G , g 1 , g 1 a , g 1 c , g 2 , g 2 a , g 2 b ) , B is to compute e ( g 1 , g 2 ) a b c by running A 4 as a subroutine. B and A 4 play the following game.
1.
Setup: B randomly picks a cryptographic hash function H 3 : { 0 , 1 } * { 0 , 1 } λ , randomly picks α Z p * , and sets the public parameter p p . p p = { G , g 1 , g 2 , g ¯ , H 1 , H 2 , H 3 , H 4 , H 5 } , where g ¯ = g 1 α , H 1 , H 2 , H 4 , H 5 are random oracles. p p is sent to A 4 . Lists L H 1 , L H 2 , L H 4 , L H 5 , L s are initially empty. Assume that A 4 can make q H 1 , q H 2 , q H 4 , q H 5 hash queries to H 1 , H 2 , H 4 , H 5 , respectively.
2.
Phase 1: Assume there are n users with identities I D 1 , , I D n in the system. B randomly chooses i * [ 1 , n ] and performs the following steps.
  • H i -query ( I D i ) ( i = 1 , 2 , 4 , 5 ) : B performs as in the Proof of Theorem 2.
  • Master secret key query ( 1 λ ): B returns α to A 4 .
  • Partial private key query ( I D i ): For i-th queried identity I D i , if I D i = I D i * , B aborts. Otherwise, if I D i has not been queried to H 1 , B randomly chooses u i , sets
    H 1 ( I D i ) = g 2 u i ,
    and stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 . If I D i has not been queried to H 2 , B randomly chooses v i , sets
    H 2 ( I D i ) = g 2 v i ,
    and stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 . B searches L H 1 and L H 2 to find the related items of I D i as ( u i , I D i , H 1 ( I D i ) ) and ( v i , I D i , H 2 ( I D i ) ) . B then computes
    D i = ( D i , 1 , D i , 2 ) = H 1 α ( I D ) , H 2 α ( I D ) = g 2 α u i , g 2 α v i ,
    which can be computed with known g 2 , α , u i , v i . B returns D i to A 4 .
  • Secret key query ( I D i ): For i-th queried identity I D i , if I D i = I D i * , B aborts. Otherwise, B randomly picks x i Z p , stores ( I D i , x i , , ) into L s , and returns x i to A 4 .
  • Private key query ( I D i ): For the i-th queried identity I D i , if I D i = I D i * , B aborts. Otherwise, if I D i has not been queried to H 1 , B randomly chooses u i , sets
    H 1 ( I D i ) = g 2 u i ,
    and stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 . If I D i has not been queried to H 2 , B randomly chooses v i , sets
    H 2 ( I D i ) = g 2 v i ,
    and stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 . B searches L H 1 and L H 2 to find the related items of I D i as ( u i , I D i , H 1 ( I D i ) ) and ( v i , I D i , H 2 ( I D i ) ) . B searches L s and finds the related item of I D i as ( I D i , x i , , ) . If the related item of I D i does not exist, B randomly picks x i Z p and computes
    s k i = ( s k i , 1 , s k i , 2 ) = D 1 x i , D 2 x i = g 2 α x i u i , g 2 α x i v i ,
    which can be computed with known g 2 , α , x i , u i , v i . It then stores ( I D i , x i , s k i , ) into L s and returns s k i to A 4 .
  • Public key query ( I D i ): For i-th queried identity I D i , if I D i I D i * , B searches L s and finds the related item of I D i as ( I D i , x i , , ) . If the related item does not exist, B randomly picks x i Z p and computes
    p k i = ( X i , Y i , Z i ) = g 1 α x i , g 2 x i , g 1 x i ,
    It then stores ( I D i , x i , , p k i ) into L s and returns p k i to A 4 ;
    If I D i I D i * , B randomly picks x i Z p , implicitly sets x i = a x i , and computes
    p k i = ( X i , Y i , Z i ) = g 1 α a x i , g 2 a x i , g 1 a x i ,
    which can be computed with known g 1 a , g 2 a , α , x i . It then stores ( I D i , x i , , p k i ) into L s and returns p k i to A 4 .
  • Proxy key query ( I D P i ): For a proxy with the related item in L s as ( I D P i , x P i ) , B performs as public key query step and obtains
    p k P i = ( X P i , Y P i , Z P i ) = g 1 α x P i , g 2 x P i , g 1 x P i .
    which can be computed with known g 1 , α , g 2 , x P i . B then returns p k P i and s k P i to A 4 .
  • Token query ( I D i ): For a queried I D i , if I D i I D i * , B searches L s to find the related item of I D i as ( I D i , x i , s k i ) , where s k i = ( s k 1 , s k 2 ) . If the related item does not exist, B performs as follows. If I D i has not been queried to H 1 , B randomly chooses u i , sets
    H 1 ( I D i ) = g 2 u i ,
    and stores ( u i , I D i , H 1 ( I D i ) ) into L H 1 . If I D i has not been queried to H 2 , B randomly chooses v i , sets
    H 2 ( I D i ) = g 2 v i ,
    and stores ( v i , I D i , H 2 ( I D i ) ) into L H 2 . B searches L H 1 and L H 2 to find the related items of I D i as ( u i , I D i , H 1 ( I D i ) ) and ( v i , I D i , H 2 ( I D i ) ) . B searches L s and finds the related item of I D i as ( I D i , x i , , ) . If the related item of I D i does not exist, B randomly picks x i Z p and computes
    s k i = ( s k i , 1 , s k i , 2 ) = D 1 x i , D 2 x i = g 2 α x i u i , g 2 α x i v i ,
    which can be computed with known g 2 , α , x i , u i , v i . It then stores ( I D i , x i , s k i ) into L s . B returns s k 2 to A 4 .
    If I D i = I D i * , B searches L s to find the related item of I D i as ( I D i , x i , , ) and ( v i , I D i , H 2 ( I D i ) ) . If the related item of I D i does not exist, B randomly picks x i Z p and computes
    s k 2 = g 2 α a v i x i ,
    which can be computed with the known g 2 a , α , v i , x i , B returns s k 2 to A 4 .
  • Proxy token query ( I D i , I D P i ): For a queried I D i , B performs as Aut step except that B computes
    P I i = H 2 ( I D i ) x P i = g 2 α v i x i x P i , i f i i * , g 2 α a v i x i x P i , i f i = i * .
    t k ^ = H 2 ( I D ) α x + x · x P = g 2 α v i x i + x i x P i , i f i i * , g 2 α a v i x i + a x i x P i , i f i = i * .
    with known g 2 , α , v i , x i , x i , x P i .
3.
Challenge: A 4 sends ( s * , I D * ) to B , where s * represents the designated challenge number, and I D * stands for the challenge identity. If I D * I D i * , B aborts. Otherwise, it chooses to randomly pick M * { 0 , 1 } λ , w 1 , w 2 Z p , R 1 { 0 , 1 } 2 l , and implicitly sets r 1 = w 1 c , r 2 = w 2 c . Taking as input M * , s * , it then iteratively computes ( f 0 , f 1 , , f s * 1 ) and f ( x ) same as Enc ( p p , p k , p k P , M , s ) in Section 4.1. Then, it randomly picks A Z p , computes f ( A ) , before outputting the challenge ciphertext as follows:
C 1 = g 1 r 1 = g 1 c w 1 , C 2 = R 1 , C 3 = g 1 r 2 = g 1 c w 2 , C 4 = g 1 x i * r 2 = g 1 c x i * w 2 , C 5 = H 4 e ( g 1 c w 1 , g 2 α a v i * x i * ) ( A | | f ( A ) ) , C 6 = H 5 s * | | C 1 * | | C 2 * | | C 3 * | | C 4 * | | C 5 * | | e ( g 1 c w 1 , g 2 α a v i * x i * ) | | f 0 | | f 1 | | | | f s * 1 .
4.
Phase 2: B interacts with A 4 as Phase 1 with the limitation that I D i * cannot be queried in partial private key query, secret key query, and private key query.
5.
Guess: A 4 outputs its guess M { 0 , 1 } λ .
6.
Solve: B randomly chooses an item ( Q i , H 4 ( Q i ) = η i ) from L H 4 and sets
e ( g 1 , g 2 ) a b c = Q i 1 x i * u i * w 1 α
as the solution to the BDH instance.
7.
Analysis: To successfully perform the reduction, the simulation should be indistinguishable from the real attack from the point of view of the adversary. As we can see, if the adversary chooses I D i * as the challenge identity, the simulation will not abort, which means the simulation is indistinguishable from the real attack. The corresponding probability is 1 / n . Upon the case that the simulation is indistinguishable to the adversary, we have the following analysis. Since the adversary is assumed to break the security with advantage ϵ , we have that it issues the hash query e ( X i * , H 1 ( I D i * ) ) r 1 = e ( g 1 α a x i * , g 2 b u i * ) c w 1 = e ( g 1 , g 2 ) a b c · x i * u i * w 1 α with probability ϵ . Thus, B can finally obtain the true solution to the given BDH instance as e ( g 1 , g 2 ) a b c = Q i 1 x i * u i * w 1 α with probability ϵ q H 4 . In conclusion, B can successfully break the BDH assumption with probability
Pr [ B c h o o s e s t h e c o r r e c t h a s h q u e r y | t h e s i m u l a t i o n i s i n d i s t i n g u i s h a b l e ] = ϵ n · q H 4 .
  □
Theorem 5
(Number Security of CLE-MET-PA). In the information theoretical sense, no probabilistic polynomial-time adversary has a non-negligible advantage in breaking the number security of our CLE-MET-PA scheme.
Proof of Theorem 5.
In this game of number security, the adversary A 5 tries to determine whether the underlying messages of t * challenging ciphertexts C T 1 * , , C T t * * are equal or not with all the designated numbers of these ciphertexts, which are s * and s * > t * . And, the underlying messages are chosen by B and they are unknown to A 5 . From the setting of our scheme, we have that A 5 has two ways to check whether the underlying messages are equal or not, i.e., extracting M i or f i , j of C T i for some j { 0 , , t * 1 } , for each i { 1 , , t * } .
In line with the OW-CPA security proof, A 5 has only a negligible advantage in obtaining the underlying message from the ciphertext under the BDH assumption. To extract a f i , j from the ciphertext C T i = ( s , C i , 1 , C i , 2 , C i , 3 , C i , 4 , C i , 5 , C i , 6 ) , A 5 can make a token query or a Proxy token query on p k i and obtain the corresponding token t k i = s k i , 2 or t k ^ i = s k i , 2 H 2 ( I D i ) x i x P i such that it is able to obtain the A i | | f i ( A i ) = C i , 5 H 4 ( e ( C i , 3 , t k i ) ) or A i | | f i ( A i ) = C i , 5 H 4 e ( C i , 3 , t k ^ i ) / e ( C i , 4 , P I i ) , where
f i ( A i ) = f i , 0 + f i , 1 A i + + f i , t * 1 A i t * 1
and
f i , j = H 3 ( M i | | s | | f i , 0 | | | | f i , j 1 ) , j { 0 , , t * 1 } .
Obtaining A i | | f i ( A i ) for each i { 1 , , t * } , A 5 has an equation set as
f 1 ( A 1 ) = f 1 , 0 + f 1 , 1 A 1 + + f 1 , t * 1 A 1 t * 1 f 2 ( A 2 ) = f 2 , 0 + f 2 , 1 A 2 + + f 2 , t * 1 A 2 t * 1 f t * ( A t * ) = f t * , 0 + f t * , 1 A t * + + f t * , t * 1 A t * t * 1 ,
where A i for i { 1 , , t * 1 } are randomly chosen by C . Therefore, after implicitly setting that f i , k = f j , k for i { 1 , , t * 1 } , j { 0 , , t * 1 } , these t * 1 equations are nonlinearly correlated with each other by an overwhelming probability such that there are infinite solutions for { f i , j } 1 i t * , 0 j t * 1 . In addition, A 5 has no other information to further ensure whether the underlying messages are equal or not. It can only randomly guess b . In conclusion, the adversary has a negligible advantage in breaking the number security of the proposed CLE-MET-PA scheme.  □

6. Performance Analysis and Extension

6.1. Performance Analysis of CLE-MET-PA

We conducted a visual comparison between our scheme and several existing schemes [15,30,31,40], and the results are presented in Table 2. Among them, Refs. [15,30,40] only support pairwise equality tests. Therefore, in scenarios where we need to test the equality of s ciphertexts, these three schemes require s 1 executions of their test algorithms.
We adopted the commonly used approach for the performance analysis of most PKEET schemes, which involves calculating the complexity of significant algorithms, ciphertext size, and scheme-specific functionalities. This method allows us to evaluate different algorithms using the same standard across various platforms. Initially, we evaluated the complexity of encryption, decryption, and test algorithms, primarily focusing on three metrics: the number of exponential operations, hash operations, and bilinear pairings, denoted by E, H, and P, respectively. We excluded efficient operations such as addition, multiplication, and XOR. Next, we considered additional metrics such as ciphertext size and three functionalities: the anti-key management feature, the anti-key escrow feature, and support for proxy-assisted authorization.
As shown in Table 2, our scheme demonstrates significant advantages in terms of the multi-ciphertext equality test algorithm. In comparison to traditional schemes that support pairwise equality tests, our multi-ciphertext equality test exhibits lower computational complexity than conducting multiple pairwise equality tests. Specifically, even in extreme situations where all tokens are proxy tokens, we only require 2 s of the most computationally expensive bilinear pairings. This is notably lower than other schemes that support pairwise equality tests. Furthermore, our scheme inherently possesses certificateless encryption properties, effectively addressing the key management problem in PKEET and the key escrow problem in IBEET. This makes our scheme more suitable in scenarios where certificate management is challenging or where anonymous communication is required. Additionally, we introduced the feature of proxy-assisted authorization, enabling users to delegate proxy authorization while they are offline and better protect their private keys. These characteristics make our CLE-MET-PA scheme more competitive for practical use.

6.2. Extension

As mentioned before in this paper, our CLE-MET-PA scheme achieves IND-CPA security against adversaries without a trapdoor and OW-CPA security against adversaries with a trapdoor. We extend our scheme to CCA security with FO transformation [32,33] by simple modifications. The improved version of CLE-MET-PA is as follows.
  • Setup ( 1 λ ) : Almost the same as Setup ( 1 λ ) in Section 4.1. The difference is that while generating p p and m s k , additionally generate a cryptographic hash function H 6 : { 0 , 1 } * { 0 , 1 } l , and add it in p p .
  • Partial-Private-Key-Extract ( p p , m s k , I D ) : Same as Partial-Private-Key-Extract ( p p , m s k , I D ) in Section 4.1.
  • Set-Secret-Value ( p p , I D ) : Same as Set-Secret-Value ( p p , I D ) in Section 4.1.
  • Set-Private-Key ( p p , D , x ) : Same as Set-Private-Key ( p p , D , x ) in Section 4.1.
  • Set-Public-Key ( p p , x ) : Same as Set-Public-Key ( p p , x ) in Section 4.1.
  • Set-Proxy-Key ( p p , I D P ) : Same as Set-Proxy-Key ( p p , I D P ) in Section 4.1.
  • Enc ( p p , p k , M , s ) : Taking as input the system parameter p p , a user public key p k , and a proxy public key p k P , check whether e ( X , g 2 ) = e ( g ¯ , Y ) holds; if not, output ⊥ and abort. Then, taking as input a message M Z p , and a number s Z p , iteratively compute ( f 0 , f 1 , , f s 1 ) and f ( x ) same as Enc ( p p , p k , M , s ) in Section 4.1.
It randomly chooses A , r 1 , r 2 Z p , computes C 3 = H 4 ( r 1 ) ( M | | r 1 ) , R = H 3 ( r 1 | | M | | C 3 ) , and outputs the ciphertext C T = ( s , C 1 , C 2 , C 3 , C 4 , C 5 , C 6 , C 7 ) as
C 1 = g 1 R , C 2 = H 6 e ( X , H 1 ( I D ) ) R r 1 , C 3 = H 4 ( r 1 ) ( M | | r 1 ) , C 4 = g 1 r 2 , C 5 = Z r 2 , C 6 = H 4 e ( X , H 2 ( I D ) ) r 2 ( A | | f ( A ) ) , C 7 = H 5 ( s | | C 1 | | C 2 | | C 3 | | C 4 | | C 5 | | C 6 | | e X , H 2 ( I D ) r 2 | | f 0 | | f 1 | | | | f s 1 ) .
  • Dec ( C T , s k ) : Taking as input a ciphertext C T = ( s , C 1 , C 2 , C 3 , C 4 , C 5 , C 6 , C 7 ) and a secret key s k = H 1 ( I D ) α x , H 2 ( I D ) α x , the decrypt algorithm computes
    r 1 = C 2 H 6 e ( s k 1 , C 1 ) , M | | r 1 = C 3 H 4 ( r 1 ) , R = H 3 ( r 1 | | M | | C 3 ) .
It then computes
f 0 = H 3 ( M | | s ) , f 1 = H 3 ( M | | s | | f 0 ) , , f s 1 = H 3 ( M | | s | | f 0 | | | | f s 2 )
and checks whether the following equations hold or not
C 1 = g 1 R , f ( A ) = f 0 + f 1 A + + f s 1 A s 1 , C 7 = H 5 ( s | | C 1 | | C 2 | | C 3 | | C 4 | | C 5 | | C 6 | | e ( s k 2 , C 4 ) | | f 0 | | f 1 | | | | f s 1 ) ,
where A | | f ( A ) = C 5 H 4 e ( s k 2 , C 4 ) . If all the equations hold, it returns
M = M .
Otherwise, it returns ⊥.
The structures of the subsequent Aut, Proxy-Aut, and Test algorithms are essentially the same as the relevant algorithms in Section 4.1. Since these algorithms do not affect the security of the scheme, we will not elaborate further.
It is important to highlight that the enhanced scheme offers improved security, albeit with a slight increase in system parameter size, cipher size, and computation for encryption and decryption algorithms. In particular, the system parameters ( p p ) now incorporate an additional hash function. Furthermore, the cipher size increased by 2 | Z p | , and both the encryption and decryption algorithms entail two additional hash operations (denoted by 2H). By definition of FO transformation, our improved CLE-MET-PA scheme achieves IND-CCA security against adversaries without the trapdoor of the challenge ciphertext and OW-CCA security against adversaries with trapdoor of the challenge ciphertext.

7. Conclusions

In this work, we presented the notion of CLE-MET-PA, which integrates the characteristics of solving the key management problem in the public key encryption cryptosystem and addressing the key escrow problem in the IBE cryptosystem. It combines the feature of the multi-ciphertext equality test and supports proxy-assisted authorization, enhancing the practical use of the scheme. We formalized the system model and five security models for CLE-MET-PA, and proved that our scheme achieves OW-CPA/IND-CPA security. Finally, through an FO transformation, we obtained the improved version of CLE-MET-PA, which achieves OW-CCA/IND-CCA security.

Author Contributions

Conceptualization, S.D. and Z.Z.; methodology, S.D. and Z.Z.; writing—original draft preparation, S.D.; writing—review and editing, W.G. and S.Z.; supervision, B.W. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China under Grant 61972457, 62102299, 62002288, U19B2021, 62272362, 62202363, and the Youth Innovation Team of Shaanxi Universities, Science and Technology on Communication Security Laboratory Foundation (61421030202012103).

Data Availability Statement

Data sharing is not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Qian, L.; Luo, Z.; Du, Y.; Guo, L. Cloud computing: An overview. In Proceedings of the Cloud Computing: First International Conference, CloudCom 2009, Beijing, China, 1–4 December 2009; Proceedings 1. Springer: Berlin/Heidelberg, Germany, 2009; pp. 626–631. [Google Scholar]
  2. Dillon, T.; Wu, C.; Chang, E. Cloud computing: Issues and challenges. In Proceedings of the 2010 24th IEEE International Conference on Advanced Information Networking and Applications, Perth, WA, Australia, 20–23 April 2010; pp. 27–33. [Google Scholar]
  3. Zhang, C.; Hu, C.; Wu, T.; Zhu, L.; Liu, X. Achieving Efficient and Privacy-Preserving Neural Network Training and Prediction in Cloud Environments. IEEE Trans. Dependable Secur. Comput. 2022, 20, 4245–4257. [Google Scholar] [CrossRef]
  4. Hu, C.; Zhang, C.; Lei, D.; Wu, T.; Liu, X.; Zhu, L. Achieving Privacy-Preserving and Verifiable Support Vector Machine Training in the Cloud. IEEE Trans. Inf. Forensics Secur. 2023, 18, 3476–3491. [Google Scholar] [CrossRef]
  5. Goldreich, O.; Ostrovsky, R. Software protection and simulation on oblivious RAMs. J. ACM (JACM) 1996, 43, 431–473. [Google Scholar] [CrossRef]
  6. Song, D.X.; Wagner, D.; Perrig, A. Practical techniques for searches on encrypted data. In Proceedings of the 2000 IEEE Symposium on Security and Privacy, S&P 2000, Berkeley, CA, USA, 14–17 May 2000; pp. 44–55. [Google Scholar]
  7. Gentry, C. Fully homomorphic encryption using ideal lattices. In Proceedings of the Forty-First Annual ACM Symposium on Theory of Computing, Bethesda, MD, USA, 31 May–2 June 2009; pp. 169–178. [Google Scholar]
  8. Boneh, D.; Di Crescenzo, G.; Ostrovsky, R.; Persiano, G. Public key encryption with keyword search. In Proceedings of the Advances in Cryptology-EUROCRYPT 2004: International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, 2–6 May 2004; Proceedings 23. Springer: Berlin/Heidelberg, Germany, 2004; pp. 506–522. [Google Scholar]
  9. 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: The Cryptographers’ Track at the RSA Conference 2010, San Francisco, CA, USA, 1–5 March 2010; Proceedings. Springer: Berlin/Heidelberg, Germany, 2010; pp. 119–131. [Google Scholar]
  10. Tang, Q. Public key encryption supporting plaintext equality test and user-specified authorization. Secur. Commun. Netw. 2012, 5, 1351–1362. [Google Scholar] [CrossRef]
  11. Tang, Q. Towards public key encryption scheme supporting equality test with fine-grained authorization. In Proceedings of the Australasian Conference on Information Security and Privacy, ACISP 2011, Melbourne, Australia, 11–13 July 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 389–406. [Google Scholar]
  12. Huang, K.; Tso, R.; Chen, Y.C.; Rahman, S.M.M.; Almogren, A.; Alamri, A. PKE-AET: Public key encryption with authorized equality test. Comput. J. 2015, 58, 2686–2697. [Google Scholar] [CrossRef]
  13. Ma, S.; Zhang, M.; Huang, Q.; Yang, B. Public key encryption with delegated equality test in a multi-user setting. Comput. J. 2015, 58, 986–1002. [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. Forensics Secur. 2014, 10, 458–470. [Google Scholar] [CrossRef]
  15. Ma, S. Identity-based encryption with outsourced equality test in cloud computing. Inf. Sci. 2016, 328, 389–402. [Google Scholar] [CrossRef]
  16. 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]
  17. Wu, T.; Ma, S.; Mu, Y.; Zeng, S. ID-based encryption with equality test against insider attack. In Proceedings of the Information Security and Privacy: 22nd Australasian Conference, ACISP 2017, Auckland, New Zealand, 3–5 July 2017; Proceedings, Part I 22; Springer: Berlin/Heidelberg, Germany, 2017; pp. 168–183. [Google Scholar]
  18. Wu, L.; Zhang, Y.; Choo, K.K.R.; He, D. Efficient and secure identity-based encryption scheme with equality test in cloud computing. Future Gener. Comput. Syst. 2017, 73, 22–31. [Google Scholar] [CrossRef]
  19. Alornyo, S.; Asante, M.; Hu, X.; Mireku, K.K. Encrypted traffic analytic using identity based encryption with equality test for cloud computing. In Proceedings of the 2018 IEEE 7th International Conference on Adaptive Science & Technology (ICAST), Accra, Ghana, 22–24 August 2018; pp. 1–4. [Google Scholar]
  20. Li, H.; Huang, Q.; Ma, S.; Shen, J.; Susilo, W. Authorized equality test on identity-based ciphertexts for secret data sharing via cloud storage. IEEE Access 2019, 7, 25409–25421. [Google Scholar] [CrossRef]
  21. Liao, Y.; Fan, Y.; Liang, Y.; Liu, Y.; Mohammed, R. Cryptanalysis of an identity-based encryption scheme with equality test and improvement. IEEE Access 2019, 7, 75067–75072. [Google Scholar] [CrossRef]
  22. Ling, Y.; Ma, S.; Huang, Q.; Xiang, R.; Li, X. Group id-based encryption with equality test. In Proceedings of the Information Security and Privacy: 24th Australasian Conference, ACISP 2019, Christchurch, New Zealand, 3–5 July 2019; Proceedings 24. Springer: Berlin/Heidelberg, Germany, 2019; pp. 39–57. [Google Scholar]
  23. Ming, Y.; Wang, E. Identity-based encryption with filtered equality test for smart city applications. Sensors 2019, 19, 3046. [Google Scholar] [CrossRef]
  24. Susilo, W.; Duong, D.H.; Le, H.Q. Efficient post-quantum identity-based encryption with equality test. In Proceedings of the 2020 IEEE 26th International Conference on Parallel and Distributed Systems (ICPADS), Hong Kong, 2–4 December 2020; pp. 633–640. [Google Scholar]
  25. Alornyo, S.; Zhao, Y.; Zhu, G.; Xiong, H. Identity Based Key-Insulated Encryption with Outsourced Equality Test. Int. J. Netw. Secur. 2020, 22, 257–264. [Google Scholar]
  26. Ramadan, M.; Liao, Y.; Li, F.; Zhou, S.; Abdalla, H. IBEET-RSA: Identity-based encryption with equality test over RSA for wireless body area networks. Mob. Networks Appl. 2020, 25, 223–233. [Google Scholar] [CrossRef]
  27. Lin, X.J.; Wang, Q.; Sun, L.; Qu, H. Identity-based encryption with equality test and datestamp-based authorization mechanism. Theor. Comput. Sci. 2021, 861, 117–132. [Google Scholar] [CrossRef]
  28. Zhu, H.; Xue, Q.; Li, T.; Xie, D. Traceable Scheme of Public Key Encryption with Equality Test. Entropy 2022, 24, 309. [Google Scholar] [CrossRef]
  29. Al-Riyami, S.S.; Paterson, K.G. Certificateless public key cryptography. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Taipei, Taiwan, 30 November–4 December 2003; Springer: Berlin/Heidelberg, Germany, 2003; pp. 452–473. [Google Scholar]
  30. Qu, H.; Yan, Z.; Lin, X.J.; Zhang, Q.; Sun, L. Certificateless public key encryption with equality test. Inf. Sci. 2018, 462, 76–92. [Google Scholar] [CrossRef]
  31. Susilo, W.; Guo, F.; Zhao, Z.; Wu, G. PKE-MET: Public-key encryption with multi-ciphertext equality test in cloud computing. IEEE Trans. Cloud Comput. 2020, 10, 1476–1488. [Google Scholar] [CrossRef]
  32. Fujisaki, E.; Okamoto, T. Secure integration of asymmetric and symmetric encryption schemes. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 15–19 August 1999; Springer: Berlin/Heidelberg, Germany, 1999; pp. 537–554. [Google Scholar] [CrossRef]
  33. Fujisaki, E.; Okamoto, T. Secure integration of asymmetric and symmetric encryption schemes. J. Cryptol. 2013, 26, 80–101. [Google Scholar] [CrossRef]
  34. Boneh, D.; Boyen, X.; Shacham, H. Short group signatures. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 15–19 August 2004; Springer: Berlin/Heidelberg, Germany, 2004; pp. 41–55. [Google Scholar]
  35. Smart, N.P.; Vercauteren, F. On computable isomorphisms in efficient asymmetric pairing-based systems. Discret. Appl. Math. 2007, 155, 538–547. [Google Scholar] [CrossRef]
  36. Galbraith, S.D.; Paterson, K.G.; Smart, N.P. Pairings for cryptographers. Discret. Appl. Math. 2008, 156, 3113–3121. [Google Scholar] [CrossRef]
  37. Chatterjee, S.; Menezes, A. On cryptographic protocols employing asymmetric pairings—The role of Ψ revisited. Discret. Appl. Math. 2011, 159, 1311–1322. [Google Scholar] [CrossRef]
  38. Boneh, D.; Franklin, M. Identity-based encryption from the Weil pairing. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 19–23 August 2001; Springer: Berlin/Heidelberg, Germany, 2001; pp. 213–229. [Google Scholar]
  39. Boyen, X.; Mei, Q.; Waters, B. Direct chosen ciphertext security from identity-based techniques. In Proceedings of the 12th ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 7–11 November 2005; pp. 320–329. [Google Scholar]
  40. Zhao, M.; Ding, Y.; Tang, S.; Liang, H.; Yang, C.; Wang, H. Dual-server certificateless public key encryption with authorized equality test for outsourced IoT data. J. Inf. Secur. Appl. 2023, 73, 103441. [Google Scholar] [CrossRef]
Figure 2. Equality test of CLE-MET-PA.
Figure 2. Equality test of CLE-MET-PA.
Electronics 12 04326 g002
Figure 3. Iteration computation of { f j n } 0 j n 1 .
Figure 3. Iteration computation of { f j n } 0 j n 1 .
Electronics 12 04326 g003
Table 1. Key exchange protocol between the user and proxy.
Table 1. Key exchange protocol between the user and proxy.
Key Exchange Protocol
The user checks whether e ( X P , g 2 ) = e ( g ¯ , Y P ) and e ( Z P , g 2 ) = e ( g 1 , Y P ) holds,
if not, output ⊥ and abort.
User           H 2 ( I D ) x P         Proxy
The user checks whether e ( Z P , H 2 ( I D ) ) = e ( g 1 , H 2 ( I D ) x P ) holds, if not, abort and output ⊥.
Otherwise, the user outputs proxy information P I = H 2 ( I D ) x P ,
computes t k ^ = s k 2 · ( P I ) x = H 2 ( I D ) α x + x · x P .
User            t k ^            Proxy
The proxy receives the proxy token t k ^ without revealing x P and knowing part of s k .
Table 2. Comparison among several equality test schemes.
Table 2. Comparison among several equality test schemes.
Schemes[15][30][40][31]Ours
Enc6E+3H+2P5E+4H+4P2E+3H+3P ( s + 2 ) E+ ( s + 3 ) H ( s + 3 ) E+ ( s + 5 ) H+6P
Dec4E+3H+2P2E+4H+2P1E+2H+3P ( s + 1 ) E+ ( s + 2 ) H ( s 1 ) E+ ( s + 3 ) H+2P
Test ( s 1 ) (2E+4P) ( s 1 ) (2H+4P) ( s 1 ) (4H+4P)sE+ 2 s H+SE 2 s H+ ( s + j ) P+SE
| C T | 5 | G | + | Z p | 3 | G | + | Z p | + { 0 , 1 } λ 3 | G | + | Z p | 2 | G | + 5 | Z p | + { 0 , 1 } λ 3 | G | + 5 | Z p | + { 0 , 1 } λ
AntiKM×
AntiKE×
PA××××
E, H, P, and SE represent the computation cost of an exponential operation, hash operation, pairing operation, and solving an equation set, respectively. | Z p | , | G | represent the bit length of a group element in Z p , G , respectively. j: number of proxy tokens, (0 ≤ js). s: number of ciphertexts to be verified. AntiKM, AntiKE, and PA represent anti-key management feature, anti-key escrow feature and proxy-assisted authorization feature, respectively. The presence of a checkmark indicates that the feature has been included, while a cross indicates that the feature has not been included.
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

Dong, S.; Zhao, Z.; Wang, B.; Gao, W.; Zhang, S. Certificateless Encryption Supporting Multi-Ciphertext Equality Test with Proxy-Assisted Authorization. Electronics 2023, 12, 4326. https://doi.org/10.3390/electronics12204326

AMA Style

Dong S, Zhao Z, Wang B, Gao W, Zhang S. Certificateless Encryption Supporting Multi-Ciphertext Equality Test with Proxy-Assisted Authorization. Electronics. 2023; 12(20):4326. https://doi.org/10.3390/electronics12204326

Chicago/Turabian Style

Dong, Siyue, Zhen Zhao, Baocang Wang, Wen Gao, and Shanshan Zhang. 2023. "Certificateless Encryption Supporting Multi-Ciphertext Equality Test with Proxy-Assisted Authorization" Electronics 12, no. 20: 4326. https://doi.org/10.3390/electronics12204326

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