Next Article in Journal
A Grid-Based Genetic Approach to Solving the Vehicle Routing Problem with Time Windows
Previous Article in Journal
Mineralogical and Geochemical Constraints of the REE Accumulation in the Almásfüzitő Red Mud Depository in Northwest Hungary
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Efficient Conjunctive Keywords Search over Encrypted E-Mail Data in Public Key Setting

1
School of Computer and Information Technology, Xinyang Normal University, Xinyang 464000, China
2
Department of Computer Science, Wayne State University, 42 W Warren Ave, Detroit, MI 48202, USA
*
Author to whom correspondence should be addressed.
Submission received: 31 July 2019 / Revised: 26 August 2019 / Accepted: 30 August 2019 / Published: 4 September 2019
(This article belongs to the Section Electrical, Electronics and Communications Engineering)

Abstract

:
Searchable public key encryption supporting conjunctive keywords search (SPE-CKS) enables data users to retrieve the encrypted data of interest from an untrusted server. Based on SPE-CKS, one can realize a multi-keywords search over the encrypted e-mails. In this paper, we propose an efficient SPE-CKS scheme by utilizing a keyword conversion method and the bilinear map technique. Our scheme is proven to be secure against chosen keyword attack under a standard security definition and can also withstand the keywords guessing attack. Furthermore, we design an experiment over a real world e-mail dataset to illustrate that our scheme has a better performance on time and space complexities than the previous schemes. A detailed analysis shows that our scheme is very practical for the encrypted e-mail system in the mobile cloud environment.

1. Introduction

Nowadays, with the rapid development of cloud computing technology, enterprises and individuals can obtain good e-mail services at lower costs. However, the events of leakage of sensitive e-mail data from the cloud server have occurred occasionally since e-mail data stored in the server is in plaintext. How to safely and effectively retrieve e-mail data from the cloud server is one of the concerns in the e-mail system. A straightforward solution is encrypting e-mails before outsourcing it to the cloud server. But the traditional encryption schemes disrupt the structure of the original data and then hinder users querying e-mails stored in the cloud server. To solve this problem, searchable encryption (SE) [1,2]—which can realize information retrieval over the encrypted data—is regarded as one of suitable techniques.
SE supporting keyword search can be built in symmetric key setting or public key setting. In symmetric key setting, authorized users sends encrypted documents and encrypted indexes to a server and retrieve documents containing certain keywords which they query by using a trapdoor without loss of data confidentiality. In this setting, the index and the trapdoor are constructed by using the same secret key. However, if one of the authorized users leaks the secret key, all authorized users’ data will be revealed. Thus, it is impractical in some applications, such as encrypted e-mail system (EES) [2] and wireless sensor networks (WSNs) [3]. For the EES system, there are three roles in an EES system, that is, data senders, data receiver and service provider. Under this scenario, any data senders use the searchable public key encryption (SPE) scheme to encrypt e-mails and send these encrypted e-mails to service provider. After that, data receiver performs a secure query to the e-mail service provider and the service provider executes query operations over the encrypted e-mails and returns e-mails associated to this query. The interactive process among these three roles is described in Figure 1. In this application scenario, the security requirements is summarized as follows: (1) any data senders can generate the encrypted e-mails; (2) only data receiver can perform data query and decrypt the encrypted e-mails; (3) anyone except the data receiver cannot obtain the contents of encrypted e-mails. According to these security requirements, we can find that SPE is very suitable for constructing a secure EES than searchable symmetric key encryption (SSE).
The first SPE scheme supporting keyword search was introduced by Boneh et al. [2]. But, this scheme only supports single keyword search. For supporting multi-keywords search, Part et al. first proposed a SPE supporting conjunctive keywords search scheme [4], which is called the public key encryption with conjunctive keywords search (PECK). After that, an efficient PECK scheme [5] was proposed to reduce the time and space cost. Note that these schemes all need keyword fields as compulsory information, which is not practical for many applications. For example, if documents which senders send to the server are scientific papers, each paper has its keyword list and the keywords in the list are arranged in the alphabetical order. So, the same keyword might occur in different positions of the keyword list for different papers. In this situation, schemes with fixed-position keyword fields are not suitable for a keywords search. To overcome this problem, Boneh and Waters introduced a public key encryption scheme called hidden vector encryption (HVE) which can support conjunctive keyword search without keyword field [6]. To achieve a better efficiency, a PECK scheme without keyword field was proposed in Reference [7]. In order to achieve advanced keywords search function, many SPE schemes which can support conjunctive or disjunctive keywords search have been proposed in recent years [8,9,10]. For the security concern, in order to withstand the keyword guessing attack launched by the outsider attacker and the malicious insider, the SPE scheme against the keyword guessing attack was given in Reference [11].
Our Work. Considering that SPE scheme supporting conjunctive keywords search (SPE-CKS) without keyword field has a good application in many scenarios, especially, for example, encrypted e-mail system, this paper is to construct an efficient and secure SPE-CKS scheme without the keyword field. More precisely, we make two types of contributions, improving both the efficiency and the security of the recent schemes of SPE-SMKS introduced in References [7,8,10]. These contributions are listed as follows.
(1)
Based on the keyword conversion method introduced in Reference [10], we create a novel keyword conversion method which can change the index and query keyword set into an attribute and a predicate vector, respectively. The dimension of vector generated by using our method is much less than that generated by adopting the previous method. Through applying the existing technique called bilinear map to encrypt the attribute and predicate vectors, our scheme achieves a better performance in time and space complexities than the previous schemes.
(2)
For security concern, we give a detailed proof to demonstrate that our scheme is secure against chosen keyword attack. Moreover, inspired by the idea introduced in Reference [11], through sharing a secret number between the senders and the receiver, our scheme can limit the capability of index building for adversaries. If the adversaries fail to generate the index, the adversaries cannot launch the keyword guessing attack. Compared with the previous schemes, our scheme can both defend against chosen keyword attack and keyword guessing attack.
Besides, we also design a detailed experiment based on a real-world e-mail dataset to show the advantage of our scheme.
Organization. This paper is organized as follows. Related work is discussed in Section 2. In Section 3, we define model of SPE-CKS and security model of SPE-CKS and also introduce some background related to our work. In Section 4, we introduce the keyword conversion method and the concrete SPE-CKS scheme. The security proof of our scheme is also given. In Section 5, we analyze the time and space complexities of our scheme and give a detailed experiment to verify the efficiency of our scheme. This paper concludes in Section 6.

2. Related Work

