Next Article in Journal
Sufficient Networks for Computing Support of Graph Patterns
Previous Article in Journal
Dynamic Weights Based Risk Rule Generation Algorithm for Incremental Data of Customs Declarations
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Certificateless Public Key Authenticated Encryption with Keyword Search Achieving Stronger Security

1
College of Mathematics and Informatics, South China Agricultural University, Guangzhou 510642, China
2
School of Computing and Information Technology, University of Wollongong, Wollongong, NSW 2500, Australia
3
Department of Computing, Hong Kong Polytechnic University, Hong Kong 999077, China
4
Guangzhou Key Laboratory of Intelligent Agriculture, Guangzhou 510642, China
*
Author to whom correspondence should be addressed.
Information 2023, 14(3), 142; https://doi.org/10.3390/info14030142
Submission received: 18 January 2023 / Revised: 17 February 2023 / Accepted: 20 February 2023 / Published: 21 February 2023
(This article belongs to the Section Information Security and Privacy)

Abstract

:
Transforming data into ciphertexts and storing them in the cloud database is a secure way to simplify data management. Public key encryption with keyword search (PEKS) is an important cryptographic primitive as it provides the ability to search for the desired files among ciphertexts. As a variant of PEKS, certificateless public key authenticated encryption with keyword search (CLPAEKS) not only simplifies certificate management but also could resist keyword guessing attacks (KGA). In this paper, we analyze the security models of two recent CLPAEKS schemes and find that they ignore the threat that, upon capturing two trapdoors, the adversary could directly compare them and distinguish whether they are generated using the same keyword. To cope with this threat, we propose an improved security model and define the notion of strong trapdoor indistinguishability. We then propose a new CLPAEKS scheme and prove it to be secure under the improved security model based on the intractability of the DBDH problem and the DDH problem in the targeted bilinear group.

1. Introduction

Boneh et al. [1] first proposed the notion of public key encryption with keyword search (PEKS). As shown in Figure 1, the workflow of PEKS includes:
1.
The data sender uses the file’s keyword to generate the searchable ciphertext C and uploads it along with the encrypted file to the cloud server.
2.
The data receiver uses its desired keyword to generate the trapdoor t d and sends it to the cloud server.
3.
The cloud server runs an algorithm called Test to check whether C and t d contain the same keyword and returns the corresponding file to the receiver if it does. During the search, the cloud server is unable to know the keyword as well as the content of the file.
Figure 1. The general framework of PEKS.
Figure 1. The general framework of PEKS.
Information 14 00142 g001
PEKS could be applied to encrypted instant messaging apps. The client-side archive of chat logs may suffer from mistaken deletion and limited storage space. Therefore, some instant messaging apps (e.g., Google Talk and Yahoo Messenger 11 Beta) support saving chat logs on a server for future retrieval. Encrypting chat logs before uploading is a proactive defense against cyber attacks and data breaches. However, encryption destroys the original features of data and thus invalidates the traditional searching methods. Downloading and decrypting all chat logs before searching seems like a solution, but this process incurs unnecessary transmission overhead. As mentioned earlier, PEKS provides an efficient way for users to search for their desired files among encrypted chat logs.
Ideally, the distribution of keywords is assumed to be uniform, and the size of keywords space is assumed to be super-polynomial. However, in practice, the distribution of keywords may be uneven, and keywords space may be much smaller. Therefore, it may be feasible for the adversary to guess the keyword of a file by launching keyword guessing attacks (KGA) [2,3]. As shown in Figure 2, upon capturing the trapdoor, the adversary guesses the keyword w concealed in the trapdoor t d by encrypting every possible keyword and running Test algorithm. There are two types of KGA: the first type is outside KGA, launched by anyone other than the cloud server; the second type is inside KGA, launched by the cloud server. A searchable encryption scheme that could resist KGA should simultaneously satisfy ciphertext indistinguishability and trapdoor indistinguishability [4].

1.1. Related Works

Song et al. [5] proposed a searchable symmetric encryption scheme. However, it suffers from problematic key distribution in symmetric key cryptography. To solve this problem, Boneh et al. [1] proposed public key encryption with keyword search (PEKS). However, the initial PEKS scheme [1] is vulnerable to KGA [2,3]. Rhee et al. [4] first formally defined trapdoor indistinguishability and proved that trapdoor indistinguishability is a necessary condition for a PEKS scheme to be secure against KGA. They also proposed a designated-tester PEKS (dPEKS) scheme that could resist outside KGA. Later, some improved dPEKS schemes [6,7] were proposed, but none of them could resist inside KGA.
To resist both outside and inside KGA, Wang and Tu [8] proposed a PEKS scheme based on a dual-server setting. However, their scheme is still vulnerable inside KGA if two servers collude. Huang and Li [9] proposed the first public key authenticated encryption with keyword search (PAEKS) scheme, which is similar to s i g n c r p y t i o n [10]. In PAEKS, the sender’s secret key is involved in the ciphertext generation. As a result, the cloud server cannot launch inside KGA successfully unless it obtains either the sender’s secret key or the receiver’s secret key. Later, some PAEKS schemes with stronger ciphertext indistinguishability were proposed [11,12]. Pan and Li [13] proposed a PAEKS scheme with stronger trapdoor indistinguishability. However, their scheme cannot provide stronger ciphertext indistinguishability [14].
The aforementioned schemes are based on public key infrastructure and thus suffer from complicated certificate management. To solve this problem, Abdalla et al. [15] proposed the notion of identity-based encryption with keyword search (IBEKS), which integrates search function into identity-based encryption [16]. Li et al. [17] proposed the first IBEKS scheme that could resist both outside and inside KGA.
To solve the key escrow problem in IBEKS, Peng et al. [18] proposed the first searchable encryption scheme based on certificateless public key cryptography [19]. However, Peng et al.’s scheme are vulnerable to both outside and inside KGA. Therefore, some certificates PAEKS (CLPAEKS) schemes [20,21,22] were proposed. Pakniat et al. [23] analyzed the flaws of the security models defined in [20,21,22] and proposed an improved security model. They also presented a new CLPAEKS scheme with provable security in the proposed security model. Shiraly et al. [24] proposed an efficient CLPAEKS scheme that gets rid of the time-consuming Hash-To-Point [25] computation and bilinear pairing [16] computation.

1.2. Motivation and Contribution

We notice that in Pakniat et al.’s work [23] and Shiraly et al.’s work [24], in the games that formally define trapdoor indistinguishability, the adversary cannot query ( I D s , I D r , w i ) to trapdoor oracle, in which I D s is the challenge sender, I D r is the challenge receiver, and w i ( i { 0 , 1 } ) is the challenge keyword.
However, in practice, the same keyword may be used for different searches. As a result, the trapdoor corresponding to ( I D s , I D r , w i ) may appear repeatedly. For privacy protection, it would be necessary to prevent the adversary from successfully determining whether two trapdoors are generated using the same keyword. Therefore, it is necessary to get rid of the aforementioned limitation when defining trapdoor indistinguishability.
Following are the contributions we make in this paper:
1.
We propose an improved security model, in which the notion of strong trapdoor indistinguishability is defined.
2.
We propose a new CLPAEKS scheme and prove it to be secure under the improved security model based on the intractability of the DBDH problem and the DDH problem in the targeted bilinear group.

2. Preliminaries

Suppose that A is a probabilistic-polynomial-time (PPT) adversary, G 1 and G T are cyclic groups with the same prime order p.

2.1. Bilinear Pairing

