Proof of knowledge

This is an old revision of this page, as edited by Markulf (talk | contribs) at 00:22, 18 August 2006. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


An interactive proof of knowledege for relation with knowledge error is a two party protocol with a prover and a verifier with the following two properties:

  1. Completeness: if , the prover P who knows witness for succeeds in convincing the verifier of his knowledge. More formally:
  2. Validity: Validity requires that the success probability of a knowledge extractor in extracting the witness, given oracle access to a possibly malicious prover , must be at least as high as the success probability of the prover in convincing the verifier. This Property guarantees that no prover that doesn't know the witness can succeed in convincing the verifier.

Details on the definition

This is the rigorous definition of Validity:

There exists a polynomial-time machine  , given oracle access to  , such that for every   and every  , it is the case that   and  

  is the set of all witnesses for public value  , while the result   signifies that the Turing machine   did not come to a conclusion.

The knowledge error   denotes the probability that the verifier   might accept  , even though the prover does in fact not know a witness  . The knowledge extractor   is used to express what is meant by the knowledge of a Turing machine. If   can extract   from  , we say that   knows the value of  .

See also