Next Article in Journal
The Impact of Code Smells on Software Bugs: A Systematic Literature Review
Previous Article in Journal
Remotely Monitoring Cancer-Related Fatigue Using the Smart-Phone: Results of an Observational Study
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Efficient Public Key Encryption with Disjunctive Keywords Search Using the New Keywords Conversion Method

1
School of Computer and Information Technology, Xinyang Normal University, Xinyang 464000, China
2
Department of Computer Science, Wayne State University, Detroit 48202, USA
*
Author to whom correspondence should be addressed.
Information 2018, 9(11), 272; https://doi.org/10.3390/info9110272
Submission received: 8 October 2018 / Revised: 28 October 2018 / Accepted: 29 October 2018 / Published: 1 November 2018
(This article belongs to the Section Information Theory and Methodology)

Abstract

:
Public key encryption with disjunctive keyword search (PEDK) is a public key encryption scheme that allows disjunctive keyword search over encrypted data without decryption. This kind of scheme is crucial to cloud storage and has received a lot of attention in recent years. However, the efficiency of the previous scheme is limited due to the selection of a less efficient converting method which is used to change query and index keywords into a vector space model. To address this issue, we design a novel converting approach with better performance, and give two adaptively secure PEDK schemes based on this method. The first one is built on an efficient inner product encryption scheme with less searching time, and the second one is constructed over composite order bilinear groups with higher efficiency on index and trapdoor construction. The theoretical analysis and experiment results verify that our schemes are more efficient in time and space complexity as well as more suitable for the mobile cloud setting compared with the state-of-art schemes.

1. Introduction

Searchable encryption has attracted tremendous research attention in recent years. This field can be applied in many situations, such as email system, database management system and document management system. Constructing such a scheme supporting complex query conditions like boolean keyword search is an important issue. For creating a public key encryption system supporting boolean keyword search, we need to study public key encryption with conjunctive keyword search (PECK) and public key encryption with disjunctive keyword search (PEDK) first. The concept and security models of PECK are first defined by Park et al. [1]. In their work, they also gave two constructions based on these models. After this, Hwang and Lee [2] designed a more efficient PECK scheme under the multi-users setting. However, all of these schemes need keyword fields. To eliminate the keyword fields, a hidden vector encryption (HVE) scheme supporting conjunctive keyword search and range search over the encrypted data was proposed [3].
For the conjunctive keyword search, designers only need to consider whether all query keywords are included in the index keyword set, which means that the search algorithm only needs to consider the situation of keyword matching. However, for the disjunctive keyword search, designers should consider whether a part of keywords in the query are contained in the index keyword set, which means that the search algorithm needs to recognize the situation of both keyword matching and keyword non-matching at the same time. As a result, constructing an efficient PEDK scheme is more difficult than a PECK one. The first solution of PEDK was proposed by Katz et al. [4]. They proposed a function encryption paradigm called inner product encryption (IPE) that supports more advanced search functions including disjunctive keyword search. In the IPE scheme, each secret key and ciphertext are associated with a predicate vector v and an attribute vector x , respectively. If and only if v · x = 0 , the secret key can decrypt the corresponding ciphertext. By applying a keyword conversion method which changes the index and query keywords into attribute and predicate vectors respectively, a PEDK scheme can be created according to IPE. However, the PEDK scheme introduced in their work is not very practical. Specifically, the keyword conversion method used in [4] relies on a polynomial F = i = 1 n ( x i y 1 ) ( x i y 2 ) ( x i y m ) which contains ( n + 1 ) m terms, where X = { x 1 , x 2 , , x n } and Y = { y 1 , y 2 , , y m } are denoted as an index and a query keyword set, respectively. Note that each term in F consists of two parts: the attribute part, which is the product of some elements in X { 1 } , and the predicate part, which is the product of some elements in Y { 1 } . By using the attribute part and the predicate part in each term, an attribute vector x and a predicate vector y can be created. Obviously, if X Y , there is F = 0 , which means x · y = 0 . Since the dimensions of predicate and attribute vector are ( n + 1 ) m , the space and time complexity of the obtained PEDK scheme increases in exponential order. To construct a more efficient PEDK scheme supporting conjunctive keyword search simultaneously, Zhang and Lu proposed an approach that changes an IPE scheme to a scheme called public key encryption with conjunctive and disjunctive keyword search (PECDK), and gave a concrete construction [5]. In this scheme, the size of trapdoor and each document’s index are both linear with O ( N D ) . Moreover, the number of times of pairing operations in the search algorithm is still linear with O ( N D ) , where N D is the number of keywords in all indices. Thus, there is still a great room to improve the efficiency for disjunctive keyword search.
In addition, IPE is not designed only for creating a searchable encryption scheme supporting disjunctive keyword search. Thus, in order to obtain a highly efficient PEDK scheme, one should utilize alternative methods.
In this paper, we aim to create efficient PEDK schemes with less time and space cost. The contributions are listed as follows.
(1)
A new method for converting the index and query keywords into a vector space model is proposed. The dimension of the vectors generated by the proposed method is more small than that generated by the previous methods. Moreover, our scheme is based on an equation of degree n with one unknown. The coefficients of this equation is composed of the index keyword set, while the roots of this equation is composed of the query keyword set. The coefficients and roots create the attribute vectors and predicate vectors, respectively. Thus, our method can easily be combined with other techniques, such as IPE scheme and composite bilinear order groups. By combining the new approach with an efficient IPE scheme, we propose a more efficient IPE-based PEDK scheme with a better time and space complexity (We denote this PEDK scheme by PEDK-1).
(2)
We also demonstrate that a construction of PEDK does not rely on IPE. Applying techniques of dual system encryption and composite order group, a new PEDK scheme without IPE, denoted by PEDK-2, is given. We show that this scheme can largely reduce the complexity of index building and key generation compared with our former proposal.
Moreover, we design a experiment to show the efficiency of the previous PEDK schemes and two proposed schemes. The experiment results show that the efficiency of proposed schemes is more practical than the previous ones. We also give a detailed comparison between PEDK-1 and PEDK-2. The theoretical analysis and experiment results show that the key generation, index building and trapdoor generation operations in PEDK-2 are more efficient than that in PEDK-1, except for the test operation. In addition, the space cost in PEDK-2 is less than that in PEDK-1. In practice, client device, e.g., a mobile device, has less storage space and limited computation capacity. Thus, compared with PEDK-1, PEDK-2 is much more suitable for the resource constrained environment.
Related work. There are two classes of searchable encryption schemes in terms of different cryptography primitives: public key system and symmetric key system.
Song et al. first introduced the definition of searching symmetric encryption and gave a specific scheme [6]. Then, Goh gave the concept and security definition of multi-keyword query on encrypted data [7], and gave a more practical scheme by using a Bloom filter. Based on this concept, improved schemes [8,9] were proposed to reduce computation and communication costs. However, the time cost of search in these schemes is linear with the number of documents. To optimize the query speed, some works utilize tree structure, such as r-tree and kd-tree, to obtain a sub-linear search efficiency [10,11]. Since the query results in these works are not sorted, all related documents will be returned, which will lead to a large network traffic problem. Based on the order-preserving encryption (OPE) scheme [12], rank search schemes [13,14] were proposed, which can quickly search top-k related documents. However, works mentioned above only support single keyword query. Recently, some schemes were proposed to achieve multi-keywords rank search [15,16].
The first searchable public key encryption solution called public-key encryption with keyword search (PEKS) is designed by Boneh et al. [17], which is related to the identity-based encryption (IBE) proposed in [18]. Based on this, Abdalla et al. gave the computational and statistical consistency of PEKS, and gave a concrete scheme [19]. However, these works fail to support multi-keyword search. The framework and security model of PECK are proposed by Park et al. [1]. They also gave two schemes in their work. One needs more bilinear pairing operations, while the other needs more private keys. Then, Hwang and Lee designed a more effective solution for multi-user setting [2]. The PECK schemes mentioned above were using keyword field as an additional information which are not practical in many applications. In order to avoid using a keyword field, a hidden vector encryption (HVE) scheme supporting conjunctive keyword search and range search over the encrypted data was proposed [3]. To achieve disjunctive keyword search, Katz et al. constructed the first IPE scheme [4], which is related to the attribute-based encryption (ABE) [20]. Fully secure IPE schemes with better decryption efficiency were proposed in [21,22].
In recent years, the work of searchable public-key encryption (SPE) has focused on two aspects. On the one hand, it focuses on improving the efficiency of traditional SPE; on the other hand, it adds special abilities on the traditional SPE, such as extra security mechanism and faster search rate. We use Table 1 to show main works for SPE in the last ten years. According to Table 1, we found that PEDK studies are relatively few, so this paper is devoted to building a more efficient PEDK scheme.
Organization. We organize this paper as follows: in Section 2, the model of PEDK and its security model are defined, and briefly review the concept of composite order bilinear groups and complexity assumption. In Section 3, we introduce our keyword conversion method, and then propose two concrete PEDK scheme based on our approach. The security proof of proposed schemes are given in Section 4. The theoretical and experimental analysis are given in Section 5. Section 6 covers the conclusion.

2. Preliminaries