A bilinear pairing e ^ : G 1 × G 1 G T has the following features:
  • Bilinearity: For any ( φ 1 , φ 2 ) G 1 2 and any ( η 1 , η 2 ) Z p 2 , e ^ ( φ 1 η 1 , φ 2 η 2 ) = e ^ ( φ 1 , φ 2 ) η 1 · η 2 .
  • Non-degeneracy: Suppose that φ is a generator of G 1 , e ^ ( φ , φ ) 1 .
  • Computability: For any ( φ 1 , φ 2 ) G 1 2 , e ^ ( φ 1 , φ 2 ) can be computed in polynomial time.

2.2. Decisional Diffie–Hellman (DDH) Assumption in G T

Given ( φ t , φ t η 1 , φ t η 2 , Z ) G T 4 , in which φ t is a generator of G T , ( η 1 , η 2 ) Z p 2 . A ’s aim is to determine whether Z = φ t η 1 · η 2 or Z = φ t r , in which r is randomly selected from Z p . The DDH assumption in G T holds if A ’s advantage
Adv A D D H = | Pr [ A ( φ t , φ t η 1 , φ t η 2 , φ t η 1 · η 2 ) = 1 ] Pr [ A ( φ t , φ t η 1 , φ t η 2 , φ t r ) = 1 ] |
is negligible.

2.3. Decisional Bilinear Diffie–Hellman (DBDH) Assumption

Given ( φ , φ η 1 , φ η 2 , φ η 3 ) G 1 4 and Z G T , in which ( η 1 , η 2 , η 3 ) Z p 3 . A ’s aim is to determine whether Z = e ^ ( φ , φ ) η 1 · η 2 · η 3 or Z = e ^ ( φ , φ ) r , in which r is randomly selected from Z p . The DBDH assumption holds if A ’s advantage
Adv A D B D H = | Pr [ A ( φ , φ η 1 , φ η 2 , φ η 3 , e ^ ( φ , φ ) η 1 · η 2 · η 3 ) = 1 ]
Pr [ A ( φ , φ η 1 , φ η 2 , φ η 3 , e ^ ( φ , φ ) r ) = 1 ] |
is negligible.

3. Definition of CLPAEKS

3.1. System Model

The following three types of entities are involved in our CLPAEKS scheme.
  • Key generation center (KGC): KGC generates the master secret key, the public parameters, and every user’s partial secret key.
  • Users: Include the sender and the receiver, which have been introduced in Section 1. Every user randomly selects a secret value and then generates its secret key using its partial secret key and the secret value.
  • Cloud Server: It is a semi-trusted party managing the encrypted cloud database and responding to search requests.

3.2. Algorithms

The frequently used symbols are defined in Table 1. Our CLPAEKS scheme consists of the following algorithms.
1.
Setup ( λ ) : Run by KGC.
  • Input: λ .
  • Output: m s k and p p .
2.
Extract Partial Secret Key ( p p , m s k , I D i ) : Run by KGC.
  • Input: p p , m s k , and I D i .
  • Output: p s k i .
3.
Extract Secret Value ( p p , I D i ) : Run by the user I D i .
  • Input: p p , I D i .
  • Output: x i .
4.
Extract Secret Key ( p p , p s k i , x i ) : Run by the user I D i .
  • Input: p p , p s k i , x i .
  • Output: s k i .
5.
Extract Public Key ( p p , x i ) : Run by the user I D i .
  • Input: p p , x i .
  • Output: p k i .
6.
CLPAEKS ( p p , I D s , s k s , I D r , p k r , w ) : Run by the sender I D s .
  • Input: p p , I D s , s k s , I D r , p k r , and a keyword w.
  • Output: C.
7.
Trapdoor ( p p , I D s , p k s , I D r , s k r , w ) : Run by the receiver I D r .
  • Input: p p , I D s , p k s , I D r , s k r , w.
  • Output: t d .
8.
Test ( C , t d ) : Run by the cloud server.
  • Input: C = CLPAEKS ( p p , I D s , s k s , I D r , p k r , w ) and t d = Trapdoor ( p p , I D s , p k s , I D r , s k r , w ) .
  • Output: 1 will be output if w = w , and 0 otherwise.

3.3. Security Model

The following two types of PPT adversaries are considered:
  • Type-1 adversary: Denote this type of adversary with A 1 . A 1 can replace any user’s public key but cannot get the master secret key.
  • Type-2 adversary: Denote this type of adversary with A 2 . A 2 can get the master secret key but cannot replace any user’s public key.
We consider two security properties, ciphertext indistinguishability and trapdoor indistinguishability. Since there are two types of adversaries in certificateless cryptosystems, we define the semantic security of CLPAEKS via four games. In Game G 1 and Game G 2 , we formally define ciphertext indistinguishability in the same way as [23,24]. In Game G 3 and Game G 4 , we formally define a stronger version of trapdoor indistinguishability. Different from [23,24], the adversary against trapdoor indistinguishability could freely access the trapdoor oracle in the games, which makes our definition of trapdoor indistinguishability stronger.

3.3.1. Game G 1

1.
Setup: The challenger C sends p p to A 1 .
2.
Phase 1: A 1 is allowed to access the following oracles.
  • O p k ( I D i ) : Given I D i , C returns p k i .
  • O p s k ( I D i ) : Given I D i , C returns p s k i .
  • O s k ( I D i ) : Given I D i , C returns s k i . I D i cannot occur in O s k if I D i ’s public key has been replaced.
  • O r p k ( I D i , p k i ) : Given I D i and a new public key p k i , C replaces p k i with p k i .
  • O C L P A E K S ( I D s , I D r , w ) : Given I D s , I D r and w, C returns C CLPAEKS ( p p , I D s , s k s , I D r , p k r , w ) .
  • O T ( I D s , I D r , w ) : Given I D s , I D r and w, C returns t d Trapdoor ( p p , I D s , p k s , I D r , s k r , w ) .
3.
Challenge: A 1 selects I D s * , I D r * , and two keywords ( w 0 * , w 1 * ) for the challenge, with the following restrictions: (1) Neither I D s * nor I D r * has been submitted to O p s k ; (2) Neither I D s * nor I D r * has been submitted to O s k ; (3) Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) has been submitted to O T . C randomly selects b 0 , 1 and sends C * CLPAEKS ( p p , I D s * , s k s * , I D r * , p k r * , w b * ) to A 1 .
4.
Phase 2: A 1 is allowed to access the oracles as in Phase 1, with the following restrictions:
  • Neither I D s * nor I D r * can be submitted to O p s k .
  • Neither I D s * nor I D r * can be submitted to O s k .
  • Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) can be submitted to O T .
5.
Guess: A 1 submits b { 0 , 1 } . If b = b , A 1 wins the game. A 1 ’s advantage is defined as
Adv A 1 C T I N D C K A = P r [ b = b ] 1 2 .
Definition 1.
Our scheme satisfies ciphertext indistinguishability under adaptive chosen-keyword attacks (CT-IND-CKA) against Type-1 adversary if Adv A 1 C T I N D C K A is negligible.

3.3.2. Game G 2

1.
Setup: The challenger C sends p p and m s k to A 2 .
2.
Phase 1: A 2 can is allowed to access the following oracles.
  • O p k ( I D i ) : Same as O p k in Game G 1 .
  • O p s k ( I D i ) : Same as O p s k in Game G 1 .
  • O s k ( I D i ) : Given I D i , C returns s k i .
  • O C L P A E K S ( I D s , I D r , w ) : Same as O C L P A E K S in Game G 1 .
  • O T ( I D s , I D r , w ) : Same as O T in Game G 1 .
