Accepted Manuscript
A Generic Scheme of Plaintext-Checkable Database Encryption Sha Ma, Yi Mu, Willy Susilo PII: DOI: Reference:
S0020-0255(17)30164-0 10.1016/j.ins.2017.11.010 INS 13238
To appear in:
Information Sciences
Received date: Revised date: Accepted date:
17 January 2017 30 October 2017 1 November 2017
Please cite this article as: Sha Ma, Yi Mu, Willy Susilo, A Generic Scheme of Plaintext-Checkable Database Encryption, Information Sciences (2017), doi: 10.1016/j.ins.2017.11.010
This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
ACCEPTED MANUSCRIPT
A Generic Scheme of Plaintext-Checkable Database Encryption
CR IP T
Sha Maa,b,∗, Yi Mub , Willy Susilob a College
of Mathematics and Informatics, South China Agricultural University, Guangzhou, Guangdong 510640, China b School of Computing and Information Technology, University of Wollongong, NSW, Australian
AN US
Abstract
Database encryption is essential for cloud database systems. For a large database, decryption could take a lot of computational time. Therefore, verifying an encryption that contains a correct plaintext without decryption becomes significant for a large database system. Plaintext-checkable encryption (PCE) is a potential tool for such database systems, which is first proposed by Canard et
M
al. in CT-RSA 2012. Although the generic PCE in the random oracle model has been studied intensively, the generic PCE in the standard model and its
ED
efficient implementation are still challenging problems. This paper presents the first generic PCE in the standard model using smooth projective hash function (SPHF) and prove its s-priv1-cca security, which is independent of current unlink
PT
security. Based on the instantiated SPHF from DDH assumption, we obtain the most efficient PCE in the standard model, without any pairing operation. Finally, we improve two existing generic constructions in the random oracle model
CE
so that they are secure under chosen ciphertext attack. Keywords: database encryption, plaintext-checkable encryption, provable
AC
security.
∗ Corresponding
author Email addresses:
[email protected] (Sha Ma),
[email protected] (Yi Mu),
[email protected] (Willy Susilo)
Preprint submitted to Information Sciences
November 4, 2017
ACCEPTED MANUSCRIPT
1. Introduction In CT-RSA 2012, Canard et al. [7] first proposed a cryptographic primitive called plaintext-checkable encryption (PCE), which extends public-key encryp-
5
CR IP T
tion to achieve the following functionality: given a plaintext, a ciphertext and a
public key, it is universally possible to check whether the ciphertext encrypts the plaintext under the public key. We observe that this primitive would be very useful for database query, for example, public query on encrypted data or encrypted query on public data. Canard et al. [7] provided generic PCE constructions in
the random oracle model based on any probabilistic or deterministic encryption
and a practical construction in pairing groups in the standard model. To the
AN US
10
best of our knowledge, generic PCE construction in the standard model and its efficient implementation are still challenging problems.
A related primitive of PCE is searchable encryption, which has been well studied and widely employed in real-world applications. Searchable encryption is first formalized in [18] for the purpose of allowing text search over encrypted
M
15
data. Based on the usage of either symmetric or asymmetric encryption tech-
ED
nique, searchable encryption is classified in to symmetric searchable encryption [18, 9, 14, 19, 24, 26] and asymmetric encryption [6, 1, 12, 13, 22]. Here, we concentrate on asymmetric encryption technique. Public key encryption with keyword search (PEKS) was first proposed by Boneh et al. [6] that allows
PT
20
the user to delegate keyword search on his own encrypted data through transmitting a corresponding encrypted-keyword trapdoor. Thereafter, many PEKS
CE
variants [1, 12, 13, 22] have been presented to affiliate with other properties. Another related primitive is probabilistic public key encryption with equality test (PKEET), which was first proposed by Yang et al. [23] that allows anyone
AC
25
to check whether the ciphertexts encrypt the same plaintext. Thereafter, many PKEET variants [20, 21, 17] have been presented to enforce different authorization policies. Essentially, PKEET can be trivially used for constructing PCE. We will explain it in Section 5. Comparatively, PEKS is suitable for search on
30
encrypted data using encrypted keyword while PKEET is suitable for equality
2
ACCEPTED MANUSCRIPT
Table 1
The applications of different cryptography primitives (a) Keyword search
Unencrypted
Unencrypted PCE
CR IP T
XX XXX data Encrypted XXX keyword XX Encrypted PEKS PCE
—
(b) Equality test
XX XXX data2 Encrypted XXX data1 XX
Unencrypted
PKEET
PCE
Unencrypted
PCE
—
AN US
Encrypted
test on encrypted data. We conclude that PCE can be used in the following applications shown in Table 1: (1) search on encrypted data using unencrypted keyword, (2) search on unencrypted data using encrypted keyword, and (3) equality test on unencrypted data and encrypted data.
Blew we compare our construction with related work [23] and [7] (the scheme
M
35
in the standard model) in terms of property and security in Table 2. As to the
ED
efficiency comparison, we leave it to Section 5. In Table 2, the second column shows whether the scheme is constructed in a generic way. The third to forth columns show the security and the underlying assumption for guaranteeing the security. The fifth column shows whether the model is proven in the standard
PT
40
model. The sixth column shows whether the scheme can be constructed in the
AC
CE
non-pairing groups.
[23] [7]
Ours
Table 2
Comparison with [23], [7]
Generic
Security
Assumption
Standard Model
w/o Pairing
×
OW-CCA
CDH
UNLINK-CPA
DLIN+SXDH
× √
×
S-PRIV1-CCA
HSM
× √
√
× √
It can be learnt from Table 2 that only our scheme is constructed in a
3
ACCEPTED MANUSCRIPT
generic way. With regard to the security, our scheme achieves S-PRIV1-CCA, 45
which is more secure than OW-CCA evidently and independent with UNLINK (We will explain the reason in Section 3). Furthermore, [23] is proven secure
CR IP T
in random oracle model based on CDH assumption. Both [7] and our scheme are proven secure in standard model, where the former is based on DLIN and SXDH assumptions and the latter is based on hard subset membership problem 50
(HSM). Thanks to using SPHF as a building block, our work does not need the pairings group as a necessary requirement.
We consider a SALE database for a chemical warehouse using the cloud
AN US
storage service, which contains three tables (See Table 3): the Product table
(including the product id “PId”, the product name “Name”, the price “Price” 55
and the producer “Producer”), the E customer table (including the customer ID “CId”, the customer name “Name”, the telephone number “Tel” and the payment card number “CardNum”) and the Order table (including the product ID “PId” and the customer ID “CId”), where the Product table and the
60
M
E customer table are required to be outsourced to the cloud storage due to their large amount of data while the relatively small Order table is kept in local
ED
storage for privacy preserving, which depicts the personal activities or interests as sensitive data. Besides, let the Product table is in plain for public access and the E customer table are encrypted for personal information. Assume that we
PT
have the following query requirements on the SALE database: 1. Find the producer of the product whose name is “flu” and ensure that the
65
CE
query intention “flu” should be protected.
2. Find the telephone number of the customer whose payment card number
AC
is “622300857396”, which is found to be a fake card number detected by
70
the department of the fund security.
3. Find the name of the customer who has placed the order “P001”.
Accordingly, we design the three SQL clauses (SQL 1, SQL 2 and SQL 3) shown c
in Table 3, where = denotes to check if the former ciphertext contains the latter plaintext, which is the functionality provided by PCE discussed in this paper. 4
Table 3
CR IP T
ACCEPTED MANUSCRIPT
A SALE database and SQL sentences (a) Product
Name
Price
Producer
P001
vitamins
15
CN
P002
fragrance
80
FR
P003
flu
38
AU
P004
soap
AN US
PId
5
JP
(b) E customer
Name
Tel
CardNum
nv4¿2y
b7%xkl
j3dpw$8z3nm9!v
nv4@x0#uqa368xw
*x7u(x
g9h84r
2jsn8*su3ythmbs
x2f9gikr2kn+92zf3y
+3z-bg
k*5z2w
ut!xf4bt51amj)5w
e3&z6qtr5bj8k*wr9g
M
CId
PT
ED
(c) Order
PId
CId
P001
C003
P003
C002
(d) SQL sentences: c
SELECT Producer FROM Product WHERE Enc(“flu”) = Name.
SQL 2:
SELECT Tel FROM E customer
CE
SQL 1:
SELECT Name FROM E customer, Order c
WHERE E customer.CId = Order.CId AND PId like “P001”.
AC
SQL 3:
c
WHERE CardNum = 622300857396.
5
ACCEPTED MANUSCRIPT
The current PCE scheme in the standard model [7], which is implemented us75
ing pairing maps, does not consider that the adversary might query a decryption oracle. As a result, using the existing PCEs as a building block would have some
CR IP T
limitations in the applications. For example, Canard et al. [7] clarified “if using our PCE scheme for constructing group signature with verifier-local revocability (VLR), the resulting group signature cannot achieve CCA-anonymity when the 80
adversary has an oracle to open the signature of its choice (the decryption oracle in PCE scheme), as considered e.g. in the model by Bellare et al.[4] ”. For this
another killer application of PCE, a possible solution might be to design a PCE
AN US
scheme based on linear encryption [5] to be combined with one-time signature
and Kiltz’s tag-based encryption [10]. Under this unproven speculation, it still 85
requires a PCE scheme defined over symmetric bilinear groups. Based on the aforementioned observations, we conclude that a secure PCE construction under chosen ciphertext attack could surely simplify some applications of PCE. In
chosen ciphertext attack. 1.1. Our Contributions
ED
90
M
this paper, we are interested in such PCE schemes with the property of under
Using the smooth projective hash function (SPHF) as a basic cryptographic tool, we present the first generic construction of plaintext-checkable encryption
PT
(PCE) in the standard model while the existing generic PCE constructions [7] are only proved in the random oracle model. We adopt the s-priv1-cca notion to define our PCE security, which is inde-
CE
95
pendent with the current unlink security with the characteristic of providing the decryption oracle to the adversary. Our generic construction is proven to sat-
AC
isfy s-priv1-cca based on the hard subset membership problem for SPHF with a
strong word security.
100
With an efficient instantiation of SPHF based on the Decisional Diffie-
Hellman assumption, we obtain the most efficient PCE in the standard model, without the need of any pairing operation. Concretely, our check algorithm
6
ACCEPTED MANUSCRIPT
only needs 4 modular exponentiation operations while the check algorithm in [7] costs 4 pairing operations. We improve Canard et al.’s two generic PCE constructions in the random
105
CR IP T
oracle model [7] to be secure under chosen ciphertext attack and prove that they satisfy the unlink-cca security.
2. Preliminaries 2.1. Smooth Projective Hash Function
AN US
A smooth projective hash function (SPHF) is based on a domain X and an
110
N P language L ⊂ X . An SPHF system over L onto a set Y is defined as follows [8].
• SPHFSetup(k): It takes as input a security parameter k and outputs (L, param) as the global parameters.
• HashKG(L, param): It generates a hashing key hk.
M
115
• ProjKG(hk,(L,param),W ): It derives the projection key hp from the hash-
ED
ing key hk, possibly depending on the word W. • Hash(hk,(L, param), W ): It outputs the hash value hv ∈ Y from the hash-
PT
ing key hk on any word W ∈ X . • ProjHash(hp,(L,param),W,w ): It outputs the hash value hv0 ∈ Y from the
120
projection key hp and any word W ∈ X with the witness w ∈ WS, where
CE
WS is the witness space.
AC
In this paper, we add the WordGen algorithm as an SPHF extension:
125
• WordGen((L, param), w): It generates a word W ∈ L from the witness w ∈ WS.
We define an operator ~ on the group Y: Y ~ Y → Y. For any y1 ∈ Y and
y2 ∈ Y, y1 ~ y2 ∈ Y. For any element y ∈ Y, we define y ~ y −1 = 1Y , which is the identity element of Y. 7
ACCEPTED MANUSCRIPT
Correctness. The correctness of SPHF assures that if W ∈ L with a witness 130
w, then Hash(hk, (L, param), W) = ProjHash(hp, (L, param), W, w). Pseudo-randomness. The pseudo-randomness of SPHF assures that if W ∈
CR IP T
L, then the following two distributes are computationally indistinguishable: {((L, param), W, hp, hv)|hv = Hash(hk, (L, param), W )}, $
{((L, param), W, hp, hv)|hv ← Y}.
Smoothness. The smoothness of SPHF assures that if W ∈ X \L, then the
AN US
following two distributions are statistically indistinguishable:
{((L, param), W, hp, hv)|hv = Hash(hk, (L, param), W )}, $
{((L, param), W, hp, hv)|hv ← Y}. 135
2-Smoothness. The 2-smoothness of SPHF assures that if W1 , W2 ∈ X \L ∧
M
W1 6= W2 , then the following two distributions are statistically indistinguishable: {((L, param), W1 , W2 , hp, hv1 , hv2 )|hv2 = Hash(hk, (L, param), W2 )},
ED
$
{((L, param), W1 , W2 , hp, hv1 , hv2 )|hv2 ← Y},
PT
where hv1 = Hash(hk, (L, param), W1 ). Definition 1. (Hard subset membership problem). The subset membership
CE
problem is hard on (X , L) for an SPHF if it is computationally hard to dis-
140
tinguish random elements of L from random elements of X \L.
AC
Word Security. SPHF implies that it is impossible to recover the witness from the word due to the smoothness property. In this paper, we need a strong word security for SPHF to assure that given W ∈ L, the adversary A = (A1 , A2 ) as a pair of polynomial time algorithms could not get any partial information about
145
the witness under W . We clarify that A1 and A2 share neither coins nor states. A1 takes input hp and returns a witness w together with some side information 8
ACCEPTED MANUSCRIPT
t. A2 takes hp and a word W and tries to compute t. In fact, nearly all SPHFs in the literature have word security and hence this property is thought to be a reasonable and realistic assumption. The following WordSec experiment is defined for the adversary A against word security, which wins with negligible
CR IP T
150
probability. ExpWordSec SPHF,A (k) :
1. Setup. The challenger runs SPHFSetup, HashKG and ProjKG, generates (param, L, hp, hk) and sends the adversary (param, L, hp).
AN US
2. Challenge Phase. The adversary A1 randomly selects (w0 , t0 ), (w1 , t1 ) and
155
presents them to the challenger. Then the challenger selects a random b ∈ {0, 1}, generates a word Wb for wb and presents Wb to the adversary A2 .
3. Guessing Phase. The adversary A2 outputs a bit b0 . The adversary A is 1, and 0 otherwise.
M
said to win the game if b0 = b, inducing that the output of experiment is
160
ED
We say SPHF has word security if for any polynomial adversary A, 0 AdvWordSec SPHF,A (k) = | Pr[b = b ] − 1/2|,
PT
which is negligible on the security parameter k. The Extension of SPHF. Similar to [8], we define an extension SPHFaux of the SPHF syntax in this paper. It is defined by the six algorithms: (SPHFSetupaux ,
CE
165
HashKGaux , ProjKGaux , WordGenaux , Hashaux , ProjHashaux ), where SPHFSetupaux , HashKGaux , ProjKGaux and WordGenaux are defined the same as SPHFSetup,
AC
HashKG, ProjKG and WordGen, and slightly modified Hashaux and ProjHashaux
are described as follows.
170
• Hashaux (hkaux , (L, param), W, aux): It outputs the hash value hvaux ∈ Y from the hashing key hkaux on any word W ∈ X and the auxiliary input aux.
9
ACCEPTED MANUSCRIPT
• ProjHashaux (hpaux , (L, param), W, w, aux): It outputs the hash value hv0aux ∈ Y from the projection key hpaux , the witness w ∈ WS for the word W ∈ L
2.2. Collision Resistant Hash Function
CR IP T
and the auxiliary input aux.
175
Definition 2. (Collision Resistant Hash Function). H : {0, 1}l1 (k) → {0, 1}l2 (k)
is a collision-resistant hash function if for any security parameter k ∈ N,
|l1 (k)| > |l2 (k)| and for any probabilistic polynomial algorithm A, Pr[(x0 , x1 ) ← 180
A(1k , H) : x0 6= x1 ∧ H(x0 ) = H(x1 )] ≤ ζ(k), where ζ denotes a negligible
AN US
function for the security parameter k.
3. Definitions
3.1. Plaintext-Checkable Encryption
We recall the basic definition of PCE consisting of the following four algorithms:
M
185
1. PCEKG(k): A probabilistic, polynomial-time key generation algorithm
ED
which takes as input a security parameter k ∈ N, outputs a public/private key pair (pk, sk). The plaintext space and the ciphertext space are denoted by M and C, respectively. 2. PCEEnc(pk, M ): A probabilistic, polynomial-time encryption algorithm
PT
190
which takes as input pk and M ∈ M, outputs a ciphertext C ∈ C.
CE
3. PCEDec(pk, sk, C): A deterministic, polynomial-time decryption algorithm which takes as input pk, sk and C ∈ C, outputs either a plaintext M ∈ M
AC
or a special symbol ⊥.
195
4. PCECheck(pk, C, M ) A deterministic, polynomial-time check algorithm which takes as input pk, C ∈ C and M ∈ M, outputs 1 if C is an encryption of M , and 0 otherwise.
10
ACCEPTED MANUSCRIPT
3.2. Security notion: s-priv1-cca security We review some classical security notions: ind-cpa and ind-cca for public 200
key encryption schemes, unlink-cpa (or unlink) and unlink-cca for PCE schemes,
CR IP T
s-priv1-cpa (or s-priv1) and s-priv1-cca for public key encryption with equality
test, where “-cca” stands for under chosen ciphertext attack and “s-” stands for a strong version by additionally providing the adversary the public key.
Definition 3. (IND-ATK). Let Π = (G, E, D) be a public key encryption
scheme and let A be a polynomial-time adversary. For atk ∈ {cpa, cca} and k ∈ N, let
def
Advind-atk A,Π (k) = Pr
AN US
205
(pk, sk) ← G(k), (x0 , x1 ) → AO(·) (pk), b ← {0, 1}, y ← E(pk, xb ), b0 ← AO(·) (pk, x0 , x1 , y) : b0 = b
where x0 6= x1 ∧ |x0 | = |x1 | and
− 1 2
then O(·) = ,
M
If atk = cpa,
If atk = cca,
then O(·) = Dsk (·).
ED
In the case of cca, A is not allowed to query the decryption oracle on y. We 210
A.
PT
say that Π is secure in the sense of ind-atk if Advind-atk A,Π (k) is negligible for any
Definition 4. (UNLINK-ATK). Let Π = (G, E, D) be a public key encryption
CE
scheme and let A = (A1 , A2 ) be a polynomial-time adversary. It is assumed that
AC
A1 and A2 share neither coins nor states. For atk ∈ {cpa, cca} and k ∈ N, let
def Advunlink-atk (k) = A,Π
O(·)
(pk, sk) ← G(k), (x0 , x1 ) → A1
(pk),
Pr b ← {0, 1}, y0 ← E(pk, xb ), y1 ← E(pk, x1 ), O(·) b0 ← A2 (pk, y0 , y1 ) : b0 = b
11
1 − 2
ACCEPTED MANUSCRIPT
215
If atk = cpa,
then O(·) = ,
If atk = cca,
then O(·) = Dsk (·).
CR IP T
where x0 6= x1 ∧ |x0 | = |x1 | and
In the case of unlink-cca, A2 is allowed to query the oracle for decryption neither
y0 nor y1 . We say that Π is secure in the sense of unlink-atk if Advunlink-atk (k) A,Π is negligible for any A.
Definition 5. (S-PRIV1-ATK). Let Π = (G, E, D) be a public key encryption 220
AN US
scheme and let A = (A1 , A2 ) be a polynomial-time adversary. It is assumed that A1 and A2 share neither coins nor state. For atk ∈ {cpa, cca} and k ∈ N, let O(·)
(pk, sk) ← G(k), ((x0 , t0 ), (x1 , t1 )) → A1
(pk),
O(·) Pr b ← {0, 1}, y ← E(pk, xb ), h ← A2 (pk, y), If h = t1 , b0 = 1; Else b0 = 0 : b0 = b
M
def Advs-priv1-atk (k) = A,Π
1 − 2
where x0 6= x1 ∧ |x0 | = |x1 | and
then O(·) = ,
If atk = cca,
then O(·) = Dsk (·).
ED
If atk = cpa,
PT
In the case of s-priv1-cca, A2 is not allowed to query the oracle for decryption y.
We say that Π is secure in the sense of s-priv1-atk if Advs-priv1-atk (k) is negligible A,Π
CE
for any A.
[7] presents unlink security for PCE and shows the following relation of the
225
AC
three security notions: ind-cpa
unlink
priv1.
That is, unlink is weaker than ind-cpa and stronger than priv1 (or ind-det in [7]) for deterministic encryption [2]. In this paper, we adopt the security notion s-priv1-cca for our PCE scheme, which is defined for public key encryption with 12
ACCEPTED MANUSCRIPT
equality test [15], and show a relation as follows.
ind-cca
unlink-cca
unlink
s-priv1-cca
s-priv1
priv1.
CR IP T
230
We clarify that ind-cca is stronger than ind-cpa for probabilistic encryption.
unlink-cca is stronger than unlink by additionally accessing a decryption oracle, which is evidently weaker than ind-cca. priv1 is defined for deterministic en-
cryption in the single-message scenario (We can get similar result for the multi235
message scenario). s-priv1-cca is stronger than s-priv1 by additionally accessing
AN US
a decryption oracle. s-priv1 is stronger than priv1 by additionally providing the
public key pk to A1 , which outputs the challenge plaintexts. Accordingly, we present Lemma 1, 2, 3 and 4 as follows.
Lemma 1. unlink-cca is independent with ind-cpa.
Proof 1. unlink-cca and ind-cpa are independent with each other, which means
M
240
there exist the schemes that satisfy unlink-cca but does not satisfy ind-cpa, and meanwhile there exist the schemes that satisfy ind-cpa but does not satisfy unlink-
ED
cca.
It is evident that all PCE schemes that satisfy unlink-cca do not satisfy ind245
cpa because the adversary in the ind-cpa experiment could successfully guess the
PT
challenge ciphertext is the encryption of which message using the PCE functionality itself.
CE
Taking ElGamal encryption as an example, it has been proven to be indcpa secure, not ind-cca secure. Furthermore, it is not unlink-cca secure. The
250
reason is that the adversary in the unlink-cca experiment could successfully guess
AC
whether C0 and C1 share the same message by recovering the plaintexts mb and m1 of C0 and C1 after submitting valid ciphertexts related to C0 and C1 to the decryption oracle, and finally succeeds in deciding C0 is the encryption of either m0 or m1 .
255
Lemma 2. unlink-cca is stronger than s-priv1-cca. 13
ACCEPTED MANUSCRIPT
Proof 2. We show that the existence of an adversary Aunlink-cca against unlinkcca experiment with significant advantage implies the existence of an efficient algorithm As-priv1-cca against s-priv1-cca experiment. That is, the probability of 260
CR IP T
any adversary which succeeds in the unlink-cca game is not larger than the probability of any adversary which succeeds in the s-priv1-cca game. We define the following game between a simulator (as a role of the unlink-cca adversary) and an adversary As-priv1-cca = (A1 , A2 ) that carries out an s-priv1-cca attack.
1. Key Generation Phase: The simulation takes pk as input and gives pk to As-priv1-cca .
AN US
2. Probing Phase. For a ciphertext C submitted by the adversary A, the sim-
265
ulator forwards C to the unlink-cca challenger. After obtaining a message m from the unlink-cca challenger, the simulator returns m to As-priv1-cca . 3. Challenge Phase. A1 submits (M0 , t0 ), (M1 , t1 ) for challenge. The simulator forwards (M0 , M1 ) to the unlink-cca challenger. After obtaining returns Cb∗ to A2 .
M
the encryptions Cb∗ and C1∗ from the unlink-cca challenger, the simulator
270
4. Probing Phase. The simulator provides a decryption oracle to the adver-
ED
sary As-priv1-cca again with the only difference that the decryption oracle
only responds to the queries C that are different from both Cb∗ and C1∗ . Let DecOracle(C1∗ ) be the event that As-priv1-cca queries C1∗ for decryption.
PT
275
5. Guessing Phase. The adversary A2 outputs a bit b0 . The adversary is said to win the game if b0 = b, inducing that the output of simulator is 1, and
CE
0 otherwise.
The simulator (Aunlink-cca ) provides the identical view to the challenger in
the s-priv1-cca experiment except that As-priv1-cca submits C1∗ to the decryption
AC
280
14
ACCEPTED MANUSCRIPT
oracle. Therefore, we have Pr[Aunlink-cca (k) = 1]
≤ Pr[As-priv1-cca (k) = 1|DecOracle(C1∗ )]
CR IP T
≤ Pr[As-priv1-cca (k) = 1] Pr[DecOracle(C1∗ )]
≤ Pr[As-priv1-cca (k) = 1](1 − Pr[DecOracle(C1∗ )]) ≤ Pr[As-priv1-cca (k) = 1], from which the lemma immediately follows.
AN US
Lemma 3. s-priv1-cca is independent with unlink.
Proof 3. s-priv1-cca and unlink are independent with each other, which means 285
there exist the schemes that satisfy unlink but do not satisfy s-priv1-cca, and meanwhile there exist the schemes that satisfy s-priv1-cca but do not satisfy unlink.
M
Canard et al. [7] presented a practical ElGamal-based construction (PCES) in the standard model. We observe that PCE-S does not satisfy s-priv1-cca. 290
The reason is that the adversary A can forge a valid ciphertxt C based on the
ED
challenge ciphertext Cb∗ with overwhelming advantage. Concretely, after seeing ∗
∗
∗
the challenge ciphertext Cb∗ = (Mb y r , g r , ha , ha $
∗ ∗
r
), the adversary A chooses ∗
∗
r∗
a∗ x
∗
x ← Zp and submits a new ciphertext C = (Mb y r , g r , ha x , ha 295
PT
decryption oracle. Since e(g, h
a∗ r ∗ x
) is equal to e(g , h
∗ ∗
r x
) to the
), the adversary A
immediately succeeds in the s-priv1-cca game.
CE
Yang et al. [23] provided public key encryption with equality test (PKEET), which does not satisfy unlink because it allows the check of plaintext equality on every two encryptions of a message. [15] slightly revised the PKEET scheme [23]
AC
to encrypt m to the ciphertext C = (U, V, W ) = (g r , H1 (m)r , P RG(H2 (U, V, y r ))⊕
300
m||r, where both H1 and H2 are simulated as random oracles, and P RG is a pseudo-random bit generator. This new PKEET scheme satisfies s-priv1-cca security in the random oracle model assuming P RG is a secure pseudo-random bit generator and CDH problem is intractable.
15
ACCEPTED MANUSCRIPT
Lemma 4. s-priv1-cca is independent with ind-cpa. 305
Proof 4. s-priv1-cca and ind-cpa are independent with each other, which means there exist the schemes that satisfy s-priv1-cca but do not satisfy ind-cpa, and
cca.
CR IP T
meanwhile there exist the schemes that satisfy ind-cpa but do not satisfy s-priv1-
Similar to the proof of Lemma 1, it is also evident that all PCE schemes 310
that satisfy s-priv1-cca do not satisfy ind-cpa because the adversary in the indcpa experiment could successfully guess the challenge ciphertext is the encryption
AN US
of which message using the PCE functionality itself.
Taking ElGamal encryption as an example again, it has been proven to be ind-cpa secure. However, it is not s-priv1-cca secure. The reason is that the 315
adversary in the s-priv1-cca experiment could successfully guess the information to distinguish m0 and m1 from Cb by computing tb of the recovered plaintext mb after submitting a valid ciphertext related to Cb to the decryption oracle, and
M
finally decide the distinguished information is related to one of either m0 or m1 .
ED
4. Generic Construction
Let the language L be hard-partitioned subset. Let SPHF1 =(SPHFSetup1 ,
320
HashKG1 , ProjKG1 , WordGen1 , Hash1 , ProjHash1 ) and SPHF2 =(SPHFSetup2 ,
PT
HashKG2 , ProjKG2 , WordGen2 , Hash2 , ProjHash2 ) be two SPHFs with word security defined on X → Y for the same language L under the same security
CE
parameter k, where SPHF2 is an extended SPHF defined in Section 2.1. Let Γ 325
be a collision-resistant hash function defined on X × Y × Y → WS. We present
AC
a generic construction of PCE = (PCEKG, PCEEnc, PCEDec, PCECheck). 1. PCEKG(k): For the SPHFi (i = 1, 2) system, it generates the public parameter (L, param) using SPHFSetupi under the security parameter k, the hash key hki using HashKGi and the projection key hpi using ProjKGi .
16
ACCEPTED MANUSCRIPT
Then it sets the public/private key pair (pk,sk) for the PCE scheme. sk : (hk1 , hk2 ) = (HashKG1 (L, param), HashKG2 (L, param)),
CR IP T
pk : (hp1 , hp2 ) = (ProjKG1 (hk1 , (L, param)), ProjKG2 (hk2 , (L, param))). 2. PCEEnc(pk,M ): It randomly picks a word W ∈ L with the witness w and computes
U = ProjHash1 (hp1 , (L, param), W, w) ~ M.
330
AN US
Then it generates a word W 0 with the witness τ = Γ(W, ProjHash1 (pk1 , (L,
param), W, w), M ) using the WordGen((L, param), τ ) algorithm, and computes
V = ProjHash2 (hp2 , (L, param), (W, U, W 0 ), τ ).
M
Finally, it outputs the PCE ciphertext C = (W, U, W 0 , V ) of the plaintext M under the public key pk.
335
ED
3. PCEDec(pk,sk,C ): Upon parsing C as (W, U, W 0 , V ), it computes M ← U ~ Hash1 (hk1 , (L, param), W )−1 and then verifies if
PT
• W 0 = WordGen((L, param), τ ), where τ = Γ(W, Hash1 (hk1 , (L, param), W ), M ).
• V = Hash2 (sk2 , (L, param), (W, U, W 0 )) and V = ProjHash2 (hp2 , (L,
CE
param), (W, U, W 0 ), τ ).
AC
340
Through the validation, it returns the plaintext M for the ciphertext C,
or ⊥ otherwise.
4. PCECheck(pk,M,C ): It computes τ = Γ(W, U ~ M −1 , M ) and then verifies if • W 0 = WordGen((L, param), τ ).
345
• V = ProjHash2 (hp2 , (L, param), (W, U, W 0 ), τ ). 17
ACCEPTED MANUSCRIPT
Through the validation, it returns 1 indicating that M is the plaintext of the ciphertxt C under the public key pk, or 0 otherwise.
CR IP T
Note that we will omit (L, param) as input in SPHF1 and SPHF2 for brevity. Theorem 5. PCE satisfies s-priv1-cca if it is computationally hard to distin350
guish any random element W ∗ ∈ L from any random element from X \L.
Proof 5. We show that the existence of an adversary A against the s-priv1-cca
security with significant advantage implies the existence of an efficient algorithm B that decides a random element W ∗ ∈ L or W ∗ ∈ X \L. We define the 355
AN US
following game between a simulator (also as a role of the distinguisher for the hard subset membership problem) and an adversary A = (A1 , A2 ) that carries out an s-priv1-cca attack.
Game0 : Game0 is the initial security game.
1. Key Generation Phase. The simulator emulates the initialization of the
360
M
system: it runs PCEKG by itself to generate the public parameter (L, param) and a public/private key pair (pk,sk) = ((hp1 ,hp2 ), (hk1 ,hk2 )), and pro-
ED
vides pk to A.
2. Probing Phase I. The simulator has to simulate the decryption oracle: for a ciphertext submitted by the adversary A, the simulator returns the 365
PT
plaintext M via PECDec on C using the secret key sk. 3. Challenge Phase. A1 outputs (M0 , t0 ) and (M1 , t1 ), and presents them to
the simulator. Then, the simulator has to simulate Cb∗ =PCEEnc(pk,M b )
CE
for a random chosen bit b, where Cb∗ = (W ∗ , U ∗ , (W 0 )∗ , V ∗ ) is generated
AC
as follows.
370
• The simulator first picks a random word W ∗ ∈ L, where W ∗ is the value input to the simulator, and computes U ∗ = Hash1 (hk1 , W ∗ ) ~ Mb using the private evaluation algorithm Hash1 . Then it generates the word (W 0 )∗ = WordGen(τ ∗ ) with τ ∗ = Γ(W ∗ , Hash1 (hk1 , W ∗ ), Mb ), and computes V ∗ = Hash2 (hk2 , (W ∗ , U ∗ , (W 0 )∗ )) using the private evaluation algorithm Hash2 . 18
ACCEPTED MANUSCRIPT
Finally, the simulator returns Cb∗ back to the adversary A2 .
375
4. Probing Phase II. The simulator provides again access to the decryption oracle with the only difference that the decryption oracle only responds to
CR IP T
the queries on C that are different from the challenge ciphertext Cb∗ .
5. Guessing Phase. A2 outputs its guess h. If h = t1 , then b0 = 1, otherwise b0 = 0. The simulator outputs 1 if b0 = b, or 0 otherwise.
380
We consider the behavior of this simulator in two cases: (1) The simulator (1)
is given a random element W ∗ ∈ L. Let Ek
be the event that the simulator
outputs 1 in this case. (2) The simulator is given a random element W ∗ ∈ X \L. 385
be the event that the simulator outputs 1 in this case. Let AdvDist (k) =
(1)
AN US
(0)
Let Ek
(0)
|Pr[Ek ] − Pr[Ek ]| that is the distinguishing advantage of the simulator. Our
Dist goal is to show that Advs-priv1-cca (k) is negligible. PCE,A (k) is negligible provided Adv
We now analyze the behavior of the simulator in these two cases: Case 1 : W ∗ ∈ L. In this case, the simulator is perfect. Therefore, we have 1 ≥ Advs-priv1-cca PCE,A (k). 2
ED
M
Pr[E (1) ] − k
(1)
Case 2 : W ∗ ∈ X \L. We will use the game-hopping technique for Case 2. 390
Game1 : Game1 is the same as Game0 , so that in addition to rejecting a ci-
PT
phertext (W, U, W 0 , V ) if W ∈ X \L, V = Hash2 (hp2 , (W, U, W 0 )) and W 0 = WordGen(τ ), where τ = Γ1 (W, Hash(hp1 , W ), M ), because V is uniquely deter-
CE
mined by (W, U, W 0 ) and W 0 is uniquely determined by τ . Let Fa be the event that V = Hash2 (hk2 , (W, U, W 0 )) and Fb be the event that W 0 = WordGen(τ ). 1 We define the advantage of A in Game1 as AdvGame PCE,A (k) and claim that
AC
395
Game0 1 AdvGame PCE,A (k) − AdvPCE,A (k) ≤ Pr[Fa ∧ Fb ] ≤ Pr[Fb ].
(2)
Next, we analyze the probability that the event Fb happens. For all ciphertxts
C = (W, U, W 0 , V ) ∈ X × Y × X × Y with W ∈ X \L submitted to a decryption oracle after the challenge phrase, we divide them into two cases: 19
ACCEPTED MANUSCRIPT
1. (W, U, W 0 ) = (W ∗ , U ∗ , (W 0 )∗ ). Since it is required that (W, U, W 0 , V ) 6= 400
(W ∗ , U ∗ , (W 0 )∗ , V ∗ ), it follows that V 6= V ∗ . Therefore, the simulator returns ⊥ due to that V is uniquely determined by (W, U, W 0 ).
CR IP T
2. (W, U, W 0 ) 6= (W ∗ , U ∗ , (W 0 )∗ ). Given W, U and W 0 , hk1 is still uniformly distributed with the only constraint that hp1 = ProjKG1 (hk1 ) and (W 0 )∗ = ∗
U WordGen(τ ∗ ) with τ ∗ = Γ(W ∗ , Hash1 (hk1 , W ∗ ), Hash(hk ∗ ), where hp1 , 1 ,W ) 405
W ∗ , U ∗ and (W 0 )∗ are fixed as above. Under this condition, we further divide all queried ciphertexts into four cases:
(a) W = W ∗ ∧ U = U ∗ ∧ W 0 6= (W 0 )∗ . Since U is completely determined
AN US
by (W, M ) and W 0 is also completely determined by (W, M ) due to
its witness τ , it follows that W 0 = (W 0 )∗ . Therefore, the simulator 410
returns ⊥ due to the condition that W 0 6= (W 0 )∗ .
(b) W = W ∗ ∧ U 6= U ∗ ∧ W 0 = (W 0 )∗ . We have τ = τ ∗ due to W 0 = (W 0 )∗ , which implies that
ED
M
U∗ Γ W ∗ , Hash(hk1 , W ∗ ), Hash(hk1 , W ∗ ) U = Γ W, Hash(hk1 , W ), . Hash(hk1 , W ) Therefore, due to the collision resistance property of Γ, the probability that the adversary outputs a valid ciphertext (W, U, W 0 .·) submitted to the decryption oracle is at most ζ(k).
PT
415
(c) W = W ∗ ∧ U 6= U ∗ ∧ W 0 6= (W 0 )∗ . Due to the smooth property of
CE
SPHF1 , Hash1 (hk1 , W ∗ ) is uniformly distributed over Y. Therefore,
τ = Γ(W, Hash(hk1 , W ),
U Hash(hk1 ,W ) )
is uniformly distributed over
WS, which implies that W 0 is uniformly distributed over X . Since it
AC
420
is on the condition that W 0 is completely determined by (W, U ) due to
the witness τ , we claim that the probability that the adversary outputs a valid ciphertext (W, U, W 0 , ·) submitted to the decryption oracle is at most smooth(k). (d) W 6= W ∗ . Due to the 2-smooth property of SPHF1 , Hash1 (hk1 , W )
425
is uniformly distributed over Y. Therefore, τ = Γ(W, Hash(hk1 , W ), 20
ACCEPTED MANUSCRIPT
U Hash(hk1 ,W ) )
is uniformly distributed over WS implying that W 0 is
uniformly distributed over X . Due to the same reason described in the above Case (c), we claim that the probability that the adversary
430
oracle is at most 2-smooth(k).
CR IP T
outputs a valid ciphertext (W, U, W 0 , ·) submitted to the decryption
Assume that Q(k) denotes the number of decryption queries. From the above analysis, we have
AN US
Pr[Fb ] ≤ (ζ(k) + smooth(k) + 2-smooth(k)) · Q(k).
(3)
1 We define the advantage of A in Game1 as AdvGame PCE,A (k) be the advantage
of the adversary A in Game1 and claim that AdvGame1 (k) − AdvGame0 (k) PCE,A PCE,A 435
(4)
M
≤ (ζ(k) + smooth(k) + 2-smooth(k)) · Q(k).
by combining the relations (2) and (3).
ED
Game2 : Game2 is the same as Game1 except that the simulator sets U ∗ = y1∗ ~ Mb in stead of computing U ∗ = Hash1 (hk1 , W ∗ ) ~ Mb , in the encryption for Mb , where y1∗ ∈ Y is chosen at random. We define adversary A in Game2 and claim that
CE
440
PT
2 the advantage of A in Game2 as AdvGame PCE,A (k) be the advantage of the
AdvGame2 (k) − AdvGame1 (k) ≤ smooth(k), PCE,A PCE,A
(5)
AC
due to the smooth property of Hash1 .
445
Game3 : Game3 is the same as Game2 except that the simulator picks y2∗ ∈
Y at random and sets V ∗ = y2∗ in stead of computing V ∗ = Hash2 (hk2 , (W ∗ , U ∗ , (W 0 )∗ )) in the encryption for Mb . We define the advantage of A in Game3 as 3 AdvGame PCE,A (k) be the advantage of the adversary A in Game3 and claim
21
ACCEPTED MANUSCRIPT
that (6)
CR IP T
AdvGame3 (k) − AdvGame2 (k) ≤ psd-random(k), PCE,A PCE,A
due to the pseudo-random property of Hash2 . It is evident that the adver-
sary’s output b0 in Game3 is independent of the hidden bit b except that the adversary obtains the information about Mb from (W 0 )∗ . Due to the word security of SPHF, we have
450
(7)
AN US
1 3 |AdvGame PCE,A (k) − | ≤ WordSec(k). 2
Combining the relations (4), (5), (6) and (7), we claim that Pr[E (0) ] − k
1 2
≤ (ζ(k) + smooth(k) + 2-smooth(k)) · Q(k) +smooth(k) + psd-random(k) + WordSec(k). (8)
M
Combining the inequalities (1) and (8), we claim that
ED
Dist Advs-priv1-cca (k) + (ζ(k) + smooth(k) + 2-smooth(k)) · Q(k) PCE,A (k) ≤ Adv
+smooth(k) + psd-random(k) + WordSec(k),
PT
from which the theorem immediately follows.
CE
5. An Efficient PCE Instantiation In this section, we recall an efficient instantiation of SPHF [8] and then
455
present the resulting most efficient PCE implementation, without any pairing
AC
operation.
Definition 6. Decisional Diffie-Hellman (DDH) Assumption. Let G be
a group of prime order p with a random generator g, and unknown a, b be ran-
460
domly chosen from Zp . The Decisional Diffie-Hellman assumption says that it
22
ACCEPTED MANUSCRIPT
is hard to distinguish tuples of the form (g, g a , g b , g ab ) from tuples of the form (g, g a , g b , g c ), where c is randomly chosen from Zp .
CR IP T
An Instantiation of SPHF1 from DDH Assumption [8]. 1. Setup(k): param=(G, p, g1 , g2 ). $
2. HashKG(LDDH , param) : hk = (s1 , s2 ) ← Z2p .
465
3. ProjKG(hk, (LDDH , param)) : hp = g1s1 g2s2 ∈ G.
4. WordGen((LDDH , param), w = r) : W = (g1r , g2r ) ∈ G2 .
5. Hash(hk, (LDDH , param), W = (g1r , g2r )) : hv = g1rs1 g2rs2 ∈ G.
470
AN US
6. ProjHash(hp, (LDDH , param), W = (g1r , g2r ), w = r) : hv0 = hpr ∈ G. An Instantiation of SPHF2 from DDH Assumption [8]. We assume that Hθ is a collision resistant hash function. 1. SPHFSetupaux (k) : paramaux = (G, p, g1 , g2 ).
$
2. HashKGaux (LDDH , param) : hkaux = (a1 , a2 , b1 , b2 ) ← Z4p .
M
3. ProjKGaux (hkaux , (LDDH , param)) : hpaux = (hp0 , hp00 ) = (g1a1 g2a2 , g1b1 g2b2 ) ∈ G2 .
475
ED
4. WordGenaux ((LDDH , param), r): W = (g1r , g2r ) ∈ G2 . 5. Hashaux (hkaux , (LDDH , param), W = (g1r , g2r ), aux) : hvaux = (g1r )a1 +θb1 (g2r )a2 +θb2 ∈ G, where θ = Hθ (W, aux) ∈ Zp .
PT
6. ProjHashaux (hpaux , (LDDH , param), W = (g1r , g2r ), w = r, aux) : hv0aux = (hp0 )r (hp002 )θr ∈ G, where θ = Hθ (W, aux) ∈ Zp .
480
CE
5.1. The Instantiated PCE Scheme. Our instantiated PCE scheme using the above SPHF1 and SPHF2 on the
AC
DDH language is described as follows. 1. PCEKG(k): It first generates the same parameter param=(G, p, g1 , g2 ) for SPHF1 and SPHF2 using the security parameter k. Then it chooses a hash function Γ : G4 → Zp with the collision-resistant property, and another $
hash function H : G5 → Zp . Besides, it chooses (α1 , α2 , β1 , β2 , γ1 , γ2 ) ←
23
ACCEPTED MANUSCRIPT
Z6p and generates a pair of the public/private keys (pk, sk) of the PCE scheme.
CR IP T
sk : (hk1 , hk2 ) = ((α1 , α2 ), (β1 , β2 , γ1 , γ2 )). pk : (hp1 , hp2 ) = (h, (u, v)) = (g1α1 g2α2 , (g1β1 g2β2 , g1γ1 g2γ2 )).
2. PCEEnc(pk,M ): It randomly chooses r ∈ Zp and outputs a PCE ciphertext 485
C of the plaintext M :
AN US
C = (g1r , g2r , hr M, g1τ , g2τ , uτ v τ θ ),
where τ = Γ(g1r , g2r , hr , M ) and θ = H(g1r , g2r , hr M , g1τ , g2τ ). 3. PCEDec(sk,C ): It first parses C as (C1 , C2 , C3 , C4 , C5 , C6 ) and recovers the plaintext M using sk:
(9)
M
M = C3 (C1α1 C2α2 )−1 = hr M ((g1r )α1 (g2r )α2 )−1 .
Then it computes τ = Γ(C1 , C2 , C3 M −1 , M ) = Γ(g1r , g2r , hr , M ) and θ = H(C1 , C2 , C3 , C4 , C5 ) = H(g1r , g2r , hr M, g1τ , g2τ ), and verifies if the fol-
ED
490
lowing equations hold using sk. (10)
PT
C4 = g1τ , C5 = g2τ and C6 = C4β1 +γ1 θ C5β2 +γ2 θ = uτ v τ θ .
Through the validation, it outputs 1 indicating M is the plaintext of the
CE
ciphertext C, or 0 otherwise.
4. PCECheck(pk,M,C ): It parses C as (C1 , C2 , C3 , C4 , C5 , C6 ), and com-
AC
495
putes τ = Γ(C1 , C2 , C3 M −1 , M ) = Γ(g1r , g2r , hr , M ) and θ = H(C1 , C2 ,
C3 , C4 , C5 ) = H(g1r , g2r , hr M, g1τ , g2τ ). Then it verifies if C4 = g1τ , C5 = g2τ and Equation (11) holds. C6 = uτ v τ θ .
24
(11)
ACCEPTED MANUSCRIPT
Through the validation, it returns 1 indicating M is the plaintext of the ciphertext C under the public key pk, or 0 otherwise. 5.2. Comparison
CR IP T
500
In this section, we choose the PCE scheme transformed by the first PKEET
scheme [23] and the first PCE scheme (in the standard model) [7] for the comparison. Their property and security comparison are shown in Table 2. Here, we describe their efficiency comparison. Essentially, PKEET can be trivially used 505
for constructing PCE scheme. We simply show this transformation as follows.
AN US
1. PCEKG(k): Run (pk, sk) ← PKEET.KeyGen(k), and outputs (pk, sk). 2. PCEEnc(pk, M ): Run C ← PKEET.Enc(pk, M ), and output C. 3. PCEDec(pk, sk, C): Run M ← PKEET.Dec(sk, C), and outputs M .
4. PCECheck(pk, C, M ): Run C 0 ← PKEET.Enc(pk, M ) and b ← PKEET.Test(C, C 0 ), and output b, where b = 1 indicates M is the plaintext of C and b = 0
510
M
otherwise.
Table 4
[7]
Encryption
Decryption
Test
4|G|
3E
3E
2P+3E
4|G|
4E
2P+E
4P
6|G|
7E
6E
4E
PT
Ours
Ciphertext Length
ED
[23]
Comparison
CE
In Table 4, the second column shows the size of the ciphertext. The third to fifth columns show the computation complexity of encryption, decryption and test algorithms. It can be learnt from Table 4 that our scheme has slightly larger ciphertext and a bit more cost of encryption than [23] and [7]. In terms
AC
515
of decryption, the computation complexity of our scheme is slightly larger than [23], but smaller than [7] since a bilinear pairing costs about five times than an exponentiation in a conventional desktop computer envioronment according to the experimental results in [11], [16] and [25]. It is evident that our scheme has
25
ACCEPTED MANUSCRIPT
520
the minimum computation complexity of test algorithm, which would be a good enough reason to choose our instantiation in real-world applications. Combining Table 2 and Table 4, we conclude that compared with [23] and [7]
CR IP T
our scheme has notable advantages both in test efficiency and property. Therefore, we believe that our construction can be a useful primitive in more 525
interesting applications.
6. Improved Canard et al.’s Schemes
In this section, we improve Canard et al.’s scheme [7] under chosen ciphertext
shown in Section 3.2. 530
AN US
attack. Naturally, the modified schemes satisfy s-priv1-cca due to the relation
6.1. Improved Generic PCE Based on a Probabilistic Encryption PCE-P.Kg(k)
PCE-P.Enc(pk, m)
k
pk ← pk sk ← sk
ED
return (pk, sk)
M
(pk, sk) ← PE.Kg(1 ).
r ←R {0, 1}`(k) ρ ← H(m||r)
c ← PE.Enc(pk, m; ρ) c ← (r, c)
PCE-P.Check(pk, c, m)
PT
PCE-P.Dec(sk, c) (r, c) ← c
(r, c) ← c
m ← PE.Dec(sk, c)
c0 ← PE.Enc(pk, m; ρ)
CE
sk ← sk
AC
pk ← pk
pk ← pk
ρ ← H(m||r)
ρ ← H(m||r)
If c0 = c then return 1
If PE.Enc(pk, m; ρ) = c
then return m Figure 1
else return 0 Improved PCE-P0 [7]
Canard et al. [7] presented a generic plaintext-checkable encryption (PCE-
P) [7] based on a probabilistic encryption (PE) in the random oracle model and claimed the following theorem. We observe a minor omission in PCE-P [7] and 26
ACCEPTED MANUSCRIPT
add the ciphertext validation in the PCE-P.Dec algorithm, marked with the text 535
boxes in Figure 2.
CR IP T
Theorem 6. [7] If PE satisfies ind-cpa then PCE-P in [7] satisfies unlink. Theorem 7. If PE satisfies ind-cca then PCE-P0 in Figure 1 satisfies unlinkcca.
Proof 6. (Sketch) We show that a successful adversary A against unlink-cca of
540
PCE-P0 can be used to construct an adversary B against ind-cca of PE. This
AN US
proof is similar to the proof of Theorem 6 in [7] except that the additional care needs to be taken to ensure that the simulation in the reduction is perfect as the adversary against unlink-cca may make queries to the decryption oracle that the simulator cannot answer. For concise statement, we only describe the simulation 545
for the decryption oracle in the Probing Phase I and the Probing Phase II, and recommend the readers to see the full version for the full proof.
M
In the Probing Phase I, for a decryption query on c = (r, c) submitted by the adversary A, B forwards c as a part of c to the challenger. The challenger runs the decryption algorithm PE.Dec algorithm on input of secret key sk and the query c, and responds the query by returning the output m to the adversary
ED
550
B. B checks that if c = PE.Enc(pk, m; H(m||r)) holds, m is presented to the
PT
adversary A as the query result on c, and ⊥ otherwise. In the Probing Phase II, for a decryption query on c = (r, c) submitted by the adversary A, B’s response is the same as Probing Phase I with the only
difference that c = (r, c) is different from the target ciphertexts c∗b = (rb∗ , c∗b )
CE
555
and c∗1 = (r1 , c∗1 ) of mb and m1 , respectively, which is required by the unlink-cca
experiment. Next, we will analyze B’s behavior. For any decryption query from
AC
A, B could simulate the decryption oracle perfectly except that the event that
the query c = (r, c) with c = c∗b and r 6= rb∗ is a valid ciphertext, denoted by E.
560
The reason is that c∗b is prohibited to be forwarded to the challenger, which is required by the ind-cca game for PE. However, we show that the probability that the event E happens is negligible. We analyze this event in two cases:
27
ACCEPTED MANUSCRIPT
1. m||r has been queried to the hash oracle H before a decryption c is issued.
Since c is uniquely determined by m and H(m||r), and c∗b is random in the range of all PE ciphertexts, we have Pr[c = c∗b ] ≤
565
1 , 2k
which is negligible.
CR IP T
2. m||r has never been queried to the hash oracle H before a decryption c is issued. Due to the idealness of the random oracle, H(m||r) is random in
the range of H, and thus c is random in the range of all PE ciphertexts.
Under the condition that c = c∗b , we have that Pr[c = c∗b ] ≤ negligible.
570
1 , 2k
which is
Assume that Q(k) is the number of decryption queries. Combining these two
AN US
cases, we claim that
Pr[E] ≤
1 Q(k), 2k−1
(12)
which is negligible. Equation (12) shows that the behavior of the simulator in the unlink-cca game is the same as the behavior of the simulator in the unlink game with negligible indistinguishability, from which Theorem 3 immediately follows, based on Theorem 2.
M
575
ED
6.2. Improved Generic PCE Based on a Deterministic Encryption Canard et al. [7] presented a generic plaintext-checkable encryption (PCE-
580
PT
D) based on a deterministic encryption (DE) in the random oracle model, and claimed the following theorem for the PCE-D security.
CE
Theorem 8. [7] If DE satisfies one-way then PCE-D in [7] satisfies unlink. To obtain a revised scheme PCE-D0 with unlink-cca security, our idea is to
construct an ind-cca encryption using DE based on the result of Theorem 3. To
AC
this aim, we design the PCE-D0 shown in Figure 3 using a known transformation
585
(See the following Theorem 5 [3]) from DE to an ind-cca encryption, and present
Theorem 10 to show its security. Theorem 9. [3] Let G, F be random hash functions, DE be a deterministic
encryption scheme with the one-wayness property, the following scheme PE-D 28
ACCEPTED MANUSCRIPT
PCE-D0 .Kg(1k ) ˜ sk) ˜ ← PE-D.Kg(k). (pk,
PCE-D0 .Enc(pk, m) ˜ ← pk pk $
˜ pk ← pk ˜ sk ← sk
r ← {0, 1}`(k) ρ ← H(m||r)
˜ ρ) c˜1 ← DE.Enc(pk,
CR IP T
return (pk, sk)
c˜2 ← G(ρ) ⊕ m c˜3 ← F(ρ||m)
c˜ ← (r, c˜1 , c˜2 , c˜3 ) PCE-D0 .Dec(sk, c)
PCE-D0 .Check(pk, c, m) (r, c˜1 , c˜2 , c˜3 ) ← c ˜ ← pk pk
AN US
(˜ c : (r, c˜1 , c˜2 , c˜3 )) ← c ˜ sk ← sk
˜ c˜1 )) m ← c˜2 ⊕ G(DE.Dec(sk, ˜ c˜1 ) = H(m||r) and if DE.Dec(sk, ˜ c˜1 )||m) c˜3 = F(DE.Dec(sk,
return m
˜ m; ρ) (˜ c01 , c˜02 , c˜03 ) ← PE-D.Enc(pk,
if (˜ c01 , c˜02 , c˜03 ) = (˜ c1 , c˜2 , c˜3 ) then return 1 else return 0
Improved PCE-D0
ED
M
Figure 2
satisfies ind-cca.
ρ ← H(m||r)
˜ m; r) : c ← (c1 : DE.Enc(pk, ˜ r), PE-D.Enc(pk,
PT
590
c2 : G(r) ⊕ m, c3 : F(r||m)).
˜ c1 )) and then Accordingly, the decryption is to compute m = c2 ⊕ G(DE.Dec(sk,
CE
˜ c1 )||m), or ⊥ otherwise. outputs m if c3 = F(DE.Dec(sk,
The following Theorem 10 states the relation between the unlink-cca security
AC
of PCE-D0 and the property of the underlying DE. Theorem 10. If DE satisfies one-wayness then PCE-D0 in Figure 3 satisfies
595
unlink-cca. Proof 7. (sketch) This proof is the direct application of Theorem 7 combined with Theorem 9 because a PCE-D0 ciphertext could be regarded as a ciphertxt c =
29
ACCEPTED MANUSCRIPT
(˜ c1 , c˜2 , c˜3 ) generated by a probabilistic encryption PE-D with ind-cca, together with the random element r used in the generation of c.
7. Conclusion
CR IP T
600
We proposed the first generic construction of plaintext-checkable encryption (PCE) in the standard model, which satisfies the s-priv1-cca security notion.
Based on an efficient instantiation of smooth projective hash functions from DDH assumption, we obtained the most efficient PCE scheme in the standard 605
model, which demonstrates its usability for real-world applications. We also
AN US
improved Canard et al.’s construction in the random oracle model [7] to be secure under chosen ciphertext attack.
Acknowledgements
610
(No. 61402184).
ED
References
M
This work is supported by the National Natural Science Foundation of China
[1] M. Abdalla, M. Bellare, D. Catalano, E. Kiltz, T. Kohno, T. Lange, J. Malone-Lee, G. Neven, P. Paillier, and H. Shi. Searchable encryption re-
PT
visited: Consistency properties, relation to anonymous ibe, and extensions. Journal of Cryptology, 21(3):350–391, 2008.
615
CE
[2] M. Bellare, A. Boldyreva, and A. O Neill. Deterministic and efficiently searchable encryption. In Advances in Cryptology – CRYPTO 2007, volume
AC
4622 of LNCS, pages 535–552, Santa Barbara, CA, USA, August 19-23
620
2007. Springer, Berlin.
[3] Mihir Bellare and Phillip Rogaway.
Random oracles are practical: A
paradigm for designing efficient protocols. In Proceedings of the 1st ACM Conference on Computer and Communications Security, CCS ’93, pages 62–73, Fairfax, Virginia, USA, November 3-5 1993. ACM, New York. 30
ACCEPTED MANUSCRIPT
[4] Mihir Bellare, Haixia Shi, and Chong Zhang. Foundations of group signatures: The case of dynamic groups. In Topics in Cryptology – CT-
625
RSA 2005, pages 136–153, San Francisco, CA, USA, February 14-18 2005.
CR IP T
Springer, Berlin. [5] D. Boneh, X. Boyen, and H. Shacham. Short group signature. In Advances
in Cryptology – CRYPTO 2004, volume 3152 of LNCS, pages 41–55, Santa Barbara, California, USA, 15-19 August 2004. Springer, Berlin.
630
[6] D. Boneh, G. D. Crescenzo, R. Ostrovsky, and G. Persiano. Public key en-
AN US
cryption with keyword search. In Advances in Cryptology – EUROCRYPT 2004, volume 3027 of LNCS, pages 506–522, Interlaken, Switzerland, May 2-6 2004. Springer, Berlin. 635
[7] S´ebastien Canard, Georg Fuchsbauer, Aline Gouget, and Fabien Laguillaumie. Plaintext-checkable encryption. In Topics in Cryptology – CT-RSA
M
2012, volume 7178 of LNCS, pages 332–348, San Francisco, CA, USA, February 27-March 2 2012. Springer, Berlin.
ED
[8] R. Cramer and V. Shoup. Universal hash proofs and a paradigm for adaptive chosen ciphertext secure public-key encryption. In Advances in Cryp-
640
tology – Eurocrypt 2002, volume 2332 of LNCS, pages 45–64, The Nether-
PT
lands, April 28-May 2 2002. Springer, Berlin. [9] R. Curtmola, J. Garay, S. Kamara, and R. Ostrovsky. Searchable sym-
CE
metric encryption: improved definitions and efficient constructions. In ACM Conference on Computer and Communications Security, pages 79–
645
AC
88, Hilton Alexandria Mark Center, Alexandria, VA, USA, 30 Oct-3 Nov 2006. ACM.
[10] E. Kiltz. Chosen-ciphertext security from tag-based encryption. In Theory
650
of Cryptography Conference, TCC 2006, volume 3876 of LNCS, pages 581– 600, New York, NY, USA, March 4-7 2006. Springer, Berlin.
31
ACCEPTED MANUSCRIPT
[11] K. Lauter. The advantages of elliptic curve cryptography for wireless security. IEEE Transactions on Wireless Communications, 11(1):62–67, 2004. [12] Kaitai Liang, Xinyi Huang, Fuchun Guo, and Joseph K. Liu. Privacy-
CR IP T
preserving and regular language search over encrypted cloud data. IEEE
Transactions on information Forensics and Security, 11(10):2365–2376,
655
2016.
[13] Kaitai Liang, Chunhua Su, Jiageng Chen, and Joseph K. Liu. Efficient
multi-function data sharing and searching mechanism for cloud-based en-
660
AN US
cryption big data. In ASIACCS 2016, pages 83–94. ACM, 2016.
[14] Joseph K. Liu, Man Ho Au, Willy Susilo, Kaitai Liang, Rongxing Lu, and Bala Srinivasan. Secure sharing and searching for real-time video data in mobile cloud. IEEE Network, 29(2):46–50, 2015.
[15] Yao Lu, Rui Zhang, and Dongdai Lin. Stronger security model for public-
M
key encryption with equality test. In Pairing-Based Cryptography - Pairing 2012, volume 7708 of LNCS, pages 65–82, Cologne, Germany, May 16-18
665
[16] B.
ED
2012. Springer, Berlin. Lynn.
Pairing
based
cryptography
benchmarks.
PT
http://crypto.stanford.edu/pbc/times.html. [17] Sha Ma, Qiong Huang, Mingwu Zhang, and Bo Yang. Efficient public key encryption with equality test supporting flexible authorization. IEEE
670
CE
transaction on information forensics and security, 10(3):458–470, 2015.
AC
[18] D. X. Song, D. Wagner, and A. Perrig. Practical techniques for search on
675
encrypted data. In IEEE Symposium on Research in Security and Privacy, pages 44–55, Berkey, CA, 14-17 May 2000. IEEE, Piscataway, NJ, USA.
[19] Shi-Fen Sun, Joseph K. Liu, Amin Sakzad, Ron Steinfeld, and Tsz Hon Yuen. An efficient non-interacitve multi-client searchable encryption with
32
ACCEPTED MANUSCRIPT
support for boolean queries. In European Symposium on Research in Computer Security (ESORICS), volume 9878 of LNCS, pages 154–172, Heraklion, Greece, 2016. Springer, Berlin. [20] Q. Tang. Towards public key encryption scheme supporting equality test
CR IP T
680
with fine-grained authorization. In The 16th Australasian Conference on Information Security and Privacy (ACISP 2011), volume 6812 of LNCS, pages 389–406, Melbourne, Australia, July 11-13 2011. Springer, Berlin.
[21] Q. Tang. Public key encryption supporting plaintext equality test and Security and Communication Networks,
AN US
user-specified authorization.
685
5(12):1351–1362, 2012.
[22] Q. Tang and L. Chen. Public-key encryption with registered keyword search. In EuroPKI 2009, volume 6391 of LNCS, pages 163–178, Pisa, Italy, September 10-11 2010. Springer, Berlin.
[23] G. Yang, C. Tan, Q. Huang, and D. S. Wong. Probabilistic public key
M
690
encryption with equality test. In Topics in Cryptology – CT-RSA 2010,
ED
volume 5985 of LNCS, pages 119–131, San Francisco, CA, USA, March 1-5 2010. Springer, Berlin.
[24] Xu Yang, Ting-Ting Lee, Joseph K. Liu, and Xinyi Huang. Trust enhancement over range search for encrypted data. In IEEE TrustCom 2016, pages
PT
695
66–73, Tianjin, China, 2016. IEEE.
CE
[25] M. Yoshitomi, T. Takagi, S. Kiyomoto, and T. Tanaka. Efficient implementation of the pairing on mobilephones using brew. Cryptology ePrint
AC
Archive, Report 2007/340, 2007. ¡http://eprint.iacr.org/¿, 2007.
700
[26] Cong Zuo, James Macindoe, Siyin Yang, Ron Steinfeld, and Joseph K. Liu. Trusted boolean search on cloud using searchable symmetric encryption. In IEEE TrustCom 2016, pages 113–120, Tianjin, China, 2016. IEEE.
33