倭算数理研究所

科学・数学・学習関連の記事を、「倭マン日記」とは別に書いていくのだ!

『Quantum Computing: A Gentle Introduction』の演習問題を解く 2.11

Quantum Computing: A Gentle Introduction (Scientific and Engineering Computation) (English Edition)

Quantum Computing: A Gentle Introduction (Scientific and Engineering Computation) (English Edition)

目次はこちら

Exercise 2.11. B92 quantum key distribution protocol. In 1992 Benneett proposed the following quantum key distribution protocol. Instead of encoding each bit in either the standard basis or the Hadmard basis as is done in the BB84 protocol, Alice encodes her random string  { x } as follows

  { \displaystyle\begin{align*}
  0 &\mapsto |0\rangle \\
  1 &\mapsto |+\rangle = \frac{1}{\sqrt{2}}\left(|0\rangle + |1\rangle\right)
\end{align*}}

and sends them to Bob. Bob generates a random bit string  { y }. If  { y_i = 0 } he measures the  { i } the qubit in the Hadamard basis  { \{|+\rangle,\,|-\rangle\} }, if  { y_i = 1 } he measures in the standard basis  { \{|0\rangle,\,|1\rangle\} }. In this protocol, instead of telling Alice over the public classical channel which basis he used to measure each qubit, he tells her the results of his measurements. If his measurement resulted in  { |+\rangle } or  { |0\rangle } Bob sends 0; if his measurement indicates the state is  { |1\rangle } or  { |-\rangle }, he sends 1. Alice and Bob discard all bits from string  { x } and  { y } for which Bob's bit value from measurement yielded 0, obtaining strings  { x' } and  { y' }. Alice uses  { x' } as the secret key and Bob uses  { y' }. Then, depending on the security level they desire, they compare a number of bits to detecte tampering. They discard these check bits from their key.

  • a. Show that if Bob receives exactly the states Alice sends, then the strings  { x' } and  { y' } are identical strings.
  • b. Why didn't Alice and Bob decide to keep the bits of  { x } and  { y } for which Bob's bit value from measurement was 0?
  • c. What if an eavesdropper Eve measures each bit in either the standard basis or the Hadamard basis to obtain a bit string  { z } and forwards the measured qubits to Bob? On average, how many bits of Alice and Bob's key does she know for sure after listening in on the public classical? If Alice and Bob compare  { s } bit values of their strings  { x' } and  { y' }, how likely are they to detect Eve's presence?

a.
アリスとボブがそれぞれ生成したビット列 (bit string) の1ビットに対して、B92 プロトコルの手続きによってボブが得るビット値(以下「結果ビット」と書くことにします)とそれが起こる確率を表にすると以下のようになります:

アリス \ ボブ 0 1
 { 0 \Rightarrow \,\mid\!0\rangle }  { \mid+\rangle \Rightarrow 0} (12.5%)
 { \mid-\rangle \Rightarrow 1} (12.5%)
 { \mid0\rangle \Rightarrow 0} (25%)
 
 { 1 \Rightarrow \,\mid\!+\rangle }  { \mid+\rangle \Rightarrow 0} (25%)
 
 { \mid0\rangle \Rightarrow 0} (12.5%)
 { \mid1\rangle \Rightarrow 1} (12.5%)

結果ビットが0の場合はアリスとボブの該当ビットを破棄するので、上記の表からこの場合を消去すると

アリス \ ボブ 0 1
 { 0 \Rightarrow \,\mid\!0\rangle }  { \mid-\rangle \Rightarrow 1} (12.5%)
 { 1 \Rightarrow \,\mid\!+\rangle }  { \mid1\rangle \Rightarrow 1} (12.5%)

となって、(アリス, ボブ) = (0, 0), (1, 1) のみが残ります。 つまり、アリスとボブが持っているビット列(の該当箇所)は同じになります。

ちなみに、この表の確率から最終的にビットが残る確率は25%となるので、 { n } 個の qubit を送っても概ね  { \frac{n}{4} } 個のビットしか使えない計算になります。 BB84 の場合は  { \frac{n}{2} } でした。

b.
もし結果ビットが1の場合を破棄するとすると、a. の1つ目の表からこの場合を消去して

アリス \ ボブ 0 1
 { 0 \Rightarrow \,\mid\!0\rangle }  { \mid+\rangle \Rightarrow 0} (12.5%)  { \mid0\rangle \Rightarrow 0} (25%)
 { 1 \Rightarrow \,\mid\!+\rangle }  { \mid+\rangle \Rightarrow 0} (25%)  { \mid0\rangle \Rightarrow 0} (12.5%)

となります。 この場合、(アリス, ボブ) = (0, 1), (1, 0) の場合も残っているので、アリスとボブのビット列に一致しないものが含まれてしまいます。

c.
イヴが盗聴している場合に、ボブが取得しうる結果ビットとその値を得る確率を表にしておきましょう。 まずはアリスが0を生成し、 { |0\rangle } を送る場合:

イヴ \ ボブ 0 1
 { \mid0\rangle }  { \mid+\rangle \Rightarrow 0 \quad\left(\frac{1}{8}\right) }
 { \mid-\rangle \Rightarrow 1 \quad\left(\frac{1}{8}\right) }
 { \mid0\rangle \Rightarrow 0 \quad\left(\frac{1}{4}\right) }
 
 { \mid1\rangle }  
 
 
 
 { \mid+\rangle }  { \mid+\rangle \Rightarrow 0 \quad\left(\frac{1}{8}\right) }
 
 { \mid0\rangle \Rightarrow 0 \quad\left(\frac{1}{16}\right) }
 { \mid1\rangle \Rightarrow 1 \quad\left(\frac{1}{16}\right) }
 { \mid-\rangle }  
 { \mid-\rangle \Rightarrow 1 \quad\left(\frac{1}{8}\right) }
 { \mid0\rangle \Rightarrow 0 \quad\left(\frac{1}{16}\right) }
 { \mid1\rangle \Rightarrow 1 \quad\left(\frac{1}{16}\right) }

括弧内は確率です(パーセンテージではなく分数にしています)。 ここから結果ビットが0の場合を消去すると

イヴ \ ボブ 0 1
 { \mid0\rangle }  { \mid-\rangle \Rightarrow 1 \quad\left(\frac{1}{8}\right) }
 { \mid1\rangle }
 { \mid+\rangle }  { \mid1\rangle \Rightarrow 1 \quad\left(\frac{1}{16}\right) }
 { \mid-\rangle }  { \mid-\rangle \Rightarrow 1 \quad\left(\frac{1}{8}\right) }  { \mid1\rangle \Rightarrow 1 \quad\left(\frac{1}{16}\right) }

となります。 今はアリスのビットが0だったので、ボブのビットが1の列のときに(ビットを比べた後で)盗聴されていることに気付きます。 同様にしてアリスが1を生成して  { |+\rangle } を生成する場合は(結果ビットが0の場合を消去して)

イヴ \ ボブ 0 1
 { \mid0\rangle }  { \mid-\rangle \Rightarrow 1 \quad\left(\frac{1}{16}\right) }
 { \mid1\rangle }  { \mid-\rangle \Rightarrow 1 \quad\left(\frac{1}{16}\right) }  { \mid1\rangle \Rightarrow 1 \quad\left(\frac{1}{8}\right) }
 { \mid+\rangle }
 { \mid-\rangle }  { \mid1\rangle \Rightarrow 1 \quad\left(\frac{1}{8}\right) }

を得ます。 今の場合はボブのビットが0の列のときに盗聴に気付きます。 2つの場合を合わせると(全ての確率に  { \frac{1}{2} } をかけて)

イヴ \ ボブ 0 1
 { \mid0\rangle }  { \mid0\rangle_\textrm{Alice} \quad\left(\frac{1}{16}\right) }
 { \mid+\rangle_\textrm{Alice} \quad\left(\frac{1}{32}\right)\,* }
 { \mid1\rangle }  { \mid+\rangle_\textrm{Alice} \quad\left(\frac{1}{32}\right)\,* }  { \mid+\rangle_\textrm{Alice} \quad\left(\frac{1}{16}\right) }
 { \mid+\rangle }  { \mid0\rangle_\textrm{Alice} \quad\left(\frac{1}{32}\right)\,* }
 { \mid+\rangle_\textrm{Alice} \quad\left(\frac{1}{16}\right) }
 { \mid-\rangle }  { \mid0\rangle_\textrm{Alice} \quad\left(\frac{1}{16}\right) }  { \mid0\rangle_\textrm{Alice} \quad\left(\frac{1}{32}\right)\,* }

となります。

  • 上記の表とは異なり、各欄には結果ビットではなくアリスが送った状態を書いています(添字の「Alice」)。
  • 「*」はアリスとボブがビットを比べた後に盗聴されていることに気付く場合です。

ちなみに、この表中の確率の総和は  { \frac{3}{8} \fallingdotseq 37.5\% } となりますが、これは qubit を破棄せず鍵ビットとして採用する確率でもあるので、(盗聴されていない場合の 25% と比べて)盗聴されていると qubit の使用効率が上がるようです。

イヴが正しいビット値を得る確率 B92 プロトコルでは BB84 プロトコルと異なり、古典チャネルでエンコード・デコードに使った基底情報も送らないため、イヴが qubit の測定に使った基底が正しいかどうかを知る術がありません。 したがって、イヴが鍵ビットのうちに「確実に」正しいと判断できるビットはありません。

次にイヴが盗聴して作った鍵がどれくらい正しいビットを含んでいるかを計算しましょう。 まずはアリスとボブの鍵が等しく盗聴されていることに気づかない場合。 上記の表を見ると、アリスとボブが盗聴に気付く場合(「*」が付いているもの)を除けば、イヴの測定した状態に対してボブのビット値が一意に決まります。 つまり、イヴの測定結果が

  •  { |0\rangle,\,|-\rangle } ならば 0
  •  { |1\rangle,\,|+\rangle } ならば 1

とデコードすれば、イヴがボブのビット値を100%正しく得ることができます。

次は盗聴に気づいているときも含める場合。 先ほどのデコード方法を使うと上記の表の「*」が付いているものは全て間違ったビット値を与えるので、上記の表で括弧内に示された確率の総和に対して、「*」が付いていない場合の確率の和の比率を計算すれば得られます。 これは簡単に計算できて、 { \frac{2}{3} \fallingdotseq 66.7\% } となります。

アリスとボブが盗聴に気付く確率 ビットを破棄する場合の除いて、アリスとボブが盗聴されていることに気付く確率は、上記の表で、括弧内に示された確率の総和に対して、「*」が付いている場合の確率の和の比率を計算すれば得られ、 { \frac{1}{3} \fallingdotseq 33.3\% } となります(これは盗聴に気づいているときも含めてイヴが「間違った」ビットを得る確率と同じです)。 したがって、アリスとボブが  { s } ビットを比べたとき、盗聴されていることに気付く確率  { P_s }

  { \displaystyle\begin{align*}
  P_s = 1 - \left(\frac{2}{3}\right)^s
\end{align*}}

となります。 ちなみに、アリスとボブが盗聴に気付く確率が90%を超えるのは

  •  { s = 5 } のとき  { P_5 \fallingdotseq 0.868 }
  •  { s = 6 } のとき  { P_6 \fallingdotseq 0.912 }

より  { s = 6 } のときとなります。 BB84 では  { s = 9 } だったので、B92 の方が効率的ですね。

【追記】

  • 「イヴが正しいビット値を得る確率」の箇所で、盗聴に気づかれるときも含める場合を追記しました。
  • 盗聴されている場合に qubit の使用効率が上がる箇所を追記しました。