概要
不安全なネットワーク上で共通な秘密鍵(乱数)を共有するタスクは鍵配送と呼ばれている。この問題を解決するために有名なDH鍵交換が提案された。これは後に公開鍵暗号のベースとなっている。しかし、DH鍵交換は離散対数問題を利用しているため、量子コンピュータの発展によって安全ではなくなる可能性が十分にある。もっといい方法はないだろうか?そこでDH鍵交換をぶっ壊した量子コンピュータから「量子鍵配送」という新たな可能性が見出された。
「量子?難しそう」と思っているあなたへ
量子という言葉が出た時、皆さんはどのような印象を抱くでしょうか。ワクワクで胸いっぱい?難しそうなイメージを抱いている?あるいは胡散臭さを感じてページを閉じようとしている?心配しないでください。この記事は家でもできる実験を使って誰でも理解できることを目指している。
必要な道具
・レーザーペン:1本
・偏光板:3つ
偏向板は半透明なプラスチックの薄いフィルムで、特定な方向(上下・左右)に振動している光しか通さない性質がある。偏向板の表面は縞模様があって、縞模様と同じ方向に振動している光のみ通れる。ホームセンターや通販で買える。
📎 表面の縞模様がナノサイズで目には見えない偏向板もあるが実験に支障はない
・レーザーペンと異なる色の紙:一枚
ではさっそく始めましょう。量子鍵配送(QKD)のプロトコルを解説する前に、量子の基礎知識を最小限まとめます。
量子状態と射影測定
量子の状態は単位ベクトルで表せる。QKDに使われる量子は量子ビットと呼ばれ、全ての量子状態が二次元ベクトルで表せる。普通のビットと同じように量子ビットは$|0\rangle$ と$|1\rangle$ の状態が存在して次のようにベクトルと対応している。
$$ |0\rangle=\begin{pmatrix} 1 \\ 0\end{pmatrix}\quad |1\rangle=\begin{pmatrix} 0 \\ 1\end{pmatrix} $$
ただし量子ビットでは次のような状態もとれる。
$$ |+\rangle=\frac{\sqrt 2}{2}\begin{pmatrix} 1 \\ 1\end{pmatrix}\quad |-\rangle= \frac{\sqrt 2}{2}\begin{pmatrix} 1 \\ -1\end{pmatrix} $$
この状態を理解するためには測定という概念が必要となる。厳密ではない言い方をすると、測定は選ばれた直交基底へ状態を射影する操作だ。例えば、$\{|0\rangle,|1\rangle\}$ を基底とすれば測定後の状態はそれぞれ一定の確率で$|0\rangle$ と$|1\rangle$ になる。その確率は測定前の状態を測定後の状態に射影した成分の二乗で求められる。それでは、$|+\rangle$ を$\{|0\rangle,|1\rangle\}$ 基底で測定する時に、$|0\rangle$ になる確率$P_0$ と$|1\rangle$ になる確率$P_1$ を計算してみよう。
$$ P_0 = \left(\frac{\sqrt2}{2} \begin{pmatrix}1& 0\end{pmatrix}\begin{pmatrix}1 \\ 1\end{pmatrix}\right)^2=\frac{1}{2} $$
$$ P_1 = \left(\frac{\sqrt2}{2} \begin{pmatrix}0& 1\end{pmatrix}\begin{pmatrix}1 \\ 1\end{pmatrix}\right)^2=\frac{1}{2} $$
$P_0,P_1$ はそれぞれ半々の確率となった。$|+\rangle$ のような状態は重ね合わせと呼ばれる。最も有名な例として、シュレディンガーの猫がある。箱を開ける前(観測する前)に猫は生と死の重ね合わせ状態になっているというのはよく知られている話だ。
実験タイム!
実験開始前にレーザペンとスクリーンを同じ平面に置く。レーザペンのマークがスクリーンに現れるようにレーザーペンとスクリーンの間の障害物を排除する。レーザーペンとスクリーンの間に偏光板を三つ置けるほどの距離を取る。
準備ができたら次の手順で実験を行う。
1.レーザーペンのマークがスクリーンに表示されるようにレーザーペンをつける。スクリーンとレーザーペンの間に偏光板を二つ入れる。ただし、偏光板の縞模様が直交するように偏光板を配置する
2.二つの偏光板の間にもう一つ偏光板を入れる。縞模様の向きはステップ1で設置した二つの偏光板のどちらとも一致しないようにする
ステップ1とステップ2を行った直後にスクリーンにあるレーザーペンのマークを観察する。
ステップ1の直後ではマークは見えないはずだ。そしてステップ2の直後、レーザーペンのマークはスクリーンに再出現する。
この現象の原因は量子の測定で説明できる。光子は量子の一種で波の性質も併せ持っている。縦方向に振動している光(光子)と横方向に振動している光はお互い直交している状態にある。それぞれ$|0\rangle$ と$|1\rangle$ とする。偏光板は測定の役割を果たしている。特定な振動方向の光しか偏光板を通れないため偏光板を通した後の光子の状態(通れたかどうか)で光子の「振動方向」を知ることができる。ステップ1では一つ目の偏光板を通った後全部の光子の振動方向が二つ目の偏光板と直交しているためスクリーンに到達した光がなくなった。ステップ2では「斜め」の偏光板の介入によって斜め向きの測定をした。よって$|+\rangle$と$|-\rangle$ など重ね合わせ状態が表れて最後の偏光板を$\frac{1}{2}$の確率で通れるようになる。
📎 光子が消失するような測定を厳密に理解するためにはインストルメントという概念を理解する必要がある。ここでは分かりやすさのために割愛する。
量子鍵配送(QKD)
「もう本題に入るのか」と驚くかもしれないが、量子鍵配送はとてもシンプルなプロトコルなので、先ほど紹介した知識のみで理解できる。
まず、鍵配送の問題設定について説明する。Alice とBob が電話で話しているところを想像してみよう。二人は明日会う約束をしていて会う時の「合言葉」を決めたい。しかし、この電話は邪悪なEve に盗聴されるかもしれない。Alice とBob はEve に「合言葉」を聞かれたくないので、Eve に聞かれても困らない話をすることで、Eve に気づかれないうちに「合言葉」を交わしたい。
計算機にとって、「合言葉」はランダムな一つのビット列として表現される。すなわち、計算機の世界での鍵配送は「盗聴できる通信路での通信を通してランダムなビット列を一つを共有する」ことだ。
ここで、量子鍵配送は次の手順で行われる。
1.Aliceはランダムに1ビットの$b\in \{0,1\}$ を選ぶ。また、$\{|0\rangle ,|1\rangle\}$ と$\{|+\rangle ,|-\rangle\}$ の基底のうち一つを選ぶ
2.Aliceはステップ1で選んだ基底で$b$ をBobに送る。すなわち、
a.$\{|0\rangle ,|1\rangle\}$ を選んだ場合$|0\rangle$ で$b=0$ を、$|1\rangle$ で$b=1$ を表す
b.$\{|+\rangle ,|-\rangle\}$ を選んだ場合$|+\rangle$ で$b= 0$ を、$|-\rangle$で$b=1$ を表す
3.BobはAliceから送られてきた状態を$\{|0\rangle ,|1\rangle\}$ と$\{|+\rangle ,|-\rangle\}$ のどちらか一方で測定する。
4.ステップ1から3を十分に多い回数繰り返す
5.Alice とBob は毎回選択した基底を公開する。2者が同じ基底を選択した箇所からいくつかを選んでテスト箇所とする。そしてAliceは自分が送ったビット$b$ を、Bobは自分が測定して得られた結果を公開する。1箇所でもAliceとBobの結果が違ったら盗聴者がいると断定できる。このステップをテストと言う。
6.ステップ5のテストを通ったら基底が同じな箇所のなか、公開していない部分を共通の秘密とする
なぜこのプロトコルは盗聴者を炙り出せるのだろうか?その秘密は測定のランダム性にある。例えばAliceが$\{|0\rangle ,|1\rangle\}$ の基底でビットを送ったとする。Eveはこの段階でまたAliceの基底を知らないため、どんな戦略で基底を当てても$\frac{1}{2}$の確率でしか当たらない。テスト箇所でAlice とEve の基底が異なる場合、Bob が測定したときに2通りの測定結果がそれぞれ$\frac{1}{2}$ の確率で得られる。Eveがテスト箇所のビットを盗聴した時に$\frac{1}{4}$の確率でBobの測定結果がAliceと違って盗聴がバレる。プロトコルのステップ5のテスト箇所の数を$m$とすればEve がバレずに盗聴できる確率は$\left(\frac{3}{4}\right)^m$しかない。
📎 基底の情報がない時AliceからBobに送った状態は完全混合状態$\frac{\mathbb{I}}{2}$と呼ばれる。この状態から有益な情報を取り出すことが不可能だと量子情報では証明されている。興味ある人は調べてみるとよいだろう[1]。
実験(レーザペンで)
実験前の準備はこの前の実験と同じである。ただし使う偏光板は3つだけ。ここでは状態準備と測定のやり方について説明する。
違う状態の準備は偏光板の向きを変えることでできる。偏光板は1つの振動方向の光子しか通さないため送った光子の状態を絞ることができる。具体的に状態と向きの対応関係は
$|0\rangle$:偏光板の縞模様が横向き
$|1\rangle$:偏光板の縞模様が縦向き
$|+\rangle$:偏光板の縞模様が斜め上向き
$|-\rangle$:偏光板の縞模様が斜め下向き
となる。
測定基底は同じく偏光板の向きで指定できる。
$\{|0\rangle,|1\rangle\}$:偏光板の縞模様が横向き
$\{|+\rangle,|-\rangle\}$:偏光板の縞模様が斜め上向き
測定結果はスクリーン上のマークから読み取れる。
はっきりしたマーク:測定結果0
マークが全く見えない:測定結果1
薄いマークが見える:コインを投げて1 か0 を決める
実験はラウンド形式で行う。1つのラウンドは次のようにして行われる。
1.基底と$b$ を選んでAlice 側の偏光板をセット。Alice が基底とビットの値を記録しておく
2.Bob は基底を選んで測定して、使った基底と測定結果を記録
このラウンドを繰り返し、通信が終わったらいくつかのラウンドを選んで記録を公開する。測定基底が同じ箇所の測定結果が一致しているかをチェックする。
盗聴者Eve をシミュレートするにはラウンド中に二つの偏光板の間にもう一つ偏光板を置く。追加された偏光板の向きは二つの測定基底の方向からランダムに選ぶ。
Eve を追加した前と後、それぞれ上記のテストを行う。測定結果を比較してQKDの安全性を確認できる。
プロトコルの弱点
量子鍵配送は物理法則で保障された安全性を持つ。しかし、実装上の問題でプロトコルに脆弱性が現れる場合がある。そのヒントはさっきの実験にある。
同じ状態のビットを何個も送った場合
レーザーペンでシミュレートしているQKDは毎回1個の光子(量子の一種)だけではなく何個も同時に送る。このとき、Eve は以下の手順でQKDの安全性を破れる。
1.$\{|0\rangle ,|1\rangle\}$ と$\{|+\rangle ,|-\rangle\}$ の一方を選んで最後の1個光子以外を測定する。
2.測定結果が全部同じならステップ1で選んだ基底を使って残りの1ビットを測定する。1個の光子でも測定結果が違ったらステップ1で選ばなかった基底を使って測定する。その時の測定結果を$b$ とする。
ステップ2の測定基底で$b$ を符号化してBobに送る
この方法で盗聴が成功する理由は以下の通りである。簡単な計算でわかる通り、符号化の基底と同じ基底で測定した場合必ず毎回同じ測定結果を得られる。逆に符号化の基底ではない方の基底での測定ではどちらの結果も$\frac{1}{2}$ の確率で出るため、1回のラウンドで送信する量子数が増えるとEve の盗聴失敗率は指数的に0に近づく。
実験
この実験は一個前の実験とはほぼ同じである。ただしEve をシミュレートする時は以下の手順に従う。
1.まずはランダムに測定基底を一つ選ぶ。その時選んだ基底を$\{|0\rangle,|1\rangle\}$ とする。
2.スクリーンをEve の偏光板前に持ってきて結果を読みとる。その時の結果に応じて次の行動をとる
a.スクリーンにマークが見えないあるいははっきり見える:結果を記録して終わる
b.スクリーンにマークがうっすら見える:測定基底を変えて結果を記録して終わる
なぜこの方法がうまくいくのだろうか?違う基底を選んでしまった場合$\frac{1}{2}$ で光子は消失する。その確率は光の強さの減衰に現れるため、この方法でほぼ1の確率でAlice の基底を識別できる。
余談
QKD の運用上一個一個の光子の状態が独立している場合が一番理想的だが、設備の精度などの原因で同じ状態の光子が出てしまうことは回避できない。盗聴されるリスクを少しでも軽減するためにプライバシー増強(privacy amplification)などの改良手法が提案されている。それらの手法は安全性を保障する代わりに通信の効率を犠牲にする。同じ数の光子の通信でより長い共通乱数を取り出す手法は今でも研究され続けている。
本記事と関係ある資料:https://www.jst.go.jp/impact/hp_yamamoto/outreach/schoolvisit/pdf/aomori_jh_1.pdf
参考文献
- 石坂智, 小川朋広, 河内良周, 木村元, 林正人, 「量子情報科学入門」, 共立出版, pp.102-107