A zero-knowledge proof is a proof protocol that convinces a verifier of a public statement's validity while revealing no additional information that the verifier could not efficiently obtain from that statement and its permitted prior information. The formal comparison uses a zero-knowledge simulator: an efficient randomized algorithm that reproduces the verifier's view without the prover's secret cryptographic witness.[ref]
Proofs that Yield Nothing But Their Validity or All Languages in NP Have Zero-Knowledge Proof Systems by Oded Goldreich and others. Definition of zero knowledge, simulator and verifier-view distributions
An interactive proof system separates three questions. Completeness of an interactive proof asks whether an honest prover can convince the verifier of a true statement. Soundness of an interactive proof bounds acceptance of false statements. Zero knowledge concerns information disclosure, so a protocol can pass a soundness test without being zero knowledge. The simulator comparison may require equality of distributions, statistical closeness or computational indistinguishability, depending on the definition.[ref]
Proofs that Yield Nothing But Their Validity or All Languages in NP Have Zero-Knowledge Proof Systems by Oded Goldreich and others. Definitions of interactive proofs, zero knowledge and distribution comparison
For an original soundness calculation, suppose a fixed false-statement strategy can answer only one of two equally likely challenges. Its acceptance probability is at most . If this conditional bound continues to hold after every preceding transcript and fresh challenges are used, sequential successful rounds have probability at mostAt , the bound is . This stipulated calculation does not prove that any particular protocol has the required per-round bound, nor does it establish zero knowledge.
The simulator supplies the separate privacy argument. It must reproduce the relevant distribution efficiently, rather than merely output one accepting transcript. A zero-knowledge proof can be interactive or a non-interactive zero-knowledge proof; its precise verifier and setup assumptions are part of its security claim.
The graph-isomorphism proof protocol is a three-message interactive proof system for the claim that public graphs are isomorphic. An honest prover in an interactive proof knows a cryptographic witness .[ref]
Probabilistic Proof Systems: A Primer by Oded Goldreich. Construction2.3, printedpp.26–27
The prover samples a uniform vertex permutation and sends . The verifier in an interactive proof replies with a uniform bit . The prover then sends an isomorphism : use or . The verifier checks the mapping and its effect on all edges.
For an original three-vertex example, let have edges , and let map to . Then has edges . Choose mapping to ; the sent graph has edges . The two responses areEach maps the corresponding input graph's edges to those of . These tiny graphs illustrate the checks, not a difficult cryptographic instance.
An honest prover always passes. If the public graphs are not isomorphic, a fixed cannot have valid responses to both challenges: composing them would give an isomorphism between the inputs. Thus a cheating strategy answers at most one of the two equally likely challenges for that commitment, giving single-round acceptance at most .
The standard protocol also admits zero-knowledge simulator constructions. An elementary sampler proves honest-verifier zero knowledge; treating arbitrary verifier strategies requires an additional simulation argument.[ref]
Probabilistic Proof Systems: A Primer by Oded Goldreich. Construction2.3 and subsequent honest/general-verifier simulations, printedpp.27–28
Honest-verifier zero knowledge is the zero-knowledge proof simulation requirement restricted to a verifier that follows its prescribed algorithm. The zero-knowledge simulator reproduces that verifier's view without the prover's secret cryptographic witness. General zero knowledge must account for permitted deviations by the verifier as well.[ref]
Zero-Knowledge: a tutorial by Oded Goldreich. The Basics, restriction to honest verifiers and simulation variants
In the graph-isomorphism proof protocol, the honest verifier chooses an independent uniform challenge bit. A simulator can first choose , sample a uniform permutation , set and output . For isomorphic public graphs, this has the same distribution as the honest conversation.[ref]
Probabilistic Proof Systems: A Primer by Oded Goldreich. Construction2.3, honest-verifier simulation on printedp.27
An original small example shows what changes if the verifier deviates. Suppose is a uniform relabeling of a three-vertex path. There are three labeled paths; two contain the edge . A different verifier could choose exactly when that edge is present, soThe elementary honest-verifier simulator chooses a uniform bit and instead gives . It therefore fails to reproduce this changed verifier's view.
This comparison does not show that the standard graph protocol lacks general zero knowledge. It shows that a simulator for the honest verifier does not automatically prove the stronger property. The general analysis may use rewinding in cryptographic proofs to simulate challenges that depend on the first message. The stated adversary model is part of the theorem.
A zero-knowledge simulator is an efficient randomized algorithm that reproduces the relevant verifier-view distribution of a zero-knowledge proof without receiving the prover's secret cryptographic witness. Depending on the definition, the real and simulated views must be identical, statistically close or satisfy computational indistinguishability.[ref]
Zero-Knowledge: a tutorial by Oded Goldreich. The Basics, simulator and level of distribution similarity
The graph-isomorphism proof protocol provides an illuminating example for honest-verifier zero knowledge. On a fixed public isomorphic pair , a real prover sends a random relabeling , receives a uniform challenge bit , and supplies a graph isomorphism from to .[ref]
Probabilistic Proof Systems: A Primer by Oded Goldreich. Construction2.3 and the honest-verifier simulation immediately following it, printedpp.26–27
An explicit simulation reverses that construction. First choose a uniform bit and a uniform vertex permutation . Setand output the transcript . The simulator never needs a mapping between and . For an isomorphic public pair, random relabelings of either graph have the same probability distribution; conditional on , the response mapping is uniform in both constructions. Thus the honest verifier's transcript distribution is reproduced exactly.
This does not give a live cheating prover control of the verifier's future challenge. The simulator chooses a complete transcript in a different order from the real exchange. Nor does this simple sampler establish security against an arbitrary malicious verifier, whose challenge could depend on .
The example exposes the central requirement: producing one plausible accepting transcript is insufficient. The simulator must reproduce the specified distribution within the required efficiency bound and adversary model.
A non-interactive zero-knowledge proof allows a prover to send one proof message that a verifier can check without an ensuing challenge-response conversation, while satisfying an appropriate zero-knowledge proof definition. Non-interactive describes the proof exchange; it does not mean that setup assumptions disappear.[ref]
Zero-Knowledge: a tutorial by Oded Goldreich. Section8, single-message model and shared reference string
In a common reference string model, both parties use public setup data . The prover constructs a proof for a public statement , and the verifier evaluatesThe setup's distribution and the adversary's knowledge of its generation must be specified. In the tutorial's basic common-random-string model, the zero-knowledge simulator produces a reference-string/proof pair with the required computational indistinguishability from a real pair.[ref]
Zero-Knowledge: a tutorial by Oded Goldreich. Section8, real and simulated reference-string/proof distributions
An original toy relation separates a statement from a cryptographic witness. Let the public values be and , and ask whether there is a value withThe value satisfies the relation because . Sending directly verifies that example but reveals that witness; it does not demonstrate a zero-knowledge property. A non-interactive proof would instead require a defined proof construction, verifier and simulation argument.
The tiny modulus is chosen only for transparent modular arithmetic; it is not a secure cryptographic parameter. Likewise, a single short message is not automatically a non-interactive zero-knowledge proof: efficient verification, soundness and information disclosure remain separate obligations.
Articles by others on the same topic
A zero-knowledge proof is a method used in cryptography that allows one party (the prover) to convince another party (the verifier) that they know a certain piece of information (often a secret, such as a password or cryptographic key) without revealing the actual information itself. The key characteristics of a zero-knowledge proof include: 1. **Completeness**: If the statement is true and both parties follow the protocol correctly, the verifier will be convinced of this fact.