量子暗号通信の記事で「絶対に解読されない暗号」という触れ込みが登場するたびに「なワケねぇだろ」という反応が飛び交う。
『絶対』というキーワードにはまず疑ってかかるのは良い心がけだけど、誤解も多いので解説したい。
大学で暗号について習うと、まず最初に暗号の安全性には大きく分けて2種類あることを学ぶ。
世の中に出回ってる暗号は大半がこれ。
時間をかければ解けるが、解くのに数百年数千年かかるからまぁ安心ってやつ。
そう表現すると何か特別なテクノロジーのように聞こえるけど、仕組みは大したことない。
・鍵を使いまわさない
たったこれだけ。
例をあげよう。
DOG
暗号方式にはシーザー暗号(アルファベットを任意の文字数ぶんずらす古典的な暗号)を使う。
D→E
O→P→Q
G→H→I→J
EQJ
というわけだ。
こんなショボい暗号すぐに解けそうだが、実際はそうはいかない。
鍵が何であるか分からない状態では、EQJはCATにもUSAにもNTTにもなりうる。
正解を列挙することは簡単だけど、正解と不正解はすべて同列で区別がつかない。
どうにかして平文と同じ長さの鍵を相手と共有しないといけない。使い回しも厳禁。
この、いわゆる「服を買いに行く服がない」のジレンマによって、情報理論的に安全な暗号は現実の世界では滅多に使われる事がない。
いちおう第二次世界大戦の旧日本軍では、複写式のカーボン紙に暗号兵が乱数を適当に書き殴り、その紙を事前に取り交わすことで実運用していたらしい。
そこで量子ネットワークの登場。
量子は観測すると状態が確定してしまう性質があるから、盗聴されても、すぐに検出できる。
量子ネットワークで鍵をやり取りすれば、鍵が漏れた際にすぐ気付けるので、その時点で情報の送信を止めれば良い。なんならちょっとだけ早く鍵を先に送る運用にすれば、一部分たりとも解読される事はない。鍵だけ盗まれても本体である暗号文がなければそれはただの乱数であって、何の価値もない。
このように、量子暗号によって「服を買いに行く服がない」問題が解消され、古典的な情報理論的に安全な暗号が日の目を見ることになる。