ネットワーク上の通信とは本質的に,ある初期状態に有る情報が経路上で多様な操作を受け,目的とする状態へと遷移するプロセスであると考える.それを踏まえれば,あるネットワークを考えた時,その通信プロセスは量子論理回路として記述可能である.
例えば,Torのような匿名通信において行われるパケットの暗号化や復号とは,情報を失わずに変化した情報を元に戻せるのだから,量子情報におけるユニタリ変換の性質と同形で有ると言える.また暗号・復号自体を施すノードというのは,それぞれ量子ゲートと見なすことができるので,ある通信パケットを量子状態を示すベクトルとみなし,ネットワーク上の各ノードをその状態を回転させる量子ゲートと考えれば,通信路全体を1つの巨大な量子論理回路図としてモデル化できる.
本稿では,この視点に基づいて,具体的事例としてOnion Routingを数理的に再解釈する.
まずTor(筆頭のオーバレイネットワーク)における通信に際して必要な要素を,量子情報の内容と対応づけよう.
ある bitの長さを持つ通信パケットは,次元のHilbert空間上の状態ベクトルとして定義できる.ここで
ネットワーク上の,あるノードが行う暗号化操作および復号操作は,このベクトル空間上における
×ユニタリ行列と表現できる.Torのみならず,広汎的なネットワークにおいて,を以て任意のUnitary変換を施すことで,パケットを表す状態ベクトルに対して目的の処理を適用させる.
TorにおけるOnion Routingとは,送信者(以下,Alice)がパケットに対して施した多層暗号を経路上の各ノードが,順次それを復号させてゆく一連のプロセスを指す.これはAliceが状態ベクトルを回転させ,各ゲートで順次逆回転させていく流れと等しい.
ある平文データをとする.Aliceは経路上に有る個のノードに対応する鍵を用いて,順にUnitary変換を適用し,送信パケットを生成する(多層暗号化の実施).
パケットがTorネットワークへ放たれれば,各ノードを通過するごとに,対応する逆変換が施される(パケットの順次復号).
最終的な受信者であるBobに到達した時点での状態ベクトルは以下のようになり,平文に復号されていることがわかる.
(を用いた(ここではの共役転置であり,は単位行列))
ではこの処理におけるUnitary変換の具体的な中身を考えてみよう.Torは暗号方式としてAESを用いているが,中でもAES-CTRなる方式を採用している.AES-CTRの大雑把な処理の流れは以下のようになる.
・重複しない形で生成されたtokenである”nonce”と,(一般的に)1を起点として,回数ごとにインクリメントされる変数”counter”とをAES-ECBにより暗号化する.その結果生成された暗号文をkey streamとする.
・key streamと平文をXORにより計算する.
・XORにより生成された結果が暗号文となる.
なお,量子ゲートにおいてXORはパウリ演算子に相当する.
ここで,番目のノードにおけるkey streamをとすれば,このノードにおけるUnitary演算子は,以下のように定義できる.
このときのときbit反転が起こるが,パウリ演算子はHermitianかつUnitaryであり,であるため,AES-CTRの操作を矛盾なく説明できる.
以上の,Torの例からも分かる通り,既存の匿名通信プロトコルは量子情報理論の形式を以て記述可能である.しかし厳密にいえば,Torの通信はある基底ベクトルを別の基底ベクトルへと移す,決定論的な置換を繰り返しているに過ぎない.すなわち量子情報の本質である重ね合わせによる並列性は活用されていない.
仮に,ルーティングの過程に(擬似的に)アダマールゲート的な要素を導入し,パケットの状態を複数経路の重ね合わせとして扱えるようになれば,例えば単にパケットをリレーするのではなく,確率振幅により位相を操作することで,任意の観測点(Hop数や受信者など)における確率のみを増幅させることができるような,より効率的な匿名通信ネットワークを構築できると確信している.