zero knowledge proof

Cryptography mostly concerns itself with secure communications and includes hiding information from adversaries and authentication of individuals.

Hashes, asymmetric encryption, and symmetric encryption are often used together to allow for secure communications. In popular cryptographic systems, like PGP, OTR, and VPNs, different algorithms are often used together, including:

Hash functions that allow us to identify files, text, and keys conveniently

Asymmetric encryption functions to securely exchange encryption keys over insecure channels

Symmetric encryption functions to efficiently encrypt large amounts of data

Key exchange functions to securely negotiate encryption keys over insecure channels

Zero-knowledge proofs are encryption schemes used to prove that you know something without revealing what it is. For example, you can show without a doubt that you know the answer to a puzzle without actually disclosing the solution.

Zero-knowledge proofs are still relatively new and have only found a common use-case recently in cryptocurrencies.