In this section, we first introduce the definition of PEDK’s framework. Then, we present the security definition of PEDK. Finally, we briefly review some techniques adopted in our work, including complexity assumption and bilinear groups of composite order.

2.1. Model of PEDK

We suppose that p k is the public key, and s k is the secret key, where p k can be accessed by anyone and s k can be only held by the receiver. A sender can send an encrypted plaintext M with an encrypted index generated by using keywords w 1 , w 2 , , w n of M and p k to a server. When the receiver would like to retrieve the messages containing a specific list of keywords, the receiver can use s k and query keywords to construct a trapdoor, and sends the trapdoor to the server. After receiving the trapdoor, the server adopts the test algorithm to determine which documents match the trapdoor, and returns the matched documents to the receiver. The architecture of this process is described in Figure 1.
According to this architecture, we give the formal model of PEDK inspired by the model proposed in [1] as follows.
Definition 1.
The PEDK scheme involves four polynomial time algorithms, which are KenGen, IndexBuild, Trapdoor and Test:
(1) 
KeyGen(γ): The algorithm takes a security parameter γ as input, and outputs a key pair ( p k , s k ) , where “pk” and “sk” represent public key and secret key, respectively.
(2) 
IndexBuild(pk,W): By taking advantage of “pk” and a keyword set W = { w 1 , w 2 , , w n } , the sender applies the algorithm to create an encrypted index I W .
(3) 
Trapdoor(sk,Q): By utilizing the keyword query Q = { q 1 , q 2 , , q m } and “sk”, the receiver adopts this algorithm to generate a trapdoor T Q , where m n .
(4) 
Test(pk, T Q , I W ): The server executes this algorithm to test whether the encrypted index I W and the trapdoor T Q contain at least one same keyword. It takes T Q , I W and “pk” as input. If Q W ϕ , then it outputs 1; otherwise, 0 .

2.2. Security Definition of PEDK

The proposed schemes must be proven to be secure under a formal security definition. Similar to the definition introduced in [1], we present the security definition as follows.
Definition 2.
If an PEDK scheme can resist chosen plaintext attacks and is adaptively index-hiding, then it must have that, for any probabilistic polynomial-time (PPT) adversary A, under a security parameter k, the A’s advantage for winning the following game is negligible:
(1) 
Setup: The challenger C performs the KeyGen( 1 γ ) algorithm to generate p k and s k . Then, C sends p k to the attacker A.
(2) 
Phase 1: The attacker A can adaptively ask C for any trapdoor T Q of query Q he wants.
(3) 
Challenge: A randomly chooses two keyword sets W 0 and W 1 , and gives them to C. Suppose that Q 1 , Q 2 , , Q t are the keyword sets which are queried to construct trapdoors in phase 1, where t is the number of trapdoors queried in phase 1, there is a restriction in which Q i W 0 = and Q i W 1 = for each i [ 1 , t ] . Then, C picks a random bit β { 0 , 1 } , and creates I β = I n d e x B u i l d ( p k , W β ) . After that, A sends { I β , W 0 , W 1 } to A.
(4) 
Phase 2: Under the restriction mentioned above, A can continue to issue any query Q he wants. C responds the corresponding trapdoor.
(5) 
Response: A outputs β { 0 , 1 } . If β = β , then A wins the game.
According to the game mentioned above, A’s advantage in the above game is defined as:
A d v G a m e A = | P r [ β = β ] 1 2 | .
Generally speaking, the key is to ensure that the encrypted form of W 0 and that of W 1 are computationally indistinguishable to the adversary.

2.3. Composite Order Bilinear Groups and Complexity Assumption

Boneh et al. [32] firstly uses the composite order bilinear groups to create cryptographic algorithms. In our paper, we will adopt groups of order N that is a product of four (distinct) prime. Moreover, by using a security parameter 1 k , we apply a generator g to generate a description I = ( p 1 , p 2 , p 3 , p 4 , G , G T , e ^ ) ; where p 1 , p 2 , p 3 , p 4 are distinct primes, G T and G are cyclic groups of order N = p 1 p 2 p 3 p 4 , and e ^ : G × G G T is a non-degenerate bilinear map such that:
  • Bilinear: e ^ ( g a , h b ) = e ^ ( g , h ) a b ,where g , h G and a , b Z N ;
  • Non-degenerate: e ^ ( g , g ) is a generator of G T if g is a generator of G;
  • Computable: For any g , h G , an efficient algorithm must exist to compute e ^ ( g , h ) .
In addition, we also further require that the group operations in G and G T is computable in deterministic polynomial time under the security parameter k. Furthermore, we suppose that the descriptions of G and G T contain generators of G and G T , respectively. For S { 1 , 2 , 3 , 4 } , the subgroup of order i S p i is denoted by G i S p i . Suppose that h 1 G i S 1 p i and h 2 G i S 2 p i , where S 1 , S 2 { 1 , 2 , 3 , 4 } , it is easy to verify that e ^ ( h 1 , h 2 ) = 1 if g c d ( i S 1 p i × i S 2 p i | N 2 , N ) = N . We call this property as the orthogonality property, which is very important in our construction.
For proving the security of our construction, we introduce a complexity assumption called General Subgroup Decision (GSD) Assumption [33] as follows.
GSD Assumption. Let S 0 , S 1 , S 2 , , S k be non-empty subsets of { 1 , 2 , 3 , 4 } in which, for each j [ 2 , k ] , either S j S 0 , S j S 1 are both empty or S j S 0 , S j S 1 are both non-empty. Choosing a group generator g , we can define the distribution as follows:
G = ( N = p 1 p 2 p 3 p 4 , G , G T , e ^ ) R g ,
T 0 R G i S 0 p i , T 1 R G i S 1 p i ,
Z 2 R G i S 2 p i , , Z k R G i S k p i ,
D = ( G , Z 2 , Z 3 , , Z k ) .
The algorithm A’s advantage in breaking GSD Assumption is defined as:
A d v g , A ( k ) = P r [ A ( D , T 0 ) = 1 ] P r [ A ( D , T 1 ) = 1 ] .
According to the description above, the definition of GSD assumption is given as follows.
Definition 3.
For all PPT algorithms A, if the function A d v g , A ( k ) is negligible of k, then we can say that, for, generator g , GSD Assumption holds.

3. Proposed PEDK Schemes

In this section, we first introduce the conversion method that changes an index and a query keyword set into a attribute vector and a set of predicate vectors, respectively. Then, we combine this method into an efficient IPE scheme to construct the PEDK-1 scheme. Finally, we build the PEDK-2 scheme based on a composite bilinear order group.

3.1. Conversion Method

The key idea of this method is to first construct an equation of degree n with one unknown by using the index and query keyword sets, where n is the number of keywords. Then, by using the relationship between the roots and coefficients in this equation, an attribute vector for the index keyword set and a set of predicate vectors for the query keyword set can be created. The concrete steps are shown below.
Suppose that any keyword w can be expressed as a string in { 0 , 1 } * , and we define a function H 1 : { 0 , 1 } * Z p * . Since p is a large prime and is larger than the number of the all words, H 1 can be collision-resistance. This means that, if i j , then H 1 ( w i ) H 1 ( w j ) , where w i and w j are two distinct keywords.
We first construct an equation of degree n with one unknown by using the index and query keyword sets. After that, we use the roots and coefficients of the equation to create a set of query vectors and an index vector. Let W = { w 1 , w 2 , , w n } and Q = { q 1 , q 2 , , q m } are two keyword sets, where m < n . The approach is described as follows:
(1)
For the keyword set W = { w 1 , w 2 , , w n } , constructing a function:
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 .
According to the coefficient of the f ( x ) , a vector a = { a 0 , a 1 , , a n } can be obtained.
(2)
For each keyword q i in the keyword set Q, we construct q i = { H 1 ( q i ) 0 , H 1 ( q i ) 1 , , H 1 ( q n ) n } , and output a vector set { q 1 , q 2 , , q m } .
Note that, if there is a keyword q i Q such that q i W , where i [ 1 , m ] , according to the Equations (2), it is not difficult to verify that a · q i = 0 .
As a result, we can test each q i Q with W to make a disjunctive keyword search. If Q W , then it must exist an i [ 1 , m ] such that a · q i = 0 . Based on this, two concrete PEDK schemes will be proposed in the rest of this section.

3.2. PEDK-1

