A unidirectional conditional proxy re-encryption scheme based on
non-monotonic access structure
Bin Wang
Information Engineering College of Yangzhou University
No.196 West HuaYang Road, Yangzhou City, Jiangsu Province, P.R.China E-mail: [email protected]
Abstract: Recently, Fang et al. [6] introduced an interactive(bidirectional) conditional proxy re-encryption(C-PRE) scheme such that a proxy can only convert ciphertexts that satisfy access policy set by a delegator. Their scheme supports monotonic access policy expressed by “OR” and “AND” gates. In addition, their scheme is called interactive since generation of re-encryption keys requires interaction between the delegator and delegatee. In this paper, we study the problem of constructing a unidirectional(non-interactive) C-PRE scheme supporting non-monotonic access policy expressed by “NOT”, “OR” and “AND” gates. A security model for unidirectional C-PRE schemes is also proposed in this paper. To yield a unidirectional C-PRE scheme supporting non-monotonic access policy, we extend the unidirectional PRE scheme presented by Libert et al. [8] by using the ideas from the non-monotonic attributed based encryption (ABE) scheme presented by Ostrovsky et al. [9]. Furthermore, the security of our C-PRE scheme is proved under the modified 3-weak Decision Bilinear Diffie-Hellman Inversion assumption in the standard model.
Keywords: Unidirectional conditional proxy re-encryption, The standard model, Non-monotonic access structure, Chosen ciphertext security, Attributed based encryption
1. Introduction
Bob via a re-encryption key and the same key can also be used to translate from Bob to Alice. On the other hand, if the re-encryption key only allows one-way conversion (e.g., from Alice to Bob), then the corresponding PRE scheme is called unidirectional.
The PRE scheme in [4] is bidirectional and CPA secure under DDH assumption. In 2005, Ateniese et al. [2] presented several CPA secure unidirectional PRE schemes based on bilinear pairing. Then Canetti and Hohenberger [5] presented an appropriate definition of chosen ciphertext security(CCA) for bidirectional PRE schemes and the first CCA secure bidirectional PRE scheme. The work in [5] left an open problem to come up with a CCA secure unidirectional PRE scheme. Libert and Vergnaud [8] presented a definition of chosen ciphertext security (CCA) for unidirectional PRE schemes and the first unidirectional PRE scheme with CCA security in the standard model.
Normal PRE schemes allow a semi-trusted proxy to translate ciphertexts from Alice to Bob unconditionally. It is desirable that a proxy can only convert ciphertexts under certain constraints set by the delegator. Shao et al. [12] designed a PRE scheme with keyword search property, which allows a proxy equipped with trapdoor information to test whether a ciphertext from Alice contains one specified keyword. However, it is pointed out [13] that the trapdoor still allows the proxy to convert ciphertexts from Alice without any restriction. On the other hand, Weng et al. [14, 15] introduced the notion of conditional proxy re-encryption (C-PRE) such that only ciphertexts whose keywords satisfy certain conditions set by Alice can be converted by a proxy. They also left it as an open problem to construct a C-PRE scheme supporting access policy consisting of “OR” and “AND” gates over keywords.
of bidirectional C-PRE scheme defined in [5]. CCA security of their C-PRE scheme was proved under the random oracle model. They also left it as an open problem to construct a non-interactive(unidirectional) C-PRE scheme with security in the standard model.
Although Wang et al. [13] defined their CCA security model for unidirectional PRE schemes supporting conjunctive keywords search, their security model is coupled tightly with the notion of conjunctive keywords search. Hence the model in [13] is not suitable for C-PRE schemes supporting generic access structure. In addition, the work in [6] considered security model for interactive(bidirectional) C-PRE schemes and proved security of their construction under the random oracle model.
Sahai and Waters [11] introduced the concept of attribute based encryption (ABE), in which a ciphertext is associated with a set of attributes, and a user’s private key will reflect an access policy over attributes that controls which ciphertexts a user is able to decrypt. The original construction of Sahai and Waters was limited to express threshold access structure. Goyal et al. [7] presented ABE schemes based on access tree in which the private key supports any monotonic access structure. To increase the expressibility of ABE schemes, Ostrovsky et al. [9] designed an ABE construction that supports non-monotonic access structure represented by “NOT”, “OR” and “AND” gates over attributes.
Motivated by the above discussion, we aim to design a unidirectional(non-interactive) C-PRE scheme supporting non-monotonic access structure to enhance the expressibility of C-PRE schemes. The rest of paper is organized as follows. At first, we provide security definitions for unidirectional C-PRE schemes in which a ciphertext is associated with a set of keywords, and a re-encryption key will reflect an access policy that controls which ciphertexts a proxy is able to re-encrypt. Subsequently, we extend the unidirectional PRE scheme [8] to yield a unidirectional C-PRE scheme supporting non-monotonic access structures. Finally our construction is proved to be CCA secure under the standard model.
affects the structure of a user’s secret key in our construction.
2. Preliminaries 2. 1 Bilinear pairing
Given a security parameter
λ
, an efficient algorithmPG
(1 )
λ outputs( , ,
e G G g p
T, , )
,where
G
is a cyclic group of a prime orderp
generated byg
, and2
λ−1< <
p
2
λ.G
Tis a cyclic group of the same order, and let
e G G
:
× →
G
T be a efficiently computablebilinear function with the following properties:
1. Bilinear:
e g
(
a,
g
b)
=
e g g
( , ) ,
ab for alla b
,
∈
Z
p.2. Non-degenerate:
( , )
1
TG
e g g
≠
2.2 Modified 3-wDBDHI assumption
Given
( , ,
e G G g p
T, , )
output byPG
(1 )
λ
, we define two experiments in which an adversary
A
outputs 0 or 1.Experiment 0:
A
is given 2 2 1*
( ,
,
,
,
, ( , ) ), ,
b
a a b
a a
R p
g g
g
g
g e g g
a b
←
Z
.Experiment 1:
A
is given 2 1( ,
g g
a,
g
a,
g
a,
g T
b, )
, *,
R p,
R Ta b
←
Z T
←
G
.The modified 3-weak Decision Bilinear Diffie-Hellman Inversion assumption [8] claims for any polynomial time algorithm
A
, the probability| Pr[
W
0]
−
Pr[
W
1] |
isnegligible, where
W
i is the event thatA
outputs 1 in experimenti
. 2.3 One-time signatureA digital signature scheme
Sig
=
(Gen,S,V)
consists of the following algorithms:1. Gen(
λ
): Outputs a secret/public key pair(
sk pk
,
)
.2. S (
sk m
,
): Given a secret keysk
and a messagem
, then outputs a signatureσ
.by
Sig
=
(Gen,S,V)
in experiment1 ,
( )
Sig SCMA
Exp
λA
.1 ,k
( )
Sig SCMA
Exp
A
The challenger
C
runs(
pk sk
,
)
←
Gen(1 )
λ and setsS
σ← ∅
.* * O-Sig
(
m
,
σ
)
←
A
(
pk
)
.The adversary
A
wins if(
m
*,
σ
*)
∉
S
σ and V(
pk m
,
*,
σ
*)
=1.Advantage of
A
in experiment1 ,
( )
Sig SCMA
Exp
λA
is defined to be the probability thatA
wins in the experiment.The oracle
O-Sig
is defined as follows:O-Sig( )
m
Returns
σ
=
S sk m
(
, )
and updatesS
σ =S
σ∪
{( , )}
m
σ
.A strongly unforgeable one-time signature scheme
Sig
requires that for any PPT adversaryA
who can access the oracleO-Sig
only once, its advantageAdv
OTS in experiment1 ,k
( )
Sig SCMA
Exp
A
is negligible.3. Security definitions and model
3.1 Syntax of unidirectional C-PRE schemes
A unidirectional single-hop C-PRE scheme consists of the following algorithms. A ciphertext is associated with a set of keywords, and a re-encryption key will reflect an access policy over keywords that controls which ciphertexts a proxy is able to re-encrypt.
Setup( )
λ
: Given the security parameterλ
, this algorithm produces a setpar
of global public parameters.Keygen(
par
)
: Givenpar
, this algorithm generates a secret/public key pair(
sk pk
,
)
.key
pk
j of userj
≠
i
and an access structureA
, this algorithm generates a re-encryption key,
i j A
R
→ . We use an algorithm rather than an interactive protocol to implicitly assume that theprocess of generating re-encryption keys is non-interactive.
1
Enc (
par pk m
,
i, )
: Givenpar
, a public keypk
i and a messagem
, this algorithmoutputs a first level ciphertext
CT
1 that cannot be re-encrypted for another party.2
Enc (
par pk m
,
i, , )
γ
: Givenpar
, a public keypk
i, a messagem
and a setγ
ofkeywords(attributes), this algorithm outputs a second level ciphertext
CT
2 that can be re-encrypted into a first level ciphertext.2 ,
ReEnc(
par CT
,
, ,
γ
pk R
i,
i→j A)
: Givenpar
, a re-encryption keyR
i→j A, and a secondlevel ciphertext
CT
2 encrypted underpk
i and a setγ
of keywords, this algorithm outputs afirst level ciphertext
CT
1 encrypted underpk
j whenγ
satisfies access structureA
;otherwise a message “invalid” is returned.1 1
Dec (
par sk CT
,
i,
)
: Givenpar
, a secret keysk
i and a first level ciphertextCT
1, this algorithm outputs a messagem
or a message “invalid”.2 2
Dec (
par sk CT
,
i,
)
: Givenpar
, a secret keysk
i and a second level ciphertextCT
2, this algorithm outputs a messagem
or a message “invalid”.In the following, we will take
par
as implicit input for simplicity. For any messagem
, any couple of secret/public key pair(
sk pk
i,
i)
,(
sk
j,
pk
j)
, the following conditions of correctness should be satisfied:(1)
Dec (
1sk
i, Enc (
1pk m
i, ))
=m
;Dec (
2sk
i, Enc (
2pk m
i, , ))
γ
=m
;(2) If
γ
satisfies the access structureA
, the following should hold:1
CT
=ReEnc(Enc (
2pk m
i, , ), ,
γ γ
pk
i, ReKeygen(
sk pk A
i,
j, ))
,1 1
3.2 Security of second level ciphertexts
Init: As in [8], the adversary
Ad
determines the target useri
*, the corrupted users anddeclares a set
γ
* of keywords that he wishes to be challenged upon at this stage.Setup: The challenger
C
runsSetup( )
λ
to produce the global public parameterspar
and generates key pairs as follows:* *
KeyGen( )
⋅ →
(
pk sk
,
)
,KeyGen( )
⋅ →
(
pk sk
x,
x)
,KeyGen( )
⋅ →
(
pk sk
h,
h)
.* *
(
pk sk
,
)
is the key pair for the honest target useri
*. Key pairs subscripted byh
orh
/represents honest parties and corrupted key pairs are subscripted by
x
orx
/.Phase 1:
Ad
takespk
*,{
pk
h}
,{
pk sk
x,
x}
as input and issue queries to oraclesO
rekey,renc
O
andO
dec−1.Challenge:
Ad
outputs two equal-length messages(
m m
0,
1)
. The challengerC
flips arandom bit
b
and returnsCT
2*=Enc (
2pk m
*,
b,
γ
*)
.Phase 2:
Ad
still issues queries to oraclesO
rekey,O
renc andO
dec−1.Guess:
Ad
outputs a bitb
/.The advantage of the adversary in this game is
ε
=
| Pr[
b
/= −
b
] 0.5 |
. A C-PRE scheme is CCA secure at level 2 ifε
is negligible.The re-encryption key oracle
O
rekeyGiven a tuple
(
pk pk A
i,
j, )
, this oracle proceeds as follows:(1) If both
pk
i andpk
j are honest, returnsR
i→j A,←
ReKeygen(
sk pk A
i,
j, )
;(2) If the honest
pk
i=pk
*,pk
j is corrupted andγ
*does not satisfyA
, returns* ,
i j A
The re-encryption oracle
O
rencGiven a tuple
((
CT
2, ,
γ
pk
i),
pk A
j, )
, whereCT
2 is a second level ciphertext encryptedunder
(
pk
i,γ
)
, andpk pk
i,
j are public keys produced byKeygen
, this oracle proceeds as follows:(1) If
pk
i=pk
*,pk
j is corrupted andDec (
2sk CT
*,
2) {
∈
m m
0,
1}
, returns a message “invalid” since re-encryption may leak information about the challenge bitb
in this case.(2) If
γ
satisfies the access structureA
, computesR
i→j A,←
ReKeygen(
sk pk A
i,
j, )
and returns the first level ciphertext
CT
1←
ReEnc((
CT pk
2,
i, ),
γ
R
i→j A,)
. Otherwise, outputs a message “invalid”.First level decryption oracle
O
dec−1Given a tuple
(
pk CT
i,
1)
, whereCT
1 is a first level ciphertext encrypted under the publickey
pk
i, this oracle proceeds as follows:(1) If
(
pk CT
i,
1)
is a derivative of the challenge pair(
pk CT
*,
2*)
, returns a message “invalid”.(2) Otherwise, returns
m
←
Dec (
1sk CT
i,
1)
.A Derivative
(
pk CT
i,
1)
of the challenge pair(
pk CT
*,
2*)
in this game is defined as follows:If
CT
1 is a first level ciphertext andpk
i=pk
* , orpk
i belongs to a honest user,1
(
pk CT
i,
)
is a derivative of the challenge pair ifDec (
1sk CT
i,
1) {
∈
m m
0,
1}
.3.3 Security of first level ciphertexts
Setup: The challenger
C
runsSetup( )
λ
to produce the global public parameterspar
and generates key pairs in the same way as described previously:* *
KeyGen( )
⋅ →
(
pk sk
,
)
,KeyGen( )
⋅ →
(
pk sk
x,
x)
,KeyGen( )
⋅ →
(
pk sk
h,
h)
.Phase 1: The adversary
Ad
who takes as inputpk
*,{
pk
h}
,{
pk sk
x,
x}
can issuequeries to oracles
O
rekey,O
dec−1.Challenge:
Ad
outputs two equal-length message(
m m
0,
1)
. The challengerC
flips arandom bit
b
and returnsCT
1*=Enc (
1pk m
*,
b)
.Phase 2:
Ad
still issues queries to the oracleO
dec−1.Guess: The adversary outputs a bit
b
/.The advantage of the adversary in this game is
ε
=
| Pr[
b
/= −
b
] 0.5 |
. A C-PRE scheme is CCA secure at level 1 ifε
is negligible.The re-encryption key oracle
O
rekeyGiven a tuple
(
pk pk A
i,
j, )
, this oracle returns ,i j A
R
→←
ReKeygen(
sk pk A
i,
j, )
. This means that the adversary is allowed access to all re-encryption keys without any restriction.First level decryption oracle
O
dec−1Given a tuple
(
pk CT
i,
1)
, whereCT
1 is a first level ciphertext encrypted under the publickey
pk
i, this oracle proceeds as follows:If
(
pk CT
i,
1)
is a derivative of the challenge pair(
pk CT
*,
1*)
, returns a message“invalid”. Otherwise, returns
m
←
Dec (
1sk CT
i,
1)
.A Derivative
(
pk CT
i,
1)
of the challenge pair(
pk CT
*,
1*)
in this game is defined as follows:challenge pair if
Dec (
1sk CT
i,
1) {
∈
m m
0,
1}
.Ateniese et al. [2] defined a security notion called master secret security for unidirectional PRE schemes. This notion requires that no coalition of dishonest delegatees be able to pool their re-encryption keys in order to expose the secret key of their common delegator. It is discussed in [6, 8] that CCA security at level 1 implies master secret security for single-hop PRE schemes.
4. Our C-PRE scheme
Setup( )
λ
: Given( , ,
e G G g p
T, , )
output byPG
(1 )
λ , picks generators *1 2
(
g u v
, , )
←
G g
,
=
g
w,
w
←
Z
p and a strongly unforgeable one-time signature scheme(
, , )
Sig
=
Gen S V
. Let parameterd
specifies the exact number of keywords that every secondlevel ciphertext has. We associate each keyword with a unique element in
Z
*p.Then chooses two random polynomials
h x
( )
andq x
( )
of degreed
subject to theconstraint
q
(0)
=w
−1mod
p
. We also define two functionsT x
( )
=
g
1xd⋅
g
2h x( ) and ( )2
( )
q xV x
=
g
that are publicly computable by interpolation. The setpar
of publicparameters is
( , , ,
g u v g g g
1,
2,
2q(0)=
g
,
,
g
2q d( ),
g
2h(0),
,
g
2h d( ),
Sig
)
.Keygen
: Picks(
x
i1,
x
i2)
←
Z
*p and sets a secret/public key pair for useri
as1 2
1 2 1 2
(
,
),
(
xi,
xi)
i i i i i i
sk
=
x x
pk
=
X
=
g
X
=
g
.ReKeygen(
sk pk A
i,
j, )
: Given the secret keysk
i of useri
, the public keypk
j ofuser
j
and a non-monotonic access structureA
, useri
generates a re-encryption keyR
i→j A,as follows:
primed keyword
p
/. LetP
/={
p
/|
p
∈
P
}
. Then define a monotonic access structureA
overP
=P
/∪
P
in such a way thatS
∈
A
if and only ifN S
( )
∈
A
, whereN
( )
⋅
is an operatordefined as
N S
( )
=S
∪
{
p
/∈
P
/|
p
∈
P S
\ }
. That is,N S
( )
consists of all the keywords inS
plus the primed part of all the keywords that are not inS
.Let
A
be associated with a linear secret sharing mechanism∏
. Then useri
applies∏
over the setP
to obtain shares{ }
λ
k of the secretx
i2−1. For each keywordp
k∈
P
(theunderlying unprimed keyword is
p
k), a randomr
k←
Z
p is chosen:If
p
k=p
k is unprimed,D
k=(
(1) 1k(
) ,
rk (2) 2rk)
k j k k i
D
=
X
λ⋅
T p
D
=
X
.If
p
k=p
k/ is primed,D
k=(
(3) 1 k rk,
(4)(
) ,
rk (5) 2rk)
k j k k k i
D
=
X
λg
D
=
V p
D
=
X
.The re-encryption key
R
i→j A, ={
}
kk p P
D
∈ .1
Enc (
pk m
i, )
: Given a public keypk
i and a messagem
, this algorithm proceeds as follows:(1) Chooses
r
←
Z
p and generates a fresh one-time signature key pair(
ssk svk
,
)
←
Gen
( )
λ
;(2)
C
1=
svk C
,
2/=
e g X
( ,
i1) ,
rC
3=
e g g
( , )
r⋅
m
, 4(
)
svk r
C
=
u v
;(3) Generates a one-time signature
σ
=
S ssk m C
(
,
||
3||
C
4)
;The first level ciphertext
CT
1=(
C C C C
1,
2/,
3,
4, )
σ
.2
Enc (
pk m
i, , )
γ
: Given the public keypk
i, a messagem
and a setγ
ofd
keywords,outputs a second level ciphertext
CT
2 that can be re-encrypted into a first level ciphertext as follows:(1) Chooses
r
←
Z
p and generates a fresh one-time signature key pair(
ssk svk
,
)
;5
{ ( ) }
,
6{ ( ) }
p r p r
p p
C
=
T p
∈γC
=
V p
∈γ;(3) Generate a one-time signature
σ
=
S ssk m C
(
,
||
3||
C
4)
.The second level ciphertext
CT
2=(
C C C C C
1,
2,
3,
4,
5p,
C
6p, )
σ
.2 ,
ReEnc((
CT
, ,
γ
pk
i),
R
i→j A)
: Given a re-encryption key ,i j A
R
→ and a second levelciphertext
CT
2 encrypted under(
pk
i, )
γ
, ifγ
satisfies access structureA
, this algorithmoutputs a first level ciphertext
CT
1 encrypted underpk
j as follows:(1) Parses
CT
2 asC
1=
svk C
,
2=
X
i2r,
C
3=
e g g
( , )
r⋅
m C
,
4=
(
u v
svk)
r5
{ ( ) }
,
6{ ( ) }
p r p r
p p
C
=
T p
∈γC
=
V p
∈γ,σ
(2) Recall that
A
induces a monotonic access structureA
. Denoteγ
/=
N
( )
γ
. Asγ
satisfies access structure
A
,γ
/ is authorized inA
by previous definition of the operator( )
N
⋅
. LetI
=
{ :
k p
k∈
γ
/}
. A set of coefficients{
ω
k}
k I∈ can be efficiently computed such that k k i2 1k I
ω λ
x
−
∈
=
∑
[3].For every unprimed attribute
p
k=
p
k∈
γ
/, (sop
k∈
γ
by definition of the operator( )
N
⋅
), we proceeds as follows:(2.1) Extracts
D
k=(
(1) 1 k(
) ,
rk (2) 2rk)
k j k k i
D
=
X
λ⋅
T p
D
=
X
from the re-encryption key;(2.2) Computes
Z
k=(
(1),
2)
(
(2),
5pk)
k k
e D
C
e D
C
=
(
xj1k(
) ,
rk x ri2)
(
x ri2k, (
) )
rk k
e g
λ⋅
T p
g
e g
T p
= 1 2( , )
x xj i kre g g
λFor every primed attributed
p
k=
p
k/∈
γ
/ (sop
k∉
γ
by definition), let{
}
k
p
kγ
=
γ
∪
. Note that|
γ
k|
= +
d
1
and recall that the degree of the polynomialq
( )
⋅
isd
.Using the keywords in
γ
k as an interpolation set, we compute lagrangian coefficients{
}
kp p γ
σ
∈such that
( )
(0)
(log
2)
1k p g
p γ
σ
q p
q
g
−
∈
=
=
∑
. Then we proceeds as follows:λ
re-encryption key and computes: k
Z
= (3) 2 (5) (4) 6 2(
,
)
(
,
(
) ) (
p,
)
pkk p
k p k
e D
C
e D
∏
∈γC
σe D
C
σ =1 2
2 2
(
,
)
(
,
( ( ) ) ) ( (
) ,
)
k j k ip p
i k k i k
x r x r
x r r r x r
k p
e g
g
g
e g
V p
e V p
g
λ σ σ γ ∈
∏
=1 2 2
2 ( ) ( ) 2
2 2
(
,
) (
,
)
(
,
(
) ) (
,
)
j k i k i
p p
i k k k i k
x x r r x r
x r q p r q p r x r
p
e g
g
e g
g
e g
g
e g
g
λ σ σ γ ⋅ ∈
∏
=2 1 2
2 ( )
2
(
,
) (
,
)
( ,
)
i j k k i
i k p p k
x x r r x r
x r r q p
e g
g e g
g
e g g
γλ
σ ∈
∑
=( , )
j1i2 kx x r
e g g
λFinally we have k
k k I
Z
ω ∈
∏
=( , )
x x rj1i2 ( k I k k)e g g
⋅∑
∈ω λ =1 2 2
( , )
j i i rx x xe g g
= 1( , )
rxje g g
.The first level ciphertext
CT
1=(
C C
1,
2/=
e g X
( ,
j1) ,
rC C
3,
4, )
σ
.1 1
Dec (
sk CT
i,
)
: Given a secret keysk
i and a first level ciphertextCT
1, this algorithm proceeds as follows:(1) Parses
CT
1 as(
C C C C
1,
2/,
3,
4, )
σ
;(2) Computes 1
1 / 2 i
x
C
=( ,
i1)
i1( , )
r
x x r
e g g
=
e g g
andm
=C e g g
3( , )
r ; (3) TestsV C m C
(
1,
||
3||
C
4)
=
1
(V1)If relation V1 does not hold, outputs a message “invalid”; otherwise outputs
m
.2 2
Dec (
sk
i, (
CT
, ))
γ
: Given a secret keysk
i and a second level ciphertextCT
2, this algorithm proceeds as follows:(1) Parses
CT
2 as(
C C C C C
1,
2,
3,
4,
5p,
C
6p, )
σ
;(2) Tests 1
2 2 4
(
, (
C))
(
i,
)
e C
u v
=
e X
C
(V2)If relation V2 does not hold, outputs a message “invalid”.
(3) Otherwise, computes
2 2 2
3
1 1
2
( , )
( ,
)
i( ,
i)
ir
x x r x
C
e g g
m
m
e g C
e g g
⋅⋅
=
=
;(4) If relation V1 does not hold, outputs a message “invalid” ; otherwise outputs
m
.d
keywords, this restriction can be mitigated by using the method proposed in [9].Theorem 1: Assume that the one-time signature scheme is strongly unforgeable. Our scheme is
CCA secure at level 2 under the modified 3-wDBDHI assumption.
Proof: Let 2
1
1 1 2
( ,
g A
g
a,
A
g
a,
A
g
a,
B
g T
b, )
−
=
=
=
=
be a modified 3-wDBDHI instance.We build an algorithm
B
A deciding whetherT
=( , )
2b a
e g g
from a successful CCA adversaryAd
at level 2 with advantageε
.Init: The adversary
Ad
determines the target useri
*, the corrupted users and declares aset
γ
* ofd
keywords to be challenged upon.Setup:
B
A picks a one-time signature schemeSig
=
(
Gen S V
, , )
such that the maximalprobability
δ
that any public key can be selected should be less than2
−λ as in [8].B
Agenerates a fresh one-time signature key pair
(
ssk svk
*,
*)
and setsu
= 11
A
α ,v
= 1 * 21 2
svk
A
− ⋅α⋅
A
α ,g
1=
(
A
1) ,
μg
2=
A
2,
α α μ
1,
2,
←
Z
p*.Having chosen a random degree
d
polynomialf x
( )
,two random degreed
polynomials
u x
( )
andh x
( )
are defined as follows:Let
γ
* ={
p
1*,
,
p
*d}
.B
A setsu x
( )
=−
x
d for allx
∈
γ
* andu x
( )
≠
−
x
d forsome(arbitrary)
x
∉
γ
* . This ensures thatu x
( )
=−
x
d if and only ifx
∈
γ
* . Let( )
h x
=(
a
−1⋅ ⋅
μ
u x
( )
+
f x
( ))
. HenceT x
( )
=
g
1xd⋅
g
2h x( )=g
1xd+u x( )⋅
g
2f x( ) can be publicly computed for arbitraryx
.Then
B
A picks{ ,
θ
1,
θ
d}
←
Z
*p and implicitly defines a random degreed
polynomial
q x
( )
such thatq
(0)
=(
a
2)
−1,q p
(
i*)
=θ
i,1
≤ ≤
i
d
. We haveg
2q(0)=g
and ( )2
( )
q xKey generation: Public key of an honest user
i
∈
HU
\ { }
i
* is defined as1
i
X
=g
axi1= 11 i
x
A
,X
i2=g
xi2 for randomly chosen *1
,
2i i p
x x
←
Z
. The target user’s public keyis set as
X
i*1= *1 ia x
g
⋅ =A
1xi*1, *2i
X
=2
*2 *2
2
i i
a x x
g
⋅=
A
for randomly chosen * **
1
,
2 pi i
x
x
←
Z
.Key pair of a corrupted user
j
is set asX
j1= xj1g
,X
j2= xj2g
for randomly chosen *1
,
2j j p
x
x
←
Z
.Given a tuple
(
pk pk A
i,
j, )
chosen byAd
, the re-encryption key oracleO
rekey issimulated by
B
A as follows:Let
∏
be the linear secret sharing mechanism associated with the monotonic accessstructure
A
induced byA
over a setP
. LetM
be the share-generating matrix for∏
with
l
rows andn
columns. Each rowM
k ofM
is labeled by a keyword namedp
k∈
P
and
p
k is the unprimed keyword underlyingp
k. We list the following propositions:Proposition 1 [3]: Assume
Q
is not an authorized set in the access structureA
.(1, 0,
, 0)
n
is linearly independent of the rows
M
Q, whereM
Q is the sub-matrix ofM
containing thoserows labeled by keywords in
Q
.Proposition 2 [1, 10]: A vector
π
is linearly independent of a matrixN
if and only if thereexist a vector
θ
which can be efficiently computed such thatN
⋅ =
θ
0
whileπ θ
⋅ =
1
. Then we consider the following cases:(1)
i
=i
*,j
∈
CU
andγ
*does not satisfyA
:When
A
is not satisfied byγ
*,γ
*/=
N
(
γ
*)
is not an authorized set inA
. According to Proposition 1 and 2, there exists a column vectorθ
=
( ,
θ
1,
θ
n)
T such thatM
γ*/⋅ =
θ
0
and
(1, 0,
, 0)
11
n
θ θ
⋅ = =
.*
2 1
2
(
i)
s
=
a
⋅
x
− . Note thatS
is uniformly distributed subject to the constraint that the firstcomponent is
s
. LetM S
⋅
T be the vector ofl
shares for the secrets
. LetM
k be therow labeled by
p
k∈
γ
*/, we have thatM
k⋅ =
θ
0
by Proposition 2. Hence the sharek
λ
=M
k⋅
S
T=M
k⋅
R
T, which has no dependency ons
.(1.1) For a unprimed keyword
p
k=
p
k∈
γ
*⊆
γ
*/,B
A picks a randomr
k←
Z
p and outputs the following:k
D
= *(1) (2)
1 2
(
k(
) ,
rk rk)
k j k k i
D
=
X
λ⋅
T p
D
=
X
The above is computable since the share
λ
k is independent of *2 1
2
(
a
⋅
x
i)
− by the above-mentioned discussion.(1.2) For a unprimed keyword
p
k=
p
k∉
γ
*,λ
k is linearly dependent on *2 1
2
(
a
⋅
x
i)
− .A
B
picks a randomr
k/←
Z
p , implicitly defines1 1
/
(
)
(
)
(
)
j k
k k d
k k
a
x
r
r
p
u p
μ
−⋅
⋅
λ
= −
+
and outputsk
D
=(
D
k(1),
D
k(2))
as follows:(1)
k
D
= 1 ( ) ( ) ( )1
(
)
(
)
(
1 2)
d j
k rk x k pk u pk f pk rk
j k
X
λ⋅
T p
=
g
λ⋅
g
+⋅
g
= 1 1 / 1 ( ) ( ) ( ) ( ) ( ) ( ) 1 2
(
)
(
)
j k k d dj k k k k k k
a x
r
x p u p f p p u p
g
g
g
μ λ λ −⋅ ⋅ − + +
⋅
⋅
= / ( ) ( ) ( ) 1 2(
g
pk d+u pk⋅
g
f pk)
rk1 1
( ) ( ) ( )
k j k d k k
f p x a
p u p
g
μ λ− ⋅ ⋅ ⋅ ⋅ − + = 1 1 / ( ) ( ) ( ) ( ) ( ) ( ) 1 2(
) (
)
k j d dk k k k k k k
f p x
p u p f p r a p u p
g
g
g
μ λ − ⋅ ⋅ − +
⋅
⋅ + (2) kD
= *2 k r iX
= 1 1 / * 2 ( ) ( ) ( ) 2(
)
j k k di k k
a x
r
x p u p
A
μ−⋅ ⋅λ − + = 1 1 *2 /*2 ( ) ( ) 2
(
)(
)
j i d k
i k k k
x x
x r a p u p
A
g
μ λ −⋅ ⋅ − ⋅ +As
λ
k is linearly dependent on *2 1
2
(
a
⋅
x
i)
− ,g
a⋅λkcan be computed via 1A
− andA
1.k
λ
is linearly dependent on *2 1
2
(
a
⋅
x
i)
− .B
A picks a randomr
k/←
Z
p, and implicitlydefines
r
k=r
k/− ⋅
λ
kx
j1. Then outputsD
k=(
D
k(3),
D
k(4),
D
k(5))
as follows: (3)k
D
= 1 k rk rk/j
X
λg
=
g
(4)
(
)
rkk k
D
=
V p
=/ 1
( )
2
(
g
)
θpk⋅rk− ⋅λkxj = /1
2 2
(
A
)
rk⋅θpk⋅
(
A
λk)
−xj⋅θpk*2 k r i
X
= 2 / *2 ( 1)(
g
a x⋅i)
rk− ⋅λk xj =/ 2
*2 1 *2
2
(
r xk i) (
a k)
xj xiA
⋅⋅
g
⋅λ − ⋅2 k
a
g
⋅λ can be computed viaA
2 sinceλ
k is linearly dependent on *2 1
2
(
a
⋅
x
i)
− .(1.4) For a primed keyword
p
k=
p
k/∈
γ
*/ (the underlying unprimed keywordp
k∉
γ
*),k
λ
is independent of *2 1
2
(
)
i
a
⋅
x
− .B
A picks a randomr
k←
Z
p , Then outputs the following:k
D
=(
(3) 1 k rk,
(4)(
) ,
rk (5) *2rk)
k j k k k i
D
=
X
λg
D
=
V p
D
=
X
(2)
i
=i
* andj
∈
HU
\ { }
i
* :(2.1) For a primed keyword
p
k=
p
k/ ,B
A picks a randomr
k←
Z
p and outputsk
D
=(
D
k(3),
D
k(4),
D
k(5))
as follows: (3)k
D
= 1 11
(
)
j k j
k rk a x rk a k x rk
j
X
λg
=
g
⋅ λg
=
g
⋅λg
(4)(
)
rkk k
D
=
V p
(5)
k
D
= *2 kr i
X
*22 k i
r x
A
⋅=
As
λ
k may be linearly dependent on *2 1
2
(
a
⋅
x
i)
− ,g
a⋅λkcan be computed via 1A
− and1
A
.(2.2) For a unprimed keyword
p
k=
p
k ,B
A picks a randomr
k←
Z
p and outputsk
D
=(
D
k(1),
D
k(2))
as follows: (1)k
D
= 1k(
)
rkj k
X
λ⋅
T p
= 1(
a k)
xj(
)
rkk
g
⋅λ⋅
T p
(2)
k
D
= *2 kr i
X
= *22 k i
r x
Similarly,
g
a⋅λk can be computed via 1A
− andA
1.(3) If
i
∈
HU
\ { }
i
* : This can be handled easily since we know the shared secretx
i2 in this case.Finally, returns the re-encryption key ,
i j A
R
→ ={
D
k}
.Let the challenge second level ciphertext
CT
2*=(
svk C C C C
*,
2*,
3*,
4*,
5p*,
C
6p*,
σ
*)
andb
m
be the encrypted challenge message. Then we define an eventF
OTS as follows and bound its probability to occur in a way similar to [8].(1) The adversary issues a re-encryption query in which
2
CT
=(
svk C C C C
*,
2,
3,
4,
5p,
C
6p, )
σ
andm
is the implicit message embedded inCT
2 suchthat
(
m C
||
3||
C
4, )
σ
≠
(
m
b||
C
3*||
C
4*,
σ
*)
and*
3 4
(
,
||
||
, )
1
V svk m C
C
σ
=
.(2) The adversary issues a first level decryption query in which
CT
1=(
svk C C C
*,
2/,
3,
4, )
σ
and
m
is the implicit message embedded inCT
1 such that* * *
3 4 3 4
(
m C
||
||
C
, )
σ
≠
(
m
b||
C
||
C
,
σ
)
andV svk m C
(
*,
||
3||
C
4, )
σ
=
1
.As the adversary has no information on
svk
* before the challenge phase, the probability of occurrence ofF
OTS in phase 1 can be bounded by2
O O
q
q
⋅ ≤
δ
λ , whereq
O is the total number of oracle queries made by the adversary andδ
is the maximal probability that any one-time public key can be selected.During the guess phase, the event
F
OTS could be used to construct an algorithm breakingstrong unforgeability of the one-time signature scheme. Therefore
Pr[
]
2
OTS O
OTS
q
F
≤
λ+
Adv
.The re-encryption oracle
O
renc is simulated as follows:Given a tuple
((
CT
2, ),
γ
pk pk A
i,
j, )
chosen by the adversary,B
A proceeds as follows:(2) If
A
is not satisfied byγ
or relation V2 does not hold, outputs a message “invalid”;(3) If
i
∈
HU
\ { }
i
* orj
∉
CU
,B
A makes a query to the oracleO
rekeyand re-encrypts by using the returned re-encryption key.(4) If
i
=
i
*,j
∈
CU
, we consider the following sub-cases:(4.1)
C
1=svk
*: If( ,
m C C
3,
4, )
σ
=
(
m C C
b,
3*,
4*,
σ
*)
in this situation, we havem
=
m
b. But we should return “invalid” by our convention for the re-encryption oracle presented in section 3.2. In addition,C
1=svk
*∧
( ,
m C C
3,
4, )
σ
≠
(
m C C
b,
3*,
4*,
σ
*)
implies an occurrence ofF
OTS.Hence
B
A halts whenC
1=svk
* at step (4.1).(4.2)
C
1≠
svk
*: AssumingC
4=
(
u v
svk)
r, relation V2 guarantees that 2(
*2)
r i
C
=
X
. So*2 *2 *2
1 1
2
(
2)
2i i i
x r x x r
C
=
A
⋅=
A
, 4(
svk)
rC
=
u v
= 1( *) 21 2
(
A
α svk svk−⋅
A
α)
r ,B
A computes* 1 2 *2
1
( )
4
2
(
)
i
svk svk x
C
C
α α
−
=
A
1r, 11 1
(
r,
xj)
e A
A
− =e g X
( ,
j1)
r=C
2/ . LetCT
1=(
C C C C
1,
2/,
3,
4, )
σ
. If1 1 0 1
Dec (
sk CT
j,
) {
∈
m m
,
}
, returns a message “invalid”. Otherwise, returnsCT
1.The first-level decryption oracle
O
dec−1 is simulated as follows:Given a tuple
(
pk CT
i,
1)
, whereCT
1 is a first level ciphertext encrypted under a publickey
pk
i,B
A proceeds as follows:(1) Parses
CT
1 as(
C C C C
1,
2/,
3,
4, )
σ
;(2) If
i
∈
CU
, decrypts the ciphertext by the known secret key;(3)
i
∈
HU
,C
1=svk
*: Assuming( ,
m C C
3,
4, )
σ
=
(
m C C
b,
3*,
4*,
σ
*)
, we should output amessage “invalid” to indicate that
CT
1 is a Derivative of the challenge(
pk CT
*,
2*)
. Otherwise,* * *
3 4 3 4
( ,
m C C
,
, )
σ
≠
(
m C C
b,
,
,
σ
)
means that we either face with an occurrence of the eventOTS
F
orB
A should output a message “invalid” to indicate that relation V1 does not hold. HenceA