3.
Challenge: A 2 selects I D s * , I D r * , and two keywords ( w 0 * , w 1 * ) for challenge, with the following restrictions: (1) Neither I D s * nor I D r * has been submitted to O s k ; (2) Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) has been submitted to O T . C randomly selects b 0 , 1 and sends C * CLPAEKS ( p p , I D s * , s k s * , I D r * , p k r * , w b * ) to A 2 .
4.
Phase 2: A 2 is allowed to access the oracles as in Phase 1, with the following restrictions:
  • Neither I D s * nor I D r * can be submitted to O s k .
  • Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) can be submitted to O T .
5.
Guess: A 2 submits b { 0 , 1 } . If b = b , A 2 wins the game. A 2 ’s advantage is defined as
Adv A 2 C T I N D C K A = P r [ b = b ] 1 2 .
Definition 2.
Our scheme satisfies CT-IND-CKA against Type-2 adversary if Adv A 2 C T I N D C K A is negligible.

3.3.3. Game G 3

1.
Setup: The challenger C sends p p to A 1 .
2.
Phase 1: Same as Phase 1 in Game G 1 .
3.
Challenge: A 1 selects I D s * , I D r * , and two keywords ( w 0 * , w 1 * ) for the challenge, with the following restrictions: (1) Neither I D s * nor I D r * has been submitted to O p s k ; (2) Neither I D s * nor I D r * has been submitted to O s k ; (3) Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) has been submitted to O C L P A E K S . C randomly selects b 0 , 1 and sends t d * Trapdoor ( p p , I D s * , p k s * , I D r * , s k r * , w b * ) to A 1 .
4.
Phase 2: A 1 is allowed to access the oracles as in Phase 1, with the following restrictions:
  • Neither I D s * nor I D r * can be submitted to O p s k .
  • Neither I D s * nor I D r * can be submitted to O s k .
  • Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) can be submitted to O C L P A E K S .
5.
Guess: A 1 submits b { 0 , 1 } . If b = b , A 1 wins the game. A 1 ’s advantage is defined as
Adv A 1 S T D I N D C K A = P r [ b = b ] 1 2 .
Definition 3.
Our scheme satisfies strong trapdoor indistinguishability under adaptive chosen-keyword attacks (S-TD-IND-CKA) against Type-1 adversary if Adv A 1 S T D I N D C K A is negligible.

3.3.4. Game G 4

1.
Setup: The challenger C sends p p and m s k to A 2 .
2.
Phase 1: Same as Phase 1 in Game G 2 .
3.
Challenge: A 2 selects I D s * , I D r * , and two keywords ( w 0 * , w 1 * ) for the challenge, with the following restrictions: (1) Neither I D s * nor I D r * has been submitted to O s k ; (2) Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) has been submitted to O C L P A E K S . C randomly selects b 0 , 1 and sends t d * Trapdoor ( p p , I D s * , p k s * , I D r * , s k r * , w b * ) to A 2 .
4.
Phase 2: A 2 is allowed to access the oracles as in Phase 1, with the following restrictions:
  • Neither I D s * nor I D r * can be submitted to O s k .
  • Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) can be submitted to O C L P A E K S .
5.
Guess: A 2 submits b { 0 , 1 } . If b = b , A 2 wins the game. A 2 ’s advantage is defined as
Adv A 2 S T D I N D C K A = P r [ b = b ] 1 2 .
Definition 4.
Our scheme satisfies S-TD-IND-CKA against Type-2 adversary if Adv A 2 S T D I N D C K A is negligible.

4. The Proposed CLPAEKS Scheme

The frequently used symbols have been defined in Table 1. Following are the details of our CLPAEKS scheme.
1.
Setup ( λ ) : Run by KGC.
  • Input: Security parameter λ .
  • Select two cyclic groups G 1 and G T with the same prime order p > 2 λ and a bilinear pairing e ^ : G 1 × G 1 G T . Randomly select two generators g G 1 and g t G T .
  • Define 3 collision-resistant hash functions:
    H 1 : { 0 , 1 } * G 1 . It takes the user’s identity as input.
    H 2 : { 0 , 1 } * G 1 . It takes the keyword as input.
    H 3 : { 0 , 1 } * × { 0 , 1 } * × G T Z p .
  • Randomly select y Z p . Set master secret key m s k = y and master public key m p k = g y .
  • Output: p p = { p , G 1 , G T , e ^ , g , g t , H 1 , H 2 , H 3 , m p k } .
2.
Extract Partial Secret Key ( p p , m s k , I D i ) : Run by KGC.
  • Input: p p , m s k , and a user’s identity I D i .
  • Output: I D i ’s partial secret key p s k i = H 1 ( I D i ) y .
3.
Extract Secret Value ( p p , I D i ) : Run by the user I D i .
  • Input: p p , I D i .
  • Output: I D i ’s secret value x i , which is randomly selected from Z p .
4.
Extract Secret Key ( p p , p s k i , x i ) : Run by the user I D i .
  • Input: p p , p s k i , x i .
  • Output: I D i ’s secret key s k i = ( s k i , 1 , s k i , 2 ) = ( x i , p s k i ) .
5.
Extract Public Key ( p p , x i ) : Run by the user I D i .
  • Input: p p , x i .
  • Output: I D i ’s public key p k i = g t x i .
6.
CLPAEKS ( p p , I D s , s k s , I D r , p k r , w ) : Run by the sender I D s .
  • Input: p p , I D s , s k s = ( s k s , 1 , s k s , 2 ) = ( x s , H 1 ( I D s ) y ) , I D r , p k r = g t x r , and a keyword w.
  • Randomly select α Z p .
  • Compute C = ( c 1 , c 2 , c 3 ) :
    c 1 = e ^ ( g , H 2 ( w ) ) α · k , c 2 = g α , c 3 = g α k ,
    in which
    k = H 3 ( I D s I D r p k r s k s , 1 · e ^ ( s k s , 2 , H 1 ( I D r ) ) ) = H 3 ( I D s I D r g t x s · x r · e ^ ( H 1 ( I D s ) , H 1 ( I D r ) ) y ) .
  • Output: C = ( c 1 , c 2 , c 3 ) .
7.
Trapdoor ( p p , I D s , p k s , I D r , s k r , w ) : Run by the receiver I D r .
  • Input: p p , I D s , p k s = g t x s , I D r , s k r = ( s k r , 1 , s k r , 2 ) = ( x r , H 1 ( I D r ) y ) , and a keyword w.
  • Randomly select ( β , γ ) Z p 2 .
  • Compute t d = ( t d 1 , t d 2 , t d 3 ) :
    t d 1 = H 2 ( w ) β + γ k , t d 2 = H 2 ( w ) k 3 β γ , t d 3 = β k + k β ,
    in which
    k = H 3 ( I D s I D r p k s s k r , 1 · e ^ ( s k r , 2 , H 1 ( I D s ) ) ) = H 3 ( I D s I D r g t x s · x r · e ^ ( H 1 ( I D s ) , H 1 ( I D r ) ) y ) .
  • Output: t d = ( t d 1 , t d 2 , t d 3 ) .
8.
Test ( C , t d ) : Run by the cloud server.
  • Input: C = ( c 1 , c 2 , c 3 ) and t d = ( t d 1 , t d 2 , t d 3 ) .
  • Output: Check whether
    c 1 t d 3 = e ^ ( c 2 , t d 1 ) · e ^ ( c 3 , t d 2 )
    holds, if it holds then output 1, and 0 otherwise.

5. Security Analysis

5.1. CT-IND-CKA against Type-1 Adversary

