情報セキュリティ大学院大学公開講座『暗号入門7講』

ゼロ知識証明入門

内容紹介

 ゼロ知識証明は,1985年に提案された証明方法であり,暗号理論における重要なツールの1つである.「証明」というと,ある命題に対する紙に書いた証明を連想する場合が多い.しかし,ゼロ知識証明はこのような通常の証明とはいくつかの点で異なる.具体的には対話証明であること,確率的証明であること,検証者に知識を漏らさないことである.不思議に思えるかもしれないが,例えば,証明者は解を知っていることを解そのものを検証者に示すことなく証明できる.

 この入門講義では,ゼロ知識証明とはどんな技術か,そのからくりはどうなっているか,またなぜ知識を示さないのに証明といえるのか,解説したい.

 暗号,セキュリティの分野で利用できる効率のよいゼロ知識証明では,数学の一分野である整数論が利用される場合が多い.ここでは例として整数のべき乗演算と密接に関係がある離散対数問題を取り上げて,幾つかの性質を紹介する.そして,離散対数問題が困難であることを利用し,離散対数問題の解を知っていることを証明するゼロ知識証明の構成方法をみる.

 なお,ゼロ知識証明を,インターネット上の商取引などの様々な場面で利用する場合,非対話化した形で用いる場合が多い.これには整数論だけではなく,ハッシュ関数と呼ばれるある種の暗号学的な圧縮関数を用いる場合が多い.このようなハッシュ関数を用いることによる,ゼロ知識証明を利用した電子署名の構成例も示す.(土井)

講義ノート