Searchable encryption supporting keyword search has been researched widely in recent years, which are grouped into two categories. One is searchable symmetric key encryption (SSE); the other is searchable public key encryption (SPE).
In symmetric key setting, Song et al. introduced the concept of search over encrypt data and gave an approach about it [1]. Goh defined the notion of security for searchable encryption and presented an effective scheme by using Bloom filter [12]. However, these works only provide a single keyword search. The concept of conjunctive keyword search on encrypted data in symmetric key setting was first proposed by Golle et al. [13]. In their paper, they also gave two constructions which are based on this concept. In comparing with Golle’s work, subsequent works [14,15] were trying to construct schemes which had much better performance in computational and communication cost. Considering that the practical scheme requires supporting multi-keyword search and returning the top-k search results, Cao et al. [16] constructed a multi-keyword rank search scheme over encrypted cloud data. After that, many SSE schemes supporting rank search were given in References [17,18], which achieve a better search performance.
In public key setting, Boneh et al. defined the concept of public key encryption with keyword search and gave one construction of importance which were related to the Identity-Based Encryption scheme proposed by Boneh and Frannklin [19]. Abdalla et al. defined the computational and statistical notion of PEKS and presented a new scheme that is statistically consistent [20]. However, their works only support a single keyword search in public key setting. The concept and security model of conjunctive keyword search over encrypted data in public key system were proposed in Reference [4] in which they also gave two PECK schemes. The first scheme needs lots of bilinear pairing computations and the second scheme needs private keys in proportion to the number of keywords. Then, Hwang and Lee designed a more efficient scheme on time and space complexities than the previous works and introduced a new concept called a multi-user PECK scheme which can effectively manage the encrypted documents in a server for a group of users [5]. The above PECK schemes all use keyword fields as an addition of information. In order to eliminate the keyword field, Boneh and Waters proposed a public key system that supports comparison queries(such as x a ) and conjunctive keywords queries [6]. To achieve a better performance on time and space complexities, Zhang and Zhang addressed this issue and proposed a more efficient PECK scheme without using keyword field [7]. For supporting disjunctions and polynomial equations, Katz et al. proposed a predicate encryption supporting inner product scheme (IPE) [21]. In their work, they also give a method for applying IPE scheme to realize conjunctive or disjunctive keywords search. To achieve a fully secure level, fully secure IPE scheme was proposed by Lewko et al. in Reference [22]. After this, an IPE scheme with less time and space cost was introduced in Reference [8]. In the past of few years, numerous efforts have been devoted to constructing a SPE scheme with advanced keywords search. Wang et al. described a new SPE scheme to support range search [23]. Zhang et al. achieved disjunctive and conjunctive keywords search over encrypted data [9,10]. Zhu et al. proposed a SPE scheme supporting fuzzy keyword search [24]. Byun et al. [15] firstly defined offline keyword guessing attack and showed that SPE schemes are insecure against keyword guessing attack. Jeong et al. [25] pointed that the consistency implies insecurity of a PEKS scheme against keyword guessing attack. Addressing this problem, two works [26,27] were constructed to defeat the offline keyword guessing attack. The first work using the method of registered keyword was given by Tang and Chen [27]. The second work given by Hyun et al. [26] can defeat keyword guessing attack since only the designated server can test which index is related with a given trapdoor by using the server’s private key. However, their schemes only against offline keyword guessing attacks by outsider attackers. After that, based on the scheme [28], Lu et al. proposed a SPE scheme which is secure against KG attacks by either outsider attackers or malicious insider servers [11].

3. Preliminaries

In this section, we give the model and security definition of SPE-CKS. In addition, we will briefly introduce some tools adopted in our scheme, including the bilinear map and the complexity assumptions.

3.1. Model of Spe-Cks

In SPE-CKS, there are three roles: e-mail sender, receiver and service provider (server). Let p k R and s k R be e-mail receiver’s public key and secret key and p k S and s k S be e-mail senders’ public key and secret key. An e-mail sender can send an encrypted e-mail M to a server with an encrypted index generated by using the keywords w 1 , w 2 , , w n of M and the keys p k R , p k S , s k S . When an e-mail receiver wants to query e-mails with keywords q 1 , q 2 , , q m where m n , the receiver generates a trapdoor by using these keywords and the keys p k R , p k S , s k R and then sends this trapdoor to the e-mail service provider. When the server receives the trapdoor, the server tests each secure index against the trapdoor and returns the matched e-mails to the receiver. From the above, we give the definition of the SPE-CKS model, which is regared as a variant of PECK model proposed in Reference [4].
Definition 1.
SPE-CKS consists of 5 probabilistic polynomial time (PPT) algorithms: K e y G e n R , K e y G e n S , IndexBuild, Trapdoor, Test. There are:
1.
K e y G e n R ( 1 n ): Given a security parameter 1 n , the algorithm is executed by the receiver and generates the a pair of key ( p k R , s k R ) , where p k R and s k R are the public and private key for the receiver, respectively.
2.
K e y G e n S ( 1 n ): This is a key generation algorithm for the data sender. The algorithm creates a pair of key ( p k S , s k S ) , where p k S and s k S are the public and private key for the sender, respectively.
3.
IndexBuild( p k S , s k S , p k R , W): The algorithm is executed by the sender to encrypt a keyword set W = { w 1 , w 2 , , w n } without keyword field. It produces a searchable index I W of W by using the keys p k S , s k S and p k R .
4.
Trapdoor( p k R , s k R , p k S , Q): The algorithm is executed by the receiver to construct a trapdoor. Given the keys p k R , s k R , p k S and the keyword query Q = { q 1 , q 2 , , q m } where m n , the algorithm generates a trapdoor T Q .
5.
Test( p k R , p k S , T Q , I W ): The algorithm is executed by the server to test the trapdoor T Q whether matches the index I W or not. It takes a trapdoor T Q , a secure index I W and the public keys p k S , p k R as input, then outputs 1 if Q W or 0 otherwise.
Correctness of SPE-CKS. Let W and Q be two keywords sets. ( p k R , s k R ) , ( p k S , s k S ) , I W and T Q are generated correctly by algorithms K e y G e n R ( 1 n ) , K e y G e n S ( 1 n ) , I n d e x B u i l d ( p k S , s k S , p k R , W) and T r a p d o o r ( p k R , s k R , p k S , Q), respectively. If Q W , the T e s t ( p k R , p k S , T Q , I W ) outputs 1. Otherwise, it outputs 1 with negligible probability.

3.2. Security Definition of Spe-Cks

To prove the security of the SPE-CKS scheme, we introduce a security game called indistinguishability of ciphertext from random against chosen keyword attacks (IND-CR-CKA) defined by Hwang and Lee [5]. IND-CR-CKA is a variant of security game called indistinguishability of ciphertext from ciphertext (ICC) defined by Golle et al. [13] for a symmetric key system. The essential of IND-CR-CKA of SPE-CKS is that the scheme should ensure that the encrypted indices of two challenge keyword sets cannot be distinguished by any adversaries.
The IND-CR-CKA game is as follows:
  • Setup: the challenger C runs the K e y G e n R ( 1 n ) and K e y G e n S ( 1 n ) algorithms to generate p k R , s k R , p k S and s k S and gives p k R and p k S to the attacker A .
  • Phase 1: the attacker A can adaptively ask the challenger C for the trapdoor T Q for any query Q of his choice. Moreover, A can adaptively ask C for the encrypted index for any keyword set of his choice.
  • Challenge: A selects a target keyword set W * and sends it to the C . C selects a random keyword set R. The restrictions are that the secure indices of W * and R have not been obtained in the previous phase and the trapdoor queried in previous phase can not distinguish W * from R. Then, C picks a random bit β { 0 , 1 } . Suppose that W 0 = W * and W 1 = R , C produces I β = I n d e x B u i l d ( p k R , s k S , p k S , W β ) and sends { I β , W 0 , W 1 } to A .
  • Phase 2: A can continue asking for trapdoor T Q and index I W for any query Q and keyword set W of his choice. The restrictions in this phase are the same as that in the challenge phase.
  • Response:the attacker A outputs β { 0 , 1 } and wins the game if β = β .
