Portal:コンピュータ/特集項目/コンピュータセキュリティ/ゼロ知識証明

暗号学において、ゼロ知識証明(ぜろちしきしょうめい、zero-knowledge proof)とは、ある人が他の人に、自分の持っている(通常、数学的な)命題が真であることを伝えるのに、真であること以外の何の知識も伝えることなく証明できるようなやりとりの手法である。ゼロ知識対話証明(ZKIP)とも呼ばれる。

ゼロ知識証明の研究は、ある人が,秘密の知識(パスワードなど)を所持していることをもって,本人であることを他の人に示したいが,この秘密自体は誰にも開示しなくてよい認証方式を実現することが動機である。もっとも、パスワードというのはゼロ知識証明で扱う一般的な例ではない。ゼロ知識証明によるパスワード認証は特殊な応用例である。

ゼロ知識証明で証明される命題には、巨大な合成数素因子(素因数分解の解)を知っている、離散対数問題(DLP)の解を知っているなどの公開鍵暗号でよく利用されるものがある。また、任意のNP完全問題の証拠を持っていることをゼロ知識証明で示せることが知られている。

ゼロ知識証明の応用例には、公開鍵暗号デジタル署名、ユーザ認証などがある。……もっと読む