Interactive Proofs and Zero Knowledge

Published on 2026-10-20·v1.0

Learning Objectives

  • Define an interactive proof system by its completeness and soundness conditions, and explain why the verifier must be randomized for interaction to add power.
  • Walk through the interactive proof for graph non-isomorphism, a problem not known to be in NP, and compute its soundness error.
  • State IP = PSPACE and explain the role of the sum-check protocol at a high level.
  • Define zero knowledge through a simulator, and verify that the classic graph-isomorphism protocol is complete, sound, and zero-knowledge.

Context & Motivation

algorithms-software/computability-complexity characterized NP by certificates: a language is in NP if every "yes" instance has a short proof that a deterministic polynomial-time verifier can check by reading it. Proofs in mathematics and in everyday life are often more interactive: a skeptic asks questions, and the prover's ability to answer unpredictable questions is what convinces. In 1985, Goldwasser, Micali, and Rackoff (and independently Babai) formalized this as interactive proofs, and in the same paper introduced an idea that sounds paradoxical: a proof that convinces the verifier a statement is true while revealing nothing else, a zero-knowledge proof.

Both ideas turned out to be enormously consequential. Interactive proofs with a randomized verifier can prove everything in PSPACE (Shamir, 1992), far beyond NP, and their descendants, probabilistically checkable proofs, are the basis of the hardness of approximation results quoted in the approximation-algorithms concept. Zero-knowledge proofs became a practical cryptographic tool: they underlie identification schemes, anonymous credentials, and the succinct proofs used to verify computations in blockchains. Goldwasser and Micali received the Turing Award in 2012; the material is core to MIT's 6.875 (Foundations of Cryptography).

Core Theory

Interactive proofs

A prover PP (computationally unbounded) and a verifier VV (probabilistic polynomial time) exchange messages about an input xx; at the end VV accepts or rejects. A language AA has an interactive proof if:

  • Completeness: if x∈Ax \in A, the honest prover makes VV accept with probability at least 2/32/3.
  • Soundness: if x∉Ax \notin A, every prover strategy makes VV accept with probability at most 1/31/3.

As with BPP, repetition drives both errors exponentially small. IP is the class of languages with such proofs. If VV were deterministic, the prover could precompute the whole conversation, and the transcript would just be an NP certificate; randomness, kept secret from the prover, is what adds power.

Graph non-isomorphism

Two graphs are isomorphic if relabeling the vertices of one gives the other. Graph isomorphism is in NP (the relabeling is a certificate). Its complement, non-isomorphism, is not known to be in NP: how would you certify that no relabeling works among n!n! candidates? Yet it has a simple interactive proof:

  1. VV secretly picks i∈{1,2}i \in \{1, 2\} at random and a random permutation π\pi, and sends H=π(Gi)H = \pi(G_i).
  2. PP replies with jj, its claim of which graph HH came from.
  3. VV accepts if j=ij = i.

If G1≇G2G_1 \not\cong G_2, HH is isomorphic to exactly one of them, and the unbounded prover can always tell which: completeness 1. If G1≅G2G_1 \cong G_2, a random relabeling of G1G_1 has exactly the same distribution as a random relabeling of G2G_2, so HH carries no information about ii, and any prover is right with probability exactly 1/21/2. Repeating kk times gives soundness error 2−k2^{-k}.

IP = PSPACE

Lund, Fortnow, Karloff, and Nisan introduced the sum-check protocol, which lets a verifier check a claim of the form ∑x∈{0,1}np(x)=K\sum_{x \in \{0,1\}^n} p(x) = K for a low-degree polynomial pp while doing only polynomial work: in each round the prover sends a univariate polynomial for one variable, the verifier checks consistency and fixes that variable to a random field element, and Schwartz-Zippel (from the previous concept) bounds the probability that a cheating prover survives. Shamir extended the technique to TQBF, proving IP=PSPACE\mathrm{IP} = \mathrm{PSPACE}: anything provable with polynomial memory is provable to a polynomial-time verifier through interaction.

Zero knowledge

