SlideShare a Scribd company logo
1 of 21
Download to read offline
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
DOI : 10.5121/ijnsa.2012.4214 179
EFFICIENT CONDITIONAL PROXY RE-
ENCRYPTION WITH CHOSEN CIPHER TEXT
SECURITY
S. Sree Vivek1
, S. Sharmila Deva Selvi1
, V. Radhakishan2
, C. Pandu Rangan1
1
Department of Computer Science and Engineering, Indian Institute of Technology Madras
svivek@cse.iitm.ac.in, sharmila@cse.iitm.ac.in, prangan@iitm.ac.in
2
National Institute of Technology Trichy, India
vrkishan@gmail.com
ABSTRACT
In a proxy re-encryption (PRE) scheme, Alice gives a special information to a proxy that allows it to
transform messages encrypted under Alice's public key into a encryption under Bob's public key such that
the message is not revealed to the proxy. In [14], Jian Weng and others introduced the notion of
conditional proxy re-encryption (C-PRE) with bilinear pairings. Later, a break for the same was
published in [17] and a new C-PRE scheme with bilinear pairings was introduced. In C-PRE, the proxy
also needs to have the right condition key to transform the ciphertext (associated with a condition set by
Alice) under Alice's public key into ciphertext under Bob's public key, so that Bob can decrypt it. In this
paper, we propose an efficient C-PRE scheme which uses substantially less number of bilinear pairings
when compared to the existing one [17]. We then prove its chosen-ciphertext security under modified
Computational Diffie-Hellman (mCDH) and modified Computational Bilinear Diffie-Hellman (mCBDH)
assumptions in the random oracle model.
KEYWORDS
Random Oracle Model, Proxy Re-Cryptography, Conditional Proxy Re-encryption, Chosen Ciphertext
Security.
1. INTRODUCTION
Encryption is used as a building block of any application requiring confidentiality. Let pki and
pkj be two independent public keys. As pointed out by Mambo and Okamato in [15], it is a
common situation in practice where a data encrypted under pki is required to be encrypted under
pkj (j ≠ i). When the holder of ski is online, Ei(m) is decrypted using ski and then message m is
encrypted under pkj giving Ej(m). But in many applications like encrypted mail forwarding,
secure distributed file systems, and outsourced filtering of encrypted spam, when the holder of
ski is not online, this has to be done by an untrusted party.
In 1998 Blaze, Bleumar, and Strauss [9] introduced the concept of proxy re-encryption (PRE).
A re-encryption key (rki,j) is given to a potentially untrusted proxy so that the proxy can
transform a message m encrypted under public key pki into an encryption of the same message
m under a different public key pkj without knowing the message. A PRE scheme can be of two
types - unidirectional and bidirectional. The former is a scheme in which a re-encryption key
(rki → j) can be used to transform from pki to pkj but not vice versa and the latter is a scheme in
which the same re-encryption key (rki ↔ j) can be used to transform from pki to pkj and vice
versa. The re-encryption algorithm can be of two types - single hop, in which the re-encrypted
ciphertext cannot be further re-encrypted and multi hop, in which the re-encrypted ciphertext
can be further re-encrypted.
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
180
PRE can be used in many applications, including simplification of key distribution [9], key
escrow [13], multicast [19], distributed file systems [3, 5], security in publish/subscribe systems
[4], secure certified email mailing lists [20, 23], the DRM of Apple's iTunes [22], interoperable
architecture of DRM [21], access control [11], and privacy for public transportation [7].
Hohenberger and others published a result of securely obfuscating re-encryption [16], which is
the first positive result for obfuscating an encryption functionality. Shao and Cao have proposed
a unidirectional PRE scheme without pairing [2]. Matthew Green and Giuseppe Ateniese have
proposed a PRE scheme for ID-based cryptosystems [18].
Ran Canetti and Susan Hohenberger proposed a definition of security against chosen-ciphertext
attacks for PRE schemes and presented a scheme that satisfied the definition [1]. In 2009, Jian
Weng and others [14] introduced the concept of C-PRE, whereby Alice has a fine-grained
control over the delegation. As a result, Alice can flexibly assign Bob the decryption capability
based on the conditions attached to the messages using a proxy. For example, suppose Alice is
on a vacation. She can make Bob to read only those messages which have the keyword “urgent”
in their subject. This flexible delegation is obviously not possible with PRE schemes. In this
paper, two separate keys are used - a partial re-encryption key and a condition key. The message
can be delegated by the proxy only if both the keys are known.
Later in 2009, Jian Weng and others published a break of the scheme in [14] and gave a new
scheme for C-PRE [17], which combines the re-encryption key and the condition key into a
single key, which is then used for re-encryption. Also Cheng-Kang Chu and others in [8]
introduced a generalized version of C-PRE named conditional proxy broadcast re-encryption
(CPBRE), in which the proxy can re-encrypt the ciphertexts for a set of users at a time.
In this paper, we propose an efficient C-PRE scheme (single-hop and unidirectional) which uses
significantly less number of bilinear pairings when compared to the existing schemes in [14]
and [17]. Our scheme, as in [14], uses two separate keys for re-encryption.
1.1. Our Results
Let us briefly describe a C-PRE scheme. A C-PRE scheme involves a delegator (say user Ui), a
delegatee (say user Uj) and a proxy. A message sent to Ui with condition w is encrypted by the
sender using both Ui’s public key and w. To re-encrypt the message to Uj, the proxy is given the
re-encryption key (rki → j) and the condition key (cki,w) corresponding to w. Both the keys can be
generated only by Ui. These two keys form the secret trapdoor to be used by the proxy to
perform translation. Proxy will not be able to re-encrypt cipher texts for which the right
condition key is not available. Thus Ui can flexibly assign Uj the decryption rights by setting
condition keys properly. The scheme works in practice as follows: the message encrypted for Ui
is first handled by proxy and under appropriate conditions the proxy transforms the ciphertext
into a ciphertext for Uj. However, proxy will obtain no information about the original message.
While it is some what easier to design a PRE without pairing, designing C-PRE requires pairing
based operations crucially. We have used a few constructions from [12] which drastically
reduces the number of bilinear pairings. Table 1 compares the number of bilinear pairings and
exponentiations between the scheme in [17] and our scheme.
Table 1. Computational Complexity Comparison
Algorithm Scheme in [17] Our Scheme
BP EXP BP EXP
Encryption case 1 1 4 0 0
Encryption case 2 1 3 1 6
Re-Encryption 3 4 1 3
Decryption case 1 3 3 1 4
Decryption case 2 1 1 0 6
Total 9 15 3 19
BP − Bilinear Pairings, EXP − Exponentiations.
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
181
Encryption case 1 refers to the encryption without the condition. Encryption case 2 refers to the
encryption with the condition. Decryption case 1 refers to the decryption of the re-encrypted
ciphertext (first level ciphertext) and Decryption case 2 refers to the decryption of the encrypted
ciphertext (second level ciphertext).
Although the number of exponentiations in our scheme is slightly more, it is insignificant when
compared to the reduction in number of bilinear pairings. Thus, our scheme is more efficient
than the existing one. We then formally prove the security of our scheme. We have slightly
modified the security model in [14], as discussed in Section 3.
The C-PRE scheme in [14] has a break as given in [17]. Scheme in [17] has combined the two
keys into a single key. Having the keys separate has an advantage. The delegation power of the
proxy can be controlled. One of the two keys can be given to the proxy for partial re-encryption
and the other key can be given to a third party for full re-encryption. Since the scheme in [14]
has a break, our scheme is the only existing scheme having this unique property.
2. PRELIMINARIES
Bilinear Groups and Bilinear Pairings: Let G and GT be two cyclic multiplicative groups
with the same prime order q. A bilinear pairing is a map e : G × G → GT with the following
properties.
− Bilinearity: We have G∈∀= 21
ab
21
b
2
a
1 g,g)g,(geˆ)g,(geˆ and *
qba, Z∈∀ ;
− Non-degeneracy: There exist g1, g2 ∈ G such that 1)g,(geˆ 21 ≠ ;
− Computability: There exists an efficient algorithm to compute G∈∀ 2121 g,g)g,(geˆ .
Modified Computational Diffie-Hellman Problem: Let G be a cyclic multiplicative group
with a prime order q. Let g be the generator of G, The mCDH problem in G is as follows:
Given )g,g,g(g, baa
1
for some a, b ∈ *
qZ , compute W = gab
∈ G. An algorithm A has an
advantage ε in solving mCDH in G if
εg)g,g,g(g,Pr abbaa
1
≥



 =A
where the probability is over the random choice of a, b ∈ *
qZ , the random choice of g ∈ G and
the random bits of A.
Modified Computational Bilinear Diffie-Hellman Problem: Let G and GT be two cyclic
multiplicative groups with the same prime order q. Let e : G × G → GT be an admissible
bilinear map and let g be the generator of G. The mCBDH problem in (G, GT, e) is as follows:
Given )g,g,g,g(g, cbaa
1
for some a, b, c ∈ *
qZ , compute W = abc
g)(g,eˆ ∈ GT. An algorithm A
has an advantage ∈ in solving mCBDH in (G, GT, e) if
[ ] εg)(g,eˆ)g,g,g,g(g,Pr abccbaa
1
≥=A
where the probability is over the random choice of a, b, c ∈ *
qZ , the random choice of g ∈ G
and the random bits of A.
3. MODEL OF CONDITIONAL PROXY RE-ENCRYPTION
We give the definitions and security notions for C-PRE systems in this section.
3.1. Definition of C-PRE systems
A unidirectional C-PRE scheme consists of seven algorithms which are described as follows:
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
182
Global Setup (λ): The global setup algorithm takes a security parameter λ as input and outputs
the global parameters param. The parameters in param are implicitly given as input to the
following algorithms.
KeyGen (i): The key generation algorithm takes the user index i as input and generates a public
key(pki) and a secret key(ski) for user Ui.
ReKeyGen (ski, pkj): The partial re-encryption key generation algorithm takes a secret key ski
and another public key pkj as input and outputs the partial re-encryption key rki → j. This
algorithm is run by Ui. Here skj is not taken as input which indeed makes the scheme
unidirectional.
CKeyGen (ski, w): The condition key generation algorithm takes a secret key ski and a
condition w as input and outputs the condition key cki, w. This algorithm is run by Ui.
Encrypt (pk, m, w): The encryption algorithm takes a public key pk, a message m and a
condition w as input and outputs the ciphertext ζ associated with w under pk. Here m ∈ M
where M denotes the message space.
ReEncrypt (rki → j, cki, w,ζi): The re-encryption algorithm takes a partial re-encryption key rki →
j, a condition key cki, w associated with condition w and a ciphertext ζi under the public key pki
as input and outputs the re-encrypted ciphertext ζj under the public key pkj. This algorithm is
run by the proxy.
Decrypt (sk, ζ): The decryption algorithm takes a secret key sk and a ciphertext ζ as input and
outputs either a message m ∈ M or the error symbol ⊥.
Correctness: For any m ∈ M, any condition w, any (pki, ski) ← KeyGen (i), (pkj, skj) ←
KeyGen (j), and
ζi = Encrypt (pki, m, w),
Pr [Decrypt(ski, ζi) = m] = 1, and
Pr [Decrypt(skj, ReEncrypt (rki, j, cki, w, ζi)) = m] = 1.
while for any other condition w′ and user j′ with w′ ≠ w and j′ ≠ j, we have
Pr [Decrypt(skj, ReEncrypt (rki, j, cki, w′, ζi)) = ⊥] = 1−neg(λ)
Pr [Decrypt(skj, ReEncrypt (rki, j′, cki, w, ζi)) = ⊥] = 1−neg(λ).
3.2 Security Notions
The following game between an adversary A and a challenger C is used to define the semantic
security of our C-PRE scheme against chosen ciphertext attacks.
Setup. C takes a security parameter λ and runs the algorithm GlobalSetup(λ) and gives the
resulting global parameters param to A.
Phase 1. A adaptively issues queries q1, …, qm where qi is one of the following:
− Uncorrupted key generation query: C first runs algorithm KeyGen (i) to obtain the
public/secret key pair (pki, ski), and then gives pki to A.
− Corrupted key generation query: C first runs algorithm KeyGen (j) to obtain the
public/secret key pair (pkj, skj), and then gives (pkj, skj) to A.
− Partial re-encryption key generation query (pki, pkj): C runs the algorithm ReKeyGen(ski,
pkj) and returns the generated re-encryption key rki → j to A. Here ski is the secret key
corresponding to pki.
− Condition key generation query (pki, w): C runs the algorithm CKeyGen(ski, w) and
returns the generated condition key cki, w to A.
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
183
− Re-encryption query (pki, pkj, w, ζi): C runs the algorithm ReEncrypt(ReKeyGen(ski, pkj),
CKeyGen(ski, w), ζi) and returns the generated ciphertext ζj to A.
− Decryption query (pk, w, ζ) or (pk, ζ): C runs the algorithm Decrypt(sk, ζ) and returns its
result to A. Here (pk, w, ζ) and (pk, ζ) are queries on original ciphertexts and re-encrypted
ciphertexts respectively.
For the last four queries it is required that pk, pki and pkj are generated beforehand by the
KeyGen algorithm.
Challenge. Once A decides Phase 1 is over, it outputs a target public key pki*, a target condition
w*
and two equal-length plaintexts m0, m1 ∈ M. C flips a random coin δ ∈ {0, 1}, and sets the
challenge ciphertext to be ζ*
= Encrypt(pki*, mδ, w*
), which is sent to A.
Phase 2: A adaptively issues queries as in Phase 1, and C answers them as before.
Guess: Finally, A outputs a guess δ′ ∈ {0, 1} and wins the game if δ′ = δ. Adversary A is
subject to the following restrictions during the above game.
1. A cannot issue corrupted key generation queries on i* to obtain the target secret key ski*.
2. A can issue decryption queries on neither (pki*, w*
, ζ*
) nor (pkj, ReEncrypt(rki* → j,
cki*,w*, ζ*
)).
3. A cannot issue re-encryption queries on (pki*, pkj, w*
, ζ*
) if pkj appears in a previous
corrupted key generation query.
4. A cannot obtain the partial re-encryption key rki* → j if pkj appears in a previous corrupted
key generation query.
We refer to the above adversary A as an IND-CPRE-CCA adversary. A’s advantage in attacking
our CPRE scheme is defined as [ ] ,1/2δδPrAdv CCACPREIND
PRE,C −=′=−−
− A where the probability is
taken over the random coins consumed by the adversary and the challenger. As in [14], we also
distinguish between two types of IND-CPRE-CCA adversaries as follows:
− Type I IND-CPRE-CCA adversary: In the game, adversary A does not obtain the re-
encryption key rki* → j with pkj corrupted.
− Type II IND-CPRE-CCA adversary: In the game, adversary A does not obtain both the
condition key cki*, w* and the re-encryption key rki* → j with pkj corrupted.
4. AN EFFICIENT C-PRE SCHEME
Here we present our efficient C-PRE scheme and then prove its security.
4.1 Construction
Our proposed scheme consists of the following seven main algorithms and one auxiliary
algorithm for checking the validity of the ciphertext.
Global Setup (λ) : This algorithm takes the security parameter λ as input. Then two primes p
and q are chosen such that q | p−1 where q is a λ bit prime. Then the algorithm generates (q, G,
GT, e) where G and GT are two cyclic groups with prime order q and e is a bilinear pairing e : G
× G → GT. Let g be the generator of group G, which is a subgroup of *
qZ with order q. Choose
hash functions as follows:
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
184
*
1
10
{0,1}{0,1}:H q
ll
Z→× , **
2 {0,1}:H qZ→ , 10
{0,1}:H3
ll +
→G , **
4 {0,1}:H qZ→ ,
*
5 :H qZG → , GGG →××*
6 {0,1}:H , and .}1,0{:H 10
T7
ll +
→G
param = ((q, G, GT, e), g, H1, ..., H7). l0 and l1 are determined by λ and the message space M is
.}1,0{ 0l
KeyGen (i): This algorithm randomly picks ski = (xi,1, xi,2
*
qZ
$
← ) and sets pki = ).g,(g 2i,1i xx
ReKeyGen(ski, pkj) : The re-encryption key rki → j is generated as follows:
1. Pick 0
}1,0{h
$
l
← and 1
}1,0{π
$
l
← and compute v = H1(h, π).
2. Compute V = gv
and W = H3( v
j,2pk ) ⊕ (h || π).
3. Compute
i,2i,25i,1
(1)
ji
x)(pkHx
h
rk
+
=→ and return W).V,,(rkrk (1)
jiji →→ =
CKeyGen(ski, w) : This algorithm outputs the condition key cki, w = .)pk(w,H 1i,x
1
i6
Encrypt(pki, m, w) : This algorithm encrypts a message m with condition w for pki as follows:
1. Pick s, *
q
$
z Z← and compute B = s
i,1pk and D = z
i,1pk .
2. Pick 1
}1,0{r
$
l
←′ . Compute r = H2(m, r′, pki, w) and .)pk(pkA r
i,2
)(pkH
i,1
i,25
=
3. Compute C = H3(gr
) ⊕ (m || r′) ⊕ ).))pk(w,H(g,eˆ(H s
i67
4. Compute E = s + zH4(A, B, C, D) mod q.
5. Output the ciphertext ζi = (A, B, C, D, E).
Validity(): This algorithm implicitly takes all the inputs of the calling algorithm as its input and
works as follows:
If D)C,B,(A,HE
i,1
4
B.Dpk ≠ return ⊥.
ReEncrypt(rki → j, cki, w, ζi, pki, pkj): This algorithm re-encrypts ζi to ζj as follows:
1. Return ⊥ if Validity() returns ⊥.
2. Compute A′ =
(1)
jirk
A →
and C′ = C ⊕ ))ck(B,eˆ(H wi,7 .
3. Output the transformed ciphertext as ζj = (A′, C′, V, W).
Decrypt(ski, ζi): Parse the ciphertext ζi. Decryption of ζi is done as follows:
− ζ is the original ciphertext in the form ζ = (A, B, C, D, E).
1. Return ⊥ if Validity() returns ⊥.
2. Compute (m || r′) = C ⊕ )))pk(w,H(B,eˆ(H)(AH i,1x
1
i,2x)i,2(pk5Hi,1x
1
i673 ⊕+
.
3. If w),pk,r(m,H
i,2
)(pkH
i,1
i2i,25
)pk(pkA
′
= holds, return m; else return ⊥.
− ζ is the re-encrypted ciphertext in the form ζ = (A′, C′, V, W).
1. Compute (h || π) = W ⊕ )(VH i,2sk
3 and (m || r′) = C′ ⊕ )A(H h
1
3 ′ .
2. If π)(h,H1
gV = and w),pk,r(m,hH i2
gA ′
=′ hold, return m; else return ⊥.
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
185
Correctness: The proxy must have both the right re-encryption key and the condition key to re-
encrypt a ciphertext to the delegatee. Otherwise, the delegatee will not be able to decrypt the
ciphertext with non-negligible probability. Suppose a proxy has the re-encryption key rki → j and
the condition key cki, w′ (w′ ≠ w), he will generate the re-encrypted ciphertext ζj = (A′, C′, V, W)
as
A′ = grh
C′ = H3(gr
) ⊕ (m || r′) ⊕ )))pk(w,H(g,eˆ(H s
i67 ⊕ ))ck(B,eˆ(H wi,7 ′
= H3(gr
) ⊕ (m || r′) ⊕ )))pk(w,H(g,eˆ(H s
i67 ⊕ )))pk,w(H,(geˆ(H i,1x
1
i,1
i6
sx
7 ′
= H3(gr
) ⊕ (m || r′) ⊕ )))pk(w,H(g,eˆ(H s
i67 ⊕ )))pk,w(H(g,eˆ(H s
i67 ′
V = gv
W = )(pkH v
j,23 ⊕ (h || π).
Note that the two H7 terms do not cancel each other implying that C′ ⊕ )A(H g
1
3 ′ in the
decryption algorithm will not reveal the message m with overwhelming probability. The
resulting value will also not pass the condition checks. Hence the delegatee cannot decrypt the
re-encrypted ciphertext with high probability.
Security intuitions: It is impossible for the adversary to manipulate the ciphertext. This is
because the validity of the original ciphertext can be publicly verified by the Validity()
algorithm. Thus our scheme can ensure chosen-ciphertext security. Even if the conditional key
w is changed to another value w′ by the adversary, the scheme is secure because w is a
parameter for H2 and when w changes the value of r also changes.
4.2. Security
The proposed C-PRE scheme is IND-CPRE-CCA secure in random oracle model. This follows
directly from Theorem 1 and Theorem 2.
Theorem 1. Our scheme is IND-CPRE-CCA secure in the random oracle model, assuming the
mCDH assumption holds in group G and the Schnorr signature is EUF-CMA secure.
Concretely, if there exists a Type I adversary A, who asks at most iHq random oracle queries to
Hi with i ∈ {1, 2, ..., 7}, and breaks the (t, qu, qc, qrk, qck, qre, qd, ε)-IND-CPRE-CCA of our
scheme, then, for any 0 < ψ < ε, there exists
1. either an algorithm B which can break the (t′, ε′)-mCDH assumption in G with





 +
−
++++
−
+
−
≥′
++++++++++
+++++++++++++≤′
+
q
)q2(q
2
)q)(qq(qqq
)qε(1
ψε
q
1
ε
t)q(qt)))q2q(2q1)(2q(qq6q2q2q(
(1))qqqqqqqqqqqqq(tt
dre
ll
dreHHHH
rkH
pdreexpdHHdreckrkuc
dreckrkcuHHHHHHH
10
3242
3
32
7654321
O
where texp denotes the running time of an exponentiation in group G and tp denotes the
running time of a pairing in groups (G, GT).
2. or an attacker who breaks the EUF-CMA security of the Schnorr signature with advantage
ψ within time t′.
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
186
PROOF. Without loss of generality, we assume that the Schnorr signature is (t′, ψ)-EUF-CMA
secure for some probability 0 < ψ < ε. If there exists a t-time adversary A who can break the
IND-CPRE-CCA security of our scheme with advantage ε-ψ, then we show how to construct an
algorithm B which can break the
(t′, ε′)-mCDH assumption in G. Suppose B is given as input a challenge tuple )g,g,g(g, baa
1
with unknown *
q
$
ba, Z← . Algorithm B′s goal is to output gab
. Algorithm B first gives (q, G, g,
H1, ..., H7, l0, l1) to A. Next, B acts as a challenger and plays the IND-CPRE-CCA game with
adversary A in the following way:
Hash Oracle Queries: At any time adversary A can issue random oracle queries Hi with i ∈ {1,
..., 7}. Algorithm B maintains seven hash lists list
iH with i ∈ {1, ..., 7} which are initially empty,
and responds as below:
1. H1 queries: If H1(h, π) has appeared on the list
iH in a tuple (h, π, v), return the predefined
value v. Otherwise, choose *
q
$
v Z← and add tuple (h, π, v) to list
iH and respond with H1(h,
π) = v.
2. H2 queries: If H2(m, r′, pki, w) has appeared on the list
2H in a tuple (m, r′, pki, w, r), return
the predefined value r. Otherwise, choose *
q
$
r Z← and add tuple (m, r′, pki, w, r) to list
2H
and respond with H2(m, r′, pki, w) = r.
3. H3 queries: If H3(R) has appeared on the list
3H [R ∈ G] in a tuple (R, β), return the
predefined value β. Otherwise, choose 10
{0,1}β
$
ll +
← , add tuple (R, β) to list
3H and respond
with H3(R) = β.
4. H4 queries: If H4(A, B, C, D) has appeared on the list
4H in a tuple (A, B, C, D, γ), return
the predefined value γ. Otherwise, choose *
q
$
γ Z← , add tuple (A, B, C, D, γ) to list
4H and
respond with H4(A, B, C, D) = γ.
5. H5 queries: If H5(pk) has appeared on the list
5H in a tuple (pk, τ), return the predefined
value τ. Otherwise, choose *
q
$
τ Z← , add tuple (pk, τ) to list
5H and respond with H5(pk) =
τ.
6. H6 queries: If H6(w, pk) has appeared on the list
6H in a tuple (w, pk, t, S), return the
predefined value S. Otherwise, choose *
q
$
t Z← , compute S = gt
, add the tuple (w, pk, t, S)
to list
6H and respond with H6(w, pk) = S.
7. H7 queries: If H7(U) has appeared on the list
7H [U ∈ GT] in a tuple (U, η), return the
predefined value η. Otherwise, choose 10
{0,1}η
$
ll +
← , add tuple (U, η) to list
7H and
respond with H7(U) = η.
Phase 1. In this phase, adversary A issues a series of queries subject to the restrictions of the
Type I IND-CPRE-CCA game. B maintains three lists Klist
, Rlist
and Clist
which are initially
empty, and answers these queries for A as follows:
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
187
− Uncorrupted key generation query. B picks *
q
$
i,2i,1 x,x Z← . Next, using the Coron's
technique [6], it flips a biased coin ci ∈ {0, 1} that yields 1 with probability θ and 0
otherwise. If ci = 1, it defines )g,(gpk i,2i,1 xx
i = ; else ))(g,)((gpk i,2a
1
i,1a
1
xx
i = . Then, it
adds the tuple (pki, xi, 1, xi, 2, ci) to Klist
and returns pki.
− Corrupted key generation query. B picks *
q
$
i,2i,1 x,x Z← and defines )g,(gpk i,2i,1 xx
i = , ci
= ‘−’. Then, it adds the tuple (pki, xi, 1, xi, 2, ci) to Klist
and returns (pki, (xi, 1, xi, 2)).
− Re-encryption key generation query (pki, pkj). If Rlist
has an entry for (pki, pkj), return the
predefined re-encryption key to A. Otherwise, algorithm B acts as follows:
1. Recover tuples (pki, xi, 1, xi, 2, ci) and (pkj, xj, 1, xj, 2, cj) from Klist
.
2. Pick 0
{0,1}h
$
l
← and 1
{0,1}π
$
l
← ; compute v = H1(h, π), V = gv
and W = )(pkH v
j,23
⊕ (h || π).
3. Construct the first component (1)
jirk → according to the following cases:
• ci = 1 or ci = ‘−’: Define
i,2i,25i,1
(1)
ji
x)(pkHx
h
rk
+
=→ .
• (ci = 0 ∧ cj = 1) or (ci = 0 ∧ cj = 0): Pick *
q
$
(1)
jirk Z←→ .
• (ci = 0 ∧ cj = ‘−’): Output “failure” and abort.
4. If B does not abort, add h)W),V,,(rk,pk,(pk (1)
jiji → into list Rlist
, return
W)V,,(rk(1)
ji→ .
− Condition key query (pki, w). If Clist
has an entry for (pki, w), return the predefined
condition key cki, w to A. Otherwise algorithm B acts as follows:
1. Recover tuples (pki, xi,1, xi,2, ci) from Klist
and (w, pki, t, S) from list
6H .
2. It constructs the condition key cki,w for adversary A according to the following
cases:
• ci = 1 or ci = ‘−’: Algorithm B responds with cki,w = i,1x
1
S .
• ci = 0: Algorithm B responds with cki,w = i,1x
1
)(ga
which is same as i,1sk
1
S .
3. Add (pki, w, cki,w) to Clist
.
− Re-encryption query (pki, pkj, w, ζi)}. Algorithm B parses ζi = (A, B, C, D, E). Return ⊥ if
Validity() returns ⊥. Otherwise it constructs the condition key cki,w by issuing a condition
key query (pki, w) and does the following:
1. Recover tuples (pki, xi,1, xi,2, ci) and (pkj, xj,1, xj,2, cj) from Klist
.
2. If (ci = 0 ∧ cj = ‘−’) does not hold, issue a re-encryption key generation query (pki,
pkj) to obtain rki → j, and then ReEncrypt(rki → j, cki,w, ζi, pki, pkj) to A.
3. Else B does the following.
• Pick 0
{0,1}h
$
l
← and 1
{0,1}π
$
l
← and compute v = H1(h, π).
• Compute V = gv
and W = )(pkH v
j,23 ⊕ (h || π).
• Since the ciphertext is valid, issue a decryption query (pki, ζi) and get
message m.
• Pick 1
{0,1}r
$
l
←′ . Compute r = H2(m, r′, pki, w).
• Compute A′ = grh
and C′ = H3(gr
) ⊕ (m || r′).
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
188
• Add tuple (h, π, v) to list
iH and tuple (m, r′, pki, w, r) to list
2H , if they are not
present in their respective lists.
• Return (A′, C′, V, W) to A as the re-encrypted ciphertext.
− Decryption query (pki, w′, ζi) or (pki, ζi). B recovers tuple (pki, xi,1, xi,2, c) from Klist
. If c =
1 or c = ‘−’, algorithm B runs Decrypt((xi,1, xi,2), ζi)) and returns the result to A.
Otherwise, algorithm B works according to the following two cases:
• ζi is an original ciphertext ζI = (A, B, C, D, E):
1. Return ⊥ if Validity() returns ⊥.
2. Construct condition key cki,w′ as in the condition key query and define C = C′ ⊕
))ck(B,eˆ(H wi,7 ′ .
3. Search tuples (m, r′, pk, w, r) ∈ list
2H and (R, β) ∈ list
3H such that pki = pk, w =
w′, β ⊕ (m || r′) = C, gr
= R and A)pk(pk r
i,2
)(pkH
i,1
i,25
= .
4. If yes, return m to A. Otherwise, return ⊥.
• ζi is a re-encrypted ciphertext ζi = (A′, C′, V, W):
1. Search tuples (m, r′, pk, w, r) ∈ list
2H , (h, π, v) ∈ list
1H , (R, β) ∈ list
3H and (R′,
β′) ∈ list
3H such that pki = pk, w = w′, grh
= A′, gr
= R, β ⊕ (m || r′) = C′, gv
= V,
β′ ⊕ (h || π) = W and Rpk v
i,2 ′= .
2. If yes, return m to A. Otherwise, return ⊥.
Challenge. When A decides that Phase 1 is over, it outputs a public key pki* = (pki*,1, pki*,2), a
condition w*
and two equal-length messages m0, m1 ∈ 10
}1,0{ ll +
. Algorithm B responds as
follows:
1. Recover tuple (pki*, xi*,1, xi*,2, c*
) from Klist
. If c*
≠ 0, B outputs “failure” and aborts.
Otherwise, B proceeds to execute the following steps.
2. Pick *
q
$
**
z,s Z← and compute i*,1
*
a
1
xs*
)(gB = and i*,1
*
a
1
xz*
)(gD = .
3. Pick 10
{0,1}C
$
* ll +
← .
4. Compute i*,2i*,25i*,1 x)(pkHxb*
)(gA
+
= and E*
= s*
+ z*
H4(A*
, B*
, C*
, D*
) mod q.
5. Construct the condition key cki*,w*, as in the condition key query.
6. Pick a random bit {0,1}δ
$
← and 1
{0,1}r
$
l
←′ . Implicitly define H2(mδ, r′, pki*, w*
) = ab
and
H3(gab
) = C*
⊕ (mδ || r′) ⊕ ))ck,(Beˆ(H *wi*,
*
7 (note that B knows neither ab nor gab
).
7. Return ζ*
= (A*
, B*
, C*
, D*
, E*
) as the challenged ciphertext to adversary A.
Observe that the challenge ciphertext ζ*
is identically distributed as the real one from the
construction. To see this, letting r*
= ab, we have
A*
= i*,2i*,25i*,1 x)(pkHxb
)(g
+
=
ab
i*,2i*,25i*,1a
1
))((g
x)(pkHx +
= *r
i*,2
)(pkH
i*,1 )pk(pk i*,25
B*
= *s
i*,1
*xs
pk)((g i*,1a
1
=
C*
= H3(gab
) ⊕ (mδ || r′) ⊕ ))ck,(Beˆ(H *wi*,
*
7
= H3(gab
) ⊕ (mδ || r′) ⊕ )))(g,)((geˆ(H i*,1x
1
i*,1a
1
a*xs
7
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
189
= H3(gab
) ⊕ (mδ || r′) ⊕ ))g(g,eˆ(H *sy
7
= H3(gr*
) ⊕ (mδ || r′) ⊕ )))pk,(wH(g,eˆ(H *s
*wi*,
*
67
D*
= *z
i*,1
x*z
pk)(g i*,1a
1
=
E*
= s*
+ z*
H4(A*
, B*
, C*
, D*
) mod q
Phase 2. Adversary A continues to issue queries as in Phase 1, with the restrictions prescribed in
the IND-CPRE-CCA game. Algorithm B responds to these queries for A as in Phase 1.
Guess. Eventually, adversary A returns a guess δ′ ∈ {0, 1} B. Algorithm B randomly picks a
tuple (R, β) from the list
3H and outputs R as the solution to the given problem instance.
Analysis. Now let's analyse the simulation. From the constructions of H1, H5, H6 and H7, it is
clear that the simulations of these oracles are perfect. Let *
4AskH be the event that A queried
(A*
, B*
, C*
, D*
) to H4 before challenge phase. The simulation of H4 is perfect as long as *
4AskH
did not occur. Since C*
is randomly chosen from 10
{0,1} ll +
by the challenger in the challenge
phase, we have
10
4
2
q
]Pr[AskH
H*
4 ll +
= . Let *
2AskH be the event that (mδ ,r′, pki*, w*
) has been
queried to H2 and *
3AskH be the event that gab
has been queried to H3. The simulations of H2
and H3 are perfect as long as *
2AskH and *
3AskH did not occur, where δ and r′ are chosen by B
in the challenge phase.
B’s responses to A’s uncorrupted/corrupted key generation queries are perfect. Let Abort denote
the event of B’s aborting during the simulation of the re-encryption key queries or in the
challenge phase. We have Pr[¬Abort] ≥ θ)(1θ rkq
− , which is maximized at
rk
rk
opt
q1
q
θ
+
= .
Using θopt, the probability Pr[¬Abort] is at least
)qe(1
1
rk+
.
The simulation of the re-encryption key queries is same as the real one, except for the case (ci =
0 ∧ cj = 1) or (ci = 0 ∧ cj = 0), in which the component (1)
jirk → is randomly chosen. If Abort does
not happen, this is computationally indistinguishable from the real world because:
1. Secret key skj is unknown to A since cj ≠ ‘−’.
2. h is encrypted under pkj using the “hashed” ElGamal encryption scheme. So, if A can
distinguish rki → j from jikr →′ , it means that A can determine (V, W) is an encryption of h
or h′, which breaks the CCA security of the “hashed” ElGamal based on the CDH
assumption.
The re-encryption queries are also perfect, unless A can submit valid original ciphertexts
without querying H2 or H3 (denote this event by REErr). This is because we issue a decryption
query in the third case of the re-encryption query. We will calculate Pr[REErr] shortly.
The simulation of the decryption oracle is perfect, with the exception that simulation errors may
occur in rejecting some valid ciphertexts. A can submit valid original ciphertexts without
querying H2 or H3 (denote this event by DErr). Let Valid be the event that the ciphertext is
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
190
valid. Let AskH3 and AskH2 be the events gr
has been queried to H3 and (m, r′, w) has been
queried to H2 respectively. We have,
q
1
2
q
]AskHAskH|Pr[Valid]AskH|Pr[AskH
]AskH|AskHPr[Valid]AskH|AshHPr[Valid]AskH|Pr[Valid
10
3
ll
H
2323
23232
+≤
¬∧¬+¬≤
¬¬∧+¬∧=¬
+
Similarly, we have
q
1
2
q
]AskH|Pr[Valid 10
2
ll
H
3 +≤¬ +
. Thus we have,
q
2
2
qq
]AskH|Pr[Valid]AskH|Pr[Valid)]AskHAskH(|Pr[Valid
10
32
ll
HH
3232
+
+
≤
¬+¬≤∨¬
+
Let DErr be the event that Valid |(¬ AskH2 ∨ ¬ AskH3) happens during the entire simulation.
Then since A issues utmost qd decryption oracles, we have
q
2q
2
)qq(q
Pr[DErr] d
ll
dHH
10
32
+
+
≤ +
.
By the definition of REErr as stated above, since A issues utmost qre re-encryption oracles, we
have
q
2q
2
)qq(q
Pr[REErr] re
ll
reHH
10
32
+
+
≤ +
.
Now, let Good denote the event
Abort|DErr)REErrAskH)AskH|(AskH(AskH *
4
*
3
*
2
*
3 ¬∨∨∨¬∨ .
If Good does not happen, due to the randomness of the output of the random oracle H3, it is
clear that A cannot gain any advantage greater than 2
1
in guessing δ. Thus we have Pr[δ′ = δ | ¬
Good] = 2
1
. Hence by splitting Pr[δ′ = δ], we have
Pr[Good]
Good]Good]Pr[|δδPr[δ]δPr[
Pr[Good]
Pr[Good]Good]Pr[
od]Good]Pr[Go|δδPr[Good]Good]Pr[|δδPr[δ]δPr[
2
1
2
1
2
1
2
1
2
1
−=
¬¬=′≥=′
+≤
+²
=′+¬¬=′==′
By definition of the advantage for the IND-CPRE-CCA adversary, we then have
.
Abort]Pr[
Pr[DErr]Pr[REErr]
Abort]Pr[
]Pr[AskH]AskH|Pr[AskH]Pr[(AskH
Abort]|DErr)REErrAskH)AskH|(AskHPr[(AskH
Pr[Good]
1δ]δPr[2ψε
*
4
*
3
*
2
*
3
*
4
*
3
*
2
*
3
¬
+
+
¬
+¬+
=
¬∨∨∨¬∨=
≤
−=′×=−
Substituting values which have been computed, we get
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
191
q
)q2(q
2
)q)(qq(qqq
)qε(1
ψε
q
2q
2
)qq(q
q
2q
2
)qq(q
2
q
2
q
)qε(1
ψε
Pr[Derr]Pr[Reerr]]Pr[AskH]AskH|Pr[AskHψ)(εAbort]Pr[]Pr[AskH
dre
ll
dreHHHH
rk
d
ll
dHHre
ll
reHH
ll
H
ll
H
rk
*
4
*
3
*
2
*
3
10
3242
10
32
10
32
10
4
10
2
+
−
++++
−
+
−
=
−
+
−−
+
−−−
+
−
≥
−−−¬−−⋅¬≥
+
++++
If *
3AskH happens, algorithm B will be able to solve mCDH instance. Therefore we get,







 +
−
++++
−
+
−
≥
≥′
+
q
)q2(q
2
)q)(qq(qqq
)qε(1
ψε
q
1
]Pr[AskH
q
1
ε
dre
ll
dreHHHH
rkH
*
3
H
10
3242
3
3
From the description of the simulation, B’s running time can be bounded by
pdreexpdHHdreckrkuc
dreckrkcuHHHHHHH
t)q(qt)))q2q(2q1)(2q(qq6q2q2q(
(1))qqqqqqqqqqqqq(tt
32
7654321
++++++++++
+++++++++++++≤′ O
This completes the proof of Theorem 1.
Theorem 2. Our scheme is IND-CPRE-CCA secure in the random oracle model, assuming the
mCBDH assumption holds in groups G, GT and the Schnorr signature is EUF-CMA secure.
Concretely, if there exists a Type II adversary A, who asks at most iHq random oracle queries to
Hi with i ∈ {1, 2, ..., 7}, and breaks the (t, qu, qc, qrk, qck, qre, qd, ε)-IND-CPRE-CCA of our
scheme, then, for any 0 < ψ < ε, there exists
1. either an algorithm B which can break the (t′, ε′)-mCBDH assumption in G with


+
−
+++
−


 +++
−−
+
−
+
+
−
≥′
++++++++++
+++++++++++++≤′
−+
++
q
)q3(q
2
)q)(qqq(q
4
)q)(qqqqqq(q
2
q
)qε(1
ψε
)qε(1
ψε
q
1
ε
t)q(qt)))q2q(2q1)(2q(qq6q2q(2q
)O(1)qqqqqqqqqqqq(qtt
dre
1ll
dreHHH
ll
dreHHHHHH
ll
H
ckrkH
pdreexpdHHdreckrkuc
dreckrkcuHHHHHHH
10
732
10
277332
10
4
7
32
7654321
where texp denotes the running time of an exponentiation in group G and tp denotes the
running time of a pairing in groups (G, GT).
2. or an attacker who breaks the EUF-CMA security of the Schnorr signature with advantage
ψ within time t′.
PROOF. Without loss of generality, we assume that the Schnorr signature is (t′, ψ)-EUF-CMA
secure for some probability 0 < ψ < ε. If there exists a t-time adversary A who can break the
IND-CPRE-CCA security of our scheme with advantage ε−ψ, then we show how to construct
an algorithm B which can break the
(t′, ε′)-mCBDH assumption in G. Suppose B is given as input a challenge tuple
)g,g,g,g(g, cbaa
1
with unknown *
q
$
b.ca, Z← . Algorithm B’s goal is to output abc
g)(g,eˆ .
Algorithm B first gives (q, G, g, H1, ..., H7, l0, l1) to A. Next, B acts as a challenger and plays the
IND-CPRE-CCA game with adversary A in the following way:
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
192
Hash Oracle Queries. At any time adversary A can issue random oracle queries Hi with i ∈ {1,
..., 7}. Algorithm B maintains seven hash lists list
iH with i ∈ {1, ..., 7} which are initially empty,
and responds as below:
− H1 queries: If H1(h, π) has appeared on the list
1H in a tuple (h, π, v), return the predefined
value v. Otherwise, choose *
q
$
v Z← and add tuple (h, π, v) to list
1H and respond with H1(h,
π) = v.
− H2 queries: If H2(m, r′, pki, w) has appeared on the list
2H in a tuple (m, r′, pki, w, r), return
the predefined value r. Otherwise, choose *
q
$
r Z← and add tuple (m, r′, pki, w, r) to list
2H
and respond with H2(m, r′, pki, w) = r.
− H3 queries: If H3(R) has appeared on the list
3H [R ∈ G] in a tuple (R, β), return the
predefined value β. Otherwise, choose 10 ll
$
{0,1}β +
← , add tuple (R, β) to list
3H and respond
with H3(R) = β.
− H4 queries: If H4(A, B, C, D) has appeared on the list
4H in a tuple (A, B, C, D, γ), return
the predefined value γ. Otherwise, choose *
q
$
γ Z← , add tuple (A, B, C, D, γ) to list
4H and
respond with H4(A, B, C, D) = γ.
− H5 queries: If H5(pk) has appeared on the list
5H in a tuple (pk, τ), return the predefined
value τ. Otherwise, choose *
q
$
τ Z← , add tuple (pk, τ) to list
5H and respond with H5(pk) = τ.
− H6 queries: If H6(w, pk) has appeared on the list
6H in a tuple (w, pk, t, S, coin), return the
predefined value S. Otherwise, choose *
q
$
t Z← . Next, using the Coron's technique [6], flip
a random biased coin [coin ∈ {0, 1}] that yields 0 with a probability θ and 1 with
probability 1−θ. If coin = 0, compute S = gt
. Otherwise, compute S = (gb
)t
. Add the tuple
(w, pk, t, S, coin) to list
6H and respond with H6(w, pk) = S.
− H7 queries: If H7(U) has appeared on the list
7H [U ∈ GT] in a tuple (U, η), return the
predefined value η. Otherwise, choose 10 ll
$
{0,1}η +
← , add tuple (U, η) to list
7H and respond
with H7(U) = η.
Phase 1. In this phase, adversary A issues a series of queries subject to the restrictions of the
Type II IND-CPRE-CCA game. B maintains three lists Klist
, Rlist
and Clist
which are initially
empty, and answers these queries for A as follows:
− Uncorrupted key generation query. B picks xi,1, xi,2
*
q
$
Z← . Next, it defines ci = 0 and
))(g,)((gpk i,2a
1
i,1a
1
xx
i = . Then it adds the tuple (pki, xi,1, xi,2, ci) to Klist
and returns pki.
Here the bit ci is used to denote whether the secret key with respect to pki is corrupted,
i.e., ci = 0 means uncorrupted and ci = 1 means corrupted.
− Corrupted key generation query. B picks xi,1, xi,2
*
q
$
Z← and defines )g,(gpk i,2i,1 xx
i = , ci =
1. Then, it adds the tuple (pki, xi,1, xi,2, ci) to Klist
and returns (pki, (xi,1, xi,2)).
− Re-encryption key generation query (pki, pkj). If Rlist
has an entry for (pki, pkj), return the
predefined re-encryption key to A. Otherwise, algorithm B acts as follows:
1. Recover tuples (pki, xi,1, xi,2, ci) and (pkj, xj,1, xj,2, cj) from Klist
.
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
193
2. Pick 0l
$
{0,1}h ← and 1l
$
{0,1}π← ; compute v = H1(h, π), V = gv
and W = H3( v
j,2pk )
⊕ (h || π).
3. Construct the first component (1)
jirk →
according to the following cases:
• ci = 1: Define
i,2i,25i,1
(1)
ji
x)(pkHx
h
rk
+
=→ .
• (ci = 0 ∧ cj = 0): Define
i,2i,25i,1
(1)
ji
x)(pkHx
h
rk
+
=→ . Here define h = ah′ so
that
a
x)(pkHx
(1)
ji i,2i,25i,1
h
rk +→
′
= where 0l
{0,1}h ∈′ .
• (ci = 0 ∧ cj = 1): Output “failure” and abort.
4. If B does not abort, add h)W),V,,(rk,pk,(pk (1)
jiji → into list Rlist
, return W)V,,(rk(1)
ji→
.
− Condition key query (pki, w). If Clist
has an entry for (pki, w), return the predefined
condition key cki,w to A. Otherwise algorithm B acts as follows:
1. Recover tuples (pki, xi,1, xi,2, ci) from Klist
and (w, pki, t, S, coin) from list
6H .
2. It constructs the condition key cki,w for adversary A according to the following
cases:
• ci = 1: Algorithm B responds with i,1x
1
wi, Sck = .
• (ci = 0 ∧ coin = 0): Algorithm B responds with i,1x
1
a
wi, )(gck = which is same
as i,1sk
1
S .
• (ci = 0 ∧ coin = 1): Output “failure” and abort.
3. If B does not abort, add (pki, w, cki,w) to Clist
.
− Re-encryption query (pki, pkj, w, ζi). Algorithm B parses ζi = (A, B, C, D, E). Return ⊥ if
Validity() returns ⊥. Otherwise it does the following:
1. Recover tuples (pki, xi,1, xi,2, ci) and (pkj, xj,1, xj,2, cj) from Klist
.
2. If (ci = 0) does not hold, issue a condition key generation query (pki, w) to obtain
cki,w and a re-encryption key query (pki, pkj) to obtain rki → j, and then
ReEncrypt(rki → j, cki,w, ζi, pki, pkj) to A.
3. Else B does the following.
• Pick 0l
$
{0,1}h← and 1l
$
{0,1}π← and compute v = H1(h, π).
• Compute V = gv
and W = H3( v
j,2pk ) ⊕ (h || π).
• Since the ciphertext is valid, issue a decryption query (pki, ζi) and get
message m.
• Pick 1l
$
{0,1}r ←′ . Compute r = H2(m, r′, pki, w).
• Compute A′ = grh
and C′ = H3(gr
) ⊕ (m || r′).
• Add tuple (h, π, v) to list
1H and tuple (m, r′, pki, w, r) to list
2H , if they are not
present in their respective lists.
• Return (A′, C′, V, W) to A as the re-encrypted ciphertext.
− Decryption query (pki, w′, ζi) or (pki, ζi)}. B recovers tuple (pki, xi,1, xi,2, c) from Klist
and
(w, pki, t, S, coin) from list
6H . If c = 1, algorithm B runs Decrypt((xi,1, xi,2), ζi)) and returns
the result to A. Otherwise, algorithm B works according to the following two cases:
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
194
• ζi is an original ciphertext ζi = (A, B, C, D, E):
1. Return ⊥ if Validity() returns ⊥.
2. Search tuples (m, r′, pk, w, r) ∈ list
2H , (R, β) ∈ list
3H and (U, γ) from list
7H
such that pki = pk, w = w′, β ⊕ (m || r′) ⊕ γ = C, gr
= R and
A)pk(pk r
i,2
)(pkH
i,1
i,25
= .
3. If yes, return m to A. Otherwise, return ⊥.
• ζi is a re-encrypted ciphertext ζI = (A′, C′, V, W):
1. Search tuples (m, r′, pk, w, r) ∈ list
2H , (h, π, v) ∈ list
1H , (R, β) ∈ list
3H and (R′,
β′) ∈ list
3H such that pki = pk, w = w′, grh
= A′, gr
= R, β ⊕ (m || r′) = C′, gv
=
V, β′ ⊕ (h || π) = W and Rpkv
i,2
′= .
2. If yes, return m to A. Otherwise, return ⊥.
Challenge. When A decides that Phase 1 is over, it outputs a public key pki* = (pki*,1, pki*,2), a
condition w*
and two equal-length messages m0, m1 ∈ 10
}1,0{ ll +
. Algorithm B responds as
follows:
1. Recover tuple (w*
, pki*, t*
, S*
, coin*
) from list
6H . If coin*
≠ 1, B outputs “failure” and
aborts. Otherwise, B proceeds to execute the following steps.
2. Pick u*
, e* *
q
$
Z← and compute t
x
c
i*,1
)(gB* = and *e
1
)pk((B*)D* *u
i*,1
1−
= .
3. Pick 10 ll
$
{0,1}*C +
← and 1l
$
{0,1}r ←′ .
4. Pick a random bit {0,1}δ
$
← and compute r* = H2(mδ ,r′, pki*, w*).
5. Compute *rx)(pkHx
))((gA* i*,2i*,25i*,1a
1
+
= and E* = u*.
6. Define H4(A*, B*, C*, D*) = e*.
7. Implicitly define )(gH)r||(m*C)g)(g,eˆ(H r
3δ
abc
7 ⊕′⊕= (note that B does not know
abc
g)(g,eˆ ).
8. Note that *isk
1
i*,1x
a
t
i*,1cx
))pk(w*,H(B*,eˆ)g,(geˆg)(g,eˆ i*6
btabc
== .
9. Return ζ* = (A*, B*, C*, D*, E*) as the challenged ciphertext to adversary A.
Observe that the challenge ciphertext ζ* is identically distributed as the real one from the
construction. To see this, letting
t
ac
s* = , we have
*r
i*,2
)(pkH
i*,1
*rx)(pkHx
)pk(pk))((gA* i*,25i*,2i*,25i*,1a
1
==
+
*s
i*,1
c
pk)(g)(gB* t
ac
a
i*,1x
t
i*,1x
===
)))pk(w*,H(g,eˆ(H)r||(m)(gH
))g(g,eˆ(H)r||(m)(gH
)g)(g,eˆ(H)r||(m)(gHC*
*s
*wi*,67δ
*r
3
bt
7δ
*r
3
abc
7δ
*r
3
t
ac
⊕′⊕=
⊕′⊕=
⊕′⊕=
*e
1
)pk((B*)D* *u
i*,1
1−
=
E* = u*
Since u* and e* are random, adversary cannot distinguish D* and E* from the real one.
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
195
Phase 2. Adversary A continues to issue queries as in Phase 1, with the restrictions prescribed in
the IND-CPRE-CCA game. Algorithm B responds to these queries for A as in Phase 1.
Guess. Eventually, adversary A returns a guess δ′ ∈ {0, 1} to B. Algorithm B randomly picks a
tuple (U, γ) from the list
7H and outputs U as the solution to the given problem instance.
Analysis. Now let's analyse the simulation. From the constructions of H1, H2, H3, H5 and H6, it
is clear that the simulations of these oracles are perfect. Let *
4AskH be the event that A queried
(A*, B*, C*, D*) to H4 before challenge phase. The simulation of H4 is perfect as long as
*
4AskH did not occur. Since C* is randomly chosen from 10
}1,0{ ll +
by the challenger in the
challenge phase, we have
10
4
ll
H*
4
2
q
]Pr[AskH +
= . Let *
7AskH be the event that abc
g)(g,eˆ has been
queried to H7. The simulation of H7 is perfect as long as *
7AskH did not occur.
B’s responses to A’s uncorrupted/corrupted key generation queries are perfect. Let Abort denote
the event of B’s aborting during the simulation of the re-encryption key queries, condition key
queries or in the challenge phase. We have θ),(1θθ)(1θAbort}Pr[ ckrk qq
−+−≥¬ which is
maximized when each of the two terms are maximized. First term maximizes at
rk
rk
opt1
q1
q
θ
+
=
and the second term maximizes at
ck
ck
opt2
q1
q
θ
+
= . Thus the probability Pr[¬Abort] is at least
)qe(1
1
)qe(1
1
ckrk +
+
+
. Here we assume that probability of a key being uncorrupted is same as θ
in H6 queries and 1−θ if it is a corrupted one.
The simulation of the re-encryption key queries is same as the real one, except for the case (ci =
0 ∧ cj = 0), in which the component (1)
jirk →
is chosen by choosing h randomly, where h is defined
as ah′. If Abort does not happen, this is computationally indistinguishable from the real world
because :
1. Secret key skj is unknown to A since cj ≠ 1.
2. h is encrypted under pkj using the “hashed” ElGamal encryption scheme. So, if A can
distinguish rki → j from jikr →
′ , it means that A can determine (V, W) is an encryption of h
or h′, which breaks the CCA security of the “hashed” ElGamal based on the CDH
assumption.
The re-encryption queries are also perfect, unless A can submit valid original ciphertexts
without querying H2 or H3 or H7 (denote this event by REErr). This is because we issue a
decryption query in the third case of the re-encryption query. We will calculate Pr[REErr]
shortly.
The simulation of the decryption oracle is perfect, with the exception that simulation errors may
occur in rejecting some valid ciphertexts. A can submit valid original ciphertexts without
querying H2 or H3 or H7 (denote this event by DErr). Let Valid be the event that the ciphertext is
valid. Let AskH7, AskH3, and AskH2 be the events abc
g)(g,eˆ has been queried to H7, gr
has been
queried to H3, and (m, r′, w) has been queried to H2 respectively . We have,
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
196
q
1
2
qq
4
qq
]AskHAskHAskH|Pr[Valid]AskH|AskH|AskHPr[Valid
]AskHAskH|AskHPr[Valid]AskH|AskHAskHPr[Valid
]AskH|AskHAskHPr[Valid]AskH|AskHAskHPr[Valid
]AskH|AskHAskHPr[Valid]AskH|AskHAskHPr[Valid
]AskH|Pr[Valid
10
73
10
73
ll
HH
ll
HH
273237
273273
273273
273273
2
+
+
+≤
¬∧¬∧¬+¬¬¬∧+
¬∧¬∧+¬∧∧=
¬¬∧∧+¬∧¬∧+
¬¬∧∧+¬∧∧=
¬
++
Similarly, we have
q
1
2
qq
4
qq
]AskH|Pr[Valid 10
72
10
72
ll
HH
ll
HH
3 +
+
+≤¬ ++
and
q
1
2
qq
4
qq
]AskH|Pr[Valid 10
32
10
22
ll
HH
ll
HH
7 +
+
+≤¬ ++
Thus we have,
q
3
2
qqq
4
qqqqqq
]AskH|Pr[Valid]AskH|Pr[Valid]AskH|Pr[Valid
)]AskHAskHAskH(|Pr[Valid
1ll
HHH
ll
HHHHHH
732
732
10
732
10
277332
+
++
+
++
≤
¬+¬+¬=
¬∨¬∨¬
−++
Let DErr be the event that Valid|(¬ AskH2 ∨ ¬ AskH3 ∨ ¬ AskH7) happens during the entire
simulation. Then since A issues utmost qd decryption oracles, we have
q
3q
2
)qqq(q
4
)qqqqqq(q
Pr[DErr] d
1ll
dHHH
ll
dHHHHHH
10
732
10
277332
+
++
+
++
≤ −++
.
By the definition of REErr as stated above, since A issues utmost qre re-encryption oracles, we
have
q
3q
2
)qqq(q
4
)qqqqqq(q
Pr[REErr] re
1ll
reHHH
ll
reHHHHHH
10
732
10
277332
+
++
+
++
≤ −++
.
Now, let Good denote the event Abort|DErr)REErrAskH(AskH *
4
*
7 ¬∨∨∨ . If Good does not
happen, due to the randomness of the output of the random oracle H7, it is clear that A cannot
gain any advantage greater than 2
1
in guessing δ. Thus we have Pr[δ′ = δ | ¬ Good] = 2
1
. Hence
by splitting Pr[δ′ = δ], we have
Pr[Good]
Good]Good]Pr[|δδPr[δ]δPr[
Pr[Good]
od]Good]Pr[GoPr[
od]Good]Pr[Go|δδPr[Good]Good]Pr[|δδPr[δ]δPr[
2
1
2
1
2
1
2
1
2
1
−=
¬¬=′≥=′
+≤
²
=′+¬¬=′==′
By definition of the advantage for the IND-CPRE-CCA adversary, we then have
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
197
Abort]Pr[
Abort]|DErr)REErrAskHPr[(AskH
Abort]|DErr)REErrAskHPr[(AskH
Pr[Good]
1δ]δPr[2ψε
*
4
*
7
*
4
*
7
¬
¬∨∨∨
=
¬∨∨∨=
≤
−=′×=−
Substituting values which have been computed, we get
q
)q3(q
2
)q)(qqq(q
4
)q)(qqqqqq(q
2
q
)qε(1
ψ
)qε(1
ψ
Pr[DErr]Pr[REErr]]Pr[AskHψ)(εAbort]Pr[]Pr[AskH
dre
1ll
dreHHH
ll
dreHHHHHH
ll
H
ckrk
*
4
*
7
10
732
10
277332
10
4
+
−
+++
−
+++
−−
+
−∈
+
+
−∈
≥
−−−−⋅¬≥
−+
++
If *
7AskH happens, algorithm B will be able to solve mCBDH instance. Therefore we get,
q
)q3(q
2
)q)(qqq(q
4
)q)(qqqqqq(q
2
q
)qε(1
ψ
)qε(1
ψ1
]Pr[
1
dre
1ll
dreHHH
ll
dreHHHHHH
ll
H
ckrk
*
7
10
732
10
277332
10
4
7
7
+
−
+++
−
+++
−−
+
−∈
+
+
−∈
≥
≥′
−+
++
H
H
q
AskH
q
ε
From the description of the simulation, B’s running time can be bounded by
pdreexpdHHdreckrkuc
dreckrkcuHHHHHHH
t)q(qt)))q2q(2q1)(2q(qq6q2q2q(
(1))qqqqqqqqqqqqq(tt
32
7654321
++++++++++
+++++++++++++≤′ O
This completes the proof of Theorem 2.
5. CONCLUSION
In this paper, we proposed a more efficient CCA secure unidirectional C-PRE scheme with less
number of bilinear pairings. The scheme is more elegant when compared to its counterparts. We
have proved the security of the scheme in the random oracle model under appropriate security
definitions. There are still many open problems to be solved, such as designing CCA secure C-
PRE scheme in the standard model, C-PRE in other settings like identity based and
certificateless cryptography.
REFERENCES
[1] Ran Canetti and Susan Hohenberger. Chosen-ciphertext secure proxy re-encryption. In ACM
Conference on Computer and Communications Security 2007, pages 185−194, 2007.
[2] Jun Shao and Zhenfu Cao. CCA-Secure Proxy Re-encryption without Pairings. In Public Key
Cryptography 2009, volume 5443 of LNCS, pages 357−376, 2009.
[3] G. Ateniese, K. Fu, M. Green, and S. Hohenberger. Improved proxy re-encryption schemes with
applications to secure distributed storage. In Internet Society (ISOC): NDSS 2005, pages 29−43,
2005.
[4] H. Khurana and R. Koleva. Scalable security and accounting services for content-based publish
subscribe systems. International Journal of E-Business Research, 2006.
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
198
[5] G. Ateniese, K. Fu, M. Green, and S. Hohenberger. Improved proxy re-encryption schemes with
applications to secure distributed storage. ACM Transactions on Information and System Security
(TISSEC), pages 1−30, 2006.
[6] Jean-Sebastien Coron. On the Exact Security of Full Domain Hash. In CRYPTO, volume 1880 of
LNCS, pages 229−235, 2000.
[7] T.S. Heydt-Benjamin, H. Chae, B. Defend, and K. Fu. Privacy for public transportation. In PET
2006, volume 4258 of LNCS, pages 1−19, 2005.
[8] Cheng-Kang Chu, Jian Weng, Sherman S. M. Chow, Jianying Zhou, and Robert H. Deng.
Conditional Proxy Broadcast Re-Encryption. In ACISP 2009, volume 5594 of LNCS, pages
327−342, 2009.
[9] Matt Blaze, Gerrit Bleumer, and Martin Strauss. Divertible protocols and atomic proxy
cryptography. In EUROCRYPT 1988, volume 1403 of LNCS, pages 127−144, 1998.
[10] Claus-Peter Schnorr. Efficient Identification and Signatures for Smart Cards. In CRYPTO 1989,
volume 435 of LNCS, pages 239−252, 1989.
[11] A. Talmy and O. Dobzinski. Abuse freedom in access control schemes. In AINA 2006, pages
77−86, 2006.
[12] Jian Weng, Sherman S.M. Chow, Yanjiang Yang, and Robert H. Deng. Efficient Unidirectional
Proxy Re-Encryption. Cryptology ePrint Archive, Report 2009/189 (2009) http://eprint.iacr.org/.
[13] A. Ivan and Y. Dodis. Proxy cryptography revisited. In Internet Society (ISOC): NDSS 2003,
2003.
[14] Jian Weng, Robert H. Deng, Xuhua Ding, Cheng-Kang Chu, and Junzuo Lai. Conditional proxy
re-encryption secure against chosen-ciphertext attack. In ASIACCS, pages 322−332, 2009.
[15] Masahiro Mambo and Eiji Okamoto. Proxy Cryptosystems: Delegation of the Power to Decrypt
Ciphertexts. IEICE Trans. Fund. Elect. Communications and CS, E80-A/1:54−63, 1997.
[16] S. Hohenberger, G.N. Rothblum, A. Shelat, and V. Vaikuntanathan. Securely obfuscating re-
encryption. In TCC 2007, volume 4392 of LNCS, pages 233−252, 2007.
[17] Jian Weng, Yanjiang Yang, Qiang Tang, Robert H. Deng, and Feng Bao. Efficient Conditional
Proxy Re-encryption with Chosen-Ciphertext Security. In ISC 2009, volume 5735 of LNCS, pages
151−166, 2009.
[18] Matthew Green and Giuseppe Ateniese. Identity-Based Proxy Re-encryption. In ACNS 2007,
volume 4521 of LNCS, pages 288−306, 2007.
[19] Y-P. Chiu, C-L. Lei, and C-Y. Huang. Secure multicast using proxy encryption. In ICICS 2005,
volume 3783 of LNCS, pages 280−290, 2005.
[20] H. Khurana and H-S. Hahm. Certified mailing lists. In ASIACCS 2006, pages 46−58, 2006.
[21] G. Taban, A.A. C'ardenas, and V.D. Gligor. Towards a secure and interoperable drm architecture.
In ACM DRM 2006, pages 69−78, 2006.
[22] Smith. Tony. Dvd jon: buy drm-less tracks from apple itunes. 2005.
http://www.theregister.co.uk/2005/03/18/itunes pymusique.
[23] H. Khurana, A. Slagell, and R. Bonilla. Sels: A secure e-mail list service. In ACM SAC 2005,
pages 306−313, 2005.
Authors
S.Sree Vivek
He is currently a PhD scholar in the Department of Computer Science and
Engineering, of IIT Madras. His research focuses on Provably Secure Public
Key Cryptosystems.
S.Sharmila Deva Selvi
She is currently a PhD scholar in the Department of Computer Science and
Engineering, of IIT Madras. Her research focuses on Provably Secure Public
Key Cryptosystems.
International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012
199
V. Radhakishan
He is currently pursuing a Bachelor of Technology in the Department of
Computer Science and Engineering, of National Institute of Technology,
Tiruchirappalli. His research interests include 1) Public key cryptography 2)
Randomized Algorithms and 3) Graph theory.
C. Pandu Rangan
He is currently a Professor in the Department of Computer Science and
Engineering of IIT Madras. His research focuses on the design of pragmatic
algorithms. His research interests include 1) Restricting the problem domain 2)
Approximate algorithm design 3) Randomized algorithms 4)Parallel and VLSI
algorithms and 5) Cryptography Applications. He is also a Fellow of Indian
National Academy of Engineering (FNAE).

