A zero-knowledge proof (ZKP) is a cryptographic protocol by which one party (called the prover) can prove to another party (the verifier) that she knows something without revealing its underlying information or content. One application of a ZKP is selective disclosure for minimal revealing information in a credential.