So, A ’s advantage can be expressed as a function of the security parameter ( 1 n ):
A d v A I N D C R C K A ( 1 n ) = | P r [ β = β ] 1 2 |
Based on the game above, the security definition is described as follows:
Definition 2.
We say that a SPE-CKS is IND-CR-CKA secure if for any PPT attacker A according to the game IND-CR-CKA, the function A d v A I N D C R C K A ( 1 n ) is negligible.
Jeong et al. [25] pointed that the consistency implies insecurity of a SPE scheme against keyword guessing attacks, since the public key in the tradition SPE scheme can be accessed by anyone and anyone can create the secure index. When trapdoors are obtained by attackers, attackers can run keyword guessing attack to guess the keywords contained in the indices and trapdoors. Inspired by the idea in Reference [11], by limiting the adversary’s ability to generate the index, our scheme can defend against the offline guessing attack.

3.3. Bilinear Map

The definition of the bilinear map was introduced in Reference [2]. Let G 1 , G 2 be two cyclic groups of lager prime order q. A bilinear pairings map e ^ : G 1 × G 1 G 2 can be defined, satisfying the following properties:
  • Bilinear: e ^ ( u a , v b ) = e ^ ( u , v ) a b , where u , v G 1 and a , b Z q * ;
  • Non-degenerate: e ^ does not send all pairs of points in G 1 × G 1 to the identity in G 2 . If g is a generator of G 1 then e ^ ( g , g ) is a generator of G 2 ;
  • Computable: There is an efficient algorithm to compute e ^ ( u , v ) , for any u , v G 1 .
A bilinear pairing map satisfying three properties above is reckoned as an admissible bilinear map. An efficient admissible bilinear map can be constructed by using the Weil pairing or the Tate pairing proposed in Reference [29] .

3.4. Complexity Assumption

We review two complexity assumptions related to bilinear map named Decision n-Bilinear Diffie-Hellman Inversion (D-n-BDHI) assumption proposed in Reference [30] and computational Diffie-Hellman (CDH) assumption introduced in Reference [31]. The security proof of our scheme is based on these two assumptions.
Decision n-Bilinear Diffie-Hellman Inversion Assumption [30]: An algorithm C which outputs b { 0 , 1 } has advantage ε in solving the D-n-BDHI assumption in G 1 if:
A d v C D n B D H I = | P r [ C ( P , x P , x 2 P , , x n P , e ^ ( p , p ) 1 x ) = 1 ] P r [ C ( P , x P , x 2 P , , x n P , R ) = 1 ] | ε
where the probability is over the random choice of x Z q * , the random choice of a generator P G 1 * , the random choice R G 2 * and random bits used by C .
Definition 3.
It can be said that the decision(t,n,ϵ) n-Bilinear Diffie-Hellman Inversion assumption holds in G 1 , if no t-time algorithm has advantage at least ϵ in solving the decision n-Bilinear Diffie-Hellman Inversion problem in G 1 .
Computational Diffie-Hellman (CDH) Assumption [31]: Consider a cyclic group G of a prime order q. The C D H assumption states that, for a randomly chosen generator g and the random integers a , b Z q * , given a tuple ( g , g a , g b ) , it is computationally intractable to compute the value g ( a b ) .

4. Proposed Spe-Cks Scheme

In this section, we first introduce a keyword conversion method which transforms the index and query keyword sets into the index and query vectors, respectively. Then, through encrypting these vector by adopting the bilinear pairs over a prime order group, a concrete SPE-CKS scheme will be proposed. Finally, a rigorous security proof is given to verify the security of the proposed SPE-CKS scheme.

4.1. Keyword Conversion Method

The keyword conversion method is similar with the one proposed by Zhang et al. [10]. Let ϕ be a random string, ϕ { 0 , 1 } * . Let a hash function H 1 be { 0 , 1 } * Z q * , which can map a keyword w { 0 , 1 } * to a integer. Let q be a large prime which is larger than the size of the dictionary. So, H 1 can be collision-resistance, which means that, if i j , then H 1 ( w i | ϕ ) H 1 ( w j | ϕ ) , where w i and w j are two distinct keywords and w i | ϕ means a concatenation operation over w i and ϕ . The details of this method is described as follows.
(1)
For an index keyword set W = { w 1 , w 2 , , w n } , the following function is given.
f ( x ) = ( x H 1 ( w 1 | ϕ ) ) ( x H 1 ( w 2 | ϕ ) ) ( x H 1 ( w n | ϕ ) ) = a n x n + a n 1 x n 1 + + a 0 x 0
The coefficients of the f ( x ) can be built as an index vector a = { a 0 , a 1 , , a n } .
(2)
For an query keyword set Q = { q 1 , q 2 , , q m } , a vector x = { x 0 , x 1 , , x n } can be obtained, where x i = H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i and i [ 0 , n ] .
Note that if there is Q W , it is easy to find that a · x = 0 . This property can be used for the keywords search. The concrete SPE-CKS scheme is given in the next subsection.

4.2. Construction