More Related Content

What's hot

LITTLE DRAGON TWO: AN EFFICIENT MULTIVARIATE PUBLIC KEY CRYPTOSYSTEM
LITTLE DRAGON TWO: AN EFFICIENT MULTIVARIATE PUBLIC KEY CRYPTOSYSTEMLITTLE DRAGON TWO: AN EFFICIENT MULTIVARIATE PUBLIC KEY CRYPTOSYSTEM
LITTLE DRAGON TWO: AN EFFICIENT MULTIVARIATE PUBLIC KEY CRYPTOSYSTEMIJNSA Journal
 
Full Communication in a Wireless Sensor Network by Merging Blocks of a Key Pr...
Full Communication in a Wireless Sensor Network by Merging Blocks of a Key Pr...Full Communication in a Wireless Sensor Network by Merging Blocks of a Key Pr...
Full Communication in a Wireless Sensor Network by Merging Blocks of a Key Pr...cscpconf
 
A New Security Level for Elliptic Curve Cryptosystem Using Cellular Automata ...
A New Security Level for Elliptic Curve Cryptosystem Using Cellular Automata ...A New Security Level for Elliptic Curve Cryptosystem Using Cellular Automata ...
A New Security Level for Elliptic Curve Cryptosystem Using Cellular Automata ...Editor IJCATR
 
