量子サイバー脅威アラート

McEliece暗号のセキュリティ評価:量子および古典的攻撃アルゴリズム詳細

Tags: 符号ベース暗号, McEliece, ポスト量子暗号, 量子攻撃, 情報集合復号

はじめに

量子コンピュータの能力向上は、既存の公開鍵暗号システムにとって深刻な脅威となります。Shorのアルゴリズムが素因数分解問題や離散対数問題を効率的に解くため、RSAや楕円曲線暗号(ECC)といった広く用いられている公開鍵暗号の安全性は、将来的に危殆化する可能性が指摘されています。これに対応するため、量子コンピュータに対しても安全であると考えられているポスト量子暗号(PQC)の研究開発が進められており、様々な数学的困難性に基づいた候補が提案されています。

符号ベース暗号もPQCの有力な候補の一つであり、特にオリジナルのMcEliece暗号は、1978年に提案されて以来、現在まで破られていない歴史を持ちます。その安全性は、一般の線形符号に対する復号問題(Syndrome Decoding問題、Learning Parity with Noise問題などに関連)の困難性に基づいています。本稿では、McEliece暗号の安全性について、主要な古典的攻撃および量子計算を用いた攻撃アルゴリズムの詳細を分析し、そのセキュリティレベルを評価します。

McEliece暗号の概要と安全性基盤

McEliece暗号は、Goppa符号のような構造化された符号を秘密鍵として用い、一般的なランダム線形符号を公開鍵として使用する非対称暗号方式です。公開鍵は、秘密の構造を持った符号の生成行列を、ランダムな可逆行列と置換行列で変換したものです。暗号化は、平文ベクトルに公開鍵行列を乗じ、ランダムな誤りベクトルを加算することで行われます。復号は、秘密鍵である符号の効率的な復号アルゴリズムを用いて、誤りベクトルを取り除くことで実現されます。

McEliece暗号の主な安全性基盤は、以下の問題の困難性に依存します。

  1. 一般線形符号に対する復号問題 (General Decoding Problem): ランダムに生成された線形符号に対し、与えられたシンドロームに対応する最小重みの誤りベクトルを見つける問題。これはNP困難であることが知られています。
  2. 秘密の符号構造を特定する問題: 公開鍵であるランダムに見える生成行列から、秘密鍵である構造化された符号(例: Goppa符号)の構造を特定する問題。

これらの問題の困難性が、古典的な計算機に対するMcEliece暗号の安全性を保証すると考えられてきました。

符号ベース暗号に対する主要な古典的攻撃

符号ベース暗号に対する古典的な主要攻撃は、一般線形符号に対する復号問題(またはその双対問題であるCode Equivalence問題)を解くことに帰着されます。中でも最も一般的な手法は、情報集合復号 (Information Set Decoding, ISD) 攻撃です。

ISD攻撃は、符号の生成行列の一部を用いて、与えられたシンドロームと誤りベクトルとの関係から、誤りベクトルの候補を探索する確率的アルゴリズムです。基本的な手法としては、以下のようなものがあります。

  1. Prangeのアルゴリズム: 生成行列を系統形式に変換し、情報ビットに対応する列を選択します。誤りベクトルがこれらの列に対応する位置でゼロであると仮定し、シンドロームから残りの非情報ビットに対応する誤り値を決定します。誤りベクトルの重みが小さいという仮定の下で、情報ビット位置に誤りがない確率は非常に低いため、試行回数が膨大になります。計算複雑性は $O(n^{w_{max}} / w_{max}!)$ のオーダーとなります($n$は符号長、$w_{max}$は誤り重みの上限)。
  2. Sternのアルゴリズム: ISDにリスト復号の概念を導入し、より効率的なアルゴリズムです。生成行列を2つのブロックに分割し、それぞれのブロック内で誤りの探索を行います。計算複雑性は $O(2^{0.128 n})$ のオーダーに改善されます。
  3. May-Meurer-Thomae (MMT) アルゴリズム: ISD攻撃の探索部分をさらに効率化した最新のアルゴリズムの一つです。ブロック分分割やアルゴリズムの改良により、計算複雑性を削減しています。現在の一般的なISD攻撃の計算複雑性は、符号長 $n$ と符号次元 $k$ の関数として表現されますが、具体的な指数はアルゴリズムによって異なります。

McEliece暗号の場合、公開鍵は構造化されたGoppa符号から変換されているため、もしこの構造を特定できれば、Goppa符号の効率的な復号アルゴリズムを用いて攻撃することが可能です。しかし、構造特定攻撃は一般的にISD攻撃よりも困難であると考えられています。

