情報セキュリティ大学院大学公開講座『暗号入門7講』
公開鍵暗号は今や私たちにとってとても身近な存在である。 我たちはそれとは意識せずに日々色々な場面で公開鍵暗号を使っている。 InternetではSSL、高速道路ではETC、また駅ではSuicaが私たちの代理として暗号演算を実行している。
この入門講義では、そのような公開鍵暗号とはどんな技術か、そのからくりはどうなっているか、 またなぜ安全といえるか、解説したい。
公開鍵暗号をつくる上で、数学の一分野である整数論がとても役に立つ。 ここでは例としてRabin暗号を取り上げ、それが整数の平方演算を利用して作られることをみる。 そして、私たちや私たちが作り出したコンピュータにとって整数を因数分解することが困難であるために、 Rabin暗号が暗号として成立する(すなわち、暗号文から元のメッセージを求めることができない)のをみる。
しかし、公開鍵暗号をさらに「強秘匿」なものにするには、整数論だけでは足りない。 我々にとって整数論的課題のどこが難しいのかを見極め、乱数をうまく用いて、ある工夫を施す必要がある。 そのような工夫を用いて、Rabin暗号を強化することで、強秘匿な暗号 (すなわち、暗号文から元のメッセージのどのような部分情報さえ求めることができない暗号) であるBlum-Goldwasser暗号が作られることをみる。(有田)