Using NP Problems to Share Keys in Secret-Key Cryptography
Using NP Problems to Share Keys in Secret-Key CryptographyUsing NP Problems to Share Keys in Secret-Key Cryptography
Using NP Problems to Share Keys in Secret-Key Cryptographyiosrjce
 
Analysis of rsa algorithm using gpu
Analysis of rsa algorithm using gpuAnalysis of rsa algorithm using gpu
Analysis of rsa algorithm using gpuIJNSA Journal
 
Secrecy and Authenticity Properties of the Lightning Network Protocol
Secrecy and Authenticity Properties of the Lightning Network ProtocolSecrecy and Authenticity Properties of the Lightning Network Protocol
Secrecy and Authenticity Properties of the Lightning Network ProtocolHans Hyttel
 
A Novel Method for Preventing Selective Jamming Attacks in Wireless Networks
A Novel Method for Preventing Selective Jamming Attacks in Wireless NetworksA Novel Method for Preventing Selective Jamming Attacks in Wireless Networks
A Novel Method for Preventing Selective Jamming Attacks in Wireless NetworksIJMER
 
Senior Research Final Draft3
Senior Research Final Draft3Senior Research Final Draft3
Senior Research Final Draft3Coleman Gorham
 
WEAKNESS ON CRYPTOGRAPHIC SCHEMES BASED ON REGULAR LDPC CODES
WEAKNESS ON CRYPTOGRAPHIC SCHEMES BASED ON REGULAR LDPC CODESWEAKNESS ON CRYPTOGRAPHIC SCHEMES BASED ON REGULAR LDPC CODES
WEAKNESS ON CRYPTOGRAPHIC SCHEMES BASED ON REGULAR LDPC CODESIJNSA Journal
 