量子計算を用いた符号ベース暗号への攻撃

量子コンピュータは、古典的なISD攻撃の探索部分を加速する可能性を持っています。最も直接的なアプローチは、Groverの探索アルゴリズムをISD攻撃の探索空間に適用することです。

ISD攻撃は、特定の性質を持つベクトル空間の要素(誤りベクトル候補の一部)を探索する問題に帰着できます。Groverアルゴリズムは、無構造なデータベース検索において、探索空間サイズの平方根の計算量で目的の要素を見つけることができます。ISD攻撃において、誤りベクトルの候補を探す部分にGroverアルゴリズムを適用すると、古典的な探索の計算量 $O(N)$ を $O(\sqrt{N})$ に削減できる可能性があります。

具体的には、SternのISDアルゴリズムなどの探索部分にGroverアルゴリズムを適用することで、攻撃に必要な計算量を改善できます。これにより、古典的な計算量 $O(2^{c \cdot n})$ であったISD攻撃の量子的な計算量が $O(2^{c/2 \cdot n})$ のオーダーになることが示されています。ここで $c$ は定数であり、ISDアルゴリズムに依存します。

ただし、Groverアルゴリズムは多くの試行を並列に行う必要があるため、実際の量子コンピュータで実行するには、探索空間のサイズに対応する数の量子ビットと、それを制御する深い量子回路が必要です。符号長が数千、数万となる符号ベース暗号に対して実用的な攻撃を行うには、非常に大規模かつ誤り耐性のある量子コンピュータが必要となります。現在のノイズあり中間規模量子(NISQ)デバイスでは、このような攻撃は現実的ではありません。

また、線形システムソルバーであるHHLアルゴリズムのような他の量子アルゴリズムが符号ベース暗号に適用可能かどうかも検討されています。HHLアルゴリズムは特定の疎な線形システムを解く際に指数関数的な高速化を示しますが、ISD問題が直接的にこの形式に帰着するかは明らかではなく、適用には制約が多いと考えられています。

セキュリティ評価と今後の課題

McEliece暗号、特にNIST PQC標準化プロセスで「Final Portfolio」に選定されたClassic McElieceは、符号長や符号次元、誤り訂正能力といったパラメータを適切に設定することで、既知の古典的および量子的攻撃に対して十分なセキュリティレベルを提供できると考えられています。NISTによって提案されているパラメータセットは、古典的攻撃に対しては $2^{128}$ 程度の計算量を要求し、量子攻撃に対しても同程度の安全性を目標としています。

ただし、符号ベース暗号に対する攻撃研究は継続的に進化しています。古典的なISD攻撃の新しいバリアントが提案されたり、量子アルゴリズムの最適化や新しい適用方法が発見されたりする可能性があります。また、実装におけるサイドチャネル攻撃やフォールトインジェクション攻撃といった物理的な脅威に対する耐性も、実用化においては重要な評価点となります。符号構造を利用した構造特定攻撃についても、新たな手法が登場する可能性はゼロではありません。

将来的に、大規模な誤り耐性量子コンピュータが実現された場合でも、McEliece暗号はパラメータを大きくすることで安全性を維持できると考えられています。しかし、パラメータの増加は公開鍵サイズや計算コストの増加を招くため、実用性とのトレードオフを考慮したパラメータ設計が重要となります。

結論

McEliece暗号は、符号復号問題の困難性に基づいた、量子コンピュータに対しても安全性が期待されるポスト量子暗号の有力候補です。主要な攻撃手法は情報集合復号を中心とした古典的アルゴリズムであり、量子コンピュータはGroverアルゴリズムによる探索部分の加速を通じて、攻撃計算量を平方根のオーダーで改善する可能性があります。

現在の研究に基づけば、適切にパラメータが設定されたMcEliece暗号は、既知の量子・古典攻撃に対して十分な耐性を持つと考えられます。しかし、攻撃アルゴリズムの研究は進展しており、将来的な量子コンピュータの能力向上や新しい攻撃手法の登場を警戒する必要があります。セキュリティ研究者や実務者は、符号ベース暗号、特にMcEliece暗号に対する攻撃研究の最新動向を継続的に注視し、その安全性を適切に評価していくことが不可欠です。

今後も、符号ベース暗号の理論的安全性、実装上の課題、そして進化する攻撃手法に関する研究は、ポスト量子時代におけるサイバーセキュリティを確保する上で極めて重要な分野であり続けます。