Zero Knowledge Proofs: A Survey

Zero Knowledge Proofs: A Survey

DOI: 10.4018/978-1-5225-2915-6.ch009
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Zero knowledge protocols provide a way of proving that a statement is true without revealing anything other than the correctness of the claim. Zero knowledge protocols have practical applications in cryptography and are used in many applications. While some applications only exist on a specification level, a direction of research has produced real-world applications. Zero knowledge protocols, also referred to as zero knowledge proofs, are a type of protocol in which one party, called the prover, tries to convince the other party, called the verifier, that a given statement is true. Sometimes the statement is that the prover possesses a particular piece of information. This is a special case of zero knowledge protocol called a zero-knowledge proof of knowledge. Formally, a zero-knowledge proof is a type of interactive proof.
Chapter Preview
Top

Zero-Knowledge Protocols

Peggy’s knowledge is protected by properties such as zero-knowledge, which informally says that Veronica gains no extra knowledge from Peggy by following a proof scheme with her, beyond whatever Peggy wanted to prove in the first place. The security properties for Veronica can include a protocol being sound, i.e. Peggy cannot convince Veronica of a false claim. The scheme can also be a “proof of knowledge” which informally means that Peggy cannot convince Veronica unless she actually knows what she claims to know.

Zero knowledge protocols provide a way of proving that a statement is true without revealing anything other than the correctness of the claim. Zero knowledge protocols have practical applications in cryptography and are used in many applications. While some applications only exist on a specification level, a direction of research has produced real-world applications.

Zero knowledge protocols, also referred to as zero knowledge proofs, are a type of protocol in which one party, called the prover, tries to convince the other party, called the verifier, that a given statement is true. Sometimes the statement is that the prover possesses a particular piece of information.

This is a special case of zero knowledge protocol called a zero-knowledge proof of knowledge. Formally, a zero-knowledge proof is a type of interactive proof.

An interactive proof system is an interaction between a verifier and a prover satisfying the following properties:

  • Completeness: If the statement being proven is true, an honest verifier, a verifier correctly following the protocol, will be convinced after interacting with an honest prover.

  • Soundness: If the statement is false, no prover, either honest or dishonest, will be able to convince an honest verifier, except with some small probability.

For an interactive proof to be a zero-knowledge proof it must also satisfy the condition of zero knowledge. A proof is zero knowledge if any knowledge known by the prover or the verifier before performing the proof is the same as the knowledge known by either party after performing the proof. In other words, no additional knowledge is gained by either party because of the proof. Another way of thinking about this is that the proof reveals zero knowledge (Mohr, 2007).

Top

The Magical Cave

The classic example for zero knowledge protocols is the cave example.

Peggy has stumbled across a magical cave. Upon entering the cave there are two paths, one leading to the right and one leading to the left. Both paths eventually lead to a dead end. However, Peggy has discovered a secret word that opens up a hidden door in the dead end, connecting both paths.

Victor hears about this, and offers to buy the secret from Peggy. Before giving Peggy the money Victor wants to be certain that Peggy actually knows this secret word. How can Peggy (the prover) convince Victor (the verifier) that she knows the word, without revealing what it is?

Complete Chapter List

Search this Book:
Reset