セキュリティ
ゼロ知識証明(Zero-Knowledge Proof)の説明として正しいものはどれか。
ア.証明者が秘密情報を検証者に開示し、開示した秘密が正しいことを確認してもらう認証プロトコルである。
イ.暗号文から元のデータを推測するために、計算量ゼロ(自明な計算)で解を求める攻撃手法である。
ウ.証明者と検証者が同一人物(ゼロの他者)で行う自己認証の仕組みであり、多要素認証の一形態である。
エ.証明者が秘密情報(秘密鍵等)を一切開示せずに「その秘密を知っていること」を検証者に証明できる暗号プロトコルである。正解
解説
ゼロ知識証明は「洞窟の魔法の扉」の寓話。秘密の呪文(秘密鍵)を教えずに「知っている」と証明する——「私は鍵を持っている、でも見せない」を数学的に実現する魔法。
なぜ エ が正解か
エが正解。ゼロ知識証明の3要件:①完全性(Completeness):秘密を知る証明者は必ず検証者を納得させられる②健全性(Soundness):知らない者は確率的にも証明者を騙せない③ゼロ知識性(Zero-Knowledge):検証者は「秘密を知っている」という事実以外の情報を得ない。応用:Zcash(匿名仮想通貨)、zkSNARK、パスワードレス認証。
出典: AI生成問題(学習用)