楕円曲線暗号はなぜ「強い」?
取材班:たし算、かけ算の構造に関係して、ちょっと別の質問です。「『楕円曲線』の考え方が暗号技術に応用されて、クレジットカードのICチップに埋め込まれている」、いわば「超難しい数学の技術はもうポケットに入っている」ことを知ったのですが、それがどういうことかを聞きたいです。
加藤教授:まず、楕円曲線とはある条件を満たす平面上の3次曲線のことです。楕円曲線の点は、数と同じように、ある種の演算を持っています。その演算は、普通の数の演算よりも計算が複雑です。その複雑な演算で「指数関数を逆に解く」こと、つまり「対数」の類似を計算しようとすると、さらに困難になります。
ですから、楕円曲線理論が産業界に応用されている理由は、一言でいえば、「この困難さを利用すると暗号化に有利だから」です。つまり「こんなにむずかしい構造がある、そしてそれはおいそれとは解けない、その難しさの分だけセキュリティが担保できることを利用した応用である」ということです。もう少し言うと、指数関数の計算より、対数の計算の方が困難ですが、その「困難さの違い」を巧みに使います。それによって、暗号化するための鍵の一部を公開鍵として公開してしまっても、暗号自体を解くことは誰にもできないという「公開鍵暗号」が可能になります。
取材班:「楕円曲線」が何かがわかりません。ただの楕円、ならわかるのですが──。
加藤教授:楕円と楕円曲線とはまったく違って、2つの間にはかなりの距離がありますね。
取材班:え、楕円とは違うんですか?
加藤教授:ええ、違うんです……。楕円曲線は、楕円積分という積分があって、そこから作られた曲線の考え方なので、「楕円」とは別なのです。だって、楕円は2次曲線ですよね?
取材班:はい。だから、楕円なのに、3次と言われて、あれ?おかしいな、と思いました。
加藤教授:はい、そして、そこを説明するのには3、4時間かかります(取材班、ざわめく、笑)。
ですからここでは完全に説明することはしませんが、以下、もう少しだけ具体的にお話していきましょう。
楕円曲線暗号に関しては、ECDLP(Elliptic Curve Discrete Logarithm Problem)、漢字で書くと「楕円曲線離散対数問題」という問題があります。
指数関数とは「y = aのx乗」で表される関数のことです。aを「底(てい)」といい、0より大きく1以外の定数です。
さて、対数というのは、xイコール、「底」をなんでもいいので1個決めて、「xという指数に対して、逆にyの値が決まっているときに、xを求められますか」という問題です。
そのときに、「x=ログaのy」と書くわけです。