This is useful for computer networks since eavesdroppers cannot steal the knowledge given. Useful for proving possession of some property, or credential, such as age or voting status, without revealing personal information. A practical example is user passwords, which are hashed before transmitted through the network, and thus proves possession of it without disclosing any part of it.
A zero-knowledge proof must satisfy three properties:
- Completeness: if the statement is true (e.g. I have the password), the honest verifier will be convinced of this fact by an honest prover.
- Soundness: if the statement is false (e.g. I don’t have the password), no cheating prover can convince the honest verifier that it is true, except with some small probability.
Zero-knowledge: if the statement is true, no verifier learns anything other than the fact that the statement is true.