A non-delegatable identity-based strong designated
verifier signature scheme
Bin Wang
Information Engineering College of Yangzhou University Yangzhou City, Jiangsu Province, 225009, P.R.China
E-mail:[email protected]
Abstract: In a strong designated verifier signature scheme, no third party can verify the validity of a signature. On the other hand, non-delegatability, proposed by Lipmaa, Wang and Bao, is another stronger notion for designated verifier signature schemes. In this paper, we formalize a security model for non-delegatable identity based strong designated verifier signature (IDSDVS) schemes. Then a novel non-delegatable IDSDVS scheme based on pairing is presented. The presented scheme is proved to be non-delegatable, non-transferable and unforgeable under the Gap Bilinear Diffie-Hellman assumption.
Keywords: Strong designated verifier signature, Non-delegatability, Bilinear pairing, Gap Bilinear Diffie-Hellman assumption, Random oracle model;
1. Introduction
Jacobsson et al. [2] also introduced a stronger notion of designated verifier signature, called strong designated verifier signature (SDVS). In a SDVS scheme, no third party can verify the validity of a signature without the knowledge of the designated verifier’s secret key. In 2003, Saeednia formalized the notion of strong designated verifier signature(SDVS) [7] and proposed an efficient scheme in their paper. Later, Susilo et al. [8] proposed an identity based SDVS scheme which is only an identity based variant of the scheme of [7].
On the other hand, Lipmaa et al. [5] described another stronger notion of designated verifier signature, called non-delegatability. That is, there exists an efficient knowledge extractor that can extract either the signer’s secret key or the designated verifier’s secret key, when given oracle access to an adversary who can create valid signatures with a high probability. Recently, Zhang and Mao [9] proposed an identity based strong designated verifier signature (IDSDVS) scheme which is claimed to offer non-delegatability. However, Kang et al. [3] showed that Zhang-Mao scheme can not satisfy the strongness property. That is, Zhang-Mao scheme allows anyone who intercepts one signature to verify subsequent signatures. In addition, Kang et al. [4] also proposed an IDSDVS scheme and claimed that the security of their scheme is related to the bilinear Diffie-Hellman problem.
Nevertheless, we show that Kang et al.’s scheme presented in [4] is also vulnerable to the attack described in [3]. The essence of this attack is that the schemes in [4, 9] are delegatable. An effective solution to this problem is to design a non-delegatable IDSDVS scheme. Although Kang et al. [3] presented an efficient IDSDVS scheme, which uses hash operations to destroy algebraic structure of the produced signature in order to avoid the attack described in [3], it is not difficult to show that their scheme is also delegatable. Furthermore, no formal security proof is presented for their scheme in [3].
enjoys a tight reduction without using the Forking Lemma. Finally, we compare the efficiency with other related IDSDVS schemes.
2. Preliminaries
2.1 Bilinear pairing
Let
<
G
1,
+ >
be a cyclic additive group generated byP
, whose order is a large primeq
,<
G
2,
i
>
be a cyclic multiplicative group of the same order, and lete G
:
1×
G
1→
G
2 be a bilinear pairing with the following properties:1. Bilinear: For any
Q
,R
,T
∈
G
1 ,e Q
(
+
R T
, )
=
e Q T e R T
( , ) ( , )
i
and( ,
)
( , ) ( , )
e Q R T
+
=
e Q R e Q T
i
2. Non-degenerate: There exists
R
,T
∈
G
1, such thate R T
( , )
≠
1
3. Computable: There exists an efficient algorithm to compute
e R T
( , )
for anyR
,T
∈
G
1.2.2 Notation
If
A
is a randomized algorithm, then 1( ), 2( ),1 2
( ,
,
)
O O
y
←
A
⋅ ⋅x x
means thatA
has inputx x
1,
2,
, access to oraclesO O
1,
2,
, and the output ofA
is assigned toy
. We use the notationx
∈
RS
to mean “the element x is chosen with uniform probability fromthe set S”.
2.3 Complexity assumptions
Definition 1: Bilinear Diffie-Hellman(BDH) Problem in
(
G G
1,
2)
: Given1
,
,
,
P a P b P c P
⋅
⋅
⋅ ∈
G
for some unknowna b c
, ,
∈
Z
q, compute( , )
2abc
d
=
e P P
∈
G
.Definition 2: Decisional Bilinear Diffie-Hellman(DBDH) Problem in
(
G G
1,
2)
:( , )
abcz
=
e P P
holds.Definition 3: Gap Bilinear Diffie-Hellman(GBDH) Problem in
(
G G
1,
2)
: Given1
,
,
,
P a P b P c P
⋅
⋅
⋅ ∈
G
for some unknowna b c
, ,
∈
Z
q , computed
=
e P P
( , )
abc∈
G
2with the help of a DBDH oracle
O
DBDH.Remark: A DBDH oracle
O
DBDH outputs 1 if( , )
abcz
=
e P P
and 0 otherwise. The success probability of an algorithmA
in solving the GBDH problem in(
G G
1,
2)
is
1, 2 ( ) Pr[ ( , , , ) ( , ) : , , ]
DBDH
O
GBDH abc
G G q
Succ A = A P a P b P c P⋅ ⋅ ⋅ =e P P a b c∈Z .
A
( , )
t
ε
-GBDH solverA
is a probabilistic polynomial-time algorithm running in time at mostt
such that the success probability1, 2 ( )
GBDH G G
Succ A
≥
ε
. We say that(
G G
1,
2)
satisfies the GBDH assumption if there is no polynomial time
( , )
t
ε
-GBDH solverA
with advantageε
non-negligible.3. Weakness of Kang et al’s scheme [4]
3.1 Review ofKang et al’s scheme [4]
1. Setup: Let
<
G
1,
+ >
be a gap Diffie-Hellman group generated byP
, whose order is a large primeq
,<
G
2,
i
>
be a cyclic multiplicative group of the same order, and let1 1 2
:
e G
×
G
→
G
be a bilinear map. Then PKG (private key generation centre) picks a random number s *q
Z
∈ as the master secret key and sets the master public key to
pub
P
=s P⋅ .H H
1,
2 are two cryptographic hash functions* 1
:{0,1}
1,
H
→
G
H2:{0,1}* →Zq*.The public system parameters are
<
G G P P
1,
2, ,
pub,
H H e q
1,
2, ,
>
.secure channel.
3.Sign: To sign a message m intended for a verifier Bob with identity
ID
B, a signer Alice with identityID
A picks a random number k *q
Z
∈ and computes
t
=e P Q
( ,
B)
k,T
= ⋅ +
k P
H m t S
2( , )
A,σ
=e T Q
( ,
B)
. The signature on m is( , )
σ
t
.4.Verify: Given the system parameters,
Q
A=
H ID
1(
A)
, and the signature( , )
σ
t
on the signed message m, the correctness of( , )
σ
t
can be verified by Bob as follows:
(
,
)
H2( , )m tA B
t e Q S
σ
= ⋅
5.Signature Simulation: Bob can produce the simulated signature
σ
intended for him as follows:(1) Picks a random number
k
∈Zq*.(2) Computes
t
=e P Q
( ,
B)
k,(
,
)
H2( , )m tA B
t e Q S
σ
= ⋅
.3.2 Attack onKang et al’s scheme [4]
An adversary who intercepts the signature
( , )
σ
t
can computee Q S
(
A,
B)
as follows:(
A,
B)
e Q S
=(σ
t)(H2( , ))m t 1− .
Thus it is easy to see that the adversary can verify the correctness of subsequent signatures and simulate valid signatures intended for Bob via
e Q S
(
A,
B)
. The essence of this attack is that Kang et al’s scheme [4] is delegatable. That is, anyone who has the knowledge of the trapdoore Q S
(
A,
B)
can verify the correctness of signatures and simulate valid signatures. An effective solution to this problem is to design a non-delegatable IDSDVS scheme. The notion of delegatability is discussed in subsection 4.2.3.presented for their scheme in [3]. In the following, we focus on establishing a security model for non-delegatable IDSDVS schemes and present a scheme secure under this model.
4. Formal model of IDSDVS schemes
4.1 Definition of IDSDVS schemes
An IDSDVS scheme consists of the following polynomial-time algorithms:
1. MasterKeyGen(Master Key Generation): On input a security parameter k∈ Ν, it generates a list of system parameters params, and a master public/secret key pair
(
mpk msk
,
)
. This algorithm is assumed to be run by a Key Generation Center (KGC).2. KeyGen(User Key Generation): On input msk, an identity
ID
∈
{0,1}
*, it generates a secret keysk
ID ←KeyGen(
ID msk
,
)
. This algorithm is run by the KGC for each user and the generated secret key is assumed to be distributed securely to the corresponding user.3. SDV_Sign(Signature Generation): On input a signer’s secret key S
ID
sk
, a verifier’sidentity
ID
D and a message m , it generates a signature by executingDV
σ
←SDV_Sign(
,
, )
SID D
sk
ID m
. We require that the signer’s identityID
S≠
ID
D since it is meaningless to generate a signature to be verified only by the signer.4. SDV_Verf(Signature Verification): On input the signer’s identity
ID
S, the verifier’s secret keyD
ID
sk
, the signed message m and the signatureσ
DV, SDV_Verf returns 1 ifDV
σ
is accepted, and 0 otherwise.5. SDV_Sim(Signature Simulation): On input the signer’s identity
ID
S, the verifier’s secret keyD
ID
sk
, and a message m , it generates a simulated signatureDV
σ
←SDV_Sim(
,
, )
D
ID S
sk
ID m
.Consistency:
∀
m
∈
{0,1}
*,ID
∈
{0,1}
*, k∈ Ν ,(
mpk msk
,
)
←
MasterKeyGen(1 )
k ,ID
sk
←
KeyGen(
ID msk
,
)
, the following hold: (1)∀
σ
DV ←SDV_Sign(
,
, )
S
ID D
sk
ID m
,Pr[SDV_Verf (
,
, ,
)=1]=1
D
ID S DV
(2)
∀
σ
DV ←SDV_Sim(
,
, )
DID S
sk
ID m
,Pr[SDV_Verf (
,
, ,
)=1]=1
D
ID S DV
sk
ID m
σ
.4.2 Security model
4.2.1 Unforgeability
Let IDSDVS be an identity-based strong designated verifier signature scheme and
k∈ Ν be a security parameter. In this section, we define the existential unforgeability of IDSDVS schemes against an adaptive chosen message and chosen identity adversary
A
as follows. Define a game ExpEUF IDSDVSCMA CID,, ( , )A k in which the adversaryA
interacts with a game challenger S.Phase 1: At first, S runs MasterKeyGen
(1 )
kto get
(
mpk msk
,
)
and a list of system parameters params. In the following, S picks n identitiesX
=
{
ID
1,
,
ID
n}
. Then Corr is initialized to an empty set ∅ which is used to keep track of those corrupted users’ identities. S givesmpk
, params andX
to the adversaryA
.Phase 2:
A
issues the following queries:1. UserKey queries: On input an identity
ID
∈
X
chosen byA
, S runs KeyGen(
ID msk
,
)
to get the secret keysk
ID and returnssk
ID toA
. Then{
}
Corr
←
Corr
∪
ID
.2. Sign queries: On input a signer’s identity
ID
i , a verifier’s identityID
j and a message m adaptively chosen byA
, S returns a signature by executingDV
σ
←SDV_Sign(
,
, )
iID j
sk
ID m
.3. Verf queries: On input the signer’s identity
ID
i , the verifier’s identityID
j, and amessage/signature pair
( ,
m
σ
DV)
provided byA
, S returns the result of runningSDV_Verf ( , , , )
j
ID i DV
sk ID m
σ
.4. Sim queries: On input the signer’s identity
ID
i , the verifier’s identityID
j and aDV
σ
←SDV_Sim( , , )j
ID i
sk ID m .
Phase 3:
A
wins the game ifA
outputsID
S (the signer’s identity),ID
D(theverifier’s identity) and a message/signature pair
(
m
*,
σ
*DV)
such that:(1)
ID
S≠
ID
D, SDV_Verf ( , , *, * )=1D
ID S DV
sk ID m
σ
.(2)
A
never made a Sign query or a Sim query on(
ID ID m
S,
D,
*)
and{
S,
D}
Corr
∩
ID ID
= ∅
.We define the success probability of the adversary as
,
, ( , )
CMA CID EUF IDSDVS
Succ A k =Pr[ExpEUF IDSDVSCMA CID,, ( , )A k =1].
An IDSDVS scheme is existential unforgeable against chosen message and chosen identity attack if the success probability CMA CID,, ( , )
EUF IDSDVS
Succ A k is negligible for any probabilistic polynomial time (PPT) adversary
A
.Remark: Zhang-Mao scheme [9] only provided an informal definition of unforgeability. An adversary in the security model of [4] is not allowed to issue Sim queries when attacking unforgeability. In contrast, our model provides a stronger security notion in which an adversary is allowed to issue Sim queries when attacking unforgeability.
4.2.2 Non-transferability
Non-transferability means that a third party is not able to determine whether a message is signed by the signer, or is simulated by the designated verifier. Formally, let IDSDVS be an identity-based strong designated verifier signature scheme, and k∈ Ν be a security parameter. The non-transferability of IDSDVS schemes against adaptive chosen message and chosen identity distinguisher
D
can be defined as follows. Define a game,
, ( , )
CMA CID Non Tran IDSDVS
Exp − D k in which the distinguisher
D
interacts with a game challenger S.users’ identities. S gives
mpk
, params andX
toD
.Phase 2: UserKey queries, Sign queries, Verf queries and Sim queries issued by
D
are the same as those defined in section 4.2.1.Challenge: Once
D
decides that Phase 2 is over,D
picks a tuple(
ID ID m
S*,
D*,
*)
such that(
ID ID m
S*,
*D,
*)
has not been submitted as one of the Sign queries, Sim queries. Moreover, it is required thatCorr
∩
{
ID ID
S*,
*D}
= ∅
. Then the challenger S picks a random bit b∈
{0,1}
. If b = 0 , S returns a real signatureDV
σ
←SDV_Sign ** *
(
,
,
)
S D
ID
sk
ID m
to the distinguisherD
. Otherwise, S returns asimulated signature
σ
DV ←SDV_Sim ** *
(
,
,
)
D S
ID
sk
ID m
to the distinguisherD
.Phase 3: Upon receiving the challenging response from S,
D
still makes UserKey queries, Sign queries, Sim queries and Verf queries except that he cannot submit* * *
(
ID ID m
S,
D,
)
as one of the Sign queries, Sim queries.Guess: Finally,
D
outputs a bitb
/.D
wins the game ifb
/=
b
. The advantage ofD
in this game isAdv D k
( , )
=|Pr[
/]
1
|
2
b
= −
b
. An IDSDVS scheme is non-transferable against adaptive chosen message and chosen identity distinguisherD
if for any probabilistic polynomial time (PPT)D
, the advantageAdv D k
( , )
is negligible.4.2.3 Non-delegatability
The definition of non-delegatability is presented in [5]. We provide a straightforward adaptation of [5] to IDSVDS schemes. A delegatable IDSVDS scheme means that the signer identified by
ID
S , without disclosing his secret keysk
S , may disclose some side informationy
S D,=
f sk ID
(
S,
D)
to an adversary such that the adversary can produce validinformation
y
D S,=
f sk
(
D,
ID
S)
to the adversary such that the adversary can produce valid simulated signatures.In the original definition of designated verifier proofs [2], a proof of the truth of some statement
Φ
is a designated verifier proof if it is a proof that eitherΦ
is true or the prover knows the secret key of the verifier. Clearly, this requirement is not satisfied by delegatable IDSVDS schemes since a signer only proves that eitherΦ
is true or he knows some side informationy
S D, ory
D S, . We formalize the definition of non-delegatable IDSVDS schemes via an alternative formulation from [1] as follows:Let k
∈
[0,1]
be the knowledge error and(
sk ID
S,
S)
(resp.,(
sk
D,
ID
D)
) be the secret/public key pair of the signer(resp., verifier). Assume that there is an algorithmF
that can produce a valid signatureσ
on input a message m such thatSDV_Verf (
,
, , )=1
D
ID S
sk
ID m
σ
with probabilityε
>k. We say that an IDSVDS scheme is( , )
τ
k
non-delegatable if there is a knowledge extractorK
that runs in expected polynomial time (without counting the time to make the oracle queries) with access to the oracleF
( )
i
such that:( )
Pr[ { , }: ( )] ( )
S D
F ID ID
x∈ sk sk x←K i i ≥
ε
−kτ
.5. Our scheme
In this section, we propose a non-delegatable IDSDVS scheme as follows:
1. MasterKeyGen(Master Key Generation): On input a security parameter k∈ Ν, let
1
,
G
<
+ >
be a cyclic additive group generated byP
, whose order is a large primeq
,2
log
q
≈
k
, and<
G
2,
i
>
be a cyclic multiplicative group of the same order.1 1 2
:
e G
×
G
→
G
represents a bilinear map. Then KGC performs the following operations:(1) Picks a random number s ∈Zq* and sets the master public/secret key pair
,
mpk msk
(2) Chooses two collision-resistant hash functions G:{0,1}* →Z Hq, :{0,1}*→G1.
(3) Sets the system parameters params to
<
(
G
1, ), (
+
G
2, ), , , , ,
i
e q P G H
>
.KeyGen(User Key Generation): On input an identity
ID
i , KGC computes(
)
i i
Q
=
H ID
,sk
i=msk Q
⋅
i. Then KGC distributessk
i to the corresponding user as his secret key over a secure channel. The user can verify the correctness by checking(
i, )
(
i,
)
e sk P
=
e Q mpk
.SDV_Sign(Signature Generation): Given the signer’s key pair
(
,
)
SID S
sk
ID
, theverifier’s identity
ID
D and a message m, the signer should perform the following steps:(1) Picks random numbers
r w t
S,
S,
S∈
Z
q and computesS
R
=(
,
)
DID s
e Q
r P
⋅
,T
S= ⋅
t
Smpk
.(2) Computes
V
S=(
,
)
D
S S ID
e mpk t
⋅ +
P
w Q
⋅
,h
S=
G ID ID
(
S,
D,
R V m
S,
S, )
.(3) Computes
Z
S=(
)
SS S S ID
r P
⋅ +
h
+
w
⋅
sk
(4) The signature is
σ
DV=<
R w T Z
S,
S,
S,
S>
.SDV_Verf(Signature Verification): Given the signer’s identity
ID
S, the verifier’s key pair(
,
)
D
ID D
sk
ID
, the signed message m and the corresponding signatureσ
DV , thecorrectness of
σ
DV=<
R w T Z
S,
S,
S,
S>
can be verified as follows: (1) ComputesV
S=( ,
)
D
S S ID
e P T
+
w
⋅
sk
,h
S=
G ID ID
(
S,
D,
R V m
S,
S, )
(2) Returns 1 if and only if
(
,
)
DID S
e Q
Z
=R
Si
(
, (
)
)
D S
ID S S ID
e sk
h
+
w
⋅
Q
. It is easy to check the correctness of the above verification process as follows:( ,
)
D
S S ID
e P T
+
w
⋅
sk
=( ,
(
))
DS S ID
e P s t
⋅
⋅ +
P
w Q
⋅
=
(
,
)
D
S S ID
e mpk t
⋅ +
P
w Q
⋅
=V
S(
,
)
D
ID S
e Q
Z
=(
,
(
)
)
D S
ID S S S ID
e Q
r P
⋅ +
h
+
w
⋅
sk
=
(
,
)
DID S
e Q
r P
⋅
(
, (
)
)
D S
ID S S ID
=
R
Si
(
, (
)
)
D S
ID S S ID
e sk
h
+
w
⋅
Q
SDV_Sim(Signature Simulation): Given the signer’s identity
ID
S, the verifier’s keypair
(
,
)
DID D
sk
ID
, a message m, a simulated signatureσ
DV can be generated as follows: (1) Picks randomα
D,
λ
D∈
Z
q,Z
D∈
G
1 and computes( ,
)
D D
V
=
e P
α
⋅
P
.(2) Computes
R
D=(
,
) (
,
)
D D S
ID D ID D ID
e Q
Z
i
e sk
− ⋅
λ
Q
,h
D=
G ID ID
(
S,
D,
R V m
D,
D, )
.(3) Computes
w
D=
(
λ
D−
h
D) mod
q
. (4) ComputesT
D=(
)
D
D
P
w
Dsk
IDα
⋅ −
⋅
.(5) The simulated signature is
σ
DV =<
R
D,
w T Z
D,
D,
D>
The correctness ofσ
DV can be checked as follows:( ,
)
D
D D ID
e P T
+
w
⋅
sk
=
e P
( ,
α
D⋅
P
)
=
V
D(
,
)
(
,
)
D D S
ID D D ID D ID
e Q
Z
=
R e sk
i
λ
⋅
Q
=(
, (
)
)
D S
D ID D D ID
R e sk
i
h
+
w
⋅
Q
6.Security Analysis
Lemma 1: Given the key pairs
(
,
)
SID S
sk
ID
,(
,
)
DID D
sk
ID
, the following distributions are indistinguishable for a polynomial-time adversary in the random oracle model.2 1
,
(
,
,
,
)
,
(
)
SS R S R q S S S S S R S R q
S S S S ID
R
G w
Z
R w T Z
T
G h
Z
Z
r P
h
w
sk
δ
⎧
∈
∈
⎫
⎪
⎪
⎪
⎪
=
⎨
∈
∈
⎬
⎪
= ⋅ +
+
⋅
⎪
⎪
⎪
⎩
⎭
1 2 /,
,
(
,
,
,
)
,
(
)
DD R D R q D R D D D D D R q D R q
D D D ID
Z
G
Z R
G
R
w T Z
h
Z w
Z
T
P
w
sk
α
δ
α
⎧
∈
∈
∈
⎫
⎪
⎪
⎪
⎪
=
⎨
∈
∈
⎬
⎪
=
⋅ −
⋅
⎪
⎪
⎪
⎩
⎭
Proof: At first, we choose a valid tuple
σ
/=
( , , , )
R w T Z
such that for some message m /SDV_Verf ( , , , )=1
D
ID S
V =
( ,
)
DID
e P T
+ ⋅
w sk
,h
=
G ID ID
(
S,
D, , , )
R V m
(
, )
D
ID
e Q
Z
=R
i
(
, (
)
)
D S
ID ID
e sk
h
+
w Q
⋅
.We then compute the probability of appearance of this tuple following each distribution of probabilities. For the sake of simplicity, we will omit the notation
mod
q
in the rest of the proof.Claim 1:
Pr[(
R w T Z
S,
S,
S,
S)
( , , , )]
R w T Z
δ
=
= 2 1,
,
Pr[
]
,
,
S S R S S R q S S R
S
R
R R
G
w
w w
Z
T
T T
G
Z
Z
δ=
∈
⎧
⎫
⎪
=
∈
⎪
⎪
⎪
⎨
=
∈
⎬
⎪
⎪
⎪
=
⎪
⎩
⎭
=
1
q
3Proof: At first,
R w T
S,
S,
S are chosen fromG Z G
2,
q,
1 respectively. AsR
S=
R
,
w
S=
w
,
S
T
=
T
, we haveV
S=
V h
,
S=
h
by the verification equations defined in section 5. In the following, we know that:(
, )
D
ID
e Q
Z
=R
i
(
, (
)
)
D S
ID ID
e sk
h
+
w Q
⋅
.=
R
Si
(
, (
)
)
D S
ID S S ID
e sk
h
+
w
⋅
Q
=(
,
)
DID S
e Q
Z
Hence this result implies that
Z
S=
Z
.Claim 2:
/
Pr[(
R
D,
w T Z
D,
D,
D)
( , , , )]
R w T Z
δ
=
= / 1 2,
,
Pr[
]
,
D D R D D R D D R q D
Z
Z Z
G
R
R R
G
w
w w
Z
T
T
δ=
∈
⎧
⎫
⎪
=
∈
⎪
⎪
⎪
⎨
=
∈
⎬
⎪
⎪
⎪
=
⎪
⎩
⎭
=
(1
q
3)(1 1 )
−
q
Proof: At first,
Z
D,
R
D,
w
D are chosen fromG G Z
1,
2,
q respectively.As
R
D=
R
,
w
D=
w Z
,
D=
Z
, we have the following equations:(
, )
D
ID
e Q
Z
=(
,
)
DID D
e Q
Z
(
, )
D
ID
e Q
Z
=R
i
(
, (
)
)
D S
ID ID
e sk
h
+
w Q
⋅
=
R
Di
(
, (
)
)
D S
ID D ID
e sk
h
+
w
⋅
Q
(
,
)
D
ID D
e Q
Z
=
(
, (
)
)
D S
D ID D D ID
Hence this result implies that
h
=
h
D . Then we know thatPr[
V
D=
V h
|
=
h
D] 1 1
= −
q
due to the fact thath
=
G ID ID
(
S,
D, , , )
R V m
and the hashfunction G is assumed to be a random function. So we can assume that
V
D=
V
. Finally, we have the following equations:V =
( ,
)
D
ID
e P T
+ ⋅
w sk
D
V
=( ,
)
D
D D ID
e P T
+
w
⋅
sk
=( ,
)
DD ID
e P T
+ ⋅
w sk
It is easy to see that
T
D=
T
on condition thatV
D=
V
.The statistical distance between
δ
andδ
/ is1
q
≈
1 2
k. Hence, both distributions of probabilities are indistinguishable for a polynomial time(in k) adversary according to Claim 1 and Claim 2.Remark: As the distributions are statistically close(i.e., indistinguishable for a polynomial-time adversary), access to simulated signatures will not help the adversary. Hence we will not provide the adversary with simulated signatures when analyzing the unforgeability of our scheme.
The Splitting Lemma [6]: Let
A
⊂ ×
X Y
such thatPr[( , )
x y
∈
A
]
≥
γ
. For anyα γ
<
, define/
/
{( , )
| Pr [( ,
)
]
}
y Y
B
x y
X Y
x y
A
γ α
∈
=
∈ ×
∈
≥ −
, then Pr[ | ]B A ≥α γ
holds.Theorem 1: Let the knowledge error k=0. Assume that there is an algorithm
F
that can make queries to a random oracle G and produce a real signatureσ
on input a messagem with probability at least
ε
. Letq
G be a bound on the number of queries(
R V m
j,
j,
j)
made by
F
to the random oracle G. Then there is a(4
q
Gε
, 0)
knowledge extractorK
such that Pr[ : ( )( )] 2 4S
F
ID G
x=sk x←K i m ≥
ε
q .σ
=
( , , , )
R w T Z
on input a message m with probability at leastε
. Since G is arandom oracle, the probability that
( , , )
R V m
, where V =( ,
)
DID
e P T
+ ⋅
w sk
, is not asked toG is at most 1 q . Hence we can define
Ind
( , )
ω
G
to be the indexj
such that( , , )
R V m
=(
R V m
j,
j,
j)
. We then define the following sets:{( , ) |
G( )
S
=
ω
G
F
ω
succeeds and(1
≤
Ind
( , )
ω
G
≤
q
G)}
{( , ) |
G( )
i
S
=
ω
G
F
ω
succeeds and(
Ind
( , )
ω
G
=
i
,1
≤ ≤
i
q
G)}
We now apply the Splitting Lemma for each
i
,1
≤ ≤
i
q
G. We denote byG
i the restriction of G to queries of index strictly less thani
. Letα
=ε
2
q
G,γ
=ε
q
G. SincePr[ ]
S
i=
ε
q
G, it is easy to see that there exists a subsetΩ
i of executions by the Splitting Lemma such that:For any
(
ω
,
G
)
∈Ω
i , and any/
G
, ifPr[( ,
ω
G
/)
∈
S G
i|
i/=
G
i]
≥
ε
2
q
G , thenPr[
Ω
i|
S
i] 1 2
≥
, whereG
/ is another random oracle.Since all the subsets
S
i are disjoint andPr[
S S
i| ]
is1
q
G , we have,
Pr[ (1 G), ( , ) i i| ]
G i q G S S
ω ∃ ≤ ≤
ω
∈Ω ∩=
1
Pr[ | ]
G
i i i q
S S ≤ ≤
Ω
∑
∩ =1
Pr[ | ]Pr[ | ]
G
i i i i q
S S S
≤ ≤
Ω
∑
≥
1 2.We let
β
denote the indexInd
( , )
ω
G
corresponding to the successful pair. With probability at least 1 2, we have1
≤ ≤
β
q
G and( , )
ω
G
∈Ω
β∩
S
β by the aboveargument. Hence with probability at least
ε
2 ,F
can produce a real signature(
R w T Z
β,
β,
β, )
σ
=
with such an indexβ
.In the following, if we replay
F
with the fixed random tapeω
but a randomly chosen oracleG
/ such that Gβ/ =Gβ , we know/
/ /
Pr[( , ) | ] 2 G
G
G Sβ Gβ Gβ q
ω
∈ = ≥ε
since
( , )
ω
G
∈Ω
β∩
S
β. Then/
/
Pr[( , )
G
ω
G ∈Sβ and/ /
| ]
≥
/
/ /
Pr[( , ) | ]
G
G Sβ Gβ Gβ
ω
∈ = / /Pr[ ]
G
hβ hβ
− =
≥
(
ε
2
q
G−
1 )
q
≈
ε
2
q
G ,where hβ/ =G ID ID/( S, D,R V mβ, β, β),hβ =G ID ID( S, D,R V mβ, β, β).
Then with probability
ε
2
q
G we get another successσ
/ =(R w T Zβ, β, β, /), where( ,
)
R
β=
e P r
β⋅
P
,T
β= ⋅
t
βP
,V
β =(
,
)
DID
e mpk t
β⋅ +
P
w
β⋅
Q
andr w t
β,
β,
β are the fixed random coins used byF
.Finally, we have the following equations with probability at least
ε
24
q
G:Z
=(
)
S
ID
r
β⋅ +
P
h
β+
w
β⋅
sk
/
Z
= ( / )S
ID
rβ⋅ +P hβ +wβ ⋅sk
Hence S
ID
sk
=(hβ/ −hβ)−1⋅(Z/−Z).Theorem 2: Let the knowledge error k=0. Assume that there is an algorithm
F
that can make queries to a random oracle G and produce a valid simulated signatureσ
on input a message m with probability at leastε
. Letq
G be a bound on the number of queries(
R V m
j,
j,
j)
made byF
to the random oracle G . Then there is a(4
q
Gε
, 0)
knowledge extractor
K
such that Pr[ : ( )( )] 2 4D
F
ID G
x=sk x←K i m ≥
ε
q .Proof: Assume that
F
is a PPT Turing machine with a random tapeω
and makes queries to a random oracle G. For a random choice of( , )
ω
G
,F
can produce a valid simulated signatureσ
=
( , , , )
R w T Z
on input a message m with probability at leastε
. Since Gis a random oracle, the probability that
( , , )
R V m
, where V =( ,
)
DID
e P T
+ ⋅
w sk
, is notasked to G is at most 1 q. Hence we can define
Ind
( , )
ω
G
to be the indexj
such that( , , )
R V m
=(
R V m
j,
j,
j)
. We then define the sets:{( , ) |
G( )
S
=
ω
G
F
ω
succeeds and(1
≤
Ind
( , )
ω
G
≤
q
G)}
{( , ) |
G( )
i
We now apply the Splitting Lemma for each
i
,1
≤ ≤
i
q
G. We denote byG
i therestriction of G to queries of index strictly less than
i
. Letα
=ε
2
q
G ,γ
=ε
q
G . SincePr[ ]
S
i=
ε
q
G , it is easy to see that there exists a subsetΩ
i of executions by the Splitting Lemma such that:For any
(
ω
,
G
)
∈Ω
i , and anyG
/ ,Pr[( ,
ω
G
/)
∈
S G
i|
i/=
G
i]
≥
ε
2
q
G , thenPr[
Ω
i|
S
i] 1 2
≥
, whereG
/ is another random oracle.Since all the subsets
S
i are disjoint andPr[
S S
i| ]
is1
q
G , we have,
Pr[ (1 G), ( , ) i i| ]
G i q G S S
ω ∃ ≤ ≤
ω
∈Ω ∩=
1
Pr[ | ]
G
i i i q
S S ≤ ≤
Ω
∑
∩ =1
Pr[ | ]Pr[ | ]
G
i i i i q
S S S
≤ ≤
Ω
∑
≥
1 2.We let
β
denote the indexInd
( , )
ω
G
corresponding to the successful pair. With probability at least 1 2, we have1
≤ ≤
β
q
G and( , )
ω
G
∈Ω
β∩
S
β . Hence with probability at leastε
2,F
can produce a valid simulated signatureσ
=
(
R w T Z
β,
β,
β,
β)
with such an index
β
.In the following, if we replay
F
with the fixed random tapeω
but randomly chosen oracleG
/ such that Gβ/ =Gβ , we know/
/ /
Pr[( , ) | ] 2 G
G
G Sβ Gβ Gβ q
ω
∈ = ≥ε
since( , )
ω
G
∈Ω
β∩
S
β. Then/
/
Pr[( , )
G
ω
G ∈Sβ and/ /
| ]
hβ ≠hβ Gβ =Gβ
≥
/
/ /
Pr[( , ) | ]
G
ω
G ∈Sβ Gβ =Gβ / /Pr[ ]
G hβ hβ
− =
≥
(
ε
2
q
G−
1 )
q
≈
ε
2
q
G ,where hβ/ =G ID ID/( S, D,R V mβ, β, β),hβ =G ID ID( S, D,R V mβ, β, β).
Then with probability
ε
2
q
G we get another successσ
/ =(R w T Zβ, β/, β/, β), whereR
β=(
,
) (
,
)
D D S
ID ID ID
e Q
Z
βi
e sk
− ⋅
λ
βQ
and the fixed random coins used byF
in this caseare
α λ
β,
β,
Z
β sinceσ
/ is a valid simulated signature. Note thatw
β=
(
λ
β−
h
β) mod
q
,/ /
( ) mod
Finally, we have the following equations with probability at least
ε
24
q
G:T
β=(
)
D
ID
P
w
sk
β β
α
⋅ −
⋅
/
Tβ=( / )
D
ID
P w sk
β β
α
⋅ − ⋅Hence D
ID
sk
=(wβ −wβ/)−1⋅(Tβ/ −Tβ).Theorem 3: Assume
(
G G
1,
2)
satisfies the GBDH assumption. Suppose there is a polynomial-time adversaryA
who makes at mostq
k UserKey queries,q
s Sign queries andq
v Verf queries can existentially forge a signature in our scheme withnon-negligible success probability
ε
in time at mostt
.Then there is an algorithmB
that solves the GBDH problem in(
G G
1,
2)
with probability:2 /
(1 2 (
a
2)) (2 (
aa
2) ))
ε
> −
+
+
ε
, where a=q
k+ +
q
sq
v.Proof: Algorithm
B
is given as input a tuple( ,
P a P b P c P
⋅
,
⋅
,
⋅
)
, whereP
is the generator of the groupG
1 with prime orderq
,a b c
, ,
∈
Z
q . ThenB
works by interacting with the adversaryA
as follows.The system parameters are params=
<
(
G
1, ), (
+
G
2, ), , , , ,
i
e q P G H
>
, whereG H
,
are the random oracles controlled byB
.At first,
B
initializesmpk
with c P⋅ and picks n identitiesX
=
{
ID
1,
,
ID
n}
.Then
B
randomly picks two identitiesID ID
S,
D∈
X
. During the simulation,B
can answerA
’s queries as follows:H
Queries:B
maintains a listH
list={
<
ID l H ID
, ,
(
) }
>
. On input an identityID
∈
X
chosen byA
, if the queried identityID
appears inH
1list,B
returns the previously assigned value. Otherwise,B
performs as follows:(1)
ID
∉
{
ID ID
S,
D}
,B
picks a random l∈
Z
q and responds toA
with(
)
(2)
ID
=
ID
S,B
responds toA
withH ID
(
)
=a P⋅ .(3)
ID
=
ID
D,B
responds toA
withH ID
(
)
=b P⋅ .G Queries:
B
maintains a listG
list={ (
<
ID ID R V m g
i,
j, , , ),
_
hash
}
. On input(
ID ID R V m
i,
j, , , )
chosen byA
, if the queried tuple appears inG
list,B
returns the previously assigned value. Otherwise,B
picks a random k∈
Z
q and responds toA
with
g
_
hash
=k.UserKey queries:
B
maintains a listL
={
<
ID sk
,
ID>
}
. On input an identityID
∈
X
chosen byA
, if the queried identityID
appears inL
,B
returns the previously assigned value. Otherwise,B
performs as follows:(1)
ID
∉
{
ID ID
S,
D}
,B
looks upH
list to extract a tuple<
ID l H ID
, ,
(
)
>
and responds toA
withsk
ID=l mpk
⋅
. ThenCorr
←
Corr
∪
{
ID
}
.(2)
ID
∈
{
ID ID
S,
D}
,B
returns⊥
and aborts.Sign queries: On input a signer’s identity
ID
i , a verifier’s identityID
j and a message m adaptively chosen byA
, ifID
i≠
ID
j,B
performs as follows:(1)
| {
ID ID
i,
j} {
∩
ID ID
S,
D} | 1
≤
: IfID
i∉
{
ID ID
S,
D}
,B
looks upL
to extracti
ID
sk
and returnsσ
DV ←SDV_Sign(
,
, )
iID j
sk
ID m
. Otherwise,B
looks upL
to extractj
ID
sk and returns
σ
DV ←SDV_Sim( , , )j
ID i
sk ID m .
(2)
{
ID ID
i,
j} {
=
ID ID
S,
D}
:B
returns⊥
and aborts.Verf queries: Given a signer’s identity
ID
i , a verifier’s identityID
j, and a message/signature pair( ,
m
σ
=
( , , , ))
R w T Z
provided byA
,ID
i≠
ID
j , if{
,
}
j S D
ID
∉
ID ID
,B
returns the result of running SDV_Verf ( , , , )j
ID i
sk ID m
σ
.Otherwise,
B
returns⊥
and aborts.i
ID
, a verifier’s identityID
j ,ID
i≠
ID
j , and a message/signature pair* * * * * *
(
m
,
σ
=
(
R w T Z
,
,
,
))
. If{
ID ID
i,
j} {
≠
ID ID
S,
D}
,B
returns⊥
and aborts. Otherwise, if the forgery output by the adversaryA
is successful, the probability thatA
does not issue a G query is at most 1 q. Hence we know that (ID ID R V mi, j, *, *, *) isalready in
G
list with probability at least 1 1− q in this case. For the sake of simplicity, we only consider the caseID
i=
ID ID
S,
j=
ID
D. The other caseID
i=
ID
D,
ID
j=
ID
S can be analyzed similarly.So we have
h
*=
G ID ID
(
S,
D,
R V m
*,
*,
*)
,(
)
i S
ID ID S
Q
=
Q
=
H ID
= ⋅
a P
,( )
j D
ID ID D
Q =Q =H ID = b P⋅ ,
D
ID
sk
=(
cb P
)
⋅
. Let ξ =e b P Z
(
⋅
,
*)
. If* * 1
* ( )
(
,
,
, (
)
h w)
DBDH
O
a P b P c P
⋅
⋅
⋅
ξ
R
+ − =1, thenB
returns (ξ
R* ()h*+w*)−1. The reason is that the following equations hold:*
( , )
D
ID
e Q Z =
R
*i
* *( , ( ) )
D S
ID ID
e sk h +w ⋅Q ,
( , )
abce P P
=(ξ
R* ()h*+w*)−1.Now it remains to analyze the probability of
B
not aborting.B
aborts if the following events happens:1
E
:B
aborts when answering UserKey queries.2
E
:B
aborts when answering Sign queries.3
E
:B
aborts when answering Verf queries.4
E
:A
outputsID
i andID
j such that{
ID ID
i,
j} {
≠
ID ID
S,
D}
.It is easy to see that
Pr[
E
1]
= 2 n ,Pr[
E
2]
= 2 n n( −1) ,Pr[
E
3]
=
2
n
,4
Pr[
E
]
=1 (2− n n( −1)). Hence the success probabilityε
/ ofB
can be estimated as follows:/