0% found this document useful (0 votes)
59 views4 pages

COEN 350 Zero Knowledge Proofs

This document discusses zero-knowledge proofs, which allow a claimant to prove possession of secret information to a verifier without revealing the secret. It defines zero-knowledge proofs, provides an example using a cave, and describes some common zero-knowledge proof protocols including Fiat-Shamir identification and the Guillou-Quisquater protocol.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views4 pages

COEN 350 Zero Knowledge Proofs

This document discusses zero-knowledge proofs, which allow a claimant to prove possession of secret information to a verifier without revealing the secret. It defines zero-knowledge proofs, provides an example using a cave, and describes some common zero-knowledge proof protocols including Fiat-Shamir identification and the Guillou-Quisquater protocol.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

10/11/2017 ZKProofs

COEN 350
Zero Knowledge Proofs
Introduction
To identify one-self to another entity, an entity can use something known (e.g. passwords), something
possessed (a token card), or something inherent (biometric measurements). Identification protocols may be
measured by

1. Reciprocity of Identification (unilateral or mutual).


2. Costs of Computation.
3. Costs of Communication (e.g. number of rounds).
4. Existence, Involvement of Third Parties and Trust therein.
5. Nature of Security Guarantees.
6. Storage of Secrets.

In a challenge response scheme, the claimant proves its identity to the verifier by demonstrating knowledge
of a secret associated with the claimant. This can be done for example by using a scheme that generates
sequence numbers in a way that is unpredictable to someone not privy to the scheme, in this example the
secret is the knowledge of how to generate the sequence numbers. It can also be done by using a challenge-
response scheme based on symmetric or asymmetric key encryption. For example, the verifier sends a
random number, and the claimant returns the random number encrypted.

A disadvantage of password protocols is that if A gives its password to B, then B can impersonate A.
Challenge-response schemes improve on this because A only proves knowledge of a secret, but does not give
out the secret. However, in the execution of the protocol, A gives hints to B (and any eavesdropper). Zero
knowledge proofs are designed to let a claimant demonstrate the knowledge of the secret without revealing
any information whatsoever about the secret. More generally, a zero knowledge protocol allows a proof of
the truth of an assertion without conveying no information whatsoever about the assertion itself rather than
its actual truth.

Definition
A zero-knowledge protocol are instances of an interactive proof system, where claimant and verifier
exchange messages (typically depending on random events).

1. Security: An impostor can comply with the protocol only with overwhelmingly small probability.
2. Completeness: An interactive proof is complete if the protocol succeeds (for a honest proofer and a
honest verifier) with overwhelming probability p > 1/2. (Typically, p ~ 1).
3. Soundness: An interactive proof is sound if there is an algorithm M with the following properties:
1. M is polynomial time.
2. If a dishonest prover can with non-negligible probability successfully execute the protocol with
the verifier, then M can be used to extract knowledge from this prover which with overwhelming
probability allows successful subsequent protocol executions. (In effect, if someone can fake the
scheme, then so can everyone observing the protocol e.g. by computing the secret of the true
proover.)

http://www.cse.scu.edu/~tschwarz/coen350/zkp.html 1/4
10/11/2017 ZKProofs

4. Zero-Knowledge (ZK) Property: There exists a simulator (an algorithm) that can simulate (upon
input of the assertion to be proven, but without interacting with the real prover) an execution of the
protocol that for an outside observer cannot be distinguished form an execution of the protocol with
the real prover.

Example
Quisquater and Guillou (Crypto 89) explain zero-knowledge proofs with the following example:

Alice wants to convince Bob that she knows the secret to pass through the door between points C and D. Bob
lets Alice go into the cave to either point C or D. When Alice got there, she cries to Bob to come to point B.
Bob has no way to know whether Alice is at C or D. Bob now cries out "left" or "right", and if Alice knows
the secret passway she can follow his command. They then walk out of the cave. Alice and Bob then repeats
the procedure n times. If Alice knows the secret, then she always passes Bob's test (completeness). If she
does not, then she can comply with Bob's request only with probability 2-n (proof). If an impostor can fool
Bob, then there must be an alternative way from C to D and anybody can use it (soundness). If Bob
videotapes his interactions with Alice, then there is no way to distinguish it from a staged version of the
protocol (where Bob and Alice script challenge and response in advance).

NP-Hard Problems
We can use many computationally hard problems for zero-knowledge proofs. One such problem is the one of
determining whether two graphs are isomorphic. Assume that Alice's secret is an isomorphism between two
graphs G and H. An isomorphism between two graphs is a bjection f between the vertices of the graphs so
that (f(x),f(y)) is an edge if and only if (x,y) is an edge. There is no known fast algorithm to decide whether
two graphs are isomorphic.

