マトリョーシカ的日常

ワクワクばらまく明日のブログ。

粒子と波、二足のわらじ

f:id:kyokucho1989:20160217055352p:plain:w400

 私が仕事にあたる方針として、「自分の楽しさにもとづいて働く」というものがある。ほかの人がどうだというのは関係ない。自分が一番楽しいと感じられるように仕事を進める。「それは極論だ」「他人からの評価も大事」「Win-Winでいこう」言われそうだが、まったくそんなことはない。なぜなら他人からの評価というのは自分が読み取れる範囲の評価であって、真にそれを理解することはできないからだ。よって、他人からの評価も自分の楽しさに内包されていて、私は私のことだけを考えて働けばいいのである。

 交換鍵の問題を解決するには、鍵を二つ持てば良い。施錠(暗号化)するための鍵と開錠(複合化)するための鍵である。ディーフィーはこの非対称鍵をアイデアを発見し、それはもう興奮したそうな。

南京錠にたとえて言えば、非対称鍵とは次のようなものである。南京錠は、ガチャンとはめ込むだけで誰にでも掛けられるが、錠は鍵をもっている人間にしかはずせない。施錠(暗号化)は誰にでも簡単にできるが、開錠(複合)できるのは鍵を持っている人間だけだ。南京錠の掛け方を知っているだけでは、はずし方はわからないのである。

 これは公開鍵システムと呼ばれる。まず、送信したい人(アリス)は受信する人(ボブ)が公開している暗号化用の鍵を探す。鍵を見つけたらそれを使って通信文を暗号化し、ボブへ送る。ボブは自身が持っている複合化用の鍵を使って暗号を解読する。複合化用の鍵はボブ自身しか持っていないため、その暗号はボブにしか読めない。公開鍵システムは鍵を配送する必要がなく、鍵配送問題を見事に解決したのだった。

 ディーフィー、ヘルマン、マークルは以上の鍵交換という概念を生み出したが、実用的なシステムは完成させることが出来なかった。キーとなる特殊な一方向関数を発見出来なかったのである。彼らの概念を受け継ぎシステムの構築を完遂したのが、リヴェスト、シャミア、アドルマンの三人だった。それは三人の頭文字をとってRSA暗号と呼ばれている。

 彼らは一方向関数を素数に見いだした。二つの素数の積をつくる行為が一方向関数になるのだ。例えば8501833という数字は二つの素数2833と3001の積である。元の素数が分かっていればさきの答えを求めるのはたやすいが、その反対は難しい。こうして作りやすく解きにくい見事な暗号が完成した。RSA暗号は後にフィル・ジマーマンによって大衆向けのシステム(PGP)に組み込まれ、今日の安全な通信を行うのに一役買っている。

 RSA暗号は完璧に思われた。ジマーマンはRSA暗号を使えば、「たった一つのメッセージを解読するために、世界中のおよそ二億六千台のパーソナル・コンピュータを投入したとしても、解読には平均して宇宙の年齢の一千二百万倍の時間がかかる」と述べている。しかし、絶対に破られない暗号はない。今、従来の数十億倍の早さで処理ができるコンピュータが開発されている。量子コンピュータである。

 量子とはめちゃくちゃ小さいものという意味である。それは粒であったり波であったりするが詳細な説明は省く。この記事に解説を書いていた気がする。
matoyomi.hatenablog.com

 量子コンピュータは重ねあわせ、または多重世界を利用し、一度に複数の計算を同時行うことが出来る。

量子コンピュターについてはあなたのお好み次第で二通りの解釈ができる。一つの解釈は、「量子コンピュータは、128個の数に対して同じ計算を同時に遂行する単一の実体である」というもの。もう一つの解釈は、「量子コンピュータは128個の実体であり、それぞれが別の宇宙の中でひとつの計算を行う」というものだ。量子コンピュータは、SFめいたトワイライトゾーンのテクノロジーなのである。

 上の引用は七つの粒子を用いて説明しているため、2^7=128個という記述がある。しかし扱える粒子の数が増えたらどうなるだろうか。例えば粒子が250個になればその状態の組み合わせのオーダーは10^75となり、宇宙に存在する原子の数よりも多くなる。

 昨年グーグルは開発中の量子コンピュータ「D-wave」の動作テストを行い、従来のPCよりも一億倍高速であることを証明した。

 庶民の手に渡るのはまだまだ先の話だが、いずれ私たちはとんでもなく高性能なPCを手にするだろう。そのレベルになったらもはやPCを扱っているという意識すらなくなるのではないか。量子コンピュータは我々の日常にとけ込み、お昼休みのウキウキウォッチングのようにサングラスをかけて世界を見守る。

暗号解読 下巻 (新潮文庫 シ 37-3)

暗号解読 下巻 (新潮文庫 シ 37-3)