By using the method given in Section 3.1, we can give a new PEDK scheme based on the IPE scheme.
Construction. In the IPE scheme, there are four algorithms: S e t u p I P E , E n c I P E ( p k I P E , x , M ) , K e y G e n I P E ( p k I P E , m s k I P E , v ) , and D e c I P E ( p k I P E , c , s k v ) . We denote the public key and the master secret key by p k I P E and m s k I P E , respectively. x and v represent the attribute and predicate vectors, respectively. The ciphertext and secret key are denoted by c and s k v , respectively. By combining the conversion method and an efficient IPE scheme introduced in [22], the PEDK-1 scheme works as follows:
-
KeyGen: it runs S e t u p I P E to generate a key pair { p k I P E , m s k I P E } , and then sets p k = p k I P E and s k = m s k I P E .
-
IndexBuild: For the keyword set W, it uses the Equation (2) to create an vector a . After this, it outputs I W = E n c I P E ( p k , a , m e s s a g e ) as the index of W. Note that it sets the m e s s a g e to 1.
-
Trapdoor: For the query Q, it generates a group of vectors { q 1 , q 2 , , q m } . By applying K e y G e n I P E to each vector, it creates a trapdoor T Q = { t 1 , t 2 , , t m } , where t i = K e y G e n I P E ( p k , m s k , q i ) and i [ 1 , m ] .
-
Test: Given I W and T Q , it runs D e c I P E ( I W , t i , p k ) for each i [ 1 , m ] . If there is at least one i [ 1 , m ] such that D e c I P E outputs 1, then it outputs 1. Otherwise, it outputs 0.
Correctness. If q i W , then there is a · q i = 0 . Let I W and T Q be as the above. It exists that t i can decrypt the index I W . As a result, according to the property of IPE, the D e c I P E algorithm outputs 1 (Note that the m e s s a g e is set to be 1 in the IndexBuild algorithm.). This means that the Test algorithm also outputs 1.
Security. The security of this scheme depends on that of the IPE scheme. The detailed security proof is given in Section 1.

3.3. PEDK-2

The previous PEDK schemes are based on the IPE scheme. Considering the reason that IPE is a general encryption prototype which is not designed only for disjunctive keyword search on encrypted data, in this subsection, we aim to create a non-IPE PEDK scheme by using the composite order bilinear groups.
Construction. The PEDK-2 scheme works as follows:
-
KeyGen: Randomly selecting a bilinear group G of order N = p 1 p 2 p 3 p 4 (where p 1 , p 2 , p 3 , p 4 are distinct primes), α i , β i Z N * , U 1 , A 1 G p 1 and A 4 i , B 4 i , U 4 and g 4 G p 4 , where i [ 0 , n ] , pk is published as:
p k = { N , U 1 U 4 , A 1 β i A 4 i , A 1 α i B 4 i , g 4 , H 1 } .
The secret key s k is { α i , β i , U 1 , A 1 , g 3 } , where g 3 is a generator of G p 3 .
-
IndexBuild: Given a keyword set W = { w 1 , w 2 , , w n } , the algorithm uses the Equation (2) to create an vector a = { a 0 , a 1 , a 2 , , a n } . Choosing n + 3 random elements s , c 0 , c 1 , c 2 , , c n , c n + 1 Z N * , for the vector a , the encryption algorithm creates the index I W = ( C 10 , C 11 , C 12 , , C 1 n , C 2 ) as:
C 1 i = ( A 1 β i A 4 i ) s a i × ( A 1 α i B 4 i ) s × g 4 c i = A 1 s ( β i a i + α i ) C 4 i ,
C 2 = ( U 1 U 4 ) s × g 4 c n + 1 , = U 1 s C 4
where C 4 i = A 4 i s a i B 4 i s g 4 c i , C 4 = U 4 s g 4 c n + 1 and i [ 0 , n ] .
-
Trapdoor: Given a keyword set Q = { q 1 , q 2 , , q m } where m n , the trapdoor generation algorithm chooses r Z N * and generates random elements R 3 j i where i [ 0 , n ] , j [ 1 , m ] and R 3 j by using g 3 and raising it to the random exponents modulo N. Then, it chooses random elements r 1 , r 2 , , r m Z N * and two random orthogonal vector bases B = ( b 1 , , b m ) T , and B * = ( b 1 * , , b m * ) T Z N m × m in which b i · b j * = 0 ( m o d N ) whenever i j and b i · b i * = λ ( m o d N ) for all i m where λ is a random elements in Z N * . Suppose that b t = { b t 1 , b t 2 , , b t m } and b t * = { b t 1 * , b t 2 * , , b t m * } where t [ 1 , m ] , it computes:
K j i = U 1 r 1 b 1 j H 1 ( q 1 ) i + r 2 b 2 j H 1 ( q 2 ) i + + r m b m j H 1 ( q m ) i β i R 3 j i ,
K j = A 1 i = 0 n α i ( r 1 b 1 j H 1 ( q 1 ) i + r 2 b 2 j H 1 ( q 2 ) i + + r m b m j H 1 ( q m ) i ) β i R 3 j ,
where i [ 0 , n ] , j [ 1 , m ] . The trapdoor of keyword set Q is :
T Q = K 10 K 11 K 1 n K 1 b 1 * K 20 K 21 K 2 n K 2 b 2 * K m 0 K m 1 K m n K m b m * .
-
Test: After receiving a trapdoor T Q and a secure index I W , the algorithm works as follows:
(a)
The algorithm computes M j = i = 0 n e ^ ( C 1 i , K j i ) e ^ ( C 2 , K j ) for each j [ 1 , m ] .
(b)
Choosing a counter k, and setting k = 1 .
(c)
If k > m , then go to step d), otherwise the algorithm computes: D k = j = 1 m M j b k j * . If D k = 1 , then the algorithm outputs 1 and ends. Otherwise, it sets k = k + 1 and goes to the step c).
(d)
The algorithm outputs 0 and ends.
Correctness. Let I W and T Q be as the above. Then, we have the following two equations:
e ^ ( C 2 , K j ) = e ^ ( U 1 s C 4 , A 1 i = 0 n α i ( r 1 b 1 j H 1 ( q 1 ) i + + r m b m j H 1 ( q m ) i ) β i R 3 ) = e ^ ( U 1 , A 1 ) s i = 0 n α i ( r 1 b 1 j H 1 ( q 1 ) i + + r m b m j H 1 ( q m ) i ) β i ,
i = 0 n e ^ ( C 1 i , K j i ) = e ^ ( A 1 , U 1 ) s i = 0 n α i ( r 1 b 1 j H 1 ( q 1 ) i + + r m b m j H 1 ( q m ) i ) β i × e ^ ( A 1 , U 1 ) s ( r 1 b 1 j i = 0 n a i H 1 ( q 1 ) i + + r m b m j i = 0 n a i H 1 ( q m ) i ) .
According to the Equations (3) and (4), we know:
M j = e ^ ( A 1 , U 1 ) s ( r 1 x 1 b 1 j + r 2 x 2 b 2 j + + r m x m b m j ) .
In Equation (5), we can find:
x k = i = 0 n a i H 1 ( q k ) i , w h e r e k [ 1 , m ] .
Since b i · b j * = 0 ( m o d N ) whenever i j and b i · b i * = λ ( m o d N ) for all i m , there is:
D k = j = 1 m M j b k j * = e ^ ( A 1 , U 1 ) s ( r 1 x 1 b 1 b k * + + r k x k b k b k * + + r m x m b m b k * ) = e ^ ( A 1 , U 1 ) s r k x k λ .
Note that there is x k = 0 if the keyword q k in the trapdoor is also contained in the index. Thus, D k = 1 if q k W .
Security. The security of this scheme depends on the assumption introduced in Section 2.3. The detailed security proof is given in Section 4.2.

4. Security Analysis

4.1. Security of PEDK-1

The PEDK-1 scheme is based on the fully secure IPE scheme. Thus, we give the following proposition.
Proposition 1.
The PEDK-1 scheme is secure if the IPE scheme that PEDK-1 is based on is secure.
Proof Sketch.
If it exists an PPT algorithm A that can break the PEDK-1 scheme, then the IPE scheme on which PEDK-1 is based can be broken by A . For the setup phase, C applies the S e t u p I P E algorithm to creat p k I P E and s k I P E , and sets p k = p k I P E , s k = s k I P E . For the phase 1, A can adaptively query trapdoors of keyword set { Q 1 , Q 2 , , Q t } . These trapdoors are composed of a set of decryption keys of IPE. For the challenge phase, under a constraint that Q i W 0 = and Q i W 1 = , A randomly chooses two challenge keyword sets W 0 and W 1 , where i [ 1 , t ] . After this, C randomly chooses a β { 0 , 1 } , and sends an index I W β to A . This index is composed of a set of challenge ciphertexts of IPE. For the phase 2, A still asks for trapdoors which he wants under the restriction mentioned above. For the response phase, A issues a guess β . If A can break the PEDK-1 scheme, the value of | P r [ β = β ] 1 2 | can not negligible. It means that the two challenge indices can be distinguished. Because the challenge indices in the PEDK-1 scheme is equal to the challenge ciphertexts in the IPE scheme, we can reckon that A can break the IPE scheme according to the security definition for IPE.

4.2. Security of PEDK-2