Assume Alice wants to prove to Bob that she is herself by demonstrating that she knows the isomorphism
between G and H. She permutes the vertices of G in order to generate a graph K that is isomorphic to G and
H and sends it to Bob. Bob challenges her by asking her to either proof that K and G are isomorphic or that
K and H are isomorphic. Alice complies. The whole process (generation of a new K, showing either that K is
isomorphic to G or that K is isomorphic to H depending on Bob's choice) is repeated n times.

Three Stage ZK protocols


A large class of zero-knowledge protocols consists in repeating n times the following three message rounds:

1. Claimant (Prover) to Verifier: Witness


2. Verifier to Claimant: Challenge
3. Claimant to Verifier: Response

http://www.cse.scu.edu/~tschwarz/coen350/zkp.html 2/4
10/11/2017 ZKProofs

The prover selects a random element from a pre-defined set as its secret commitment and from this computes
a public witness. The randomness creates unrepeatable execution histories. The claimant basically asserts
that it can answer a number of questions. The verifier probabilistically tests this by asking one of these
questions. If the claimant is the one it claims to be, then it can answer all questions successfully. The answer
to any one of these questions does not provide information about the secret commitment. The Verifier checks
the answer for accuracy. The protocol is repeated n times.

Fiat-Shamir Identification
The Fiat Shamir protocol is based on the difficulty of calculating a square-root. The claimant proves
knowledge of a square root modulo a large modulus n.

One Time Set-up:


1. A trusted center publishes a modulus n = p q that is the product of two primes.
2. Each potential claimant (prover) selects a secret s coprime to n and publishes s = v2 mod n as its
public key.
Protocol: The following is repeated t times.
1. The prover chooses a random r and sends (the witness) r2 mod n to the verifier.
2. The verifier randomly selects a single bit e = 0 or e = 1, and sends e to the prover.
3. The prover computes the response y = r se mod n and sends it to the verifier.
4. The verifier rejects the proof if y = 0 and accepts if y2 = r2v e mod n .

Informally, the challenge (or exam) e selects between two answers: the secret r (to keep the claimant honest)
or one that can only be known from s. If a false claimant were to know that the challenge is e = 1, then he
could provide an arbitrary number a and send witness a2/v. Upon receiving e = 1, he sends y = a. Then y2 =
a2/v v. If the false claimant were to know that the challenge is e = 0, then he could select an arbitrary
number a and send witness a2. This property allows us to simulate runs of the protocol that an outside
observer cannot distinguish from real runs (where the challenges e are true random challenges).

Versions of Fiat-Shamir can be used that require little computation and are therefore suitable to identification
with low power processors such as those on a token card.

Guillou Quisquater Protocol


The GQ protocol is an extension of the Fiat Shamir protocol that limits the number t of rounds required.

One Time Set-up:


1. A trusted authority T selects two random primes p and q and forms a modulus n = p q.
2. T defines a public exponent v > 4 with gcd(v, (p-1)(q -1) = 1 so that T can compute s = v-1 mod
(p-1) (q-1).
3. T publishes parameters n and v.
Selection of per-user parameters:
1. Each entity A has a unique identification Id(A). Everyone can calculate a value J(A) = f(Id(A))
mod n (the redundant identity).
2. T gives to each entity A the secret data secret(A) = J(A)-s, which it can calculate.
Protocol: A proves her identity to B using t rounds, each of which consists of:
1. A selects a random secret r and sends her identity Id(A) and x = rv mod n to B.
2. B selects a random challenge e in {1, 2, ... , v}.
3. A computes and sends the following response to B: y = r secret(A)e mod n.
4. B receives y, constructs J(A) = f(Id(A)) mod n, computes z = J(A)eyv, and accepts this round if z
= x mod n.

http://www.cse.scu.edu/~tschwarz/coen350/zkp.html 3/4
10/11/2017 ZKProofs

In this protocol, v determines the security level. In Fiat Shamir, v = 2 and there are many rounds. A
fraudulent claimant can defeat the protocol by correctly guessing the challenge e (with a 1 in v chance.) GQ
seems secure, because we need to extract v-roots modulo n.

2003 Thomas Schwarz, S.J., COEN,


SCU COEN COEN350 T. Schwarz
SCU

http://www.cse.scu.edu/~tschwarz/coen350/zkp.html 4/4

You might also like