In cryptography, a zero-knowledge proof, or zero-knowledge protocol is a method by which one party can prove to another party that a given statement is true, without conveying any information apart from the fact that the statement is indeed true. For example, it can be used to verify that a person has a password to a computer system without the need for disclosing what the password.