Theorem 1.
Our scheme satisfies CT-IND-CKA against Type-1 adversary in the random oracle model if the DBDH assumption holds.
Proof. 
Suppose that Adv A 1 C T I N D C K A = ϵ . Given a DBDH instance ( G 1 , G T , e ^ , g , g η 1 , g η 2 , g η 3 , Z ) . Denoted by ζ = 0 that Z = e ^ ( g , g ) η 1 · η 2 · η 3 , and by ζ = 1 that Z is random. In the following, we construct a simulator B that runs A 1 as a subroutine to correctly guess the value of ζ .
1.
Setup: B sets m p k = g η 1 , implying that m s k = η 1 , in which η 1 is unknown to B . Then sends p p to A 1 .
2.
Phase 1: A 1 is allowed to access the following oracles.
  • O H 1 ( I D i ) : Suppose that there are q H 1 distinct queries to O H 1 . B randomly selects ( i * , j * ) { 1 , · · · , q H 1 } as its guess of the identities selected by A 1 for challenge. For I D i :
    If i = i * , B adds { I D i * , , g η 2 } to list L H 1 and returns g η 2 to A 1 .
    If i = j * , B adds { I D j * , , g η 3 } to list L H 1 and returns g η 3 to A 1 .
    Otherwise, B randomly selects h 1 , i Z p , adds I D i , h 1 , i , g h 1 , i to list L H 1 , and returns g h 1 , i to A 1 .
    If the repeated queries are submitted, the answer that already exists in L H 1 will be returned.
  • O H 2 : Given w 0 , 1 * , B randomly selects h 2 G 1 , adds w , h 2 to list L H 2 , and returns h 2 . If the repeated queries are submitted, the answer that already exists in L H 2 will be returned.
  • O H 3 : Given ( u 1 , u 2 , u 3 ) { 0 , 1 } * × { 0 , 1 } * × G T . B randomly selects h 3 Z p , adds u 1 , u 2 , u 3 , h 3 to list L H 3 , and returns h 3 . If the repeated queries are submitted, the answer that already exists in L H 3 will be returned.
  • O p k ( I D i ) : B randomly selects x i Z p , then:
    If i i * i j * , B calls O H 1 ( I D i ) , retrieves I D i , h 1 , i , g h 1 , i from L H 1 , sets
    p k i = g t x i , p s k i = g η 1 · h 1 , i ,
    adds { I D i , p k i , p s k i , x i } to list L k e y , and returns p k i .
    Otherwise, B calls O H 1 ( I D i ) and sets
    p k i = g t x i ,
    adds { I D i , p k i , , x i } to list L k e y , and returns p k i .
    If the repeated queries are submitted, the answer that already exists in L k e y will be returned.
  • O p s k ( I D i ) :
    If i = i * i = j * , B aborts.
    Otherwise, B calls O p k ( I D i ) , retrieves { I D i , p k i , p s k i , x i } from L k e y , and returns p s k i .
  • O s k ( I D i ) :
    If i = i * i = j * , B aborts.
    Otherwise, B calls O p k ( I D i ) , retrieves { I D i , p k i , p s k i , x i } from L k e y , and returns s k i = ( p s k i , x i ) .
    I D i cannot occur in O s k if I D i ’s public key has been replaced.
  • O r p k ( I D i , p k i ) : B calls O p k ( I D i ) and replaces { I D i , p k i , p s k i , x i } with { I D i , p k i , p s k i , } .
  • O C L P A E K S ( I D s , I D r , w ) : B randomly selects α Z p and returns C = ( c 1 , c 2 , c 3 ) :
    c 1 = e ^ ( g , H 2 ( w ) ) α · k , c 2 = g α , c 3 = g α k ,
    in which k is different based on the following cases.
    If s = i * r = j * , k = H 3 ( I D i * I D j * g t x i * · x j * · Z ) .
    If s = j * r = i * , k = H 3 ( I D j * I D i * g t x i * · x j * · Z ) .
    Otherwise, it means that ( s i * s j * ) ( r i * r j * ) .
    ∗ 
    If s i * s j * , B retrieves I D s , h 1 , s , g h 1 , s from L H 1 and computes k = H 3 ( I D s I D r g t x s · x r · e ^ ( g η 1 , H 1 ( I D r ) ) h 1 , s ) .
    ∗ 
    Otherwise, B retrieves I D r , h 1 , r , g h 1 , r from L H 1 and computes k = H 3 ( I D s I D r g t x s · x r · e ^ ( g η 1 , H 1 ( I D s ) ) h 1 , r ) .
  • O T ( I D s , I D r , w ) : B randomly selects ( β , γ ) Z p 2 and returns t d = ( t d 1 , t d 2 , t d 3 ) :
    t d 1 = H 2 ( w ) β + γ k , t d 2 = H 2 ( w ) k 3 β γ , t d 3 = β k + k β ,
    in which k is different based on the following cases.
    If s = i * r = j * , k = H 3 ( I D i * I D j * g t x i * · x j * · Z ) .
    If s = j * r = i * , k = H 3 ( I D j * I D i * g t x i * · x j * · Z ) .
    Otherwise, it means that ( s i * s j * ) ( r i * r j * ) .
    ∗ 
    If s i * s j * , B retrieves I D s , h 1 , s , g h 1 , s from L H 1 and computes k = H 3 ( I D s I D r g t x s · x r · e ^ ( g η 1 , H 1 ( I D r ) ) h 1 , s ) .
    ∗ 
    Otherwise, B retrieves I D r , h 1 , r , g h 1 , r from L H 1 and computes k = H 3 ( I D s I D r g t x s · x r · e ^ ( g η 1 , H 1 ( I D s ) ) h 1 , r ) .
3.
Challenge: A 1 selects I D s * , I D r * , and two keywords ( w 0 * , w 1 * ) for the challenge, with the following restrictions: (1) Neither I D s * nor I D r * has been submitted to O p s k ; (2) Neither I D s * nor I D r * has been submitted to O s k ; (3) Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) has been submitted to O T . If ¬ ( s * = i * r * = j * ) ¬ ( s * = j * r * = i * ) , B aborts and randomly returns ζ { 0 , 1 } . Otherwise, B randomly selects b 0 , 1 and sends C * = ( c 1 * , c 2 * , c 3 * ) to A 1 , in which
α * Z p , k * = H 3 ( I D s * I D r * g t x s * · x r * · Z ) ,
c 1 * = e ^ ( g , H 2 ( w b * ) ) α * · k * , c 2 = g α * , c 3 = g α * k * .
4.
Phase 2: A 1 is allowed to access the oracles as in Phase 1, with the following restrictions:
  • Neither I D s * nor I D r * can be submitted to O p s k .
  • Neither I D s * nor I D r * can be submitted to O s k .
  • Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) can be submitted to O T .
5.
Guess: A 1 submits b . If b = b , A 1 wins, and B returns ζ = 0 . Otherwise, A 1 loses, and B returns ζ = 1 .
If ζ = 0 , B perfectly simulates Section 3.3.1, and A 1 ’s probability of winning is ϵ + 1 / 2 . Otherwise, C * is independent of w b * , and A 1 ’s probability of winning is 1 / 2 . B aborts and randomly returns ζ { 0 , 1 } if its guess of the identities selected by A 1 for challenge is wrong. Denote B ’s abortion with a b t , we have
Pr [ ζ = ζ | a b t ] = 1 2 ,
Pr [ ζ = ζ | a b t ¯ ] = ( ϵ + 1 2 ) · 1 2 + 1 2 · 1 2 = ϵ 2 + 1 2 ,
Pr [ a b t ¯ ] 1 C q H 1 2 = 2 q H 1 ( q H 1 1 ) .
B ’s advantage in solving the DBDH problem is
Adv D B D H = Pr [ ζ = ζ ] 1 2 = Pr [ ζ = ζ a b t ¯ ] + Pr [ ζ = ζ a b t ] 1 2 = Pr [ ζ = ζ | a b t ¯ ] · Pr [ a b t ¯ ] + Pr [ ζ = ζ | a b t ] · Pr [ a b t ] 1 2 = ( ϵ 2 + 1 2 ) · Pr [ a b t ¯ ] + 1 2 · ( 1 Pr [ a b t ¯ ] ) 1 2 = ϵ 2 · Pr [ a b t ¯ ] ϵ q H 1 ( q H 1 1 ) .
ϵ is negligible due to the intractability of the DBDH problem. This completes the proof. □

