• 沒有找到結果。

Realization of the Proposed Scheme

5.2 Preliminaries

5.3.2 Realization of the Proposed Scheme

We now describe the details of the proposed scheme in the following.

System Setup

The group manager computes the following values to obtain the group secret key and the group public key.

• n = p1p2, where both pi = 2qi+ 1 and qi are primes for i = 1, 2.

• An RSA public key (q1q2, eR) and secret key dR.

• Integer g ∈ Zn with ordng = q1q2.

• f = gr1, u = gr2, t = ua, Sb = gb, where r1, r2, a, b ∈R Zq1q2, and all arithmetics are modulo n.

• e, d ∈ Zq1q2 such that ed ≡ 1 (mod q1q2).

• Sd= fd mod n.

It is important that n be chosen such that factoring n and solving the DL problem in Zn are intractable. By Fact 2.2.24, we can obtain g with order q1q2. By Fact 2.2.10(1), the orders of f, u, t, Sb, and Sd are all q1q2. The group manager keeps (a, b, d, e, dR, p1, p2) as the group secret key and publishes (g, f, u, t, eR, Sd, Sb, n) as the group public key.

Join

When user i wants to join the group, he chooses a secret key yi RZn and computes his membership key zi = gyi mod n. We assume that gcd(yi, q1q2) = 1. User i sends zi to the group manager and proves to the group manager that she knows the discrete logarithm of zi without revealing yi (see [43, 98] for the protocol). Next the group manager picks ci ∈ Zq1q2 such that (zigci)q1 6≡ 1 (mod n) and (zigci)q2 6≡ 1 (mod n).

Lemma 5.2.2 shows that gcd(yi+ci, q1q2) = 1, and by Lemma 5.2.3 ci can be obtained by testing at most three consecutive integers. Then the group manager computes user i’s membership certificate as (xi, vi, wi), where

xi = gci mod n,

vi = (ci+ b)dR mod q1q2, wi = (zixi)dmod n,

and sends (xi, vi, wi) to user i. Note that

wi = (zixi)dmod n = (gyi+ci)dmod n. (5.1) The 4-tuple (yi, xi, vi, wi) is called a valid signing key. It is important to note that the group manager must choose distinct ci’s for different joining users and must not reveal ci to anybody. Fact 2.2.10(1) implies ord(zi) = ord(xi) = ord(wi) = q1q2.

Sign

Given a message m, user i can generate signature S by computing the following values:

• ˆg = gr mod n for r ∈RZn (assume gcd(r, q1q2) = 1).

• Z0 = Sbr mod n.

• Z1 = ˆgyi mod n.

• Z2 = xri mod n.

• A1 = gyiur mod n.

• A2 = tr mod n.

• S0 = SKREP [ (α, β) : ˆg = gβ mod n ∧ Z0 = Sbβ mod n ∧ Z1 = ˆgα mod n ∧ A1 = gαuβ mod n ∧ A2 = tβ mod n ](m).

• S1 = SKRDL[ γ : Z2Z0 ≡ ˆgγeR (mod n) ](m).

• S2 = wir mod n.

User i’s group undeniable signature for m is

S = (ˆg, Z0, Z1, Z2, A1, A2, S0, S1, S2).

Note that Z2Z0 ≡ ˆgciˆgb ≡ ˆgci+b (mod n), Z1Z2 ≡ ˆgyi+ci (mod n) and

S2 ≡ wir≡ ((gyi+ci)d)r ≡ ((ˆg)yi+ci)d≡ (Z1Z2)d (mod n). (5.2) Because gcd(yi+ ci, q1q2) = 1 and gcd(d, q1q2) = 1, the orders of Z1Z2 and S2 are q1q2 by Fact 2.2.10(1). In addition, the orders of ˆg, Z0, Z1, Z2, A2 are also q1q2. We call

S a valid group undeniable signature if S0 and S1 are correct and S2 = (Z1Z2)d mod n. Obviously, if S is generated using a valid signing key, then S is a valid group undeniable signature.

We briefly explain what roles some of the elements in S play. First, S0 proves that the same random number r is used in the computation of ˆg, Z0, A1, and A2, and that the same exponent y ∈ Z is used in Z1 = ˆgy mod n and A1 = gyur mod n. S1 proves that user i knows the knowledge of an eR-th root of the discrete logarithm of Z2Z0 to base ˆg. Finally, the verifier must interact with the group manager to verify whether S2 = (Z1Z2)dmod n via the signature confirmation and denial protocols.

Signature Confirmation Protocol

A signature confirmation protocol is an interactive protocol between the group man-ager and the verifier whereby the group manman-ager can convince the verifier that the signature is valid. However, the group manager cannot deceive the verifier into ac-cepting an invalid signature as valid except with a very small probability. In the following, we denote by P the group manager and by V the verifier. In the signature confirmation protocol, common inputs to P and V include the message m, the group public key, and the alleged signature S. The secret input to P is the group secret key.

To be convinced that S is valid, V first verifies S0 and S1. If either is incorrect, then V recognizes that S is invalid. Otherwise, P and V perform the following steps:

Step 1: V chooses e1, e2 R Zn and computes A = S2e1Sde2 mod n. Then V sends A to P.

Step 2: P computes B = Aemod n and sends B to V.

Step 3: V verifies whether B = (Z1Z2)e1fe2 mod n. If the equality holds, then V accepts S as a valid signature for m.

In the following, we first show that V accepts valid signatures. We then show that P cannot make V accept invalid signatures as valid except with a very small probability.

Theorem 5.3.1. If S is a valid group undeniable signature, then the verifier will accept S as a valid signature.

Proof. S0 and S1 must be correct. Because S2 = (Z1Z2)d mod n, we have B ≡ Ae≡ ((S2)e1(Sd)e2)e ≡ (Z1Z2)e1fe2 (mod n).

Theorem 5.3.2. If S is not a valid group undeniable signature, then the verifier will accept S as a valid signature with probability ≤ 1/(q1q2).

Proof. If either S0 or S1 is incorrect, the verifier recognizes S as invalid. Now suppose S0 and S1 are correct. Because S is invalid, S2 6= (Z1Z2)d mod n. P can make V accept the signature S only if P can find a B such that

B = (Z1Z2)e1fe2 mod n (5.3)

A = S2e1Sde2 mod n. (5.4)

As the order of f is q1q2, we let A = fi, B = fj, S2 = fk, and Z1Z2 = f`, where 0 ≤ i, j, k, ` < q1q2 and all arithmetics are modulo n. Recall Sd = fdmod n. From Eqs. (5.3) and (5.4), we have