A protocol is zero-knowledge if whatever a verifier sees could have been produced without the prover. Formally, for every efficient verifier strategy V∗V^* there is an efficient simulator SS that, given only xx (and not the prover's secret), outputs transcripts distributed identically (or computationally indistinguishably) to real conversations between PP and V∗V^*. If the verifier could have produced the transcript alone, the conversation taught it nothing beyond the fact that x∈Ax \in A.

Zero-knowledge proof of graph isomorphism. The prover knows a permutation σ\sigma with G2=σ(G1)G_2 = \sigma(G_1) and wants to prove G1≅G2G_1 \cong G_2 without revealing σ\sigma:

  1. PP picks a random permutation π\pi and sends H=π(G1)H = \pi(G_1).
  2. VV sends a random challenge b∈{1,2}b \in \{1, 2\}.
  3. If b=1b = 1, PP reveals π\pi (mapping G1G_1 to HH); if b=2b = 2, PP reveals π∘σ−1\pi \circ \sigma^{-1} (mapping G2G_2 to HH).
  4. VV checks that the revealed permutation maps GbG_b to HH.

Completeness: an honest prover always answers correctly. Soundness: if the graphs are not isomorphic, HH is isomorphic to at most one of them, so a cheater fails one of the two challenges, and is caught with probability 1/21/2 per round. Zero knowledge: the simulator picks b′b' at random, a random π\pi, sends H=π(Gb′)H = \pi(G_{b'}), and if the verifier's challenge equals b′b' it outputs (H,b′,π)(H, b', \pi); otherwise it rewinds and tries again. Each revealed permutation is a uniformly random relabeling, which is exactly what a real transcript shows, so the distributions match, and the expected number of attempts is 2.

Goldreich, Micali, and Wigderson (1986) showed that every language in NP has a zero-knowledge proof, assuming one-way functions exist, via a protocol for graph 3-coloring with cryptographic commitments.

Worked Examples

Example 1: soundness after repetition

Problem: In the graph-isomorphism zero-knowledge protocol, how many rounds are needed so that a prover who does not know an isomorphism (because none exists) is accepted with probability below one in a million?

Trace: Each round a cheating prover can prepare for only one challenge, so survives with probability 1/21/2. After kk independent rounds: 2−k<10−62^{-k} < 10^{-6} requires k≥20k \geq 20 (2−20≈9.5×10−72^{-20} \approx 9.5 \times 10^{-7}). Twenty rounds of three messages each. Zero knowledge is preserved under sequential repetition, so the 20-round protocol still reveals nothing.

Example 2: why the simulator does not prove anything

Problem: The simulator produces accepting transcripts without knowing σ\sigma. Why doesn't that let a cheating prover convince a real verifier?

Resolution: The simulator chooses b′b' before seeing the challenge and rewinds whenever the verifier's challenge differs, discarding failed attempts. A real prover interacting with a real verifier cannot rewind: it commits to HH, then receives a challenge it cannot control. The transcripts look the same, but producing them requires the power to restart the verifier, which only the simulator has. That asymmetry is precisely why the transcript proves something to the verifier who lived it, while proving nothing to a third party who sees it afterwards, since it could have been simulated.

Common Misconceptions & Pitfalls

  • "Zero knowledge means the verifier learns nothing at all." It learns that the statement is true, and nothing more. In the identification setting, it learns that the prover knows a secret, without learning the secret.
  • "Interactive proofs only matter in theory." Non-interactive variants (via the Fiat-Shamir transform, which replaces the verifier's random challenges with a hash of the transcript) are deployed in signature schemes such as Schnorr signatures and in succinct proof systems that verify large computations.
  • "Soundness must hold against efficient provers only." In interactive proofs, soundness holds against all provers, even unbounded ones. Systems sound only against efficient provers are called arguments; most deployed succinct systems are arguments relying on cryptographic assumptions.

Summary

Interactive proofs let a randomized polynomial-time verifier question an all-powerful prover, requiring that true statements be accepted with high probability and false ones rejected against every prover strategy. Randomness hidden from the prover is essential: it yields a simple proof of graph non-isomorphism, a problem not known to be in NP, and, through sum-check, IP = PSPACE. Zero-knowledge proofs convince without revealing anything else, defined by a simulator that fakes transcripts with rewinding; graph isomorphism has a classic three-message protocol, and every NP language has one if one-way functions exist. The next concept makes that assumption the subject: what one-way functions are and how they yield pseudorandomness.

Documentation Links