暗号は、秘密の情報を他人に見られないように伝達するという、最も古くからある社会のニーズの1つを満たすものである。古代のギリシャ人、ローマ人、エジプト人も基本的な暗号技術を用いていたが、その研究は今日さらに重要なものとなり、進歩を遂げている*3)。
メッセージを暗号化する1つの方法としては、慣例的にAliceと呼ばれる送信者が、平文から暗号文に変換するときの基底として、暗号化アルゴリズム内で鍵(秘密の特殊文字列)を使用する。受信者のBobは同じ鍵を持っており、プロセスを逆に実行する解読アルゴリズムにその鍵を使用する。鍵を持っていない盗聴者Eveは、既存の文字列を使用したり、メッセージを特定のイベントに関連付けるなどの手法で繰り返される文字列とパターンを探し、メッセージを解読する可能性がある。これらの方法のほとんどは相当な処理能力を必要とし、鍵を長くするほどタスクが著しく複雑なものとなる。今日では、ほとんどのアプリケーションで128ビットまでの鍵が使用されている。
鍵方式のシステムの問題は、鍵の長さもアルゴリズムの複雑さも、ハッカーによる解読を阻止したり遅らせるには不十分であるということだ。さしせまった課題として、正当なユーザーの間で鍵そのものをどのように暗号化して伝送するのかということと、その鍵を露出や破損からどのように保護するのかということが挙げられる。1970年代に開発され、広く普及しているRSA(Rivest/Shamir/Adleman)アルゴリズムは、違うアプローチをとることでこの問題を解決している。このアルゴリズムでは、秘密鍵と公開鍵を組み合わせた非常に大きな数の素因数分解の複雑さを利用している。したがって、RSAアルゴリズムで分かっている唯一の弱点は、将来強力なコンピュータが登場してひたすら計算を続ければ、解読できてしまう可能性があることだ。
本当に解読不可能と考えられている暗号方式にワンタイムパッドがある。鍵に使用される文字列が、簡単に破けるメモパッドに書かれることが多いことからこう名付けられた。この手法では、メッセージと同じ長さの任意の暗号鍵を使用して、メッセージの1ビットまたは1文字ごとに、鍵の1ビットまたは1文字を割り当てる。暗号化アルゴリズムと解読処理にはこの鍵のビットまたは文字が使用される。この手法の暗号化と解読は比較的シンプルで、ユーザーが自分の手を使って解読することすら可能だ(これは実世界では大きな利点である)。AliceとBobは同じ文字列を知っていて、他の誰もそれを知らず、その鍵を再び使用する者は誰もいない。この特徴はワンタイムパッドの強みでもあり、弱みでもある。暗号鍵を管理したり、伝達したり、セキュリティを確保することが物理的に困難だからだ。しかし、電子の動きによって生成されるノイズを利用したデータなど、ユーザーは乱数文字列を作成する様々な方法を使用して、ワンタイムパッドを上手く利用している。
信号電力、減衰量、計器を用いた測定について常日頃から考えをめぐらせている技術者にとって、光子の量子世界はまったく未知の領域に思えるかもしれない。光技術の技術者が信号のエネルギーまたは電力の減衰について話すとき、そのプロセスは一般的な電圧・電流信号の場合とまったく異なる。光子のエネルギーのみが光の波長または周波数を形成するため、光のエネルギーまたは電力を減衰するには光子の数を減らすしかない。
1個の光子は、偏光や特性などのいくつかの量子状態によって定義される。光子のような粒子の位置と量子状態の両方を同時に決定することはできないというHeisenbergの不確実性原理にしたがえば、光子の量子状態を測定するという基本的動作によってこれらのパラメータの値が変わる可能性すらある。つまり、測定という動作が、測定する粒子に影響を及ぼすのだ。量子物理学の世界は、「確実」や「絶対」とは無縁だ。光子がどこに存在し、どのようなパラメータをもっているかを確率で判断することになる。回路やシステムが使用される、十分に定義された測定可能な世界とは対照的といえる。
Copyright © ITmedia, Inc. All Rights Reserved.