Lecture 4 1 OR Proofs - NYU Computer Science

6 downloads 1024 Views 90KB Size Report
Sep 24, 2009 - Honestly generate ... Alice( SkA,PkA ) for a signature scheme S and S has a Σ-protocol ΣA such that Lm .... 3.2.1 Offline-Online Signatures.
G22.3220-001/G63.2180 Advanced Cryptography

2009-09-24

Lecture 4 Lecturer: Yevgeniy Dodis

Scribe: Gabe Templeton

Today’s topics: • OR Proofs • Trapdoor Commits • Applications

1

OR Proofs

An OR protocol is a protocol in which you only need a witness for one of two protocols to be validated. Assumption 1 Σ1 and Σ2 are two Σ-protocols for relations R1 and R2 . Definition 2 Define ROR (x, (y1 , y2 )) = 1 iff R1 (x, y1 ) = 1 or R2 (x, y2 ) = 1 This defined the language LOR = {(y1 , y2 )|∃b ∈ (0, 1) & Rb (x, yb ) = 1}

1.1

ΣOR for ROR

We now give the Σ-protocol for the OR relation ROR . Let ¯b = 3 − b. P(xb for b ∈ (1, 2))

V(y1 , y2 )

ab ← honest via xb (a¯b , c¯b , z¯b ) ← sim¯b (y¯b ))

1.2

a1 ,a2

−→ c

Set cb = c − c¯b

←−

Honestly generate zb for (ab , cb )

c1 ,c2 ,z1 ,z2

−→

Sample c ← G ( Challenge space is a group )

c1 + c2 = c

Proof this is a Σ-protocol

• Special HVZK : Define the simulator simOR (c) as follows. • c1 ← G • c2 = c − c1 • (a1 , z1 ) ← sim1 (c1 ) L4-1

• (a2 , z2 ) ← sim2 (c2 ) It is clear that the transcript (a = (a1 , a2 ), z = (c1 , c2 , z1 , z2 )) is distributed identically to the real protocol. • Special Soundness • We are given accepting ((a1 , a2 ), c, (c1 , c2 , z1 , z2 ), c′ , (c′1 , c′2 , z1′ , z2′ )), where c 6= c′ . • (c1 + c2 = c) 6= (c′1 + c′2 = c) implies either c1 6= c′1 , or c2 6= c′2 , or both. • if cα 6= c′α , then use Special Soundness of Σα to extract the witness for Rα , which is also the witness for ROR . As a corollary, ΣOR is WI since it is a Σ-protocols. / R¯b . Remark 1: Makes sense even if y¯b ∈ Remark 2: You can generalize to R1 ∨ R2 ∨ R3 ∨ ... ∨ Rt . The complexity is ≈ t Remark 3: RAN D is also easy (reuse same c for both relations). Thus, can compute a Σ-protocol for any “monotone function”.

2

Application to Active ID Protocols

Assumption 3 f : 1-1 OWF having a Σ-protocol. ( ex: Schnorr: f (x) = g x ; GQ: f (x) = xe modn ). From the properties of Σ-protocols ( see last lecture ) we have passive security. ( HW: Active security? ). Idea 1 Take two copies of Σ, Σ1 , Σ2 and run the OR proof using them. • Select x1 , x2 ← $ • y1 = f (x1 ) • y2 = f (x2 ) • Sk = xb Pk = ( y1 , y2 ) and choose a ΣOR . Notice: ∃ two possible witnesses and WI implies V ∗ doesn’t know which one is used for ∀ Pk(y1 , y2 ). By last lecture, this implies that ΣOR is actively secure. Note: This is not LR, there is only 1 bit of information. Exercise: Compare Okamoto.

L4-2

2.1

Private Sharing of a resource

Alice and Bob want to share a resource R ( printer, etc. ) but they do not trust each other ( they do not want to share a password. ) They would also like to make it impossible to distinguish which of them has accessed the resource. Based on the properties of ORprotocols, Alice and Bob can each have their own password and still have anonymous access to the resource. • Alice( P kA , SkA ) ← ΣA • Bob( P kB , SkB ) ← ΣB • To gain access to the resource, run ΣA∨B .

2.2

Off-the-Record Designated Proofs

Alice has a weakness x for y in language C. Alice wants to show Bob that shes knows this weakness without giving the weakness away, i.e. not reveal the weakness to Eve. • Option 1: Run Σ-protocol for C. – - Only secure if you are talking to Bob who is an HVZK – - Alice might be talking to Eve. • Option 2: If Bob has (P kB , SkB ) & ∃ΣB Alice runs ΣOR of Σ and ΣB . Where Σ is a Σ-protocol on C. The idea of option 2 is that Alice can convince Bob that shes knows the weakness, because otherwise it implies that she knows Bob’s secret key. It also becomes impossible for Bob to convince anyone else - he would have to convince them that she DOESN’T know his secret key. Special Case: Off-the-Record ( OTR ) Conversation Alice( SkA , P kA ) for a signature scheme S and S has a Σ-protocol ΣA such that Lm = ”I know Signature(m)” for ∀m. Apply the same reasoning as OTR Designated Proofs to this, she can show Bob she sent the message, but no one else will believe him claiming she sent it.

3

Trapdoor Commitments

A Trapdoor Commitment is a special ”commitment” scheme in which, from an observer’s point of view, appears to be a regular commitment scheme, but with a special Trapdoor Key (T k) you can ”Equivocate”: change the message which you have ”committed” yourself to.