To prove the security of the PEDK-2 system, according to the dual system encryption, we first introduce the concept of semi-functional trapdoor and index. The semi-functional trapdoor and index will be adopted in the proof, but not in the real PEDK-2 system. This is similar to those introduced in [34].
Semi-functional index: We denote the generator of the subgroup G 2 by g 2 , and create the Semi-functional index as follows. The encryption algorithm generates a normal index C 10 , C 11 , C 12 , , C 1 n , C 2 . Choosing n + 2 random elements x , z c 0 , z c 1 , , z c n and z c Z N , C 1 i is set to be C 1 i g 2 x z c i for each i [ 0 , n ] and C 2 is set to be C 2 g 2 x z c . The semi-functional index is { C 10 , C 11 , , C 1 n , C 2 } .
Semi-functional trapdoor: We denote the generator of the subgroup G 2 by g 2 , and create the semi-functional trapdoor as follows. A normal trapdoor K j 0 , K j 1 , , K j n , K j is constructed by the encryption algorithm, where j [ 1 , m ] . Choosing ( n + 2 ) m + 1 random elements ξ , z k j 0 , z k j 1 , , z k j n and z k j Z N , K j i is set to be K j i g 2 ξ z k j i for each i [ 0 , n ] and K j is set to be K j g 2 ξ z k j . The semi-functional trapdoor is { K j 0 , K j 1 , , K j n , K j } .
If we want to decrypt the semi-functional index by utilizing the semi-functional trapdoor, an additional factor M j = e ^ ( g 2 , g 2 ) x ξ ( z c z k j i = 0 n z c i z k j i ) will be generated for each j [ 1 , m ] .
The security of PEDK-2 depends on GSD Assumption. The proof process is based a hybrid method in which a set of games will be proven to be undistinguishable. We list these games as follows.
  • G a m e R e a l : This game is the original security game.
  • G a m e R e s t r i c t e d : Suppose that the keyword set W = { w 1 , w 2 , , w n } is one of the challenge keyword sets. We construct an n-degree polynomial 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 1 x + a 0 . This game is identical to the real game except that the attacker is not allowed to obtain a trapdoor in which the corresponding keyword set does not contain any keyword w which satisfies i = 0 n a i H 1 ( w ) i = 0 m o d p 2 . This restriction will be kept throughout the following games.
  • G a m e k : For each k [ 0 , q ] , we define G a m e k identical to G a m e R e s t r i c t e d except that A is given the semi-functional index. Moreover, the first k trapdoors are semi-functional and the rest are normal. In G a m e 0 , the trapdoors sent to A are normal, but the index is semi-functional. In G a m e q , both trapdoor and index are in the semi-functional form.
  • G a m e F i n a l k : Letting the keyword set W = { w 1 , w 2 , , w n } be one of the challenge keyword sets, we construct an n-degree polynomial f ( x ) mentioned above. Compared with G a m e q , the index in this game is a semi-functional encryption of a challenge vector that its first k elements are random and the rest of the elements are { a k , a k + 1 , , a n } , where k [ 0 , n ] .
Obviously, G a m e F i n a l 0 is a game in which the index is a semi-functional encryption of a normal keyword set, while G a m e F i n a l n is a game in which the index is a semi-functional encryption of a random keyword set. The essence of the security proof is applying the following lemmas to verify that these games are indistinguishable.
Lemma 1.
If there is a probabilistic polynomial time algorithm A such that A d v G a m e R e a l A A d v G a m e R e s t r i c t e d A = ϵ , then a PPT algorithm B with advantage ≥ ϵ 3 in breaking GSD Assumption can be created.
Lemma 2.
If there is a PPT algorithm A such that A d v G a m e R e s t r i c t e d A A d v G a m e 0 A = ϵ , then a PPT algorithm B with advantage ϵ in breaking a GSD Assumption can be created.
Lemma 3.
For each k [ 0 , q ] , if there is a PPT algorithm A such that A d v G a m e k 1 A A d v G a m e k A = ϵ , then a PPT algorithm B with advantage ϵ in breaking the GSD Assumption can be created.
Lemma 4.
For each k [ 0 , n ] , suppose that there exists a PPT algorithm A such that A d v G a m e F i n a l k 1 A A d v G a m e F i n a l k A = ϵ . Then, a PPT algorithm B with advantage ϵ in breaking GSD Assumption can be created.
Considering the length of the article and the coherence of the article structure, the proofs of Lemmas 1–4 are given in Appendix A.
Theorem 1.
PEDK-2 scheme is secure if Assumptions 1, 2, 3, and 4 hold.
Proof. 
If Assumptions 1, 2, 3, and 4 hold, G a m e R e a l is indistinguishable from G a m e F i n a l n based on the previous lemmas that have been proved. In G a m e F i n a l n , β value is information-theoretically concealed from the attacker. According to this, we argue that the attacker fails to obtain any advantage in breaking PEDK-2 scheme. □

5. Performance Evaluation

5.1. Theoretical Analysis

According to Table 1, there are two previous PEDK schemes needed to be compared. One can be regarded as a combination of the conversion approach described in Section 1 and the most efficient IPE scheme given in [22] (For simplicity, we denote this scheme with PEDK-0.). The other PECDK is introduced in [5]. In the rest of this subsection, we will compare the proposed schemes (PEDK-1 and PEDK-2) with PEDK-0 and PECDK.
Let | T e | and | T 4 e | be the time cost for a pairing operation [33] on G and G 4 , and | T G | and | T 4 G | be the time cost for the power operation on G and G 4 , where G and G 4 are a group of a prime order and a composite group of an order N 4 = p 1 p 2 p 3 p 4 , respectively. For evaluating the time complexity, we only take these two operations into account since the time cost of these two operations is much more than that of other operations like group add operation. The theoretical analysis of time complexity is shown in Table 2.
We denote the size of an element of G and G 4 by | G | and | G 4 | , and that of G T and G 4 T by | G T | and | G 4 T | respectively. The comparison result of space complexity is shown in Table 3.
According to the Table 2 and Table 3, it is easy to find that the efficiency of the proposed schemes is better than PEDK-0. Note that N D is a large integer and seen as the number of keywords in a dictionary, and N D is much bigger than n in general. Therefore, we argue that the proposed schemes has better performance on time and space complexity than PECDK one.

5.2. Experimental Results

In our experiments, we build a group of artificial keyword sets with a different number of keywords in each set (i.e., n = 5 ; 10 ; 15 ; 20 ; 25 ), where each keyword set can be seen as an index of a document. In each keyword set, we denote each keyword as a unique integer in the range [ 0 , 5000 ] , where 5000 can be regarded as the number of different words in artificial keyword sets. We encrypted each keyword set with PEDK-1 and PEDK-2, respectively, and stored these encrypted indices on our machine. After this, we randomly performed some queries over the stored indices. In addition, we use the IPE scheme introduced in [22] to quantify the efficiency of PEDK-0 and PECDK. We applied the Java Pairing Based Cryptography library (JPBC) [35] to realize our schemes. The experimental environment is under 8 GB memory and Intel(R) Core(TM) [email protected] CPU (Xinyang, Henan province, China). Moreover, our construction is based on the Type A pairing whose base field size is 512-bit. The security level is identical to 1024-bit DLOG [35].
A. Performance of PEDK-0 and PECDK.
According to the analysis in Section 1, we know that the main method for constructing PEDK-0 is converting the index and query keywords into a predicate and attribute vector, respectively. By using predicate and attribute vectors, we can apply an IPE scheme to build a PEDK-0 scheme. Note that the length of predicate and attribute vectors is linear with O ( ( n + 1 ) m ) . Even if m = 5 and n = 5 , the length of vector is 6 5 . In addition, the PECDK scheme [5] is also based on the IPE scheme, where the the length of predicate and attribute vectors is linear with O ( N D ) . For the sake of simplicity, we test the performance of the IPE scheme [22] under N = { 5 , 10 , 15 , , 50 } , where N denotes the dimension of the predicate and attribute vectors, and then inferred that the efficiency of PEDK-0 and PECDK needed to be improved.
From Figure 2a, we find that the time cost of key generation, index building and trapdoor generation is linear with O ( N 2 ) , and that of testing is linear with O ( N ) . From Figure 2b, the space cost of indices and trapdoors is linear with O ( N ) , and that of keys is linear with O ( N ) . Even if N is very small, the time and space consumptions cannot be ignored. When n and m are very large, N will become very large (Note that N is linear with O ( ( n + 1 ) m ) ), which makes PEDK-0 ineffective. Moreover, the vocabulary size ( N D ) is commonly linear with O ( 10 6 ) [36]. Considering that N = N D in this case, we think the efficiency of PECDK is relatively low.
B. Performance Comparison between PEDK-1 and PEDK-2
B.1: Time Overhead. Impact of the keyword size (n). For a query with five keywords, Figure 3 shows that:
(1)
Figure 3a–c show that the execution time of key generation, index building and trapdoor generation is linear with O ( n 2 ) in PEDK-1, while O ( n ) in PEDK-2. Since the PEDK-1 scheme is based on the dual pairing vector space DPVS, the PEDK-2 has a better performance in the key generation, index building and trapdoor generation phase; and
(2)
Figure 3d indicate that the running time of testing in PEDK-1 and PEDK-2 is linear with O ( n ) , and the time cost in PEDK-2 is nearly four times more than that in PEDK-1 since the pairing operations in a composite group are more time-consuming than that in a prime one.
Impact of the keyword size (m). According to the analysis in Section 5.1, we know that m only affects algorithms of trapdoor generation and testing. For an index with 25 keywords ( n = 25 ), Figure 4 shows that the time consumption in trapdoor generation and testing are linear with O ( m ) . Specifically, the execution time of trapdoor generation in the PEDK-2 scheme is less than that in the PEDK-1 scheme, while the time cost for testing in the PEDK-2 scheme is more than that in the PEDK-1 scheme.
B.2: Storage Overhead.
As shown in Figure 5, we can argue that:
(1)
Figure 5a–c show the impact of n on the storage size of keys (pk and sk), indices and trapdoors. Figure 5a verifies that the storage size of keys is linear with O ( n 2 ) in PEDK-1, while O ( n ) in PEDK-2. Given a fixed parameter m, Figure 5b,c show that the storage size of indices and trapdoors is linear with O ( n ) , and PEDK-2 needs less space overhead than PEDK-1 since PEDK-2 needs less group elements in the index and trapdoor.
(2)
Because the parameter m only affects the phases of trapdoor and test, we only present Figure 5d to show the impact of m on the storage size of trapdoors. Given a fixed parameter n, both the trapdoor size in PEDK-1 and that in PEDK-2 are linear with O ( m ) . Due to owning less elements in the trapdoor, the space consumption in PEDK-2 is still less than that in PEDK-1.