A NEW KEY ESTABLISHMENT SCHEME FOR WIRELESS SENSOR NETWORKS
A NEW KEY ESTABLISHMENT SCHEME FOR WIRELESS SENSOR NETWORKSA NEW KEY ESTABLISHMENT SCHEME FOR WIRELESS SENSOR NETWORKS
A NEW KEY ESTABLISHMENT SCHEME FOR WIRELESS SENSOR NETWORKSIJNSA Journal
 
Criptography approach using magnets
Criptography approach using magnetsCriptography approach using magnets
Criptography approach using magnetssnv09
 
DOCS ON NETWORK SECURITY
DOCS ON NETWORK SECURITYDOCS ON NETWORK SECURITY
DOCS ON NETWORK SECURITYTuhin_Das
 
Generate an Encryption Key by using Biometric Cryptosystems to secure transfe...
Generate an Encryption Key by using Biometric Cryptosystems to secure transfe...Generate an Encryption Key by using Biometric Cryptosystems to secure transfe...
Generate an Encryption Key by using Biometric Cryptosystems to secure transfe...IOSR Journals
 
A comparative analysis of the possible attacks on rsa cryptosystem
A comparative analysis of the possible attacks on rsa cryptosystemA comparative analysis of the possible attacks on rsa cryptosystem
A comparative analysis of the possible attacks on rsa cryptosystemIAEME Publication
 
Elliptic Curve based Authenticated Session Key Establishment Protocol for Hig...
Elliptic Curve based Authenticated Session Key Establishment Protocol for Hig...Elliptic Curve based Authenticated Session Key Establishment Protocol for Hig...
Elliptic Curve based Authenticated Session Key Establishment Protocol for Hig...IJNSA Journal
 
Design and implementation of network security using genetic algorithm
Design and implementation of network security using genetic algorithmDesign and implementation of network security using genetic algorithm
Design and implementation of network security using genetic algorithmeSAT Publishing House
 

What's hot (16)

LITTLE DRAGON TWO: AN EFFICIENT MULTIVARIATE PUBLIC KEY CRYPTOSYSTEM
LITTLE DRAGON TWO: AN EFFICIENT MULTIVARIATE PUBLIC KEY CRYPTOSYSTEMLITTLE DRAGON TWO: AN EFFICIENT MULTIVARIATE PUBLIC KEY CRYPTOSYSTEM
LITTLE DRAGON TWO: AN EFFICIENT MULTIVARIATE PUBLIC KEY CRYPTOSYSTEM
 
Full Communication in a Wireless Sensor Network by Merging Blocks of a Key Pr...
Full Communication in a Wireless Sensor Network by Merging Blocks of a Key Pr...Full Communication in a Wireless Sensor Network by Merging Blocks of a Key Pr...
Full Communication in a Wireless Sensor Network by Merging Blocks of a Key Pr...
 
A New Security Level for Elliptic Curve Cryptosystem Using Cellular Automata ...
A New Security Level for Elliptic Curve Cryptosystem Using Cellular Automata ...A New Security Level for Elliptic Curve Cryptosystem Using Cellular Automata ...
A New Security Level for Elliptic Curve Cryptosystem Using Cellular Automata ...
 
Using NP Problems to Share Keys in Secret-Key Cryptography
Using NP Problems to Share Keys in Secret-Key CryptographyUsing NP Problems to Share Keys in Secret-Key Cryptography
Using NP Problems to Share Keys in Secret-Key Cryptography
 
Analysis of rsa algorithm using gpu
Analysis of rsa algorithm using gpuAnalysis of rsa algorithm using gpu
Analysis of rsa algorithm using gpu
 
Secrecy and Authenticity Properties of the Lightning Network Protocol
Secrecy and Authenticity Properties of the Lightning Network ProtocolSecrecy and Authenticity Properties of the Lightning Network Protocol
Secrecy and Authenticity Properties of the Lightning Network Protocol
 
A Novel Method for Preventing Selective Jamming Attacks in Wireless Networks
A Novel Method for Preventing Selective Jamming Attacks in Wireless NetworksA Novel Method for Preventing Selective Jamming Attacks in Wireless Networks
A Novel Method for Preventing Selective Jamming Attacks in Wireless Networks
 
Senior Research Final Draft3
Senior Research Final Draft3Senior Research Final Draft3
Senior Research Final Draft3
 
WEAKNESS ON CRYPTOGRAPHIC SCHEMES BASED ON REGULAR LDPC CODES
WEAKNESS ON CRYPTOGRAPHIC SCHEMES BASED ON REGULAR LDPC CODESWEAKNESS ON CRYPTOGRAPHIC SCHEMES BASED ON REGULAR LDPC CODES
WEAKNESS ON CRYPTOGRAPHIC SCHEMES BASED ON REGULAR LDPC CODES
 
A NEW KEY ESTABLISHMENT SCHEME FOR WIRELESS SENSOR NETWORKS
A NEW KEY ESTABLISHMENT SCHEME FOR WIRELESS SENSOR NETWORKSA NEW KEY ESTABLISHMENT SCHEME FOR WIRELESS SENSOR NETWORKS
A NEW KEY ESTABLISHMENT SCHEME FOR WIRELESS SENSOR NETWORKS
 
Criptography approach using magnets
Criptography approach using magnetsCriptography approach using magnets
Criptography approach using magnets
 
DOCS ON NETWORK SECURITY
DOCS ON NETWORK SECURITYDOCS ON NETWORK SECURITY
DOCS ON NETWORK SECURITY
 
