6.875/18.
425J Cryptography and Cryptanalysis April 20, 2005
Handout 11: Problem Set #6
This problem set is due on: May 3, 2005.
Problem 1 Perfectly Hiding Commitment
Definition:
A tworound perfectlyhiding commitment scheme is a triple of efficient algorithms
(GEN, COM, V ER) satisfying the following properties.
Correctness: For all security parameters k and inputs α,
P r[g ← GEN (1k ); (c, d) ← COM (g, α) : V ER(g, c, d, α) = T RU E] = 1
Binding: For all k, and for any probabilistic polynomialtime cheating commiter C ∗ :
P r[g ← GEN (1k ); (c, d1 , d2 , α1 , α2 ) ← C ∗ (g) :
V ER(g, c, d1 , α1 ) = V ER(g, c, d2 , α2 ) = T RU E ∧ α1 =
� α2 ] < negligible(k)
Perfect Hiding: For all k, and all inputs α and β the following distributions are identical:
�g ← GEN (1k ); (c, d) ← COM (g, α) : (g, c)� = �g ← GEN (1k ) : (c, d) ← COM (g, β) : (g, c)�
Protocol:
Consider the following tworound protocol for committing to a kbit value, α. The
algorithm GEN randomly selects (p, g, h) subject only to the following conditions: (1)
p is a k + 1bit prime number and (2) g and h are generators of Zp∗ . The algorithm
COM on input (p, g, h) and α selects a random t ∈ Zp∗ and outputs the commitment
message c = g t hα mod p and the decommitment message t. The algorithm V ER on
input (p, g, h), c, t and α outputs T RU E if and only if c = g t hα (mod p).
Prove: the above protocol is, in fact, a perfectlyhiding commitment scheme.
111
Problem 2 ZeroKnowledge in Parallel
Let (GEN, COM, V ER) be a perfectly hiding commitment scheme. Here we provide a
fiveround proof system for ISO.1 with negligible soundness error.
1. The prover selects g ← GEN (1k ) and sends g to the verifier.
2. The verifier chooses a kbit random string r, selects (c, d) ← COM (g, r) and sends
c to the prover.
3. The prover randomly selects k graphs C1 , . . . Ck such that each Ci is isomorphic to
G and sends C1 , . . . , Ck to the verifier.
4. The verifier sends d and r to the prover.
5. If r = V ER(g, c, d) then for each graph Ci the prover sends the verifier a random
isomorphism mapping G to Ci if the ith bit of r is 0 and a random isomorphism
mapping H to Ci if the ith bit of r is 1.
Prove: the above protocol is, in fact, a zeroknowledge proof system for ISO.
Problem 3 Hiding and Binding
Prove or Disprove: There exists a bit commitment scheme which is both perfectly
hiding and perfectly binding.
Note: A perfectly hiding commitment scheme is defined in problem 1. A commitment
scheme is perfectly binding if the binding condition holds with respect to all cheating com
miters (as opposed to only those running in probabilistic polynomialtime). Encryption
is an example of a perfectly binding commitment scheme.
Problem 4 Proofs of Knowledge
Let L be a language in N P and for x ∈ L let Wx be the set of NPwitnesses for x.
Informally, (P, V ) is a ZK proof of knowledge for L if on common input x, P convinces
V that he knows an element of Wx and yet interacting with P provides V provides P
with no knowledge other than that x ∈ L. (In particular, V learns nothing about which
element of Wx the prover knows!)
Provide a formal definition of a zeroknowledge proof of knowledge and explain why your
definition captures informal notion above.
1
The language of all pairs of graphs (G, H) such that G is isomorphic to H.
112