6. Conclusions

In this paper, we proposed a new approach that can convert the operation of disjunctive keyword search into inner product operations among vectors. Based on this approach, we give two concrete schemes which are better than previous schemes and proven to be secure under an adaptive security model.
To justify the efficiency of the proposed schemes, we present detailed theoretical analysis and experimental results. These results show that: (1) compared with previous PEDK schemes, the proposed two schemes are more efficient; (2) the first proposed scheme based on the IPE has better performance in testing phase; and (3) the second one achieves better time and space complexities on key generation, index building and trapdoor generation by taking advantage of the composite order bilinear groups. Moreover, because each document has its own encrypted index, we can easily accelerate the search process by utilizing the technique of parallel computation. The search process is preformed by the cloud server, which has strong computing power. Considering this actual situation and the experimental result, we argue that our scheme is more practical in the cloud platform.
In conclusion, our proposed schemes are beneficial for applications with computation and memory limitations. The future work is to create efficient encryption schemes supporting more complex query condition, e.g., simple boolean keyword search like q 1 q 2 q 3 .

Author Contributions

Conceptualization, Y.Z. and Y.L.; Methodology, Y.Z. and Y.L.; Software, Y.Z. and Y.W.; Validation, Y.Z., Y.L. and Y.W.; Formal Analysis, Y.Z. and Y.L.; Investigation, Y.Z. and Y.L.; Resources, Y.Z. and Y.L.; Data Curation, Y.Z. and Y.W.; Writing—Original Draft Preparation, Y.Z.; Writing—Review and Editing, Y.Z., Y.L. and Y.W.; Visualization, Y.Z.; Supervision, Y.Z.; Project Administration, Y.Z.; Funding Acquisition, Y.Z. and Y.L.

Funding

This research was funded by the National Natural Science Foundation of China under Grant No. 61402393, 61601396, and Nanhu Scholars Program for Young Scholars of XYNU.

Acknowledgments

The authors gratefully acknowledge the National Natural Science Foundation of China under Grant No. 61402393, 61601396, and Nanhu Scholars Program for Young Scholars of XYNU.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
PECKPublic key encryption with conjunctive keyword search
PEDKPublic key encryption with disjunctive keyword search
PECDKPublic key encryption with conjunctive and disjunctive keyword search
IPEInner product encryption
SESearchable encryption
SSESearchable symmetric key encryption
SPESearchable public key encryption
PKPublic key
SKSecret key
DPVSDual pairing vector space
XYNUXinyang normal university

Appendix A

Proof of Lemma 1.
 
Proof. 
Given D = ( N = p 1 p 2 p 3 p 4 , G , G T , e ^ , g 1 G p 1 , g 3 G p 3 , g 4 G p 4 ) , B simulate G a m e R e a l with A. With probability ϵ , A can generate a keyword w and { a 0 , a 1 , , a n } such that i = 0 n a i H 1 ( w ) i m o d N 0 and i = 0 n a i H 1 ( w ) i m o d p 2 = 0 . By computing a = g c d ( i = 0 n a i H 1 ( w ) i , N ) , B uses w and { a 0 , a 1 , , a n } to generate a non-trivial factor of N . Let b = N a . Considering that p 2 divides a and N = a b = p 1 p 2 p 3 p 4 , we focus on three cases:
  • Case 1: p 1 divides b,
  • Case 2: p 1 can not divide b and p 4 can divide b,
  • Case 3: a = p 1 p 2 p 4 and b = p 3 .
The probability of at least one of these cases occurring is larger than ϵ 3 . In case 1, given D and T where T G p 1 or T G p 1 p 2 , B computes T b . If T b is the identity element of G T , then T G p 1 . Otherwise, T G p 1 p 2 . Therefore, B can break the GSD assumption.
Case 2 is the same as Case 1 except that T G p 4 or T G p 2 p 4 . B computes T b . If T b is the identity element of G T , then T G p 4 . Otherwise, T G p 2 p 4 .
In case 3, given D = ( N = p 1 p 2 p 3 p 4 , G , G T , e ^ , D 1 D 2 G p 1 p 2 , B 2 B 3 G p 2 p 3 , g 1 G p 1 , g 3 G p 3 , g 4 G p 4 ) and T where T G p 1 p 3 or T G p 1 p 2 p 3 , B computes e ^ ( T , ( B 2 B 3 ) b ) . If e ^ ( T , ( B 2 B 3 ) b ) is the identity element of G T , then T G p 1 p 3 . Otherwise, T G p 1 p 2 p 3 . □
Proof of Lemma 2.
 
Proof. 
Given D = ( N = p 1 p 2 p 3 p 4 , G , G T , e ^ , g 1 G p 1 , g 3 G p 3 , g 4 G p 4 ) , and T where T G p 1 or T G p 1 p 2 , B can simulate G a m e 0 or G a m e R e a l with A. To generate the public key, B chooses the function H 1 and random exponents a, c, u, a i , b i , α i and β i Z N for each i [ 0 , n ] and sets A 1 β i A 4 i = g 1 a β i g 4 b i , A 1 α i B 4 i = g 1 a α i g 4 a i and U 1 U 4 = g 1 u g 4 c for each i [ 0 , n ] . Obviously, U 1 = g 1 u . B sends public key { N , H 1 , U 1 U 4 , A 1 β i A 4 i , A 1 α i B 4 i , g 4 } to A. When A asks B for a key of a keyword set Q = { q 1 , q 2 , , q m } where m n , B chooses random exponents r j , k j 0 , k j 1 , , k j n , k j Z N and two random vector bases B = ( b 1 , , b m ) T , B * = ( b 1 * , , b m * ) T . Suppose that b t = { b t 1 , b t 2 , , b t m } and b t * = { b t 1 * , b t 2 * , , b t m * } where t [ 1 , m ] , K j i = g 1 u r 1 b 1 j H 1 ( q 1 ) i + r 2 b 2 j H 1 ( q 2 ) i + + r m b m j H 1 ( q m ) i β i g 3 k j i and K j = g 1 a i = 0 n α i ( r 1 b 1 j H 1 ( q 1 ) i + r 2 b 2 j H 1 ( q 2 ) i + + r m b m j H 1 ( q m ) i ) β i g 3 k j can be obtained, where i [ 0 , n ] , j [ 1 , m ] .
After that, A sends B two challenge keyword sets, W ( 0 ) = { w 1 ( 0 ) , w 2 ( 0 ) , , w n ( 0 ) } and W ( 1 ) = { w 1 ( 1 ) , w 2 ( 1 ) , , w n ( 1 ) } . B randomly chooses β { 0 , 1 } and computes a n-degree polynomial f ( x ) mentioned above. Given C 40 , C 41 , …, C 4 n and C 4 G p 4 randomly, B generates the index as follows:
C 1 i = T a ( β i x i ( β ) + α i ) C 4 i   and   C 2 = T u C 4   where   i [ 0 , n ] .
If T G p 1 p 2 , suppose that T = g 1 s g 2 s , then this is a semi-functional index with z c i = s a ( β i x i ( β ) + α i ) and z c = s u . Since a, u, α i , β i are chosen randomly modulo N, we can find that the value of z c i and z c module p 2 is unrelated with the value of a, u, α i , β i module p 1 where i [ 0 , n ] . The index is normal if T G p 1 . Therefore, if A can distinguish the G a m e R e s t r i c t e d from G a m e 0 with advantage ϵ , then the advantage of B using the output of A to break Assumption 1 is ϵ . □
Proof of Lemma 3.
 
