更新日:2019/02/01
※記事本文中の研究所名が、執筆・取材時の旧研究所名の場合がございます。
現在のインターネット上では、プライバシ情報やクレジットカード番号等の機密性の高い情報が多くやり取りされています。通信内容を秘匿するためには、共通鍵暗号や公開鍵暗号が使われています。相手先や送信内容の真正性を確認するために、電子署名やメッセージ認証符号(MAC)といった認証技術が使われています。公開鍵暗号やデジタル署名の中でも現在広く使われているのが、素因数分解問題の困難性に基づく暗号アルゴリズム(RSA暗号、RSA署名など)や離散対数問題の困難性に基づく暗号アルゴリズム(Diffie-Hellman鍵交換、楕円曲線Diffie-Hellman鍵共有、DSAなど)です。
1994年、Peter Williston Shor氏はこの2つの問題を効率良く解く量子コンピュータ用のアルゴリズムを提案しました。大規模かつ安定して計算が行えるような量子コンピュータが完成すると、現在広く用いられている暗号アルゴリズムは安全でなくなります。そのため、量子コンピュータが完成する前に、量子コンピュータを用いても解読や偽造ができないような暗号技術の研究・開発・標準化が盛んになっています。公開鍵暗号技術の中でも、量子コンピュータが苦手とすると考えられている問題を基に暗号アルゴリズムが設計されているものを、耐量子公開鍵暗号技術と呼びます。
耐量子暗号技術への移行を検討する必要があるかどうかについては、Michele Mosca氏提案の計算式が参考になります。
x+y>zであれば、y年後に「x年間安全性を保ちたい」と思って暗号化した暗号文は、x年未満に量子コンピュータによって破られる可能性があります。したがって、現時点でx+y>zだと考えられるのであれば、耐量子暗号技術の標準化や耐量子暗号技術への移行を真剣に検討する必要があります。
昨今の量子コンピュータの開発状況からzが現実的な年数になるのではないかと考えられており、各国のいろいろな組織や標準化団体が移行の検討を進めています。
これらの動きの中でも世界の暗号技術標準に強い影響力を持つNISTの耐量子暗号技術標準化プロジェクトを紹介します。
NISTの耐量子暗号技術標準化プロジェクトは2016年ごろから本格的に開始しました。デジタル署名、公開鍵暗号、鍵共有の3つのカテゴリの暗号アルゴリズムを選定し標準化するためのプロジェクトです。NISTのスケジュールは以下のとおりです(図)。
2017年11月締切時点では82の投稿があり、署名の提案が23件、暗号化・鍵共有の提案が59件でした。その後、1カ月ほど書類や形式の審査を行い、2017年12月にRound 1が開始されました。このとき、69件が残りました。のちに5件取り下げがあり、現時点では64件が残っています。署名の提案が19件、暗号化・鍵共有の提案が45件残っています。
すでに書いたとおり、書類および形式を審査した結果がRound 1の候補である69件です。
そのため、Round 1に進んだからといって、安全であるとは限りません。
Round 1の候補が公開された直後から、NISTのpqcメーリングリストにおいて、各方式の安全性について激しい議論が交わされました。
その中でも、以下のように実際に破れることが示された例が多数あります。
今後も、Round 2に進むまでに安全性評価手法が改良されることが想定されるため、注視が必要です。
NTTでは、NISTの耐量子暗号標準化活動には独自のアルゴリズムを提出していません。
しかし、安全性強化手法の提案や第三者的立場での安全性評価というかたちで参加し、適切なアルゴリズムが選ばれるよう協力しています。
またNISTの耐量子暗号標準化は耐量子公開鍵暗号技術のみを対象にしていますが、NTTでは独自に耐量子共通鍵暗号技術についても研究を進めています。…