A ciphertext-policy attribute-based searchable encryption scheme in non-interactive model

Journal of Computer Science and Cybernetics, V.35, N.3 (2019), 233–249  
DOI 10.15625/1813-9663/35/3/13667  
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE  
ENCRYPTION SCHEME IN NON-INTERACTIVE MODEL  
1
2,∗  
VAN ANH TRINH , VIET CUONG TRINH  
1Thanh Hoa University of Culture, Sports and Tourism  
2Hong Duc University, Thanh Hoa, Viet Nam  
∗Trinhvietcuong@hdu.edu.vn  
ꢀ
Abstract. We address the problem of searching on encrypted data with expressive searching predi-  
cate and multi-writer/multi-reader, a cryptographic primitive which has many concrete application  
scenarios such as cloud computing, email gateway application and so on. In this paper, we propose  
a public-key encryption with keyword search scheme relied on the ciphertext-policy attribute-based  
encryption scheme. In our system, we consider the model where a user can generate trapdoors by  
himself/herself, we thus can remove the Trusted Trapdoor Generator which can save the resource and  
communication overhead. We also investigate the problem of combination of a public key encryption  
used to encrypt data and a public-key encryption with keyword search used to encrypt keywords,  
which can save the storage of the whole system.  
Keywords. Attribute-based Encryption; Searchable Encryption; Searching on Encrypted Data.  
1. INTRODUCTION  
Searching on encrypted data is an important task, which can be applicable to many  
practical contexts such as cloud computing or email gateway application. In the context of  
cloud computing, the user’s data is first encrypted and then outsourced to the cloud server.  
When user would like to find some specific data, he/she needs to ask help from the cloud  
server, user however doesn’t want the cloud server to know about his/her original data.  
In the email gateway application, when anyone would like to securely send email to Alice,  
he/she encrypts the content of email under Alice’s public key before sending. On the other  
hand, Alice would like to set priority order of receiving her emails. To this aim, Alice gives  
the email gateway the ability to check the priority order of incoming emails and then send  
to her emails in the order she wants. However, Alice also doesn’t want the email gateway to  
know about the content of such emails.  
Searchable Encryption (SE) was introduced in [2, 16] to deal with such aforementioned  
problems. In a nutshell, in a system which supports SE, we append encrypted keywords  
with corresponding encrypted data. User then relies on his/her secret key in SE scheme  
and chosen keywords to generate a trapdoor for the cloud server (or the email gateway) to  
perform the search. The trapdoor is generated in such a way that the cloud server (or the  
email gateway) using this trapdoor can perform successfully the search, but doesn’t get any  
information about the original data in the resulted ciphertexts. On the other hand, since  
keywords are encrypted, unauthorized users (called outsiders) as well as cloud server (called  
c
ꢀ 2019 Vietnam Academy of Science & Technology  
234  
VAN ANH TRINH, VIET CUONG TRINH  
insider) ideally also don’t know any information about keywords in each ciphertext. We can  
category SE in two types:  
1. SE in the private-key setting [16], where there is only one writer (data owner who  
encrypts the data as well as the corresponding keywords) and one/multi reader (user  
who would like to search and then should be able to decrypt the resulted ciphertexts).  
This type of SE has obviously limited applications in practice. For example, it cannot  
apply to the context of sending email above since anyone should have the capacity of  
encrypting the content of emails sent to Alice.  
2. SE in the public-key setting [2], where there are multi-writer and one/multi reader. A  
full searchable encryption system in practice includes two components: the first is a  
Public Key Encryption (PKE) scheme used to encrypt data; the second is a Public-  
Key Encryption with keyword Search (PEKS) used to encrypt keywords. Such full  
system is called a PKE-PEKS scheme. In a PKE-PEKS scheme, a full ciphertext,  
including both the encrypted keywords and encrypted data, should be in the form  
0
PKEAlice (data)||PEKSAlice (keywords).  
pk  
pk  
There are two cases: PKE and PEKS are independent, that means Alice’s public-  
key/secret-key in PKE is different to the ones in PEKS; and otherwise, where Alice’s  
public-key/secret-key could be the same in both PKE and PEKS. Obviously, such full  
system will become more efficient in the latter case. However, in this case we have to  
consider carefully the security of the full system [10] since the adversary is now more  
powerful than the one in the former case. When PKE and PEKS are independent, we  
often only care about PEKS scheme and omit the PKE scheme for simplicity. In some  
schemes [6, 11, 14], Alice cannot generate the trapdoor by himself/herself, he/she needs  
to contact with a Trusted Trapdoor Generator (TTG), that will obviously increase the  
communication overhead of the user, and moreover the Trusted Trapdoor Generator  
should be always online. We call such schemes interactive schemes.  
In summary, there are several following important properties one should take into  
account when estimating a system which supports searching on encrypted data:  
• Efficiency: Performance of encryption/decryption/searching algorithm, key-size/  
ciphertext-size, PKE and PEKS are independent or not, interactive or non-  
interactive, etc;  
• Expressive searching predicate: Whether or not the PEKS scheme supports con-  
junctive keywords or even boolean formulas of keywords for searching. Obviously,  
this property is more desirable than simple equality keyword search in practice;  
• Trapdoor security: Cloud server with a trapdoor in hand knows nothing about  
the keywords in the ciphertext and trapdoor, even when the trapdoor “matches”  
the ciphertext. We note that this property is very hard to achieve in the public-  
key setting, to the best of our knowledge there is only one scheme [6] that can  
partially achieve this property.  
• Keyword security: Ideally, unauthorized users and cloud server cannot derive any  
information about keywords in the ciphertext.  
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME  
235  
1.1. Related work  
Over past decade, substantial progress has been made on problem of searching on encrypted  
data [1, 2, 3, 6, 8, 9, 11, 14, 16, 17, 18, 19], to name a few. These papers use different techni-  
ques and consider different situations for searching on encrypted data. SE in private-key  
setting and supports only single-writer/single-reader was first introduced in [16]. Continue  
this line of research, the authors in [3] investigated searchable encryption with conjunctive  
keyword searches and boolean queries. The authors in [17, 18] went further to investigate  
searchable encryption scheme in single-writer/multi-reader setting and partially trapdoor  
security. Partially non-interactive which can reduce the communication overhead was also  
investigated in [17].  
SE in the public-key setting was first introduced by Boneh et al. [2], but their sche-  
mes only support multi-writer/single-reader and equality queries. In [1, 19], the authors  
extended to support multi-writer/multi-reader but their schemes still only support equa-  
lity queries. Expressive searching predicate and multi-writer/multi-reader were investigated  
in [6, 8, 11, 12, 14], where authors manage to transform from a key policy/ciphertext policy  
attribute-based encryption scheme to a PEKS scheme, these schemes are thus called key  
policy/ciphertext policy attribute-based searchable encryption scheme. The authors in [6]  
went further to consider partially trapdoor security in the sense that, they split a keyword  
into two parts: The keyword name and the keyword value, where one keyword name can  
have many keyword values. They then showed that in their scheme, the cloud server with  
the trapdoor in hand can only know keyword names but nothing about keyword values in the  
ciphertext. This interesting property is useful in some specific practical contexts. However,  
the downside of this technique is that the searching time is only acceptable if the keyword  
names are included in the ciphertext, this leads to the fact that anyone can also know the  
keyword names in the ciphertext. On the other hand, the combination of PKE and PEKS  
was investigated in [10] where [10] also investigated the non-interactive property, however  
this scheme does not support expressive searching predicate.  
1.2. Our contribution and organization of the paper  
In this paper, we propose a PKE-PEKS scheme supporting both the expressive searching  
predicate and multi-writer/multi-reader, our scheme is built from the CP-ABE scheme in [13],  
we thus name our scheme CP-ABSE scheme for short. Our scheme has following properties:  
• Our scheme is a combination of an existing PKE scheme (which is exactly the CP-ABE  
in [13]) and a new proposed PEKS scheme. In our scheme, user has only one pair of  
public key/secret key for both PKE and PEKS, and moreover user can use the CP-ABE  
setting to encrypt/decrypt data;  
• Our scheme is non-interactive: User can generate the trapdoor by himself/herself, we  
thus can remove the Trusted Trapdoor Generator in our system. On the other hand,  
since trapdoor is generated from user’s secret key, user is able to decrypt all resulted  
ciphertexts which can save time and communication overhead of the system;  
• Efficiency: Since our CP-ABSE scheme is built from the CP-ABE scheme in [13], our  
scheme naturally inherits the efficiency and properties of this CP-ABE scheme such as  
236  
VAN ANH TRINH, VIET CUONG TRINH  
constant-size of user’s secret key, optimized ciphertext size, multi-authority and fast  
decryption. Note that the CP-ABE scheme in [13] is still one of the most efficient  
CP-ABE schemes to date.  
• We also note that our scheme does not achieve trapdoor security. We emphasize that  
this property is very hard to achieve in the public-key setting, to the best of our  
knowledge there is only one scheme [6] that can partially achieve this property.  
In the Section 5, we give the details comparison among our scheme and several schemes  
which also support both the expressive searching predicate and multi-writer/multi-reader.  
The paper includes 6 sections. The first section presents the definition and security model  
of a CP-ABSE scheme. In Section 3, we present the construction of our CP-ABSE scheme and  
prove that it is secure in the following section. The comparison and discussions are given in  
Section 5. Finally, the conclusion is in Section 6.  
2. PRELIMINARIES  
In this section, we first give the system workflow and the threat model of our system,  
then we present the definition and security model for our CP-ABSE scheme.  
2.1. Ciphertext policy attribute based searchable encryption  
2.1.1. System workflow and threat model  
Our CP-ABSE scheme is a combination of a traditional CP-ABE scheme and a PEKS scheme  
supporting expressive searching predicate. In our scheme, there are four entities: data owner;  
user; cloud server and Private Key Generator (PKG). More precisely:  
1. PKG: Play the role of PKG in traditional CP-ABE scheme, generates secret keys for  
users.  
2. Data owner: Encrypt data as well as corresponding keywords, upload them to a public  
cloud.  
3. User: Rely on his/her secret key to generate a trapdoor, send this trapdoor to the  
cloud server and get back resulted ciphertexts. Finally, decrypt resulted ciphertexts to  
recover data.  
4. Cloud server: Receive a trapdoor from a user, perform the search based on the trapdoor  
and send back resulted ciphertexts to the user.  
Threat model. Similar to the threat model in recent schemes [6, 8, 9, 11, 12, 14], in our  
system, there are two goals for which an adversary would like to achieve: getting information  
about encrypted data and getting information about encrypted keywords.  
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME  
237  
2.1.2. System algorithms  
Formally, our CP-ABSE scheme includes seven following probabilistic algorithms.  
Setup(1ν, B): The inputs of this algorithm are security parameter ν and the description  
of attribute universe B, the outputs are master key MSK and the public parameters  
param of the system.  
Extract(u, B(u), MSK, param): The inputs of this algorithm are attribute set B(u) of user  
u, param and MSK, the output is the user’s secret key du.  
Encrypt(M, A, param): The inputs of this algorithm are param, a message M and an  
access policy A over the universe of attributes, the output is ciphertext ct along with  
a description of the access policy A.  
Decrypt(ct, du, param): The inputs of this algorithm are param, the ciphertext ct and the  
secret key du of user u, the output is the message M if and only if B(u) satisfies A.  
Otherwise, the output is ⊥.  
Trapdoor(du, Wi, param): The inputs of this algorithm are param, secret key du of user u  
and a set of keywords user would like to search Wi, the output is the trapdoor tds.  
EncryptKW(KF, A0, param): The inputs of this algorithm are param, an access policy A0  
over the universe of attributes and an access policy KF over the universe of keywords,  
the output is the ciphertext ct0 along with a description of the access policy A0.  
Search(tds, ct0, param): The inputs of this algorithm are param, a trapdoor tds and a  
ciphertext ct0, the output is 1 if the keyword set Wi embedded in tds matches the  
access structure KF in ct0 and B(u) satisfies A0. Otherwise, the output is 0.  
We note that the full ciphertext should be the couple (ct, ct0). In addition, in order for  
user to be able to decrypt the resulted ciphertext, we choose A0 in ct0 such that if B(u)  
satisfies A0 then B(u) satisfies A in ct.  
2.1.3. Security model  
Selective semantic security. The selective semantic security game is similar to the one  
in [13], except that the adversary can ask additional corruption trapdoor query. Due to the  
space limitations we refer the reader to [13] for details.  
Insider security. Assume that A is the attacker, C is the challenger. The insider security  
game is defined as follows.  
Setup(1ν, B). At the beginning of the game, the adversary A provides a target access  
policy A∗ over universe of attributes, and two equal target access policy KF0∗, KF∗1  
over universe of keywords for which she intends to attack, where “equal access policy”  
means that if KF∗0 and KF∗1 are described in the DNF form, they have the same  
number of clauses. C runs the Setup(1ν, B) algorithm to obtain param and MSK. She  
then gives param to A.  
238  
VAN ANH TRINH, VIET CUONG TRINH  
Query phase 1. A chooses a set of attributes B(u) as well as a set of keywords Wi and  
asks corruption trapdoor query corresponding to these sets. The challenger computes  
and returns corresponding tds to the adversary.  
$
Challenge. C chooses b ← {0, 1} and runs EncryptKW(A∗, KFb∗, param) to generate ct0∗.  
Finally, C outputs ct0∗.  
Query phase 2. The same as phase 1.  
Guess. A finally outputs b0 ∈ {0, 1} as its guess for b.  
A wins the game if b0 = b, and if A never asks on B(u), Wi such that both B(u) satisfies A∗  
and Wi satisfies either KF∗0 or KF1∗. The advantage of A to win the game is defined  
ꢀ
ꢁ
1
AdvIAS = Pr b = b0 − .  
2
Definition 1. A ciphertext-policy attribute-based searchable encryption scheme achieves  
insider security if all polynomial time adversaries have at most a negligible advantage in the  
above game.  
Outsider security. The outsider security game is similar to the insider game, the difference  
is that the adversary can ask corrupted secret key queries, instead of corrupted trapdoor  
queries.  
Due to the space limitations, we refer the reader to [13] for the definitions of Access  
Structures, LSSS Matrices, Bilinear Maps and (P, Q, f) − GDDHE Assumptions and so on.  
3.  
CIPHERTEXT POLICY ATTRIBUTE BASED SEARCHABLE  
ENCRYPTION  
In this paper, we rely on the CP-ABE scheme in [13] to build our CP-ABSE scheme.  
Concretely, our CP-ABSE scheme is a combination of CP-ABE scheme in [13] and a new  
PEKS scheme, where the later scheme is also built from the former scheme. User in our  
scheme, therefore, can use the same public key and secret key for both CP-ABE scheme and  
PEKS scheme.  
In our scheme, user relies on his/her secret key and a set of chosen keywords W =  
(w1, . . . , wt) to generate the trapdoor. More precisely, from a set of chosen keywords W,  
user has to indicate exactly which combinations of keywords he/she would like to search.  
Consider the example in [6], W = (w1, w2, w3) where w1 = “Diabetes”, w2 = “Age : 30”  
and w3 = “Weight : 150 − 200”, user has to indicate the set of combinations of keywords  
he/she would like to search Wi = (w1||w2, w1||w3). The advantage of this point is that we  
can save the searching time and the communication overhead, since cloud server only needs  
to find and then send back ciphertexts user really wants. In other schemes [5, 6, 11, 14],  
user doesn’t indicate exactly which combinations of keywords he/she would like to search,  
the cloud server thus searches on all possible combinations of keywords.  
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME  
239  
3.1. Detailed construction  
Our scheme is described as follows.  
Setup(ν, B): Denote N = |B| the maximal number of attributes in the system,  
(p, G, GT , e(·, ·)) a bilinear group system. The algorithm first picks a random gene-  
rator g ∈ G, random scalars a, α, λ ∈ Zp, computes ga, gα, gλ. The algorithm conti-  
nues to generate 2N group elements in G associated with N attributes in∗the system  
˜
˜
˜
h1, . . . , hN , h1, . . . , hN . Let H, H be hash functions such that H : {0, 1} → G and  
∗
˜
H : GT × {0, 1} → Zp.  
Suppose that the keyword universe in the system is W = (w1, w2, w3, . . . ), where each  
wi ∈ {0, 1}∗. In our system the set W is unbounded, we can add any new keyword into  
the system at anytime. For simplicity, we omit W in the global parameters. Finally,  
we set the master secret key and global parameters as MSK = (gα, λ) and  
a
λ
α
˜
˜
˜
param = (g, g , g , e(g, g) , h1, . . . , hN , h1, . . . , hN , H, H).  
Extract(u, B(u), MSK, param): Assume B(u) is the attribute set of user u. The algorithm  
$
chooses su ← Zp, then computes user u’s secret key as du = (du , d0 , {du }i∈B(u), λ),  
0
u0  
i
where  
su  
i
0
su  
du = gα · ga·s , du = g , {du = h }i∈B(u)  
.
u
0
i
0
User u then keeps du and λ secret and publishes the rest of his/her secret key to the  
public domain. That means the secret key of user is of the constant-size.  
0
Encrypt(M, A, param): The inputs are a message M, an access policy A, as well as param.  
Assume that A is a boolean formula β and that the size of β is |β|. At first, encryptor  
describes β in the form of DNF access policy as β = (β1 ∨ · · · ∨ βm), where each βi is  
a set of attributes, i = 1, . . . , m.  
$
The encryptor chooses a scalar s ← Zp, then computes C, C0 as  
C = M · e(g, g)α·s, C0 = gs.  
Next, encryptor compares between m and |β|, if m ≤ |β| he/she computes  
Y
Y
C1 = (ga  
hi)s, . . . , Cm = (ga  
hi)s.  
i∈β1  
i∈βm  
Else, the encryptor constructs an LSSS matrix M representing the original boolean  
formula β, and a map function ρ such that (M, ρ) ∈ (Z`p×n, F([`] → [N])). She then  
→−  
chooses a random vector v = (s, y2, . . . , yn) ∈ Znp . For i = 1, . . . , ` she computes  
→−  
λi = v · Mi, where Mi is the vector corresponding to the i’th row of M. She computes  
−s  
Ci = ga.λ hρ(i), i = 1, . . . , `.  
i
Eventually, the output is either ct = (C, C0, . . . , Cm) along with a description of β or  
ct = (C, C0, . . . , C`) along with a description of (M, ρ).  
240  
VAN ANH TRINH, VIET CUONG TRINH  
Decrypt(ct, du, param): The decryptor u first parses the ct and checks the number of  
elements in ct. If it is equal to m + 1, decryptor parses the ct as (C0, C1, . . . Cm), then  
finds j such that βj ⊂ B(u), and computes  
Q
Q
e(C0, du  
du )  
e(gs, gα(ga  
e(gsu , (ga  
hi)su )  
hi)s)  
0
i
i∈βj  
i∈βj  
i∈βj  
= e(g, g)α·s = K.  
Q
=
e(d0 , Cj)  
u0  
Finally, computes M = C · K−1  
.
Else, she defines the set I ⊂ {1, 2, . . . , `} such that I = {i : ρ(i) ∈ B(u)}. Let {ωi ∈  
Zp}i∈I be a set of constants such that if {λi} are valid shares of any secret s according  
P
P
to M then i∈I ωiλi = s. Note that from the relation i∈I ωiMi = (1, 0, . . . , 0) where  
Mi is the i-th row of the matrix M, she can determine these constants. She parses the  
ct as (C0, C1, . . . C`) and computes  
Y
Y
e( Ci−ω , d ) · e(C0, du  
d−u ω ) = K.  
0
i
i
ρ(i)  
u0  
0
i∈I  
i∈I  
Then computes M = C · K−1  
.
Trapdoor(du, Wi = (w˜i , . . . , w˜i ), param): Suppose that each w˜i ∈ {0, 1}∗, j ∈ [k], is a  
1
j
k
concatenation of set of keywords, for example “Diabetes||Age : 30”.  
The user randomly chooses scalars r1, . . . , rk ∈ Zp, computes the trapdoor  
ꢃ
ꢂ
˜
tds = {tds0,j, tds1,j, {tds2,j,`  
}
}
rj  
j∈[k], tds0, {tdsi}i∈B(u), Wi  
`∈Bu  
ꢄ
ꢃ
rj  
su  
arj  
a
λ
su  
= {gαgasu g (g H(w˜i )) , g , {h }`∈B  
}
j∈[k], g , {hi }i∈B(u), Wi  
.
˜
˜
j
u
`
˜
˜
where Wi is a short description of Wi. User then sends ({tds0,j  
}
j∈[k], Wi) to the cloud  
server, he/she publishes the rest of tds to the public domain. That means the trapdoor-  
size is linear in the number of combinations of keywords user would like to search.  
EncryptKW(KF, A0, param, ): Assume that access policy A0 = β = (β1 ∨ · · · ∨ βm) and  
0
KF = (kf1 ∨ · · · ∨ kfm ), where each βi is a set of attributes and kfi is a concatenation  
0
0
0
0
0
of set of keywords. Note that βi = βj, kfi = kfj , ∀i, j ∈ [m], i , j ∈ [m ].  
$
The encryptor picks a scalar s ← Zp, then computes  
Y
Y
C0 = gs, C1 = (ga  
hi)s, . . . , Cm = (ga  
hi)s,  
i∈β1  
i∈βm  
Y
Y
a
s
s
˜
C1 = (g  
hi) , . . . , Cm = (ga  
hi) .  
˜
˜
˜
i∈β1  
i∈βm  
Next, he/she computes  
Xi = e(g, g)α·s · e(g, gaH(kfi))λ·s, i = 1, . . . , m0,  
then computes  
˜
˜
0
0
0
K1 = H(X1, kf1), . . . , Km = H(Xm , kfm ).  
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME  
241  
Eventually, encryptor outputs  
0
˜
˜
0
ct = (C0, . . . , Cm, C1, . . . , Cm, K1, . . . , Km  
)
along with a description of β.  
Search(tds, ct0, param): The cloud server first finds ` ∈ [m] such that β` ⊂ B(u), then  
computes (Xj, Yj), j = 1, . . . , k  
Q
Q
rj  
su  
˜
e(C0, tds0,j  
tdsi · tds2,j,i  
)
e(gs, gαgasu garj gaλH(w˜i )λ  
hi hi )  
j
i∈β`  
i∈β`  
Xj  
=
=
Q
Q
e(tds0, C`) · e(tds1,j, C`)  
e(gsu , (ga  
hi)s) · e(grj , (ga  
hi) )  
s
˜
˜
i∈β`  
i∈β`  
= e(g, g)α·s · e(g, gaH(w˜i ))λ·s  
,
j
˜
Yj = H(Xj, w˜i ).  
j
If there exists a pair (i, j), i ∈ [m0], j ∈ [k] such that Ki = Yj then the cloud server  
outputs “yes”. Otherwise, the cloud server outputs “no”. Note that, the cloud server  
doesn’t need to compute all pairs (Xj, Yj), j = 1, . . . , k, as long as he/she finds a pair  
(i, j), i ∈ [m0], j ∈ [k] such that Ki = Yj, he/she outputs “yes” and stops.  
Correctness: It is easy to verify that if there exists at least one pair w˜i ∈ Wi and kft ∈ KF  
j
such that w˜i = kft, then  
j
Xt = e(g, g)α·s · e(g, gaH(kft))λ·s = e(g, g)α·s · e(g, gaH(w˜i ))λ·s = Xj,  
j
that means  
˜
˜
Kt = H(Xt, kft) = H(Xj, w˜i ) = Yj.  
j
Remark 1. As in [13] all sets βi must be disjoint subsets to resist the simple attack,  
i = 1, . . . , m. This leads to the fact that attributes in the system cannot be reused in the  
access formula. To deal with this problem, they allow each attribute to have kmax copies of  
itself as in [4, 7]. Note that the user’s secret key is still of constant-size.  
4. SECURITY  
In this section, we show that our scheme is secure in the model defined in Subsection 2.1.3.  
We first refer the reader to the modified BDHE assumption defined in [13], and then we  
define a new modified BDHE assumption. We finally prove our scheme achieves the selective  
semantic security under the new modified BDHE assumption, and achieves the insider and  
outsider security under the modified BDHE assumption.  
Definition 2. (New Modified-BDHE problem) Let (p, G, GT , e) be a bilinear group system,  
$
pick a, t, s, q, θ, r1, . . . , rθ ← Zp, a generator g ∈ G. Given  
ꢄ
2q  
q
s
a
aq aq+2  
~
Y = g, g , g , . . . , g , g  
, . . . , ga , gs(at+a), gat, . . . , ga t  
,
ꢃ
q+2  
2q  
q+1  
aq+1  
r1  
rθ  
ga t, . . . , ga t, ga gar , . . . , g  
gar , g , . . . , g  
1
θ
q+1s  
$
it is hard to distinguish between T = e(g, g)a  
∈ GT and T ← GT .  
242  
VAN ANH TRINH, VIET CUONG TRINH  
Assume that A is an adversary that outputs b ∈ {0, 1} with advantage ꢀ in solving new  
Modified-BDHE problem in G if  
ꢅ
ꢅ
ꢅ
ꢅ
ꢅ
h
i
h
i
aq+1  
s
~
~
Pr A(Y , T = e(g, g)  
) = 0 − Pr A(Y , T = R) = 0 ≥ ꢀ.  
ꢅ
Definition 3. The new Modified-BDHE assumption is secure if no polytime adversary has  
a non-negligible advantage in solving the new Modified-BDHE problem.  
q+1  
q+1s  
q+1t  
Intuitively, to compute e(g, g)a  
one should know one of the values ga  
or ga  
or  
e(g, g)sar , i ∈ [θ], but these elements are not provided in Y .  
i
~
4.1. Selective semantic security  
Theorem 1. Let β∗ be the challenge access policy, from β∗ we construct the corresponding  
challenge LSSS matrix L’ of size `0 × n0 and map function ρ0. We next describe β∗  
=
β1∗ ∨ · · · ∨ βm∗ where βi∗, i = 1, . . . , m are disjoint sets and then construct the corresponding  
challenge LSSS matrix L∗ of size `∗ ×n∗ and map function ρ∗. If those LSSS matrices satisfy  
`0, n0, `∗, n∗ ≤ q, and if θ ≥ k∗ · q∗ where k∗ and q∗ are maximum number of combinations  
of keywords in a trapdoor and maximum number of trapdoor queries corresponding to β∗  
adversary can make, respectively, our scheme is selectively semantic secure under the new  
Modified-BDHE assumption.  
Compare to the proof in [13], here the simulator needs to answer additional corruption  
q+1  
trapdoor query. To answer this kind of query, the simulator uses the elements ga ga.r , . . . ,  
1
q+1  
r1  
rθ  
ga ga.r , g , . . . , g . Note that these elements only appear in new Modified-BDHE as-  
sumption, not in Modified-BDHE assumption. The rest of the proof of this theorem is similar  
to the one in [13].  
θ
4.2. Keyword security  
4.2.1. Insider security  
Theorem 2. Assume that β∗ = β1∗ ∨ · · · ∨ βm∗ is the challenge access policy and from β∗  
construct a corresponding challenge LSSS matrix L∗ of size `∗ × n∗ and map function ρ∗.  
If this LSSS matrix satisfies `∗, n∗ ≤ q, our scheme achieves insider security under the  
Modified-BDHE assumption in the random oracle model.  
Proof  
In this proof we show that the simulator S who attacks Modified - BDHE assumption  
can simulate an adversary A who attacks our scheme in the insider security game as defined  
in the Subsection 2.1.3. As a result, if A wins with non-negligible advantage then S also can  
win with non-negligible advantage. More precisely:  
At the setup phase, S is given an instance of Modified-BDHE assumption, and then receives  
the challenge access policy β∗ = β1∗ ∨ · · · ∨ βm∗ as well as KF0∗ = (kf0∗,1, . . . , kf0∗,m0 ) and  
KF∗1 = (kf1∗,1, . . . , kf1∗,m0 ) from A. Note that βi∗, i = 1, . . . , m are disjoint sets. From  
challenge access policy β∗ = β1∗ ∨ · · · ∨ βm∗ , simulator builds LSSS matrix (M`∗∗×n∗ , ρ∗)  
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME  
243  
such that both `∗, n∗ ≤ q. To program the parameters for the system, simulator picks  
q
0
$
α0 ← Zp and implicitly sets α = α0 +aq+1, then computes e(g, g)α = e(ga, ga )e(g, g)α .  
The simulator finds sets of rows of matrix M∗: I1, . . . , Im where {ρ(i), i ∈ Ij} = βj∗  
(note that Ij, j = 1, . . . , m are disjoint sets since βj∗ are disjoint sets). Now, β∗ can be  
rewritten as (∧ρ(i))i∈I ∨ (∧ρ(i))i∈I ∨ · · · ∨ (∧ρ(i))i∈I  
.
m
1
2
˜
˜
To program h1, . . . , hN , h1, . . . , hN , the simulator implicitly defines the vector  
∗
∗
→−  
y = (t, ta, ta2, . . . , tan −1)⊥ ∈ Znp .  
→−  
→−  
∗
Let Λ = (λ1, . . . , λ` ) = M · y be the vector shares, for j = 1, . . . , `∗,  
∗
P
λj = i∈[n∗] Mj∗,itai−1  
.
P
∗
He/she next finds {ωi}1≤i≤` where for all j = 1, . . . , m,  
ωi · λi = t. Note that  
i∈Ij  
∗
∗
we can find {ωi}1≤i≤` since from the property of LSSS matrix, there exists {ωi}1≤i≤`  
P
such that for all j = 1, . . . , m,  
ωi · Mi∗ = (1, 0, . . . , 0).  
i∈Ij  
∗
∗
˜
For each hj, hj, 1 ≤ j ≤ N, where there exists an index i ∈ [` ] such that j = ρ (i)  
$
(note that the function ρ∗ is injective), the simulator chooses zj, z˜ ← Zp and compute:  
j
k
Note that the simulator knows matrix M∗ and gta where k ∈ [n∗] from the instance  
of Modified-BDHE assumption.  
P
P
] Mi∗,ktak  
] Mi∗,ktak  
∗
k∈[n  
hj = gz · gω  
= gz · gaω λ ; hj = g · gω  
= gz˜ · gaω λ  
.
∗
z˜j  
i
i
j
j
i
i
j
i i  
˜
k∈[n  
$
zj  
z˜j  
˜
Otherwise, the simulator chooses zj, z˜ ← Zp and computes hj = g , hj = g . We  
j
˜
note that {hj, hj}j=1,...,N are distributed randomly due to choosing randomly zj, z˜ .  
j
q
To program gλ, the simulator implicitly sets λ = −aq and computes gλ = (ga )−1  
.
˜
˜
Simulator also chooses hash functions H, H and in this proof simulator models H, H  
as random oracles. At the end of this phase, the simulator gives following param to A  
a
λ
α
˜
˜
˜
(g, g , g , e(g, g) , h1, . . . , hN , h1, . . . , hN , H, H).  
Query phase 1. In this phase, the simulator needs to answer five types of query:  
1. The hash query.  
2. The corrupted trapdoor query (Bu, Wi = (w˜i , . . . , w˜i )) where Wi doesn’t “sa-  
1
k
tisfy” KF∗0 or KF1∗, that means there doesn’t exist any triple (ij, b, b0) such that  
w˜i = kfb∗,b0  
.
j
3. The corrupted trapdoor query (Bu, Wi) where Wi “satisfies” KF∗0 or KF1∗, but  
Bu doesn’t “satisfy” β∗.  
4. The partially corrupted trapdoor query (Bu, Wi) where Wi “satisfies” KF∗0 or  
KF∗1 and Bu “satisfies” β∗. Note that user only keeps ({tds0,j  
}
j∈[k], Wi) secret  
˜
and publishes the rest of tds to the public domain. That means A can know  
({tds1,j, {tds2,j,`  
}
`∈Bu  
}j∈[k], tds0, {tdsi}i∈B ) for any (Bu, Wi = (w˜i , . . . , w˜i )).  
u
1
k
244  
VAN ANH TRINH, VIET CUONG TRINH  
5. The partially corrupted secret key query Bu for any Bu. The reason is that user  
only keeps du secret.  
0
˜
• Regarding the hash query: Simulator creates two lists L, L, at the beginning  
˜
L, L are empty. For each hash query corresponding to w˜i which doesn’t satisfy  
KF∗0 or KF∗1, the simulator first checks whether w˜i has been queried before. If  
$
not, he/she chooses yi ← Zp and adds triple (w˜i, gyi , yi) ∈ ({0, 1}∗, G, Zp) into  
L and returns gy to A. Otherwise, he/she simply finds the triple (w˜i, g , yi)  
yi  
i
and returns gy to A. In the case w˜i “satisfies” KF0∗ or KF∗1, the simulator first  
i
$
checks whether w˜i has been queried before. If not, he/she chooses yi ← Zp and  
yi  
−a  
adds triple (w˜i, g−a · g , yi) into L and returns g · gy to A. Otherwise, he/she  
i
yi  
−a  
simply finds the triple (w˜i, g−a · g , yi) and returns g · gy to A. For each hash  
i
query corresponding to (Ki, kfj) where Ki ∈ GT , kfj ∈ {0, 1}∗, simulator first  
$
checks whether (Ki, kfj) has been queried before. If not, he/she chooses yi ← Zp  
j
˜
and adds triple (Ki, kfj, yi ) into L. Otherwise, he/she simply finds the triple  
j
(Ki, kfj, yi ) and returns yi to A.  
j
j
• Regarding the second type of query: A first sends Wi = (w˜i , . . . , w˜i ) and B(u) to  
1
k
simulator with the requirement that Wi doesn’t satisfy KF∗0 or KF1∗. To program  
each tds0,j, j ∈ [k], the simulator first checks whether w˜i , j ∈ [k] has been queried  
j
$
before. If not, he/she chooses yi ← Zp and adds triple (w˜i , gy , yi ) into L. In  
i
j
j
j
j
both ways, simulator knows yi from L, and H(w˜i ) = gy since Wi doesn’t  
i
j
j
j
$
satisfy KF∗0 or KF1∗. Next, simulator first chooses su, rj ← Zp then computes  
0
tds0,j = gα gasu garj (gλ)yij = gαgasu garj (gaH(w˜i ))λ.  
j
0
0
q+1  
q+1  
q
Note that gα = gα · ga  
· g−a  
= gα · gaλ, since gλ = g−a . Since simulator  
knows su, rj, j ∈ [k], he/she can easily computes the rest of the trapdoor for any  
set B(u). Finally, simulator returns tds to A.  
• Regarding the third type of query: A first sends Wi = (w˜i , . . . , w˜i ) and B(u) to  
1
k
simulator with the requirement that B(u) doesn’t satisfy β∗ and Wi “satisfies”  
→−  
∗
∗
n∗  
∗
KF0 or KF1. The simulator first finds a vector x = (x1, . . . , xn ) ∈ Zp such  
→−  
that x1 = −1 and for all i where ρ∗(i) ∈ B(u) the product h x · Mi∗i = 0. The  
$
simulator continues to pick ζ ← Zp and implictly define the value su as  
q−n∗+1  
su = ζ + x1aq + x2aq−1 + · · · + xn a  
.
∗
The simulator computes  
Y
Y
0
q+1−i  
q+1−i  
xi  
xi  
0
du = gα gaζ  
(ga  
)
= gα · ga·s ; du = gζ  
(ga  
)
= gsu .  
u
0
0
i=2,...,n∗  
i=1,...,n∗  
For j ∈ B(u) such that there is no i ∈ [`∗] satisfying ρ∗(i) = j. The simulator  
knows values zj and computes hsj = (g ) . For j ∈ B(u) such that there is an  
indice i ∈ [`∗] satisfying ρ∗(i) = j. The simulator computes  
su zj  
u
P
∗
q
∗ aq−n +1)ωi  
] Mi∗,ktak  
∗
hsj = (g ) · g(ζ+x a +···+x  
.
su zj  
1
u
n
k∈[n  
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME  
245  
→−  
Note that the product h x ·Mi∗i = 0 thus the simulator doesn’t need to know the  
q+1t  
unknown term of form ga  
to compute hsju , all other terms he/she knows from  
su  
j
the assumption. Simulator simply sets gs and {h }j∈B as tds0 and {tdsi}i∈B  
,
u
u
u
respectively. To program {tds0,j, tds1,j, {tds2,j,`  
}
}j∈[k], the simulator consi-  
`∈Bu  
ders two cases:  
1. w˜i “satisfies” KF∗0 or KF1∗, that means there exists at least a triple (ij, b, b0)  
j
such that w˜i = kfb∗,b0 . Simulator checks whether w˜ has been queried  
ij  
j
$
before. If not, he/she chooses yi ← Zp and adds triple (w˜i , g−agyij , yi )  
j
j
j
j
into L. In both ways, simulator knows yi from L, and H(w˜i ) = g−agyi  
.
j
j
$
Next, simulator chooses rj ← Zp then computes  
arj −aq  
yij  
tds0,j = gαgasu g (g  
)
= gαgasu garj (gaH(w˜i ))λ.  
j
Note that λ = −aq. With known rj, simulator can easily compute tds1,j  
,
{tds2,j,`  
}
`∈Bu  
.
2. w˜i doesn’t “satisfy” KF0∗ or KF1∗. Simulator checks whether w˜i has been  
j
j
$
queried before. If not, he/she chooses yi ← Zp and adds triple (w˜i , gy , yi )  
i
j
j
j
j
into L. In both ways, simulator knows yi from L, and H(w˜i ) = gy . Next,  
simulator picks ζj ← Zp and implicitly defines the value rj as  
i
j
j
j
$
q−n∗+1  
rj = ζj + x1aq + x2aq−1 + · · · + xn a  
,
∗
rj  
rj  
then similarly computes gαgar , g , {h`  
}
as above (note that rj now  
j
˜
`∈Bu  
−rj  
plays the role as su). He/she then sets g−r , {h`  
}
as tds1,j, {tds2,j,`}  
j
˜
`∈Bu  
`∈Bu  
respectively, and computes  
α0 −aq  
−arj  
yij  
tds0,j = gαgasu g−αg−ar g (g  
)
= gαgasu g  
(gaH(w˜i ))λ.  
j
j
0
q+1  
q+1  
q
yij  
Note that gα = gα ga  
and (gaH(w˜i ))λ = g−a (g−a  
)
.
j
Finally, simulator returns tds to A.  
• Regarding the fourth and fifth types of query: It is straightforward since the  
unknown value gα only appears in the tds0,j and du , therefore simulator can  
0
$
$
simply choose su, {rj}j∈[k] ← Zp and then computes tds, or choose su, ← Zp and  
then computes du.  
Challenge:  
The simulator picks a random bit b, computes C0∗  
=
gs and  
∗
∗
∗
∗
˜
˜
(C1 , . . . , Cm) = I, (C1 , . . . , Cm) = J, where  
ꢄ
ꢃ
P
P
szρ  
∗
szρ  
m
∗
(i)  
I = gs(a+at)  
g
(i) , . . . , gs(a+at)g  
i∈I  
i∈I  
1
Y
Y
s
a
=
g , (g  
hi)s, . . . , (ga  
hi)s  
,
i∈β1∗  
i∈βm∗  
246  
VAN ANH TRINH, VIET CUONG TRINH  
ꢄ
ꢃ
P
P
sz˜ρ∗  
sz˜ρ∗  
m
J = gs(a+at)  
g
(i) , . . . , gs(a+at)g  
i∈I  
(i)  
i∈I  
1
Y
Y
a
s
a
s
˜
˜
=
(g  
hi) , . . . , (g  
hi)  
.
i∈β1∗  
i∈βm∗  
To computes {Ki∗}i∈[m0], simulator first checks whether kfb∗,i has been queried before.  
$
If not, he/she chooses yi ← Zp and adds triple (kfb∗,i, g−agyi , yi) into L. Otherwise,  
he/she finds (kfb∗,i, g−agyi , yi) from L. In both ways, simulator knows yi from L, and  
H(kfb∗,i) = g−agyi . He/she computes  
α0  
α0  
Xi∗ = T · e(gs, g ) · e(gs, (gλ)yi ) = T · e(gs, g ) · e(gλ, gaH(kfb∗,i))s  
∗
∗
∗
˜
then computes Ki = H(Xi , kfb,i). Finally, he/she outputs  
ct0∗ = (C0∗, {Ci∗}i∈[m], {Ci }i∈[m], {Ki∗}i∈[m0]).  
∗
˜
q+1s  
Note that if T = e(g, g)a  
then ct0∗ is in valid form.  
Query phase 2. Similar to phase 1.  
q+1s  
Guess: A gives his guess b0 to S, S will output its guess 0 corresponding to T = e(g, g)a  
q+1  
if b0 = b; otherwise, S outputs its guess 1 corresponding to T is a random element.  
When T = e(g, g)a s, S gives a perfect simulation so  
h
i
1
aq+1  
~
Pr S(Y , T = e(g, g)  
s) = 0 = + AdvIAS  
.
2
When T is a random element {Ki∗}i∈[m0] are completely hidden from the A, so  
1
~
Pr[S(Y , T = R) = 0] = . As a result, S is able to play the Modified - BDHE game  
2
with non-negligible advantage (equal to AdvIAS) or S is able to break the security of  
Modified-BDHE assumption.  
ꢀ
Outsider Security. Outsider security is similar to the case of Insider Security, due to the  
space limitations we omit it here.  
5. COMPARISON  
Regarding PEKS scheme supporting both expressive searching predicate and multi-writer  
/multi-reader, to our knowledge [6, 8, 9, 11, 14] are the best schemes to date. In these  
schemes, the authors in [9] proposed a PEKS schemes scheme with constant size of ciphertext,  
however their scheme only supports limited AND-gates access policy. The authors in [6, 8,  
11, 14] managed to transform from existing KP-ABE or CP-ABE schemes to PEKS schemes,  
these schemes enjoy some interesting properties such as fast keyword search or outsourcing  
decryption or partially trapdoor security. Other properties such as fined-grain access policy,  
public key-size, ciphertext-size are similar to ones in our scheme, but our scheme has constant  
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME  
247  
size of secret key while they haven’t, moreover our model is different to their model. We give  
in Fig 1 the comparison between our model and the model in [6, 8, 11, 14]. We can easily  
see from Fig 1 that there is no TTG in our model, user relies solely on his/her secret key to  
generate a trapdoor. In contrast, in their model, TTG takes charge of generating trapdoors  
and therefore should be always online. Compare to their model, our model has two following  
advantages:  
• There is no TTG in our model, we therefore can save the system resource and the  
communication overhead between user and TTG.  
• In our model, user uses his/her secret key to generate trapdoors, cloud server relies on  
such trapdoors to search corresponding ciphertexts, user therefore is able to decrypt all  
the resulted ciphertexts. In contrast, in their model, TTG takes charge of generating  
trapdoors and user’s secret key is not involved in this process, this leads to the fact that  
the resulted ciphertexts may contain ciphertexts for which the user cannot decrypt. We  
argue that our model is more useful in practice since it is waste time and communication  
overhead if user receives the ciphertexts for which he/she cannot decrypt.  
Encrypt documents  
and corresponding  
keywords  
Data  
owner  
Encrypt documents  
and corresponding  
keywords  
Cloud  
server  
Data  
owner  
Cloud  
server  
3.Trapdoor  
1.Trapdoor  
4.Resulted  
ciphertexts  
2.Resulted  
ciphertexts  
Trusted  
Trapdoor  
Generator  
User  
User  
1.Trapdoor request  
2.Trapdoor  
Figure 1. Our model on the left and their model on the right  
We also note that the scheme in [15] can deal with well the problem of trapdoor secu-  
rity, and moreover this scheme is very efficient in term of both communication and com-  
putation. However, this scheme is in the different type to our scheme since our scheme  
supports expressive searching while the scheme in [15] supports equality queries. Consi-  
der the example in [6], W = (w1, w2, w3) where w1 = “Diabetes00, w2 = “Age : 3000 and  
w3 = “Weight : 150 − 20000, user in our scheme can search for ciphertexts which has key-  
word either “Diabetes00 or “Weight : 150 − 20000. While the user in the scheme in [15] must  
specify the keyword search is ”Diabetes” or “Weight : 150 − 20000 and then receives only  
the ciphertext corresponding to the keyword search. For example, if the keyword search is  
“Diabetes00, user only receives the ciphertext corresponding to “Diabetes00. This is similar  
to the difference between traditional public key encryption and attribute-based encryption.  
248  
VAN ANH TRINH, VIET CUONG TRINH  
6. CONCLUSION  
In this paper, we propose a CP-ABSE scheme which supports both expressive searching  
predicate and multi-writer/multi-readers. To our knowledge, our scheme has some interesting  
properties such as constant-size of secret key and in the non-interactive model. Our scheme  
will become very efficient when the number of combinations of keywords to which a user  
would like to search is small. Our scheme is therefore very suitable for a large class of  
applications in practice for which the aforementioned case falls into.  
ACKNOWLEDGMENTS  
This research is funded by Vietnam National Foundation for Science and Technology  
Development (NAFOSTED) under grant number 102.01-2018.301.  
REFERENCES  
[1] M. R. Asghar, G. Russello, B. Crispo, and M. Ion, “Supporting complex queries and access  
policies for multi-user encrypted databases,” in Proceeding CCSW ’13 Proceedings of the  
2013 ACM workshop on Cloud computing security workshop, Berlin, Germany, November  
4, 2013, pp 77–88. Doi 10.1145/2517488.2517492  
[2] D. Boneh, G. Di Crescenzo, R. Ostrovsky, and G. Persiano, “Public key encryption with keyword  
search,” Advances in Cryptology - EUROCRYPT 2004 International Conference on the  
Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, May 2-6,  
2004, pp 506–522.  
[3] D. Cash, S. Jarecki, C. S. Jutla, H. Krawczyk, M.-C. Rosu, and M. Steiner, “Highly-scalable  
searchable symmetric encryption with support for Boolean queries”, in Advances in Cryptology  
CRYPTO 2013 33rd Annual Cryptology Conference, Proceedings, Part I, Santa Barbara,  
CA, USA, August 18-22, 2013.  
[4] S. Canard and V. C. Trinh, “Constant-size ciphertext attribute-based encryption from multi-  
channel broadcast encryption,” Information Systems Security. 12th International Confe-  
rence, ICISS 2016, Proceedings, Jaipur, India, December 16-20, 2016.  
[5] H. Cui, R. Deng, J. Liu, and Y. Li, “Attribute-based encryption with expressive and authorized  
keyword search,” Information Security and Privacy. 22nd Australasian Conference, ACISP  
2017, Proceedings, Auckland, New Zealand, July 35, 2017, Part I, pp. 106–126.  
[6] H. Cui, Z. Wan, R. Deng, G. Wang, and Y. Li, “Efficient and expressive keyword search over  
encrypted data in the cloud,” IEEE Transactions on Dependable and Secure Computing,  
vol. 15, no. 3, pp. 409–422, 2018. Doi 10.1109/TDSC.2016.2599883  
[7] S. Hohenberger and B. Waters, “Attribute-based encryption with fast decryption,” Public-  
Key Cryptography PKC 2013. 16th International Conference on Practice and Theory  
in Public-Key Cryptography, Proceedings, Nara, Japan, February 26 March 1, 2013, pp.  
162–179.  
[8] Jianting Ning, Zhenfu Cao, Xiaolei Dong, Kaitai Liang, Hui Ma, Lifei Wei, “Auditable σ-  
Time Outsourced Attribute-Based Encryption for Access Control in Cloud Computing,” IEEE  
Transactions on Information Forensics and Security, vol. 13, no. 1, pp. 94–105, 2018. Doi  
10.1109/TIFS.2017.2738601  
                 
A CIPHERTEXT-POLICY ATTRIBUTE-BASED SEARCHABLE ENCRYPTION SCHEME  
249  
[9] Jinguang Han, Ye Yang, Joseph K. Liu, Jiguo Li,Kaitai Liang,Jian Shen, “Expressive attribute-  
based keyword search with constant-size ciphertext,” In Soft Computing Journal, vol. 22, no.  
15, pp 5163-5177, August 2018.  
[10] A. Kiayias, O. Oksuz, A. Russell, Q. Tang, and B. Wang, “Efficient encrypted keyword search for  
multi-user data sharing,” Computer Security ESORICS 2016. 21st European Symposium  
on Research in Computer Security, Proceedings, Heraklion, Greece, September 26-30, 2016,  
Part I, pp 173–195.  
[11] J. Lai, X. Zhou, R. H. Deng, Y. Li, and K. Chen, “Expressive search on encrypted data,” ASIA  
CCS ’13 Proceedings of the 8th ACM SIGSAC Symposium on Information, Computer and  
Communications Security, Hangzhou, China, May 8-10, 2013, pp 243–251.  
[12] Z. Lv, C. Hong, M. Zhang, and D. Feng, “Expressive and secure searchable encryption in the  
public key setting,” Information Security 17th International Conference, ISC 2014, Pro-  
ceedings, Hong Kong, China, October 12-14, 2014, pp 364–376.  
[13] Q. M. Malluhi, A. Shikfa, and V. C. Trinh, “A ciphertext-policy attribute-based encryption  
scheme with optimized ciphertext size and fast decryption,” Proceeding ASIA CCS ’17 Procee-  
dings of the 2017 ACM on Asia Conference on Computer and Communications Security,  
Abu Dhabi, United Arab Emirates, April 02 - 06, 2017, pp. 230–240.  
[14] R. Meng, Y. Zhou, J. Ning, K. Liang, J. Han, and W. Susilo, “An efficient key-policy attribute-  
based searchable encryption in prime-order groups,” Provable Security 11th International  
Conference, ProvSec 2017, Proceedings, Xi’an, China, October 23-25, 2017, pp. 39–56.  
[15] Qiong Huang and Hongbo Li, “An efficient public-key searchable encryption scheme secure  
against inside keyword guessing attacks,” Information Sciences Journal, vol. 403–404, pp.  
1–14, September 2017. Doi.org/10.1016/j.ins.2017.03.038  
[16] D. X. Song, D. Wagner, and A. Perrig, “Practical techniques for searches on encrypted data,”  
Proceeding 2000 IEEE Symposium on Security and Privacy, Berkeley, CA, USA, May 14–17,  
2000, pp. 44–55. Doi 10.1109/SECPRI.2000.848445  
[17] S. Sun, J. K. Liu, A. Sakzad, R. Steinfeld, and T. H. Yuen, “An efficient non-interactive multi-  
client searchable encryption with support for boolean queries,” Computer Security ESORICS  
2016. 21st European Symposium on Research in Computer Security, Proceedings, Part I,  
Heraklion, Greece, September 26–30, 2016, pp. 154–172.  
[18] Y. Wang, J. Wang, S. Sun, J. Liu, W. Susilo, and X. Chen, “Towards multi-user searchable en-  
cryption supporting boolean query and fast decryption,” Provable Security 11th International  
Conference, ProvSec 2017, Proceedings, Xi’an, China, October 23–25, 2017, pp. 24–38.  
[19] Y. Yang, H. Lu, and J. Weng, “Multi-user private keyword search for cloud computing,”  
2011 IEEE Third International Conference on Cloud Computing Technology and Science,  
Athens, Greece, 29 Nov.- Dec. 01, 2011, pp. 264–271. Doi 10.1109/CloudCom.2011.43  
Received on March 05, 2019  
Revised on April 18, 2019  
                     
pdf 17 trang yennguyen 14440 Free
Bạn đang xem tài liệu "A ciphertext-policy attribute-based searchable encryption scheme in non-interactive model", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfa_ciphertext_policy_attribute_based_searchable_encryption_sc.pdf