Proof. 
Given D = ( N = p 1 p 2 p 3 p 4 , G , G T , e ^ , g 1 G p 1 , g 3 G p 3 , g 4 G p 4 , D 1 D 2 G p 1 p 2 , B 2 B 3 G p 2 p 3 ) and T where T G p 1 p 3 or T G p 1 p 2 p 3 , B can simulate G a m e k 1 or G a m e k with A. Choosing random exponents a, u, c, a i , b i , α i and β i Z N for each i [ 0 , n ] , B sets A 1 β i A 4 i = g 1 a β i g 4 b i , A 1 α i B 4 i = g 1 a α i g 4 a i and U 1 U 4 = g 1 u g 4 c for each i [ 0 , n ] , and sends p k = { N , H 1 , A 1 β i A 4 i , A 1 α i B 4 i , g 4 , U 1 U 4 } to A. Any time A asks the l-th trapdoor for a keyword set Q ( l ) = ( q 1 ( l ) , q 2 ( l ) , , q m ( l ) ) , where m n , B generates the normal trapdoor or the semi-function trapdoor for the keyword set Q ( l ) .
For l < k , B creates a semi-function trapdoor. Choosing random exponents r j ( l ) , z j ( l ) , t j i ( l ) Z N and two random vector bases B ( l ) = ( b 1 ( l ) , , b m ( l ) ) T and B ( l ) * = ( b 1 ( l ) * , , b m ( l ) * ) T , where i [ 0 , n ] , j [ 1 , m ] , suppose that b t ( l ) = { b t 1 ( l ) , b t 2 ( l ) , , b t m ( l ) } and b t ( l ) * = { b t 1 ( l ) * , b t 2 ( l ) * , , b t m ( l ) * } , B computes:
K j i = g 1 u r 1 ( l ) b 1 j ( l ) H 1 ( q 1 ( l ) ) i + r 2 ( l ) b 2 j ( l ) H 1 ( q 2 ( l ) ) i + + r m ( l ) b m j ( l ) H 1 ( q m ( l ) ) i β i ( B 2 B 3 ) t j i ( l )   and
K j = g 1 a i = 0 n α i ( r 1 ( l ) b 1 j ( l ) H 1 ( q 1 ( l ) ) i + r 2 ( l ) b 2 j ( l ) H 1 ( q 2 ( l ) ) i + + r m ( l ) b m j ( l ) H 1 ( q m ( l ) ) i ) β i ( B 2 B 3 ) z j ( l ) .
It is identical to the semi-functional trapdoor with g 2 ξ z k j = B 2 z j ( l ) and g 2 ξ z k j i = B 2 t j i ( l ) .
For l > k , B generates a normal trapdoor. Randomly selecting exponents r j ( l ) , z j ( l ) and t j i ( l ) Z N and two random vector bases B ( l ) = ( b 1 ( l ) , , b m ( l ) ) T , B ( l ) * = ( b 1 ( l ) * , , b m ( l ) * ) T , where i [ 0 , n ] , j [ 1 , m ] , suppose that b t ( l ) = { b t 1 ( l ) , b t 2 ( l ) , , b t m ( l ) } and b t ( l ) * = { b t 1 ( l ) * , b t 2 ( l ) * , , b t m ( l ) * } , B sets:
K j i = g 1 u r 1 ( l ) b 1 j ( l ) H 1 ( q 1 ( l ) ) i + r 2 ( l ) b 2 j ( l ) H 1 ( q 2 ( l ) ) i + + r m ( l ) b m j ( l ) H 1 ( q m ( l ) ) i β i ( g 3 ) t j i ( l ) ,
K j = g 1 a i = 0 n α i ( r 1 ( l ) b 1 j ( l ) H 1 ( q 1 ( l ) ) i + r 2 ( l ) b 2 j ( l ) H 1 ( q 2 ( l ) ) i + + r m ( l ) b m j ( l ) H 1 ( q m ( l ) ) i ) β i ( g 3 ) z j ( l ) .
To create the k-th requested trapdoor, B chooses random exponents r j ( k ) , z j ( k ) and t j i ( k ) Z N and two random vector bases B ( k ) = ( b 1 ( k ) , , b m ( k ) ) T , B ( k ) * = ( b 1 ( k ) * , , b m ( k ) * ) T , where i [ 0 , n ] , j [ 1 , m ] . Suppose that b t ( k ) = { b t 1 ( k ) , b t 2 ( k ) , , b t m ( k ) } and b t ( k ) * = { b t 1 ( k ) * , b t 2 ( k ) * , , b t m ( k ) * } , B sets:
K j i = T u r 1 ( k ) b 1 j ( k ) H 1 ( q 1 ( k ) ) i + r 2 ( k ) b 2 j ( k ) H 1 ( q 2 ( k ) ) i + + r m ( k ) b m j ( k ) H 1 ( q m ( k ) ) i β i ( g 3 ) t j i ( k ) ,
K j = T a i = 0 n α i ( r 1 ( k ) b 1 j ( k ) H 1 ( q 1 ( k ) ) i + r 2 ( k ) b 2 j ( k ) H 1 ( q 2 ( k ) ) i + + r m ( k ) b m j ( k ) H 1 ( q m ( k ) ) i ) β i ( g 3 ) z j ( k ) .
Obviously, it can be found that:
z k j i = u r 1 ( k ) b 1 j ( k ) H 1 ( q 1 ( k ) ) i + r 2 ( k ) b 2 j ( k ) H 1 ( q 2 ( k ) ) i + + r m ( k ) b m j ( k ) H 1 ( q m ( k ) ) i β i ,
z k j = a i = 0 n α i ( r 1 ( k ) b 1 j ( k ) H 1 ( q 1 ( k ) ) i + r 2 ( k ) b 2 j ( k ) H 1 ( q 2 ( k ) ) i + + r m ( k ) b m j ( k ) H 1 ( q m ( k ) ) i ) β i .
After the trapdoor request phase, A sends B two challenge keyword sets, W ( 0 ) = { w 1 ( 0 ) , w 2 ( 0 ) , , w n ( 0 ) } and W ( 1 ) = { w 1 ( 1 ) , w 2 ( 1 ) , , w n ( 1 ) } . B randomly chooses a β { 0 , 1 } and generates the semi-functional index. B computes a n-degree polynomial f ( x ) mentioned above. Given C 40 , C 41 , …, C 4 n and C 4 G p 4 randomly, B generates the index as follows:
C 1 i = ( D 1 D 2 ) a ( β i a i ( β ) + α i ) C 4 i   and   C 2 = ( D 1 D 2 ) u C 4 ,
where i [ 0 , n ] .
Note that this sets z c = u and z c i = a ( β i x i ( β ) + α i ) . Since a, u, α i , β i are chosen randomly modulo N, we can find that the value of z c i and z c module p 2 is unrelated with the value of a, u, α i , β i module p 1 , where i [ 0 , n ] .
Let M j = i = 0 n z c i z k j i z c z k j = a u ( i = 0 n r 1 ( k ) b 1 j ( k ) a i ( β ) H 1 ( q 1 ( k ) ) i + i = 0 n r 2 ( k ) b 2 j ( k ) a i ( β ) H 1 ( q 2 ( k ) ) i + + i = 0 n r m ( k ) b m j ( k ) a i ( β ) H 1 ( q m ( k ) ) i ) . If it exists y [ 1 , m ] such that i = 0 n a i ( β ) H 1 ( q y ( k ) ) i = 0 m o d p 2 , there is j = 1 m M j b y j ( k ) * = 0 m o d p 2 . It means that, if i = 0 n a i ( β ) H 1 ( q y ( k ) ) i = 0 m o d p 2 , then A has queried an invalid key according to the additional modular restriction. Therefore, according to the G a m e R e s t r i c t e d , as long as it does not exist j [ 1 , m ] such that i = 0 n a i ( β ) H 1 ( q j ( k ) ) i = 0 m o d p 2 , we can find that z k j , z c , z k j i and z c i are randomly distributed to A for each i [ 0 , n ] , j [ 1 , m ] .
In addition, we observe that, if B tries to verify whether the k-th trapdoor is semi-functional by generating a semi-functional index of a keyword set W ( k ) = { w 1 ( k ) , w 2 ( k ) , , w n ( k ) } such that W ( k ) Q ( k ) , then B can find that the test algorithm can still work whether the k-th key is semi-functional or not due to j = 1 m M j b y j ( k ) * = 0 m o d p 2 , if Q j ( k ) W ( k ) .
Therefore, we argue that, if T G p 1 p 3 , then B has simulated G a m e k 1 properly. If T G p 1 p 2 p 3 , then B has simulated G a m e k properly . Thus, we can find that, if A can distinguish the G a m e k 1 from G a m e k with advantage ϵ , then the advantage of B using the output of A to break Assumption 1 is ϵ . □
Proof of Lemma 4.
 
