Verifiable_Public_Key_Encryption_With_Keyword_Search_Based_on_Homomorphic_Encryption_in_Multi-User_Setting
Verifiable_Public_Key_Encryption_With_Keyword_Search_Based_on_Homomorphic_Encryption_in_Multi-User_Setting
ABSTRACT Data security and privacy concerns are important issues in cloud storage. In this paper,
we propose a verifiable public key encryption with keyword search based on homomorphic encryption in
multi-user setting. By employing van Dijk, Gentry, Halevi, and Vaikuntanathan homomorphic encryption,
the proposed scheme enables the cloud server to generate an inverted encryption index structure without using
a query trapdoor, which significantly improves the efficiency of search. On the other hand, the proposed
scheme presents a new authenticated data structure based on the inverted encryption index structure, and
shows how to apply it to verify the correctness and completeness of search results. Moreover, the proposed
scheme allows multiple users to perform encrypted keyword search over encrypted data. Finally the proposed
scheme is proved secure based on the approximate-GCD problem. The experiment results demonstrate the
proposed scheme has less computation overhead than the existing schemes.
2169-3536 2018 IEEE. Translations and content mining are permitted for academic research only.
VOLUME 6, 2018 Personal use is also permitted, but republication/redistribution requires IEEE permission. 42445
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
D. N. Wu et al.: Verifiable PEKS Based on Homomorphic Encryption in Multi-User Setting
schemes, the user must give the server a query trapdoor, The scheme performance is evaluated in Section 6. Finally,
the server can test whether the one of the encrypted indexes we conclude this paper in Section 7.
associated with the files is equal to the query trapdoor. In the
absence of a trapdoor, the server is unable to test whether the II. PRIOR WORKS
keywords contained in the two encrypted index are consis- To enable users search over encrypted outsourced data
tent, so that the server cannot rearrange the encrypted index through keywords without decrypting the data at first,
structure. the notion of public key encryption with keyword
In the environment of cloud storage, the data owner is eager search (PEKS) was first put forth by Boneh et al. [1] and its
to share his data with multiple users. In this case, the search- construction makes use of the construction of identity-based
able encryption works for multiple users. However, the most encryption (IBE). Subsequently Boneh et al. [2] presented a
existing PEKS schemes are constructed in single-user set- more practical scheme which supported arbitrary conjunctive
ting. It is very clear that the schemes proposed for using in queries (such as comparison search, subset search, etc.).
single-user setting cannot be directly and effectively used in Baek et al. [3] proposed a PEKS scheme with a designated
multi-user setting because of the increased requirements of server to remove a secure channel. Camenisch et al. [4] pro-
the latter. In PEKS schemes that are constructed in single-user posed oblivious generation of the keyword search trapdoor
setting, data owner can only shares his data with a single to maintain the privacy of the keyword against a curious trap-
user and also only permits a single user to perform encrypted door generator. Cao et al. [5] presented ranked searches using
keyword search over encrypted data. While in multi-user multi-keyword over encrypted cloud data and established a
setting, such as cloud storage, data owners hope to share variety of privacy requirements. So far, a lot of work has
their data with multiple users and also permit the multiple been done to enhance the security and the efficiency of PEKS
users to perform encrypted keyword search over encrypted scheme (e.g. [6]–[13]).
data. With the development of encryption search technology,
To tackle above problems, we propose a verifiable public the risk of privacy leakage in the outsourced data has been
key encryption with keyword search based on homomorphic improved. However the problem of providing secure inquiry
encryption in multi-user setting. Specifically, our main con- service has become another new challenge. Due to the system
tribution can be summarized as follows: may occur malfunction or the cloud server might return an
(1) We optimize the encryption index structure by employ- incomplete search results to save computational resources,
ing DGHV(van Dijk, Gentry, Halevi and Vaikuntanathan) the receiver may receive some incorrect and incomplete
homomorphic encryption. In our scheme, the cloud server can search results, so that the receiver may make a wrong deci-
generate an inverted encryption index structure without using sion based on the incorrect and incomplete search results.
a query trapdoor, which significantly improves the efficiency It could be very serious or even catastrophic. Therefore,
of search. we should consider the verifiability of search result. So far,
(2) We propose a new authenticated data structure for there are many schemes to address this issue, such as the
verifying the completeness of search results based on the schemes [14]–[22]. However, most of the existing schemes
inverted encryption index structure, and apply it to generate mainly focus on the integrity verification of plaintext data,
verification proof for verifying the correctness and complete- while there are few verifiable search schemes over encrypted
ness of search results. data. When the schemes are migrated to the ciphertext,
(3) Our scheme is constructed in multi-user setting, and the schemes are no longer applicable since the ciphertext
allows multiple users to perform encrypted keyword search contains the data owner’s private key and the random number.
over encrypted data. To the best of our knowledge, there are not many verifiable
(4) Our scheme is proved to be secure based on the search schemes over encrypted data, and these schemes are
Approximate-GCD problem. devised to verify the correction of search results in single-user
(5) We evaluate the performance of our scheme and com- setting, and do not consider the completeness verification
pare our scheme with the previous schemes in terms of time of search result in multi-user setting. Chai and Gong [23]
complexity and functions. The time complexity of single key- gave the first verifiable keyword search in symmetric set-
word search is reduced to O(m) in our scheme. Experiment ting. Schemes [24], [25] presented the fine-grained keyword
results demonstrate the efficiency of search in our scheme is search schemes through utilizing attribute-based encryp-
higher than the existing schemes. tion. Sun et al. [26] presented a search result verifica-
The following sections are described briefly as follows. tion scheme in the multi-keyword text search scenario by
We introduce some important prior works in this domain in turning the proposed secure index tree into an authenti-
Section 2. After that, we introduce some preliminaries used cated one. Guo et al. [27] put forward a multi-phrase ranked
in the paper in Section 3. In the Section 4, we give the formal search scheme over encrypted data, which can verify the
model of our scheme and a security model as well as the ranked results and support dynamic update operations. Spe-
specific construction about our scheme. Then in Section 5, cially, the aforementioned works are devised in single-user
we prove our scheme is secure under the security model. setting.
III. PRELIMINARIES
A. APPROXIMATE-GCD PROBLEM
Let λ be a security parameter, ρ = λ, η = O(λ2 ), and
γ = O(λ5 ). The (ρ, η, γ )-Approximate-GCD problem is
defined as follows [28]:
• The (ρ, η, γ )-Approximate-GCD problem: Given poly-
nomially many samples from Dγ ,ρ (p) for a randomly
chosen η-bit odd integer p, output p, where
Dγ ,ρ (p) = {choose q ← Z ∩ [0, 2γ /p),
R
r ← Z ∩ (−2ρ , 2ρ ) :
R
sets the ciphertext as c = [m + 2r + 2 i∈S xi ]x0 . space and a strong computing power to handle and main-
• Evaluate(pk, C, c1 , . . . , ct ): For a (binary) circuit Cε
tain data owner’s data. The cloud servers are responsible
with t inputs, and t ciphertexts ci , the evaluate algorithm for producing search results over the encrypted data
applies the (integer) addition and multiplication gates of according to the users’ search requirements and then
Cε to the ciphertexts, performs all the operations over sending the search results to the users.
the integers, and outputs the resulting integer. • Users. Users generally refer to those who have registered
• Decrypt(sk, c): Input the secret key sk and ciphertext c,
to search for encrypted keywords in the encrypted data.
the decryption algorithm outputs ((c mod p) mod 2). Note that every user in this paper has an identity belong-
ing to the public domain.
C. HOMOMORPHIC HASH FUNCTION
Let G be a multiplicative cyclic group of order p, B. THREAT MODEL
and (g1 , g2 , . . . , gn ) be generators. For a vector b = We define that KGC and authorized users are hon-
(b1 , b2 , .Q
. . bn ), its homomorphic hash function is defined as est but regard the cloud server as ‘‘honest-but-curious,’’
H (b) = ni=1 gbi i . Then H (b) satisfies the following proper- which is adopted in related schemes on secure cloud data
ties [29]: search [5], [26]. ‘‘honest-but-curious’’ means that the cloud
Homomorphic: For any two vectors b1 , b2 , and random server executes the scheme honestly, but it also tries to
integers r1 , r2 , then H (r1 b1 + r2 b2 ) = H (b1 )r1 H (b2 )r2 . analyze the receiving data to obtain extra information with
Collision Free: For any polynomial time algorithm, it is curiosity. According to the available information that the
hard to find b1 , b2 , b3 , r1 and r2 (b3 6 = r1 b1 + r2 b2 ), which cloud server can gain, we consider the threat model as
satisfies H (b3 ) = H (b1 )r1 H (b2 )r2 . follows:
• Known Ciphertext Model. In this model, the cloud
IV. A VERIFIABLE PUBLIC KEY ENCRYPTION SCHEME server can only access the ciphertexts, which is intended
WITH KEYWORD SEARCH IN MULTI-USER SETTING to protect the keywords against the cloud server. To be
A. SYSTEM MODEL specific, cloud server achieve keyword search on cipher-
The system model is depicted in Figure 1. There are four texts for data users. As for our scheme, the server uses
major entities in this system: key-generation center, data the ciphertexts to build a Z -index structure based on
owners, cloud servers, and data users. the inverted encryption index structure, which can be
employed for keyword search and verification. How- completeness of the search results. If the results are
ever, the server do not know the user’s secret key so correct and complete, output 1; Otherwise output 0.
that the server cannot obtain the keywords from the
ciphertexts. D. SCHEME CONSTRUCTION
Let ParamGen0 and KeyGen0 be the parameter genera-
C. DEFINITION tion algorithm and the key generation algorithm from the
When a data owner wants to outsource his data to cloud DGHV homomorphic encryption [28]. A verifiable public
server, he will first encrypt his file (E(file)) using a standard key encryption scheme with keyword search in multi-user
proxy re-encryption public key algorithm. After appending to setting is constructed as follows.
the ciphertext PEKS(wi , pk) of each keyword, the data owner • Setup(1λ ). The key-generation center (KGC) firstly runs
will send the following message to cloud server: ParamGen0 to obtain the public parameters params0 =
hρ, ρ 0 , η, γ , τ i, and runs KeyGen0 to obtain sk 0 =
E(file)||PEKS(w1 , pk)|| . . . ||PEKS(wm , pk), p, pk 0 = hx0 , x1 , . . . , xτ i. Then the KGC picks a homo-
morphic hash H and a collision-resistant hash H1 :
Where PEKS is an encrypted algorithm with properties dis- {0, 1}∗ → {0, 1}Q (Q η). Finally the KGC sets the
cussed below. This paper focuses on addressing how the cloud public key pk = (params0 , pk 0 , H , H1 ) and sends the
server searches all files containing a keyword-search query secret key sk = sk 0 = p to server through a secure
w = (w1 , w2 , . . . , wt ), and user verifies the correctness and channel.
completeness of the search result. We omit the discussion of • KeyGen(1λ , id). When a user submit his identity id for
proxy re-encryption. registration, KGC will choose a random number ki and
Definition 1: A verifiable public key encryption scheme computer qid = H1 (id ⊕ ki ) and sends skid = qid to the
with keyword search in multi-user setting consists of the user through a secure channel.
following algorithms: • PEKS(wi , pk). Given a keyword wi of the W -bit file,
• Setup(1λ ): After input a secure parameter λ, Setup(1λ ) satisfying W η, a user chooses a random subset
algorithm outputs a pair of secret key sk and public S ⊆ {1, 2, . . . , τ } and a random integer ri , and computes
key pk. a searchable ciphertexts of wi by using the public key pk
• KeyGen(1λ , id): The KeyGen algorithm takes as input a and the user’s secret key qid as follows.
user identity id and 1λ , then generates a secret key skid X
Ci1 = [wi + ri qid + ri qid xi ]x0 ,
for the user.
i∈S
• PEKS(wi , pk): The PEKS algorithm produces a search-
Ci2 = H (ri qid ). (2)
able ciphertext CTi with keyword wi by a pubic
key pk. Thus, the searchable ciphertexts of the keyword wi is
• Test(CTi , CTj ): After input two searchable ciphertexts CTi = (Ci1 , Ci2 ).
CTi and CTj , the Test algorithm verifies whether the • Test(CTi , CTj ). After receiving the two ciphertexs
keywords contained in the two ciphertexts are the (CTi , CTj ), the server verifies whether the two cipher-
same. If they are the same, output 1; Otherwise, texts contain the same keyword by the following
output 0. way.
• Z-Index(CTi (i = 1, 2, . . . , m)): After input a set of H (Ci1 mod p) × Cj2
searchable ciphertext CTi (i = 1, 2, . . . , m), the Z-Index = 1. (3)
H (Cj1 mod p) × Ci2
algorithm outputs a Z -Index structure.
• Query(w1 , w2 , . . . , wt , skid ): Given a keyword-search If wi = wj , it outputs 1; Otherwise it outputs 0.
query w = (w1 , w2 , . . . , wt ), the Query algorithm calls
the PEKS algorithm to generate a ciphertext for each
keyword using the secret keys (skid ), and outputs the
ciphertext CTi (i = 1, 2, . . . , t).
• RPGen(CTi (i = 1, 2, . . . , t)): Given the ciphertexts
CTi (i = 1, 2, . . . , t) from a user, the server returns
a set of encrypted files Rf , where each encrypted file
E(filei )) ∈ Rf contains all keywords from w =
FIGURE 2. An inverted encryption index structure.
(w1 , w2 , . . . , wt ). Afterwards, the server computes a
proof so that a user can verify that all encrypted files
included in Rf contain (w1 , w2 , . . . , wt ) and ensure • Z-IndexBuild (CTi (i = 1, 2, . . . , m)). Given the
that no encrypted files that satisfies query keywords ciphertexts CTi (i = 1, 2, . . . , m), the server calls
(w1 , w2 , . . . , wt ) is omitted from Rf . Test(CTi , CTj ) algorithm to determine whether the key-
• Verify(Rf , proof ): The Verify algorithm takes as input words in the two ciphertexs (CTi , CTj ) are consistent,
the Rf and proof , and checks the correction and where PEKS(wi ) = CTi , so that the server can put
number of ‘‘1’’ in vresult is the number of encrypted file with security parameter λ). Any attack A with advantage ε on the
all keywords from w = (w1 , w2 , . . . , wt ). proposed scheme can be converted into an algorithm B for
Specially, assuming CTi and CTj are the ciphertexts for the solving (ρ, η, γ )-Approximate-GCD with success probabil-
keywords wi and wj respectively. If wi = wj , then ity at least ε/2. The running time of B is polynomial in the
running time of A, and in λ and 1/ε.
H (Ci1 mod p) × Cj2 H (wi + ri qi ) × H (qj )rj Proof: Now we use the same way as [28] to show how
=
H (Cj1 mod p) × Ci2 H (wj + rj qj ) × H (qi )ri the challenger B to recover p with the success probability.
H (wi ) × H (qi )ri × H (qj )rj We use qp (z) and rp (z) to denote the quotient and remainder
=
H (wj ) × H (qj )rj × H (qi )ri of z with respect to p, hence z = qp (z)p + rp (z).
H (wi ) • Step 1. First the challenger B draws (τ + 1) samples
= (7) x0 , . . . , xτ from Dγ ,ρ (p). It relabels so that x0 is the
H (wj )
largest. It restarts unless x0 is odd. B outputs a public
Obviously, the equation (3) is true. key pk =< x0 , x1 , . . . , xτ > to the adversary A.
Completeness: In our scheme, given a query keyword • Step 2. B produces a sequence of integers, and attempts
w = (w1 , w2 , . . . , wt ) from a user, the server returns a set to recover p by utilizing A to learn the least significant
of encrypted files according to the vresult . Namely the server bit of the quotients of these integers with respect to p.
returns all encrypted files whose corresponding positions in For this, B uses the following Subroutine Learn-LSB
the vresult are equal to 1, and does not return the encrypted Algorithm:
files whose corresponding positions in the vresult are equal
to 0. If the vresult is correct, then the completeness is satisfied. Algorithm 1 Subroutine Learn-LSB(z, pk)
The correction of the vresult is guaranteed by the equations Input: z ∈ (0, 2λ ) with |rp (z)| < 2ρ and pk =< x0 , x1 , . . . , xτ >
(3) and (4). Meanwhile, the verification of the equations (5) Output: The least-significant-bit of qp (z)
and (6) ensures that a user can verify the completeness of
search results. Because if the equation (5) holds, it shows that 1. For j = 1 to ploy(λ)/ do:
R R
2. choose noise rj ← (−2ρ , 2ρ ), a bit wj ← {0, 1}
0 0
the returned value(vwi ) is correct since the preproof (wi ) is
published in the Z -IndexBuild. Meanwhile according to the and a random subset Sj ⊆R {1, 2, . . . , τ }
Rf = E(filei )(i = 1, 2, . . . , l) returned by the server, the user 3. set CTj ← [z + wj + rj + rj 6k∈Sj xk ]x0
0
can reconstruct v . If the equation (6) holds, it shows that 4. aj ← A(pk, CTj )
0
the reconstructed v is correct, which is equal to the vresult . 5. set bj ← aj ⊕ parity(z) ⊕ wj
Therefore, our scheme can verify the completeness of search 6. Output the majority vote among the bj ’s
results.
• Step 3. Once we turned A into an oracle for the
V. SECURITY ANALYSIS least-significant bit of qp (z), recovering p is rather
As for security aspect, we reduce our scheme from straightforward. Perhaps the simplest way of doing it
Section 4 to the hardness of the Approximate-GCD prob- is using the Binary GCD Algorithm: Given any two
lem. In other words, randomly chosen a set of integers integers z1 = qp (z1 )·p+rp (z1 ) and z2 = qp (z2 )·p+rp (z2 ),
x0 , x1 , . . . , xτ , which are all close to multiples of a large B uses the following Binary GCD Algorithm:
integer p, try to find this ‘‘common near divisor’’ p. In order
to get a reliable oracle for the least-significant bit through the Algorithm 2 Binary GCD(z1 , z2 )
promised adversary, we describe a random-self-reduction and Input: z1 = qp (z1 ) · p + rp (z1 ) and z2 = qp (z2 ) · p + rp (z2 )
accuracy-amplification step as in [28]. Therefore, a Binary- Output: The odd part of GCD(qp (z1 ), qp (z2 ))
GCD algorithm can employ the obtained reliable oracle to
1. If z2 > z1 then z1 ↔ z2
find p.
2. call Learn-LSB( ) output b1 = [qp (z1 )]2 and b2 = [qp (z2 )]2
Considering the technical details, our random self-
3. If both qp (z1 ) and qp (z2 ) are odd then replace z1 by (z1 −z2 )
reduction implies a loss in parameters. In particular, the obvi-
and set b1 ← 0
ous advantage in guessing the encrypted bit in a random
4. For each zi with bi = 0, replace zi by zi ← (zi −
‘‘high ρ 0 -bits noise ciphertext’’ can be transformed into the
parity(zi ))/2
ability to predict reliably the parity bit of the quotient in an
arbitrary ‘‘low ρ-bits noise integer’’. By adding extra noise R
we can ‘‘wipe out the traces’’ of the non-random noise in • Step 4. To recover p, B draws a pair of elements z∗1 , z∗2 ←
the arbitrary input integer. That means the security of our Dγ ,ρ (p). According to [28], with probability at least
scheme in ‘‘high-noise’’ can be reduced to the hardness of Pr[GCD(qp (z∗1 ), qp (z∗2 )) = 1] = π 2 /6 ≈ 0.6. That is,
Approximate-GCD problem in ‘‘low-noise,’’ where the dif- B will get a element e z = 1 · p + r. Finally, B recovers
ference between ‘‘high noise’’ and ‘‘low noise’’ is quite small. p = bz∗1 /qp (z∗1 )e.
Theorem 1: Fix the parameters (ρ, ρ 0 , η, γ , τ ) as in the This is contradictory to the condition that the approximate-
proposed scheme from Section 4 (all polynomial in the gcd problem is difficult.
Although the server has the secret key p, it can learn schemes used the cryptography technology, such as bilinear
nothing else about theP keyword. For the ciphertexts {Ci1 = pairing operations.
[wi + ri qid + ri qid i∈S xi ]x0 , Ci2 = H (ri qid )}, since the
server does not know the secret key skid = qid , it cannot TABLE 3. Index-based searchable encryption schemes comparison.
obtain any information about the keyword wi . Furthermore,
ri is uniformly random and independent over Zp∗ from server’s
view, which can ensure the ciphertexts’ indistinguishability
and enhance the keywords’ privacy one step further. There-
fore, the server learns nothing more about the keyword wi .
Hash operation to generate the private key, while the scheme set t ∈ [150, 750]). But the computational time in our scheme
VMKDO16 needs to select 2 random numbers for each data linearly increases with the number of t, while that of the
owner and do 2 exponentiation operations to obtain a pair of scheme VMKDO16 is almost constant. This is because the
public-private key of the data owner. scheme VMKDO16 is constructed based on attribute encryp-
In the PEKS phase, the scheme VMKDO16 firstly needs to tion algorithm, so that the number of searching keywords
encrypt file set F through the traditional public key encryp- mainly affects the time of trapdoor generation. In the Test
tion algorithm, and generate the signatures for the encrypted phase, no matter the number of keywords, the Test algorithm
file set(Here we set m ∈ [1, 1000]). The computational cost only needs 3 power exponential operations and 2 bilin-
of generating the signature for each encrypted file block is ear pairing operations. Our scheme is constructed based
an exponential operation. Following the index is built for file on Homomorphic encryption algorithm, and the encrypted
set according to the given keyword set. The process mainly indexes include keywords, so it will increase linearly with
involves multiple bilinear pairing and exponential operations. the increase of the number of queried keywords. Therefore,
However, our scheme only needs 2 multiplications, 2 addi- when t is large enough, the scheme VMKDO16 will perform
tions and a Hash operation to finish PEKS algorithm. There- better than our scheme. Fortunately, users generally submit
fore, the computational burden of PEKS algorithm in the the number of searching keyword is not big. Thus, our scheme
scheme VMKDO16 is much heavier than our schemes. The is still acceptable in practice, and perform better than the
experiment result showed in Figure 5 is consistent with our scheme VMKDO16 when there are fewer search keywords.
analysis. Actually, the PEKS algorithm is affected by the
keyword number m, and its computational burden becomes VII. CONCLUSION
heavier with increasing m. However, the performance of our A verifiable public key encryption with keyword search based
scheme is almost unaffected because the computation burden on homomorphic encryption in multi-user setting is proposed.
of addition and multiplication is negligible. Our scheme allows the server to build an inverted encryption
index structure without a query trapdoor, so that the time
complexity of single keyword search is reduced to O(m).
Experiments demonstrate it has an obvious advantage than
others. Moreover, our scheme can verify the correctness and
completeness of searching results in multi-user setting and
allow multiple users to perform encrypted keyword queries
over encrypted data. Security analysis show it is secure based
on the Approximate-GCD problem under random oracle.
REFERENCES
[1] D. Boneh, G. Di Crescenzo, R. Ostrovsky, and G. Persiano, ‘‘Pub-
lic key encryption with keyword search,’’ in Advances in Cryptology—
EUROCRYPT. Berlin, Germany: Springer, 2004, pp. 506–522.
[2] D. Boneh and B. Water, ‘‘Conjunctive, subset, and range queries on
encrypted data,’’ in Theory of Cryptography. Berlin, Germany: Springer,
FIGURE 5. PEKS algorithm comparison. 2007, pp. 535–554.
[3] J. Baek, R. Safavi-Naini, and W. Susilo, ‘‘Public key encryption with key-
word search revisited,’’ in Computational Science and Its Applications—
ICCSA. Berlin, Germany: Springer, 2008, pp. 1249–1259.
[4] J. Camenisch, M. Kohlweiss, A. Rial, and C. Sheedy, ‘‘Blind and anony-
mous identity-based encryption and authorised private searches on public
key encrypted data,’’ in Public Key Cryptography—PKC. Berlin, Germany:
Springer, 2009, pp. 196–214.
[5] N. Cao, C. Wang, M. Li, K. Ren, and W. Lou, ‘‘Privacy-preserving multi-
keyword ranked search over encrypted cloud data,’’ IEEE Trans. Parallel
Distrib. Syst., vol. 25, no. 1, pp. 222–233, Jan. 2014.
[6] M. Li, S. Yu, N. Cao, and W. Lou, ‘‘Authorized private keyword search
over encrypted data in cloud computing,’’ in Proc. IEEE 31st Int. Conf.
Distrib. Comput. Syst. (ICDCS), Jun. 2011, pp. 383–392.
[7] C. Gu, Y. Guang, Y. Zhu, and Y. Zheng, ‘‘Public key encryption with
keyword search from lattices,’’ Int. J. Inf. Technol., vol. 19, no. 1, pp. 1–10,
2013.
[8] C. Hou, F. Liu, H. Bai, and L. Ren, ‘‘Public-key encryption with keyword
search from lattice,’’ in Proc. IEEE 8th Int. Conf. P2P, Parallel, Grid, Cloud
Internet Comput. (3PGCIC), Oct. 2013, pp. 336–339.
[9] B. Wang, W. Song, W. Lou, and Y. T. Hou, ‘‘Inverted index based multi-
FIGURE 6. Test algorithm comparison.
keyword public-key searchable encryption with strong privacy guarantee,’’
in Proc. IEEE Conf. Comput. Commun. (INFOCOM), Apr./May 2015,
In Test phase, Figure 6 shows that our scheme has pp. 2092–2100.
[10] Z. Xia, X. Wang, X. Sun, and Q. Wang, ‘‘A secure and dynamic multi-
much less computational overhead than the scheme keyword ranked search scheme over encrypted cloud data,’’ IEEE Trans.
VMKDO16 when there are fewer search keywords(Here we Parallel Distrib. Syst., vol. 27, no. 2, pp. 340–352, Jan. 2016.
[11] R. Chen et al., ‘‘Server-aided public key encryption with keyword search,’’ [31] L. Guo, B. Lu, X. Li, and H. Xu, ‘‘A verifiable proxy re-encryption with
IEEE Trans. Inf. Forensics Security, vol. 11, no. 12, pp. 2833–2842, keyword search without random oracle,’’ in Proc. Int. Conf. Comput. Intell.
Dec. 2016. Secur., 2013, pp. 474–478.
[12] J. Li, X. Lin, Y. Zhang, and J. Han, ‘‘KSF-OABE: Outsourced attribute- [32] Y. Yang and M. Ma, ‘‘Conjunctive keyword search with designated
based encryption with keyword search function for cloud storage,’’ IEEE tester and timing enabled proxy re-encryption function for e-health
Trans. Services Comput., vol. 10, no. 5, pp. 715–725, Sep./Oct. 2017. clouds,’’ IEEE Trans. Inf. Forensics Security, vol. 11, no. 4, pp. 746–759,
[13] K. Emura, G. Hanaoka, K. Nuida, G. Ohtake, T. Matsuda, and S. Yamada, Apr. 2016.
‘‘Chosen ciphertext secure keyed-homomorphic public-key cryptosys- [33] Y. Miao, J. Ma, X. Liu, Z. Liu, L. Shen, and F. Wei, ‘‘VMKDO: Verifiable
tems,’’ Des., Codes Cryptogr., vol. 86, no. 8, pp. 1623–1683, 2018. multi-keyword search over encrypted cloud data for dynamic data-owner,’’
[14] R. C. Merkle, ‘‘A certified digital signature,’’ in Proc. Int. Conf. Adv. Peer-Peer Netw. Appl., vol. 11, no. 2, pp. 287–297, 2016.
Cryptol., 1989, pp. 218–238. [34] E.-J. Goh, ‘‘Secure indexes,’’ Cryptol. ePrint Arch., Tech. Rep. 2003/216,
[15] L. Che, L. Xu, S. Zhou, and X. Huang, ‘‘Data dynamics for remote data 2003. [Online]. Available: http://eprint.iacr.org/2003/216
possession checking in cloud storage,’’ Comput. Elect. Eng., vol. 39, no. 7, [35] Y.-C. Chang and M. Mitzenmacher, ‘‘Privacy preserving keyword searches
pp. 2413–2424, 2013. on remote encrypted data,’’ in Proc. Int. Conf. Appl. Cryptogr. Netw. Secur.
[16] X. Wang and D. Yuan, ‘‘A query verification scheme for dynamic out- Berlin, Germany: Springer, 2005, pp. 442–455.
sourced databases,’’ J. Comput., vol. 37, no. 1, pp. 156–160, 2013. [36] R. Zhang, R. Xue, T. Yu, and L. Liu, ‘‘Dynamic and efficient private
[17] Y. Yu, Y. Zhang, J. Ni, M. H. Au, L. Chen, and H. Liu, ‘‘Remote data keyword search over inverted index–based encrypted data,’’ ACM Trans.
possession checking with enhanced security for cloud storage,’’ Future Internet Technol., vol. 16, no. 3, 2016, Art. no. 21.
Gener. Comput. Syst., vol. 52, pp. 77–85, Nov. 2015.
[18] K. Yang and X. Jia, ‘‘An efficient and secure dynamic auditing protocol
for data storage in cloud computing,’’ IEEE Trans. Parallel Distrib. Syst.,
vol. 24, no. 9, pp. 1717–1726, Sep. 2013.
[19] S. De Capitani di Vimercati, S. Foresti, S. Jajodia, G. Livraga, D. N. WU received the M.Sc. degree in computer
S. Paraboschi, and P. Samarati, ‘‘Integrity for distributed queries,’’ in Proc. engineering from Jinan University, China, in 2017.
IEEE Conf. Commun. Netw. Secur., Oct. 2014, pp. 1–9. Her research interests include security and privacy
[20] C. Guo et al., ‘‘Key-aggregate authentication cryptosystem for data sharing in cloud computing.
in dynamic cloud storage,’’ Future Gener. Comput. Syst., vol. 84, no. 7,
pp. 190–199, 2018.
[21] M. Sookhak, A. Gani, M. K. Khan, and R. Buyya, ‘‘Dynamic remote
data auditing for securing big data storage in cloud computing,’’ Inf. Sci.,
vol. 380, pp. 101–116, Feb. 2017.
[22] J. Shen, J. Shen, X. Chen, X. Huang, and W. Susilo, ‘‘An efficient public
auditing protocol with novel dynamic structure for cloud data,’’ IEEE
Trans. Inf. Forensics Security, vol. 12, no. 10, pp. 2402–2415, Oct. 2017.
[23] Q. Chai and G. Gong, ‘‘Verifiable symmetric searchable encryption
for semi-honest-but-curious cloud servers,’’ in Proc. IEEE Int. Conf.
Commun. (ICC), Jun. 2012, pp. 917–922. Q. Q. GAN received the M.Sc. degree in software
[24] C. Guo, R. Zhuang, Y. Jie, Y. Ren, T. Wu, and K. Choo, ‘‘Fine-grained engineering from Jinan University, China, in 2016,
database field search using attribute-based encryption for e-healthcare where she is currently pursuing the Ph.D. degree.
clouds,’’ J. Med. Syst., vol. 40, no. 11, pp. 235–242, 2016. Her research interests include security and privacy
[25] Q. Zheng, S. Xu, and G. Ateniese, ‘‘VABKS: verifiable attribute- in cloud computing.
based keyword search over outsourced encrypted data,’’ in Proc. IEEE
INFOCOM, Apr./May 2014, pp. 522–530.
[26] W. Sun et al., ‘‘Verifiable privacy-preserving multi-keyword text search
in the cloud supporting similarity-based ranking,’’ IEEE Trans. Parallel
Distrib. Syst., vol. 25, no. 11, pp. 3025–3035, Nov. 2014.
[27] C. Guo, X. Chen, Y. Jie, F. Zhang, M. Li, and B. Feng, ‘‘Dynamic
multi-phrase ranked search over encrypted data with symmetric search-
able encryption,’’ IEEE Trans. Services Comput., pp. 1–12, Oct. 2017.
[Online]. Available: https://ieeexplore.ieee.org/document/8089767/, doi: X. M. WANG received the B.Sc. degree from the
10.1109/TSC.2017.2768045. Harbin Institute of Technology, China, and the
[28] M. van Dijk, C. Gentry, S. Halevi, and V. Vaikuntanathan, ‘‘Fully homo-
Ph.D. degree from Nankai University, China. She
morphic encryption over the integers,’’ in Annu. Int. Conf. Theory Appl.
is currently a Professor with the Department of
Cryptograph. Techn. Berlin, Germany: Springer, 2010, pp. 24–43.
[29] M. N. Krohn, M. J. Freedman, and D. Mazières, ‘‘On-the-fly verification Computer Science, Jinan University, China. Her
of rateless erasure codes for efficient content distribution,’’ in Proc. IEEE research interests include security and privacy in
Symp. Secur. Privacy, May 2004, pp. 226–240. network and distributed systems, such as wireless
[30] M. T. Goodrich et al., ‘‘Efficient verification of Web-content searching sensor networks and cloud computing with a focus
through authenticated Web crawlers,’’ Proc. VLDB Endowment, vol. 5, on security protocol designs and access control.
no. 10, pp. 920–931, 2012.