5.2. CT-IND-CKA against Type-2 Adversary

Theorem 2.
Our scheme satisfies CT-IND-CKA against Type-2 adversary in the random oracle model if the DDH assumption in G T holds.
Proof. 
Suppose that Adv A 2 C T I N D C K A = ϵ . Given a DDH instance ( g t , g t η 1 , g t η 2 , Z ) G T 4 . Denoted by ζ = 0 that Z = g t η 1 · η 2 , and by ζ = 1 that Z is random. In the following, we construct a simulator B that runs A 2 as a subroutine to correctly guess the value of ζ .
1.
Setup: B sends p p and m s k = y to A 2 .
2.
Phase 1: A 2 is allowed to access the following oracles:
  • O H 1 ( I D i ) : B randomly selects h 1 , i Z p , adds I D i , h 1 , i , g h 1 , i to list L H 1 , and returns g h 1 , i . If the repeated queries are submitted, the answer that already exists in L H 1 will be returned. Suppose that there are q H 1 distinct queries to O H 1 . B randomly selects ( i * , j * ) { 1 , · · · , q H 1 } as its guess of the identities selected by A 1 for challenge.
  • O H 2 : Same as O H 2 in the proof of Theorem 1.
  • O H 3 : Same as O H 3 in the proof of Theorem 1.
  • O p k ( I D i ) : B calls O H 1 ( I D i ) and retrieves I D i , h 1 , i , g h 1 , i from L H 1 , then:
    If i = i * , B sets
    p k i = g t η 1 , p s k i = g y · h 1 , i ,
    adds { I D i , p k i , p s k i , } to list L k e y , and returns p k i to A 2 .
    If i = j * , B sets
    p k i = g t η 2 , p s k i = g y · h 1 , i ,
    adds { I D i , p k i , p s k i , } to list L k e y , and returns p k i to A 2 .
    Otherwise, B randomly selects x i Z p , sets
    p k i = g t x i , p s k i = g y · h 1 , i ,
    adds { I D i , p k i , p s k i , x i } to list L k e y , and returns p k i to A 2 .
    If the repeated queries are submitted, the answer that already exists in L k e y will be returned.
  • O p s k ( I D i ) : B calls O p k ( I D i ) , retrieves { I D i , p k i , p s k i , x i } from L k e y , and returns p s k i to A 2 .
  • O s k ( I D i ) :
    If i = i * i = j * , B aborts.
    Otherwise, B calls O p k ( I D i ) , retrieves { I D i , p k i , p s k i , x i } from L k e y , and returns s k i = ( p s k i , x i ) .
  • O C L P A E K S ( I D s , I D r , w ) : B randomly selects α Z p and returns C = ( c 1 , c 2 , c 3 ) :
    c 1 = e ^ ( g , H 2 ( w ) ) α · k , c 2 = g α , c 3 = g α k ,
    in which k is different based on the following cases.
    If s = i * r = j * , k = H 3 ( I D i * I D j * Z · e ^ ( H 1 ( I D i * ) , H 1 ( I D j * ) ) y ) .
    If s = j * r = i * , k = H 3 ( I D j * I D i * Z · e ^ ( H 1 ( I D i * ) , H 1 ( I D j * ) ) y ) .
    Otherwise, it means that ( s i * s j * ) ( r i * r j * ) .
    ∗ 
    If s i * s j * , B retrieves { I D s , p k s , p s k s , x s } from L k e y and computes k = H 3 ( I D s I D r p k r x s · e ^ ( H 1 ( I D s ) , H 1 ( I D r ) ) y ) .
    ∗ 
    Otherwise, B retrieves { I D r , p k r , p s k r , x r } from L k e y and computes k = H 3 ( I D s I D r p k s x r · e ^ ( H 1 ( I D s ) , H 1 ( I D r ) ) y ) .
  • O T ( I D s , I D r , w ) : B randomly selects ( β , γ ) Z p 2 and returns t d = ( t d 1 , t d 2 , t d 3 ) :
    t d 1 = H 2 ( w ) β + γ k , t d 2 = H 2 ( w ) k 3 β γ , t d 3 = β k + k β ,
    in which k is different based on the following cases.
    If s = i * r = j * , k = H 3 ( I D i * I D j * Z · e ^ ( H 1 ( I D i * ) , H 1 ( I D j * ) ) y ) .
    If s = j * r = i * , k = H 3 ( I D j * I D i * Z · e ^ ( H 1 ( I D i * ) , H 1 ( I D j * ) ) y ) .
    Otherwise, it means that ( s i * s j * ) ( r i * r j * ) .
    ∗ 
    If s i * s j * , B retrieves { I D s , p k s , p s k s , x s } from L k e y and computes k = H 3 ( I D s I D r p k r x s · e ^ ( H 1 ( I D s ) , H 1 ( I D r ) ) y ) .
    ∗ 
    Otherwise, B retrieves { I D r , p k r , p s k r , x r } from L k e y and computes k = H 3 ( I D s I D r p k s x r · e ^ ( H 1 ( I D s ) , H 1 ( I D r ) ) y ) .
3.
Challenge: A 2 selects I D s * , I D r * , and two keywords ( w 0 * , w 1 * ) for the challenge, with the following restrictions: (1) Neither I D s * nor I D r * has been submitted to O s k ; (2) Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) has been submitted to O T . If ¬ ( s * = i * r * = j * ) ¬ ( s * = j * r * = i * ) , B aborts and randomly returns ζ { 0 , 1 } . Otherwise, B randomly selects b 0 , 1 and sends C * = ( c 1 * , c 2 * , c 3 * ) to A 2 , in which
α * Z p , k * = H 3 ( I D s * I D r * Z · e ^ ( H 1 ( I D s * ) , H 1 ( I D r * ) ) y ) ,
c 1 * = e ^ ( g , H 2 ( w b * ) ) α * · k * , c 2 = g α * , c 3 = g α * k * .
4.
Phase 2: A 2 is allowed to access the oracles as in Phase 1, with the following restrictions:
  • Neither I D s * nor I D r * can be submitted to O s k .
  • Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) can be submitted to O T .
