International Association for Cryptologic Research (IACR)
Abstract
A zero-knowledge proof is a cryptographic protocol where a prover can convince a verifier that a statement is true, without revealing any further information except for the truth of the statement.
More precisely, if x is a statement from an NP language verified by an efficient machine M, then a zero-knowledge proof aims to prove to the verifier that there exists a witness w such that M(x,w)=1, without revealing any further information about w.
The proof is a proof of knowledge, if the prover additionally convinces the verifier that it knows the witness w, rather than just of its existence.
This article is a survey of recent developments in building practical systems for zero-knowledge proofs of knowledge using vector oblivious linear evaluation (VOLE), a tool from secure two-party computation