(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022186295
(43)【公開日】2022-12-15
(54)【発明の名称】古典計算機、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
H04L 9/08 20060101AFI20221208BHJP
G06F 11/36 20060101ALI20221208BHJP
G06F 7/38 20060101ALI20221208BHJP
【FI】
H04L9/00 601B
H04L9/00 601F
G06F11/36 192
G06F7/38 510
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021094443
(22)【出願日】2021-06-04
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】弁理士法人クロスボーダー特許事務所
(72)【発明者】
【氏名】水谷 明博
(72)【発明者】
【氏名】廣政 良
(72)【発明者】
【氏名】相川 勇輔
(72)【発明者】
【氏名】竹内 勇貴
(72)【発明者】
【氏名】谷 誠一郎
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042HH11
(57)【要約】
【課題】「CCZのマジック状態」に対してもセルフテストを行う。
【解決手段】結果確認部204が、量子状態が格納された状態空間を検証対象装置300が正しく準備しなかった確率である状態空間確率と、検証対象装置300がパウリZ測定及びパウリX測定を正しく行わなかった確率であるパウリ測定確率と、CCZのマジック状態を検証対象装置300が生成しなかった確率であるマジック状態確率を算出する。そして、結果確認部204は、状態空間確率とパウリ測定確率とマジック状態確率とを用いて、検証対象装置300での量子状態とCCZのマジック状態との近似度及び検証対象装置300での量子状態に対するパウリZ測定及びパウリX測定の測定精度を算出する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
量子計算機が生成した量子状態である第1の量子状態を前記量子計算機が測定した結果である第1の測定結果と、前記第1の量子状態の測定によって前記第1の量子状態が変化した後の量子状態である第2の量子状態を前記量子計算機が測定した結果である第2の測定結果とを用いて、前記第1の量子状態が格納された状態空間を前記量子計算機が正しく準備しなかった確率である状態空間確率を算出する状態空間確率算出部と、
前記第1の量子状態の測定によって前記第1の量子状態が変化した後の量子状態であって前記第2の量子状態とは異なる量子状態である第3の量子状態を前記量子計算機が測定した結果である第3の測定結果と、前記第3の量子状態の測定によって前記第3の量子状態が変化した後の量子状態である第4の量子状態を前記量子計算機が測定した結果である第4の測定結果と、前記第1の測定結果とを用いて、前記量子計算機が前記第4の量子状態に対してパウリZ測定及びパウリX測定を正しく行わなかった確率であるパウリ測定確率を算出するパウリ測定確率算出部と、
前記第1の測定結果と前記第3の測定結果と第4の測定結果とを用いて、CCZ(Controlled Controlled-Z)のマジック状態を前記量子計算機が生成しなかった確率であるマジック状態確率を算出するマジック状態確率算出部と、
前記状態空間確率と前記パウリ測定確率と前記マジック状態確率とを用いて、前記第4の量子状態と前記CCZのマジック状態との近似度及び前記第4の量子状態に対する前記パウリZ測定及び前記パウリX測定の測定精度を算出する近似度精度算出部とを有する古典計算機。
【請求項2】
前記古典計算機は、更に、
初期データから公開鍵とトラップドアとを生成するデータ生成部を有し、
前記量子計算機は、前記公開鍵に基づき前記第1の量子状態を生成し、
前記状態空間確率算出部は、
前記第1の測定結果と前記第2の測定結果と前記公開鍵とを用いて、前記状態空間確率を算出し、
前記パウリ測定確率算出部は、
前記第1の測定結果と前記第3の測定結果と前記第4の測定結果と前記公開鍵と前記トラップドアとを用いて、前記パウリ測定確率を算出し、
前記マジック状態確率算出部は、
前記第1の測定結果と前記第3の測定結果と前記第4の測定結果と前記公開鍵と前記トラップドアとを用いて、前記マジック状態確率を算出する請求項1に記載の古典計算機。
【請求項3】
前記パウリ測定確率算出部は、
前記第1の測定結果と前記公開鍵とを用いて、前記量子計算機が前記第4の量子状態に対してZ基底の状態を正しく準備し前記パウリZ測定を正しく行ったか否かを検査するためのZ基底検査ビットを生成し、前記Z基底検査ビットと前記第4の測定結果とが一致するか否かを判定するZ基底検査処理と、
前記第1の測定結果と前記第3の測定結果と前記公開鍵と前記トラップドアとを用いて、前記量子計算機が前記第4の量子状態でX基底の状態を正しく準備し前記パウリX測定を正しく行ったか否かを検査するためのX基底検査ビットを生成し、前記X基底検査ビットと前記第4の測定結果とが一致するか否かを判定するX基底検査処理とを行って、
前記パウリ測定確率を算出する請求項2に記載の古典計算機。
【請求項4】
前記マジック状態確率算出部は、
前記第4の測定結果とクロネッカのデルタとを用いて、一般化スタビライザー測定結果を算出し、前記第1の測定結果と前記第3の測定結果と前記公開鍵と前記トラップドアとを用いて、前記一般化スタビライザー測定結果の正当性を検査するための一般化スタビライザー測定結果検査ビットを生成し、前記一般化スタビライザー測定結果と前記一般化スタビライザー測定結果検査ビットとが一致するか否かを判定して、前記マジック状態確率を算出する請求項2に記載の古典計算機。
【請求項5】
前記古典計算機は、更に、
前記状態空間確率の算出、前記パウリ測定確率の算出、及び前記マジック状態確率の算出のいずれを行うかを決定するための乱数である確率算出乱数を発生させる乱数発生部を有し、
前記古典計算機は、
前記確率算出乱数の値に応じて、前記状態空間確率算出部による前記状態空間確率の算出、前記パウリ測定確率算出部による前記パウリ測定確率の算出、及び前記マジック状態確率算出部による前記マジック状態確率の算出のいずれかが行われる請求項1に記載の古典計算機。
【請求項6】
前記量子計算機は、
前記第1の量子状態の生成と前記第1の量子状態の測定と、前記第2の量子状態の測定又は前記第3の量子状態の測定及び前記第4の量子状態の測定とで構成される量子状態生成測定シーケンスを複数回実施し、
前記状態空間確率算出部は、
前記量子状態生成測定シーケンスごとの第1の測定結果と第2の測定結果とを用いて、前記状態空間確率を算出し、
前記パウリ測定確率算出部は、
前記量子状態生成測定シーケンスごとの第1の測定結果と第3の測定結果と第4の測定結果とを用いて、前記パウリ測定確率を算出し、
前記マジック状態確率算出部は、
前記量子状態生成測定シーケンスごとの第1の測定結果と第3の測定結果と第4の測定結果とを用いて、前記マジック状態確率を算出する請求項1に記載の古典計算機。
【請求項7】
前記古典計算機は、更に、
前記量子計算機による前記第4の量子状態の測定に用いられる乱数である測定乱数を発生させる乱数発生部を有し、
前記量子計算機は、
前記測定乱数を用いて前記第4の量子状態を測定し、
前記パウリ測定確率算出部は、
前記Z基底検査処理において、前記Z基底検査ビットと前記第4の測定結果とが一致するか否かを判定し、前記測定乱数が規定値であるか否かを判定し、
前記X基底検査処理において、前記X基底検査ビットと前記第4の測定結果とが一致するか否かを判定し、前記測定乱数が前記規定値以外の値であるか否かを判定する請求項3に記載の古典計算機。
【請求項8】
前記古典計算機は、更に、
前記量子計算機による前記第4の量子状態の測定に用いられる乱数である測定乱数を発生させる乱数発生部を有し、
前記量子計算機は、
前記測定乱数を用いて前記第4の量子状態を測定し、
前記マジック状態確率算出部は、
前記一般化スタビライザー測定結果と前記一般化スタビライザー測定結果検査ビットとが一致するか否かを判定し、前記測定乱数が規定値であるか否かを判定して、前記マジック状態確率を算出する請求項4に記載の古典計算機。
【請求項9】
量子計算機が生成した量子状態である第1の量子状態を前記量子計算機が測定した結果である第1の測定結果と、前記第1の量子状態の測定によって前記第1の量子状態が変化した後の量子状態である第2の量子状態を前記量子計算機が測定した結果である第2の測定結果とを用いて、前記第1の量子状態が格納された状態空間を前記量子計算機が正しく準備しなかった確率である状態空間確率を、古典計算機が算出し、
前記第1の量子状態の測定によって前記第1の量子状態が変化した後の量子状態であって前記第2の量子状態とは異なる量子状態である第3の量子状態を前記量子計算機が測定した結果である第3の測定結果と、前記第3の量子状態の測定によって前記第3の量子状態が変化した後の量子状態である第4の量子状態を前記量子計算機が測定した結果である第4の測定結果と、前記第1の測定結果とを用いて、前記量子計算機が前記第4の量子状態に対してパウリZ測定及びパウリX測定を正しく行わなかった確率であるパウリ測定確率を、前記古典計算機が算出し、
前記第1の測定結果と前記第3の測定結果と第4の測定結果とを用いて、CCZ(Controlled Controlled-Z)のマジック状態を前記量子計算機が生成しなかった確率であるマジック状態確率を、前記古典計算機が算出し、
前記状態空間確率と前記パウリ測定確率と前記マジック状態確率とを用いて、前記第4の量子状態と前記CCZのマジック状態との近似度及び前記第4の量子状態に対する前記パウリZ測定及び前記パウリX測定の測定精度を、前記古典計算機が算出する情報処理方法。
【請求項10】
量子計算機が生成した量子状態である第1の量子状態を前記量子計算機が測定した結果である第1の測定結果と、前記第1の量子状態の測定によって前記第1の量子状態が変化した後の量子状態である第2の量子状態を前記量子計算機が測定した結果である第2の測定結果とを用いて、前記第1の量子状態が格納された状態空間を前記量子計算機が正しく準備しなかった確率である状態空間確率を算出する状態空間確率算出処理と、
前記第1の量子状態の測定によって前記第1の量子状態が変化した後の量子状態であって前記第2の量子状態とは異なる量子状態である第3の量子状態を前記量子計算機が測定した結果である第3の測定結果と、前記第3の量子状態の測定によって前記第3の量子状態が変化した後の量子状態である第4の量子状態を前記量子計算機が測定した結果である第4の測定結果と、前記第1の測定結果とを用いて、前記量子計算機が前記第4の量子状態に対してパウリZ測定及びパウリX測定を正しく行わなかった確率であるパウリ測定確率を算出するパウリ測定確率算出処理と、
前記第1の測定結果と前記第3の測定結果と第4の測定結果とを用いて、CCZ(Controlled Controlled-Z)のマジック状態を前記量子計算機が生成しなかった確率であるマジック状態確率を算出するマジック状態確率算出処理と、
前記状態空間確率と前記パウリ測定確率と前記マジック状態確率とを用いて、前記第4の量子状態と前記CCZのマジック状態との近似度及び前記第4の量子状態に対する前記パウリZ測定及び前記パウリX測定の測定精度を算出する近似度精度算出処理とを古典計算機に実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、量子性を検証する技術に関する。
【背景技術】
【0002】
検証者が使用する古典計算機が、ブラックボックスとして与えられた内部の動作が未知の装置(以下、ブラックボックス装置という)と古典情報だけのやり取りを行い、ブラックボックス装置が検証者の要求通りに「量子状態の生成と測定」を行っているかを検証するテストをセルフテストという。このセルフテストを行うことにより、検証者が使用する古典計算機が、古典計算機よりも計算能力の高いブラックボックス装置の動作を特徴づけることができる。セルフテストにより、量子暗号など様々な量子情報処理の実現が可能になる。
【0003】
非特許文献1では、量子相関を持つ2量子ビットの量子状態である「ベル状態」のセルフテスト方法が提案されている。非特許文献1の方法では、古典計算機とブラックボックス装置との間で古典情報だけのやり取りを行うことで、ベル状態の生成と測定を検証することができる。ただし、非特許文献1の方法では、「2つの装置」がブラックボックス装置として与えられ、その2つのブラックボックス装置はセルフテストの実行中は、古典情報のやりとりが一切できないという仮定を置く必要がある。この仮定が成立しない場合は、非特許文献1の方法ではベル状態のセルフテストを行うことができない。古典情報のやり取りは、電話などで容易にできるため、この仮定を実際のブラックボックス装置に課すのは現実的ではないという課題がある。
【0004】
この課題を解決するために、非特許文献2では、量子的に動作するブラックボックス装置が、格子暗号と呼ばれる耐量子計算機暗号を破ることができないという計算量的仮定を置くことで、「単一の量子的に動作するブラックボックス装置」に対しても、ベル状態のセルフテストが可能になることが示されている。耐量子計算機暗号は、量子計算機でも効率的に破ることができないと考えられているため、非特許文献2は現実的な仮定の下で、単一のブラックボックス装置に対するベル状態のセルフテスト方法を提供している。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Ben W. Reichardt,Falk Unger,Umesh Vazirani. Classical command of quantum systems.Nature volume 496, pages456-460(2013).
【非特許文献2】Tony Metger and Thomas Vidick. Self-testing of a single quantum device under computational assumptions. arXiv:2001.09161V2 (2020).
【発明の概要】
【発明が解決しようとする課題】
【0006】
前述の「ベル状態」は、パウリZ測定とパウリX測定で安定する、いわゆるスタビライザー状態と呼ばれるクラスにある量子状態である。検証対象のブラックボックス装置がベル状態を生成しているか否かは、パウリZ測定とパウリX測定で構成されるスタビライザー測定の測定結果から検証することができる。具体的には、非特許文献2で提案されているセルフテスト方法は、次の2つのテストから構成される。
(A)検証対象のブラックボックス装置が、パウリZ測定とパウリX測定を正しく行っているか否かのテスト
(B)ベル状態のスタビライザー測定の測定結果が正しいか否かのテスト
【0007】
非特許文献2で提案されているセルフテスト方法は、スタビライザー状態の性質に基づくテストのため、他のスタビライザー状態に対しても非特許文献2の方法を用いることで、セルフテストを行うことができる。ここで、量子状態の全体集合は、互いに排他的な2つの状態集合である「スタビライザー状態」と「ノンスタビライザー状態」により構成される。非特許文献2の結果により、スタビライザー状態についてはセルフテスト可能であることが明らかになっている。しかし、もう一方の状態クラスであるノンスタビライザー状態が非特許文献2と同じ枠組みでセルフテスト可能かは明らかになっていない。
【0008】
本開示は、この課題を解決することを主な目的とする。より具体的には、本開示は、代表的なノンスタビライザー状態である「CCZ(Controlled Controlled-Z)のマジック状態」に対してもセルフテストを行うことを目的とする。スタビライザー状態は量子計算の実現には不十分な状態である一方で、CCZのマジック状態は量子計算の実現に不可欠な状態であることが知られている。そのため、本開示は、ブラックボックス装置が量子計算の実現に不可欠なリソース状態を持つかという量子性の検証を提供していることになる。
【課題を解決するための手段】
【0009】
本開示に係る古典計算機は、
量子計算機が生成した量子状態である第1の量子状態を前記量子計算機が測定した結果である第1の測定結果と、前記第1の量子状態の測定によって前記第1の量子状態が変化した後の量子状態である第2の量子状態を前記量子計算機が測定した結果である第2の測定結果とを用いて、前記第1の量子状態が格納された状態空間を前記量子計算機が正しく準備しなかった確率である状態空間確率を算出する状態空間確率算出部と、
前記第1の量子状態の測定によって前記第1の量子状態が変化した後の量子状態であって前記第2の量子状態とは異なる量子状態である第3の量子状態を前記量子計算機が測定した結果である第3の測定結果と、前記第3の量子状態の測定によって前記第3の量子状態が変化した後の量子状態である第4の量子状態を前記量子計算機が測定した結果である第4の測定結果と、前記第1の測定結果とを用いて、前記量子計算機が前記第4の量子状態に対してパウリZ測定及びパウリX測定を正しく行わなかった確率であるパウリ測定確率を算出するパウリ測定確率算出部と、
前記第1の測定結果と前記第3の測定結果と第4の測定結果とを用いて、CCZ(Controlled Controlled-Z)のマジック状態を前記量子計算機が生成しなかった確率であるマジック状態確率を算出するマジック状態確率算出部と、
前記状態空間確率と前記パウリ測定確率と前記マジック状態確率とを用いて、前記第4の量子状態と前記CCZのマジック状態との近似度及び前記第4の量子状態に対する前記パウリZ測定及び前記パウリX測定の測定精度を算出する近似度精度算出部とを有する。
【発明の効果】
【0010】
本開示により、「CCZのマジック状態」に対してもセルフテストを行うことができる。
【図面の簡単な説明】
【0011】
【
図1】実施の形態1に係る量子性検証システムの構成例を示す図。
【
図2】実施の形態1に係る量子性検証システムの動作例を示すフローチャート。
【
図3】実施の形態1に係る量子性検証システムの動作例を示すフローチャート。
【
図4】実施の形態1に係る検証装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【0012】
実施の形態1.
***概要***
本実施の形態では、古典計算機が、ブラックボックス装置である量子計算機がCCZのマジック状態で「量子状態の生成と測定」を正しく行っているか否かを検証するセルフテストを非特許文献2と同様の枠組みで行うことを説明する。
本実施の形態は、以下の参考文献で提供されている「ノンスタビライザー状態の生成を、パウリZ測定とパウリX測定の測定結果(一般化スタビライザー測定の結果)を用いて検証する方法」を一般化することで達成される。
[参考文献] Yuki Takeuchi and Tomoyuki Morimae. Verification of Many-Qubit States. Physical Review X 8,021060 (2018)
【0013】
参考文献に記載の検証方法は、ノンスタビライザー状態の生成だけが検証可能であり、パウリZ測定とパウリX測定は正しく行われることが仮定されている。つまり、参考文献に記載の検証方法では、パウリZ測定とパウリX測定が正しく行われているか否かの検証は行われず、量子状態が正しく生成されているか否かの検証のみが行われる。セルフテストは「量子状態の生成」と「量子状態の測定」の両方が正しく行われているか否かを検証する必要がある。このため、参考文献に記載の検証方法では、セルフテストは達成されない。
本実施の形態では、代表的なノンスタビライザー状態である「CCZのマジック状態」に対して、非特許文献2で提供されている上述のテスト(A)(以下に再掲)を用いる。
(A)検証対象のブラックボックス装置が、パウリZ測定とパウリX測定を正しく行っているか否かのテスト
【0014】
古典計算機が、非特許文献2で提供されている上述のテスト(A)を行うことで、参考文献に記載の検証方法をCCZのマジック状態のブラックボックス装置に一般化することができる。これにより、本実施の形態では、CCZのマジック状態での量子状態の生成と量子状態の測定の両方を検証するセルフテストを実現することができる。
【0015】
ここで、「CCZのマジック状態」とは、「0」と「1」の等しい重ね合わせにある3つの量子ビットに対して、「制御―制御―位相ゲート(CCZゲート)」を作用させた量子状態である。
ビット「0」と「1」の量子状態をそれぞれ「|0>」と「|1>」と表し、「|0>」と「|1>」の等しい重ね合わせにある量子状態を「|+>」と表すと、「CCZのマジック状態」は、「|+>|+>|+>-2|1>|1>|1>」と表せる量子状態である。
また、「パウリZ測定」とは、「|0>」と「|1>」で行列を表現したときの対角要素の値が「+1」と「―1」であり、残りの行列要素が「0」の2行2列の行列に対し、行列のどの固有空間に状態が射影されたかに応じて、測定結果「+1」又は「―1」を得る測定である。
パウリX測定とは、「|0>」と「|1>」で行列を表現したときの2つの非対角要素が「+1」であり、残りの行列要素が「0」の2行2列の行列のどの固有空間に状態が射影されたかに応じて、測定結果「+1」又は「―1」を得る測定である。
【0016】
***構成の説明***
図1は、本実施の形態に係る量子性検証システム100の構成例を示す。
量子性検証システム100は、
図1に示すように、検証装置200と、検証対象装置300とを有する。
検証装置200は、いわゆる古典情報を処理する古典計算機である。検証装置200は、例えば、PC(Personal Computer)である。検証装置200の動作手順は、情報処理方法に相当する。また、検証装置200の動作を実現するプログラムは、情報処理プログラムに相当する。
検証対象装置300は、量子計算を実行する量子計算機である。検証対象装置300は、ブラックボックス装置に相当する。
古典通信路101は、検証装置200と検証対象装置300とを接続する通信路である。古典通信路101は、電話網、インターネットなどのデジタル信号を伝達するいかなる通信路であってもよい。
以下では、検証装置200の構成、検証対象装置300の構成について順番に説明する。
【0017】
図1に示した検証装置200は、データ生成部201、鍵情報生成部202、乱数発生部203及び結果確認部204を備える。
図示していないが、検証装置200は、検証装置200で使用される古典情報を処理する検証側情報処理部を備える。
【0018】
データ生成部201は、3ビット列の集合{000,001,010,100,111}の中からランダムに1つの3ビット列を選択する。また、データ生成部201は、{000,001,010,100,111}の中から選択した3ビット列(θ1,θ2,θ3)を鍵情報生成部202に送信する。
また、データ生成部201は、セキュリティパラメータλを生成し、セキュリティパラメータλを鍵情報生成部202に送信する。
なお、3ビット列(θ1,θ2,θ3)とセキュリティパラメータλを初期データともいう。
【0019】
鍵情報生成部202は、データ生成部201から受け取った初期データ(3ビット列(θ1,θ2,θ3)とセキュリティパラメータλ)を用いて、公開鍵(k1,k2,k3)とトラップドア(tk1,tk2,tk3)を生成する。
ここで、公開鍵(k1,k2,k3)は、検証対象装置300が、CCZのマジック状態と、CCZのマジック状態に対するパウリZ測定とパウリX測定を行っていることを証明するために用いるデータである。
また、トラップドア(tk1,tk2,tk3)は、検証装置200が、検証対象装置300によりCCZのマジック状態の生成と、CCZのマジック状態に対するパウリZ測定とパウリX測定を行っていることを検証するために用いるデータである。
鍵情報生成部202は、公開鍵(k1,k2,k3)とトラップドア(tk1,tk2,tk3)を、非特許文献2に記載の手法で計算する。
鍵情報生成部202は、公開鍵(k1,k2,k3)を検証対象装置300に送信する。
【0020】
乱数発生部203は、無作為に選ばれた「0」又は「1」のビットを発生する。そして、乱数発生部203は、発生させた「0」又は「1」のビットを結果確認部204に送信する。結果確認部204は、この「0」又は「1」のビットを検証対象装置300へ送信する。この「0」又は「1」のビットを確率算出乱数という。確率算出乱数の詳細は後述する。
また、乱数発生部203は、3ビットの乱数(q1,q2,q3)を発生し、発生させた3ビットの乱数(q1,q2,q3)を古典通信路101を通じて検証対象装置300へ送信する。乱数(q1,q2,q3)は、後述する第4の量子状態の測定に用いられる乱数である。以下では、この3ビットの乱数を測定乱数(q1,q2,q3)という。測定乱数(q1,q2,q3)の詳細は後述する。
【0021】
結果確認部204は、状態空間確率、パウリ測定確率及びマジック状態確率を算出する。状態空間確率、パウリ測定確率及びマジック状態確率の詳細は後述する。また、結果確認部204は、状態空間確率とパウリ測定確率とマジック状態確率とを用いて、第4の量子状態とCCZのマジック状態との近似度及び第4の量子状態に対するパウリZ測定及びパウリX測定の測定精度を算出する。
結果確認部204は、状態空間確率算出部、パウリ測定確率算出部、マジック状態確率算出部及び近似度精度算出部に相当する。
また、結果確認部204により行われる処理は、状態空間確率算出処理、パウリ測定確率算出処理、マジック状態確率算出処理及び近似度精度算出処理に相当する。
【0022】
検証対象装置300は、量子状態生成部301と量子状態測定部302を備える。図示していないが、検証対象装置300は、検証対象装置300で使用されるデータを処理する検証対象装置側情報処理部を備える。
【0023】
量子状態生成部301は、量子状態を生成する。
量子状態測定部302は、量子状態生成部301が生成した量子状態を測定することで測定結果を出力する。
検証対象装置300は、量子計算機であれば、いかなる計算機でもよい。例えば、検証対象装置300は、超伝導量子ビットを用いた量子計算機であってもよい。この場合は、量子状態生成部301は、超伝導量子ビットとマイクロ波とを用いて量子状態を生成する。また、量子状態測定部302は、超伝導量子ビットの量子状態をマイクロ波を用いて測定し、測定結果を電気信号として得る。
【0024】
図4は、本実施の形態に係る検証装置200のハードウェア構成例を示す。
検証装置200は、ハードウェアとして、プロセッサ901、主記憶装置902、補助記憶装置903及び通信装置904を備える。
補助記憶装置903には、データ生成部201、鍵情報生成部202、乱数発生部203及び結果確認部204の機能を実現するプログラムが記憶されている。
これらプログラムは、補助記憶装置903から主記憶装置902にロードされる。そして、プロセッサ901がこれらプログラムを実行して、データ生成部201、鍵情報生成部202、乱数発生部203及び結果確認部204の動作を行う。
図4では、プロセッサ901がデータ生成部201、鍵情報生成部202、乱数発生部203及び結果確認部204の機能を実現するプログラムを実行している状態を模式的に表している。
通信装置904は、古典通信路101を介して、検証対象装置300との間で古典通信を行う。
【0025】
***動作の説明***
ここで、本実施の形態に係る結果確認部204の動作の概要を説明する。また、結果確認部204の動作を説明するために必要な検証対象装置300の動作の概要も説明する。
【0026】
検証対象装置300は、乱数発生部203から送信された公開鍵(k1,k2,k3)に基づき、後述するステップS403(
図2)で量子状態を生成する。ステップS403で生成される量子状態は第1の量子状態という。
検証対象装置300は、第1の量子状態を測定(S403)する。検証対象装置300が第1の量子状態を測定して得られる測定結果を第1の測定結果(y1,y2,y3)という。検証対象装置300は、第1の測定結果(y1,y2,y3)を検証装置200に送信する。
なお、以下で示す「S403」、「S408」等のステップは
図2又は
図3に示すステップを表す。
図2及び
図3の詳細は後述する。
【0027】
また、第1の量子状態の測定(S403)によって量子状態が第1の量子状態から変化する。
乱数発生部203が発生させる確率算出乱数の値が「0」である場合に第1の量子状態から変化した後の量子状態を第2の量子状態という。
検証対象装置300は、第2の量子状態を測定(S408)する。検証対象装置300が第2の量子状態を測定(S408)して得られる測定結果を第2の測定結果(m1,m2,m3)という。検証対象装置300は、第2の測定結果(m1,m2,m3)を検証装置200に送信する(S409)。
【0028】
一方、確率算出乱数の値が「1」である場合に第1の量子状態から変化した後の量子状態を第3の量子状態という。検証対象装置300は第3の量子状態を測定(S412)する。検証対象装置300が第3の量子状態を測定(S412)して得られる測定結果を第3の測定結果(d1,d2,d3)という。検証対象装置300は、第3の測定結果(d1,d2,d3)を検証装置200に送信する(S413)。
【0029】
更に、第3の量子状態の測定(S412)によって第3の量子状態が変化した後の量子状態を第4の量子状態という。検証対象装置300は、乱数発生部203が発生させた測定乱数(q1,q2,q3)を用いて第4の量子状態を測定(S416)する。検証対象装置300が第4の量子状態を測定(S416)して得られた測定結果を第4の測定結果(v1,v2,v3)という。検証対象装置300は、第4の測定結果(v1,v2,v3)を検証装置200に送信する(S417)。
【0030】
検証対象装置300は、第1の量子状態の生成と第1の量子状態の測定と、第2の量子状態の測定又は第3の量子状態の測定及び第4の量子状態の測定とで構成される量子状態生成測定シーケンスを複数回実施する。
そして、検証対象装置300は、量子状態生成測定シーケンスごとに、第1の測定結果(y1,y2,y3)の検証装置200への送信を行い(S405)、第2の測定結果(m1,m2,m3)の検証装置200への送信(S409)又は第3の測定結果(d1,d2,d3)及び第4の測定結果(v1,v2,v3)の検証装置200への送信(S413、S417)を行う。
【0031】
前述したように、結果確認部204は、状態空間確率、パウリ測定確率及びマジック状態確率を算出する。
また、結果確認部204は、状態空間確率とパウリ測定確率とマジック状態確率とを用いて、第4の量子状態とCCZのマジック状態との近似度及び第4の量子状態に対するパウリZ測定及びパウリX測定の測定精度を算出する。
【0032】
状態空間確率は、第1の量子状態が格納された状態空間を検証対象装置300が正しく準備しなかった確率である。以下では、状態空間確率を、状態空間確率E1又は確率E1と表記する。
結果確認部204は、公開鍵(k1,k2,k3)と、量子状態生成測定シーケンスごとの第1の測定結果(y1,y2,y3)と第2の測定結果(m1,m2,m3)とを用いて、状態空間確率E1を算出する。
【0033】
また、パウリ測定確率は、検証対象装置300が第4の量子状態でパウリZ測定及びパウリX測定を正しく行わなかった確率である。以下では、パウリ測定確率を、パウリ測定確率E2又は確率E2と表記する。
結果確認部204は、公開鍵(k1,k2,k3)と、トラップドア(tk1,tk2,tk3)と、量子状態生成測定シーケンスごとの第1の測定結果(y1,y2,y3)と第3の測定結果(d1,d2,d3)と第4の測定結果(v1,v2,v3)とを用いて、パウリ測定確率E2を算出する。
【0034】
マジック状態確率は、検証対象装置300がCCZのマジック状態を生成しなかった確率である。以下では、マジック状態確率は、マジック状態確率E3又は確率E3と表記する。
結果確認部204は、公開鍵(k1,k2,k3)と、トラップドア(tk1,tk2,tk3)と、量子状態生成測定シーケンスごとの第1の測定結果(y1,y2,y3)と第3の測定結果(d1,d2,d3)と第4の測定結果(v1,v2,v3)とを用いて、マジック状態確率E3を算出する。
【0035】
次に、本実施の形態に係る量子性検証システム100の動作をフローチャートを参照して説明する。
図2及び
図3は、
図1の量子性検証システム100を用いた量子性検証の手順を示すフローチャートである。
図2のステップS401~S402、ステップS406~S407及びS410と、
図3のステップS411、S414~S415及びS418~S420は検証装置200によって実行される処理である。
図2のステップS403~S405、ステップS408~S409と、
図3のステップS412~S413及びS416~S417は検証対象装置300によって実行される処理である。
ステップS401~S418で構成される手順が量子状態生成測定シーケンスに相当する。本実施の形態では、量子状態生成測定シーケンスがN回繰り返される。なお、「N」の値の決定方法は後述する。
【0036】
ステップS401において、データ生成部201が3ビット列の集合{000,001,010,100,111}の中からランダムに1つの3ビット列を選択する。そして、データ生成部201は、選択した3ビット列(θ1,θ2,θ3)を鍵情報生成部202に送信する。
また、データ生成部201は、セキュリティパラメータλを生成し、生成したセキュリティパラメータλを鍵情報生成部202に送信する。
【0037】
ステップS402において、鍵情報生成部202は、データ生成部201が生成した初期データ(3ビット列(θ1,θ2,θ3)とセキュリティパラメータλ)に基づき、公開鍵(k1,k2,k3)とトラップドア(tk1,tk2,tk3)を生成する。そして、鍵情報生成部202は、公開鍵(k1,k2,k3)を、通信装置904及び古典通信路101を通じて検証対象装置300に送る。
ここで、トラップドア(tk1,tk2,tk3)は秘密情報であるため、検証装置200の外部に漏れないように厳重に保管する必要がある。
【0038】
ステップS403において、検証装置200から送信された公開鍵(k1,k2,k3)に基づき、量子状態生成部301が量子状態(第1の量子状態)を生成する。そして、量子状態測定部302が、生成された量子状態(第1の量子状態)の測定を行う。
【0039】
ステップS404において、検証対象装置300は、第1の測定結果(y1,y2,y3)を記憶する。
【0040】
ステップS405において、量子状態測定部302が、第1の測定結果(y1,y2,y3)を検証装置200に古典通信路101を通じて送信する。
検証装置200では、通信装置904を介して、結果確認部204が第1の測定結果(y1,y2,y3)を受信する。そして、結果確認部204は、第1の測定結果(y1,y2,y3)を補助記憶装置903に格納する。補助記憶装置903は、第1の測定結果(y1,y2,y3)を記憶する。
【0041】
ステップS406において、乱数発生部203が1ビットの乱数(確率算出乱数)を発生させる。
ステップS406で発生した乱数(確率算出乱数)が「0」であれば、ステップS407~ステップS410が行われる。一方、ステップS406で発生した乱数(確率算出乱数)が「1」であれば、ステップS411~ステップS418が行われる。
【0042】
[ステップS406で発生した乱数が0の場合]
ステップS407において、検証装置200の乱数発生部203が、通信装置904及び古典通信路101を通じて、確率算出乱数の値「0」を検証対象装置300に送信する。また、乱数発生部203は、確率算出乱数の値「0」を結果確認部204に通知する。
【0043】
ステップS408において、量子状態測定部302は、確率算出乱数の値「0」に基づき第2の量子状態を測定し、第2の測定結果(m1,m2,m3)を記憶する。
【0044】
ステップS409において、量子状態測定部302が、第2の測定結果(m1,m2,m3)を検証装置200に古典通信路101を通じて送信する。
【0045】
ステップS410において、結果確認部204は、通信装置904を介して第2の測定結果(m1,m2,m3)を受信する。そして、結果確認部204は、第2の測定結果(m1,m2,m3)を補助記憶装置903に格納する。補助記憶装置903は、第2の測定結果(m1,m2,m3)を記憶する。
更に、結果確認部204は、ステップS402で生成された公開鍵(k1,k2,k3)を用いて、ステップS405で検証対象装置300から送信された第1の測定結果(y1,y2,y3)とステップS409で検証対象装置300から送信された第2の測定結果(m1,m2,m3)の正誤を判定する。そして、結果確認部204は、判定結果「正」又は「誤」を補助記憶装置903に格納する。補助記憶装置903は、判定結果「正」又は「誤」を記憶する。結果確認部204による判定方法の詳細は後述する。
【0046】
[ステップS406で発生した乱数が1の場合]
ステップS411において、検証装置200の乱数発生部203が、通信装置904及び古典通信路101を通じて、確率算出乱数の値「1」を検証対象装置300に送信する。また、乱数発生部203は、確率算出乱数の値「1」を結果確認部204に通知する。
【0047】
ステップS412において、量子状態測定部302は確率算出乱数の値「1」に基づき第3の量子状態を測定し、第3の測定結果(d1,d2,d3)を記憶する。
【0048】
ステップS413において、量子状態測定部302は第3の測定結果(d1,d2,d3)を検証装置200に古典通信路101を通じて送信する。
【0049】
ステップS414において、結果確認部204が、通信装置904を介して第3の測定結果(d1,d2,d3)を受信する。そして、結果確認部204は、第3の測定結果(d1,d2,d3)を補助記憶装置903に格納する。補助記憶装置903は、第3の測定結果(d1,d2,d3)を記憶する。
更に、乱数発生部203が、3ビットの測定乱数(q1,q2,q3)を発生させる。
【0050】
ステップS415において、乱数発生部203は、3ビットの測定乱数(q1,q2,q3)を検証対象装置300に古典通信路101を通じて送信する。
また、乱数発生部203は、測定乱数(q1,q2,q3)を結果確認部204に通知する。
【0051】
ステップS416において、量子状態測定部302は、検証装置200から送信された3ビットの測定乱数(q1,q2,q3)に基づいて第4の量子状態を測定し、第4の測定結果(v1,v2,v3)を記憶する。
【0052】
ステップS417において、量子状態測定部302は、第4の測定結果(v1,v2,v3)を検証装置200に古典通信路101を通じて送信する。
【0053】
ステップS418において、結果確認部204が、通信装置904を介して第4の測定結果(v1,v2,v3)を受信する。そして、結果確認部204は、第4の測定結果(v1,v2,v3)を補助記憶装置903に格納する。補助記憶装置903は、第4の測定結果(v1,v2,v3)を記憶する。
更に、結果確認部204は、ステップS405で検証対象装置300から送信された第1の測定結果(y1,y2,y3)と、ステップS413で検証対象装置300から送信された第3の測定結果(d1,d2,d3)と、ステップS416で検証対象装置300から送信された第4の測定結果(v1,v2,v3)の正誤を判定し、判定結果「正」又は「誤」を補助記憶装置903に格納する。補助記憶装置903は、判定結果「正」又は「語」を記憶する。
より具体的には、結果確認部204は、ステップS401で生成された3ビット列(θ1,θ2,θ3)、ステップS402で生成された公開鍵(k1,k2,k3)とトラップドア(tk1,tk2,tk3)と、ステップS414で生成された測定乱数(q1,q2,q3)とを用いて、第1の測定結果(y1,y2,y3)と、第3の測定結果(d1,d2,d3)と、第4の測定結果(v1,v2,v3)の正誤を判定する。
【0054】
以上の量子状態生成測定シーケンスがN回実施された後に、ステップS419において、結果確認部204が、ステップS410とステップS418で得られた判定結果「誤」を用いて、確率E1、確率E2及び確率E3を算出する。
【0055】
最後に、ステップS420において、結果確認部204は、ステップS419で算出された確率E1、確率E2及び確率E3に基づき、セルフテストの結果を取得する。
【0056】
次に、ステップS410、ステップS418、ステップS419及びステップS420における結果確認部204の動作の詳細を説明する。
【0057】
[乱数発生部203から通知された確率算出乱数が「0」の場合]
つまり、ステップS407において乱数発生部203から確率算出乱数「0」が通知された場合は、結果確認部204は、ステップS410において以下の手順にて、第2の測定結果(m1,m2,m3)の正誤を判定する。
なお、ステップS410は、検証対象装置300が第1の量子状態が格納された状態空間を正しく準備したか否かを検証することを目的とする処理である。
結果確認部204は、鍵情報生成部202から受け取った公開鍵(k1,k2,k3)と、検証対象装置300から受け取った第1の測定結果(y1,y2,y3)と、第2の測定結果(m1,m2,m3)とを用いて、第2の測定結果(m1,m2,m3)の正誤を判定する。なお、結果確認部204は、非特許文献2に記載の方法で、第2の測定結果(m1,m2,m3)の正誤を判定する。
もし、検証対象装置300が、第1の量子状態が格納された状態空間を正しく準備すれば、第2の測定結果(m1,m2,m3)が「誤」と判定される確率はゼロである。しかし、検証対象装置300が、第1の量子状態が格納された状態空間を正しく準備してない場合は、第2の測定結果(m1,m2,m3)が「誤」と判定される確率はゼロより大きい。
【0058】
[乱数発生部203から通知された確率算出乱数が「1」の場合]
ステップS411において乱数発生部203から確率算出乱数「1」が通知された場合は、結果確認部204は、ステップS418において以下の手順にて、第1の測定結果(y1,y2,y3)、第3の測定結果(d1,d2,d3)及び第4の測定結果(v1,v2,v3)の正誤を判定する。
ステップS418の処理は、検証対象装置300が、第4の量子状態で正しくパウリZ測定とパウリX測定を行ったか否か、及びCCZのマジック状態の生成を正しく行ったか否かを検証することを目的とした処理である。
結果確認部204は、具体的には、以下の規則(a)~規則(e)に従って、正誤を判定する。
なお、規則(a)~(d)は、検証対象装置300が第4の量子状態に対して正しくパウリZ測定とパウリX測定を行ったか否かを結果確認部204が検証するための規則である。規則(e)は、検証対象装置300が第4の量子状態に対して正しくCCZのマジック状態を生成したか否かを結果確認部204が検証するための規則である。
【0059】
規則(a):(θ1,θ2,θ3)=(0,0,0)の場合に適用
乱数発生部203が、「1,2,3」のうちのいずれかの値をランダムに生成し、生成した値を結果確認部204に送信する。乱数発生部203から結果確認部204に送信された値を「i」とする。ただし、「i」は「1,2,3」のうちのいずれかの値である。
結果確認部204は、鍵情報生成部202から受け取った公開鍵(k1,k2,k3)から「i」に対応する公開鍵kiを取得する。また、検証対象装置300から受け取った第1の測定結果(y1,y2,y3)から「i」に対応する測定結果yiを取得する。そして、結果確認部204は、取得した測定結果yiからビットbiを導く。そして、結果確認部204は、以下の(条件1)と(条件2)が同時に成立しているか否かを判定する。
(条件1)と(条件2)が同時に成立すれば、結果確認部204は、判定結果「誤」を補助記憶装置903に格納する。(条件1)と(条件2)の片方でも成立しなければ、結果確認部204は、判定結果「正」を補助記憶装置903に格納する。
(条件1)「biが検証対象装置300から受け取った測定結果viと異なる」
(条件2)「qiが0と等しい」
なお、ビットbiは、検証対象装置300が、第4の量子状態におけるi番目の量子状態で正しくZ基底の状態を準備し、パウリZ測定を正しく行ったか否かを検査するための検査ビットである。そのため、ビットbiを、「i番目Z基底―状態生成測定―検査ビット」と呼ぶ。結果確認部204は、「i番目Z基底―状態生成測定―検査ビットbi」を非特許文献2に記載の手法で計算する。「i番目Z基底―状態生成測定―検査ビットbi」は、Z基底検査ビットに相当する。また、規則(a)に基づく処理をZ基底検査処理とう。
また、測定結果viは、第4の測定結果(v1,v2,v3)のうちの「i」に対応する測定結果である。また、ビットqiは、測定乱数(q1,q2,q3)のうちの「i」に対応するビットである。
【0060】
規則(b):(θ1,θ2,θ3)=(1,0,0)の場合に適用
結果確認部204は、鍵情報生成部202から受け取った公開鍵(k1,k2,k3)、トラップドア(tk1,tk2,tk3)、検証対象装置300から受け取った第1の測定結果(y1,y2,y3)と、第3の測定結果(d1,d2,d3)の1番目の測定結果d1とから、ビットr1を導く。そして、結果確認部204は、以下の(条件1)と(条件2)が同時に成立しているか否かを判定する。
(条件1)と(条件2)が同時に成立すれば、結果確認部204は、判定結果「誤」を補助記憶装置903に格納する。(条件1)と(条件2)の片方でも成立しなければ、結果確認部204は、判定結果「正」を補助記憶装置903に格納する。
(条件1)「r1が検証対象装置300から受け取った測定結果v1と異なる」
(条件2)「q1が1と等しい」
なお、ビットr1は、検証対象装置300が、第4の量子状態における1番目の量子状態で正しくX基底の状態を準備し、パウリX測定を正しく行ったか否かを検査するための検査ビットである。そのため、ビットr1を、「1番目X基底―状態生成測定―検査ビット」と呼ぶ。結果確認部204は、「1番目X基底―状態生成測定―検査ビットr1」を非特許文献2に記載の手法で計算する。「1番目X基底―状態生成測定―検査ビットr1」は、X基底検査ビットに対応する。また、規則(b)に基づく処理をX基底検査処理とう。
また、測定結果v1は、第4の測定結果(v1,v2,v3)のうちの1つ目の測定結果v1である。また、ビットq1は、測定乱数(q1,q2,q3)のうちの1つ目のビットq1である。
【0061】
規則(c):(θ1,θ2,θ3)=(0,1,0)の場合に適用
結果確認部204は、鍵情報生成部202から受け取った公開鍵(k1,k2,k3)、トラップドア(tk1,tk2,tk3)、検証対象装置300から受け取った第1の測定結果(y1,y2,y3)と、第3の測定結果(d1,d2,d3)の2番目の測定結果d2とから、ビットr2を導く。そして、結果確認部204は、以下の(条件1)と(条件2)が同時に成立しているか否かを判定する。
(条件1)と(条件2)が同時に成立すれば、結果確認部204は、判定結果「誤」を補助記憶装置903に格納する。(条件1)と(条件2)の片方でも成立しなければ、結果確認部204は、判定結果「正」を補助記憶装置903に格納する。
(条件1)「r2が検証対象装置300から受け取った測定結果v2と異なる」
(条件2)「q2が1と等しい」
なお、ビットr2は、検証対象装置300が、第4の量子状態における2番目の量子状態で正しくX基底の状態を準備し、パウリX測定を正しく行ったか否かを検査するための検査ビットである。そのため、ビットr2を、「2番目X基底―状態生成測定―検査ビット」と呼ぶ。結果確認部204は、「2番目X基底―状態生成測定―検査ビットr2」を非特許文献2に記載の手法で計算する。「2番目X基底―状態生成測定―検査ビットr2」は、X基底検査ビットに対応する。また、規則(c)に基づく処理をX基底検査処理とう。
また、測定結果v2は、第4の測定結果(v1,v2,v3)のうちの2つ目の測定結果v2である。また、ビットq2は、測定乱数(q1,q2,q3)のうちの2つ目のビットq2である。
【0062】
規則(d):(θ1,θ2,θ3)=(0,0,1)の場合に適用
結果確認部204は、鍵情報生成部202から受け取った公開鍵(k1,k2,k3)、トラップドア(tk1,tk2,tk3)、検証対象装置300から受け取った第1の測定結果(y1,y2,y3)と、第3の測定結果(d1,d2,d3)の3番目の測定結果d3とから、ビットr3を導く。そして、結果確認部204は、以下の(条件1)と(条件2)が同時に成立しているか否かを判定する。
(条件1)と(条件2)が同時に成立すれば、結果確認部204は、判定結果「誤」を補助記憶装置903に格納する。(条件1)と(条件2)の片方でも成立しなければ、結果確認部204は、判定結果「正」を補助記憶装置903に格納する。
(条件1)「r3が検証対象装置300から受け取った測定結果v3と異なる」
(条件2)「q3が1と等しい」
なお、ビットr3は、検証対象装置300が、第4の量子状態における3番目の量子状態で正しくX基底の状態を準備し、パウリX測定を正しく行ったか否かを検査するための検査ビットである。そのため、ビットr3を、「3番目X基底―状態生成測定―検査ビット」と呼ぶ。結果確認部204は、「3番目X基底―状態生成測定―検査ビットr3」を非特許文献2に記載の手法で計算する。「3番目X基底―状態生成測定―検査ビットr3」は、X基底検査ビットに対応する。また、規則(d)に基づく処理をX基底検査処理とう。
また、測定結果v3は、第4の測定結果(v1,v2,v3)のうちの3つ目の測定結果v3である。また、ビットq3は、測定乱数(q1,q2,q3)のうちの3つ目のビットq3である。
【0063】
規則(e):(θ1,θ2,θ3)=(1,1,1)の場合に適用
結果確認部204は、検証対象装置300から受け取った測定結果(v1,v2,v3)を用いて、以下の一般化スタビライザー測定1の結果、一般化スタビライザー測定2の結果及び一般化スタビライザー測定3の結果を算出する。
一般化スタビライザー測定1の結果:v1+δ(v2,1)・v3
一般化スタビライザー測定2の結果:v2+δ(v1,1)・v3
一般化スタビライザー測定3の結果:v3+δ(v1,1)・v2
ここで、記号「+」はビット同士の排他的論理和を表す。具体的には0+0=0,0+1=1,1+0=1,1+1=0である。また、記号「・」はビット同士の積を表す。具体的には0・0=0,0・1=0,1・0=0,1・1=1である。また、「δ(x,1)」はいわゆるクロネッカのデルタの関数であり、「x」が「1」の場合は「1」を、「x」が「1」でなければ「0」を出力する関数である。
また、結果確認部204は、鍵情報生成部202から受け取った公開鍵(k1,k2,k3)と検証対象装置300から受け取った第1の測定結果(y1,y2,y3)と第3の測定結果(d1,d2,d3)から、ビットu1、ビットu2及びビットu3を導く。
ここで、ビットu1は、上記の一般化スタビライザー測定1の結果の正当性を検査するための正当性検査ビットである。ビットu2は、上記の一般化スタビライザー測定2の結果の正当性を検査するための正当性検査ビットである。ビットu3は、上記の一般化スタビライザー測定3の結果の正当性を検査するための正当性検査ビットである。結果確認部204は、正当性検査ビットu1、正性検査ビットu2及び正当性検査ビットu3を非特許文献2に記載の手法で計算する。
正当性検査ビットu1、正性検査ビットu2及び正当性検査ビットu3は、それぞれ、一般化スタビライザー測定結果検査ビットに相当する。
そして、結果確認部204は、以下の(1)~(3)のいずれかにおいて、(条件1)と(条件2)が同時に成立していれば判定結果「誤」を補助記憶装置903に格納する。それ以外の場合は、結果確認部204は判定結果「正」を補助記憶装置903に格納する。
(1)(条件1)「(q1,q2,q3)=(1,0,0)が成立する」
(条件2)「u1が一般化スタビライザー測定1の結果:v1+δ(v2,1)・v3と異なる」
(2)(条件1)「(q1,q2,q3)=(0,1,0)が成立する」
(条件2)「u2が一般化スタビライザー測定2の結果:v2+δ(v1,1)・v3と異なる」
(3)(条件1)「(q1,q2,q3)=(0,0,1)が成立する」
(条件2)「u3が一般化スタビライザー測定3の結果:v3+δ(v1,1)・v2と異なる」
【0064】
量子状態生成測定シーケンスがN回実施された後に、ステップS419では、結果確認部204が、ステップS410とステップS418で得られた判定結果「誤」を用いて、確率E1、確率E2及び確率E3を算出する。結果確認部204は、確率E1、確率E2及び確率E3を以下の手順で算出する。
【0065】
確率E1:ステップS410で判定結果「誤」が得られる確率。
確率E2:ステップS414で(θ1,θ2,θ3)が(1,1,1)以外のときに判定結果「誤」が得られる確率。
確率E3:ステップS414で(θ1,θ2,θ3)が(1,1,1)のときに判定結果「誤」が得られる確率。
【0066】
ステップS420では、結果確認部204は、以下に示すセルフテストの結果を取得する。
【0067】
[結果1]
ステップS401で生成する(θ1,θ2,θ3)が(1,1,1)の場合は、結果確認部204は、「検証対象装置300が、CCZのマジック状態から距離H1(E1,E2,E3)だけ離れた量子状態を生成した」という結果を取得する。
H1(E1,E2,E3)は、上述した確率E1、確率E2と確率E3によって定まる関数である。
量子状態の近さは、いわゆるトレース距離と呼ばれる尺度で測られる。距離H1(E1,E2,E3)は、第4の量子状態とCCZのマジック状態との近さを表す。結果確認部204は、関数H1(E1,E2,E3)を計算することで、第4の量子状態とCCZのマジック状態との近似度を算出している。
【0068】
[結果2]
ステップS401で生成する(θ1,θ2,θ3)が(1,1,1)の場合に、結果確認部204は、「[検証対象装置300が生成した量子状態を、ステップS414で生成した測定乱数(q1,q2,q3)に基づいて測定したときに得られる測定結果の確率分布]と[CCZマジック状態をステップS414で生成した測定乱数(q1,q2,q3)に基づいて測定をしたときに得られる測定結果の確率分布]とが距離H2(E1,E2,E3)だけ離れている」という結果を取得する。
ここで、H2(E1,E2,E3)は、上述した確率E1、確率E2と確率E3によって定まる関数である。
確率分布の近さは、いわゆるトレース距離と呼ばれる尺度で測られる。
CCZマジック状態に対する、ステップS410で生成した測定乱数(q1,q2,q3)に基づく測定では、ビットqi(ただし「i」は「1,2,3」のうちのいずれかの数)の値が「0」であれば、パウリZ測定を指し、ビットqiの値が「1」であれば、パウリX測定を指す。
結果確認部204は、関数H2(E1,E2,E3)を計算することで、第4の量子状態に対するパウリZ測定及びパウリX測定の測定精度を算出している。
【0069】
[結果1及び2の根拠]
ステップS410で判定結果「誤」を得た確率E1がゼロであれば、検証対象装置300が第1の量子状態が格納された状態空間を正しく準備していたことを意味する。
ステップS414で判定結果「誤」を得た確率E2がゼロであれば、検証対象装置300が第4の量子状態に対して正しくパウリZ測定とパウリX測定を実施していたことを意味する。
ステップS414で「誤」を得た確率E3がゼロであれば、検証対象装置300がCCZのマジック状態を正しく生成していたことを意味する。
そのため、確率E1、確率E2と確率E3が全てゼロであれば、距離H1と距離H2はゼロになる。
確率E1、確率E2及び確率E3の少なくともいずれかがゼロでなければ、検証対象装置300が第4の量子状態に対して正しいパウリZ測定及び/又はパウリX測定を行っていなかったこと、及び/又は、検証対象装置300がCCZのマジック状態の生成を正しく行っていなかったことを意味する。そのため、確率E1、確率E2及び確率E3が大きくなるほど、検証対象装置300が生成した量子状態は、CCZのマジック状態から距離が離れることや、理想的なパウリ測定から距離が離れること(パウリ測定の精度が低下すること)を意味する。
ステップS410とステップS414で判定結果「誤」を得た確率E1、確率E2及び確率E3と、距離H1(E1、E2、E3)及び距離H2(E1、E2、E3)との明示的な関係(具体的な関数形)は、量子力学の原理に基づく計算により求められる。
【0070】
[「N」の値について]
量子状態生成測定シーケンスの繰り返し回数である「N」の値は、ステップS419で算出される確率E1、確率E2及び確率とE3の算出精度Tと、[結果1]と[結果2]が得られる確率Pにより決定される。ここで、確率Pは、結果が正しい確率である。つまり、[結果1]の場合は、確率Pは、「検証対象装置300が、CCZのマジック状態から距離H1(E1,E2,E3)だけ離れた量子状態を生成した」という結果が正しい確率である。
以下に、算出精度Tと確率Pとを用いたNの値の算出式(式1)を示す。ただし、式1は、Nの値の算出方法の一例を示しており、Nの値は他の方法で求めてもよい。つまり、Nの値は、「算出精度T」と「確率P」から求められれば、どのような方法で求めてもよい。
N=(1/2T2)×ln(3/(1-P)) 式1
なお、式1において「ln」は自然対数を表す。
式1のNの値は、統計数学で既知の確率不等式(Hoeffding不等式)を使うことで導くことができる。
【0071】
***実施の形態の効果の説明***
本実施の形態により、「CCZのマジック状態」に対しても非特許文献2と同様の枠組みでセルフテストを行うことができる。
本実施の形態では、古典計算機が、どのように動作するかが未知のブラックボックス装置の検証を行うことができる。このため、本実施の形態により、量子計算の実現に不可欠な量子状態である「CCZのマジック状態」の生成と測定の精度を検証することできる。つまり、本実施の形態により、量子性を検証することができる。
【0072】
***ハードウェア構成の補足説明***
最後に、検証装置200のハードウェア構成の補足説明を行う。
図4に示すプロセッサ901は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ901は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
図4に示す主記憶装置902は、RAM(Random Access Memory)である。
図4に示す補助記憶装置903は、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
図4に示す通信装置904は、データの通信処理を実行する電子回路である。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
【0073】
また、補助記憶装置903には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がプロセッサ901により実行される。
プロセッサ901はOSの少なくとも一部を実行しながら、データ生成部201、鍵情報生成部202、乱数発生部203及び結果確認部204の機能を実現するプログラムを実行する。
プロセッサ901がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、データ生成部201、鍵情報生成部202、乱数発生部203及び結果確認部204の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、主記憶装置902、補助記憶装置903、プロセッサ901内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、データ生成部201、鍵情報生成部202、乱数発生部203及び結果確認部204の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、データ生成部201、鍵情報生成部202、乱数発生部203及び結果確認部204の機能を実現するプログラムが格納された可搬記録媒体を流通させてもよい。
【0074】
また、データ生成部201、鍵情報生成部202、乱数発生部203及び結果確認部204の「部」を、「回路」又は「工程」又は「手順」又は「処理」又は「サーキットリー」に読み替えてもよい。
また、検証装置200は、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)である。
この場合は、データ生成部201、鍵情報生成部202、乱数発生部203及び結果確認部204は、それぞれ処理回路の一部として実現される。
なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
【符号の説明】
【0075】
100 量子性検証システム、101 古典通信路、200 検証装置、201 データ生成部、202 鍵情報生成部、203 乱数発生部、204 結果確認部、300 検証対象装置、301 量子状態生成部、302 量子状態測定部。