L4-3

Commitment Scheme Refresher Definition 4 Commitment Scheme is a triple of algorithms (Setup, Com, Open ) • Setup(1λ ) → Ck (Defines message space µ) • ComCk (c) → (a, d) where a is the ”commitment” and d is the ”decommitment” (key) • OpenCk (a, d) → c¯ ∈ µ ∨ {⊥} • Hiding: ∀c0 , c1 ∈ µ → a(c0 ) ≈ a(c1 ) • Perfect Hiding: a(c0 ) ≡ a(c1 ) • Binding: For a random Ck it is ”hard to find” (a,d,d′ ) such that – OpenCk (a, d) = c – OpenCk (a, d′ ) = c′ – c, c′ 6= ⊥ ∧ c 6= c′ Trapdoor Commitments are a special kind of perfectly hiding commitments: • T Setup(1λ ) → (Ck, T k) replaces Setup(1λ ). • Hiding: ∀c0 , c1 (a(c0 ), T k) ≡ (a(c1 ), T k) • Equivocability: ∃ two algorithms F Com, Equiv: – F ComCk (T k) → (¯ a, state) ¯ =c – EquivCk (¯ a, c, state, T k) → d¯c such that Open(¯ a, d) • Even with the T k, this is still strong: ¯ – ∀c|Com(c) → (a, d) ≡ f ake(¯ a, d)

3.1

Construction

Let R(x, y) be any hard relation having a Σ-protocol. • T Setup(1λ ): (x, y) ∈ R • Ck = y, T k = x • ComCk (c): (a, z) ← sim∗ (c) • commitment ← a L4-4

• decommitment ← (c, z) • Open(a, (c, z)) → valid if (a, c, z) is valid. • Strong Hiding: ∀c a(c) ≡ Prover’s a but Prover’s a is independent of c. • Binding: Exactly Special Soundness : (a, (c, z)), (c′ , z ′ )) → hard • F ComCk (x) → Generates an honest a and honest state. ( Oblivious: True whenever first flow is independent of x ) • Equiv(a, c, state, x) → honest z → You can create any d¯c = (c, z) This produces a valid commitment scheme: Ck = y This simply defines the message space. We just have to select a T Setup who’s range is the desired message space. This produces the same message space as Setup. ComCk (c): (a, z) ← sim∗ (c) For a give challenge c, sim∗ will produce an (a, z) pair which fall into the (a, c, z) triple of a Σ-protocol. By Special HVZK of Σ-protocols, this is indistinguishable from a real (a, z) pair. F ComCk (x) Is actually the honest generation of an (a, z) pair for the Σ-protocol, which is indistinguishable from the last item. Equiv(a, c, state, x) → honest z Because this is actually a Σ-protocol run as intended ( first send a, then receive c, then generate a z ) This will produce a valid d ← (c, z) That is again, indistinguishable from the (c, z) pair produced by ComCk (c). 3.1.1

Example: Schnorr’s

Note: GQ as an exercise. y = gx

x gr

−→ c ←− z=r−c∗x −→ • Com(z) ← Zq | a = y c ∗ g z ( Redersen’s commitment: (y, g) are random generators ) • F Com(g, y)|r ← Zq a = g r ∀r • Equiv(a, c, r, x)|z = r − c ∗ x

L4-5

3.2 3.2.1

Applications Offline-Online Signatures

Notice that Equiv is often faster then Com/F Com or most other cryptographic operations. How do we take advantage of this? Split signing into two sections:

Offline Does not have message m - does most of the work. S = (Gen, Sig, V er) TD Commitment: S ′ = (Gen′ , Sig ′ , V er′ ) Gen′ (1λ )|(Sk, V k) ← Gen(1λ ) (Ck, T k) ← T Setup(1λ ) ′ Sk = (Sk, T k) V k ′ = (V k, Ck)

Online m comes - little work < Sig(a), d > Sig(a) is generated offline, a may be fake. d you you get to by Equiv for m

Sig(m) : (¯ a, state), F Com(T k) σ = SigSk (¯ a) dm ← Equiv(¯ a, m, T k, state) Output(σ, a ¯, dm ) What we are doing here is not signing the message itself, as this is a computationally expensive operation that can only be done when you have the message. Instead what we are doing is signing a random commitment ( one to which we have a Trapdoor Key, ) which can be done offline before we have any messages, and then once a message arrives we are equivocating a decommitment that will open the signed commitment into the message we wish to sign. Lemma 5 If T = Trapdoor Commitment and S = UF-KMA ( Existentially Unforgeable under Known Message Attack ) → S ′ = UF-CMA ( Existentially Unforgeable under Chosen Message Attack ) 3.2.2

Off-the-Record Communication Alice(Sk, Vk) (a, d) ← ComCkB (m) σ ← SigSka (a)

Bob(Ck, Tk) (a,d,σ)

−→

Bob verifies.

Bob believes Alice sent m. (Otherwise his T k is known.) No one will believe Bob saying Alice sent m. (He can Equivocate m into anything he wants: d′ ← Bob(a, m′ , d, T k)) Reverse State Reconstruction Given any valid (a, m, d) and T k → produce state such that (a, state) ≡ F Comm(T k). i.e. for Schnorr, state = r and r can be reconstructed: r = z + c ∗ x.

L4-6