5.
Guess: A 2 submits b . If b = b , A 2 wins, and B returns ζ = 0 . If b b , A 2 loses, and B returns ζ = 1 .
If ζ = 0 , B perfectly simulates Section 3.3.2, and A 2 ’s probability of winning is ϵ + 1 / 2 . Otherwise, C * is independent of w b * , and A 2 ’s probability of winning is 1 / 2 . B aborts and randomly returns ζ { 0 , 1 } if its guess of the identities selected by A 2 for challenge is wrong. Denote B ’s abortion with a b t , we have
Pr [ ζ = ζ | a b t ] = 1 2 ,
Pr [ ζ = ζ | a b t ¯ ] = ( ϵ + 1 2 ) · 1 2 + 1 2 · 1 2 = ϵ 2 + 1 2 ,
Pr [ a b t ¯ ] 1 C q H 1 2 = 2 q H 1 ( q H 1 1 ) .
B ’s advantage in solving the DDH problem in G T is
Adv D D H = Pr [ ζ = ζ ] 1 2 = Pr [ ζ = ζ a b t ¯ ] + Pr [ ζ = ζ a b t ] 1 2 = Pr [ ζ = ζ | a b t ¯ ] · Pr [ a b t ¯ ] + Pr [ ζ = ζ | a b t ] · Pr [ a b t ] 1 2 = ( ϵ 2 + 1 2 ) · Pr [ a b t ¯ ] + 1 2 · ( 1 Pr [ a b t ¯ ] ) 1 2 = ϵ 2 · Pr [ a b t ¯ ] ϵ q H 1 ( q H 1 1 ) .
ϵ is negligible due to the intractability of the DDH problem in G T . This completes the proof. □

5.3. S-TD-IND-CKA against Type-1 Adversary

Theorem 3.
Our scheme satisfies S-TD-IND-CKA against Type-1 adversary in the random oracle model if the DBDH assumption holds.
Proof. 
Suppose that Adv A 1 S T D I N D C K A = ϵ . Given a DBDH instance ( G 1 , G T , e ^ , g , g η 1 , g η 2 , g η 3 , Z ) . Denoted by ζ = 0 that Z = e ^ ( g , g ) η 1 · η 2 · η 3 , and by ζ = 1 that Z is random. In the following, we construct a simulator B that runs A 1 as a subroutine to correctly guess the value of ζ .
1.
Setup: B sets m p k = g η 1 , implying that m s k = η 1 , in which η 1 is unknown to B . Then sends p p to A 1 .
2.
Phase 1: Same as Phase 1 in the proof of Theorem 1.
3.
Challenge: A 1 selects I D s * , I D r * , and two keywords ( w 0 * , w 1 * ) for the challenge, with the following restrictions: (1) Neither I D s * nor I D r * has been submitted to O p s k ; (2) Neither I D s * nor I D r * has been submitted to O s k ; (3) Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) has been submitted to O C L P A E K S . If ¬ ( s * = i * r * = j * ) ¬ ( s * = j * r * = i * ) , B aborts and randomly returns ζ { 0 , 1 } . Otherwise, B randomly selects b 0 , 1 and sends t d * = ( t d 1 * , t d 2 * , t d 3 * ) to A 1 , in which
( β * , γ * ) Z p 2 , k * = H 3 ( I D s * I D r * g t x s * · x r * · Z ) ,
t d 1 * = H 2 ( w b * ) β * + γ * k * , t d 2 * = H 2 ( w b * ) ( k * ) 3 β * γ * , t d 3 * = β * k * + k * β * .
4.
Phase 2: A 1 is allowed to access the oracles as in Phase 1, with the following restrictions:
  • Neither I D s * nor I D r * can be submitted to O p s k .
  • Neither I D s * nor I D r * can be submitted to O s k .
  • Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) can be submitted to O C L P A E K S .
5.
Guess: A 1 submits b . If b = b , A 1 wins, and B returns ζ = 0 . Otherwise, A 1 loses, and B returns ζ = 1 .
If ζ = 0 , B perfectly simulates Section 3.3.3, and A 1 ’s probability of winning is ϵ + 1 / 2 . Otherwise, t d * is independent of w b * , and A 1 ’s probability of winning is 1 / 2 . B aborts and randomly returns ζ { 0 , 1 } if its guess of the identities selected by A 1 for challenge is wrong. Denote B ’s abortion with a b t , we have
Pr [ ζ = ζ | a b t ] = 1 2 ,
Pr [ ζ = ζ | a b t ¯ ] = ( ϵ + 1 2 ) · 1 2 + 1 2 · 1 2 = ϵ 2 + 1 2 ,
Pr [ a b t ¯ ] 1 C q H 1 2 = 2 q H 1 ( q H 1 1 ) .
B ’s advantage in solving the DBDH problem is
Adv D B D H = Pr [ ζ = ζ ] 1 2 = Pr [ ζ = ζ a b t ¯ ] + Pr [ ζ = ζ a b t ] 1 2 = Pr [ ζ = ζ | a b t ¯ ] · Pr [ a b t ¯ ] + Pr [ ζ = ζ | a b t ] · Pr [ a b t ] 1 2 = ( ϵ 2 + 1 2 ) · Pr [ a b t ¯ ] + 1 2 · ( 1 Pr [ a b t ¯ ] ) 1 2 = ϵ 2 · Pr [ a b t ¯ ] ϵ q H 1 ( q H 1 1 ) .
ϵ is negligible due to the intractability of the DDH problem. This completes the proof. □

5.4. S-TD-IND-CKA against Type-2 Adversary

Theorem 4.
Our scheme satisfies S-TD-IND-CKA against Type-2 adversary in the random oracle model if the DDH assumption in G T holds.
Proof. 
Suppose that Adv A 2 S T D I N D C K A = ϵ . Given a DDH instance ( g t , g t η 1 , g t η 2 , Z ) G T 4 . Denoted by ζ = 0 that Z = g t η 1 · η 2 , and by ζ = 1 that Z is random. In the following, we construct a simulator B that runs A 2 as a subroutine to correctly guess the value of ζ .
1.
Setup: B sends p p and m s k = y to A 2 .
2.
Phase 1: Same as Phase 1 in the proof of Theorem 2.
3.
Challenge: A 2 selects I D s * , I D r * , and two keywords ( w 0 * , w 1 * ) for the challenge, with the following restrictions: (1) Neither I D s * nor I D r * has been submitted to O s k ; (2) Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) has been submitted to O C L P A E K S . If ¬ ( s * = i * r * = j * ) ¬ ( s * = j * r * = i * ) , B aborts and randomly returns ζ { 0 , 1 } . Otherwise, B randomly selects b 0 , 1 and sends t d * = ( t d 1 * , t d 2 * , t d 3 * ) to A 2 , in which
( β * , γ * ) Z p 2 , k * = H 3 ( I D s * I D r * Z · e ^ ( H 1 ( I D s * ) , H 1 ( I D r * ) ) y ) ,
t d 1 * = H 2 ( w b * ) β * + γ * k * , t d 2 * = H 2 ( w b * ) ( k * ) 3 β * γ * , t d 3 * = β * k * + k * β * .
4.
Phase 2: A 2 is allowed to access the oracles as in Phase 1, with the following restrictions:
  • Neither I D s * nor I D r * can be submitted to O s k .
  • Neither ( I D s * , I D r * , w 0 * ) nor ( I D s * , I D r * , w 1 * ) can be submitted to O C L P A E K S .
5.
Guess: A 2 submits b . If b = b , A 2 wins, and B returns ζ = 0 . If b b , A 2 loses, and B returns ζ = 1 .
If ζ = 0 , B perfectly simulates Section 3.3.4, and A 2 ’s probability of winning is ϵ + 1 / 2 . Otherwise, t d * is independent of w b * , and A 2 ’s probability of winning is 1 / 2 . B aborts and randomly returns ζ { 0 , 1 } if its guess of the identities selected by A 2 for challenge is wrong. Denote B ’s abortion with a b t , we have
Pr [ ζ = ζ | a b t ] = 1 2 ,
Pr [ ζ = ζ | a b t ¯ ] = ( ϵ + 1 2 ) · 1 2 + 1 2 · 1 2 = ϵ 2 + 1 2 ,
Pr [ a b t ¯ ] 1 C q H 1 2 = 2 q H 1 ( q H 1 1 ) .
B ’s advantage in solving the DDH problem in G T is
Adv D D H = Pr [ ζ = ζ ] 1 2 = Pr [ ζ = ζ a b t ¯ ] + Pr [ ζ = ζ a b t ] 1 2 = Pr [ ζ = ζ | a b t ¯ ] · Pr [ a b t ¯ ] + Pr [ ζ = ζ | a b t ] · Pr [ a b t ] 1 2 = ( ϵ 2 + 1 2 ) · Pr [ a b t ¯ ] + 1 2 · ( 1 Pr [ a b t ¯ ] ) 1 2 = ϵ 2 · Pr [ a b t ¯ ] ϵ q H 1 ( q H 1 1 ) .
ϵ is negligible due to the intractability of the DDH problem in G T . This completes the proof. □

