(本稿に先立って「量子コンピュータはなぜ速いのか?」をお読みいただくと理解が深まります。)
はじめに
次世代の高速計算機である「量子コンピュータ」、過去の記事ではその原理、仕組み、活用可能性についてお話しました。
今回は、量子コンピュータとも関係が深い量子暗号についてお話しします。
量子暗号とは何か?
量子暗号は、物理学の分野の一つである量子力学の理論にもとづく量子の性質を利用した次世代の暗号技術です。昨今注目され国内外で研究が進んでいますが、その背景には、量子コンピュータの発展があります。
量子コンピュータの実用化が進むと、従来のコンピュータでは計算量の多さから現実的な時間内で解けなかった問題を、短時間で解ける可能性があります。
そのような恩恵を受ける一方で、量子コンピュータを活用して現在の暗号通信が破られるといった新たなリスクが生じる可能性もあります。そこで、量子コンピュータでも簡単に解読できない仕組み、技術として量子暗号が注目され始めました。
従来の暗号技術の仕組み
現在利用されている主要な暗号技術は、数学問題の難解さに基づいた仕組みで安全性を担保しています。
例えば、インターネット通信の暗号化(HTTPS)のプロセスでは、2者間でデータを暗号化・復号するための共通鍵(暗号鍵)を共有する際に、公開鍵暗号方式のRSA暗号が使われることがあります。データ送信者は、公開鍵を使って共通鍵を暗号化し、受信者はその対になる秘密鍵を使って共通鍵を復号することで安全に共通鍵を共有することができます。
そこで使用される公開鍵はある大きな素数の積(2048ビット/617桁の整数が標準)であり、秘密鍵はその素数をもとに作成されています。そのため、秘密鍵を持たない第三者が暗号を解読するためには、公開鍵を素因数分解して素数を見つける必要があります。
ただし、現行のコンピュータでは、その素数の組み合わせを見つけるのに膨大な計算時間がかかるため、暗号を解読することは非常に困難です。

暗号通信と RSA 暗号・イメージ
量子コンピュータとショアのアルゴリズム
RSA暗号は、量子アルゴリズム「ショア(Shor)のアルゴリズム」に対して脆弱と言われています。ショアのアルゴリズムは、量子コンピュータ(量子ゲート方式)上で効率的に素因数分解を行うことができる計算手法(アルゴリズム)です。
量子コンピュータ上でショアのアルゴリズムを使って計算することで、公開鍵から秘密鍵の元となる素数の組み合わせを短時間で見つけられる可能性があります。それにより、暗号化したデータを第三者に解読されるリスクが高まるのです。
ただし、それは将来的なリスクであって現時点では心配はありません。現在実現されている量子コンピュータは、計算に必要な量子ビットの数が足りていないことと、ノイズにより計算結果の精度に大きな課題があるためです。
また、従来の暗号技術よりも強固で量子コンピュータを用いた攻撃にも耐えるアルゴリズム(耐量子計算機暗号)の研究開発も進んでいます。
しかし、今後の量子コンピュータの発展や新たな量子アルゴリズムの誕生が、これらの脅威になる可能性は誰にも否定できません。
そこで、どんなに高速な計算機が登場しても、暗号鍵が盗聴者に漏れることなく安全な暗号通信を実現する技術として「量子暗号」が期待されています。

量子コンピュータと暗号解読・イメージ
量子暗号の仕組み
量子暗号による暗号通信は、大きく二つのステップで行われます。先ずは、データの送受信者間で「量子鍵配送(Quantum Key Distribution:QKD)」と呼ばれる量子の特性を利用した仕組みで暗号鍵を共有します。その後、共有した暗号鍵を使ってワンタイムパッドと呼ばれる暗号方式で通信(データ)を暗号化します。量子鍵配送には様々な方式があり、その中でもBB84方式は代表的な方式です。
(1)量子鍵配送による暗号鍵の生成と共有
BB84方式における量子鍵配送は、以下の流れ(仕組み)でデータの送受信者間で暗号鍵を共有します。
①送信者は暗号鍵の元となる乱数列の情報(0、1のビット数列)を光子(量子の一種である光の粒子)の特定の状態に変換して送信します。その際、伝送路には専用の光ファイバー・ネットワークを使います。
②受信者は受信した光子の状態を測定し、乱数列の情報を読み出します。その情報の一部を使って送信者が送った情報と一致するか(盗聴されていないか)どうか、送信者との間でチェックします。
③チェックにより盗聴されていないことを確認できた場合、受け取った乱数列の情報を使って暗号鍵を生成します。
④一方で盗聴が検知された場合、乱数列の情報は破棄され、その情報は暗号鍵には使用しません。盗聴者が盗聴するために光子の状態を測定すると、量子の性質により光子の状態は変化し、これにより乱数列の情報も変化します。そのため、チェックのタイミングで送信者が送った情報と受信者が受け取った情報は一致せず、盗聴を検知することができます。
(2)ワンタイムパッドによる暗号通信
量子鍵配送で共有した暗号鍵を使ってデータを暗号化・復号し、暗号通信を行います。
データを暗号化する際は、送るデータと同じサイズの暗号鍵を使います。また、新たにデータを送信する際は、一度使った暗号鍵は使用せずに別の暗号鍵を使用します。

量子暗号の仕組み・イメージ
上記のステップでは、安全性を保つポイントとして二つあります。
一つ目は、量子の性質である「量子の状態は測定すると変化する、一度変化した状態は元に戻せない」を利用することで、光子(量子)の状態の変化から理論的には必ず盗聴を検知できます。それにより、盗聴されていない暗号鍵のみを暗号通信で利用することができます。
二つ目は、送信するデータごとに暗号鍵を変えているため、使用した暗号鍵が例え流出したとしても使い捨てのため問題ありません。
最後に
量子暗号の実用化には、伝送する際の光子の状態の安定化や伝送距離など課題があると言われていますが、来るべき量子コンピュータ時代に備え、量子暗号は重要な暗号技術の一つだと考えています。
三井情報では、量子コンピュータと合わせて量子暗号についても継続的に動向調査を行っています。これらの技術の発展が現在のコンピューティングやネットワークをどのように変化させていくのか、その変化に追従して三井情報はお客様にどのような付加価値を提供してゆけるのか考えていきたいと思います。
関連ページ
おすすめコラム:
量子コンピュータはなぜ速いのか?
量子コンピュータ(量子ビット)の実現方法は?
量子コンピュータとは?

大貫
R&D部 研究開発室
現在、量子コンピュータ、分析基盤などに関する研究開発に従事
コラム本文内に記載されている社名・商品名は、各社の商標または登録商標です。 本文および図表中では商標マークは明記していない場合があります。 当社の公式な発表・見解の発信は、当社ウェブサイト、プレスリリースなどで行っており、当社又は当社社員が本コラムで発信する情報は必ずしも当社の公式発表及び見解を表すものではありません。 また、本コラムのすべての内容は作成日時点でのものであり、予告なく変更される場合があります。