Based on the method described in Section 4.1, the index vector a and the query vector x are obtained by converting W and Q, respectively. Then, through encrypting a and x under two cyclic groups over a prime order, the encrypted index for W and the trapdoor for Q are built. By utilizing the bilinear pairing technique, the test algorithm tests whether Q is a subset of W. The concrete construction of SPE-CKS scheme is given as follows.
-
K e y G e n R ( 1 n ): Given a security parameter 1 n , the algorithm generates three cyclic groups G, G 1 , G 2 of prime order q and an admissible bilinear pairing e ^ : G 1 × G 1 G 2 and picks a random generator g 0 of G, a random generator g of G 1 and two hash functions H 1 : { 0 , 1 } * Z q * and H 2 : G 2 { 0 , 1 } l o g 2 q . e ^ , H 1 , H 2 and g are open to the public. Choosing n + 3 random numbers α 0 , α 1 , , α n , β , t Z q * , it outputs the public key p k R = { X 0 = g α 0 , X 1 = g α 1 , , X n = g α n , Y = g β , μ = e ^ ( g , g ) , g 0 , T = g 0 t } and the secret key s k R = { α 0 , α 1 , , α n , β , t } .
-
K e y G e n S ( 1 n , p k R ): Given a security parameter 1 n , the algorithm generates a hash function H 3 : G { 0 , 1 } * . Randomly choosing a number s Z q * , it outputs p k S = { S = g 0 s , H 3 } and s k S = { s } .
-
I n d e x B u i l d ( p k R , p k S , s k S , W): The algorithm first computes ϕ = H 3 ( T s ) = H 3 ( g ( t s ) ) . Then, given a keyword set W = { w 1 , w 2 , , w n } , the algorithm constructs a n-degree polynomial f ( x ) = a n x n + a n 1 x n 1 + + a 1 x + a 0 = ( x H 1 ( w 1 | ϕ ) ) ( x H 1 ( w 2 | ϕ ) ) ( x H 1 ( w n | ϕ ) ) by using the keyword conversion method mentioned in Section 4.1, where H 1 ( w 1 | ϕ ) , H 1 ( w 2 | ϕ ) , , H 1 ( w n | ϕ ) are n roots of the equation f ( x ) = 0 . Given a random numbers r and the coefficient of f ( x ) that is a n , a n 1 , , a 0 , it computes C i = X i r × g r a i = g r ( a i + α i ) for each i [ 0 , n ] by using p k R . Let C W = Y r = g r β and D W = H 2 ( μ r ) , the index of the keyword set W is: I W = ( C 0 , C 1 , , C n , C W , D W ) .
-
T r a p d o o r ( p k R , p k S , s k R , Q): The algorithm computes ϕ = H 3 ( S t ) = H 3 ( g ( t s ) ) . Given a keyword set Q = { q 1 , q 2 , , q m } , it selects a random number u Z q and computes T i = g H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i u β + j = 0 n α j ( H 1 ( q 1 | ϕ ) j + H 1 ( q 2 | ϕ ) j + + H 1 ( q m | ϕ ) j ) for each i [ 0 , n ] by using s k R . Let T = g u u β + j = 0 n α j ( H 1 ( q 1 | ϕ ) j + H 1 ( q 2 | ϕ ) j + + H 1 ( q m | ϕ ) j ) , the trapdoor for the keyword query Q is T Q = ( T 0 , T 1 , T n , T ) .
-
T e s t ( p k R , p k S , T Q , I W ): Given a trapdoor T Q = ( T 0 , T 1 , , T n , T ) and a secure index I W = ( C 0 , C 1 , , C n , C W , D W ) , the algorithm computes θ 1 = i = 0 n e ^ ( C i , T i ) , θ 2 = e ^ ( C W , T ) and tests if H 2 ( θ 1 × θ 2 ) = D W . If so, outputs 1; otherwise, outputs 0.
Correctness. For an index I W = ( C 0 , C 1 , , C n , C W , D W ) and a trapdoor T Q = ( T 0 , T 1 , T n , T ) , the computation process of e ^ ( C i , T i ) is as follows:
e ^ ( C i , T i ) = e ^ ( g r ( a i + α i ) , g H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i u β + j = 0 n α j ( H 1 ( q 1 | ϕ ) j + H 1 ( q 2 | ϕ ) j + + H 1 ( q m | ϕ ) j ) ) = e ^ ( g , g ) r a i ( H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i ) + r α i ( H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i ) u β + j = 0 n α j ( H 1 ( q 1 | ϕ ) j + H 1 ( q 2 | ϕ ) j + + H 1 ( q m | ϕ ) j )
According to the above, the result of θ 1 is:
θ 1 = i = 0 n e ^ ( C i , T i ) = i = 0 n e ^ ( g , g ) r a i ( H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i ) + r α i ( H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i ) u β + j = 0 n α j ( H 1 ( q 1 | ϕ ) j + H 1 ( q 2 | ϕ ) j + + H 1 ( q m | ϕ ) j ) = e ^ ( g , g ) r i = 0 n a i ( H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i ) + r i = 0 n α i ( H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i ) u β + j = 0 n α j ( H 1 ( q 1 | ϕ ) j + H 1 ( q 2 | ϕ ) j + + H 1 ( q m | ϕ ) j )
Moreover, the result of θ 2 is:
θ 2 = e ^ ( C W , T ) = e ^ ( g r β , g u u β + j = 0 n α j ( H 1 ( q 1 | ϕ ) j + H 1 ( q 2 | ϕ ) j + + H 1 ( q m | ϕ ) j ) ) = e ^ ( g , g ) r u β u β + j = 0 n α j ( H 1 ( q 1 | ϕ ) j + H 1 ( q 2 | ϕ ) j + + H 1 ( q m | ϕ ) j )
Then, the result of H 2 ( θ 1 × θ 2 ) is:
H 2 ( θ 1 × θ 2 ) = H 2 ( e ^ ( g , g ) r i = 0 n a i ( H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i ) + r i = 0 n α i ( H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i ) + r u β u β + j = 0 n α j ( H 1 ( q 1 | ϕ ) j + H 1 ( q 2 | ϕ ) j + + H 1 ( q m | ϕ ) j ) ) = e ^ ( g , g ) r i = 0 n a i ( H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i ) u β + j = 0 n α j ( H 1 ( q 1 | ϕ ) j + H 1 ( q 2 | ϕ ) j + + H 1 ( q m | ϕ ) j ) + r
Note that, according to the keyword conversion method introduced in Section 4.1, if Q W , it must be i = 0 n a i ( H 1 ( q 1 | ϕ ) i + H 1 ( q 2 | ϕ ) i + + H 1 ( q m | ϕ ) i ) = 0 , which means that H 2 ( θ 1 × θ 2 ) = H 2 ( e ^ ( g , g ) r ) = D W . Therefore, according the equations above, we can argue that our scheme is correct.

4.3. Security Proof

In this subsection, we will give a rigorous proof to show the security of the proposed scheme. The essential of the proof is that we will show the difficulty of breaking our scheme is the same as that of solving the assumption of ( q T + 1 ) -BDHI, according to the security game described in Section 3.2. The concrete proof is given as follows.
Theorem 1.
The scheme of SPE-CKS is secure according to IND-CR-CKA game if the decision ( q T + 1 ) -BDHI assumption is hard.
Proof. 
Suppose that an algorithm A has advantage ϵ in breaking the SPE-CKS under the security game IND-CR-CKA. Suppose that A makes at most q H 2 hash function queries to H 2 , at most q I secure index queries and at most q T trapdoor queries, we can build an algorithm C that solves the decision ( q T + 1 ) -BDHI assumption with probability at least ϵ = ϵ e n + m q T n , where e is base of natural logarithm, n and m are the number of keywords contained in an index and a trapdoor, respectively. Algorithm C ’s running time is approximately the same as A ’s. Let g be a generator of G 1 , given g , g x , g x 2 , , g x q T + 1 and R, the goal of algorithm C is to output 1 if R = e ^ ( g , g ) 1 x and 0 otherwise. Algorithm C simulating the challenger interacts with algorithm A simulating attacker as follows:
-
Setup: Algorithm C works as follows:
  • Algorithm C randomly chooses q T random numbers ρ 1 , ρ 2 , , ρ q T Z q * and computes f ( z ) = i = 1 q T ( z + ρ i ) = j = 0 q T c j z j .
  • C computes U = g f ( x ) = g j = 0 q T c j x j and V = g x f ( x ) = g j = 0 q T c j x j + 1 . Since f i ( z ) = 1 z + ρ i f ( z ) = j = 0 q T 1 d j z j , C gets U 1 x + ρ i = g f i ( x ) = g j = 0 q T 1 d j x j where i [ 1 , q T ] . Then C stores the pairs { ρ i , g f i ( x ) } in a list named S-list where i [ 1 , q T ] .
  • C computes f ( z ) c 0 z = j = 1 q T c j z j 1 and sets R U = e ^ ( g j = 1 q T c j x j 1 , g j = 0 q T c j x j + c 0 ) × R c 0 2 . Obviously, if R = e ^ ( g , g ) 1 x , then it has R U = e ^ ( g j = 1 q T c j x j 1 , g j = 0 q T c j x j + c 0 ) × R c 0 2 = e ^ ( g f ( x ) c 0 x , g f ( x ) + c 0 ) × e ^ ( g , g ) c 0 2 x = e ^ ( g , g ) f 2 ( x ) c 0 2 x × e ^ ( g , g ) c 0 2 x = e ^ ( g , g ) f 2 ( x ) x = e ^ ( U , U ) 1 x .
  • C randomly chooses 2 n + 3 numbers s 0 , s 1 , , s n , t 1 , , t n , η Z q * and computes f ( z ) = i = 1 n ( z t i ) = j = 0 n b j z j . Let Z = V η , C constructs X j = V s j U b j for each j [ 0 , n ] . C randomly chooses a g 0 G and a number t Z q * and then computes T = g 0 t . After that, C gives the public key p k R = { X 0 , X 1 , , X n , Z , μ = e ^ ( U , U ) , g 0 , T } to A . The corresponding private key s k R unknown to C is { s 0 x b 0 , s 1 x b 1 , , s n x b n , η x , t } .
  • C randomly chooses a number s Z q * and sets S = g 0 s . C generates a hash function H 3 : G { 0 , 1 } * . After that, C outputs p k S = { S , H 3 } and keeps s k S = { s } secret.