6. Performance Evaluation and Discussion

We compare our scheme with two related schemes [23,24]. The comparison includes storage overhead, computation overhead, and security. For simplicity, we only consider the following time-consuming operations:
  • E: An exponentiation operation in G .
  • E 1 : An exponentiation operation in G 1 .
  • E T : An exponentiation operation in G T .
  • P: A bilinear pairing operation.
  • H: A Hash-To-Point operation.
The comparison of storage overhead, computation overhead, and security is shown in Table 2, Table 3 and Table 4, respectively. Our scheme has higher storage and computation overhead. However, our scheme achieves stronger security. Besides, in practice, users may not need to encrypt all files but only a small part of files that contain sensitive information. Therefore, we consider that the storage and computation overhead paid for stronger security is affordable.

7. Conclusions and Future Works

In this paper, we proposed an improved security model, in which a stronger version of trapdoor indistinguishability is defined. Then we proposed a new CLPAEKS scheme, which differs from the existing CLPAEKS schemes mainly in that the trapdoor is generated using two random elements in Z p . As far as we know, this is the first CLPAEKS scheme with provable security under the improved security model.
In the future, we will try to extend our scheme to make it support multi-receiver settings in order to cope with the scenario of group chat. Besides, considering that a file may contain multiple keywords, it would be valuable to extend our scheme to make it support multi-keyword settings. Furthermore, as quantum computing is emerging, traditional intractable problems, e.g., discrete logarithm problems, could be solved with a powerful quantum computer. Some quantum-safe cryptographic primitives were proposed (e.g., lattice-based cryptography, code-based cryptography, multivariate-based cryptography, and hash-based cryptography). Among the mentioned candidates, lattice-based cryptography is an attractive choice because it offers provable security and a good trade-off between efficiency and security [26,27,28]. Therefore, it is advisable to design a lattice-based CLPAEKS scheme to resist quantum computing attacks.

Author Contributions

Conceptualization, J.L., H.L., J.H. and Q.H.; methodology, J.L., H.L. and J.H.; writing—original draft preparation, J.L.; writing—review and editing, Q.H., S.M. and M.H.A.A.; supervision, Q.H., S.M. and M.H.A.A.; project administration, Q.H. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by National Natural Science Foundation of China (No. 62272174, 61872152), Major Program of Guangdong Basic and Applied Research (No. 2019B030302008), Science and Technology Program of Guangzhou (No. 201902010081).

Data Availability Statement

No new data were created or analyzed in this study. Data sharing is not applicable to this article.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
PEKSPublic key encryption with keyword search
CLPAEKSCertificateless public key authenticated encryption with keyword search
KGAKeyword guessing attacks
DDHDecisional Diffie–Hellman (assumption)
DBDHDecisional Bilinear Diffie–Hellman (assumption)
GBDHGap Bilinear Diffie–Hellman (assumption)
CDHComputational Diffie–Hellman (assumption)
GDHGap Diffie–Hellman (assumption)
IBEKSIdentity-based encryption with keyword search
PPTProbabilistic polynomial time
KGCKey generation center
CT-IND-CKACiphertext indistinguishability under adaptive chosen-keyword attacks
S-TD-IND-CKAStrong trapdoor indistinguishability under adaptive chosen-keyword attacks
ROMRandom oracle model