Proof. 
Given D = ( N = p 1 p 2 p 3 p 4 , G , G T , e ^ , g 2 G p 2 , g 3 G p 3 , g 4 G p 4 , A 1 A 4 G p 1 p 4 , E 1 E 2 G p 1 p 2 ) and T where T G p 2 p 4 or T G p 1 p 2 p 4 , B can simulate G a m e F i n a l k 1 or G a m e F i n a l k with A. B chooses the function H 1 and random exponents c, u, α , a i , b i , α i , β i Z N for i [ 0 , n ] , and generates A 1 β i A 4 i = ( A 1 A 4 ) β i g 4 a i , A 1 α i B 4 i = ( A 1 A 4 ) α i g 4 b i , U 1 U 4 = ( A 1 A 4 ) u g 4 c . This implicitly sets U 1 = A 1 u . Then, B sends public key { N , H 1 , U 1 U 4 , A 1 β i A 4 i , A 1 α i B 4 i , g 4 } to A. Whenever A asks B for a key of a keyword set Q = { q 1 , q 2 , , q m } where m n , B chooses random exponents r j , k j 0 , k j 1 , , k j n , k j , w j 0 , w j 1 , , w j n , w j Z N and two random vector bases B = ( b 1 , , b m ) T , B * = ( b 1 * , , b m * ) T . Suppose that b t = { b t 1 , b t 2 , , b t m } , b t * = { b t 1 * , b t 2 * , , b t m * } , where t [ 1 , m ] , B creates the semi-functional trapdoor as follows:
K j i = ( E 1 E 2 ) u r 1 b 1 j H 1 ( q 1 ) i + r 2 b 2 j H 1 ( q 2 ) i + + r m b m j H 1 ( q m ) i β i g 2 w j i g 3 k j i ,
K j = ( E 1 E 2 ) a i = 0 n α i ( r 1 b 1 j H 1 ( q 1 ) i + r 2 b 2 j H 1 ( q 2 ) i + + r m b m j H 1 ( q m ) i ) β i g 2 w j g 3 k j ,
where i [ 0 , n ] , j [ 1 , m ] .
At some point, A sends B two challenge keyword sets, W ( 0 ) = { w 1 ( 0 ) , w 2 ( 0 ) , , w n ( 0 ) } and W ( 1 ) = { w 1 ( 1 ) , w 2 ( 1 ) , , w n ( 1 ) } . B randomly chooses β { 0 , 1 } and computes a n-degree polynomial f ( x ) mentioned above. Given C 40 , C 41 , …, C 4 n and C 4 G p 4 randomly and random elements x i , y i , r 2 , s Z N where i [ 0 , n ] , B generates the index as follows:
For each i < k :
C 1 i = ( A 1 A 4 ) x i g 2 y i C 4 i = A 1 x i C 24 ( i ) ,
where C 24 ( i ) = g 2 y i C 4 i A 4 x i .
For each i > k :
C 1 i = ( A 1 β i A 4 i ) s a i ( β ) × ( A 1 α i B 4 i ) s × g 2 y i C 4 i = A 1 s ( β i a i ( β ) + α i ) C 24 ( i ) ,
where C 24 ( i ) = g 2 y i A 4 i s a i ( β ) B 4 i s C 4 i .
For i = k :
C 1 k = ( A 1 β k A 4 k ) s a k ( β ) × ( A 1 α k B 4 k ) s × g 2 y k C 4 i × T = A 1 s ( β k a k ( β ) + α k ) C 24 ( k ) T ,
where C 24 ( k ) = g 2 y k A 4 k s a k ( β ) B 4 k s C 4 k .
For all i:
C 2 = ( U 1 U 4 ) s × g 2 r 2 C 4 = U 1 s R 24 ,
where R 24 = g 2 r 2 C 4 U 4 s .
Since A 1 A 4 is chosen randomly in G 1 and α i , β i , y i , u , s are chosen randomly in Z N , we can find that the value of z c i and z c module p 2 is unrelated with the value of s, u, α i , β i module p 1 , where i [ 0 , n ] .
If T G p 2 p 4 , there is a properly distributed semi-functional index with a challenge keyword set that its first k 1 elements are random while the rest elements are normal. In this case, B has properly simulated G a m e F i n a l k 1 . If T G p 1 p 2 p 4 , there is a properly distributed semi-functional index with a challenge keyword set that its first k elements are random and the rest elements are normal. In this case, B has simulated G a m e F i n a l k properly.
Therefore, we can find that, if A can distinguish the G a m e F i n a l k 1 from G a m e F i n a l k with advantage ϵ , then the advantage of B using the output of A to break Assumption 1 is ϵ . □

References

  1. Park, D.J.; Kim, K.; Lee, P.J. Public Key Encryption with Conjunctive Field Keyword Search. In Proceedings of the 5th International Workshop, WISA 2004, Jeju Island, Korea, 23–25 August 2004; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2004; Volume 3325, pp. 73–86. [Google Scholar]
  2. Hwang, Y.H.; Lee, P.J. Public Key Encryption with Conjunctive Keyword Search and Its Extension to a Multi-user System. In Proceedings of the First International Conference, Tokyo, Japan, 2–4 July 2007; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2007; Volume 4575, pp. 2–22. [Google Scholar]
  3. Boneh, D.; Waters, B. Conjunctive, Subset, and Range Queries on Encrypted Data. In Proceedings of the 4th Theory of Cryptography Conference, TCC 2007, Amsterdam, The Netherlands, 21–24 February 2007; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2007; Volume 4392, pp. 535–554. [Google Scholar]
  4. Katz, J.; Sahai, A.; Waters, B. Predicate encryption supporting disjunctions, polynomial equations, and inner products. J. Cryptol. 2013, 26, 191–224. [Google Scholar] [CrossRef]
  5. 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]
  6. 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; IEEE Computer Society Press: Los Alamitos, CA, USA, 2000; pp. 44–55. [Google Scholar]
  7. Goh, E.J. Secure indexes. IACR Cryptol. ePrint Arch. 2003, 2003, 216. [Google Scholar]
  8. Li, J.; Lin, X.; Zhang, Y.; Han, J. KSF-OABE: Outsourced attribute-based encryption with keyword search function for cloud storage. IEEE Trans. Ser. Comput. 2017, 10, 715–725. [Google Scholar] [CrossRef]
  9. Li, J.; Shi, Y.; Zhang, Y. Searchable Ciphertext-Policy Attribute-Based Encryption with Revocation in Cloud Storage. Int. J. Commun. Syst. 2017, 30, e2942. [Google Scholar] [CrossRef]
  10. Cash, D.; Jarecki, S.; Jutla, C.; Krawczyk, H.; Roşu, M.C.; Steiner, M. Highly-Scalable Searchable Symmetric Encryption with Support for Boolean Queries. In Proceedings of the 33rd Annual Cryptology Conference, Santa Barbara, CA, USA, 18–22 August 2013; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2013; pp. 353–373. [Google Scholar]
  11. Cash, D.; Jaeger, J.; Jarecki, S.; Jutla, C.S.; Krawczyk, H.; Rosu, M.C.; Steiner, M. Dynamic Searchable Encryption in Very-Large Databases: Data Structures and Implementation. Netw. Distrib. Syst. Secur. Symp. 2014, 14, 23–26. [Google Scholar]
  12. Boldyreva, A.; Chenette, N.; Lee, Y.; O’neill, A. Order-Preserving Symmetric Encryption. In Proceedings of the 28th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Cologne, Germany, 26–30 April 2009; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2009; pp. 224–241. [Google Scholar]
  13. Zerr, S.; Olmedilla, D.; Nejdl, W.; Siberski, W. Zerber+R:top-k retrieval from a confidential index. In Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology, Saint Petersburg, Russia, 24–26 March 2009; pp. 439–449. [Google Scholar]
  14. Wang, C.; Cao, N.; Ren, K.; Lou, W. Enabling Secure and Efficient Ranked Keyword Search over Outsourced Cloud Data. IEEE Trans. Parallel Distrib. Syst. 2012, 23, 1467–1479. [Google Scholar] [CrossRef]
  15. 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]
  16. 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]
  17. Boneh, D.; Di Crescenzo, G.; Ostrovsky, R.; Persiano, G. Public Key Encryption with Keyword Search. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, 2–6 May 2004; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2004; Volume 3027, pp. 506–522. [Google Scholar]
  18. Dan, B.; Franklin, M. Identity-Based Encryption from the Weil Pairing. In Society for Industrial and Applied Mathematics; Springer: Berlin/Heidelberg, Germany, 2001. [Google Scholar]
  19. 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 25th Annual International Cryptology Conference, Santa Barbara, CA, USA, 14–18 August 2005; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2005; Volume 3621, pp. 205–222. [Google Scholar]
  20. Li, J.; Yao, W.; Zhang, Y.; Qian, H.; Han, J. Flexible and fine-grained attribute-based data storage in cloud computing. IEEE Trans. Ser. Comput. 2017, 10, 785–796. [Google Scholar] [CrossRef]
  21. Lewko, A.; Okamoto, T.; Sahai, A.; Takashima, K.; Waters, B. Fully secure functional encryption: Attribute-based encryption and (hierarchical) inner product encryption. In Proceedings of the 29th Annual International Conference on the Theory and Applications of Cryptographic Techniques, French Riviera, France, 30 May–3 June 2010; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2010; Volume 6110, pp. 62–91. [Google Scholar]
  22. 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]
  23. Zhang, B.; Zhang, F. An efficient public key encryption with conjunctive-subset keyword search. J. Netw. Comput. Appl. 2011, 34, 262–267. [Google Scholar] [CrossRef]
  24. Song, C.; Liu, X.; Yan, Y. Efficient Public Key Encryption with Field-Free Conjunctive Keywords Search. In Proceedings of the 6th International Conference, INTRUST 2014, Beijing, China, 16–17 December 2014; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2014; pp. 394–406. [Google Scholar]
  25. Wang, B.; Hou, Y.; Li, M.; Wang, H.; Li, H. Scalable multidimensional range search over encrypted cloud data with tree-based index. In Proceedings of the ACM Symposium on Information, Computer and Communications Security, Kyoto, Japan, 4–6 June 2014; pp. 111–122. [Google Scholar]
  26. Ding, M.; Gao, F.; Jin, Z.; Zhang, H. An efficient Public Key Encryption with Conjunctive Keyword Search scheme based on pairings. In Proceedings of the 2012 3rd IEEE International Conference on Network Infrastructure and Digital Content, Beijing, China, 21–23 September 2013; pp. 526–530. [Google Scholar]
  27. Hwang, M.S.; Hsu, S.T.; Lee, C.C. A New Public Key Encryption with Conjunctive Field Keyword Search Scheme. Inf. Technol. Control. 2014, 43, 277–288. [Google Scholar] [CrossRef]
  28. Miao, Y.; Ma, J.; Liu, X.; Zhang, J.; Liu, Z. VKSE-MO: Verifiable keyword search over encrypted data in multi-owner settings. Inf. Sci. 2017, 60, 122105. [Google Scholar] [CrossRef]
  29. Xu, P.; Wu, Q.; Wang, W.; Susilo, W.; Domingo-Ferrer, J.; Jin, H. Generating Searchable Public-Key Ciphertexts With Hidden Structures for Fast Keyword Search. IEEE Trans. Inf. Forensics Secur. 2017, 10, 1993–2006. [Google Scholar]
  30. 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]
  31. Zhu, H.; Mei, Z.; Wu, B.; Li, H.; Cui, Z. Fuzzy Keyword Search and Access Control over Ciphertexts in Cloud Computing. In Proceedings of the 22nd Australasian Conference, ACISP 2017, Auckland, New Zealand, 3–5 July 2017; Lecture Notes in Computer Science. Springer: Cham, Germany, 2017; pp. 248–265. [Google Scholar]
  32. Boneh, D.; Goh, E.; Nissim, K. Evaluating 2-dnf formulas on ciphertexts. In Proceedings of the Second Theory of Cryptography Conference, TCC 2005, Cambridge, MA, USA, 10–12 February 2005; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2005; Volume 3378, pp. 325–342. [Google Scholar]
  33. Bellare, M.; Waters, B.; Yilek, S. Identity-based encryption secure against selective opening attack. In Proceedings of the 8th Theory of Cryptography Conference, TCC 2011, Providence, RI, USA, 28–30 March 2011; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2011. [Google Scholar]
  34. Waters, B. Dual system encryption: Realizing fully secure IBE and HIBE under simple assumptions. In Proceedings of the 29th Annual International Cryptology Conference, Santa Barbara, CA, USA, 16–20 August 2009; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2009; Volume 5677, pp. 619–636. [Google Scholar]
  35. Caro, A.D. The Java Pairing Based Cryptography Library (JPBC). 2013, pp. 2–24. Available online: http://gas.dia.unisa.it/projects/jpbc/ (accessed on 4 December 2013).
  36. Yang, Z.; Yang, D.; Dyer, C.; He, X.; Smola, A.; Hovy, E. Hierarchical Attention Networks for Document Classification. In Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, San Diego, CA, USA, 12–17 June 2017; pp. 1480–1489. [Google Scholar]
