ゼロ知識証明
•ある事実であり解答を持っていることをその解答をいわずに、だれかに説明することができるようなもの •
パスワードを教えることなく、そのパスワードが真であることを伝える情報
暗号学において、ゼロ知識証明(ぜろちしきしょうめい、zero-knowledge proof)とは、ある人が他の人に、自分の持っている(通常、数学的な)命題が真であることを伝えるのに、真であること以外の何の知識も伝えることなく証明できるようなやりとりの手法である。
ゼロ知識証明のプロトコルは、以下の3つの性質を満たす必要があります。
• 完全性(completeness)
• 健全性(soundness)
• ゼロ知識性(zero knowledge)
①完全性(completeness)とは?
証明者の主張が真であるならば、検証者はその主張の正しさを高確率で検証できます。証明者と検証者の双方がゼロ知識証明のプロトコルに従っている限り、検証者は証明者の主張が正しいことを確認できるのです。
②健全性(soundness)とは?
証明者の主張が偽であれば、証明者がどのように振る舞ったとしても、検証者はその主張が偽りであることを見抜けます。つまり、健全性を備えたプロトコルにおいては、証明者は検証者を騙せないのです。
③ゼロ知識性(zero knowledge)とは?
あらゆる場合において、検証者が証明者から何らかの知識(情報)を盗もうとしても、証明者の主張が真であること以上の知識は得られません。