Generate an Encryption Key by using Biometric Cryptosystems to secure transfe...
Generate an Encryption Key by using Biometric Cryptosystems to secure transfe...Generate an Encryption Key by using Biometric Cryptosystems to secure transfe...
Generate an Encryption Key by using Biometric Cryptosystems to secure transfe...
 
A comparative analysis of the possible attacks on rsa cryptosystem
A comparative analysis of the possible attacks on rsa cryptosystemA comparative analysis of the possible attacks on rsa cryptosystem
A comparative analysis of the possible attacks on rsa cryptosystem
 
Elliptic Curve based Authenticated Session Key Establishment Protocol for Hig...
Elliptic Curve based Authenticated Session Key Establishment Protocol for Hig...Elliptic Curve based Authenticated Session Key Establishment Protocol for Hig...
Elliptic Curve based Authenticated Session Key Establishment Protocol for Hig...
 
Design and implementation of network security using genetic algorithm
Design and implementation of network security using genetic algorithmDesign and implementation of network security using genetic algorithm
Design and implementation of network security using genetic algorithm
 

Similar to EFFICIENT CONDITIONAL PROXY REENCRYPTION WITH CHOSEN CIPHER TEXT SECURITY

Vtu network security(10 ec832) unit 3 notes.
Vtu network security(10 ec832) unit 3 notes.Vtu network security(10 ec832) unit 3 notes.
Vtu network security(10 ec832) unit 3 notes.Jayanth Dwijesh H P
 
Identity-Based Blind Signature Scheme with Message Recovery
Identity-Based Blind Signature Scheme with Message Recovery Identity-Based Blind Signature Scheme with Message Recovery
Identity-Based Blind Signature Scheme with Message Recovery IJECEIAES
 
REU Group 2 - Paper
REU Group 2 - PaperREU Group 2 - Paper
REU Group 2 - PaperScott Payne
 
Analysis of Searchable Encryption
Analysis of Searchable EncryptionAnalysis of Searchable Encryption
Analysis of Searchable EncryptionNagendra Posani
 
A NOVEL SECURE COSINE SIMILARITY COMPUTATION SCHEME WITH MALICIOUS ADVERSARIES
A NOVEL SECURE COSINE SIMILARITY COMPUTATION SCHEME WITH MALICIOUS ADVERSARIESA NOVEL SECURE COSINE SIMILARITY COMPUTATION SCHEME WITH MALICIOUS ADVERSARIES
A NOVEL SECURE COSINE SIMILARITY COMPUTATION SCHEME WITH MALICIOUS ADVERSARIESIJNSA Journal
 
Elgamal signature for content distribution with network coding
Elgamal signature for content distribution with network codingElgamal signature for content distribution with network coding
Elgamal signature for content distribution with network codingijwmn
 
Ciphertext policy Attribute based Encryption with anonymous access policy
Ciphertext policy Attribute based Encryption with anonymous access policyCiphertext policy Attribute based Encryption with anonymous access policy
Ciphertext policy Attribute based Encryption with anonymous access policyijp2p
 
Ciphertext Policy Attribute Based Encryption with Anonymous Access Policy
Ciphertext Policy Attribute Based Encryption with Anonymous Access Policy  Ciphertext Policy Attribute Based Encryption with Anonymous Access Policy
Ciphertext Policy Attribute Based Encryption with Anonymous Access Policy ijp2p
 
Ciphertext policy Attribute based Encryption with anonymous access policy
Ciphertext policy Attribute based Encryption with anonymous access policy Ciphertext policy Attribute based Encryption with anonymous access policy
Ciphertext policy Attribute based Encryption with anonymous access policy ijp2p
 
An Effective Privacy-Preserving Data Coding in Peer-To-Peer Network
An Effective Privacy-Preserving Data Coding in Peer-To-Peer NetworkAn Effective Privacy-Preserving Data Coding in Peer-To-Peer Network
An Effective Privacy-Preserving Data Coding in Peer-To-Peer NetworkIJCNCJournal
 
A survey on Fully Homomorphic Encryption
A survey on Fully Homomorphic EncryptionA survey on Fully Homomorphic Encryption
A survey on Fully Homomorphic Encryptioniosrjce
 
On the Construction of Perfect Keyword Secure PEKS Scheme
On the Construction of Perfect Keyword Secure PEKS SchemeOn the Construction of Perfect Keyword Secure PEKS Scheme
On the Construction of Perfect Keyword Secure PEKS SchemeIJCI JOURNAL
 
Protection of Secret Textual Data Using Steganography Based System
Protection of Secret Textual Data Using Steganography Based SystemProtection of Secret Textual Data Using Steganography Based System
Protection of Secret Textual Data Using Steganography Based SystemIRJET Journal
 
“Proposed Model for Network Security Issues Using Elliptical Curve Cryptography”
“Proposed Model for Network Security Issues Using Elliptical Curve Cryptography”“Proposed Model for Network Security Issues Using Elliptical Curve Cryptography”
“Proposed Model for Network Security Issues Using Elliptical Curve Cryptography”IOSR Journals
 
IRJET- Secure Data on Multi-Cloud using Homomorphic Encryption
IRJET- Secure Data on Multi-Cloud using Homomorphic EncryptionIRJET- Secure Data on Multi-Cloud using Homomorphic Encryption
IRJET- Secure Data on Multi-Cloud using Homomorphic EncryptionIRJET Journal
 
Hungarian-Puzzled Text with Dynamic Quadratic Embedding Steganography
Hungarian-Puzzled Text with Dynamic Quadratic Embedding SteganographyHungarian-Puzzled Text with Dynamic Quadratic Embedding Steganography
Hungarian-Puzzled Text with Dynamic Quadratic Embedding SteganographyIJECEIAES
 

Similar to EFFICIENT CONDITIONAL PROXY REENCRYPTION WITH CHOSEN CIPHER TEXT SECURITY (20)

5215ijcis01
5215ijcis015215ijcis01
5215ijcis01
 
Vtu network security(10 ec832) unit 3 notes.
Vtu network security(10 ec832) unit 3 notes.Vtu network security(10 ec832) unit 3 notes.
Vtu network security(10 ec832) unit 3 notes.
 
Identity-Based Blind Signature Scheme with Message Recovery
Identity-Based Blind Signature Scheme with Message Recovery Identity-Based Blind Signature Scheme with Message Recovery
Identity-Based Blind Signature Scheme with Message Recovery
 
REU Group 2 - Paper
REU Group 2 - PaperREU Group 2 - Paper
REU Group 2 - Paper
 
Analysis of Searchable Encryption
Analysis of Searchable EncryptionAnalysis of Searchable Encryption
Analysis of Searchable Encryption
 
A NOVEL SECURE COSINE SIMILARITY COMPUTATION SCHEME WITH MALICIOUS ADVERSARIES
A NOVEL SECURE COSINE SIMILARITY COMPUTATION SCHEME WITH MALICIOUS ADVERSARIESA NOVEL SECURE COSINE SIMILARITY COMPUTATION SCHEME WITH MALICIOUS ADVERSARIES
A NOVEL SECURE COSINE SIMILARITY COMPUTATION SCHEME WITH MALICIOUS ADVERSARIES
 
Elgamal signature for content distribution with network coding
Elgamal signature for content distribution with network codingElgamal signature for content distribution with network coding
Elgamal signature for content distribution with network coding
 
Ciphertext policy Attribute based Encryption with anonymous access policy
Ciphertext policy Attribute based Encryption with anonymous access policyCiphertext policy Attribute based Encryption with anonymous access policy
Ciphertext policy Attribute based Encryption with anonymous access policy
 
Ciphertext Policy Attribute Based Encryption with Anonymous Access Policy
Ciphertext Policy Attribute Based Encryption with Anonymous Access Policy  Ciphertext Policy Attribute Based Encryption with Anonymous Access Policy
Ciphertext Policy Attribute Based Encryption with Anonymous Access Policy
 
Ciphertext policy Attribute based Encryption with anonymous access policy
Ciphertext policy Attribute based Encryption with anonymous access policy Ciphertext policy Attribute based Encryption with anonymous access policy
Ciphertext policy Attribute based Encryption with anonymous access policy
 
An Effective Privacy-Preserving Data Coding in Peer-To-Peer Network
An Effective Privacy-Preserving Data Coding in Peer-To-Peer NetworkAn Effective Privacy-Preserving Data Coding in Peer-To-Peer Network
An Effective Privacy-Preserving Data Coding in Peer-To-Peer Network
 
A survey on Fully Homomorphic Encryption
A survey on Fully Homomorphic EncryptionA survey on Fully Homomorphic Encryption
A survey on Fully Homomorphic Encryption
 
B017631014
B017631014B017631014
B017631014
 
On the Construction of Perfect Keyword Secure PEKS Scheme
On the Construction of Perfect Keyword Secure PEKS SchemeOn the Construction of Perfect Keyword Secure PEKS Scheme
On the Construction of Perfect Keyword Secure PEKS Scheme
 
Protection of Secret Textual Data Using Steganography Based System
Protection of Secret Textual Data Using Steganography Based SystemProtection of Secret Textual Data Using Steganography Based System
Protection of Secret Textual Data Using Steganography Based System
 
C0281010016
C0281010016C0281010016
C0281010016
 
DATA INTEGRITY AUDITING WITHOUT PRIVATE KEY STORAGE FOR SECURE CLOUD STORAGE
DATA INTEGRITY AUDITING WITHOUT PRIVATE KEY STORAGE  FOR SECURE CLOUD STORAGEDATA INTEGRITY AUDITING WITHOUT PRIVATE KEY STORAGE  FOR SECURE CLOUD STORAGE
DATA INTEGRITY AUDITING WITHOUT PRIVATE KEY STORAGE FOR SECURE CLOUD STORAGE
 
“Proposed Model for Network Security Issues Using Elliptical Curve Cryptography”
“Proposed Model for Network Security Issues Using Elliptical Curve Cryptography”“Proposed Model for Network Security Issues Using Elliptical Curve Cryptography”
“Proposed Model for Network Security Issues Using Elliptical Curve Cryptography”
 
IRJET- Secure Data on Multi-Cloud using Homomorphic Encryption
IRJET- Secure Data on Multi-Cloud using Homomorphic EncryptionIRJET- Secure Data on Multi-Cloud using Homomorphic Encryption
IRJET- Secure Data on Multi-Cloud using Homomorphic Encryption
 
Hungarian-Puzzled Text with Dynamic Quadratic Embedding Steganography
Hungarian-Puzzled Text with Dynamic Quadratic Embedding SteganographyHungarian-Puzzled Text with Dynamic Quadratic Embedding Steganography
Hungarian-Puzzled Text with Dynamic Quadratic Embedding Steganography
 

Recently uploaded

Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 

Recently uploaded (20)

Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 