References

  1. Boneh, D.; Crescenzo, G.D.; 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; Springer: Berlin/Heidelberg, Germany, 2004; pp. 506–522. [Google Scholar]
  2. Byun, J.W.; Rhee, H.S.; Park, H.; Lee, D.H. Off-Line Keyword Guessing Attacks on Recent Keyword Search Schemes over Encrypted Data. In Proceedings of the Secure Data Management, Third VLDB Workshop, Seoul, Korea, 10–11 September 2006; Springer: Berlin/Heidelberg, Germany, 2006; pp. 75–83. [Google Scholar]
  3. Yau, W.; Heng, S.; Goi, B. Off-Line Keyword Guessing Attacks on Recent Public Key Encryption with Keyword Search Schemes. In Proceedings of the Autonomic and Trusted Computing, 5th International Conference, Oslo, Norway, 23–25 June 2008; Springer: Berlin/Heidelberg, Germany, 2008; pp. 100–105. [Google Scholar]
  4. Rhee, H.S.; Park, J.H.; Susilo, W.; Lee, D.H. Trapdoor security in a searchable public-key encryption scheme with a designated tester. J. Syst. Softw. 2010, 83, 763–771. [Google Scholar] [CrossRef]
  5. Song, D.X.; Wagner, D.A.; Perrig, A. Practical Techniques for Searches on Encrypted Data. In Proceedings of the 2000 IEEE Symposium on Security and Privacy, Berkeley, CA, USA, 14–17 May 2000; IEEE Computer Society: Washington, DC, USA; Los Alamitos, CA, USA, 2000; pp. 44–55. [Google Scholar]
  6. Rhee, H.S.; Park, J.H.; Lee, D.H. Generic construction of designated tester public-key encryption with keyword search. Inf. Sci. 2012, 205, 93–109. [Google Scholar] [CrossRef]
  7. Fang, L.; Susilo, W.; Ge, C.; Wang, J. Public key encryption with keyword search secure against keyword guessing attacks without random oracle. Inf. Sci. 2013, 238, 221–241. [Google Scholar] [CrossRef] [Green Version]
  8. Wang, C.h.; Tu, T.y. Keyword search encryption scheme resistant against keyword-guessing attack by the untrusted server. J. Shanghai Jiaotong Univ. Sci. 2014, 19, 440–442. [Google Scholar] [CrossRef]
  9. Huang, Q.; Li, H. An efficient public-key searchable encryption scheme secure against inside keyword guessing attacks. Inf. Sci. 2017, 403, 1–14. [Google Scholar] [CrossRef]
  10. Zheng, Y. Digital Signcryption or How to Achieve Cost(Signature & Encryption) << Cost(Signature) + Cost(Encryption). In Proceedings of the Advances in Cryptology—CRYPTO 1997, 17th Annual International Cryptology Conference, Santa Barbara, CA, USA, 17–21 August 1997; Springer: Berlin/Heidelberg, Germany, 1997; pp. 165–179. [Google Scholar]
  11. Noroozi, M.; Eslami, Z. Public key authenticated encryption with keyword search: Revisited. IET Inf. Secur. 2019, 13, 336–342. [Google Scholar] [CrossRef]
  12. Qin, B.; Chen, Y.; Huang, Q.; Liu, X.; Zheng, D. Public-key authenticated encryption with keyword search revisited: Security model and constructions. Inf. Sci. 2020, 516, 515–528. [Google Scholar] [CrossRef]
  13. Pan, X.; Li, F. Public-key authenticated encryption with keyword search achieving both multi-ciphertext and multi-trapdoor indistinguishability. J. Syst. Archit. 2021, 115, 102075. [Google Scholar] [CrossRef]
  14. Cheng, L.; Meng, F. Security analysis of Pan et al.’s “Public-key authenticated encryption with keyword search achieving both multi-ciphertext and multi-trapdoor indistinguishability”. J. Syst. Archit. 2021, 119, 102248. [Google Scholar] [CrossRef]
  15. Abdalla, M.; Bellare, M.; Catalano, D.; Kiltz, E.; Kohno, T.; Lange, T.; Malone-Lee, J.; Neven, G.; Paillier, P.; Shi, H. Searchable Encryption Revisited: Consistency Properties, Relation to Anonymous IBE, and Extensions. In Proceedings of the Advances in Cryptology—CRYPTO 2005, 25th Annual International Cryptology Conference, Santa Barbara, CA, USA, 14–18 August 2005; Springer: Berlin/Heidelberg, Germany, 2005; pp. 205–222. [Google Scholar]
  16. Boneh, D.; Franklin, M.K. Identity-Based Encryption from the Weil Pairing. In Proceedings of the Advances in Cryptology—CRYPTO 2001, 21st Annual International Cryptology Conference, Santa Barbara, CA, USA, 19–23 August 2001; Springer: Berlin/Heidelberg, Germany, 2001; pp. 213–229. [Google Scholar]
  17. Li, H.; Huang, Q.; Shen, J.; Yang, G.; Susilo, W. Designated-server identity-based authenticated encryption with keyword search for encrypted emails. Inf. Sci. 2019, 481, 330–343. [Google Scholar] [CrossRef]
  18. Yanguo, P.; Jiangtao, C.; Changgen, P.; Zuobin, Y. Certificateless public key encryption with keyword search. China Commun. 2014, 11, 100–113. [Google Scholar] [CrossRef]
  19. Al-Riyami, S.S.; Paterson, K.G. Certificateless Public Key Cryptography. In Proceedings of the Advances in Cryptology—ASIACRYPT 2003, 9th 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]
  20. He, D.; Ma, M.; Zeadally, S.; Kumar, N.; Liang, K. Certificateless Public Key Authenticated Encryption With Keyword Search for Industrial Internet of Things. IEEE Trans. Ind. Inform. 2018, 14, 3618–3627. [Google Scholar] [CrossRef]
  21. Wu, L.; Zhang, Y.; Ma, M.; Kumar, N.; He, D. Certificateless searchable public key authenticated encryption with designated tester for cloud-assisted medical Internet of Things. Ann. Telecommun. 2019, 74, 423–434. [Google Scholar] [CrossRef]
  22. Liu, X.; Li, H.; Yang, G.; Susilo, W.; Tonien, J.; Huang, Q. Towards Enhanced Security for Certificateless Public-Key Authenticated Encryption with Keyword Search. In Proceedings of the Provable Security—13th International Conference, Cairns, Australia, 1–4 October 2019; Springer: Berlin/Heidelberg, Germany, 2019; pp. 113–129. [Google Scholar]
  23. Pakniat, N.; Shiraly, D.; Eslami, Z. Certificateless authenticated encryption with keyword search: Enhanced security model and a concrete construction for industrial IoT. J. Inf. Secur. Appl. 2020, 53, 102525. [Google Scholar] [CrossRef]
  24. Shiraly, D.; Pakniat, N.; Noroozi, M.; Eslami, Z. Pairing-free certificateless authenticated encryption with keyword search. J. Syst. Archit. 2022, 124, 102390. [Google Scholar] [CrossRef]
  25. Icart, T. How to Hash into Elliptic Curves. In Proceedings of the Advances in Cryptology—CRYPTO 2009, 29th Annual International Cryptology Conference, Santa Barbara, CA, USA, 16–20 August 2009; Springer: Berlin/Heidelberg, Germany, 2009; pp. 303–316. [Google Scholar]
  26. Ni, Z.; Kundi, D.; O’Neill, M.; Liu, W. A High-Performance SIKE Hardware Accelerator. IEEE Trans. Very Large Scale Integr. Syst. 2022, 30, 803–815. [Google Scholar] [CrossRef]
  27. Bisheh-Niasar, M.; Azarderakhsh, R.; Kermani, M.M. High-Speed NTT-based Polynomial Multiplication Accelerator for CRYSTALS-Kyber Post-Quantum Cryptography. IACR Cryptol. EPrint Arch. 2021, 2021, 563. [Google Scholar]
  28. Tian, J.; Wu, B.; Wang, Z. High-Speed FPGA Implementation of SIKE Based on an Ultra-Low-Latency Modular Multiplier. IEEE Trans. Circuits Syst. I Regul. Pap. 2021, 68, 3719–3731. [Google Scholar] [CrossRef]
Figure 2. Keyword guessing attacks.
Figure 2. Keyword guessing attacks.
Information 14 00142 g002
Table 1. Notations.
Table 1. Notations.
SymbolsMeaning
λ Security parameter
p p Public parameters
m s k Master secret key
I D i A user’s identity
p s k i , x i , s k i , p k i I D i ’s partial secret key, secret value, secret key, and public key, respectively
I D s , p k s , s k s A sender’s identity, public key, and secret key, respectively
I D r , p k r , s k r A receiver’s identity, public key, and secret key, respectively
CSearchable ciphertext
t d Trapdoor
Table 2. Storage overhead comparison.
Table 2. Storage overhead comparison.
Pakniat et al.’s [23]Shiraly et al.’s [24]Ours
| C | 2 | G 1 | 2 | G | 2 | G 1 | + 1 | G T |
| t d | 1 | Z p | 1 | Z p | 2 | G 1 | + 1 Z p
| C | , | t d | : Size of the ciphertext and the trapdoor, respectively; | G | , | G 1 | , | G T | , | Z p | : Size of an element in G , G 1 , G T , and Z p , respectively.
Table 3. Computation overhead comparison.
Table 3. Computation overhead comparison.
Pakniat et al.’s [23]Shiraly et al.’s [24]Ours
Ciphertext generation 3 E 1 + P + H 5 E 2 E 1 + 2 E T + 2 P + 2 H
Trapdoor generation E 1 + P + H 3 E 2 E 1 + E T + P + 2 H
Test E 1 E E T + 2 P
Table 4. Security comparison.
Table 4. Security comparison.
Pakniat et al.’s [23]Shiraly et al.’s [24]Ours
CT-INDyesyesyes
S-TD-INDnonoyes
ModelROMROMROM
AssumptionGBDH & CDHGDHDBDH & DDH
CT-IND: Ciphertext indistinguishability; S-TD-IND: Strong trapdoor indistinguishability; ROM: Random oracle model.
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

Lu, J.; Li, H.; Huang, J.; Ma, S.; Au, M.H.A.; Huang, Q. Certificateless Public Key Authenticated Encryption with Keyword Search Achieving Stronger Security. Information 2023, 14, 142. https://doi.org/10.3390/info14030142

AMA Style

Lu J, Li H, Huang J, Ma S, Au MHA, Huang Q. Certificateless Public Key Authenticated Encryption with Keyword Search Achieving Stronger Security. Information. 2023; 14(3):142. https://doi.org/10.3390/info14030142

Chicago/Turabian Style

Lu, Jingwei, Hongbo Li, Jianye Huang, Sha Ma, Man Ho Allen Au, and Qiong Huang. 2023. "Certificateless Public Key Authenticated Encryption with Keyword Search Achieving Stronger Security" Information 14, no. 3: 142. https://doi.org/10.3390/info14030142

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