暗号学において、ゼロ知識証明(ぜろちしきしょうめい、zero-knowledge proof、略称:ZKP[1])とは、ある人が他の人に、自分の持っている(通常、数学的な)命題が真であることを伝えるのに、真であること以外の何の知識も伝えることなく証明できるようなやりとりの手法である。ゼロ知識対話証明(ZKIP)とも呼ばれる。 ゼロ知識証明で証明される命題には、巨大な合成数の素因子(素因数分解の解)を知っている、離散対数問題(DLP)の解を知っているといった、公開鍵暗号でよく利用されるものがある。また、任意のNP完全問題の証拠を持っていることをゼロ知識証明で示せることが知られている。 応用例としては、公開鍵暗号、デジタル署名、ユーザ認証などがある。その他、マルチパーティ計算への適用など多くの応用がある。例えば、個人情報を用いてユーザ認証を行う場合、ユーザはゼロ知識証明のプロトコルに従い、個人