Figure 1. Architecture of the search over encrypted cloud data.
Figure 1. Architecture of the search over encrypted cloud data.
Information 09 00272 g001
Figure 2. Impact of N on the time cost of key generation, index construction, trapdoor generation and testing in PEDK-0 and PECDK (a); and impact of N on the storage cost of the size of keys, indices and trapdoors in PEDK-0 and PECDK (b). ( D = 100 , N = { 5 , 10 , 15 , 20 , 25 } ).
Figure 2. Impact of N on the time cost of key generation, index construction, trapdoor generation and testing in PEDK-0 and PECDK (a); and impact of N on the storage cost of the size of keys, indices and trapdoors in PEDK-0 and PECDK (b). ( D = 100 , N = { 5 , 10 , 15 , 20 , 25 } ).
Information 09 00272 g002
Figure 3. Impact of n on the time cost of key generation (a), index construction (b), trapdoor generation (c) and testing (d) in PEDK-1 and PEDK-2. ( D = 100 , m = 5 , n = { 5 , 10 , 15 , 20 , 25 } ).
Figure 3. Impact of n on the time cost of key generation (a), index construction (b), trapdoor generation (c) and testing (d) in PEDK-1 and PEDK-2. ( D = 100 , m = 5 , n = { 5 , 10 , 15 , 20 , 25 } ).
Information 09 00272 g003
Figure 4. Impact of m on the time cost of trapdoor generation (a) and testing (b) in PEDK-1 and PEDK-2. ( D = 100 , n = 25 , m = { 5 , 10 , 15 , 20 , 25 } ).
Figure 4. Impact of m on the time cost of trapdoor generation (a) and testing (b) in PEDK-1 and PEDK-2. ( D = 100 , n = 25 , m = { 5 , 10 , 15 , 20 , 25 } ).
Information 09 00272 g004
Figure 5. Impact of n on the storage cost of keys (a), indices (b) and trapdoors (c) in PEDK-1 and PEDK-2 ( D = 100 , m = 5 , n = { 5 , 10 , 15 , 20 , 25 } ); impact of m on the storage cost of trapdoors (d) in PEDK-1 and PEDK-2 ( D = 100 , n = 5 , m = { 5 , 10 , 15 , 20 , 25 } ).
Figure 5. Impact of n on the storage cost of keys (a), indices (b) and trapdoors (c) in PEDK-1 and PEDK-2 ( D = 100 , m = 5 , n = { 5 , 10 , 15 , 20 , 25 } ); impact of m on the storage cost of trapdoors (d) in PEDK-1 and PEDK-2 ( D = 100 , n = 5 , m = { 5 , 10 , 15 , 20 , 25 } ).
Information 09 00272 g005
Table 1. Summary of previous searchable public key encryption schemes.
Table 1. Summary of previous searchable public key encryption schemes.
TypeRef.Query ConditionAdditional Security MeasuresFast Search
Standard SPE[23]Conjunctive keyword search--
[24]Conjunctive keyword search--
[22]Disjunctive keyword search--
[3]Range, conjunctive keywords, subset search--
[5]Conjunctive and disjunctive keyword search--
[25]Range search--
Special SPE[26]Conjunctive keyword searchVerifiable-
[27]Conjunctive keyword searchVerifiable-
[28]Single keyword searchVerifiable and Access control-
[29]Single keyword search-Yes
[30]Single keyword search-Yes
[31]Fuzzy keyword searchAccess control-
The query condition represents the search mode supported by the scheme; the additional security mechanism added in the scheme involves access control and the verification of query results; fast search means that the work is committed to building a scheme whose search speed is similar to the searchable symmetric encryption scheme.
Table 2. Comparison with the previous schemes in time complexity.
Table 2. Comparison with the previous schemes in time complexity.
PEDK-0PECDKPEDK-1PEDK-2
Key Generation O ( ( n + 1 ) m ) | T G | + | T e | O ( N D 2 ) | T G | O ( n 2 ) | T G | + | T e | O ( n ) | T 4 G | + | T 4 e |
Index Building O ( ( n + 1 ) m ) | T G | O ( N D ) | T G | O ( n 2 ) | T G | O ( n ) | T 4 G |
Trapdoor Generation O ( ( n + 1 ) m ) | T G | O ( N D ) | T G | O ( n 2 · m ) | T G | O ( n · m ) | T 4 G |
Testing O ( ( n + 1 ) m ) | T e | O ( N D ) | T G | O ( n 2 ) | T e | O ( n ) | T 4 e |
Table 3. Comparison with the previous schemes in space complexity.
Table 3. Comparison with the previous schemes in space complexity.
PEDK-0PECDKPEDK-1PEDK-2
PK size O ( ( n + 1 ) m ) | G | + | G T | O ( N D 2 ) | G | O ( n 2 ) | G | + | G T | O ( n ) | G 4 | + | G 4 T |
SK size O ( ( n + 1 ) m ) | G | O ( N D 2 ) | G | O ( n 2 ) | G | O ( n ) | G 4 |
Trapdoor size O ( ( n + 1 ) m ) | G | O ( N D ) | G | ( 4 n + 2 ) | G | ( n + 1 ) | G 4 |
Index size O ( ( n + 1 ) m ) | G | + | G T | O ( N D ) | G | ( 4 n + 2 ) | G | + | G T | ( n + 1 ) | G 4 | + | G 4 T |

Share and Cite

MDPI and ACS Style

Zhang, Y.; Li, Y.; Wang, Y. Efficient Public Key Encryption with Disjunctive Keywords Search Using the New Keywords Conversion Method. Information 2018, 9, 272. https://doi.org/10.3390/info9110272

AMA Style

Zhang Y, Li Y, Wang Y. Efficient Public Key Encryption with Disjunctive Keywords Search Using the New Keywords Conversion Method. Information. 2018; 9(11):272. https://doi.org/10.3390/info9110272

Chicago/Turabian Style

Zhang, Yu, Yin Li, and Yifan Wang. 2018. "Efficient Public Key Encryption with Disjunctive Keywords Search Using the New Keywords Conversion Method" Information 9, no. 11: 272. https://doi.org/10.3390/info9110272

APA Style

Zhang, Y., Li, Y., & Wang, Y. (2018). Efficient Public Key Encryption with Disjunctive Keywords Search Using the New Keywords Conversion Method. Information, 9(11), 272. https://doi.org/10.3390/info9110272

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