量子コンピュータは、急速に発展している技術です。量子力学と、高度な数学およびコンピュータエンジニアリングとを組み合わせ、古典的コンピュータには複雑すぎる問題を解決します。量子コンピュータは、古典的なコンピュータとはまったく異なる原理で動作し、使用する機械も根本的に異なるため、ムーアの法則は当てはまりません。急速に増大しつつある驚異的な量子コンピュータの処理能力と機能は、問題解決、情報分析、データ保護におけるコンピュータの使い方を早くも変えつつあります。
現在、世界で最も高性能なスーパーコンピュータでさえ、トランジスターベースのバイナリ回路と、1 世紀以上前のコンピュータの発明にまでさかのぼる計算原理に基づいて計算を実行しています。問題の多くに関係しているのが、このような古典的なコンピュータモデルでは計算できない、変数の複雑さです。
量子コンピュータは量子変数を扱うため、そのような複雑な問題でも、古典的なコンピュータが古典的な問題を解くのと同じくらい高速で計算することができます。
最も高速で強力な スーパーコンピュータでさえ、総当たり計算 で機能しています。 直線的な経路をたどって、1 つの結果が解になると立証されるまで 、あらゆる結果を「試行」するのです。
それに対して、量子コンピュータは、量子力学を利用し、考えうる結果すべてを同時に考慮することによって、 あらゆる経路を介して直線的な工程を「スキップオーバー」できます。量子コンピュータでは、 二項演算ではなく確率演算で動作します。この計算処理形式であれば、 古典的なコンピュータでは 大きすぎたり複雑すぎたりして現実的な時間で解けない問題でも解決できます。 古典的なコンピュータは、大量のデータを分類してカタログ化することができるものの 、そのデータ内の挙動を予測することはできません。
量子コンピュータは確率的な特性をもつため、 データセット全体について可能性を考慮し、 巨大で複雑なグループ内の個々のデータの挙動に関する解にたどり着く能力が 引き出されます。
古典的なコンピュータが、 特定の種類の計算を得意とする反面それ以外の計算は不得意であるように、 量子コンピュータも特定の計算用途は得意な一方、 あらゆる計算に秀でているわけではありません。ほとんどの専門家は、 古典的なスーパーコンピュータと 量子コンピュータは互いに補完し合い、 それぞれが独自の計算特性を活かして、 異なる用途で至って強力な計算を実行することになる だろうと考えています。
量子コンピュータを理解するには、量子の動き、位置、関係のふるまいを定める原理を
理解しなければなりません。
量子レベルになると、物理系は同時に複数の状態で存在することができます。その系が観測または測定されるまで、系は一度にすべての位置を占めます。量子力学の中心となるこの原理に基づいて、量子コンピュータは系の潜在的な可能性を扱うことができます。すなわち、想定されるあらゆる結果が計算に同時に存在するという可能性です。量子コンピュータの場合、使用される系は光子、トラップ内のイオン、原子、準粒子などです。
量子状態は他の量子状態に干渉することがあります。干渉は、振幅を打ち消したり増加させたりという形をとります。干渉をイメージするには、プールの水に 2 つの石を同時に落としたときのことを思い浮かべるといいでしょう。それぞれの石から広がった波が交差すると、波紋に強い山の部分と谷の部分ができます。このような干渉パターンを利用することで、量子コンピュータは古典的なコンピュータとはまったく異なるアルゴリズムを実行できるのです。
量子レベルでは、粒子のような系が結合し、たとえ遠く離れていても互いの挙動を反映し合います。量子コンピュータは、もつれ合った系の状態を測定することで、もう一方の系の状態を「知る」ことができます。具体的に言うと、量子コンピュータは電子 A のスピンを測定することで、たとえ何百万キロ離れていても、電子 B のスピンの動きを知ることができます。
古典的なコンピュータでは、計算はビットと呼ばれる 2 進数の組み合わせで実行されます。このことが古典的な計算処理に限界がある理由でもあります。計算は常に 2 つの状態、つまり 0 か 1 のどちらかしかもたない言語で記述されます。量子コンピュータでは、計算は量子状態の言語で記述されます。量子状態は 0 か 1、または 0 か 1 の重ね合わせの任意の比率になります。このような計算情報を「量子コンピュータビット」、つまり量子ビット(Qubit)といいます。
量子ビットには、システムの中で情報を指数関数的に増やせるという特性があります。複数の状態が同時に動作するので、量子ビットは大量の情報を符号化することができるからです。ビットよりもはるかに膨大な量です。ですから、量子の計算能力はいくら誇張してもしすぎることはありません。量子ビットの組み合わせによる計算能力の向上は、古典的な計算処理よりはるかに急速に進みます。また、量子ビットは処理チップのように物理的な空間を占有しないため、無限大の計算能力に到達するのもはるかに容易だとする測定結果もあるくらいです。
量子コンピュータを理解するには、量子の動き、位置、関係のふるまいを定める原理を理解しなければなりません。
種類にかかわらず、量子コンピュータのハードウェアは今のスーパーコンピュータのサーバールームとは大きく異なります。量子計算では、周囲の粒子による変化や混乱なしに測定できる状態に粒子を配置する必要があります。ほとんどの場合、これはコンピュータ自体を絶対零度近くまで冷却し、金でできた層を使って量子ビットの粒子をノイズから遮蔽することを意味します。現在の量子コンピュータは、このような繊細かつ精密な条件を必要とするため、開発にも構築にもきわめて特殊な環境が必要です。
現実世界で量子コンピュータを応用することを考える際には、これが新しい分野だという事実を忘れてはなりません。今のところ、量子コンピュータはまだまだ発展途上の段階にあり、既存の量子コンピュータには最新技術に伴う大きな限界があります。それでも、量子コンピュータの研究者やエンジニアは、その進歩が予測を上回っていると口をそろえて言います。量子コンピュータでどんな処理をするかは、技術の発展とともに確実に変化ないし進化していきますが、すでに有望な応用分野も存在します。
急速に進歩しつつあり、大きな影響をもたらす可能性を秘めているとはいえ、実際に機能する量子コンピュータは現在まだほとんど理論段階を出ていません。量子の可能性を真に示すような規模の計算やモデリングが可能な量子コンピュータが登場するのは、また何年か先のことです。それが何年後なのかは、誰にもわかりません。それでも、この分野の進歩は止まっていない以上、遅かれ早かれ実用的な量子コンピュータが登場する可能性はきわめて高いということです。
2023 年、量子コンピュータの世界的リーダーである IBM は、量子チップ Heron で 133 量子ビットの処理を達成したと発表しました。同社は、2024 年に 3 つの Heron プロセッサーを結合させることを目標として研究を進めています。Heron チップ 1 つは 1,800 ゲートを実行でき、エラー率も低く高性能です。IBM は、2029 年までにエラー抑制機能を備えた量子コンピュータという目標の達成に向けたロードマップを発表しています。
量子科学の専門家のうち大半は、実用的な量子コンピュータが早ければ 10 年以内に実用化されると考えています。国家レベルでもっと早く実現するかもしれません。
RSA の基盤となるのが、2 つのデジタル鍵を組み合わせて大きな素数を形成するしくみです。古典的なコンピュータは、2 つの既知の数を掛け合わせて素数の積を計算するのは得意ですが、その逆は不得手です。総当たりの 2 進数計算を使って素数の積から 2 つの因数を導き出そうとすると、処理はかなり煩雑になります。つまり、最も強力なスーパーコンピュータでさえ、妥当な時間内で鍵の値を計算することはできないため、現在の RSA アルゴリズムは本質的に解読不可能な暗号だということです。今日の 2048 ビット RSA 暗号は、最速のスーパーコンピュータを使っても復号におよそ 300 兆年かかると言われています。
そこに出現するのが、量子コンピュータの脅威です。量子コンピュータは、直線的な経路をたどることなく、あらゆる確率を一度に分析できるため、一度に 1 つの経路をたどるという古典的なコンピュータの手法を効果的に「スキップオーバー」し、現実的な時間内で正確な計算に到達できます。量子コンピュータなら、大きな素数を正しい因数に分割できる性能を備えているので、実質的に RSA を破れるのです。近未来の量子コンピュータに関する予測によると、RSA 暗号は数カ月で解読され、さらに高度な量子コンピュータになれば数時間、あるいは数分で RSA を復号できる可能性があるといいます。
サイバーセキュリティの専門家たちは、量子コンピュータが一般的に利用されるようになる将来のデータに対する脅威だけでなく、現在のデータに対する脅威にも注目しています。
量子コンピュータが現実のものになることを見越して、政府もサイバー犯罪者も HNDL(Harvest Now, Decrypt Later: 今収集し後で解読)に着手する可能性があります。HNDL とは、いずれ量子コンピュータを利用できるようになったときに、保存しておいたデータを復号できるように、今の時点でデータを盗み出し、暗号化された状態で保存しておくという手法です。データが古くなっていても、政府や企業の業務に不可欠な情報や、ユーザー、顧客、患者の健康などの個人情報が含まれている可能性があります。
量子コンピュータが実際に機能するようになるのは何年か先かもしれませんが、「今収集し後で解読」という組み合わせによるデジタル的な破壊が予想される以上、データの完全性には大きなリスクがあります。世界有数のサイバーセキュリティ組織や専門家が、現在と将来の量子暗号の解読からデータを保護するセキュリティ対策の開発に、すでに取り組んでいます。
耐量子コンピューター暗号、つまり PQC とは、古典的なコンピュータと量子コンピュータの両方による復号作業からデータを保護する暗号システムです。
PQC の目標は、将来の量子コンピュータを保護するだけでなく、現在のプロトコルやネットワークシステムともシームレスに連動することです。PQC 対策が順調に進めば、現在のシステムと統合され、どんなコンピュータを使用するにしても、現在および将来のあらゆる形態の攻撃からデータを保護できます。
量子コンピュータはまだ黎明期にすぎませんが、サイバーセキュリティの専門家たちはすでに、量子コンピュータ攻撃を防げる PQC アルゴリズムを開発しています。このようなセキュリティツールは、量子コンピュータと並行して進化し続けますが、現在の保護機能でも、実装が適切であれば、量子コンピュータによる脅威の先手を取ることができます。
米国国立標準技術研究所(NIST)は、量子コンピュータの脅威を見越して、PQC の使用に関する勧告をすでに策定しています。以下のような内容です。
用語やアルゴリズムに重複がある関係で、技術やそれに関連する脅威について、誤解が生じている部分があります。
量子コンピュータで最も頻繁に誤用されている用語は「コンピュータ」(Post-Quantum Computing)、略して「PQC」でしょう。この用語が混乱を招いているのは、その略称が「Post-Quantum Cryptography」つまり耐量子コンピューター暗号と同じになってしまうためです。しかし、「耐量子コンピューター」というものは、量子コンピュータ科学の世界に存在しません。量子コンピュータとは機械の総称であり、量子コンピュータはその分野とプロセスを表しています。きわめて有益な最新の機械が誕生したとしても、そのとき存在するのは「量子コンピュータ」であって、「耐量子コンピューター」ではありません。
量子暗号は、耐量子コンピューター暗号と同じ量子力学を基礎としていますが、PQC とは同じ暗号技術ではありません。量子暗号では、予測不可能性という基本的な特性を利用し、量子ビットそのものに直接情報を符号化してデータを暗号化・復号します。現在、最も一般的に知られている量子暗号は、量子ビットの性質を利用して、誰かが勝手に情報を解読しようとすると量子ビットエラーが発生する方法でデータを保護するものです。この量子暗号は、ドアや窓に付いている警報センサーのようなものです。不正アクセスがあれば警報が発令されます。
耐量子暗号は、古典的コンピュータによる暗号化と同じように、数学的な方程式に基づいて動作します。違うのは、方程式の複雑さです。PQC では、数学に量子特性を利用して、量子コンピュータでさえ「スキップ」して正しい解に到達できないほど複雑な方程式を作成します。PQC の利点のひとつは、ほぼ解けない方程式を基礎にすることです。PQC も、現在の古典暗号と基本構造は変わらないため、現在の最先端の暗号と同様の手法で導入でき、今日のシステムもその多くを保護することができます。
量子コンピュータ暗号の技術者は、量子コンピュータの脅威に対抗するアルゴリズムをいくつか開発しています。各アルゴリズムの違いは、処理性能の差です。PQC 問題をかなり集中的に処理できるシステムもあれば、リソースに大きな負担をかけないソリューションを必要とするシステムもあります。また、 古典的な他の暗号と同様、ユースケースによって異なるセットの PQC が適用されます。現在は、 強力な PQC と考えられているセットが 3 つあります。
Dilithium も格子ベースのアルゴリズムで、Fiat-Shamir with Aborts 技法をもとに構築されています。最短の整数解の集合です。性質上、Dilithium は格子ベースのアルゴリズムとしては最小の公開鍵署名サイズになっています。NIST は、電子署名の PQC ソリューションとして Dilithium を推奨しています。
Falcon は、ハッシュアンドサイン方式に基づく格子ベースの電子署名ソリューションです。名前は、Fast Fourier Lattice-based compact signatures over NTRU の頭文字からとられています。FALCON の利点は、公開鍵も署名も小さくなることです。