-
H 1 , H 2 queries: Algorithm A can query the random oracles H 1 or H 2 at any time. To respond to H 1 queries, algorithm C maintains a list of tuples ( w j , h j , σ j ) called H 1 list which is initially empty. C generates ϕ = H 3 ( T s ) = H 3 ( g ( t s ) ) by using the keys p k S , p k R , s k S . When A queries the random oracle H 1 at a point w i { 0 , 1 } * , algorithm C responds as follows:
H 1 queries:
  • If the query w i already appears on the H 1 -list in a tuple ( w i , h i , σ i ) , algorithm C responds with H 1 ( w i | ϕ ) = h i , where h i { 0 , 1 } l o g 2 q .
  • Otherwise, C generates a random coin σ i [ 1 , n q T ] so that P r [ 1 σ i n ] = 1 q T .
  • If 1 σ i n , C set h i = t σ i . Otherwise, C picks a random a i { 0 , 1 } l o g 2 q and sets h i = a i .
  • C adds the tuple ( w i , h i , σ i ) to the H 1 -list. C responds A with H 1 ( w i | ϕ ) = h i .
The H 2 queries is similar to H 1 queries. To respond to H 2 queries from A , algorithm C maintains a list of tuples ( φ j , ψ j ) called H 2 list which initially empty. When A queries the random oracle H 2 at a point φ i G 2 , algorithm C responds as follows:
H 2 queries:
  • If the query φ i already appears on the H 2 -list in a tuple ( φ i , ψ i ) , then algorithm C responds with H 2 ( φ i ) = ψ i , where ψ i { 0 , 1 } l o g 2 q .
  • Otherwise, C picks a random b i { 0 , 1 } l o g 2 q and sets ψ i = b i .
  • C adds the tuple ( φ i , ψ i ) to the H 2 -list and responds A with H 2 ( φ i ) = ψ i .
-
Index queries: For any keyword set W i = { w i 1 , w i 2 , , w i n } in which i [ 1 , q I ] , when A asks for the secure index of W i , C responds as follows:
  • C runs H 1 queries algorithm to obtain h i j such that h i j = H 1 ( w i j | ϕ ) where j [ 1 , n ] . Let ( w i j , h i j , σ i j ) be the corresponding tuples on the H 1 -list. If σ i j n for all j [ 1 , n ] , then C reports failure and terminates.
  • Otherwise, by using ( h i 1 , h i 2 , , h i n ) , C adopts the keyword conversion method in Section 4.1 to generate a vector a . Following the algorithm I n d e x B u i l d in Section 4.2, C generates the secure index I W by using p k R .
-
Trapdoor queries: When A issues a query for the trapdoor corresponding to the keyword query Q i = { q i 1 , q i 2 , , q i m } where i [ 1 , q T ] , algorithm C responds as follows:
  • Algorithm C runs H 1 queries algorithm to obtain h i j such that h i j = H 1 ( q i j | ϕ ) where j [ 1 , m ] . Let ( q i j , h i j , σ i j ) be the corresponding tuples on the H 1 -list. If σ i j n for all j [ 1 , m ] , then C reports failure and terminates.
  • Otherwise, by using ( h i 1 , h i 2 , , h i m ) and s k R , C constructs the trapdoor for query Q i . C computes: l i = 1 η + ρ i y = 0 n s y ( h i 1 y + h i 2 y + + h i m y ) η y = 0 n b y ( h i 1 y + h i 2 y + + h i m y ) and u i = y = 0 n b y ( h i 1 y + h i 2 y + + h i m y ) + ρ i y = 0 n s y ( h i 1 y + h i 2 y + + h i m y ) ρ i η , which are satisfied with the equality u i u i η x + y = 0 n ( s y x b y ) ( h i 1 y + h i 2 y + + h i m y ) = l i x + ρ i . Moreover, C constructs l i k = ( h i 1 k + h i 2 k + + h i m k ) ρ i y = 0 n b y ( h i 1 y + h i 2 y + + h i m y ) which is satisfied with the equality h i 1 k + h i 2 k + + h i m k u i η x + y = 0 n ( s y x b y ) ( h i 1 y + h i 2 y + + h i m y ) = l i k x + ρ i for each k [ 0 , n ] . Obviously, ( U l i 1 x + ρ i , U l i 2 x + ρ i , , U l i n x + ρ i , U l i x + ρ i ) is a trapdoor for keyword query Q i .
  • Through searching the S-list to obtain the tuple { ρ i , g f i ( x ) } , C sends ( g f i ( x ) l i 0 , g f i ( x ) l i 1 , , g f i ( x ) l i n , g f i ( x ) l i ) to A as the correct trapdoor for the query Q i .
-
Challenge: Algorithm A produces a target keyword set W * which it wants to challenge on and sends W * to C . Algorithm C chooses a random keyword set R and sets W 0 = W * = { w 01 , w 02 , , w 0 n } , W 1 = R = { w 11 , w 12 , , w 1 n } . The only restriction is that the trapdoor queried in previous phase can not distinguish W 0 from W 1 . Let ( w 0 i , h 0 i , σ 0 i ) be the corresponding tuples on the H 1 list, for each i [ 1 , n ] , if σ 0 i > n , then C reports failure and terminates. After that, C selects a random bit β { 0 , 1 } and runs the above algorithm for responding to H 1 queries to obtain the values h β 1 , h β 2 , , h β n where H 1 ( w β i | ϕ ) = h β i , w β i W β , i [ 1 , n ] . Then, C generates the challenge SPE-CKS index I β as follows:
(1)
C constructs f ( z ) = i = 1 n ( z h β i ) = j = 0 n a j z j . Then C computes C β j = X j r β x × U r β x a j = U s j r β b j r β x + a j r β x = U s j r β for each j [ 0 , n ] and C W β = Z r β x = V r β x = U r β . Let D W β = H 2 ( R U r β ) , observe that if R = e ^ ( g , g ) 1 x , then R U = e ^ ( U , U ) 1 x . This means that ( C β 0 , C β 1 , , C β n , C W β , D W β ) is a valid SPE-CKS index of keyword set W β when R = e ^ ( g , g ) 1 x .
(2)
C sends I β = ( C β 0 , C β 1 , , C β n , C W β , D W β ) and two keyword sets W 0 and W 1 to A .
-
More queries: A continues to issue index and trapdoor queries. The only restriction is that no index and trapdoor query can distinguish W 0 from W 1 .
-
Response: A outputs a guess β { 0 , 1 } . If β = β , then C outputs 1 which means R = e ^ ( g , g ) 1 x . Otherwise, C outputs 0 which means R is a random number where R G 2 * .
We analyze the probability that C does not abort in trapdoor queries phase and challenge phase. We define three events:
ω 1 : C does not abort in index quries phase for generating the I W .
ω 2 : C does not abort as a result of any of A ’s trapdoor queries.
ω 3 : C does not abort in challenge phase for generating the I β .
If q I is sufficiently large, then the probability of event ω 1 is at least ( 1 1 q I ) n q I = 1 e n . Suppose that q T is sufficiently large. Therefore, the probability of event ω 2 is at least ( 1 1 q T ) m q T = 1 e m . The probability of event ω 3 = 1 q T n .
If R = e ^ ( g , g ) 1 x , A ’s view is identical to its view in a real attack game and it must satisfy | P r [ β = β ] 1 2 | ϵ . If R is a random number and R G 2 * , then it must have | P r [ β = β ] | = 1 2 .
Therefore, we have that:
| P r [ C ( P , x P , x 2 P , , x q T + 1 P , e ^ ( p , p ) 1 x ) = 1 ] P r [ C ( P , x P , x 2 P , , x q T + 1 P , R ) = 1 ] | ϵ e n e m q T n
This means that C can solve the decision ( q T + 1 ) -BDHI assumption with probability at least ϵ = ϵ e n e m q T n . We complete the proof of the theorem. □
The above security proof demonstrates that our scheme is secure against chosen keywords attack. The following paragraph is showing that our scheme can defend against the keyword guessing attack. As figured out by Shao and Yang in Reference [28], the reason SPE schemes inherently suffer from the keyword guessing attacks by adversaries is that they have abilities to execute the I n d e x B u i l d and T e s t algorithms simultaneously. If the capability of index building for adversaries is limited, the adversaries fail to launch the keyword guessing attack. In the proposed scheme, for the I n d e x B u i l d and T r a p d o o r algorithms, the adversaries only can obtain g 0 , g 0 s and g 0 t . If the adversaries can calculate the value of ϕ = g 0 s t , then it means that the adversaries can solve the CDH problem [31] in a polynomial probabilistic time. Considering that the CDH problem is hard for any polynomial probabilistic time adversaries, the secret ϕ is unknown to anyone except the senders and the receiver. Based on this, neither the outsider attacker nor the malicious insider server is able to produce a correct ciphertext for any keyword set of theirs interest. Thus, we argue that our scheme can defend against the keyword guessing attack.

5. Performance Evaluation

This section gives the performance evaluation of the proposed scheme through theoretical and experimental analysis.

5.1. Theoretical Analysis

To reveal the performance of the proposed scheme, we compared it with the existing SPE-CKS schemes. For simplicity, we denote these schemes introduced in References [7,8,10] by ZZ11, OT15 and ZLW19, respectively. Concretely, ZZ11 is a standard SPE-CKS scheme; OT15 is an efficient IPE scheme, which can be changed to a SPE-CKS scheme by using a method mentioned in Reference [21]; ZLW19 is a SPE scheme that supports disjunctive and conjunctive keywords search simultaneously. Moreover, for simplicity, we combine the K e y G e n R algorithm to the K e y G e n S algorithm and denote these two algorithms by K e y G e n . Table 1 and Table 2 show the comparison between our scheme and the previous schemes in terms of the storage and time overhead.
Because the time cost of exponentiation computation and pairing is much higher than that of other operations, such as addition and multiplication operations, the comparison only considers these two operations. Table 1 shows that the time cost of index building, trapdoor generation and test in our scheme are all less than that in other three schemes. Although the time cost of “KeyGen” algorithm in our scheme is not as good as that in ZZ11, our scheme is also practical since this algorithm only runs when system initialization and key pair replacement. In addition, because the pairing operation and exponentiation computation are big computation burden in the test process, we can argue that the test efficiency is improved a lot in our scheme.
For simplicity, we denote p k S and p k R by p k and s k S and s k R by s k . From Table 2, we can find that the storage cost of index in our scheme is much less than that in the other schemes. Moreover, the storage cost of p k is also the smallest of all. Since n is not large and the storage cost of | Z q | is small, the storage cost of s k and trapdoor in our scheme is still as practical as the other schemes.

5.2. Experimental Results

