Secure Assisted Quantum Computation 1

現在量子コンピュータの開発がGoogleやIBMのような産業界でも盛んにおこなわれている。しかし誤り訂正能力をもつ量子超越性が保証された量子計算機の開発には至っていない。また現在のPCやスマートフォンのように一家に一台、あるいは一人一台の時代はさらに先である。このためユニバーサルな量子計算機を持たない人はIBMなどのクラウド上の量子計算機を利用して代わりに計算してもらうという利用法が現実的に考えられる。しかしセキュリティ上は入力データやどんな計算をしたか、そしてその答えをクラウド量子計算機の管理者に知られずにしたい。このような計算を量子ブラインド計算という。今回はこれに関してChildsの secure assisted quantum computationの論文をレビューする。

ブラインド計算の設定:アリスはユニバーサルな量子計算機をもっていない。そこでユニバーサルな量子計算機をもつボブに計算したい関数と入力データを送って、ボブに代わりに計算してもらい、その結果をアリスは教えてもらう。このとき入力データや計算したい関数、答えをボブに知られないようにするにはどのようにしたら良いだろうか。

状況設定の詳細を述べる。まずリソースについての仮定を課す。ここでいうリソースとはブラインド計算を行いたいアリスが可能な操作、量子計算機をもつボブが可能な操作、そしてアリスとボブの間で可能な通信方法の3つである。ボブについてはユニバーサルな量子計算が可能で、量子測定も任意の測定が行えるとする。加えてボブは双方向の量子計算が可能であるとする。一方アリスについては量子状態の保存と、SWAPゲート、Xゲート、Zゲートの操作が可能であるとする。このためアリスはCNOTのようなエンタングルをつくる2量子ビットゲートの操作を行うことはできない。また1量子ビットゲートについても$\{I,X,Z,XZ\}$という離散的なゲートセットの操作しか許されない。さらにアリスが用意できる状態は$\Ket{0}$のみでかつ量子測定もできないとする。加えてアリスは古典の乱数生成は可能で、この乱数の結果に応じてパウリゲート
$\{I,X,Z,XZ\}$を実行することはできるとする。

最初にアリスが量子測定を安全にできるようにする方法を考える。古典ビットの場合を振り返る。アリスが古典ビット$b$を持つものの、アリスが自身で読み取る手段がない場合は乱数で作った鍵$k$を使って$b\oplus k$と暗号化し、ボブに送る。送られたビット$b \oplus k$をボブは読み取ってアリスに教える。アリスはその結果に$k$を足すことで元々の$b$の値を知ることができる。$k$が完全にランダムなら $b\oplus k$ から$b$を知ることができないという情報論的安全性が保証されているという事実が知られており、アリスは安全にボブを通して古典ビットの値を読み取れる。ここで用いた暗号はバーナム暗号と呼ばれている。

古典ビットの読み取りが安全にできることが分かったので、次に量子ビットの読み取りを安全に行う方法を考える。量子測定の場合は測定によって状態変化が起こるので古典ビットの読み取りの場合よりも難しい。しかし$Z$ゲートと$X$ゲートの操作ができる場合で、計算基底において測定を行いたい場合には古典の場合と似た方法でボブを利用して安全に量子測定ができる。アリスは$j$と$k$の1古典ビットの乱数二つを生成する。そしてアリスは測定したい状態$\Ket{\psi}$に$Z^k X^j$を作用させる。そしてボブにこの量子ビットを送る。ボブが受け取った状態は
\begin{equation}
\frac{1}{4} \sum_{j,k=0}^{1} Z^k X^j \Ket{\psi}\Bra{\psi} X^j Z^k = \frac{1}{2}I \tag{1} \label{eq:1}
\end{equation}
となる。\eqref{eq:1}式は例えば以下のようにして確かめられる。
ブロッホ表示を $\Ket{\psi}\Bra{\psi} = \frac{1}{2} (I+n_x X + n_y Y + n_z Z)$とする。すると
\begin{eqnarray}
X\Ket{\psi}\Bra{\psi}X &=&\frac{1}{2}(I+n_x X – n_y Y -n_z Z) \\
Z\Ket{\psi}\Bra{\psi}Z &=& \frac{1}{2}(I-n_x X -n_y Y +n_z Z) \\
ZX \Ket{\psi}\Bra{\psi}XZ &=& \frac{1}{2} (I -n_x X +n_y Y – n_z Z)
\end{eqnarray}
となる。この3式と$\Ket{\psi}\Bra{\psi}$を足すと$2I$になる。最後に4で割ると\eqref{eq:1}式の右辺が出てきて確認できた。
\eqref{eq:1}式の右辺はアリスの状態$\Ket{\psi}$に依存していないので、ボブにはアリスがどの量子状態に対して測定をしたいのかがバレずに済む。
ここでアリスが施したい測定は計算基底の測定であった。ボブに計算基底で測定を行ってもらって、アリスはその結果を受け取る。$Z$ゲートは計算基底の測定演算子$\Ket{0}\Bra{0}$、$\Ket{1}\Bra{1}$と可換であるから、$j=0$のときはアリスが測りたかった状態$\Ket{\psi}$とボブに送った状態の測定結果は一致するので、ボブが送った結果をそのまま使える。一方$j=1$のときは測りたい状態$\Ket{\psi}$に$X$をかけた状態についてボブは測定をするが、$X$は計算基底ではビット反転の操作なのでボブの測定結果のビットを反転させれば元の状態$\Ket{\psi}$に対する測定結果になる。以上から安全に量子測定をする方法があることを述べた。次回はボブを利用してユニバーサルな量子ゲートを状態に作用させる方法を述べる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA