• Aucun résultat trouvé

A secure signature scheme based on claw free permutations

Dans le document Lecture Notes on Cryptography (Page 173-177)

Conventions Regarding Definitions

9.4 Probabilistic Signatures

9.4.5 A secure signature scheme based on claw free permutations

LetDf be the common domain of the claw-free permutations pair Consider the following scheme, for signing messagesmi ∈ {0,1}k wherei∈ {1,· · ·, B(k)} andB(k) is a polynomial ink:

Choose two pairs of claw-free permutations, (f0, f1) and (g0, g1) for which we know f01, f11, g01, g11. ChooseX ∈Df. Let the public key containDf, X, f0, f1, g0, g1and let the secret key containf01, f11, g01, g11.

PK SK

Df, X, f0, f1 f01, f11 g0, g1 g01, g11

Let◦be the concatenation function and set the historyH1=∅. To signmi, fori∈ {1,· · ·, B(k)}: 1. ChooseRi∈Dg uniformly.

2. Setz1i =fH1

iRi(X).

3. Setz2i =gm1i(Ri).

4. Set signatureσ(mi) = (z1i, zi2, Hi).

5. SetHi+1=Hi◦Ri.

To verify a message-signature pair (m, s) wheres= (z1, z2, H), 1. LetR=gm(z2).

2. Check that fHR(z1) =X.

If so, then the signature is valid and the verification functionV(m, s) = 1. Otherwise, V(m, s) = 0. This scheme takes advantage of the fact that a new random elementz1i can be used in place ofX for each message so that the forger is unable to gain information by requesting signatures for a polynomial number of messages.

It is clear that the signing and verification procedures can be performed in polynomial time as required. The following theorem also shows that it is secure:

Theorem 9.9 The claw-free permutation signature scheme is existentially secure against CMA if claw-free permutations exist.

Proof:(by contradiction) Suppose not. Then there is a forgerFCM A(f0, f1, g0, g1, X) which consists of the following two stages:

Stage 1: F obtains signaturesσ(mi) for up toB(k) messagesmi of its choice.

Stage 2: F outputs ( ˆm,s) where ˆˆ s= (ˆz1,zˆ2,Hˆ) such that ˆmis different than allmi’s requested in stage 1 andV( ˆm,s) = 1.ˆ

We show that if such anF did exist, then there would be a PTMAwhich would:

Input: Uniformly chosen (h0, h1, Dh) claw-free such thath01 andh11 are not known.

Output: Either a h-claw with probability greater than Q(k)1 whereQ(k) is a polynomial ink.

This is a contradiction by the definition ofh0 andh1.

PTMAis based on the fact that whenF is successful it does one of the following in stage 2:

Type 1 forgery: Find ag-claw Type 2 forgery: Find af-claw

Type 3 forgery: Find f01(ω) orf11(ω) forω=z1B(k)the last point in the history provided by the signer PTMAconsists of two PTM’s A1andA2 which are run one after the other. A1 attempts to find anh-claw based on the assumption thatF produces ag-claw. A2 attempts to find ah-claw based on the assumption thatF produces af-claw. BothA1andA2will useh0andh1in their public keys. In order to sign a message usingh0 andh1, these PTM’s will computev=hi(R) for someR∈Dhand useR ashb1(v). Thus, neither A1 norA2 will need to inverthb when answering F’s requests. Note that since hb is a permutation, v will be random ifRis.

Description ofA1:

Cryptography: Lecture Notes 175

1. Choose (f0, f1, Df) claw-free such that we knowf01andf11. Let the public key containDf, X, f0, f1, g0= h0,andg1=h1. Let the secret key containf01andf11.

PK SK

Df, X, f0, f1 f01, f11 g0=h0, g1=h1

2. Set historyH1=∅and runF(f0, f1, g0, g1, X). WhenF asks for the signature of a messagemi, (a) Choosez2i ∈Dg at random.

(b) SetRi=gmi(z2i).

(c) Set z1i =fH1

iRi(X).

(d) Output (z1i, z2i, Hi).

(e) Set Hi+1=Hi◦Ri.

F then outputs ( ˆm,ˆs) where ˆs= (ˆz1,ˆz2,H).ˆ 3. Test to see thatV( ˆm,ˆs) = 1. If not thenA1 fails.

4. Let ˆR=gmˆ(ˆz2). If ˆR6=Ri for anyi, thenA1 fails sinceF did not produce a type 1 forgery

5. Otherwise, let j be such that ˆR =Rj. We now havehmˆ(ˆz2) = hmj(z2j) = Rj. From this we easily obtain ah-claw.

Description ofA2:

1. Choose (g0, g1, Dg) claw-free such that we know g01 and g11. Let f0 = h0 and f1 = h1. Choose R1, R2,· · ·, RB(k)∈Dg,c∈ {0,1}andz∈Dfuniformly and independently. SetX =fR1R2◦···◦RB(k)c(z).

Let the public key containDf, X, f0, f1, g0 andg1. Let the secret key containg01 andg11.

PK SK

Df, X, g0, g1 g01, g11 f0=h0, f1=h1

2. Set historyH1=∅and runF(f0, f1, g0, g1, X). WhenF asks for signature of messagemi, (a) Setz1i =fRi+1◦···◦RB(k)(X).

(b) Setz2i =gm1i(Ri).

(c) Output (z1i, z2i, Hi).

(d) SetHi+1=Hi◦Ri.

F then outputs ( ˆm,ˆs) where ˆs= (ˆz1,ˆz2,H).ˆ 3. Let ˆR=gmˆ(ˆz2).

4. There are three possibilities to consider:

F made type 1 forgery: This means ˆH◦Rˆ=Hi for some i. In this caseA2 fails.

F made type 2 forgery: There is some first bit in ˆH◦Rˆ which differs fromA2’s final historyHN. As a result, ˆH◦Rˆ=H◦b◦Sˆ andHN =H◦¯b◦S for someb∈ {0,1}and stringsH,S, S. From thisˆ we obtainfb(fSˆ(ˆz1)) =f¯b(fS(zN1 )) which providesA2 with ah-claw.

F made type 3 forgery: ˆH◦Rˆ =HN◦b◦S for some bitband stringS. Since the bitdchosen byA2 to follow HN if another request were made is random,b will be different fromdwith probability 1/2. In this case,A2 will haveh01(hH1 and A2 will succeed with probability p2 + p23. Thus, A1 or A2 will succeed with probability at least max(p1, p2+p23)≥3Q(k)1 .

Notes:

1. Unlike the previous scheme, the signature here need not contain all the previous messages signed by the scheme; only the elementsRi ∈Dg are attached to the signature.

2. The length of the signature need not be linear with the number of messages signed. It is possible instead of linking theRi together in a linear fashion, to build a tree structure, whereR1authenticates R2 andR3, andR2 authenticatesR4andR5and so forth till we construct a full binary tree of depth logarithmic inB(k) whereB(k) is a bound on the total number of signatures ever to be signed. Then, relabel the Rj’s in the leafs of this tree as r1, ..., rB(k).

In the computation of the signature of the i-th message, we let z2i =gm1i(ri), and let z1i = fri1(R) whereR is the father ofri in the tree of authenticatedR’s. The signature of theith message needs to contain then allR0s on the path from the leafri to the root, which is only logarithmic in the number of messages ever to be signed.

3. The cost of computing afm1(x) is|m|(cost of computingf1). Next we show that for the implemen-tation of claw-free functions based on factoring, themfactor can be saved.

Example: Efficient way to compute fm1(z)

As we saw in Example 9.4.2, if factoring is hard, a particular family of trap-door permutations is claw free.

Letn=pq, where pandqare primes and p≡3 mod 8,q≡7 mod 8. forx∈QRn: f0,n(x) =x2modn f1,n(x) = 4x2modn

is this family of claw-free trap-door permutations.

Notation: We write√

x=y when that y2=xandy∈QRn.

To computefm1(z) we first compute (all computations below are modn):

f001(z) =p√

Leti(m) be the integer corresponding to the stringmreversed. It is easy to see that in the general case we get: fm1(z) = (4i(m)z )2|m|1

Now, all we need is to compute the 2|m|th root modnonce, and this can be done efficiently, by raising to a power modΦ(n).

Cryptography: Lecture Notes 177

Dans le document Lecture Notes on Cryptography (Page 173-177)