「量子コンピュータが実現するとインターネット上で利用されている暗号システムが崩壊してしまう...」最近、このような話を耳にすることあるのではないでしょうか?ここでは、量子コンピュータについて簡単に説明します。 現在、インターネット上でよく使われる暗号方式としてRSA暗号があげられます。このRSA暗号は、従来のコンピュータでは桁数の大きい数の因数分解を現実的な時間内に解くことはできないため、この因数分解の難しさがRSA暗号の安全性の根拠となっています。ところが、もしこれからコンピュータの処理速度が急速に速くなるとRSA暗号はいずれ破られてしまう可能性もあるのです。特に、量子コンピュータという究極の処理速度をもつコンピュータが実現すれば、従来のコンピュータでは200億年ほどかけても解けないような因数分解でも数分で解けてしまうといわれています。したがって、量子コンピュータによってこれまで暗号システムがすべて崩壊してしまうかもしれないのです。 では、量子コンピュータの仕組みはどのようになっているのでしょうか?そのことを説明するために、量子の世界に入る必要があります。量子の世界は私たちの一般常識とはかけ離れた奇妙な世界です。量子力学の父の一人であるニールス・ボーア(Niels Bohr)は、量子の世界の難しさ、奇妙さを次のように語っています。「めまいを覚えず量子力学を考えることができる人は、量子力学をわかっていないのだ。」 量子は、一般に光の粒子(光子)や電子のように非常に小さいものです。量子コンピュータは、この量子の性質を利用してコンピュータの処理を行うものです。ここでいう量子の性質として量子力学における光の「波動と粒子の二重性」があげられます。粒子の性質を分かりやすくイメージするために、ビリヤードの玉を考えてみてください。ビリヤードの玉は1つ、2つと数えることができ、またお互いに衝突すると、跳ね返ったり停止したりしますが、決して重なり合うことはありません。一方、波動の性質をイメージするためには、湖面上に水滴が落ちたときに広がる波紋を考えるとよいでしょう。波紋は湖面全体に広がっていき、ビリヤード玉のように1つ、2つと数えることはできません。また、波紋がぶつかると交じり合ったり重なり合ったりします。光や電子などの量子はなんとこの「波と粒子」の2つの性質を持っているのです。 このことを示すために有名な実験方法として2つのスリットを用いた実験があげられます。二つのスリットのある板に光を当てると、その板の向こうに設置されたスクリーンに明るい部分と暗い部分から成る縞模様が観察できます。このような縞模様ができるのは、波がもつ特有の「干渉」という現象によるもので、光は波の性質を持っていることになります。しかし、金属に光を当てると電子が発生するという光電効果から、光が粒子の性質を持つことも分かっているのです。もし、光が粒子(光子)だとすると、1つの光子が二つのスリットのうち2つのスリットを通ってスクリーンに衝突するはずです。しかし、実際にはスクリーンに干渉縞を作ってしまうのです。ということは、一つの光子が二つのスリットを同時に通っているのでしょうか?このような現象は、普通に考えたら奇妙なことです。例えば、1つのビリヤード玉が二つの穴を同時に通っているようなものです。 次に、光子が二つのスリットのうちどちらのスリットを通ったのかを調べるために、一つのスリットの後ろだけに光子検出器を置いてみます。そして、光子を検出すると、なんと干渉縞が消えてしまうのです。つまり、干渉縞を観察しようとすると、干渉縞が観察でき、光子を検出しようとすると光子を検出できるのですが、両方を観察することはできないのです。これは、光子を観察する前までは、光子は「重ね合わせの状態」であるといい、波動と粒子の両方の性質を持ち合わせていますが、ひとたび観察されるとその性質のうち一つの性質しか観察できないということです。このように量子の世界では、私たちの住むマクロ世界では理解できない奇妙な現象が起きるのです。 では、この量子の性質を利用するとどうして量子コンピュータができるのでしょうか?実は、量子コンピュータはこの量子の二重性の性質をうまく利用するのです。例えば、普通のコンピュータでは、0と1といったデジタル信号により処理を行いますが、量子コンピュータでは0であると同時に1という状態も存在するのです。すなわち、従来のコンピュータのように0と1の他に0と1の「重ね合わせの状態」もあり、例えば0が何%、1が何%というような処理を行うので従来のコンピュータとは全く異なるものです。 例えば、複数の処理を従来のコンピュータに行わせる場合、1つの処理が終わってから次の処理を順に行います。ところが、量子コンピュータでは量子の二重性、すなわち「重ね合わせの状態」の量子を処理入力とすることにより一度に複数の処理を行うことができるのです。このように、量子の二重性の性質を利用して複数の処理を1つの入力で行うことができるのが量子コンピュータなのです。 従来のコンピュータのビットに対して、量子計算の基本情報量は量子ビット(キュービット)と呼ばれています。例えば、nキュービットのデータの処理を行うために「重ね合わせの状態」まま一度だけ入力すると、従来のコンピュータの2^n回分の計算が行う超並列計算機が実現できるのです。したがって、量子コンピュータは、一度の入力で膨大な計算ができるため、現在の暗号システムを簡単に破ることができるといわれているのです。 では、このようなコンピュータは本当に実現できるのでしょうか?理論上は実現できることが証明されていますが、実際に実現することは非常に難しいです。例えば、量子コンピュータは非常にデリケートであり、「重ね合わせの状態」を保ち続けないと実現することはできないのです。すなわち、量子コンピュータが計算している間は、少しでも量子を観測したり干渉したりしてはいけないということです。例えば、極低低温、超真空という条件下でイオン一つ一つにレーザを照射するイオントラップや液中の分子の核スピンを調べるNMRを用いる方法などが提案されていますが、いずれも実用化は非常に難しく、量子コンピュータの実現はまだまだ将来のことだと考えられています。
(資料:ジャパンデータコム且送ソより作成)
(資料:ナノエレクトロニクス ,「量子コンピュータ」http://www.nanoelectronics.jp/kaitai/quantumcom/2.htm) ※画像をクリックすると大きい画像がご覧になれます