zkプロトコルとも呼ばれるゼロ知識証明は、証明者と検証者の間で行われる検証方法です。ゼロ知識証明システムでは、証明者は検証者に対し、情報そのものを明かすことなく、特定の情報(数学の方程式の解など)の詳細知識を持っていることを証明できます。これらの証明システムは、現代の暗号技術者がプライバシーとセキュリティのレベルを向上させるために利用されます。
zk証明では、完全性と健全性に関する2つの基本的要件を満たす必要があります。完全性とは、高い確率で正確な関連情報の知識を証明する証明者の能力を指します。証明が正当であるためには、証明者が実際に情報を所有していることを検証者側が確実に判断できなければなりません。最後に、真に「ゼロ知識」であるためには、証明において問題の情報が証明者と検証者の間で伝達されることなく、完全性と健全性の両方を満たす必要があります。
ゼロ知識証明は、主にプライバシーとセキュリティが重要となるアプリケーションに使用されます。例えば、認証システムではゼロ知識証明を使用し、証明書や身元を直接明かすことなく認証できます。簡単な例としては、コンピューターシステムのパスワードを公開することなく、その人がパスワードを持っていることを認証する場合の利用が挙げられます。