j ≡ `e1+ e2 (mod q1q2), i ≡ ke1+ de2 (mod q1q2).

As fk 6≡ f`d (mod n), we have k 6≡ `d (mod q1q2) and the linear equations have a unique solution for (e1, e2) for 0 ≤ e1, e2 < q1q2.

Because the orders of S2 and Sd are q1q2, there are q1q2 pairs (e1, e2) for 0 ≤ e,e2 < q1q2 satisfying Eq. (5.4). P cannot identify which among them was used to compute A by V. In addition, because the orders of Z1Z2 and f are q1q2, each of these possible q1q2 pairs (e1, e2) corresponds to a different j and hence B. Consequently, the probability that P will give V the correct B is 1/(q1q2).

In order to state the protocol clearly, the above steps omit the zero-knowledge part.

However, there are well-known techniques [27, 106, 108] to add the zero-knowledge property to the above protocol as follows. Instead of P sending B in Step 2, he sends

a commitment of B to V using a commitment scheme [27, 168], after which V reveals to P the values of e1 and e2. After checking that B ≡ (Z1Z2)e1fe2 (mod n), P sends B to V. V checks that B corresponds to the value committed by P and then performs the test of Step 3. In this way, if V knows e1 and e2, he can compute B. Hence, the zero-knowledge property is achieved through the following two characteristics of the commitment scheme: (1) It is infeasible for V to derive B from the commitment of B, and (2) P cannot find B0 such that B0 and B have the same commitment.

Signature Denial Protocol

A signature denial protocol allows P to convince V of the fact that an invalid signature is indeed invalid. However, P cannot make V believe that a valid signature is invalid except with a very small probability. In the denial protocol, the common inputs to P and V include two system global constants C1 and C2, the message m, the group public key, and the alleged signature S. The secret input to P is the group secret key.

We now present how P can make V accept an invalid signature S as invalid. V starts by checking S0and S1. If either is incorrect, then V recognizes that S is invalid.

Otherwise, P and V repeat the following steps C2 times.

Step 1: V chooses e1 R ZC1, e2 R Zn and computes D1 = (Z1Z2)e1fe2 mod n and D2 = S2e1Sde2 mod n. Then V sends D1 and D2 to P.

Step 2: P finds B such that D1/De2 ≡ (Z1Z2/S2e)B (mod n) by trying B = 0, 1, . . . , C1 1 and sends B to V.

Step 3: V checks whether B = e1. If the equality holds, then V is convinced that S is invalid.

If V is convinced of S’s invalidity C2 times, V will accept S as invalid. It is noteworthy that P performs O(C1C2) operations.

The protocol satisfies the following two properties. First, P can convince V of the fact that an invalid signature is indeed invalid. Second, P cannot fool V into accepting a valid signature as invalid except with a small probability.

Theorem 5.3.3. If S is not a valid group undeniable signature, then the verifier will accept S as an invalid signature.

Proof. If S0 or S1 is incorrect, the verifier will recognize S as an invalid signature.

Suppose S0 and S1 are both correct. Because S is invalid, S2 6= (Z1Z2)d mod n and therefore S2e 6≡ Z1Z2 (mod n). As D1/D2e ≡ ((Z1Z2)e1fe2)/(S2e1Sde2)e ≡ (Z1Z2/S2e)e1 (mod n), P can always find the required e1 as B. So V will accept S as an invalid signature.

Theorem 5.3.4. If S is a valid group undeniable signature, then the verifier will accept S as an invalid signature with probability 1/C1C2.

Proof. Because S is valid, S0 and S1 are correct and S2 = (Z1Z2)dmod n. There-fore S2e ≡ Z1Z2 (mod n). As D1/D2e ≡ ((Z1Z2)e1fe2)/(S2e1Sde2)e ≡ (Z1Z2/S2e)e1 (Z1Z2/(Z1Z2)de)e1 ≡ 1 (mod n), P will guess e1 correctly with probability 1/C1 in each round. So V will accept S as an invalid signature with probability 1/C1C2.

For simplicity the above protocol omits the zero-knowledge part. We can add the zero-knowledge property to the above protocol as follows: Instead of P sending B in Step 2, he sends a commitment of B to V using a commitment scheme [27, 168], after which V reveals to P the value of e1. After checking that B = e1, P sends B to V. V checks that B corresponds to the value committed by P and then performs the test of Step 3. Consequently, the zero-knowledge property is achieved as explained in the signature confirmation protocol.

Open

Given a valid signature S, the group manager can compute A1A−(a2 −1mod q1q2)mod n, which equals

(gyiur)((ua)r)−(a−1mod q1q2) mod n = gyi mod n.

The signer with the membership key zi = gyi mod n can be traced.

Conversion

In the phase, the group manager converts all or select group undeniable signatures into group signatures. Details of operations are described below.

1. Individual receipt generation.

Let S be a signature for message m. The group manager chooses r ∈R Zq1q2 and computes S’s individual receipt as R = ( ˜f , R1, R2, R3), where

f = fˆ rmod n, R1 = (Z1Z2)r mod n,

H = H(m k ˆf k R1) (assume gcd(H, q1q2) = 1),

R2 = SKREP [ α : R1 = (Z1Z2)α mod n ∧ ˆf = fα mod n, ](m), R3 = (r − Hd) mod q1q2.

Obviously it is infeasible to derive the secret key d from the individual receipt.

2. Individual verification.

Note that fR3SdH ≡ fR3fHd (mod n). Hence, fR3SdH ≡ fr (mod n) if and only if R3 ≡ (r − Hd) (mod q1q2). To validate R, the verifier checks the correctness of R2 and tests whether fR3SdH ≡ ˆf (mod n). If both succeed, then the receipt R is valid; otherwise, the receipt is invalid. If R is valid, then the alleged signature S can be verified by checking the correctness of S0 and S1 and testing whether (Z1Z2)R3S2H ≡ R1 (mod n) (see Lemma 5.3.1 below). Hence, with a valid individual receipt, the alleged signature can be verified.

Lemma 5.3.1. Assume R is valid. Then, (Z1Z2)R3S2H ≡ R1 (mod n) if and only if S2 = (Z1Z2)dmod n.

Proof. Because R is valid, we have R3 ≡ (r − Hd) (mod q1q2) and thus (Z1Z2)R3S2H ≡ (Z1Z2)(r−Hd)S2H (mod n). Suppose (Z1Z2)R3S2H ≡ R1 (mod n).

Then (Z1Z2)(r−Hd)S2H ≡ (Z1Z2)r (mod n). So S2H ≡ (Z1Z2)Hd (mod n). Thus S2 = (Z1Z2)dmod n. For the opposite direction, if S2 = (Z1Z2)dmod n, then (Z1Z2)R3S2H ≡ (Z1Z2)(r−Hd)((Z1Z2)d)H ≡ (Z1Z2)r (mod n).

3. Universal receipt generation.

To make all signatures universally verifiable, the group manager releases secret e as the universal receipt. According to the basic assumption behind RSA, this does not compromise the security of the secret key d.

4. Universal verification.

To validate e, the verifier tests whether f = Sde mod n. If the equality holds, then e is valid; otherwise, e is invalid. If e is valid, then all alleged signatures can be verified by checking the correctness of S0 and S1 and testing whether S2e ≡ Z1Z2 (mod n). This works because S2 = (Z1Z2)d mod n if and only if S2e ≡ Z1Z2 (mod n) because ed ≡ 1 (mod q1q2). Consequently, the group undeniable signature scheme can be converted into a group signature scheme by releasing the universal receipt e. In addition, our scheme allows the group manager to delegate the ability to confirm and deny signatures to trusted parties by issuing e to them only.

5.4 Security Analysis

Under the random oracle model, the security of our scheme is based on the standard cryptographic assumptions described in Section 5.2. In the following we show that the proposed scheme satisfies the security properties of group undeniable signatures.