Our experiment is run on Intel(R) Core(TM) i7 CPU at 3.40 Ghz processor with 16 GB memory size. The experiment is based on Java language because Java is a cross platform development language and the bilinear pairing technique is realized by adopting the Java Pairing Based Cryptography (JPBC) library [32]. The experiment is based on a real-world e-mail dataset called Enron e-mail dataset [33]. We randomly select 1000 e-mail messages from the dataset and extract 5∼25 words from each document as its keyword list. By utilizing these e-mails and its associated keywords, we implement the schemes introduced in References [7,8,10] and our scheme in the same environment to demonstrate the advantages of the proposed scheme in term of time and space overhead (The source code can be accessed through the website http://www.inforstation.com/webservers/SPE-CKS/).

5.2.1. Time Overhead

The time overhead is tested in term of key generation, index building, trapdoor generation and testing. The experiment results are shown in Figure 2.
1.
Key generation. Because of adopting the technique called dual pairing vector space (DPVS)[8], the time complexity of key generation in OT15 is O ( n 2 ) . The time cost of key generation in other three schemes are all linear with n.
2.
Index building. The time cost of index building in ZZ11, OT15 and ours are all linearly with n. The time cost of index building in our scheme is still much less than that in ZZ11 and OT15. Furthermore, as n grows, for example, n > 10 , the time cost of index building in ZLW19 is more than that in our scheme since it is linear with n 2 .
3.
Trapdoor generation. Although the time cost of trapdoor generation in ZZ11, OT15 and ours are all linear with n, our scheme needs less time cost than ZZ11 and OT15 due to needing less exponentiation computation operations. The time cost of trapdoor generation in ZLW19 is linear with m. Because m is less than n, the time cost of trapdoor generation in our scheme is slightly more than that in ZLW19.
4.
Testing. The time cost of test in these four schemes are all linear with n. Compared with ZZ11 and ZLW19, our scheme needs less pairing operations. Compared with OT15, our scheme needs less exponentiation operations on group elements. Since the time cost of exponentiation operation is only one fourth of that of pairing operation, our solution requires less test time.

5.2.2. Space Overhead

This experiment evaluates the space cost of p k , s k , index and trapdoor. The experiment results are illustrated in Figure 3.
1.
p k size. The p k size in these four schemes are all linear with n. Our scheme is the best of these four schemes since it needs less elements in group G 1 .
2.
s k size. ZZ11 only needs one integer in Z q . Although s k size in OT15, ZLW19 and ours are all linear with n, both ZLW19 and our scheme need less space cost since the space cost of Z q is less than that of G 1 . In addition, the s k size in our scheme is only a half of that in ZLW19.
3.
Index size. Our scheme needs less space cost than OT15 and ZLW19, although the index size of OT15, ZLW19 and our scheme are all linear with n. This is fit to the theoretical analysis. The index size of ZLW19 is linear with n 2 , so it is not as efficient as our scheme.
4.
Trapdoor size. The space complexity of trapdoor in OT15 and ZLW19 are O ( 1 ) and O ( m ) , respectively. Thus, these two schemes need less storage cost. The space cost of trapdoor in ZZ11 and our scheme are both linear with n. Our scheme needs less storage consumption than ZZ11 for trapdoor since our scheme needs less group element in trapdoor.

5.2.3. Comments

Based on the theoretical analysis and experimental results, we find that our scheme is better than ZZ11 except the time cost of key generation and the storage cost of s k . Note that the key generation algorithm does not run often and s k is stored only several copies. So, we can argue that our scheme has a better performance than ZZ11. Compared with OT15, our scheme is better than it except the space cost of trapdoor. Considering that n is not very large, we can argue that our scheme is much practical than OT15. Compared with ZLW19, our scheme is better than this scheme except the time cost of trapdoor generation and the storage cost of trapdoor. The reason is that the time and space cost of trapdoor are both linear with m, not n. However, since n and m are commonly small, we can argue that our scheme is still much more practical than ZLW19.
For our scheme, when n = 10 , the average time costs of index building and testing of one document are 63 ms and 62 ms, respectively. The average time costs of key and trapdoor generation are 10 ms and 119 ms, respectively. Thus, we can argue that our scheme is very practical in the mobile setting in which data receiver has limited computation capacity. Note that the index structure for our scheme is that each document has its own index. We can accelerate the process of the index building and testing by using the parallel computation mechanism. What is more, our scheme can efficiently support dynamic operation, that is, documents deletion and insertion, on the account of the property of the index structure. According to these analysis, we can argue that our scheme is very suitable for the actual e-mail system.

6. Conclusions

In this paper, we propose a secure and efficient SPE-CKS scheme for realizing multi-keywords search over the encrypted e-mail data. The rigorous theoretical analysis shows that our scheme has better performance on the time and space complexities than the previous SPE-CKS schemes. Furthermore, an experiment over a real world e-mail dataset illustrates that our scheme is practical in the mobile cloud setting. Considering that advanced search functions, for example, disjunctive, Boolean and fuzzy keywords search, are very useful for the encrypted e-mail system, we will construct a secure and efficient SPE scheme supporting various advanced search functions in the future work.

Author Contributions

Conceptualization, Y.Z. and Y.L.; Data curation, Y.Z. and Y.L.; Formal analysis, Y.Z. and Y.L.; Funding acquisition, Y.L.; Methodology, Y.Z.; Software, Y.Z. and Y.W.; Validation, Y.Z., Y.L. and Y.W.; Writing—original draft, Y.Z. and Y.L.; Writing—review & editing, Y.Z., Y.L. and Y.W.

Funding

We gratefully acknowledge the support of the National Natural Science Foundation of China under Grant Nos. 61402393 and 61601396, and Nanhu Scholars Program for Young Scholars of XYNU.

Conflicts of Interest

The authors declare that they have no conflict of interest.

References

  1. Song, D.; Wagner, D.; Perrig, A. Practical Techniques for Searching on Encrypted Data. In Proceedings of the IEEE Symposium on Research in Security and Privacy 2000, Berkeley, CA, USA, 14–17 May 2000; pp. 44–55. [Google Scholar]
  2. Boneh, D.; Di Crescenzo, G.; Ostrovsky, R.; Persiano, G. Public Key Encryption with Keywrod Search. In EUROCRYPT 2004; Cachin, C., Camenisch, J.L., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3027, pp. 506–522. [Google Scholar]
  3. Xu, P.; He, S.; Wang, W.; Susilo, W.; Jin, H. Lightweight Searchable Public-key Encryption for Cloud-assisted Wireless Sensor Networks. IEEE Trans. Ind. Inform. 2017, 14, 3712–3723. [Google Scholar] [CrossRef]
  4. Park, D.J.; Kim, K.; Lee, P.J. Public Key Encryption with Conjunctive Field Keyword Search. In WISA 2004; Lim, C.H., Yung, M., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3325, pp. 73–86. [Google Scholar]
  5. Hwang, Y.H.; Lee, P.J. Public Key Encryption with Conjunctive Keyword Search and Its Extension to a Multi-user System. In Pairing 2007; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2007; Volume 4575, pp. 2–22. [Google Scholar]
  6. Boneh, D.; Waters, B. Conjunctive, Subset, and Range Queries on Encrypted Data. In TCC 2007; Vadhan, S.P., Ed.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2007; Volume 4392, pp. 535–554. [Google Scholar]
  7. Zhang, B.; Zhang, F. An efficient public key encryption with conjunctive-subset keywords search. J. Netw. Comput. Appl. 2011, 34, 262–267. [Google Scholar] [CrossRef]
  8. Okamoto, T.; Takashima, K. Achieving short ciphertexts or short secret-keys for adaptively secure general inner-product encryption. Des. Codes Cryptogr. 2015, 77, 138–159. [Google Scholar] [CrossRef]
  9. Zhang, Y.; Lu, S. POSTER: Efficient method for disjunctive and conjunctive keyword search over encrypted data. In Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, Scottsdale, AZ, USA, 3–7 November 2014; pp. 1535–1537. [Google Scholar]
  10. Zhang, Y.; Li, Y.; Wang, Y. Conjunctive and Disjunctive Keyword Search over Encrypted Mobile Cloud Data in Public Key System. Mob. Inf. Syst. 2018, 2018, 3839254. [Google Scholar] [CrossRef]
  11. Lu, Y.; Wang, G.; Li, J. Keyword guessing attacks on a public key encryption with keyword search scheme without random oracle and its improvement. Inf. Sci. 2019, 479, 270–276. [Google Scholar] [CrossRef]
  12. Goh, E.-J. Secure Indexes. Cryptology ePrint Archive. Report; 2003/216. Available online: http://eprint.iacr.org/2003/216/ (accessed on 25 February 2004).
  13. Golle, P.; Staddon, J.; Waters, B. Secure Conjunctive Search over Encrypted Data. In ACNS 2004; Jakobsson, M., Yung, M., Zhou, J., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3089, pp. 31–45. [Google Scholar]
  14. Byun, J.W.; Lee, D.H.; Lim, J. Efficient Conjunctive Keyword Searches on Encrypted Data Storage System. In EuroPKI 2006; Atzeni, A.S., Lioy, A., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2004; Volume 4043, pp. 184–196. [Google Scholar]
  15. 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 SDM 2006; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2006; Volume 4165, pp. 75–83. [Google Scholar]
  16. Cao, N.; Wang, C.; Li, M.; Ren, K.; Lou, W. Privacy-preserving multi-keyword ranked search over encrypted cloud data. IEEE Trans. Parallel Distrib. Syst. 2014, 25, 222–233. [Google Scholar] [CrossRef]
  17. Fu, Z.; Sun, X.; Liu, Q.; Zhou, L.; Shu, J. Achieving Efficient Cloud Search Services: Multi-Keyword Ranked Search over Encrypted Cloud Data Supporting Parallel Computing. IEICE Trans Commun. 2015, 98, 190–200. [Google Scholar] [CrossRef]
  18. Xia, Z.; Wang, X.; Sun, X.; Wang, Q. A Secure and Dynamic Multi-Keyword Ranked Search Scheme over Encrypted Cloud Data. IEEE Trans. Parallel Distrib. Syst. 2016, 27, 340–352. [Google Scholar] [CrossRef]
  19. Boneh, D.; Franklin, M. Identity based Encryption from the Weil Pairing. In CRYPTO 2001; Kilian, J., Ed.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2001; Volume 2139, pp. 213–229. [Google Scholar]
  20. Abdalla, M.; Bellare, M.; Catalano, D.; Kiltz, E.; Kohno, T.; Lange, T.; Malone-Lee, J.; Neven, G.; Paillier, P.; Shi, H. Searhable Encryption Revisited: Consistency Properties, Relation to Anonymous IBE, and Extensions. In CRYPTO 2005; Shoup, V., Ed.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2005; Volume 3621, pp. 205–222. [Google Scholar]
  21. Katz, J.; Sahai, A.; Waters, B. Predicate encryption supporting disjunctions, polynomial equations, and inner products. J. Cryptol. 2013, 26, 191–224. [Google Scholar] [CrossRef]
  22. Lewko, A.; OkamotoT, S.; ATakashima, K.; Takashima, K.; Waters, B. Fully secure functional encryption: Attribute-based encryption and (hierarchical) inner product encryption. In Advances in Cryptology—EUROCRYPT 2010; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2010; Volume 6110, pp. 62–91. [Google Scholar]
  23. Wang, B.; Hou, Y.; Li, M.; Wang, H.; Li, H. Maple: Scalable multi-dimensional range search over encrypted cloud data with tree-based index. In Proceedings of the 9th ACM Symposium on Information, Computer and Communications Security, Kyoto, Japan, 4–6 June 2014; pp. 111–122. [Google Scholar]
  24. Zhu, H.; Mei, Z.; Wu, B.; Li, H.; Cui, Z. Fuzzy keyword search and access control over ciphertexts in cloud computing. In Information Security and Privacy; Springer: Cham, Switzerland, 2017; pp. 248–265. [Google Scholar]
  25. Jeong, I.R.; Kwon, J.O.; Hong, D.; Lee, D.H. Constructing PEKS schemes secure against keyword guessing attacks is possible? Comput. Commun. 2009, 32, 394–396. [Google Scholar] [CrossRef]
  26. Rhee, H.S.; Susilo, W.; Kim, H. Secure searchable public key encryption scheme against keyword guessing attacks. IEICE Electron. Express 2009, 6, 237–243. [Google Scholar] [CrossRef] [Green Version]
  27. Tang, Q.; Chen, L. Public-key Encryption with Registered Keyword Search. In Proceedings of the Sixth European Workshop on Public Key Services, Applications and Infrastructures, Pisa, Italy, 10–11 September 2009. [Google Scholar]
  28. Shao, Z.; Yang, B. On security against the server in designated tester public key encryption with keyword search. Inform. Process. Lett. 2015, 115, 957–961. [Google Scholar] [CrossRef]
  29. Joux, A. The Weil and Tate Pairing as Building Blocks for Public Key Cryptosystems. In Algorithmic Number Theory; Fieker, C., Kohel, D.R., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2002; Volume 2369, pp. 20–32. [Google Scholar]
  30. Boneh, D.; Boyen, X. Efficient selective-ID secure identity based encryption. In Advances in Cryptology—EUROCRYPT 2004; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3027, pp. 223–238. [Google Scholar]
  31. Bao, F.; Deng, R.H.; Zhu, H. Variations of Diffie-Hellman Problem. In Proceedings of the International Conference on Information and Communications Security, ICICS, Huhehaote, China, 10–13 October 2003. [Google Scholar]
  32. Caro, A.D. The Java Pairing Based Cryptography Library (JPBC). Available online: Http://gas.dia.unisa.it/projects/jpbc/ (accessed on 24 February 2013).
  33. Cohen, W.W. Enron E-Mail Dataset. Available online: Http://www.cs.cmu.edu/./enron/ (accessed on 20 June 2019).
Figure 1. An example of searching over encrypted e-mail data.
Figure 1. An example of searching over encrypted e-mail data.
Applsci 09 03655 g001
Figure 2. Impact of n on the time cost of key generation (a); index building (b); trapdoor generation (c) and testing (d). ( D = 1000 , m = 5 and n = { 5 ; 10 ; 15 ; 20 ; 25 } ).
Figure 2. Impact of n on the time cost of key generation (a); index building (b); trapdoor generation (c) and testing (d). ( D = 1000 , m = 5 and n = { 5 ; 10 ; 15 ; 20 ; 25 } ).
Applsci 09 03655 g002
Figure 3. Impact of n on the space cost of p k (a); s k (b); index (c) and trapdoor (d). ( D = 1000 , m = 5 and n = { 5 ; 10 ; 15 ; 20 ; 25 } ).
Figure 3. Impact of n on the space cost of p k (a); s k (b); index (c) and trapdoor (d). ( D = 1000 , m = 5 and n = { 5 ; 10 ; 15 ; 20 ; 25 } ).
Applsci 09 03655 g003
Table 1. Comparison with previous searchable public key encryption supporting conjunctive keywords search (SPE-CKS) schemes on time complexity.
Table 1. Comparison with previous searchable public key encryption supporting conjunctive keywords search (SPE-CKS) schemes on time complexity.
AlgorithmZZ11 [7]OT15 [8]ZLW19 [10]Our Scheme
KeyGen P 1 O ( n 2 ) P 1 ( 2 n + 3 ) P 1 + P 2 ( n + 2 ) P 1 + P 2 + 2 P
IndexBuild ( n + 1 ) P 1 + ( n + 2 ) P 2 + e ( 12 n + 10 ) P 1 ( 3 n 2 + 4 n ) P 1 + P 2 + P ( n + 2 ) P 1 + P 2
Trapdoor 3 ( n + 2 ) P 1 + P 2 ( 12 n + 10 ) P 1 ( 2 m + 2 ) P 1 ( n + 2 ) P 1 + P
Test ( 2 n + 3 ) e 11 e + 5 ( n 1 ) P 1 2 n ( m + 1 ) e ( n + 2 ) e
DenotationP, P 1 , P 2 : The time cost of one exponentiation computation in G, G 1 and G 2 , respectively.
e: The time cost of one pairing operation.
Table 2. Comparison with previous SPE-CKS schemes on space complexity.
Table 2. Comparison with previous SPE-CKS schemes on space complexity.
ParametersZZ11 [7]OT15 [8]ZLW19 [10]Our Scheme
pk ( n + 2 ) L 1 + 2 L 2 ( 12 n + 16 ) L 1 + L 2 ( 2 n + 3 ) L 1 + L 2 ( n + 2 ) L 1 + L 2 + 3 L
sk | Z q | ( 12 n + 16 ) L 1 ( 2 n + 3 ) | Z q | ( n + 4 ) | Z q |
Index ( n + 1 ) L 1 + ( n + 2 ) L 2 + | Z q | ( 5 n + 1 ) L 1 + L 2 ( 2 n 2 + 4 n ) L 1 + L 2 ( n + 2 ) L 1 + | Z q |
Trapdoor ( n + 2 ) L 1 + L 2 11 L 1 ( 2 m + 2 ) L 1 + | Z q | ( n + 2 ) L 1
DenotationL, L 1 , L 2 and | Z q | : the size of an element of G, G 1 , G 2 and Z q , respectively.
n, m: the number of keywords in an index keyword set and a query, respectively.

Share and Cite

MDPI and ACS Style

Zhang, Y.; Li, Y.; Wang, Y. Efficient Conjunctive Keywords Search over Encrypted E-Mail Data in Public Key Setting. Appl. Sci. 2019, 9, 3655. https://0-doi-org.brum.beds.ac.uk/10.3390/app9183655

AMA Style

Zhang Y, Li Y, Wang Y. Efficient Conjunctive Keywords Search over Encrypted E-Mail Data in Public Key Setting. Applied Sciences. 2019; 9(18):3655. https://0-doi-org.brum.beds.ac.uk/10.3390/app9183655

Chicago/Turabian Style

Zhang, Yu, Yin Li, and Yifan Wang. 2019. "Efficient Conjunctive Keywords Search over Encrypted E-Mail Data in Public Key Setting" Applied Sciences 9, no. 18: 3655. https://0-doi-org.brum.beds.ac.uk/10.3390/app9183655

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