この記事は量子テクノロジーに関する解説シリーズの3つ目となる。以前の2つの記事では、それぞれ量子コンピューターと量子インターネットについて説明した。
オンラインショップでの商品購入やメールの送受信、銀行やクレジッドカードのアカウント確認の際に、Webブラウザーに毎回現れる小さな南京錠のマークを気に留める人はほとんどいない。しかし、このマークはそのオンラインサービスが、インターネット上で送信するリクエストや受信するレスポンスを暗号化するWebプロトコルであるHTTPSを使用していることを示している。HTTPSや他の形式の暗号は、パスワードや電子署名、健康記録をはじめとして、あらゆる種類の電子通信を保護している。
量子コンピューターにより、これらの暗号による防御が破られる可能性がある。今日ではまだ能力が不足しているが、量子コンピューターの進化は早い。あと10年もすれば、あるいはもっと早く、量子コンピューターは一般的な暗号方式に対する脅威となるかもしれない。研究者やセキュリティ会社が、将来ハッカーが仕掛けてくるであろう量子コンピューターによる攻撃に持ち耐えられる暗号化の新しい方法を競って開発しているのはこのためだ。
デジタル暗号はどのように機能するのか?
暗号の主な種類は2つある。共通鍵暗号方式(対称暗号とも呼ばれる)では、送信者と受信者が「共通鍵」と呼ばれる同一のデジタル鍵を用いて、データを暗号化し、復号する。これに対し、公開鍵暗号方式(非対称暗号とも呼ばれる)では、送信者は公開されている鍵を使用してメッセージを暗号化する。暗号化されたデータを解読するためには、受信側が持つ秘密鍵が必要となる。
この2つの方法が一緒に使われることもある。たとえばHTTPSの場合、Webブラウザーは、公開鍵の暗号を使用してWebサイトの正当性を確認し、共通鍵を用いて通信を暗号化する。
暗号化における目標は、ハッカーが大規模な計算リソースを使っても、暗号化に使用されている鍵を推測できないようにすることだ。このため、RSAや楕円極性暗号などとして知られる一般的な暗号方式では、いわゆる落とし戸関数(一方向関数とも呼ばれる)を使用している。落とし戸関数とは、鍵を作るための計算は比較的容易であるが、計算結果から元の情報を逆算するのは非常に困難となる関数である。
ハッカーは、鍵として可能性のある全ての組み合わせを試せば、暗号を解読できるかもしれない。しかし防御側は、十進数で617桁となる2048ビットのRSA鍵など、非常に長い鍵の組み合わせを使用することで、暗号を解読されないようにしている。従来のコンピューターで秘密鍵を得るために可能性のあるすべての組み合わせを試すには、何百万年とは言わないまでも、何千年もかかってしまうだろう。
なぜ量子コンピューターは暗号に対する脅威と …