EFFICIENT CONDITIONAL PROXY REENCRYPTION WITH CHOSEN CIPHER TEXT SECURITY

  • 1. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 DOI : 10.5121/ijnsa.2012.4214 179 EFFICIENT CONDITIONAL PROXY RE- ENCRYPTION WITH CHOSEN CIPHER TEXT SECURITY S. Sree Vivek1 , S. Sharmila Deva Selvi1 , V. Radhakishan2 , C. Pandu Rangan1 1 Department of Computer Science and Engineering, Indian Institute of Technology Madras svivek@cse.iitm.ac.in, sharmila@cse.iitm.ac.in, prangan@iitm.ac.in 2 National Institute of Technology Trichy, India vrkishan@gmail.com ABSTRACT In a proxy re-encryption (PRE) scheme, Alice gives a special information to a proxy that allows it to transform messages encrypted under Alice's public key into a encryption under Bob's public key such that the message is not revealed to the proxy. In [14], Jian Weng and others introduced the notion of conditional proxy re-encryption (C-PRE) with bilinear pairings. Later, a break for the same was published in [17] and a new C-PRE scheme with bilinear pairings was introduced. In C-PRE, the proxy also needs to have the right condition key to transform the ciphertext (associated with a condition set by Alice) under Alice's public key into ciphertext under Bob's public key, so that Bob can decrypt it. In this paper, we propose an efficient C-PRE scheme which uses substantially less number of bilinear pairings when compared to the existing one [17]. We then prove its chosen-ciphertext security under modified Computational Diffie-Hellman (mCDH) and modified Computational Bilinear Diffie-Hellman (mCBDH) assumptions in the random oracle model. KEYWORDS Random Oracle Model, Proxy Re-Cryptography, Conditional Proxy Re-encryption, Chosen Ciphertext Security. 1. INTRODUCTION Encryption is used as a building block of any application requiring confidentiality. Let pki and pkj be two independent public keys. As pointed out by Mambo and Okamato in [15], it is a common situation in practice where a data encrypted under pki is required to be encrypted under pkj (j ≠ i). When the holder of ski is online, Ei(m) is decrypted using ski and then message m is encrypted under pkj giving Ej(m). But in many applications like encrypted mail forwarding, secure distributed file systems, and outsourced filtering of encrypted spam, when the holder of ski is not online, this has to be done by an untrusted party. In 1998 Blaze, Bleumar, and Strauss [9] introduced the concept of proxy re-encryption (PRE). A re-encryption key (rki,j) is given to a potentially untrusted proxy so that the proxy can transform a message m encrypted under public key pki into an encryption of the same message m under a different public key pkj without knowing the message. A PRE scheme can be of two types - unidirectional and bidirectional. The former is a scheme in which a re-encryption key (rki → j) can be used to transform from pki to pkj but not vice versa and the latter is a scheme in which the same re-encryption key (rki ↔ j) can be used to transform from pki to pkj and vice versa. The re-encryption algorithm can be of two types - single hop, in which the re-encrypted ciphertext cannot be further re-encrypted and multi hop, in which the re-encrypted ciphertext can be further re-encrypted.
  • 2. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 180 PRE can be used in many applications, including simplification of key distribution [9], key escrow [13], multicast [19], distributed file systems [3, 5], security in publish/subscribe systems [4], secure certified email mailing lists [20, 23], the DRM of Apple's iTunes [22], interoperable architecture of DRM [21], access control [11], and privacy for public transportation [7]. Hohenberger and others published a result of securely obfuscating re-encryption [16], which is the first positive result for obfuscating an encryption functionality. Shao and Cao have proposed a unidirectional PRE scheme without pairing [2]. Matthew Green and Giuseppe Ateniese have proposed a PRE scheme for ID-based cryptosystems [18]. Ran Canetti and Susan Hohenberger proposed a definition of security against chosen-ciphertext attacks for PRE schemes and presented a scheme that satisfied the definition [1]. In 2009, Jian Weng and others [14] introduced the concept of C-PRE, whereby Alice has a fine-grained control over the delegation. As a result, Alice can flexibly assign Bob the decryption capability based on the conditions attached to the messages using a proxy. For example, suppose Alice is on a vacation. She can make Bob to read only those messages which have the keyword “urgent” in their subject. This flexible delegation is obviously not possible with PRE schemes. In this paper, two separate keys are used - a partial re-encryption key and a condition key. The message can be delegated by the proxy only if both the keys are known. Later in 2009, Jian Weng and others published a break of the scheme in [14] and gave a new scheme for C-PRE [17], which combines the re-encryption key and the condition key into a single key, which is then used for re-encryption. Also Cheng-Kang Chu and others in [8] introduced a generalized version of C-PRE named conditional proxy broadcast re-encryption (CPBRE), in which the proxy can re-encrypt the ciphertexts for a set of users at a time. In this paper, we propose an efficient C-PRE scheme (single-hop and unidirectional) which uses significantly less number of bilinear pairings when compared to the existing schemes in [14] and [17]. Our scheme, as in [14], uses two separate keys for re-encryption. 1.1. Our Results Let us briefly describe a C-PRE scheme. A C-PRE scheme involves a delegator (say user Ui), a delegatee (say user Uj) and a proxy. A message sent to Ui with condition w is encrypted by the sender using both Ui’s public key and w. To re-encrypt the message to Uj, the proxy is given the re-encryption key (rki → j) and the condition key (cki,w) corresponding to w. Both the keys can be generated only by Ui. These two keys form the secret trapdoor to be used by the proxy to perform translation. Proxy will not be able to re-encrypt cipher texts for which the right condition key is not available. Thus Ui can flexibly assign Uj the decryption rights by setting condition keys properly. The scheme works in practice as follows: the message encrypted for Ui is first handled by proxy and under appropriate conditions the proxy transforms the ciphertext into a ciphertext for Uj. However, proxy will obtain no information about the original message. While it is some what easier to design a PRE without pairing, designing C-PRE requires pairing based operations crucially. We have used a few constructions from [12] which drastically reduces the number of bilinear pairings. Table 1 compares the number of bilinear pairings and exponentiations between the scheme in [17] and our scheme. Table 1. Computational Complexity Comparison Algorithm Scheme in [17] Our Scheme BP EXP BP EXP Encryption case 1 1 4 0 0 Encryption case 2 1 3 1 6 Re-Encryption 3 4 1 3 Decryption case 1 3 3 1 4 Decryption case 2 1 1 0 6 Total 9 15 3 19 BP − Bilinear Pairings, EXP − Exponentiations.
  • 3. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 181 Encryption case 1 refers to the encryption without the condition. Encryption case 2 refers to the encryption with the condition. Decryption case 1 refers to the decryption of the re-encrypted ciphertext (first level ciphertext) and Decryption case 2 refers to the decryption of the encrypted ciphertext (second level ciphertext). Although the number of exponentiations in our scheme is slightly more, it is insignificant when compared to the reduction in number of bilinear pairings. Thus, our scheme is more efficient than the existing one. We then formally prove the security of our scheme. We have slightly modified the security model in [14], as discussed in Section 3. The C-PRE scheme in [14] has a break as given in [17]. Scheme in [17] has combined the two keys into a single key. Having the keys separate has an advantage. The delegation power of the proxy can be controlled. One of the two keys can be given to the proxy for partial re-encryption and the other key can be given to a third party for full re-encryption. Since the scheme in [14] has a break, our scheme is the only existing scheme having this unique property. 2. PRELIMINARIES Bilinear Groups and Bilinear Pairings: Let G and GT be two cyclic multiplicative groups with the same prime order q. A bilinear pairing is a map e : G × G → GT with the following properties. − Bilinearity: We have G∈∀= 21 ab 21 b 2 a 1 g,g)g,(geˆ)g,(geˆ and * qba, Z∈∀ ; − Non-degeneracy: There exist g1, g2 ∈ G such that 1)g,(geˆ 21 ≠ ; − Computability: There exists an efficient algorithm to compute G∈∀ 2121 g,g)g,(geˆ . Modified Computational Diffie-Hellman Problem: Let G be a cyclic multiplicative group with a prime order q. Let g be the generator of G, The mCDH problem in G is as follows: Given )g,g,g(g, baa 1 for some a, b ∈ * qZ , compute W = gab ∈ G. An algorithm A has an advantage ε in solving mCDH in G if εg)g,g,g(g,Pr abbaa 1 ≥     =A where the probability is over the random choice of a, b ∈ * qZ , the random choice of g ∈ G and the random bits of A. Modified Computational Bilinear Diffie-Hellman Problem: Let G and GT be two cyclic multiplicative groups with the same prime order q. Let e : G × G → GT be an admissible bilinear map and let g be the generator of G. The mCBDH problem in (G, GT, e) is as follows: Given )g,g,g,g(g, cbaa 1 for some a, b, c ∈ * qZ , compute W = abc g)(g,eˆ ∈ GT. An algorithm A has an advantage ∈ in solving mCBDH in (G, GT, e) if [ ] εg)(g,eˆ)g,g,g,g(g,Pr abccbaa 1 ≥=A where the probability is over the random choice of a, b, c ∈ * qZ , the random choice of g ∈ G and the random bits of A. 3. MODEL OF CONDITIONAL PROXY RE-ENCRYPTION We give the definitions and security notions for C-PRE systems in this section. 3.1. Definition of C-PRE systems A unidirectional C-PRE scheme consists of seven algorithms which are described as follows:
  • 4. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 182 Global Setup (λ): The global setup algorithm takes a security parameter λ as input and outputs the global parameters param. The parameters in param are implicitly given as input to the following algorithms. KeyGen (i): The key generation algorithm takes the user index i as input and generates a public key(pki) and a secret key(ski) for user Ui. ReKeyGen (ski, pkj): The partial re-encryption key generation algorithm takes a secret key ski and another public key pkj as input and outputs the partial re-encryption key rki → j. This algorithm is run by Ui. Here skj is not taken as input which indeed makes the scheme unidirectional. CKeyGen (ski, w): The condition key generation algorithm takes a secret key ski and a condition w as input and outputs the condition key cki, w. This algorithm is run by Ui. Encrypt (pk, m, w): The encryption algorithm takes a public key pk, a message m and a condition w as input and outputs the ciphertext ζ associated with w under pk. Here m ∈ M where M denotes the message space. ReEncrypt (rki → j, cki, w,ζi): The re-encryption algorithm takes a partial re-encryption key rki → j, a condition key cki, w associated with condition w and a ciphertext ζi under the public key pki as input and outputs the re-encrypted ciphertext ζj under the public key pkj. This algorithm is run by the proxy. Decrypt (sk, ζ): The decryption algorithm takes a secret key sk and a ciphertext ζ as input and outputs either a message m ∈ M or the error symbol ⊥. Correctness: For any m ∈ M, any condition w, any (pki, ski) ← KeyGen (i), (pkj, skj) ← KeyGen (j), and ζi = Encrypt (pki, m, w), Pr [Decrypt(ski, ζi) = m] = 1, and Pr [Decrypt(skj, ReEncrypt (rki, j, cki, w, ζi)) = m] = 1. while for any other condition w′ and user j′ with w′ ≠ w and j′ ≠ j, we have Pr [Decrypt(skj, ReEncrypt (rki, j, cki, w′, ζi)) = ⊥] = 1−neg(λ) Pr [Decrypt(skj, ReEncrypt (rki, j′, cki, w, ζi)) = ⊥] = 1−neg(λ). 3.2 Security Notions The following game between an adversary A and a challenger C is used to define the semantic security of our C-PRE scheme against chosen ciphertext attacks. Setup. C takes a security parameter λ and runs the algorithm GlobalSetup(λ) and gives the resulting global parameters param to A. Phase 1. A adaptively issues queries q1, …, qm where qi is one of the following: − Uncorrupted key generation query: C first runs algorithm KeyGen (i) to obtain the public/secret key pair (pki, ski), and then gives pki to A. − Corrupted key generation query: C first runs algorithm KeyGen (j) to obtain the public/secret key pair (pkj, skj), and then gives (pkj, skj) to A. − Partial re-encryption key generation query (pki, pkj): C runs the algorithm ReKeyGen(ski, pkj) and returns the generated re-encryption key rki → j to A. Here ski is the secret key corresponding to pki. − Condition key generation query (pki, w): C runs the algorithm CKeyGen(ski, w) and returns the generated condition key cki, w to A.
  • 5. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 183 − Re-encryption query (pki, pkj, w, ζi): C runs the algorithm ReEncrypt(ReKeyGen(ski, pkj), CKeyGen(ski, w), ζi) and returns the generated ciphertext ζj to A. − Decryption query (pk, w, ζ) or (pk, ζ): C runs the algorithm Decrypt(sk, ζ) and returns its result to A. Here (pk, w, ζ) and (pk, ζ) are queries on original ciphertexts and re-encrypted ciphertexts respectively. For the last four queries it is required that pk, pki and pkj are generated beforehand by the KeyGen algorithm. Challenge. Once A decides Phase 1 is over, it outputs a target public key pki*, a target condition w* and two equal-length plaintexts m0, m1 ∈ M. C flips a random coin δ ∈ {0, 1}, and sets the challenge ciphertext to be ζ* = Encrypt(pki*, mδ, w* ), which is sent to A. Phase 2: A adaptively issues queries as in Phase 1, and C answers them as before. Guess: Finally, A outputs a guess δ′ ∈ {0, 1} and wins the game if δ′ = δ. Adversary A is subject to the following restrictions during the above game. 1. A cannot issue corrupted key generation queries on i* to obtain the target secret key ski*. 2. A can issue decryption queries on neither (pki*, w* , ζ* ) nor (pkj, ReEncrypt(rki* → j, cki*,w*, ζ* )). 3. A cannot issue re-encryption queries on (pki*, pkj, w* , ζ* ) if pkj appears in a previous corrupted key generation query. 4. A cannot obtain the partial re-encryption key rki* → j if pkj appears in a previous corrupted key generation query. We refer to the above adversary A as an IND-CPRE-CCA adversary. A’s advantage in attacking our CPRE scheme is defined as [ ] ,1/2δδPrAdv CCACPREIND PRE,C −=′=−− − A where the probability is taken over the random coins consumed by the adversary and the challenger. As in [14], we also distinguish between two types of IND-CPRE-CCA adversaries as follows: − Type I IND-CPRE-CCA adversary: In the game, adversary A does not obtain the re- encryption key rki* → j with pkj corrupted. − Type II IND-CPRE-CCA adversary: In the game, adversary A does not obtain both the condition key cki*, w* and the re-encryption key rki* → j with pkj corrupted. 4. AN EFFICIENT C-PRE SCHEME Here we present our efficient C-PRE scheme and then prove its security. 4.1 Construction Our proposed scheme consists of the following seven main algorithms and one auxiliary algorithm for checking the validity of the ciphertext. Global Setup (λ) : This algorithm takes the security parameter λ as input. Then two primes p and q are chosen such that q | p−1 where q is a λ bit prime. Then the algorithm generates (q, G, GT, e) where G and GT are two cyclic groups with prime order q and e is a bilinear pairing e : G × G → GT. Let g be the generator of group G, which is a subgroup of * qZ with order q. Choose hash functions as follows:
  • 6. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 184 * 1 10 {0,1}{0,1}:H q ll Z→× , ** 2 {0,1}:H qZ→ , 10 {0,1}:H3 ll + →G , ** 4 {0,1}:H qZ→ , * 5 :H qZG → , GGG →××* 6 {0,1}:H , and .}1,0{:H 10 T7 ll + →G param = ((q, G, GT, e), g, H1, ..., H7). l0 and l1 are determined by λ and the message space M is .}1,0{ 0l KeyGen (i): This algorithm randomly picks ski = (xi,1, xi,2 * qZ $ ← ) and sets pki = ).g,(g 2i,1i xx ReKeyGen(ski, pkj) : The re-encryption key rki → j is generated as follows: 1. Pick 0 }1,0{h $ l ← and 1 }1,0{π $ l ← and compute v = H1(h, π). 2. Compute V = gv and W = H3( v j,2pk ) ⊕ (h || π). 3. Compute i,2i,25i,1 (1) ji x)(pkHx h rk + =→ and return W).V,,(rkrk (1) jiji →→ = CKeyGen(ski, w) : This algorithm outputs the condition key cki, w = .)pk(w,H 1i,x 1 i6 Encrypt(pki, m, w) : This algorithm encrypts a message m with condition w for pki as follows: 1. Pick s, * q $ z Z← and compute B = s i,1pk and D = z i,1pk . 2. Pick 1 }1,0{r $ l ←′ . Compute r = H2(m, r′, pki, w) and .)pk(pkA r i,2 )(pkH i,1 i,25 = 3. Compute C = H3(gr ) ⊕ (m || r′) ⊕ ).))pk(w,H(g,eˆ(H s i67 4. Compute E = s + zH4(A, B, C, D) mod q. 5. Output the ciphertext ζi = (A, B, C, D, E). Validity(): This algorithm implicitly takes all the inputs of the calling algorithm as its input and works as follows: If D)C,B,(A,HE i,1 4 B.Dpk ≠ return ⊥. ReEncrypt(rki → j, cki, w, ζi, pki, pkj): This algorithm re-encrypts ζi to ζj as follows: 1. Return ⊥ if Validity() returns ⊥. 2. Compute A′ = (1) jirk A → and C′ = C ⊕ ))ck(B,eˆ(H wi,7 . 3. Output the transformed ciphertext as ζj = (A′, C′, V, W). Decrypt(ski, ζi): Parse the ciphertext ζi. Decryption of ζi is done as follows: − ζ is the original ciphertext in the form ζ = (A, B, C, D, E). 1. Return ⊥ if Validity() returns ⊥. 2. Compute (m || r′) = C ⊕ )))pk(w,H(B,eˆ(H)(AH i,1x 1 i,2x)i,2(pk5Hi,1x 1 i673 ⊕+ . 3. If w),pk,r(m,H i,2 )(pkH i,1 i2i,25 )pk(pkA ′ = holds, return m; else return ⊥. − ζ is the re-encrypted ciphertext in the form ζ = (A′, C′, V, W). 1. Compute (h || π) = W ⊕ )(VH i,2sk 3 and (m || r′) = C′ ⊕ )A(H h 1 3 ′ . 2. If π)(h,H1 gV = and w),pk,r(m,hH i2 gA ′ =′ hold, return m; else return ⊥.
  • 7. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 185 Correctness: The proxy must have both the right re-encryption key and the condition key to re- encrypt a ciphertext to the delegatee. Otherwise, the delegatee will not be able to decrypt the ciphertext with non-negligible probability. Suppose a proxy has the re-encryption key rki → j and the condition key cki, w′ (w′ ≠ w), he will generate the re-encrypted ciphertext ζj = (A′, C′, V, W) as A′ = grh C′ = H3(gr ) ⊕ (m || r′) ⊕ )))pk(w,H(g,eˆ(H s i67 ⊕ ))ck(B,eˆ(H wi,7 ′ = H3(gr ) ⊕ (m || r′) ⊕ )))pk(w,H(g,eˆ(H s i67 ⊕ )))pk,w(H,(geˆ(H i,1x 1 i,1 i6 sx 7 ′ = H3(gr ) ⊕ (m || r′) ⊕ )))pk(w,H(g,eˆ(H s i67 ⊕ )))pk,w(H(g,eˆ(H s i67 ′ V = gv W = )(pkH v j,23 ⊕ (h || π). Note that the two H7 terms do not cancel each other implying that C′ ⊕ )A(H g 1 3 ′ in the decryption algorithm will not reveal the message m with overwhelming probability. The resulting value will also not pass the condition checks. Hence the delegatee cannot decrypt the re-encrypted ciphertext with high probability. Security intuitions: It is impossible for the adversary to manipulate the ciphertext. This is because the validity of the original ciphertext can be publicly verified by the Validity() algorithm. Thus our scheme can ensure chosen-ciphertext security. Even if the conditional key w is changed to another value w′ by the adversary, the scheme is secure because w is a parameter for H2 and when w changes the value of r also changes. 4.2. Security The proposed C-PRE scheme is IND-CPRE-CCA secure in random oracle model. This follows directly from Theorem 1 and Theorem 2. Theorem 1. Our scheme is IND-CPRE-CCA secure in the random oracle model, assuming the mCDH assumption holds in group G and the Schnorr signature is EUF-CMA secure. Concretely, if there exists a Type I adversary A, who asks at most iHq random oracle queries to Hi with i ∈ {1, 2, ..., 7}, and breaks the (t, qu, qc, qrk, qck, qre, qd, ε)-IND-CPRE-CCA of our scheme, then, for any 0 < ψ < ε, there exists 1. either an algorithm B which can break the (t′, ε′)-mCDH assumption in G with       + − ++++ − + − ≥′ ++++++++++ +++++++++++++≤′ + q )q2(q 2 )q)(qq(qqq )qε(1 ψε q 1 ε t)q(qt)))q2q(2q1)(2q(qq6q2q2q( (1))qqqqqqqqqqqqq(tt dre ll dreHHHH rkH pdreexpdHHdreckrkuc dreckrkcuHHHHHHH 10 3242 3 32 7654321 O where texp denotes the running time of an exponentiation in group G and tp denotes the running time of a pairing in groups (G, GT). 2. or an attacker who breaks the EUF-CMA security of the Schnorr signature with advantage ψ within time t′.
  • 8. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 186 PROOF. Without loss of generality, we assume that the Schnorr signature is (t′, ψ)-EUF-CMA secure for some probability 0 < ψ < ε. If there exists a t-time adversary A who can break the IND-CPRE-CCA security of our scheme with advantage ε-ψ, then we show how to construct an algorithm B which can break the (t′, ε′)-mCDH assumption in G. Suppose B is given as input a challenge tuple )g,g,g(g, baa 1 with unknown * q $ ba, Z← . Algorithm B′s goal is to output gab . Algorithm B first gives (q, G, g, H1, ..., H7, l0, l1) to A. Next, B acts as a challenger and plays the IND-CPRE-CCA game with adversary A in the following way: Hash Oracle Queries: At any time adversary A can issue random oracle queries Hi with i ∈ {1, ..., 7}. Algorithm B maintains seven hash lists list iH with i ∈ {1, ..., 7} which are initially empty, and responds as below: 1. H1 queries: If H1(h, π) has appeared on the list iH in a tuple (h, π, v), return the predefined value v. Otherwise, choose * q $ v Z← and add tuple (h, π, v) to list iH and respond with H1(h, π) = v. 2. H2 queries: If H2(m, r′, pki, w) has appeared on the list 2H in a tuple (m, r′, pki, w, r), return the predefined value r. Otherwise, choose * q $ r Z← and add tuple (m, r′, pki, w, r) to list 2H and respond with H2(m, r′, pki, w) = r. 3. H3 queries: If H3(R) has appeared on the list 3H [R ∈ G] in a tuple (R, β), return the predefined value β. Otherwise, choose 10 {0,1}β $ ll + ← , add tuple (R, β) to list 3H and respond with H3(R) = β. 4. H4 queries: If H4(A, B, C, D) has appeared on the list 4H in a tuple (A, B, C, D, γ), return the predefined value γ. Otherwise, choose * q $ γ Z← , add tuple (A, B, C, D, γ) to list 4H and respond with H4(A, B, C, D) = γ. 5. H5 queries: If H5(pk) has appeared on the list 5H in a tuple (pk, τ), return the predefined value τ. Otherwise, choose * q $ τ Z← , add tuple (pk, τ) to list 5H and respond with H5(pk) = τ. 6. H6 queries: If H6(w, pk) has appeared on the list 6H in a tuple (w, pk, t, S), return the predefined value S. Otherwise, choose * q $ t Z← , compute S = gt , add the tuple (w, pk, t, S) to list 6H and respond with H6(w, pk) = S. 7. H7 queries: If H7(U) has appeared on the list 7H [U ∈ GT] in a tuple (U, η), return the predefined value η. Otherwise, choose 10 {0,1}η $ ll + ← , add tuple (U, η) to list 7H and respond with H7(U) = η. Phase 1. In this phase, adversary A issues a series of queries subject to the restrictions of the Type I IND-CPRE-CCA game. B maintains three lists Klist , Rlist and Clist which are initially empty, and answers these queries for A as follows:
  • 9. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 187 − Uncorrupted key generation query. B picks * q $ i,2i,1 x,x Z← . Next, using the Coron's technique [6], it flips a biased coin ci ∈ {0, 1} that yields 1 with probability θ and 0 otherwise. If ci = 1, it defines )g,(gpk i,2i,1 xx i = ; else ))(g,)((gpk i,2a 1 i,1a 1 xx i = . Then, it adds the tuple (pki, xi, 1, xi, 2, ci) to Klist and returns pki. − Corrupted key generation query. B picks * q $ i,2i,1 x,x Z← and defines )g,(gpk i,2i,1 xx i = , ci = ‘−’. Then, it adds the tuple (pki, xi, 1, xi, 2, ci) to Klist and returns (pki, (xi, 1, xi, 2)). − Re-encryption key generation query (pki, pkj). If Rlist has an entry for (pki, pkj), return the predefined re-encryption key to A. Otherwise, algorithm B acts as follows: 1. Recover tuples (pki, xi, 1, xi, 2, ci) and (pkj, xj, 1, xj, 2, cj) from Klist . 2. Pick 0 {0,1}h $ l ← and 1 {0,1}π $ l ← ; compute v = H1(h, π), V = gv and W = )(pkH v j,23 ⊕ (h || π). 3. Construct the first component (1) jirk → according to the following cases: • ci = 1 or ci = ‘−’: Define i,2i,25i,1 (1) ji x)(pkHx h rk + =→ . • (ci = 0 ∧ cj = 1) or (ci = 0 ∧ cj = 0): Pick * q $ (1) jirk Z←→ . • (ci = 0 ∧ cj = ‘−’): Output “failure” and abort. 4. If B does not abort, add h)W),V,,(rk,pk,(pk (1) jiji → into list Rlist , return W)V,,(rk(1) ji→ . − Condition key query (pki, w). If Clist has an entry for (pki, w), return the predefined condition key cki, w to A. Otherwise algorithm B acts as follows: 1. Recover tuples (pki, xi,1, xi,2, ci) from Klist and (w, pki, t, S) from list 6H . 2. It constructs the condition key cki,w for adversary A according to the following cases: • ci = 1 or ci = ‘−’: Algorithm B responds with cki,w = i,1x 1 S . • ci = 0: Algorithm B responds with cki,w = i,1x 1 )(ga which is same as i,1sk 1 S . 3. Add (pki, w, cki,w) to Clist . − Re-encryption query (pki, pkj, w, ζi)}. Algorithm B parses ζi = (A, B, C, D, E). Return ⊥ if Validity() returns ⊥. Otherwise it constructs the condition key cki,w by issuing a condition key query (pki, w) and does the following: 1. Recover tuples (pki, xi,1, xi,2, ci) and (pkj, xj,1, xj,2, cj) from Klist . 2. If (ci = 0 ∧ cj = ‘−’) does not hold, issue a re-encryption key generation query (pki, pkj) to obtain rki → j, and then ReEncrypt(rki → j, cki,w, ζi, pki, pkj) to A. 3. Else B does the following. • Pick 0 {0,1}h $ l ← and 1 {0,1}π $ l ← and compute v = H1(h, π). • Compute V = gv and W = )(pkH v j,23 ⊕ (h || π). • Since the ciphertext is valid, issue a decryption query (pki, ζi) and get message m. • Pick 1 {0,1}r $ l ←′ . Compute r = H2(m, r′, pki, w). • Compute A′ = grh and C′ = H3(gr ) ⊕ (m || r′).
  • 10. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 188 • Add tuple (h, π, v) to list iH and tuple (m, r′, pki, w, r) to list 2H , if they are not present in their respective lists. • Return (A′, C′, V, W) to A as the re-encrypted ciphertext. − Decryption query (pki, w′, ζi) or (pki, ζi). B recovers tuple (pki, xi,1, xi,2, c) from Klist . If c = 1 or c = ‘−’, algorithm B runs Decrypt((xi,1, xi,2), ζi)) and returns the result to A. Otherwise, algorithm B works according to the following two cases: • ζi is an original ciphertext ζI = (A, B, C, D, E): 1. Return ⊥ if Validity() returns ⊥. 2. Construct condition key cki,w′ as in the condition key query and define C = C′ ⊕ ))ck(B,eˆ(H wi,7 ′ . 3. Search tuples (m, r′, pk, w, r) ∈ list 2H and (R, β) ∈ list 3H such that pki = pk, w = w′, β ⊕ (m || r′) = C, gr = R and A)pk(pk r i,2 )(pkH i,1 i,25 = . 4. If yes, return m to A. Otherwise, return ⊥. • ζi is a re-encrypted ciphertext ζi = (A′, C′, V, W): 1. Search tuples (m, r′, pk, w, r) ∈ list 2H , (h, π, v) ∈ list 1H , (R, β) ∈ list 3H and (R′, β′) ∈ list 3H such that pki = pk, w = w′, grh = A′, gr = R, β ⊕ (m || r′) = C′, gv = V, β′ ⊕ (h || π) = W and Rpk v i,2 ′= . 2. If yes, return m to A. Otherwise, return ⊥. Challenge. When A decides that Phase 1 is over, it outputs a public key pki* = (pki*,1, pki*,2), a condition w* and two equal-length messages m0, m1 ∈ 10 }1,0{ ll + . Algorithm B responds as follows: 1. Recover tuple (pki*, xi*,1, xi*,2, c* ) from Klist . If c* ≠ 0, B outputs “failure” and aborts. Otherwise, B proceeds to execute the following steps. 2. Pick * q $ ** z,s Z← and compute i*,1 * a 1 xs* )(gB = and i*,1 * a 1 xz* )(gD = . 3. Pick 10 {0,1}C $ * ll + ← . 4. Compute i*,2i*,25i*,1 x)(pkHxb* )(gA + = and E* = s* + z* H4(A* , B* , C* , D* ) mod q. 5. Construct the condition key cki*,w*, as in the condition key query. 6. Pick a random bit {0,1}δ $ ← and 1 {0,1}r $ l ←′ . Implicitly define H2(mδ, r′, pki*, w* ) = ab and H3(gab ) = C* ⊕ (mδ || r′) ⊕ ))ck,(Beˆ(H *wi*, * 7 (note that B knows neither ab nor gab ). 7. Return ζ* = (A* , B* , C* , D* , E* ) as the challenged ciphertext to adversary A. Observe that the challenge ciphertext ζ* is identically distributed as the real one from the construction. To see this, letting r* = ab, we have A* = i*,2i*,25i*,1 x)(pkHxb )(g + = ab i*,2i*,25i*,1a 1 ))((g x)(pkHx + = *r i*,2 )(pkH i*,1 )pk(pk i*,25 B* = *s i*,1 *xs pk)((g i*,1a 1 = C* = H3(gab ) ⊕ (mδ || r′) ⊕ ))ck,(Beˆ(H *wi*, * 7 = H3(gab ) ⊕ (mδ || r′) ⊕ )))(g,)((geˆ(H i*,1x 1 i*,1a 1 a*xs 7
  • 11. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 189 = H3(gab ) ⊕ (mδ || r′) ⊕ ))g(g,eˆ(H *sy 7 = H3(gr* ) ⊕ (mδ || r′) ⊕ )))pk,(wH(g,eˆ(H *s *wi*, * 67 D* = *z i*,1 x*z pk)(g i*,1a 1 = E* = s* + z* H4(A* , B* , C* , D* ) mod q Phase 2. Adversary A continues to issue queries as in Phase 1, with the restrictions prescribed in the IND-CPRE-CCA game. Algorithm B responds to these queries for A as in Phase 1. Guess. Eventually, adversary A returns a guess δ′ ∈ {0, 1} B. Algorithm B randomly picks a tuple (R, β) from the list 3H and outputs R as the solution to the given problem instance. Analysis. Now let's analyse the simulation. From the constructions of H1, H5, H6 and H7, it is clear that the simulations of these oracles are perfect. Let * 4AskH be the event that A queried (A* , B* , C* , D* ) to H4 before challenge phase. The simulation of H4 is perfect as long as * 4AskH did not occur. Since C* is randomly chosen from 10 {0,1} ll + by the challenger in the challenge phase, we have 10 4 2 q ]Pr[AskH H* 4 ll + = . Let * 2AskH be the event that (mδ ,r′, pki*, w* ) has been queried to H2 and * 3AskH be the event that gab has been queried to H3. The simulations of H2 and H3 are perfect as long as * 2AskH and * 3AskH did not occur, where δ and r′ are chosen by B in the challenge phase. B’s responses to A’s uncorrupted/corrupted key generation queries are perfect. Let Abort denote the event of B’s aborting during the simulation of the re-encryption key queries or in the challenge phase. We have Pr[¬Abort] ≥ θ)(1θ rkq − , which is maximized at rk rk opt q1 q θ + = . Using θopt, the probability Pr[¬Abort] is at least )qe(1 1 rk+ . The simulation of the re-encryption key queries is same as the real one, except for the case (ci = 0 ∧ cj = 1) or (ci = 0 ∧ cj = 0), in which the component (1) jirk → is randomly chosen. If Abort does not happen, this is computationally indistinguishable from the real world because: 1. Secret key skj is unknown to A since cj ≠ ‘−’. 2. h is encrypted under pkj using the “hashed” ElGamal encryption scheme. So, if A can distinguish rki → j from jikr →′ , it means that A can determine (V, W) is an encryption of h or h′, which breaks the CCA security of the “hashed” ElGamal based on the CDH assumption. The re-encryption queries are also perfect, unless A can submit valid original ciphertexts without querying H2 or H3 (denote this event by REErr). This is because we issue a decryption query in the third case of the re-encryption query. We will calculate Pr[REErr] shortly. The simulation of the decryption oracle is perfect, with the exception that simulation errors may occur in rejecting some valid ciphertexts. A can submit valid original ciphertexts without querying H2 or H3 (denote this event by DErr). Let Valid be the event that the ciphertext is
  • 12. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 190 valid. Let AskH3 and AskH2 be the events gr has been queried to H3 and (m, r′, w) has been queried to H2 respectively. We have, q 1 2 q ]AskHAskH|Pr[Valid]AskH|Pr[AskH ]AskH|AskHPr[Valid]AskH|AshHPr[Valid]AskH|Pr[Valid 10 3 ll H 2323 23232 +≤ ¬∧¬+¬≤ ¬¬∧+¬∧=¬ + Similarly, we have q 1 2 q ]AskH|Pr[Valid 10 2 ll H 3 +≤¬ + . Thus we have, q 2 2 qq ]AskH|Pr[Valid]AskH|Pr[Valid)]AskHAskH(|Pr[Valid 10 32 ll HH 3232 + + ≤ ¬+¬≤∨¬ + Let DErr be the event that Valid |(¬ AskH2 ∨ ¬ AskH3) happens during the entire simulation. Then since A issues utmost qd decryption oracles, we have q 2q 2 )qq(q Pr[DErr] d ll dHH 10 32 + + ≤ + . By the definition of REErr as stated above, since A issues utmost qre re-encryption oracles, we have q 2q 2 )qq(q Pr[REErr] re ll reHH 10 32 + + ≤ + . Now, let Good denote the event Abort|DErr)REErrAskH)AskH|(AskH(AskH * 4 * 3 * 2 * 3 ¬∨∨∨¬∨ . If Good does not happen, due to the randomness of the output of the random oracle H3, it is clear that A cannot gain any advantage greater than 2 1 in guessing δ. Thus we have Pr[δ′ = δ | ¬ Good] = 2 1 . Hence by splitting Pr[δ′ = δ], we have Pr[Good] Good]Good]Pr[|δδPr[δ]δPr[ Pr[Good] Pr[Good]Good]Pr[ od]Good]Pr[Go|δδPr[Good]Good]Pr[|δδPr[δ]δPr[ 2 1 2 1 2 1 2 1 2 1 −= ¬¬=′≥=′ +≤ +¬≤ =′+¬¬=′==′ By definition of the advantage for the IND-CPRE-CCA adversary, we then have . Abort]Pr[ Pr[DErr]Pr[REErr] Abort]Pr[ ]Pr[AskH]AskH|Pr[AskH]Pr[(AskH Abort]|DErr)REErrAskH)AskH|(AskHPr[(AskH Pr[Good] 1δ]δPr[2ψε * 4 * 3 * 2 * 3 * 4 * 3 * 2 * 3 ¬ + + ¬ +¬+ = ¬∨∨∨¬∨= ≤ −=′×=− Substituting values which have been computed, we get
  • 13. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 191 q )q2(q 2 )q)(qq(qqq )qε(1 ψε q 2q 2 )qq(q q 2q 2 )qq(q 2 q 2 q )qε(1 ψε Pr[Derr]Pr[Reerr]]Pr[AskH]AskH|Pr[AskHψ)(εAbort]Pr[]Pr[AskH dre ll dreHHHH rk d ll dHHre ll reHH ll H ll H rk * 4 * 3 * 2 * 3 10 3242 10 32 10 32 10 4 10 2 + − ++++ − + − = − + −− + −−− + − ≥ −−−¬−−⋅¬≥ + ++++ If * 3AskH happens, algorithm B will be able to solve mCDH instance. Therefore we get,         + − ++++ − + − ≥ ≥′ + q )q2(q 2 )q)(qq(qqq )qε(1 ψε q 1 ]Pr[AskH q 1 ε dre ll dreHHHH rkH * 3 H 10 3242 3 3 From the description of the simulation, B’s running time can be bounded by pdreexpdHHdreckrkuc dreckrkcuHHHHHHH t)q(qt)))q2q(2q1)(2q(qq6q2q2q( (1))qqqqqqqqqqqqq(tt 32 7654321 ++++++++++ +++++++++++++≤′ O This completes the proof of Theorem 1. Theorem 2. Our scheme is IND-CPRE-CCA secure in the random oracle model, assuming the mCBDH assumption holds in groups G, GT and the Schnorr signature is EUF-CMA secure. Concretely, if there exists a Type II adversary A, who asks at most iHq random oracle queries to Hi with i ∈ {1, 2, ..., 7}, and breaks the (t, qu, qc, qrk, qck, qre, qd, ε)-IND-CPRE-CCA of our scheme, then, for any 0 < ψ < ε, there exists 1. either an algorithm B which can break the (t′, ε′)-mCBDH assumption in G with   + − +++ −    +++ −− + − + + − ≥′ ++++++++++ +++++++++++++≤′ −+ ++ q )q3(q 2 )q)(qqq(q 4 )q)(qqqqqq(q 2 q )qε(1 ψε )qε(1 ψε q 1 ε t)q(qt)))q2q(2q1)(2q(qq6q2q(2q )O(1)qqqqqqqqqqqq(qtt dre 1ll dreHHH ll dreHHHHHH ll H ckrkH pdreexpdHHdreckrkuc dreckrkcuHHHHHHH 10 732 10 277332 10 4 7 32 7654321 where texp denotes the running time of an exponentiation in group G and tp denotes the running time of a pairing in groups (G, GT). 2. or an attacker who breaks the EUF-CMA security of the Schnorr signature with advantage ψ within time t′. PROOF. Without loss of generality, we assume that the Schnorr signature is (t′, ψ)-EUF-CMA secure for some probability 0 < ψ < ε. If there exists a t-time adversary A who can break the IND-CPRE-CCA security of our scheme with advantage ε−ψ, then we show how to construct an algorithm B which can break the (t′, ε′)-mCBDH assumption in G. Suppose B is given as input a challenge tuple )g,g,g,g(g, cbaa 1 with unknown * q $ b.ca, Z← . Algorithm B’s goal is to output abc g)(g,eˆ . Algorithm B first gives (q, G, g, H1, ..., H7, l0, l1) to A. Next, B acts as a challenger and plays the IND-CPRE-CCA game with adversary A in the following way:
  • 14. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 192 Hash Oracle Queries. At any time adversary A can issue random oracle queries Hi with i ∈ {1, ..., 7}. Algorithm B maintains seven hash lists list iH with i ∈ {1, ..., 7} which are initially empty, and responds as below: − H1 queries: If H1(h, π) has appeared on the list 1H in a tuple (h, π, v), return the predefined value v. Otherwise, choose * q $ v Z← and add tuple (h, π, v) to list 1H and respond with H1(h, π) = v. − H2 queries: If H2(m, r′, pki, w) has appeared on the list 2H in a tuple (m, r′, pki, w, r), return the predefined value r. Otherwise, choose * q $ r Z← and add tuple (m, r′, pki, w, r) to list 2H and respond with H2(m, r′, pki, w) = r. − H3 queries: If H3(R) has appeared on the list 3H [R ∈ G] in a tuple (R, β), return the predefined value β. Otherwise, choose 10 ll $ {0,1}β + ← , add tuple (R, β) to list 3H and respond with H3(R) = β. − H4 queries: If H4(A, B, C, D) has appeared on the list 4H in a tuple (A, B, C, D, γ), return the predefined value γ. Otherwise, choose * q $ γ Z← , add tuple (A, B, C, D, γ) to list 4H and respond with H4(A, B, C, D) = γ. − H5 queries: If H5(pk) has appeared on the list 5H in a tuple (pk, τ), return the predefined value τ. Otherwise, choose * q $ τ Z← , add tuple (pk, τ) to list 5H and respond with H5(pk) = τ. − H6 queries: If H6(w, pk) has appeared on the list 6H in a tuple (w, pk, t, S, coin), return the predefined value S. Otherwise, choose * q $ t Z← . Next, using the Coron's technique [6], flip a random biased coin [coin ∈ {0, 1}] that yields 0 with a probability θ and 1 with probability 1−θ. If coin = 0, compute S = gt . Otherwise, compute S = (gb )t . Add the tuple (w, pk, t, S, coin) to list 6H and respond with H6(w, pk) = S. − H7 queries: If H7(U) has appeared on the list 7H [U ∈ GT] in a tuple (U, η), return the predefined value η. Otherwise, choose 10 ll $ {0,1}η + ← , add tuple (U, η) to list 7H and respond with H7(U) = η. Phase 1. In this phase, adversary A issues a series of queries subject to the restrictions of the Type II IND-CPRE-CCA game. B maintains three lists Klist , Rlist and Clist which are initially empty, and answers these queries for A as follows: − Uncorrupted key generation query. B picks xi,1, xi,2 * q $ Z← . Next, it defines ci = 0 and ))(g,)((gpk i,2a 1 i,1a 1 xx i = . Then it adds the tuple (pki, xi,1, xi,2, ci) to Klist and returns pki. Here the bit ci is used to denote whether the secret key with respect to pki is corrupted, i.e., ci = 0 means uncorrupted and ci = 1 means corrupted. − Corrupted key generation query. B picks xi,1, xi,2 * q $ Z← and defines )g,(gpk i,2i,1 xx i = , ci = 1. Then, it adds the tuple (pki, xi,1, xi,2, ci) to Klist and returns (pki, (xi,1, xi,2)). − Re-encryption key generation query (pki, pkj). If Rlist has an entry for (pki, pkj), return the predefined re-encryption key to A. Otherwise, algorithm B acts as follows: 1. Recover tuples (pki, xi,1, xi,2, ci) and (pkj, xj,1, xj,2, cj) from Klist .
  • 15. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 193 2. Pick 0l $ {0,1}h ← and 1l $ {0,1}π← ; compute v = H1(h, π), V = gv and W = H3( v j,2pk ) ⊕ (h || π). 3. Construct the first component (1) jirk → according to the following cases: • ci = 1: Define i,2i,25i,1 (1) ji x)(pkHx h rk + =→ . • (ci = 0 ∧ cj = 0): Define i,2i,25i,1 (1) ji x)(pkHx h rk + =→ . Here define h = ah′ so that a x)(pkHx (1) ji i,2i,25i,1 h rk +→ ′ = where 0l {0,1}h ∈′ . • (ci = 0 ∧ cj = 1): Output “failure” and abort. 4. If B does not abort, add h)W),V,,(rk,pk,(pk (1) jiji → into list Rlist , return W)V,,(rk(1) ji→ . − Condition key query (pki, w). If Clist has an entry for (pki, w), return the predefined condition key cki,w to A. Otherwise algorithm B acts as follows: 1. Recover tuples (pki, xi,1, xi,2, ci) from Klist and (w, pki, t, S, coin) from list 6H . 2. It constructs the condition key cki,w for adversary A according to the following cases: • ci = 1: Algorithm B responds with i,1x 1 wi, Sck = . • (ci = 0 ∧ coin = 0): Algorithm B responds with i,1x 1 a wi, )(gck = which is same as i,1sk 1 S . • (ci = 0 ∧ coin = 1): Output “failure” and abort. 3. If B does not abort, add (pki, w, cki,w) to Clist . − Re-encryption query (pki, pkj, w, ζi). Algorithm B parses ζi = (A, B, C, D, E). Return ⊥ if Validity() returns ⊥. Otherwise it does the following: 1. Recover tuples (pki, xi,1, xi,2, ci) and (pkj, xj,1, xj,2, cj) from Klist . 2. If (ci = 0) does not hold, issue a condition key generation query (pki, w) to obtain cki,w and a re-encryption key query (pki, pkj) to obtain rki → j, and then ReEncrypt(rki → j, cki,w, ζi, pki, pkj) to A. 3. Else B does the following. • Pick 0l $ {0,1}h← and 1l $ {0,1}π← and compute v = H1(h, π). • Compute V = gv and W = H3( v j,2pk ) ⊕ (h || π). • Since the ciphertext is valid, issue a decryption query (pki, ζi) and get message m. • Pick 1l $ {0,1}r ←′ . Compute r = H2(m, r′, pki, w). • Compute A′ = grh and C′ = H3(gr ) ⊕ (m || r′). • Add tuple (h, π, v) to list 1H and tuple (m, r′, pki, w, r) to list 2H , if they are not present in their respective lists. • Return (A′, C′, V, W) to A as the re-encrypted ciphertext. − Decryption query (pki, w′, ζi) or (pki, ζi)}. B recovers tuple (pki, xi,1, xi,2, c) from Klist and (w, pki, t, S, coin) from list 6H . If c = 1, algorithm B runs Decrypt((xi,1, xi,2), ζi)) and returns the result to A. Otherwise, algorithm B works according to the following two cases:
  • 16. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 194 • ζi is an original ciphertext ζi = (A, B, C, D, E): 1. Return ⊥ if Validity() returns ⊥. 2. Search tuples (m, r′, pk, w, r) ∈ list 2H , (R, β) ∈ list 3H and (U, γ) from list 7H such that pki = pk, w = w′, β ⊕ (m || r′) ⊕ γ = C, gr = R and A)pk(pk r i,2 )(pkH i,1 i,25 = . 3. If yes, return m to A. Otherwise, return ⊥. • ζi is a re-encrypted ciphertext ζI = (A′, C′, V, W): 1. Search tuples (m, r′, pk, w, r) ∈ list 2H , (h, π, v) ∈ list 1H , (R, β) ∈ list 3H and (R′, β′) ∈ list 3H such that pki = pk, w = w′, grh = A′, gr = R, β ⊕ (m || r′) = C′, gv = V, β′ ⊕ (h || π) = W and Rpkv i,2 ′= . 2. If yes, return m to A. Otherwise, return ⊥. Challenge. When A decides that Phase 1 is over, it outputs a public key pki* = (pki*,1, pki*,2), a condition w* and two equal-length messages m0, m1 ∈ 10 }1,0{ ll + . Algorithm B responds as follows: 1. Recover tuple (w* , pki*, t* , S* , coin* ) from list 6H . If coin* ≠ 1, B outputs “failure” and aborts. Otherwise, B proceeds to execute the following steps. 2. Pick u* , e* * q $ Z← and compute t x c i*,1 )(gB* = and *e 1 )pk((B*)D* *u i*,1 1− = . 3. Pick 10 ll $ {0,1}*C + ← and 1l $ {0,1}r ←′ . 4. Pick a random bit {0,1}δ $ ← and compute r* = H2(mδ ,r′, pki*, w*). 5. Compute *rx)(pkHx ))((gA* i*,2i*,25i*,1a 1 + = and E* = u*. 6. Define H4(A*, B*, C*, D*) = e*. 7. Implicitly define )(gH)r||(m*C)g)(g,eˆ(H r 3δ abc 7 ⊕′⊕= (note that B does not know abc g)(g,eˆ ). 8. Note that *isk 1 i*,1x a t i*,1cx ))pk(w*,H(B*,eˆ)g,(geˆg)(g,eˆ i*6 btabc == . 9. Return ζ* = (A*, B*, C*, D*, E*) as the challenged ciphertext to adversary A. Observe that the challenge ciphertext ζ* is identically distributed as the real one from the construction. To see this, letting t ac s* = , we have *r i*,2 )(pkH i*,1 *rx)(pkHx )pk(pk))((gA* i*,25i*,2i*,25i*,1a 1 == + *s i*,1 c pk)(g)(gB* t ac a i*,1x t i*,1x === )))pk(w*,H(g,eˆ(H)r||(m)(gH ))g(g,eˆ(H)r||(m)(gH )g)(g,eˆ(H)r||(m)(gHC* *s *wi*,67δ *r 3 bt 7δ *r 3 abc 7δ *r 3 t ac ⊕′⊕= ⊕′⊕= ⊕′⊕= *e 1 )pk((B*)D* *u i*,1 1− = E* = u* Since u* and e* are random, adversary cannot distinguish D* and E* from the real one.
  • 17. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 195 Phase 2. Adversary A continues to issue queries as in Phase 1, with the restrictions prescribed in the IND-CPRE-CCA game. Algorithm B responds to these queries for A as in Phase 1. Guess. Eventually, adversary A returns a guess δ′ ∈ {0, 1} to B. Algorithm B randomly picks a tuple (U, γ) from the list 7H and outputs U as the solution to the given problem instance. Analysis. Now let's analyse the simulation. From the constructions of H1, H2, H3, H5 and H6, it is clear that the simulations of these oracles are perfect. Let * 4AskH be the event that A queried (A*, B*, C*, D*) to H4 before challenge phase. The simulation of H4 is perfect as long as * 4AskH did not occur. Since C* is randomly chosen from 10 }1,0{ ll + by the challenger in the challenge phase, we have 10 4 ll H* 4 2 q ]Pr[AskH + = . Let * 7AskH be the event that abc g)(g,eˆ has been queried to H7. The simulation of H7 is perfect as long as * 7AskH did not occur. B’s responses to A’s uncorrupted/corrupted key generation queries are perfect. Let Abort denote the event of B’s aborting during the simulation of the re-encryption key queries, condition key queries or in the challenge phase. We have θ),(1θθ)(1θAbort}Pr[ ckrk qq −+−≥¬ which is maximized when each of the two terms are maximized. First term maximizes at rk rk opt1 q1 q θ + = and the second term maximizes at ck ck opt2 q1 q θ + = . Thus the probability Pr[¬Abort] is at least )qe(1 1 )qe(1 1 ckrk + + + . Here we assume that probability of a key being uncorrupted is same as θ in H6 queries and 1−θ if it is a corrupted one. The simulation of the re-encryption key queries is same as the real one, except for the case (ci = 0 ∧ cj = 0), in which the component (1) jirk → is chosen by choosing h randomly, where h is defined as ah′. If Abort does not happen, this is computationally indistinguishable from the real world because : 1. Secret key skj is unknown to A since cj ≠ 1. 2. h is encrypted under pkj using the “hashed” ElGamal encryption scheme. So, if A can distinguish rki → j from jikr → ′ , it means that A can determine (V, W) is an encryption of h or h′, which breaks the CCA security of the “hashed” ElGamal based on the CDH assumption. The re-encryption queries are also perfect, unless A can submit valid original ciphertexts without querying H2 or H3 or H7 (denote this event by REErr). This is because we issue a decryption query in the third case of the re-encryption query. We will calculate Pr[REErr] shortly. The simulation of the decryption oracle is perfect, with the exception that simulation errors may occur in rejecting some valid ciphertexts. A can submit valid original ciphertexts without querying H2 or H3 or H7 (denote this event by DErr). Let Valid be the event that the ciphertext is valid. Let AskH7, AskH3, and AskH2 be the events abc g)(g,eˆ has been queried to H7, gr has been queried to H3, and (m, r′, w) has been queried to H2 respectively . We have,
  • 18. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 196 q 1 2 qq 4 qq ]AskHAskHAskH|Pr[Valid]AskH|AskH|AskHPr[Valid ]AskHAskH|AskHPr[Valid]AskH|AskHAskHPr[Valid ]AskH|AskHAskHPr[Valid]AskH|AskHAskHPr[Valid ]AskH|AskHAskHPr[Valid]AskH|AskHAskHPr[Valid ]AskH|Pr[Valid 10 73 10 73 ll HH ll HH 273237 273273 273273 273273 2 + + +≤ ¬∧¬∧¬+¬¬¬∧+ ¬∧¬∧+¬∧∧= ¬¬∧∧+¬∧¬∧+ ¬¬∧∧+¬∧∧= ¬ ++ Similarly, we have q 1 2 qq 4 qq ]AskH|Pr[Valid 10 72 10 72 ll HH ll HH 3 + + +≤¬ ++ and q 1 2 qq 4 qq ]AskH|Pr[Valid 10 32 10 22 ll HH ll HH 7 + + +≤¬ ++ Thus we have, q 3 2 qqq 4 qqqqqq ]AskH|Pr[Valid]AskH|Pr[Valid]AskH|Pr[Valid )]AskHAskHAskH(|Pr[Valid 1ll HHH ll HHHHHH 732 732 10 732 10 277332 + ++ + ++ ≤ ¬+¬+¬= ¬∨¬∨¬ −++ Let DErr be the event that Valid|(¬ AskH2 ∨ ¬ AskH3 ∨ ¬ AskH7) happens during the entire simulation. Then since A issues utmost qd decryption oracles, we have q 3q 2 )qqq(q 4 )qqqqqq(q Pr[DErr] d 1ll dHHH ll dHHHHHH 10 732 10 277332 + ++ + ++ ≤ −++ . By the definition of REErr as stated above, since A issues utmost qre re-encryption oracles, we have q 3q 2 )qqq(q 4 )qqqqqq(q Pr[REErr] re 1ll reHHH ll reHHHHHH 10 732 10 277332 + ++ + ++ ≤ −++ . Now, let Good denote the event Abort|DErr)REErrAskH(AskH * 4 * 7 ¬∨∨∨ . If Good does not happen, due to the randomness of the output of the random oracle H7, it is clear that A cannot gain any advantage greater than 2 1 in guessing δ. Thus we have Pr[δ′ = δ | ¬ Good] = 2 1 . Hence by splitting Pr[δ′ = δ], we have Pr[Good] Good]Good]Pr[|δδPr[δ]δPr[ Pr[Good] od]Good]Pr[GoPr[ od]Good]Pr[Go|δδPr[Good]Good]Pr[|δδPr[δ]δPr[ 2 1 2 1 2 1 2 1 2 1 −= ¬¬=′≥=′ +≤ ¬≤ =′+¬¬=′==′ By definition of the advantage for the IND-CPRE-CCA adversary, we then have
  • 19. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 197 Abort]Pr[ Abort]|DErr)REErrAskHPr[(AskH Abort]|DErr)REErrAskHPr[(AskH Pr[Good] 1δ]δPr[2ψε * 4 * 7 * 4 * 7 ¬ ¬∨∨∨ = ¬∨∨∨= ≤ −=′×=− Substituting values which have been computed, we get q )q3(q 2 )q)(qqq(q 4 )q)(qqqqqq(q 2 q )qε(1 ψ )qε(1 ψ Pr[DErr]Pr[REErr]]Pr[AskHψ)(εAbort]Pr[]Pr[AskH dre 1ll dreHHH ll dreHHHHHH ll H ckrk * 4 * 7 10 732 10 277332 10 4 + − +++ − +++ −− + −∈ + + −∈ ≥ −−−−⋅¬≥ −+ ++ If * 7AskH happens, algorithm B will be able to solve mCBDH instance. Therefore we get, q )q3(q 2 )q)(qqq(q 4 )q)(qqqqqq(q 2 q )qε(1 ψ )qε(1 ψ1 ]Pr[ 1 dre 1ll dreHHH ll dreHHHHHH ll H ckrk * 7 10 732 10 277332 10 4 7 7 + − +++ − +++ −− + −∈ + + −∈ ≥ ≥′ −+ ++ H H q AskH q ε From the description of the simulation, B’s running time can be bounded by pdreexpdHHdreckrkuc dreckrkcuHHHHHHH t)q(qt)))q2q(2q1)(2q(qq6q2q2q( (1))qqqqqqqqqqqqq(tt 32 7654321 ++++++++++ +++++++++++++≤′ O This completes the proof of Theorem 2. 5. CONCLUSION In this paper, we proposed a more efficient CCA secure unidirectional C-PRE scheme with less number of bilinear pairings. The scheme is more elegant when compared to its counterparts. We have proved the security of the scheme in the random oracle model under appropriate security definitions. There are still many open problems to be solved, such as designing CCA secure C- PRE scheme in the standard model, C-PRE in other settings like identity based and certificateless cryptography. REFERENCES [1] Ran Canetti and Susan Hohenberger. Chosen-ciphertext secure proxy re-encryption. In ACM Conference on Computer and Communications Security 2007, pages 185−194, 2007. [2] Jun Shao and Zhenfu Cao. CCA-Secure Proxy Re-encryption without Pairings. In Public Key Cryptography 2009, volume 5443 of LNCS, pages 357−376, 2009. [3] G. Ateniese, K. Fu, M. Green, and S. Hohenberger. Improved proxy re-encryption schemes with applications to secure distributed storage. In Internet Society (ISOC): NDSS 2005, pages 29−43, 2005. [4] H. Khurana and R. Koleva. Scalable security and accounting services for content-based publish subscribe systems. International Journal of E-Business Research, 2006.
  • 20. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 198 [5] G. Ateniese, K. Fu, M. Green, and S. Hohenberger. Improved proxy re-encryption schemes with applications to secure distributed storage. ACM Transactions on Information and System Security (TISSEC), pages 1−30, 2006. [6] Jean-Sebastien Coron. On the Exact Security of Full Domain Hash. In CRYPTO, volume 1880 of LNCS, pages 229−235, 2000. [7] T.S. Heydt-Benjamin, H. Chae, B. Defend, and K. Fu. Privacy for public transportation. In PET 2006, volume 4258 of LNCS, pages 1−19, 2005. [8] Cheng-Kang Chu, Jian Weng, Sherman S. M. Chow, Jianying Zhou, and Robert H. Deng. Conditional Proxy Broadcast Re-Encryption. In ACISP 2009, volume 5594 of LNCS, pages 327−342, 2009. [9] Matt Blaze, Gerrit Bleumer, and Martin Strauss. Divertible protocols and atomic proxy cryptography. In EUROCRYPT 1988, volume 1403 of LNCS, pages 127−144, 1998. [10] Claus-Peter Schnorr. Efficient Identification and Signatures for Smart Cards. In CRYPTO 1989, volume 435 of LNCS, pages 239−252, 1989. [11] A. Talmy and O. Dobzinski. Abuse freedom in access control schemes. In AINA 2006, pages 77−86, 2006. [12] Jian Weng, Sherman S.M. Chow, Yanjiang Yang, and Robert H. Deng. Efficient Unidirectional Proxy Re-Encryption. Cryptology ePrint Archive, Report 2009/189 (2009) http://eprint.iacr.org/. [13] A. Ivan and Y. Dodis. Proxy cryptography revisited. In Internet Society (ISOC): NDSS 2003, 2003. [14] Jian Weng, Robert H. Deng, Xuhua Ding, Cheng-Kang Chu, and Junzuo Lai. Conditional proxy re-encryption secure against chosen-ciphertext attack. In ASIACCS, pages 322−332, 2009. [15] Masahiro Mambo and Eiji Okamoto. Proxy Cryptosystems: Delegation of the Power to Decrypt Ciphertexts. IEICE Trans. Fund. Elect. Communications and CS, E80-A/1:54−63, 1997. [16] S. Hohenberger, G.N. Rothblum, A. Shelat, and V. Vaikuntanathan. Securely obfuscating re- encryption. In TCC 2007, volume 4392 of LNCS, pages 233−252, 2007. [17] Jian Weng, Yanjiang Yang, Qiang Tang, Robert H. Deng, and Feng Bao. Efficient Conditional Proxy Re-encryption with Chosen-Ciphertext Security. In ISC 2009, volume 5735 of LNCS, pages 151−166, 2009. [18] Matthew Green and Giuseppe Ateniese. Identity-Based Proxy Re-encryption. In ACNS 2007, volume 4521 of LNCS, pages 288−306, 2007. [19] Y-P. Chiu, C-L. Lei, and C-Y. Huang. Secure multicast using proxy encryption. In ICICS 2005, volume 3783 of LNCS, pages 280−290, 2005. [20] H. Khurana and H-S. Hahm. Certified mailing lists. In ASIACCS 2006, pages 46−58, 2006. [21] G. Taban, A.A. C'ardenas, and V.D. Gligor. Towards a secure and interoperable drm architecture. In ACM DRM 2006, pages 69−78, 2006. [22] Smith. Tony. Dvd jon: buy drm-less tracks from apple itunes. 2005. http://www.theregister.co.uk/2005/03/18/itunes pymusique. [23] H. Khurana, A. Slagell, and R. Bonilla. Sels: A secure e-mail list service. In ACM SAC 2005, pages 306−313, 2005. Authors S.Sree Vivek He is currently a PhD scholar in the Department of Computer Science and Engineering, of IIT Madras. His research focuses on Provably Secure Public Key Cryptosystems. S.Sharmila Deva Selvi She is currently a PhD scholar in the Department of Computer Science and Engineering, of IIT Madras. Her research focuses on Provably Secure Public Key Cryptosystems.
  • 21. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, March 2012 199 V. Radhakishan He is currently pursuing a Bachelor of Technology in the Department of Computer Science and Engineering, of National Institute of Technology, Tiruchirappalli. His research interests include 1) Public key cryptography 2) Randomized Algorithms and 3) Graph theory. C. Pandu Rangan He is currently a Professor in the Department of Computer Science and Engineering of IIT Madras. His research focuses on the design of pragmatic algorithms. His research interests include 1) Restricting the problem domain 2) Approximate algorithm design 3) Randomized algorithms 4)Parallel and VLSI algorithms and 5) Cryptography Applications. He is also a Fellow of Indian National Academy of Engineering (FNAE).