横浜国立大学大学院環境情報研究院 教授 松本勉先生インタビュー「次世代IT社会に求められる新機能暗号とその性能評価」(第1回)


共通鍵暗号方式は送信者と受信者が1対1の関係ですが、公開鍵暗号方式は送信者が不特定多数になるのですね。誰でも公開鍵を取得できるということは、公開鍵から秘密鍵が突き止められてしまうリスクも高くなる気がしますが……。

 公開鍵暗号方式のセキュリティは「秘密鍵から公開鍵は容易に作れるが、公開鍵から秘密鍵を作ることは困難」という計算方式にあります。
 たとえば秘密鍵を「733と757」の2つの素数とします。この2つの素数を乗算した「554881」を公開鍵としてオープンにした場合を想像してください。この「554881」という鍵はたった10ビットでしかありませんが、この数字から素因数分解して「733と757」の組み合わせを求めることは簡単ではないですよね。もし鍵のビット数を増やしたら、とても難しくなりそうだということがわかるかと思います。

確かに、その通りです。秘密鍵をしっかり管理しておけば、第三者に勝手にデータを解読されるリスクは低そうです。そう考えると、共通鍵暗号方式のメリットとは何でしょうか。

 共通鍵暗号は送信者と受信者の双方が共通鍵を所有していなければならないため、安全かつ簡便な鍵の共有管理という大きな課題がありますが、暗号化・復号の処理量が少ないという特長があります。
 暗号化および復号に必要な鍵のデータのサイズ(ビット数)を「鍵長」といい、複雑な暗号ほど鍵長が長く(データサイズが大きく)なります。現在最も普及している公開鍵暗号の「RSA暗号」も、セキュリティの向上とともに暗号化・復号にかかる処理量が増大する傾向にあります。事実、以前は鍵長が1024ビットあれば安全であると認識されていましたが、近年はコンピュータの計算能力の進化などから、2048ビット以上が推奨されています。そのため利用へのハードルが上がり、適用場面が限定されてしまっているのです。
 このRSA暗号に代わる公開鍵暗号として注目されつつあるのが「楕円曲線暗号」です。RSA暗号は数学の「素因数分解問題」をベースにしていますが、楕円曲線暗号では「楕円曲線離散対数問題」という、やはり解答を求めるために莫大な計算の手間がかかる数学的問題を利用しています。詳しく説明をすると難しくなるので省略しますが、楕円曲線暗号はRSA暗号よりも1桁ほど短い鍵長で同程度のセキュリティを確保できると言われています。

1桁ということは、RSA暗号なら2048ビット必要な暗号が、楕円曲線暗号なら200ビット程度で済むということですか、すごい進化です。新機能暗号は、公開鍵暗号を高度化したものということでしたが、どのような暗号なのですか。

 新機能暗号は「高機能暗号」とも呼ばれますが、公開鍵暗号よりも高いポテンシャルを備え、セキュリティを保持したままフレキシブルなデータ活用を可能にする暗号技術です。たとえば数十万台のパソコンから送信された膨大なデータの検証をたった一度の検証で全て完了させたり、ビッグデータの収集・処理・フィードバックを常にリアルタムで行うなど、現在よりも多様なデータをさまざまな場面で活用できるようになります。
 そのため多くの研究者が開発に取り組んでいますが、現時点では公開鍵暗号よりもさらに大きな処理量が必要であり、実装研究も不十分のため、真の実用化には至っていません。この研究で成果を上げて、風穴を開けたいと思っています。