Cryptographic witness 2026-11-05
A cryptographic witness is auxiliary information that satisfies an efficiently checkable relation for a public statement . Writing the relation as separates the claim from the information that certifies it. In a zero-knowledge proof, a prover may use such a witness without revealing it.[ref]
For an original graph isomorphism example, let the public graphs and both be the path with edges . A witness is a bijection of vertices preserving adjacency. Both
and
are valid. A witness need not be unique. With an adjacency-matrix encoding, a verifier can check all vertex pairs and their images in comparisons for an -vertex pair.
The public assertion is that a suitable mapping exists; the witness supplies one particular mapping. Whether that mapping is secret depends on the application. Calling it a witness does not inherently make it a password or a secret key.
A further distinction concerns what a proof establishes. Soundness of an interactive proof protects against acceptance of false statements. A proof of knowledge requires an additional formal relationship between a successful prover and extraction of a witness. Validity of a statement and knowledge of its certificate are not interchangeable claims.
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]
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 are
Each 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]
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]
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]
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, so
The 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.
Interactive proof system 2026-11-05
An interactive proof system is a protocol in which a prover in an interactive proof exchanges messages with a verifier in an interactive proof to establish a public statement. The verifier is a randomized algorithm running in polynomial time; the prover need not have that resource bound. Completeness of an interactive proof and soundness of an interactive proof specify acceptance behavior on true and false statements.[ref]
For a decision problem represented by a set , write the acceptance bounds as
The first condition supplies an honest proving strategy; the second constrains every cheating strategy, including adaptive answers. The bounds need a useful separation between and .
Graph non-isomorphism gives a concrete protocol. Given two graphs on the same number of vertices, the verifier secretly chooses a uniform bit , randomly relabels using a permutation, and sends the result . The prover guesses which input graph was chosen; the verifier accepts exactly when the guess equals .[ref]
If the graphs are non-isomorphic, an unrestricted prover can identify the correct isomorphism class and always answer correctly. If they are isomorphic, the two ways of generating have identical probability distributions, so gives no information about and any guess succeeds with probability . The verifier's secret random choice creates the test. This soundness argument alone makes no claim that the protocol is a zero-knowledge proof.
A prover in an interactive proof is the participant that sends messages intended to convince a verifier in an interactive proof of a public statement. Formally it is a strategy: its next response can depend on the public input, the preceding conversation and any private information or randomness it has. The basic interactive proof system model does not impose the verifier's polynomial time bound on this strategy.[ref]
An honest prover follows a designated strategy supporting completeness of an interactive proof. A cheating prover may depart from it; soundness of an interactive proof must still hold for every allowed cheating strategy. Calling a participant a prover therefore does not mean that its assertions are trusted.
A cryptographic witness can make an otherwise difficult response easy to produce. For an original composition example, let be a known graph isomorphism. If the prover sends for a chosen permutation , it can supply as an isomorphism from to , or as an isomorphism from to . Neither response requires solving a new isomorphism search problem from scratch.
Thus a theoretical allowance of unlimited prover computation is different from a claim about implementation cost. Some protocols have efficient honest provers when the witness is supplied; others are studied primarily for the verification power they demonstrate.
Rewinding in cryptographic proofs is a simulation or extraction technique that returns an algorithmic participant to an earlier state and explores another continuation. The saved state includes the relevant earlier messages and randomness. The technique is justified by the simulator's or extractor's access in the mathematical model; it is not an extra power of the ordinary verifier during a live exchange.[ref]
For the graph-isomorphism proof protocol, two accepting continuations of the same first message can answer different challenge bits. A knowledge extractor can combine their response mappings to obtain a cryptographic witness. If the prover instead starts again with a different first message, the responses need not combine in that way.
An original retry calculation explains an efficiency condition. Suppose independent simulation attempts succeed with probability and each failed attempt returns to the required earlier state. The attempt count has a geometric distribution:
At , the expected number of attempts is2; at , it is100. Constant or inverse-polynomial success can therefore support expected polynomial time, whereas exponentially rare success generally cannot.
A valid argument must also account for the cost of each attempt and show that the resulting output distribution is correct. Restoring a state, conditioning on success and restarting an entire protocol are distinct operations.
A verifier in an interactive proof is the efficient participant that evaluates a public statement using messages from a prover in an interactive proof and its own random choices. Its algorithm specifies which challenge to send, how to process the response and when to accept or reject. In the standard model it runs in probabilistic polynomial time in the public input length.[ref]
The verifier's guarantee concerns more than one successful conversation. Completeness of an interactive proof requires a suitable honest prover to succeed on true statements. Soundness of an interactive proof bounds success of every cheating strategy on false statements. A verifier that accepts whenever it receives any message meets neither requirement merely by being fast.
For an original checking example, suppose a response claims a graph isomorphism between two20-vertex graphs encoded by adjacency matrices. Checking that the vertex mapping is a bijection and that all adjacency entries agree with their mapped entries verifies that response. It does not require searching through all vertex permutations.
An interactive proof system can use such inexpensive checks in a randomized conversation. The verifier's random choices must follow the specified protocol: exposing a challenge too early, reusing randomness in an unjustified way or changing the acceptance rule can alter its mathematical guarantees.
Zero-knowledge simulator 2026-11-05
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]
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]
An explicit simulation reverses that construction. First choose a uniform bit and a uniform vertex permutation . Set
and 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.