(57)【要約】【課題】量子鍵配送のうちシフティング処理の処理速度を向上させることができる通信装置、量子鍵配送システム、量子鍵配送方法およびプログラムを提供する。【解決手段】実施形態の通信装置は、他の通信装置と、量子通信路および古典通信路で接続され、暗号鍵を共有する通信装置であって、光子検出手段と、測定手段と、差分生成手段と、送信手段と、を備える。光子検出手段は、他の通信装置から量子通信路を介して送信された光子を検出する。測定手段は、光子検出手段により光子が検出された時刻をタイムスタンプ情報として測定する。差分生成手段は、測定手段より前回測定されたタイムスタンプ情報が示す時刻に特定の情報を加えて求めた時刻と、測定手段により次に測定されたタイムスタンプ情報が示す時刻との差分を差分タイムスタンプ情報として生成する。送信手段は、差分タイムスタンプ情報を、古典通信路を介して他の通信装置に送信する。【選択図】図３
2017175320.tif 000002
【特許請求の範囲】
【請求項１】
他の通信装置と、量子通信路および古典通信路で接続され、暗号鍵を共有する通信装置であって、
前記他の通信装置から前記量子通信路を介して送信された光子を検出する光子検出手段と、
前記光子検出手段により前記光子が検出された時刻をタイムスタンプ情報として測定する測定手段と、
前記測定手段より前回測定された前記タイムスタンプ情報が示す時刻に特定の情報を加えて求めた時刻と、該測定手段により次に測定された前記タイムスタンプ情報が示す時刻との差分を差分タイムスタンプ情報として生成する差分生成手段と、
前記差分タイムスタンプ情報を、前記古典通信路を介して前記他の通信装置に送信する送信手段と、
を備えた通信装置。
【請求項２】
前記光子検出手段によって前記光子が検出された時刻から、光子を検出しない、または光子の検出信号を抑制する時間であるデッドタイムの設定情報を参照する参照手段を、さらに備え、
前記差分生成手段は、前記測定手段より前回測定された前記タイムスタンプ情報が示す時刻に前記特定の情報である前記デッドタイムを加えて求めた時刻と、該測定手段により次に測定された前記タイムスタンプ情報が示す時刻との差分を前記差分タイムスタンプ情報として生成する請求項１に記載の通信装置。
【請求項３】
前記光子検出手段に対し、前記光子が検出された時刻から前記デッドタイムの期間だけ、光子の検出を行わない、または検出信号を抑制する検出制御手段を、さらに備えた請求項２に記載の通信装置。
【請求項４】
前記光子検出手段は、アバランシェフォトダイオードによって前記光子を検出する請求項２または３に記載の通信装置。
【請求項５】
前記光子検出手段によって前記光子が検出されてから、次の光子が検出されるまでの予測時間を求める予測手段を、さらに備え、
前記差分生成手段は、前記測定手段より前回測定された前記タイムスタンプ情報が示す時刻に前記特定の情報である前記予測時間を加えて求めた時刻と、該測定手段により次に測定された前記タイムスタンプ情報が示す時刻との差分を前記差分タイムスタンプ情報として生成する請求項１に記載の通信装置。
【請求項６】
前記光子検出手段により検出された前記光子で構成された光子列に対応するビット情報から、前記他の通信装置の送信基底と、前記通信装置の受信基底とが一致する基底に対応するビットを抽出して共有ビット列を生成するマッチング処理手段を、さらに備えた請求項１に記載の通信装置。
【請求項７】
前記共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する訂正手段と、
前記訂正後ビット列を圧縮する秘匿性増強処理によって前記暗号鍵を生成する秘匿性増強手段と、
をさらに備えた請求項６に記載の通信装置。
【請求項８】
第１通信装置と第２通信装置とが、量子通信路および古典通信路で接続され、暗号鍵を共有する量子鍵配送システムであって、
前記第１通信装置は、
前記第２通信装置から前記量子通信路を介して送信された光子を検出する光子検出手段と、
前記光子検出手段により前記光子が検出された時刻を第１タイムスタンプ情報として測定する第１測定手段と、
前記第１測定手段より前回測定された前記第１タイムスタンプ情報が示す時刻に特定の情報を加えて求めた時刻と、該第１測定手段により次に測定された前記第１タイムスタンプ情報が示す時刻との差分を差分タイムスタンプ情報として生成する差分生成手段と、
前記差分タイムスタンプ情報を、前記古典通信路を介して前記他の通信装置に送信する送信手段と、
を備え、
前記第２通信装置は、
前記量子通信路を介して、前記光子を前記光子検出手段に送信する光子送信手段と、
前記光子送信手段に前記光子が送信された時刻を第２タイムスタンプ情報として測定する第２測定手段と、
前記送信手段から、前記古典通信路を介して前記差分タイムスタンプ情報を受信する受信手段と、
前記差分タイムスタンプ情報と、前回の前記第２タイムスタンプ情報と、前記特定の情報とに基づいて、前記光子検出手段により前記光子が検出された時刻を復元する復元手段と、
前記復元手段により復元された時刻と、前記第２タイムスタンプ情報とを比較することにより、前記光子送信手段により送信された光子のうちどの光子が前記光子検出手段により検出されたかを特定する特定手段と、
を備えた量子鍵配送システム。
【請求項９】
他の通信装置と、量子通信路および古典通信路で接続され、暗号鍵を共有する通信装置の量子鍵配送方法であって、
前記他の通信装置から前記量子通信路を介して送信された光子を検出する光子検出ステップと、
前記光子を検出した時刻をタイムスタンプ情報として測定する測定ステップと、
前回測定した前記タイムスタンプ情報が示す時刻に特定の情報を加えて求めた時刻と、次に測定した前記タイムスタンプ情報が示す時刻との差分を差分タイムスタンプ情報として生成する差分生成ステップと、
前記差分タイムスタンプ情報を、前記古典通信路を介して前記他の通信装置に送信する送信ステップと、
を有する量子鍵配送方法。
【請求項１０】
他の通信装置と、量子通信路および古典通信路で接続され、暗号鍵を共有するコンピュータを、
前記他の通信装置から前記量子通信路を介して送信された光子が、光子検出手段により検出された時刻をタイムスタンプ情報として測定する測定手段と、
前記測定手段より前回測定された前記タイムスタンプ情報が示す時刻に特定の情報を加えて求めた時刻と、該測定手段により次に測定された前記タイムスタンプ情報が示す時刻との差分を、前記他の通信装置に送信するための差分タイムスタンプ情報として生成する差分生成手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置、量子鍵配送システム、量子鍵配送方法およびプログラムに関する。
【背景技術】
【０００２】
量子鍵配送システムは、送信機と、受信機と、それを接続する光ファイバリンクとを含んで構成される。送信機は、光ファイバの通信路である光ファイバリンク（量子通信路）を介して、単一光子を連続的に受信機に送信する。その後、送信機と受信機とが相互に制御情報を交換することによって、送信機と受信機との間で安全に暗号鍵を共有する。この技術は、一般に量子鍵配送（ＱＫＤ：Ｑｕａｎｔｕｍ  Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ）と呼ばれる技術により実現される。
【０００３】
また、量子鍵配送では、暗号鍵を共有するために利用される光子は、観測されることで物理的な状態が変化するという量子力学の基本原理の一つである不確定性原理を有する。この原理により、送信機が送信した暗号鍵の情報を含む光子を量子通信路上で盗聴者が観測すると、光子の物理的な状態が変化し、光子を受け取った受信機は、盗聴者に光子を観測されたことを検出することができる。この結果、送信機で得られた光子列、および受信機で検出された光子列を基にして、送信機と受信機との相互間で制御情報を交換することにより、盗聴されていないことが保証された安全な暗号鍵が得られる。
【０００４】
２つのノード（例えば、上述の送信機および受信機）に接続された、またはそれぞれのノードが含む各アプリケーションは、２つのノードで共有された上述の暗号鍵を使用して、例えば、ワンタイムパッドと呼ばれる暗号通信方式により暗号データ通信を行う。ワンタイムパッドとは、送受信するデータのサイズと同じサイズの暗号鍵で暗号化または復号化し、一度利用した暗号鍵は破棄する暗号通信方式である。このワンタイムパッドによる暗号データ通信は、いかなる知識を有する盗聴者によっても解読できないことが情報理論により保証されている。このように、量子鍵配送により共有された安全な暗号鍵を用いて暗号データ通信を行う技術を量子暗号技術という。
【０００５】
量子鍵配送の基本的な性能指標であるセキュアキーレート（暗号鍵配信速度、暗号鍵生成速度）は、単位時間あたりに生成および共有できる暗号鍵の長さ（ビット長）によって規定される。単位時間あたりにより多くの暗号鍵が共有できる量子鍵配送システムは、高速な量子鍵配送能力があるということができる。高速な量子鍵配送が実現できると、生成および共有された暗号鍵を用いた暗号データ通信の速度及びその安全性を向上させることができるため、量子鍵配送においてセキュアキーレートを向上させることは重要である。量子鍵配送は、基本的に、４つの処理ステップによって構成される。第１の処理ステップは、光子送受信処理である。第２の処理ステップは、シフティング処理である。第３の処理ステップは、誤り訂正処理である。第４の処理ステップは、秘匿性増強処理である。セキュアキーレートを向上するには、これらの４つの処理ステップを高速化する必要がある。
【０００６】
上述の４つの処理ステップのうち、シフティング処理における高速化を阻む一つの要因として、受信機が単一光子を検出した時刻に関する情報（以下、「タイムスタンプ情報」と称する場合がある）を送信機に送信するタイムスタンプ通信が挙げられる。検出した光子１つに対し１つのタイムスタンプ情報を送信（タイムスタンプ通信）する必要があるため、高速な量子鍵配送を実現するため、単位時間あたりの光子検出数が増加すると、単位時間あたりに必要なタイムスタンプ通信量が増加する。そして、タイムスタンプ通信を実現する通信路の物理的な制約に達すると、シフティング処理を動作させることができなくなる。また、タイムスタンプ通信のための通信路の帯域を大きくする対策も考えられるが、実現するハードウェアの構成およびコストの問題から困難な場合もある。
【０００７】
ここで、シフティング処理において、タイムスタンプ通信で送信されるタイムスタンプ情報として時刻情報そのものを送信するのではなく、前回光子を検出した時刻と今回光子を検出した時刻との差分の情報をタイムスタンプ情報として送信する技術が提案されている。
【０００８】
上述の技術によって、タイムスタンプ情報を圧縮することができ、タイムスタンプ通信量の削減、すなわちシフティング処理の処理速度の向上が可能となる。しかしながら、シフティング処理速度は、上述の技術の適用によって十分に高速となるわけではない。セキュアキーレートをさらに向上させるため、さらなるタイムスタンプ通信量の削減によって、シフティング処理速度を向上させる必要がある。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Ａ  ｆａｓｔ  ａｎｄ  ｖｅｒｓａｔｉｌｅ  ｑｕａｎｔｕｍ  ｋｅｙ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｓｙｓｔｅｍ  ｗｉｔｈ  ｈａｒｄｗａｒｅ  ｋｅｙ  ｄｉｓｔｉｌｌａｔｉｏｎ  ａｎｄ  ｗａｖｅｌｅｎｇｔｈ  ｍｕｌｔｉｐｌｅｘｉｎｇ  Ｎ  Ｗａｌｅｎｔａ，  ｅｔ  ａｌ．，  Ｎｅｗ  Ｊｏｕｒｎａｌ  ｏｆ  Ｐｈｙｓｉｃｓ  １６，  ０１３０４７  （２０１４）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、上記に鑑みてなされたものであって、量子鍵配送のうちシフティング処理の処理速度を向上させることができる通信装置、量子鍵配送システム、量子鍵配送方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
実施形態の通信装置は、他の通信装置と、量子通信路および古典通信路で接続され、暗号鍵を共有する通信装置であって、光子検出手段と、測定手段と、差分生成手段と、送信手段と、を備える。光子検出手段は、他の通信装置から量子通信路を介して送信された光子を検出する。測定手段は、光子検出手段により光子が検出された時刻をタイムスタンプ情報として測定する。差分生成手段は、測定手段より前回測定されたタイムスタンプ情報が示す時刻に特定の情報を加えて求めた時刻と、測定手段により次に測定されたタイムスタンプ情報が示す時刻との差分を差分タイムスタンプ情報として生成する。送信手段は、差分タイムスタンプ情報を、古典通信路を介して他の通信装置に送信する。
【図面の簡単な説明】
【００１２】
【図１】量子鍵配送システムの全体構成の一例を示す図である。
【図２】送信機および受信機のハードウェア構成の一例を示す図である。
【図３】第１の実施形態での機能ブロックの構成の一例を示す図である。
【図４】暗号鍵の共有動作の流れの一例を示すシーケンス図である。
【図５】シフティング処理の流れの一例を示すシーケンス図である。
【図６】従来方式（１）のタイムスタンプシフティング処理の動作の説明図である。
【図７】従来方式（２）のタイムスタンプシフティング処理の動作の説明図である。
【図８】従来方式（２）で送受信されるタイムスタンプ情報の例を示す図である。
【図９】第１の実施形態のタイムスタンプシフティング処理の動作の説明図である。
【図１０】第１の実施形態でのタイムスタンプ情報のゼロ点を説明する図である。
【図１１】第２の実施形態での機能ブロックの構成の一例を示す図である。
【図１２】第２の実施形態のタイムスタンプシフティング処理の動作の説明図である。
【図１３】第２の実施形態でのタイムスタンプ情報のゼロ点を説明する図である。
【発明を実施するための形態】
【００１３】
以下に、図面を参照しながら、本発明の実施形態に係る通信装置、量子鍵配送システム、量子鍵配送方法およびプログラムを詳細に説明する。ただし、図面は模式的なものであるため、具体的な構成は以下の説明を参酌して判断すべきものである。
【００１４】
（第１の実施形態）
図１は、量子鍵配送システムの全体構成の一例を示す図である。図１を参照しながら、量子鍵配送システム１００の構成について説明する。
【００１５】
図１に示すように、量子鍵配送システム１００は、送信機１（他の通信装置、第２通信装置）と、受信機２（通信装置、第１通信装置）と、光ファイバリンク３と、通信ケーブル４と、を含んで構成されている。
【００１６】
送信機１は、レーザにより発生した、暗号鍵を生成する基となる単一光子から構成される光子列を、光ファイバリンク３を介して、受信機２へ送信する送信機である。送信機１は、送信した光子列を基に、後述する鍵蒸留処理（シフティング処理、誤り訂正処理および秘匿性増強処理）等を実行して、暗号鍵を生成する。また、鍵蒸留処理の際、送信機１は、受信機２との間で、通信ケーブル４を介して制御データ（単一光子ではなく一般のデジタルデータであり、以下、「鍵蒸留処理データ」と称する場合がある）の交換を行う。ここで、鍵蒸留処理データや、アプリケーションが通信するデータの通信経路となる通信ケーブル４を、「古典通信路」と称する場合がある。なお、鍵蒸留処理データは、通信ケーブル４ではなく、送信機１と受信機２との間の光ファイバリンク３を介して転送されてもよく、または、これ以外の通信経路（例えば、一般のインターネット回線等）を用いて転送されてもよい。この場合、光ファイバリンク３またはこれ以外の通信経路が古典通信路として機能する。
【００１７】
受信機２は、暗号鍵を生成する基となる単一光子から構成される光子列を、光ファイバリンク３を介して、送信機１から受信する受信機である。受信機２は、受信した光子列を基に、後述する鍵蒸留処理（シフティング処理、誤り訂正処理および秘匿性増強処理）等を実行して、送信機１が生成した暗号鍵と同一の暗号鍵を生成する。また、鍵蒸留処理の際、受信機２は、送信機１との間で、通信ケーブル４を介して制御データ（鍵蒸留処理データ）の交換を行う。
【００１８】
光ファイバリンク３は、送信機１が出力した単一光子の送信路となる量子通信路として機能する光ファイバケーブルである。通信ケーブル４は、送信機１と受信機２との間で、鍵蒸留処理データの他、後述するようにアプリケーションの通信データを通信するために古典通信路として機能するケーブルである。
【００１９】
このような送信機１と受信機２とを含む量子鍵配送システム１００においては、送信機１が送信した光子を光ファイバリンク３上で盗聴者が観測すると、光子の物理的状態が変化し、光子を検出した受信機２は、盗聴者に光子を観測されたことを認識することができる。すなわち、盗聴者による盗聴を検出することができる。
【００２０】
図２は、送信機および受信機のハードウェア構成の一例を示す図である。図２を参照しながら、送信機１および受信機２のハードウェア構成について説明する。
【００２１】
図２に示すように、送信機１（受信機２）は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、通信Ｉ／Ｆ３０４と、補助記憶装置３０５と、光学処理装置３０６と、を備えている。
【００２２】
ＣＰＵ３０１は、送信機１（受信機２）全体の動作を制御する演算装置である。ＲＯＭ３０２は、ＣＰＵ３０１が各機能を制御するために実行するＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）またはファームウェア等のプログラムを記憶する不揮発性記憶装置である。ＲＡＭ３０３は、ＣＰＵ３０１のワークメモリ等として機能する揮発性記憶装置である。
【００２３】
通信Ｉ／Ｆ３０４は、古典通信路（通信ケーブル４等）を介してデータ通信を行うためのインターフェースである。通信Ｉ／Ｆ３０４は、例えば、１０Ｂａｓｅ−Ｔ、１００Ｂａｓｅ−ＴＸもしくは１０００Ｂａｓｅ−Ｔ等のＥｔｈｅｒｎｅｔ（登録商標）に対応したインターフェースであってもよいし、光ファイバ用インターフェースであってもよい。
【００２４】
補助記憶装置３０５は、ＣＰＵ３０１で実行される各種プログラム、ならびに暗号鍵の共有動作の過程で生成したデータおよび暗号鍵等を記憶して蓄積する不揮発性記憶装置である。補助記憶装置３０５は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリまたは光ディスク等の電気的、磁気的または光学的に記憶可能な記憶装置である。
【００２５】
光学処理装置３０６は、量子通信路を介して、単一光子を送信または受信する光学装置である。送信機１の光学処理装置３０６は、例えば、乱数によって発生させたビット情報である送信信号ビットと、同様に乱数等によって生成・選択した基底情報（送信基底）と、に基づく位相状態または偏光状態に対応するように生成した単一光子を、量子通信路（図１に示す光ファイバリンク３）を介して、受信機２の光学処理装置３０６に送信する。すなわち、送信機１の光学処理装置３０６により送信された各光子は、「０」か「１」かの１ビットの送信信号ビット情報を有する。受信機２の光学処理装置３０６は、量子通信路を介して、送信機１の光学処理装置３０６から光子を受信し、受信した光子を、ランダムに生成・選択した基底情報（受信基底）に基づいて読み取ることによって送信信号ビット情報に対応する１ビットの受信信号ビット情報（ただし、送信信号ビット情報とは必ずしも一致しない）を得る。光学処理装置３０６は、この単一光子の送信・受信処理を連続的に実行する。
【００２６】
上述のＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、通信Ｉ／Ｆ３０４、補助記憶装置３０５、および光学処理装置３０６は、アドレスバスおよびデータバス等のバス３０７によって互いに通信可能に接続されている。
【００２７】
図３は、第１の実施形態に係る量子鍵配送システムの機能ブロックの構成の一例を示す図である。図３を参照しながら、量子鍵配送システム１００の送信機１および受信機２の機能ブロックの構成および動作について説明する。
【００２８】
図３に示すように、送信機１は、光子送信部１０１（光子送信手段）と、シフティング処理部１０２と、誤り訂正処理部１０９と、秘匿性増強処理部１１０と、蓄積部１１１と、鍵管理部１１２と、鍵利用部１１３と、データ通信部１１４（受信手段）と、を有する。
【００２９】
光子送信部１０１は、例えば、乱数によって発生させたビット情報である送信信号ビットと、同様に乱数等によって生成・選択した基底情報（送信基底）と、に基づく位相状態または偏光状態に対応するように生成した単一光子を、量子通信路（図１に示す光ファイバリンク３）を介して、受信機２の光子検出部２０１に送信する光子送信処理を行う機能部である。
【００３０】
光子送信部１０１による光子送信処理は、例えば、単一光子の発生源として通常のレーザ光源を減衰させたものを用いる。通常のレーザ光源を用いる場合、光子送信部１０１で送信基底および送信信号ビット情報をエンコードする際、厳密には単一光子ではなく、複数の光子が送出されてしまう場合がある。このような場合を排除し、量子鍵配送の安全性を保証するため、デコイ法と呼ばれる方法を用いてもよい。デコイ法では、出力されるレーザの強度を、常に一定とするのではなく、ある一定の確率で、通常の送信信号ビットを送信する際とは異なる強度のレーザで送信する。また、単一光子の送信動作（光子送信処理）は、上述のレーザ光源をパルス駆動されることによって実現するものとしてもよい。そのパルス駆動の速度は高速であり、例えば、１［ＧＨｚ］等としてもよく、これより高速であっても低速であってもよい。
【００３１】
光子送信部１０１は、発生させた送信信号ビットおよび送信基底を、シフティング処理部１０２に送る。光子送信部１０１は、例えば、図２に示す光学処理装置３０６によって実現される。
【００３２】
シフティング処理部１０２は、受信機２の光子検出部２０１が生成した基底情報（受信基底）を、古典通信路を介して受信し、受信した受信基底と、送信基底とを比較して、受信基底と送信基底とが一致する部分に対応する送信信号ビットのみを抽出して、共有ビット列を生成するシフティング処理を実行する機能部である。シフティング処理部１０２は、生成した共有ビット列を、誤り訂正処理部１０９に送る。このシフティング処理は、タイムスタンプシフティング処理と、基底シフティング処理とに大別される。タイムスタンプシフティング処理および基底シフティング処理を含むシフティング処理の詳細については後述する。シフティング処理部１０２は、タイムスタンプ測定部１０３（第２測定手段）と、タイムスタンプ復元部１０４（復元手段）と、光子特定部１０５（特定手段）と、デッドタイム設定参照部１０６と、基底一致情報送信部１０７と、マッチング処理部１０８と、を有する。
【００３３】
タイムスタンプ測定部１０３は、光子送信部１０１によって単一光子が送信された時刻を示す情報である送信タイムスタンプ情報（第２タイムスタンプ情報）を測定する機能部である。タイムスタンプ測定部１０３は、測定した送信タイムスタンプ情報を、光子送信部１０１から受け取った送信信号ビット情報、および送信基底情報と共に、蓄積部１１１に記憶させる。ここで記憶される送信信号ビット情報、送信基底情報、および送信タイムスタンプ情報からなる情報を、送信光子情報と称する場合がある。なお、タイムスタンプ測定部１０３は、測定した送信タイムスタンプ情報を、読み出し速度が高速なキャッシュメモリ等に記憶させるものとしてもよい。
【００３４】
タイムスタンプ復元部１０４は、後述する受信機２のデータ通信部２１４を介して、受信機２側で光子を検出した時刻に関する情報（通信タイムスタンプ情報）を受信し、キャッシュメモリ（または蓄積部１１１）に記憶されている前回受信器２が光子を検出した時刻を示す情報（受信タイムスタンプ情報）と、今回受信した通信タイムスタンプ情報と、後述するデッドタイム設定参照部１０６から取得されたデッドタイムと、に基づいて、今回、受信機２が光子を検出した時刻を示す情報（受信タイムスタンプ情報）を復元する機能部である。
【００３５】
光子特定部１０５は、タイムスタンプ復元部１０４により復元された時刻を示す情報（受信タイムスタンプ情報）と、タイムスタンプ測定部１０３により測定され、蓄積部１１１に記憶された送信光子情報に含まれるタイムスタンプ情報（送信タイムスタンプ情報）とを比較し、光子送信部１０１から送信された光子のうち、どの光子が受信機２によって検出されたかを特定する機能部である。光子特定部１０５によって特定され、受信機２によって検出された光子に対応することが判明した送信光子情報は、マッチング処理部１０８に送られる。
【００３６】
マッチング処理部１０８は、受信機２から古典通信路およびデータ通信部１１４を介して受信した受信基底と、光子特定部１０５から受け取った送信光子情報に含まれる送信基底と、を比較し、受信基底と送信基底とが一致する基底に対応する送信信号ビットを抽出し、共有ビット列を生成する機能部である。マッチング処理部１０８は、生成した共有ビット列を、蓄積部１１１に記憶すると共に、誤り訂正処理部１０９に送る。また、マッチング処理部１０８は、マッチング処理の結果、受信した受信基底が、それぞれ、送信基底と一致したか否かに関する情報（基底一致情報）を、基底一致情報送信部１０７へ送る。
【００３７】
基底一致情報送信部１０７は、マッチング処理部１０８から受け取った基底一致情報を、データ通信部１１４および古典通信路を介して受信機２に送信する機能部である。
【００３８】
デッドタイム設定参照部１０６は、後述する光子検出部２０１のアバランシェフォトダイオード（ＡＰＤ：Ａｖａｌａｎｃｈｅ  Ｐｈｏｔｏｄｉｏｄｅ）のアフターパルスに由来する光子の誤検出を抑えるために、受信機２側において設定されたデッドタイム（特定の情報の一例）の設定情報を参照する機能部である。デッドタイムの設定情報を、受信機２から送信機１のデッドタイム設定参照部１０６に伝える方法はどのような方法であっても構わない。デッドタイム設定参照部１０６は、設定されたデッドタイムを蓄積部１１１に予め記憶させているものとしてもよい。なお、デッドタイムの値は、システムの運用者によって事前に設定されることを想定しているが、システムの動作環境に応じて、デッドタイムの値が自動的に選択されてもよく、または、システムの動作中に、受信機２での光子検出の誤り率等の特性変動から、動的にデッドタイムの値を変更することも可能である。
【００３９】
誤り訂正処理部１０９は、古典通信路を介して、受信機２の誤り訂正処理部２０９と誤り訂正用制御情報（ＥＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ：誤り訂正）情報）を交換することにより、共有ビット列のビット誤りを訂正して、訂正後ビット列を生成する誤り訂正処理を実行する機能部である。誤り訂正処理部１０９は、生成した訂正後ビット列を、秘匿性増強処理部１１０へ送る。この結果、誤り訂正処理部１０９により生成された訂正後ビット列、および、後述する誤り訂正処理部２０９による誤り訂正処理により生成された訂正後ビット列は、完全に一致するビット列となる。
【００４０】
秘匿性増強処理部１１０は、訂正後ビット列に対して、光子送信処理、シフティング処理、および誤り訂正処理で理論上、漏洩して盗聴者により盗聴された可能性のあるビットを打ち消すための秘匿性増強処理を行って暗号鍵を生成する機能部である。このとき、古典通信路を介して、受信機２の秘匿性増強処理部２１０との間で、制御情報（ＰＡ（Ｐｒｉｖａｃｙ  Ａｍｐｌｉｆｉｃａｔｉｏｎ：秘匿性増強）情報）を交換するものとしてもよい。秘匿性増強処理部１１０は、生成した暗号鍵を、蓄積部１１１に記憶させて蓄積させる。
【００４１】
蓄積部１１１は、送信光子情報、共有ビット列、および暗号鍵等を記憶する機能である。蓄積部１１１は、例えば、図２に示す補助記憶装置３０５によって実現される。なお、蓄積部１１１は、上述のデータのすべてを１つの装置として記憶することに限定されるものではない。例えば、送信光子情報のみを記憶する蓄積部１１１とは異なる別の記憶部が存在するものとしてもよい。また、暗号鍵は、蓄積部１１１と異なる別の記憶部が記憶するものとしてもよい。
【００４２】
鍵管理部１１２は、蓄積部１１１に記憶（蓄積）された暗号鍵の管理（鍵管理）を行う機能部である。また、鍵管理部１１２は、蓄積部１１１に記憶された暗号鍵を、暗号データ通信を行うアプリケーション等である鍵利用部１１３へ提供する。
【００４３】
鍵利用部１１３は、鍵管理部１１２から提供された暗号鍵を利用（鍵利用）して、暗号データ通信を行うアプリケーション等である。
【００４４】
なお、鍵管理部１１２および鍵利用部１１３は、必ずしも備えられなければならないわけではなく、必要がなければなくてもよい。
【００４５】
データ通信部１１４は、古典通信路を介して、受信機２とデータを通信する機能部である。データ通信部１１４は、例えば、図２に示す通信Ｉ／Ｆ３０４によって実現される。
【００４６】
上述のシフティング処理部１０２、誤り訂正処理部１０９、秘匿性増強処理部１１０、鍵管理部１１２、および鍵利用部１１３は、例えば、図２に示すＣＰＵ３０１が補助記憶装置３０５等に記憶されたプログラムをＲＡＭ３０３に読み出して実行することによって実現される。なお、シフティング処理部１０２、誤り訂正処理部１０９、秘匿性増強処理部１１０、鍵管理部１１２、および鍵利用部１１３のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかが、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）またはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
【００４７】
なお、図３に示す光子送信部１０１、シフティング処理部１０２、タイムスタンプ測定部１０３、タイムスタンプ復元部１０４、光子特定部１０５、デッドタイム設定参照部１０６、基底一致情報送信部１０７、マッチング処理部１０８、誤り訂正処理部１０９、秘匿性増強処理部１１０、蓄積部１１１、鍵管理部１１２、鍵利用部１１３、およびデータ通信部１１４は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図３に示す送信機１で、独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図３に示す送信機１で、１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００４８】
図３に示すように、受信機２は、光子検出部２０１（光子検出手段）と、シフティング処理部２０２と、誤り訂正処理部２０９（訂正手段）と、秘匿性増強処理部２１０（秘匿性増強手段）と、蓄積部２１１と、鍵管理部２１２と、鍵利用部２１３と、データ通信部２１４（送信手段）と、を有する。
【００４９】
光子検出部２０１は、量子通信路を介して、送信機１の光子送信部１０１から送信された光子を受信し、受信した光子を、ランダムに選択した基底情報（受信基底）に基づいて読み取ることによって、送信信号ビット情報に相当する受信信号ビット情報を得る光子検出処理を行う機能部である。なお、上述の光子送信部１０１の光子送信処理と、光子検出部２０１の光子検出処理とを併せて、「光子送受信処理」という場合がある。
【００５０】
光子検出部２０１による光子検出処理は、例えば、アバランシェフォトダイオード（ＡＰＤ）と呼ばれる光子検出素子を用いて行ってもよい。ＡＰＤは、例えば、インジウムガリウムヒ素、シリコン、ゲルマニウム、または窒化ガリウムで生成された素子である。ＡＰＤは、ガイガーモードと呼ばれる動作モードで駆動する。このガイガーモードは、ＡＰＤの逆電圧を降伏電圧（ブレークダウン電圧）以上にして動作させるモードであり、アバランシェ効果により、光子の入射に対して大きいパルスを発生させ、このパルスを検出することによって、単一光子の検出を行う。例えば、光子検出処理では、ＡＰＤに対して、ブレークダウン電圧を超える電圧と、ブレークダウン電圧未満の電圧とを交互に発生させる方形波または正弦波状の電圧を印加することによって、単一光子の検出動作を連続的に行う。その方形波または正弦波状の電圧の駆動は高速であり、例えば、１［ＧＨｚ］等としてもよく、これより高速であっても低速であってもよい。光子検出処理では、受信した光子は、それに対応する受信基底により定まる光の位相状態または偏光状態に対応するようにデコードされ、デコードされた結果として、送信信号ビット情報に対応する１ビットの受信信号ビット情報（ただし、送信信号ビット情報とは必ずしも一致しない）を得る。なお、上述の光子送信部１０１が送信基底を生成する際、および光子検出部２０１が受信基底を生成する際、基本的には２種類の基底を５０:５０の確率でランダムに選択するが、より効率的に暗号鍵の生成および共有を行うため、この確率に傾斜をつけ、異なる比率で送信基底および受信基底を生成するものとしてもよい。
【００５１】
光子検出部２０１は、取得した受信信号ビットおよび生成した受信基底を、シフティング処理部２０２に送る。光子検出部２０１は、例えば、図２に示す光学処理装置３０６によって実現される。
【００５２】
シフティング処理部２０２は、送信機１の基底一致情報送信部１０７が送信した上述の基底一致情報を、古典通信路を介して受信し、受信した基底一致情報と、光子検出部２０１から受け取った受信信号ビット情報とから、受信基底と送信基底とが一致したとされる受信信号ビットを抽出して共有ビット列を生成するシフティング処理を実行する機能部である。シフティング処理部２０２は、生成した共有ビット列を、誤り訂正処理部２０９に送る。なお、シフティング処理部２０２によって生成される共有ビット列は、受信信号ビットから構成されるビット列であり、シフティング処理部１０２によって生成される共有ビット列は、送信信号ビットから構成されるビット列であり、これらのビット列は必ずしも一致していない。このシフティング処理部２０２によるシフティング処理も、タイムスタンプシフティング処理と、基底シフティング処理とに大別される。タイムスタンプシフティング処理および基底シフティング処理を含むシフティング処理の詳細については後述する。シフティング処理部２０２は、検出制御部２０３（検出制御手段）と、タイムスタンプ測定部２０４（測定手段、第１測定手段）と、差分情報生成部２０５（差分生成手段）と、デッドタイム設定参照部２０６（参照手段）と、基底情報送信部２０７と、マッチング処理部２０８（マッチング処理手段）と、を有する。
【００５３】
検出制御部２０３は、後述するアフターパルスに由来する光子の誤検出を抑えるため、光子検出部２０１による本来の光子の検出が行われた後、設定されたデッドタイムによって決定される所定時間の間、光子検出部２０１の光子の検出動作等を抑制する機能部である。
【００５４】
上述のＡＰＤでは、光子を検出した後に、アフターパルスと呼ばれる現象が起こりうる。アフターパルスとは、光子検出の結果、アバランシェ効果により生成された電子が、ＡＰＤ内の格子欠陥に捕獲され、これが遅れて開放されて発生するパルスである。アフターパルスは、本来の光子を検出したタイミングとは異なるタイミングでのパルスとなるため、光子の検出についてのノイズとなる。したがって、ＡＰＤを高速に駆動する場合、このアフターパルスに由来するノイズの除去が、光子の検出の精度を向上させるために必要となる。アフターパルスの除去を実現する方法の一つとして、本来の光子の検出が行われた後の所定期間内に発生したパルスは無視する、という方法がある。この方法では、本来の光子の検出後、ある所定期間（この期間を「デッドタイム」と称する)では光子の検出を行わない、または、この所定期間に発生したパルスは、本来の光子の検出ではないとみなして無視するものとする。なお、デッドタイムの値は、ＡＰＤのアフターパルス確率等の特性値、またはＡＰＤを駆動する動作速度等のパラメータによって、設計者または運用者が設定することができる。このような方法により、アフターパルスに由来するノイズを除去または低減することができ、光子の検出の精度を向上させることができる。
【００５５】
なお、検出制御部２０３は、シフティング処理部２０２に含まれるものとしているが、光子検出部２０１と検出制御部２０３とは一体として実現されるものとしてもよい。この場合、検出制御部２０３は、例えば、図２に示す光学処理装置３０６によって実現される。
【００５６】
タイムスタンプ測定部２０４は、光子検出部２０１から検出された光子に対応する受信信号ビット情報、受信基底情報を受け取り、光子が検出された時刻を示す情報である受信タイムスタンプ情報（第１タイムスタンプ情報）を測定する機能部である。タイムスタンプ測定部２０４は、測定した受信タイムスタンプ情報を、差分情報生成部２０５に送る。また、タイムスタンプ測定部２０４は、受信信号ビット情報および受信基底情報を、「検出光子情報」として、蓄積部２１１に記憶させる。
【００５７】
差分情報生成部２０５は、キャッシュメモリ（または蓄積部２１１）に記憶されているタイムスタンプ測定部２０４から前回受け取った受信タイムスタンプ情報と、タイムスタンプ測定部２０４から今回受け取った受信タイムスタンプ情報と、デッドタイム設定参照部２０６から取得されたデッドタイムと、に基づいて、光子が検出された時刻に関する差分情報（差分タイムスタンプ情報）を生成する機能部である。差分情報生成部２０５は、生成した差分タイムスタンプ情報を、通信タイムスタンプ情報として、データ通信部２１４を介して送信機１に送信する。また、差分情報生成部２０５は、今回受け取った受信タイムスタンプ情報を、キャッシュメモリ（蓄積部２１１）に記憶させ、次回の差分タイムスタンプ情報の生成に利用する。
【００５８】
デッドタイム設定参照部２０６は、光子検出部２０１のＡＰＤのアフターパルスに由来する光子の誤検出を抑えるために設定されたデッドタイムの設定情報を参照する機能部である。設定されたデッドタイムは、蓄積部２１１に予め記憶されていてもよい。デッドタイムは、検出制御部２０３に作用すると共に、デッドタイム設定参照部２０６を介して、差分情報生成部２０５に対しても作用する。なお、デッドタイムの値は、システムの運用者によって事前に設定されることを想定しているが、システムの動作環境に応じて、デッドタイムの値が自動的に選択されてもよく、または、システムの動作中に、光子検出部２０１での光子検出の誤り率等の特性変動から、動的にデッドタイムの値を変更することも可能である。上述の送信機１は、受信機２のデッドタイムと同じ値のデッドタイムが設定されているものとする。送信機１においては、デッドタイムの設定が必要なＡＰＤは存在しないため、本来であればデッドタイムの設定は必要ないものであるが、上述の送信機１のタイムスタンプ復元部１０４のタイムスタンプ情報の復元動作のために利用される。
【００５９】
なお、デッドタイム設定参照部１０６およびデッドタイム設定参照部２０６が同じ値のデッドタイムを保持する方法はどのような方法であっても構わない。運用者が手動で、受信機２のデッドタイム設定部２０６の値をコピーしても構わないし、受信機２のデッドタイム設定部２０６においてデッドタイムの設定値が変更されると、自動的にその設定値が送信機１に送信され、送信機１のデッドタイム設定部１０６のデッドタイムの設定値が変更されるようにしても構わない。逆に、送信機１のデッドタイム設定部１０６においてデッドタイムの設定値が変更されると、自動的にその設定値が受信機２に送信され、受信機２のデッドタイム設定部２０６のデッドタイムの設定値が変更されるようにしても構わない。
【００６０】
基底情報送信部２０７は、蓄積部２１１に蓄積された「検出光子情報」のうち、受信基底情報を、データ通信部２１４および古典通信路を介して送信機１に送信する機能部である。
【００６１】
マッチング処理部２０８は、送信機１から古典通信路およびデータ通信部２１４を介して受信した基底一致情報と、蓄積部２１１に記憶された「検出光子情報」と、から送信基底と一致する受信基底を持つ「検出光子情報」の受信信号ビットのみを抽出し、共有ビット列を生成する機能部である。マッチング処理部２０８は、生成した共有ビット列を、蓄積部２１１に記憶させると共に、誤り訂正処理部２０９に送る。
【００６２】
誤り訂正処理部２０９は、古典通信路を介して、送信機１の誤り訂正処理部１０９と誤り訂正用制御情報（ＥＣ情報）を交換することにより、共有ビット列のビット誤りを訂正して、訂正後ビット列を生成する誤り訂正処理を実行する機能部である。誤り訂正処理部２０９は、生成した訂正後ビット列を、秘匿性増強処理部２１０へ送る。この結果、誤り訂正処理部２０９により生成された訂正後ビット列、および、誤り訂正処理部１０９による誤り訂正処理により生成された訂正後ビット列は、完全に一致するビット列となる。
【００６３】
秘匿性増強処理部２１０は、訂正後ビット列に対して、光子送信処理、シフティング処理、および誤り訂正処理で理論上、漏洩して盗聴者により盗聴された可能性のあるビットを打ち消すための秘匿性増強処理を行って暗号鍵を生成する機能部である。この場合、古典通信路を介して、送信機１の秘匿性増強処理部１１０との間で、制御情報（ＰＡ情報）を交換するものとしてもよい。秘匿性増強処理部２１０は、生成した暗号鍵を、蓄積部２１１に記憶させて蓄積させる。
【００６４】
蓄積部２１１は、検出光子情報、共有ビット列、および暗号鍵等を記憶する機能である。蓄積部２１１は、例えば、図２に示す補助記憶装置３０５によって実現される。なお、蓄積部２１１は、上述のデータのすべてを１つの装置として記憶することに限定されるものではない。例えば、検出光子情報のみを記憶する蓄積部２１１とは異なる別の記憶部が存在するものとしてもよい。また、暗号鍵は、蓄積部２１１と異なる別の記憶部が記憶するものとしてもよい。
【００６５】
鍵管理部２１２は、蓄積部２１１に記憶（蓄積）された暗号鍵の管理（鍵管理）を行う機能部である。また、鍵管理部２１２は、蓄積部２１１に記憶された暗号鍵を、暗号データ通信を行うアプリケーション等である鍵利用部２１３へ提供する。
【００６６】
鍵利用部２１３は、鍵管理部２１２から提供された暗号鍵を利用（鍵利用）して、暗号データ通信を行うアプリケーション等である。
【００６７】
なお、鍵管理部２１２および鍵利用部２１３は、必ずしも備えられなければならないわけではなく、必要がなければなくてもよい。
【００６８】
データ通信部２１４は、古典通信路を介して、送信機１とデータを通信する機能部である。データ通信部２１４は、例えば、図２に示す通信Ｉ／Ｆ３０４によって実現される。
【００６９】
上述のシフティング処理部２０２、誤り訂正処理部２０９、秘匿性増強処理部２１０、鍵管理部２１２、および鍵利用部２１３は、例えば、図２に示すＣＰＵ３０１が補助記憶装置３０５等に記憶されたプログラムをＲＡＭ３０３に読み出して実行することによって実現される。なお、シフティング処理部２０２、誤り訂正処理部２０９、秘匿性増強処理部２１０、鍵管理部２１２、および鍵利用部２１３のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかが、例えば、ＡＳＩＣ、ＦＰＧＡまたはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
【００７０】
なお、図３に示す光子検出部２０１、シフティング処理部２０２、検出制御部２０３、タイムスタンプ測定部２０４、差分情報生成部２０５、デッドタイム設定参照部２０６、基底情報送信部２０７、マッチング処理部２０８、誤り訂正処理部２０９、秘匿性増強処理部２１０、蓄積部２１１、鍵管理部２１２、鍵利用部２１３、およびデータ通信部２１４は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図３に示す受信機２で、独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図３に示す受信機２で、１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００７１】
図４は、暗号鍵の共有動作の流れの一例を示すシーケンス図である。図４を参照しながら、一般的な暗号鍵の共有動作（量子鍵配送）の流れを説明する。
【００７２】
＜ステップＳ１１＞
光子送信部１０１は、例えば、乱数によって発生させたビット情報である送信信号ビットと、同様に乱数等によって生成・選択した基底情報（送信基底）と、に基づく位相状態または偏光状態に対応するように生成した単一光子を、量子通信路を介して、受信機２の光子検出部２０１に送信する。光子送信部１０１は、発生させた送信信号ビットおよび送信基底を、シフティング処理部１０２に送る。
【００７３】
＜ステップＳ１２＞
光子検出部２０１は、量子通信路を介して、送信機１の光子送信部１０１から送信された光子を受信し、受信した光子を、ランダムに選択した基底情報（受信基底）に基づいて読み取ることによって、送信信号ビット情報に相当する受信信号ビット情報を得る。光子検出部２０１は、取得した受信信号ビットおよび受信基底を、シフティング処理部２０２に送る。
【００７４】
＜ステップＳ１３＞
シフティング処理部１０２は、送信信号ビット及び送信基底を元にして、受信機２のシフティング処理部２０２との間で古典通信路を介して光子選別情報を送受信することによって、受信機２の光子検出部２０１によって検出された光子のうち、受信基底と送信基底とが一致する部分に対応する送信信号ビットのみを抽出して、共有ビット列を生成するシフティング処理を実行する。シフティング処理の詳細は後述する。シフティング処理部１０２は、生成した共有ビット列を、誤り訂正処理部１０９に送る。
【００７５】
＜ステップＳ１４＞
シフティング処理部２０２は、受信信号ビット及び受信基底を元にして、送信機１のシフティング処理部１０２との間で古典通信路を介して光子選別情報を送受信することによって、送信機１の光子送信部１０１が送信し受信機２の光子検出部２０１が検出した光子のうち、受信基底と送信基底とが一致する部分に対応する受信信号ビットのみを抽出して、共有ビット列を生成するシフティング処理を実行する。シフティング処理の詳細は後述する。シフティング処理部２０２は、生成した共有ビット列を、誤り訂正処理部２０９に送る。
【００７６】
なお、送信機１から受信機２に送信される光子には、光子送受信処理の際に光ファイバリンク３上のノイズ、受信機２のＡＰＤの特性に起因するノイズ、または盗聴者による盗聴の痕跡等が含まれるため、送信機１が生成する共有ビット列と、受信機が生成する共有ビット列とは一部ビットが異なっている部分（ビット誤り）があることがある。
【００７７】
＜ステップＳ１５＞
誤り訂正処理部１０９は、古典通信路を介して、受信機２の誤り訂正処理部２０９と誤り訂正用制御情報（ＥＣ情報）を交換することにより、共有ビット列のビット誤りを訂正して、訂正後ビット列を生成する誤り訂正処理を実行する。誤り訂正処理部１０９は、生成した訂正後ビット列を、秘匿性増強処理部１１０へ送る。
【００７８】
＜ステップＳ１６＞
誤り訂正処理部２０９は、古典通信路を介して、送信機１の誤り訂正処理部１０９と誤り訂正用制御情報（ＥＣ情報）を交換することにより、共有ビット列のビット誤りを訂正して、訂正後ビット列を生成する誤り訂正処理を実行する。誤り訂正処理部２０９は、生成した訂正後ビット列を、秘匿性増強処理部２１０へ送る。
【００７９】
＜ステップＳ１７＞
秘匿性増強処理部１１０は、訂正後ビット列に対して、光子送信処理、シフティング処理、および誤り訂正処理で理論上、漏洩して盗聴者により盗聴された可能性のあるビットを打ち消すための秘匿性増強処理を行って暗号鍵を生成する。このとき、古典通信路を介して、受信機２の秘匿性増強処理部２１０との間で、制御情報（ＰＡ情報）を交換するものとしてもよい。秘匿性増強処理部１１０は、生成した暗号鍵を、蓄積部１１１に記憶させて蓄積させる。
【００８０】
＜ステップＳ１８＞
秘匿性増強処理部２１０は、訂正後ビット列に対して、光子送信処理、シフティング処理、および誤り訂正処理で理論上、漏洩して盗聴者により盗聴された可能性のあるビットを打ち消すための秘匿性増強処理を行って暗号鍵を生成する。このとき、古典通信路を介して、送信機１の秘匿性増強処理部１１０との間で、制御情報（ＰＡ情報）を交換するものとしてもよい。秘匿性増強処理部２１０は、生成した暗号鍵を、蓄積部２１１に記憶させて蓄積させる。
【００８１】
秘匿性増強処理部１１０および秘匿性増強処理部２１０により生成される暗号鍵のサイズは、光子送受信処理、シフティング処理および誤り訂正処理の過程によって得られた統計データと、量子暗号理論とによって決定される。
【００８２】
以上のような動作（量子鍵配送）によって、送信機１および受信機２において、一致する暗号鍵が生成される。上述の動作を繰り返し実行することによって、異なる暗号鍵が安全に繰り返し生成される。この場合の単位時間あたりの暗号鍵の生成量が、セキュアキーレート（暗号鍵配信速度、暗号鍵生成速度）である。上述の動作によって生成された暗号鍵は、一般的には、例えば、ワンタイムパッドのような暗号通信に利用される。
【００８３】
図５は、シフティング処理の流れの一例を示すシーケンス図である。図５を参照しながら、シフティング処理部１０２およびシフティング処理部２０２によるシフティング処理の動作について説明する。シフティング処理は、上述のように、タイムスタンプシフティング処理と、基底シフティング処理とに大別される。まず、図５のステップＳ２１〜Ｓ２５に示すタイムスタンプシフティング処理の概要について説明する。タイムスタンプシフティング処理は、送信機１が送信した光子うち、受信機２で検出された光子に対応するビットを、送信機１および受信機２で抽出する処理である。
【００８４】
＜ステップＳ２１＞
送信機１の光子送信部１０１は、例えば、乱数によって発生させたビット情報である送信信号ビットと、同様に乱数等によって生成・選択した基底情報（送信基底）と、に基づく位相状態または偏光状態に対応するように生成した単一光子を、量子通信路を介して、受信機２の光子検出部２０１に送信する。光子送信部１０１は、発生させた送信信号ビットおよび送信基底を、シフティング処理部１０２に送る。
【００８５】
受信機２の光子検出部２０１は、量子通信路を介して、送信機１の光子送信部１０１から送信された光子を受信し、受信した光子を、ランダムに選択した基底情報（受信基底）に基づいて読み取ることによって、送信信号ビット情報に相当する受信信号ビット情報を得る。光子検出部２０１は、取得した受信信号ビットおよび生成した受信基底を、シフティング処理部２０２に送る。
【００８６】
＜ステップＳ２２＞
送信機１のタイムスタンプ測定部１０３は、光子送信部１０１によって単一光子が送信された時刻を示す情報である送信タイムスタンプ情報を測定する。タイムスタンプ測定部１０３は、測定した送信タイムスタンプ情報を、光子送信部１０１から受け取った送信信号ビット情報、および送信基底情報と共に、「送信光子情報」として蓄積部１１１に記憶させる。
【００８７】
＜ステップＳ２３＞
受信機２のタイムスタンプ測定部２０４は、光子検出部２０１から検出された光子に対応する受信信号ビット情報、受信基底情報を受け取り、光子が検出された時刻を示す情報である受信タイムスタンプ情報を測定する。タイムスタンプ測定部２０４は、受信信号ビット情報および受信基底情報を、「検出光子情報」として、蓄積部２１１に記憶させる。なお、送信機１から受信機２に対して送信される単一光子の多くは、通信路上の減衰・ノイズ等によって消失してしまうため、受信機２のタイムスタンプ測定部２０４にてタイムスタンプを測定され、「検出光子情報」として記憶される光子は、送信機１において「送信光子情報」として記憶される光子のうちの一部のみである。
【００８８】
＜ステップＳ２４＞
受信機２は、タイムスタンプ測定部２０４により測定された受信タイムスタンプ情報に基づく時刻に関する情報を、データ通信部２１４を介して送信機１に送信（タイムスタンプ通信）する。
【００８９】
＜ステップＳ２５＞
送信機１の光子特定部１０５は、ステップＳ２２で蓄積部１１１に記憶した単一光子が送信された送信タイムスタンプ情報と、受信タイムスタンプ情報とを比較し、光子送信部１０１から送信された光子のうち、どの光子が受信機２によって検出されたかを特定する。光子特定部１０５によって特定され、受信機２によって検出された光子に対応することが判明した送信光子情報は、マッチング処理部１０８に送られる。
【００９０】
以上のステップＳ２１〜Ｓ２５がタイムスタンプシフティング処理の概要であり、この処理によって、送信機１は、受信機２によって検出された光子を特定することができる。なお、タイムスタンプシフティング処理は、送信機１および受信機２において、同期された時刻が利用可能である前提になっている。すなわち、本実施形態においては、送信機１と受信機２とは、予め時刻が同期されているものとする。送信機１が単一光子を送信する絶対時刻と、受信機２が単一光子を検出する絶対時刻とは、送信機１と受信機２との間で単一光子が送信される光ファイバリンク３の距離と光速とによって決定される時間分のずれが少なくとも存在するが、これらのずれについては予め補正されているものとする。また、上述したタイムスタンプシフティング処理の内容は一例であり、これ以外の方法によるタイムスタンプシフティング処理であってもよい。
【００９１】
また、タイムスタンプ測定部１０３およびタイムスタンプ測定部２０４が測定する時刻を示す情報であるタイムスタンプ情報は、送信機１の光子データ列から、受信機２が検出した光子に対応するビットを特定するために利用することを目的とするため、この場合の時刻は絶対時刻である必要はない。例えば、有限なビット長のシーケンスナンバであり、送信機１が光子を送信するタイミングに応じて１ずつインクリメントされていき、すべてのビットが１になったら０にオールリセットされるような値を時刻の情報としてもよい。例えば、光子送信部１０１の動作速度が１［ＧＨｚ］である場合、光子の送信間隔は１［ｎｓ］となる。このとき、１［ｎｓ］毎にインクリメントされる値が、送信光子情報の一部であるタイムスタンプ情報として蓄積部１１１に記憶され蓄積される。ここで、タイムスタンプ情報が３２ビットだとすると、タイムスタンプ情報は４秒間でループすることになる。光子の送信時刻から、タイムスタンプシフティング処理が完了し、送信機１が送信した光子列のうち、受信機２で検出された光子に対応する光子の特定が完了する時刻までの時間間隔が、このループの時間間隔以下（上述の例では、４秒以下）であれば、タイムスタンプシフティング処理の動作は可能である。すなわち、タイムスタンプ情報のビット長は、光子の送信間隔とタイムスタンプシフティング処理との処理時間によって決定されるべき項目である。
【００９２】
次に、図５のステップＳ２６〜Ｓ２９に示す基底シフティング処理の概要について説明する。基底シフティング処理は、タイムスタンプシフティング処理において、受信機２によって検出された光子のうち、送信機１においては、受信機２で選択された受信基底と一致する送信基底に対応する送信信号ビット情報のみを抽出することによって共有ビット列を生成し、受信機２においては、送信機１で選択された送信基底と一致する受信基底に対応する受信信号ビット情報のみを抽出することによって共有ビット列を生成する処理である。
【００９３】
＜ステップＳ２６＞
受信機２の基底情報送信部２０７は、蓄積部２１１に蓄積された「検出光子情報」のうち、受信基底情報を、データ通信部２１４および古典通信路を介して送信機１に送信する。
【００９４】
＜ステップＳ２７＞
送信機１のマッチング処理部１０８は、受信機２から古典通信路およびデータ通信部１１４を介して受信した受信基底と、光子特定部１０５受け取った送信光子情報に含まれる送信基底と、比較し、受信基底と送信基底とが一致する基底に対応する送信信号ビットを抽出し、共有ビット列を生成する。また、マッチング処理部１０８は、マッチング処理の結果、受信した受信基底が、それぞれ、送信基底と一致したか否かに関する情報（基底一致情報）を、基底一致情報送信部１０７へ送る。
【００９５】
＜ステップＳ２８＞
送信機１の基底一致情報送信部１０７は、マッチング処理部１０８から受け取った基底一致情報を、データ通信部１１４および古典通信路を介して受信機２に送信する。
【００９６】
＜ステップＳ２９＞
受信機２のマッチング処理部２０８は、送信機１から古典通信路およびデータ通信部２１４を介して受信した基底一致情報と、蓄積部２１１に記憶された「検出光子情報」と、から送信基底と一致する受信基底を持つ「検出光子情報」の受信信号ビットのみを抽出し、共有ビット列を生成する。
【００９７】
以上のステップＳ２６〜Ｓ２９が基底シフティング処理の概要であり、送信機１および受信機２の双方において、受信基底と送信基底とが一致した送信信号ビット、または受信信号ビットのみを選び出すことができる。
【００９８】
上述のシフティング処理では、タイムスタンプ通信、受信基底の通信、および基底一致情報の通信という３種類の情報の通信が発生する。これらの通信は、通信ケーブル４で行われてもよく、単一光子の送信に用いられるものと同一の光ファイバリンク３を用いて行われてもよく、または、単一光子の送信とは異なる光ファイバを用いて行われてもよい。また、３種類の情報の通信は、それぞれ異なる光ファイバまたは通信ケーブルを用いて実現されるものとしてもよい。また、タイムスタンプシフティング処理におけるタイムスタンプ通信と、基底シフティング処理における受信基底の通信とは、連続して実行される同一方向の情報通信である。このため、この２つの通信を併せて一度に実行するバリエーションも可能である。
【００９９】
なお、シフティング処理での処理単位には、例えば、以下のようなバリエーションがある。
【０１００】
（Ａ）単一光子を検出する度に、タイムスタンプシフティング処理および基底シフティング処理を実行する。すなわち、単一光子を１つ検出する毎に、１ビットからなる共有ビット列を生成するように動作する。
（Ｂ）複数の単一光子を検出した後に、複数の単一光子についてまとめてタイムスタンプシフティング処理および基底シフティング処理を実行する。
（Ｃ）単一光子を検出する度に、タイムスタンプシフティング処理を実行し、タイムスタンプシフティング処理の結果として得られた、送信光子情報および検出光子情報がある一定量（例えば、Ｎビット）蓄積された後に、これらを連結してまとめて基底シフティング処理を実行し、Ｎビットからなる共有ビット列を生成するように動作する。
【０１０１】
上述の（Ａ）〜（Ｃ）のどのような処理単位でシフティング処理を行うことも可能であるが、以降の説明では（Ｃ）のバリエーションを想定して説明する。
【０１０２】
次に、図６〜１０を参照しながら、タイムスタンプシフティング処理に関わる構成および処理の流れについて説明する。図６で従来方式（１）の説明、図７および８で従来方式（２）の説明、図９および１０で本実施形態の方式の説明を順に行う。なお、説明の都合上、タイムスタンプシフティング処理に加えて、光子送受信処理の説明も含む。また、図６、７および９では、タイムスタンプシフティング処理および光子送受信処理を担う機能部を抜粋した構成を示している。
【０１０３】
図６は、従来方式（１）のタイムスタンプシフティング処理の動作を説明する図である。まず、図６を参照しながら、従来方式（１）のタイムスタンプシフティング処理の動作について説明する。
【０１０４】
図６に示すように、従来方式（１）の送信機（以下、図６の説明においては、単に「送信機」と称する）は、光子送信部１０１ｂと、タイムスタンプ測定部１０３ｂと、光子特定部１０５ｂと、蓄積部１１１ｂと、データ通信部１１４ｂと、を含む。また、従来方式（１）の受信機（以下、図６の説明においては、単に「受信機」と称する）は、光子検出部２０１ｂと、検出制御部２０３ｂと、タイムスタンプ測定部２０４ｂと、デッドタイム設定参照部２０６ｂと、蓄積部２１１ｂと、データ通信部２１４ｂと、を含む。以下、これらの機能部について、従来方式（１）のタイムスタンプシフティング処理の流れに沿う順にその動作の説明をする。
【０１０５】
なお、送信機および受信機は、同期された時刻が利用可能である前提になっているものとする。すなわち、送信機が光子を送信した時刻（タイムスタンプ）、および受信機がその光子を検出した時刻（タイムスタンプ）は、一致することを前提とする。時刻を同期する方式の一例としては、実際に受信機で計測される時刻を単一光子が光ファイバ上を伝送される遅延を考慮して一定時間遅らせるという方式がある。または、単一光子の光ファイバ上の送信時間が変動する場合、これをふまえて、受信機と送信機との間の時刻のずれを補正する方式としてもよい。
【０１０６】
光子送信部１０１ｂは、例えば、乱数によって発生させたビット情報である送信信号光子ビットと、同様に乱数等によって生成・選択した基底情報（送信基底）と、に基づく位相状態または偏光状態に対応するように生成した単一光子を、量子通信路を介して、受信機の光子検出部２０１ｂに送信する。光子送信部１０１ｂは、送信信号ビット情報と、送信基底情報と、をタイムスタンプ測定部１０３ｂに送る。
【０１０７】
タイムスタンプ測定部１０３ｂは、光子送信部１０１ｂによって単一光子が送信された時刻を示す情報である送信タイムスタンプ情報を測定する。タイムスタンプ測定部１０３ｂは、送信信号ビット情報と、送信基底情報と、測定したタイムスタンプ情報と、を、送信光子情報として、蓄積部１１１ｂに記憶させる。
【０１０８】
光子検出部２０１ｂは、量子通信路を介して、送信機の光子送信部１０１ｂから送信された光子を受信し、受信した光子を、ランダムに選択した基底情報（受信基底）に基づいて読み取ることによって、送信信号ビット情報に相当する受信信号ビット情報を得る。光子検出部２０１ｂは、受信信号ビット情報と、受信基底情報と、を検出制御部２０３ｂに送る。
【０１０９】
検出制御部２０３ｂは、光子検出部２０１ｂのＡＰＤのアフターパルスに由来する光子の誤検出を抑えるため、光子検出部２０１ｂによる本来の光子の検出が行われた後、デッドタイム設定参照部２０６ｂにより参照される、設定されたデッドタイムである所定時間の間、光子検出部２０１ｂの光子の検出動作または光子検出信号送信動作等が抑制される。検出動作が抑制されている場合、そもそも上述の光子検出部２０１ｂによって、光子の検出が行われない。光子検出信号送信動作が抑制されている場合、上述の光子検出部２０１ｂは動作し、光子検出部２０１ｂから受信信号ビット情報と、受信基底情報と、が検出制御部２０３ｂに送られるが、この情報が破棄される。設定されたデッドタイムである所定時間の間ではない場合、すなわち抑制の必要がない場合、受信信号ビット情報と、受信基底情報と、はタイムスタンプ測定部２０４ｂに送られる。
【０１１０】
デッドタイム設定参照部２０６ｂは、光子検出部２０１ｂのＡＰＤのアフターパルスに由来する光子の誤検出を抑えるためのデッドタイムの設定を参照するために、検出制御部２０３ｂから利用される。
【０１１１】
タイムスタンプ測定部２０４ｂは、光子検出部２０１ｂによって単一光子が検出された時刻を示す情報である受信タイムスタンプ情報を測定する。タイムスタンプ測定部２０４ｂは、測定した受信タイムスタンプ情報を、データ通信部２１４ｂへ送ると共に、受け取った受信信号ビット情報と、受信基底情報と、を検出光子情報として蓄積部２１１ｂに記憶させる。
【０１１２】
データ通信部２１４ｂは、古典通信路を介して、タイムスタンプ測定部２０４ｂで測定された時刻を示す情報である受信タイムスタンプ情報を、通信タイムスタンプ情報として送信機に送信する。
【０１１３】
データ通信部１１４ｂは、古典通信路を介して、受信機から通信タイムスタンプ情報を受信する。
【０１１４】
光子特定部１０５ｂは、受信機から受信した通信タイムスタンプ情報、すなわち、タイムスタンプ測定部２０４ｂで測定された時刻を示す受信タイムスタンプ情報と、送信光子情報として蓄積部１１１ｂに記憶されている、タイムスタンプ測定部１０３ｂにより測定された時刻を示す送信タイムスタンプ情報と、を比較し、光子送信部１０１ｂにより送信された光子のうち、どの光子が光子検出部２０１ｂによって検出されたかを特定する。光子特定部１０５ｂは、受信タイムスタンプ情報と一致する送信タイムスタンプ情報を持つ「送信光子情報」に含まれる、送信信号ビット情報と、送信基底と、を蓄積部１１１ｂに記憶させる。この光子特定部１０５ｂの処理が、タイムスタンプシフティング処理の中心となる処理であり、これによって、光子検出位２０１ｂによって検出された光子に対応する、送信信号ビット情報と送信基底とを選び出すことができる。
【０１１５】
以上のように、従来方式（１）では、受信機から送信機、すなわち、データ通信部２１４ｂからデータ通信部１１４ｂに送信する通信タイムスタンプ情報として、時刻そのものを示す情報（すなわち、受信タイムスタンプ情報）を送信するものとしている。この場合のタイムスタンプ情報は、例えば、３２ビット等のデータ量で構成される。
【０１１６】
図７は、従来方式（２）のタイムスタンプシフティング処理の動作を説明する図である。図８は、従来方式（２）で送受信されるタイムスタンプ情報の例を示す図である。次に、図７および８を参照しながら、従来方式（２）のタイムスタンプシフティング処理の動作について説明する。
【０１１７】
図７に示すように、従来方式（２）の送信機（以下、図７および８の説明においては、単に「送信機」と称する）は、光子送信部１０１ｃと、タイムスタンプ測定部１０３ｃと、タイムスタンプ復元部１０４ｃと、光子特定部１０５ｃと、蓄積部１１１ｃと、データ通信部１１４ｃと、を含む。また、従来方式（２）の受信機（以下、図７および８の説明においては、単に「受信機」と称する）は、光子検出部２０１ｃと、検出制御部２０３ｃと、タイムスタンプ測定部２０４ｃと、差分情報生成部２０５ｃと、デッドタイム設定参照部２０６ｃと、蓄積部２１１ｃと、データ通信部２１４ｃと、を含む。以下、これらの機能部について、従来方式（２）のタイムスタンプシフティング処理の流れに沿う順にその動作の説明をする。
【０１１８】
なお、従来方式（１）と同様に、送信機および受信機は、同期された時刻が利用可能である前提になっているものとする。また、これらの機能部のうち、光子送信部１０１ｃ、タイムスタンプ測定部１０３ｃ、光子検出部２０１ｃ、検出制御部２０３ｃ、およびデッドタイム設定部２０６ｃの機能は、それぞれ、従来方式（１）で説明した光子送信部１０１ｂ、タイムスタンプ測定部１０３ｂ、光子検出部２０１ｂ、検出制御部２０３ｂ、およびデッドタイム設定部２０６ｂの機能と同様である。したがって、従来方式（２）のタイムスタンプシフティング処理について、従来方式（１）のタイムスタンプシフティング処理と相違する構成および動作を中心に説明する。
【０１１９】
タイムスタンプ測定部２０４ｃは、光子検出部２０１ｃによって単一光子が検出された時刻を示す情報である受信タイムスタンプ情報を測定する。タイムスタンプ測定部２０４ｃは、測定した受信タイムスタンプ情報を、差分情報生成部２０５ｃへ送ると共に、受け取った受信信号ビット情報と、受信基底情報と、を「検出光子情報」として蓄積部２１１ｃに記憶させる。なお、タイムスタンプ測定部２０４ｃは、測定したタイムスタンプ情報の一回分の情報を、読み出し速度が高速なキャッシュメモリ等に記憶させるものとしてもよい。
【０１２０】
差分情報生成部２０５ｃは、タイムスタンプ測定部２０４ｃから受け取った、今回測定された受信タイムスタンプ情報と、蓄積部またはキャッシュメモリ等に記憶されている、タイムスタンプ測定部２０４ｃから前回受け取った受信タイムスタンプ情報と、の差分である差分タイムスタンプ情報を生成する。ここで、タイムスタンプ測定部２０４ｃによって測定された時刻そのものを示す受信タイムスタンプ情報を、差分タイムスタンプ情報に対して、「標準タイムスタンプ情報」と称するものとする。差分情報生成部２０５ｃは、タイムスタンプ測定部２０４ｃにより今回測定された受信タイムスタンプ情報をキャッシュメモリ（または蓄積部）に記憶させ、次回の差分情報生成に利用する。差分情報生成部２０５ｃは、生成した差分タイムスタンプ情報を、データ通信部２１４ｃへ送る。
【０１２１】
なお、システム起動直後の最初の光子検出部２０１ｃによる光子の検出時のタイムスタンプ情報については、対応する前回の検出時のタイムスタンプ情報が記憶されていないため、差分情報生成部２０５ｃは、従来方式（１）と同様に、タイムスタンプ測定部２０４ｃにより測定された時刻を示す情報である受信タイムスタンプ情報をそのまま、データ通信部２１４ｃに送るものとしてもよい。また、差分情報生成部２０５ｃは、常に差分タイムスタンプ情報を生成して、データ通信部２１４ｃに送るのではなく、定期的または間欠的に標準タイムスタンプ情報を送るものとしてもよい。
【０１２２】
また、差分タイムスタンプ情報のビット長は、光子検出部２０１ｃにより光子が検出される標準的な頻度を想定し、十分に差分の時間が表現できる程度の長さとすればよい。例えば、光子検出部２０１ｃの動作周波数が１［ＧＨｚ］である場合、差分タイムスタンプ情報のビット長を７ビットとすれば、タイムスタンプ測定部２０４ｃにより前回測定されたタイムスタンプ情報と、今回測定されたタイムスタンプ情報との差分が１２８［ｎｓ］以下であれば、表現可能である。もし、前回測定されたタイムスタンプ情報の時刻から１２８［ｎｓ］経過しても、次の光子が検出されなかった場合（タイムスタンプ測定部２０４ｃによりタイムスタンプ情報が測定されなかった場合）、タイムスタンプ情報がないことを示す制御信号を、データ通信部２１４ｃに受け渡し、これを送信機へ送信するものとしてもよい。差分タイムスタンプ情報を表現するフレームフォーマットの一例を図８に示す。
【０１２３】
図８（ａ）は、受信機から送信機に送信されるタイムスタンプ情報を含む情報のフォーマットを示す。この情報のフォーマットは、ヘッダ部に相当する差分フラグおよび検出フラグ、ならびに、オプションとなるデータ部に相当するタイムスタンプ情報で構成される。差分フラグは、フォーマットが含むタイムスタンプ情報が差分タイムスタンプ情報なのか、標準タイムスタンプ情報なのかを示す１ビットのフラグである。検出フラグは、光子検出部２０１ｃにより光子が検出されたことを通知するためのデータ送信であるか否かを示す１ビットのフラグである。
【０１２４】
図８（ｂ）に示す情報は、システム起動直後の最初の光子検出部２０１ｃによる光子の検出時等に利用される標準タイムスタンプ情報を送信する場合の情報を示す。図８（ｂ）に示す情報は、標準タイムスタンプ情報を含むので、差分フラグが「０」（差分でない）、検出フラグが「１」（検出した）、タイムスタンプ情報が標準タイムスタンプ情報（例えば、従来方式（１）で示したように３２ビット）となる。
【０１２５】
図８（ｃ）に示す情報は、差分タイムスタンプ情報を送信する場合の情報を示す。図８（ｃ）に示す情報は、差分タイムスタンプ情報を含むので、差分フラグが「１」（差分である）、検出フラグが「１」（検出した）、タイムスタンプ情報は差分タイムスタンプ情報（上述したように、例えば、７ビット）となる。
【０１２６】
図８（ｄ）に示す情報は、前回光子が検出されたタイムスタンプ情報が示す時刻から、差分タイムスタンプ情報を表現するためのビット長(ここでは、７ビット)で表現できる時間（ここでは１２７［ｎｓ］）までの間に、次の光子が検出されなかった場合に、これを通知するために用いられる情報である。図８（ｄ）に示す情報は、差分フラグが「１」(または「０」のどちらでもよい)、検出フラグが「０」(検出しなかった)、そして、タイムスタンプ情報が無い情報である。なお、ダミーのタイムスタンプ情報を付加して送信する方式であってもよい。
【０１２７】
なお、図８に示すフォーマットは一例である。例えば、タイムスタンプシフティング処理に後続する基底シフティング処理で用いるため、受信機２が送信機１へ送信する受信基底の情報も、同時に送信するように、受信基底情報を示すための１ビットの情報が追加されていても良い。
【０１２８】
データ通信部２１４ｃは、古典通信路を介して、差分情報生成部２０５ｃで生成された差分タイムスタンプ情報を送信機に送信する。
【０１２９】
データ通信部１１４ｃは、古典通信路を介して、受信機から差分タイムスタンプ情報を受信する。
【０１３０】
タイムスタンプ復元部１０４ｃは、自身が保持する、前回、光子検出部２０１ｃが光子を検出した時刻を示す受信タイムスタンプ情報（標準タイムスタンプ情報）と、今回、受信機から受信した差分タイムスタンプ情報と、から、今回、光子検出部２０１ｃが光子を検出した時刻を示す受信タイムスタンプ情報（標準タイムスタンプ情報）を復元する。タイムスタンプ復元部１０４ｃは、復元した、今回、光子検出部２０１ｃが光子を検出した時刻を示す受信タイムスタンプ情報（標準タイムスタンプ情報）を、光子特定部１０５ｃに送ると共に、次回のタイムスタンプ復元のため、自身に記憶する。
【０１３１】
光子特定部１０５ｃは、タイムスタンプ復元部１０４ｃにより復元された時刻を示す受信タイムスタンプ情報（標準タイムスタンプ情報）と、「送信光子情報」として蓄積部１１１ｃに記憶されている、タイムスタンプ測定部１０３ｃにより測定された時刻を示す送信タイムスタンプ情報と、を比較し、光子送信部１０１ｃにより送信された光子のうち、どの光子が光子検出部２０１ｃによって検出されたものであるかを特定する。光子特定部１０５ｃは、受信タイムスタンプ情報と一致する送信タイムスタンプ情報を持つ「送信光子情報」に含まれる、送信信号ビット情報と、送信基底と、をそれぞれ抽出し、蓄積部１１１ｃに記憶させる。この光子特定部１０５ｃの処理が、タイムスタンプシフティング処理の中心となる処理であり、これによって、光子検出部２０１ｃによって検出された光子に対応する、送信信号ビット情報と送信基底とを選び出すことができる。
【０１３２】
以上のように、従来方式（２）では、受信機から送信機、すなわち、データ通信部２１４ｃからデータ通信部１１４ｃに送信するタイムスタンプ情報として、差分情報生成部２０５ｃにより生成された時刻の差分を示す差分タイムスタンプ情報を送信するものとしている。このため、従来方式（１）では、タイムスタンプ通信で送信されるタイムスタンプ情報は、標準タイムスタンプ情報（例えば、３２ビット）であるのに対し、従来方式（２）では、タイムスタンプ通信で送信されるタイムスタンプ情報は、差分タイムスタンプ情報）（例えば、７ビット）であるので、従来方式（１）と比較してタイムスタンプ通信に必要な帯域を一般的には削減することができる。
【０１３３】
図９は、第１の実施形態に係る量子鍵配送システムのタイムスタンプシフティング処理の動作を説明する図である。図１０は、第１の実施形態でのタイムスタンプ情報のゼロ点を説明する図である。次に、図９および１０を参照しながら、本実施形態のタイムスタンプシフティング処理の動作について説明する。
【０１３４】
図９に示すように、本実施形態の送信機１は、図３で上述したように、光子送信部１０１と、タイムスタンプ測定部１０３と、光子特定部１０５と、タイムスタンプ復元部１０４と、デッドタイム設定参照部１０６と、蓄積部１１１と、データ通信部１１４と、を含む。また、本実施形態の受信機２は、図３で上述したように、光子検出部２０１と、検出制御部２０３と、タイムスタンプ測定部２０４と、差分情報生成部２０５（差分生成手段）と、デッドタイム設定参照部２０６と、蓄積部２１１と、データ通信部２１４と、を含む。以下、これらの機能部について、本実施形態のタイムスタンプシフティング処理の流れに沿う順にその動作の説明をする。
【０１３５】
なお、上述したように、送信機１および受信機２は、同期された時刻が利用可能である前提になっているものとする。また、図９に示した送信機１および受信機２の機能部の基本動作は、図３で上述した通りであるが、本実施形態のタイムスタンプシフティング処理について、従来方式（２）のタイムスタンプシフティング処理と相違する構成および動作を中心に説明する。
【０１３６】
差分情報生成部２０５は、タイムスタンプ測定部２０４から受け取った、今回測定された受信タイムスタンプ情報と、蓄積部２１１またはキャッシュメモリ等に記憶されている、タイムスタンプ測定部２０４から前回受け取った受信タイムスタンプ情報と、デッドタイム設定参照部２０６によって参照されて取得されるデッドタイムと、に基づいて、単一光子が検出された時刻に関する差分情報（差分タイムスタンプ情報）を生成する。具体的には、従来方式（２）のように、前回、単一光子が検出された標準タイムスタンプ情報と、今回測定された標準タイムスタンプ情報との差分情報を差分タイムスタンプ情報とするのではなく、差分情報生成部２０５は、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻に、デッドタイム設定部２０６が設定したデッドタイムを加えて求めた時刻と、今回測定された標準タイムスタンプ情報が示す時刻と間の差分を差分タイムスタンプ情報として生成する。すなわち、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻から、デッドタイムが経過するまでの間の時間は、差分タイムスタンプ情報に含めないことになる。ここで、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻から、デッドタイムが経過するまでの期間は、検出制御部２０３によって光子検出部２０１の光子の検出動作を抑制（光子の検出を行わない、または、光子検出信号送信動作をしない）される。したがって、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻から、デッドタイムが経過するまでの間の時間は、差分タイムスタンプ情報に含めて表現する必要がない。
【０１３７】
図１０では、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻（図１０では「前回の光子検出タイムスタンプ」と表現）と、今回測定された標準タイムスタンプ情報が示す時刻（図１０では「今回の光子検出タイムスタンプ」と表現）と、デッドタイムとの関係が、時系列に整理して示されている。従来方式（２）での差分タイムスタンプ情報は、前回、単一光子が検出された標準タイムスタンプ情報と、今回測定された標準タイムスタンプ情報との差分としている。すなわち、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻が、従来方式（２）における差分タイムスタンプ情報のゼロ点である。一方、本実施形態での差分タイムスタンプ情報は、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻に、光子が検出されない、または光子の検出の結果が通知されないデッドタイムを加えて求めた時刻と、今回測定された標準タイムスタンプ情報が示す時刻との間の差分としている。すなわち、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻に対し、光子の検出がされない、または光子の検出の結果が通知されないデッドタイムを加えて求めた時刻が、本実施形態における差分タイムスタンプ情報のゼロ点である。このゼロ点の差により、本実施形態では、差分タイムスタンプ情報として表現すべき時刻の幅が、従来方式（２）に比べて小さくなっている。
【０１３８】
データ通信部２１４は、古典通信路を介して、差分情報生成部２０５で生成された差分タイムスタンプ情報を送信機１に送信する。
【０１３９】
データ通信部１１４は、古典通信路を介して、受信機２から差分タイムスタンプ情報を受信する。
【０１４０】
デッドタイム設定参照部１０６は、光子検出部２０１のＡＰＤのアフターパルスに由来する光子の誤検出を抑えるために設定されたデッドタイムの値を参照する。
【０１４１】
タイムスタンプ復元部１０４は、自身が保持する、前回、光子検出部２０１が光子を検出した時刻を示す受信タイムスタンプ情報（標準タイムスタンプ情報）と、データ通信部１１４により受信された差分タイムスタンプ情報と、デッドタイム設定参照部１０６が参照するデッドタイムと、から、受信機２が光子を検出したタイムスタンプ情報（標準タイムスタンプ情報）に復元する。具体的には、タイムスタンプ復元部１０４は、差分タイムスタンプ情報に、デッドタイムを加えた値を、前回、光子検出部２０１が光子を検出した時刻を示す受信タイムスタンプ情報（標準タイムスタンプ情報）に加えることによって、今回、受信機２が光子を検出したタイムスタンプ情報（標準タイムスタンプ情報）を復元する。タイムスタンプ復元部１０４は、復元した、今回、受信機２が光子を検出したタイムスタンプ情報（標準タイムスタンプ情報）を、光子特定部１０５に送ると共に、次回のタイムスタンプ復元のため、自身に記憶する。
【０１４２】
以上のように、本実施形態では、タイムスタンプ通信で送信される差分タイムスタンプ情報は、従来方式（２）と比較して、デッドタイム分の時間を表現する必要がないため、従来方式（２）の場合よりも短いビット長で表現することができ、タイムスタンプ通信に必要な帯域を削減することができる。
【０１４３】
次に、従来方式（１）、従来方式（２）および本実施形態それぞれのタイムスタンプシフティング処理におけるタイムスタンプ情報の通信に必要なデータ帯域について、例を挙げて定量的に比較する。例えば、送信機における光子送信処理におけるパルスの駆動速度が１［ＧＨｚ］であり、光子を伝送する光ファイバのロスおよびＡＰＤの効率等により、合計２０［ｄＢ］のロスがあり、送信機が送信した光子のうち１／１００のみが、受信機側で検出されると仮定する。このとき、光子の検出の頻度は平均で１［ｎｓ］×１００＝１００［ｎｓ］となる。すなわち、平均的な光子検出処理の速度は１０［Ｍｃｏｕｎｔ／ｓ］となる。
【０１４４】
従来方式（１）を用いて、３２ビットのタイムスタンプ情報を送信する場合、必要なタイムスタンプ情報の通信帯域は、３２［ｂｉｔ］／１００［ｎｓ］＝３２０［Ｍｂｐｓ］となる。
【０１４５】
また、従来方式（２）を用いて、７ビットの差分タイムスタンプ情報を送信し、差分タイムスタンプ情報を含む情報のフォーマットに２ビットのフラグが付加される場合、必要なタイムスタンプ情報の通信帯域は、（７＋２）［ｂｉｔ］／１００［ｎｓ］＝９０［Ｍｂｐｓ］となる。ここで、従来方式（２）において差分タイムスタンプ情報のビット長を７ビットとした理由を説明する。７ビットであれば、差分タイムスタンプ情報が示す時間が１２８［ｎｓ］まで表現できる。これにより、平均的な光子の検出の頻度は１００［ｎｓ］であるから、これよりも長い時間である１２８［ｎｓ］までの差分を表現できるようにすることで、概ね全ての検出される光子が差分タイムスタンプ情報によって表現可能と考えられる。
【０１４６】
そして、本実施形態において、従来方式（２）と同様の１２８［ｎｓ］までの差分がある光子検出を行う場合に必要なビット長を考えるには、このときのデッドタイムに関する仮定が必要である。ここで、デッドタイムの設定値を７０［ｎｓ］であるとする。このとき、本実施形態で実際に表現しなければならない差分タイムスタンプ情報は、７１［ｎｓ］〜１２８［ｎｓ］までの時間である。デッドタイムが７０［ｎｓ］である点を考慮し、図１０に示す本実施形態のゼロ点を採用した場合、差分タイムスタンプ情報として表現すべき時間の範囲は、１［ｎｓ］〜５８［ｎｓ］までの時間であり、５８通りの値である。この値の範囲であれば、６ビットで表現可能である。よって、差分タイムスタンプ情報を含む情報のフォーマットに２ビットのフラグが付加される場合、必要なタイムスタンプ情報の通信帯域は、（６＋２）［ｂｉｔ］／１００［ｎｓ］＝８０［Ｍｂｐｓ］となる。この値は、従来方法（２）に比べて、１０［％］以上小さくなっており、必要な帯域が削減されている。以上のように本実施形態のタイムスタンプシフティング処理を採用することにより、従来方法（２）と比較して、タイムスタンプ情報の通信帯域を１０［％］以上削減することができることになる。
【０１４７】
以上のように、本実施形態では、タイムスタンプ通信で送信される差分タイムスタンプ情報は、従来方式（２）と比較して、デッドタイム分の時間を表現する必要がないため、従来方式（２）の場合よりも短いビット長で表現することができ、タイムスタンプ通信に必要な帯域を削減することができる。これにより、高速なタイムスタンプシフティング処理が可能となり、ひいては、高速な量子鍵配送の処理を実現することができる。
【０１４８】
（第２の実施形態）
第２の実施形態に係る量子鍵配送システムについて、第１の実施形態に係る量子鍵配送システム１００と相違する点を中心に説明する。なお、本実施形態に係る量子暗号通信システムの構成、送信機および受信機のハードウェア構成、暗号鍵の共有動作、およびシフティング処理の概要は、第１の実施形態と同様である。
【０１４９】
図１１は、第２の実施形態に係る量子鍵配送システムの機能ブロックの構成の一例を示す図である。図１１を参照しながら、量子鍵配送システム１００ａの送信機１ａおよび受信機２ａの機能ブロックの構成および動作について説明する。
【０１５０】
図１１に示すように、送信機１ａ（他の通信装置、第２通信装置）は、光子送信部１０１（光子送信手段）と、シフティング処理部１０２ａと、誤り訂正処理部１０９と、秘匿性増強処理部１１０と、蓄積部１１１と、鍵管理部１１２と、鍵利用部１１３と、データ通信部１１４（受信手段）と、を有する。このうち、光子送信部１０１、誤り訂正処理部１０９、秘匿性増強処理部１１０、蓄積部１１１、鍵管理部１１２、鍵利用部１１３、およびデータ通信部１１４の動作は、第１の実施形態の送信機１と同様である。
【０１５１】
シフティング処理部１０２ａは、受信機２ａの光子検出部２０１が生成した基底情報（受信基底）を、古典通信路を介して受信し、受信した受信基底と、送信基底とを比較して、受信基底と送信基底とが一致する部分に対応する送信信号ビットのみを抽出して、共有ビット列を生成するシフティング処理を実行する機能部である。シフティング処理部１０２ａは、生成した共有ビット列を、誤り訂正処理部１０９に送る。シフティング処理部１０２ａは、タイムスタンプ測定部１０３（第２測定手段）と、タイムスタンプ復元部１０４（復元手段）と、光子特定部１０５（特定手段）と、タイムスタンプ予測部１０６ａと、基底一致情報送信部１０７と、マッチング処理部１０８と、を有する。基底一致情報送信部１０７およびマッチング処理部１０８の動作は、第１の実施形態の送信機１と同様である。タイムスタンプ測定部１０３、タイムスタンプ復元部１０４、光子特定部１０５、およびタイムスタンプ予測部１０６ａの動作については、図１２および１３で後述する。
【０１５２】
上述のシフティング処理部１０２ａ、誤り訂正処理部１０９、秘匿性増強処理部１１０、鍵管理部１１２、および鍵利用部１１３は、例えば、図２に示すＣＰＵ３０１が補助記憶装置３０５等に記憶されたプログラムをＲＡＭ３０３に読み出して実行することによって実現される。なお、シフティング処理部１０２ａ、誤り訂正処理部１０９、秘匿性増強処理部１１０、鍵管理部１１２、および鍵利用部１１３のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかが、例えば、ＡＳＩＣ、ＦＰＧＡまたはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
【０１５３】
なお、図１１に示す光子送信部１０１、シフティング処理部１０２ａ、タイムスタンプ測定部１０３、タイムスタンプ復元部１０４、光子特定部１０５、タイムスタンプ予測部１０６ａ、基底一致情報送信部１０７、マッチング処理部１０８、誤り訂正処理部１０９、秘匿性増強処理部１１０、蓄積部１１１、鍵管理部１１２、鍵利用部１１３、およびデータ通信部１１４は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図１１に示す送信機１ａで、独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図１１に示す送信機１ａで、１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【０１５４】
図１１に示すように、受信機２ａ（通信装置、第１通信装置）は、光子検出部２０１（光子検出手段）と、シフティング処理部２０２ａと、誤り訂正処理部２０９（訂正手段）と、秘匿性増強処理部２１０（秘匿性増強手段）と、蓄積部２１１と、鍵管理部２１２と、鍵利用部２１３と、データ通信部２１４（送信手段）と、を有する。このうち、光子検出部２０１、誤り訂正処理部２０９、秘匿性増強処理部２１０、蓄積部２１１、鍵管理部２１２、鍵利用部２１３、およびデータ通信部２１４の動作は、第１の実施形態の受信機２と同様である。
【０１５５】
シフティング処理部２０２ａは、送信機１ａの基底一致情報送信部１０７が生成した上述の基底一致情報を、古典通信路を介して受信し、光子ビット列から、受信した基底一致情報によって受信基底と送信基底とが一致したとされるビットを抽出して共有ビット列を生成するシフティング処理を実行する機能部である。シフティング処理部２０２ａは、生成した共有ビット列を、誤り訂正処理部２０９に送る。シフティング処理部２０２ａは、検出制御部２０３と、タイムスタンプ測定部２０４（測定手段、第１測定手段）と、差分情報生成部２０５と、タイムスタンプ予測部２０６ａ（予測手段）と、基底情報送信部２０７と、マッチング処理部２０８（マッチング処理手段）と、デッドタイム設定参照部２１５と、を有する。基底情報送信部２０７およびマッチング処理部２０８の動作は、第１の実施形態の受信機２と同様である。タイムスタンプ測定部２０４、差分情報生成部２０５、およびタイムスタンプ予測部２０６ａの動作については、図１２および１３で後述する。
【０１５６】
上述のシフティング処理部２０２ａ、誤り訂正処理部２０９、および秘匿性増強処理部２１０は、例えば、図２に示すＣＰＵ３０１が補助記憶装置３０５等に記憶されたプログラムをＲＡＭ３０３に読み出して実行することによって実現される。なお、シフティング処理部２０２ａ、誤り訂正処理部２０９、および秘匿性増強処理部２１０のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかが、例えば、ＡＳＩＣ、ＦＰＧＡまたはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
【０１５７】
なお、図１１に光子検出部２０１、シフティング処理部２０２ａ、タイムスタンプ測定部２０４、差分情報生成部２０５、タイムスタンプ予測部２０６ａ、基底情報送信部２０７、マッチング処理部２０８、誤り訂正処理部２０９、秘匿性増強処理部２１０、蓄積部２１１、およびデータ通信部２１４は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図１１に示す受信機２ａで、独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図１１に示す受信機２ａで、１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【０１５８】
図１２は、第２の実施形態に係る量子鍵配送システムのタイムスタンプシフティング処理の動作を説明する図である。図１３は、第２の実施形態でのタイムスタンプ情報のゼロ点を説明する図である。図１２および１３を参照しながら、本実施形態のタイムスタンプシフティング処理の動作について説明する。
【０１５９】
図１２に示すように、本実施形態の送信機１ａは、図１１で上述したように、光子送信部１０１と、タイムスタンプ測定部１０３と、光子特定部１０５と、タイムスタンプ復元部１０４と、タイムスタンプ予測部１０６ａと、データ通信部１１４と、を含む。また、本実施形態の受信機２ａは、図１１で上述したように、光子検出部２０１と、検出制御部２０３と、タイムスタンプ測定部２０４と、差分情報生成部２０５と、タイムスタンプ予測部２０６ａと、データ通信部２１４と、デッドタイム設定参照部２１５と、を含む。以下、これらの機能部について、本実施形態のタイムスタンプシフティング処理の流れに沿う順にその動作の説明をする。なお、送信機１ａおよび受信機２ａは、同期された時刻が利用可能である前提になっているものとする。
【０１６０】
光子送信部１０１は、例えば、乱数によって発生させたビット情報である送信信号光子ビットと、同様に乱数等によって生成・選択した基底情報（送信基底）と、に基づく位相状態または偏光状態に対応するように生成した単一光子を、量子通信路を介して、受信機２ａの光子検出部２０１に送信する。光子送信部１０１は、送信信号ビット情報と、送信基底情報と、をタイムスタンプ測定部１０３に送る。
【０１６１】
タイムスタンプ測定部１０３は、光子送信部１０１によって単一光子が送信された時刻を示す情報である送信タイムスタンプ情報（標準タイムスタンプ情報）（第２タイムスタンプ情報）を測定する。タイムスタンプ測定部１０３は、送信信号ビット情報と、送信基底情報と、測定したタイムスタンプ情報と、を、送信光子情報として、蓄積部１１１に記憶させる。
【０１６２】
光子検出部２０１は、量子通信路を介して、送信機１ａの光子送信部１０１から送信された光子を受信し、受信した光子を、ランダムに選択した基底情報（受信基底）に基づいて読み取ることによって、送信信号ビット情報に相当する受信信号ビット情報を得る。光子検出部２０１は、受信信号ビット情報と、受信基底情報と、を検出制御部２０３に送る。
【０１６３】
検出制御部２０３は、光子検出部２０１のＡＰＤのアフターパルスに由来する光子の誤検出を抑えるため、光子検出部２０１による本来の光子の検出が行われた後、デッドタイム設定参照部２１５により参照される、設定されたデッドタイムである所定時間の間、光子検出部２０１の光子の検出動作または光子検出信号送信動作等が抑制される。検出動作が抑制されている場合、そもそも上述の光子検出部２０１によって、光子の検出が行われない。光子検出信号送信動作が抑制されている場合、上述の光子検出部２０１は動作し、光子検出部２０１から受信信号ビット情報と、受信基底情報と、が検出制御部２０３に送られるが、この情報が破棄される。設定されたデッドタイムである所定時間の間ではない場合、すなわち抑制の必要がない場合、受信信号ビット情報と、受信基底情報と、はタイムスタンプ測定部２０４に送られる。
【０１６４】
デッドタイム設定参照部２１５は、光子検出部２０１のＡＰＤのアフターパルスに由来する光子の誤検出を抑えるためのデッドタイムの設定を参照するために、検出制御部２０３から利用される。
【０１６５】
タイムスタンプ測定部２０４は、光子検出部２０１によって単一光子が検出された時刻を示す情報である受信タイムスタンプ情報（標準タイムスタンプ情報）（第１タイムスタンプ情報）を測定する。タイムスタンプ測定部２０４は、測定した受信タイムスタンプ情報を、差分情報生成部２０５へ送ると共に、受け取った受信信号ビット情報と、受信基底情報と、を「検出光子情報」として蓄積部２１１に記憶させる。なお、タイムスタンプ測定部２０４は、測定したタイムスタンプ情報を読み出し速度が高速なキャッシュメモリ等に記憶させるものとしてもよい。
【０１６６】
タイムスタンプ予測部２０６ａは、光子検出部２０１により光子が検出されてから、次回に光子が検出されるまで時間を予測する。タイムスタンプ予測部２０６ａは、予測した時間を予測値（特定の情報の一例、予測時間）として、蓄積部２１１に記憶させておく。タイムスタンプ予測部２０６ａは、例えば、光子が検出されるタイムスタンプ情報の差分、または光子の検出速度の平均値に基づいて、前回、光子が検出された時刻から、次回、光子が検出される時刻までの時間（予測値）を予測する。
【０１６７】
差分情報生成部２０５は、タイムスタンプ測定部２０４から受け取った、今回測定された受信タイムスタンプ情報と、蓄積部２１１またはキャッシュメモリ等に記憶されている、タイムスタンプ測定部２０４から前回受け取った受信タイムスタンプ情報と、タイムスタンプ予測部２０６ａによって予測された予測値と、に基づいて、単一光子が検出された時刻に関する差分情報（差分タイムスタンプ情報）を生成する。具体的には、差分情報生成部２０５は、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻に、タイムスタンプ予測部２０６ａが予測した予測値を加えて求めた時刻と、今回測定された標準タイムスタンプ情報が示す時刻と間の差分を差分タイムスタンプ情報として生成する。
【０１６８】
図１３では、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻（図１３では「前回の光子検出タイムスタンプ」と表現）と、今回測定された標準タイムスタンプ情報が示す時刻（図１３では、点Ａ、Ｂに示す「今回の光子検出タイムスタンプ」と表現）と、予測値との関係が、時系列に整理して示されている。従来方式（２）での差分タイムスタンプ情報は、前回、単一光子が検出された標準タイムスタンプ情報と、今回測定された標準タイムスタンプ情報との差分としている。すなわち、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻が、従来方式（２）における差分タイムスタンプ情報のゼロ点である。一方、本実施形態での差分タイムスタンプ情報は、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻に、タイムスタンプ予測部２０６ａにより予測された予測値を加えて求めた時刻と、今回測定された標準タイムスタンプ情報が示す時刻との間の差分としている。すなわち、前回、単一光子が検出された標準タイムスタンプ情報が示す時刻に対し、タイムスタンプ予測部２０６ａにより予測された予測値を加えて求めた時刻が、本実施形態における差分タイムスタンプ情報のゼロ点である。タイムスタンプ予測部２０６ａが求めるのは、次回、光子が検出される時刻までの時間の予測値なので、図１３に示すように、実際に光子が検出された（今回測定された）標準タイムスタンプ情報が示す時刻は、本実施形態の差分タイムスタンプ情報のゼロ点よりも前の時刻（点Ａ）である場合もあれば、後の時刻（点Ｂ）である場合もある。前の時刻（点Ａ）である場合のように、本実施形態での差分タイムスタンプ情報は、負値を取る場合がある。いずれにしても、本実施形態では、差分タイムスタンプ情報として表現すべき時刻の幅が、従来方式（２）に比べて小さくなっている。
【０１６９】
データ通信部２１４は、古典通信路を介して、差分情報生成部２０５で生成された差分タイムスタンプ情報を送信機１ａに送信する。
【０１７０】
データ通信部１１４は、古典通信路を介して、受信機２ａから差分タイムスタンプ情報を受信する。
【０１７１】
タイムスタンプ予測部１０６ａは、光子検出部２０１により光子が検出されてから、次回に光子が検出されるまで時間を予測する。タイムスタンプ予測部１０６ａは、予測した時間を予測値として、蓄積部１１１に記憶させておく。なお、上述の送信機１ａのタイムスタンプ予測部１０６ａは、受信機２ａのタイムスタンプ予測部２０６ａと同じ予測値を設定している。この場合、タイムスタンプ予測部１０６ａおよびタイムスタンプ予測部２０６ａが同じ予測値を保持する方法はどのような方法であっても構わない。運用者が手動で、受信機２ａのタイムスタンプ予測部２０６ａの値をコピーしても構わないし、受信機２ａのタイムスタンプ予測部２０６ａにおいて予測値が変更されると、自動的にその予測値が送信機１ａに送信され、送信機１ａのタイムスタンプ予測部１０６ａの予測値が変更されるようにしても構わない。逆に、送信機１ａのタイムスタンプ予測部１０６ａにおいて予測値が変更されると、自動的にその予測値が受信機２ａに送信され、受信機２ａのタイムスタンプ予測部２０６ａの予測値が変更されるようにしても構わない。
【０１７２】
タイムスタンプ復元部１０４は、自身が保持する、前回、光子検出部２０１が光子を検出した時刻を示す受信タイムスタンプ情報（標準タイムスタンプ情報）と、データ通信部１１４により受信された差分タイムスタンプ情報と、タイムスタンプ予測部１０６ａにより予測された予測値と、から、受信機２ａが光子を検出したタイムスタンプ情報（標準タイムスタンプ情報）に復元する。具体的には、タイムスタンプ復元部１０４は、差分タイムスタンプ情報に、予測値を加えた値を、前回、光子検出部２０１が光子を検出した時刻を示す受信タイムスタンプ情報（標準タイムスタンプ情報）に加えることによって、今回、受信機２ａが光子を検出したタイムスタンプ情報（標準タイムスタンプ情報）を復元する。タイムスタンプ復元部１０４は、復元した、今回、受信機２ａが光子を検出したタイムスタンプ情報（標準タイムスタンプ情報）を、光子特定部１０５に送ると共に、次回のタイムスタンプ復元のため、自身に記憶する。
【０１７３】
光子特定部１０５は、タイムスタンプ復元部１０４により復元された受信タイムスタンプ情報（標準タイムスタンプ情報）と、「送信光子情報」として蓄積部１１１ｃに記憶されている、タイムスタンプ測定部１０３ｃにより測定された時刻を示す送信タイムスタンプ情報と、を比較し、光子送信部１０１により送信された光子のうち、どの光子が光子検出部２０１によって検出されたものであるかを特定する。光子特定部１０５は、受信タイムスタンプ情報と一致する送信タイムスタンプ情報を持つ「送信光子情報」に含まれる、送信信号ビット情報と、送信基底と、をそれぞれ抽出し、蓄積部１１１に記憶させる。この光子特定部１０５の処理が、タイムスタンプシフティング処理の中心となる処理であり、これによって、光子検出部２０１によって検出された光子に対応する、送信信号ビット情報と送信基底とを選び出すことができる。
【０１７４】
以上のように、本実施形態では、タイムスタンプ通信で送信される差分タイムスタンプ情報は、従来方式（２）と比較して、光子検出部２０１により光子が検出されてから、次回に光子が検出されるまで時間についての予測値を表現する必要がないため、従来方式（２）の場合よりも短いビット長で表現することができ、タイムスタンプ通信に必要な帯域を削減することができる。これにより、高速なタイムスタンプシフティング処理が可能となり、ひいては、高速な量子鍵配送の処理を実現することができる。
【０１７５】
なお、上述の各実施形態に係る送信機および受信機で実行されるプログラムは、例えば、ＲＯＭ３０２等に予め組み込まれて提供されるものとしてもよい。
【０１７６】
また、上述の各実施形態に係る送信機および受信機で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【０１７７】
さらに、上述の各実施形態に係る送信機および受信機で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施形態に係る送信機および受信機で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１７８】
また、上述の各実施形態に係る送信機および受信機で実行されるプログラムは、コンピュータを上述したノードの各機能部として機能させ得る。このコンピュータは、ＣＰＵ３０１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【０１７９】
本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、および変更を行うことができる。これらの実施形態は、発明の範囲および要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１８０】
１、１ａ  送信機
２、２ａ  受信機
３  光ファイバリンク
４  通信ケーブル
１００、１００ａ  量子鍵配送システム
１０１、１０１ｂ、１０１ｃ  光子送信部
１０２、１０２ａ  シフティング処理部
１０３、１０３ｂ、１０３ｃ  タイムスタンプ測定部
１０４、１０４ｃ  タイムスタンプ復元部
１０５、１０５ｂ、１０５ｃ  光子特定部
１０６  デッドタイム設定参照部
１０６ａ  タイムスタンプ予測部
１０７  基底一致情報送信部
１０８  マッチング処理部
１０９  誤り訂正処理部
１１０  秘匿性増強処理部
１１１、１１１ｂ、１１１ｃ  蓄積部
１１２  鍵管理部
１１３  鍵利用部
１１４、１１４ｂ、１１４ｃ  データ通信部
２０１、２０１ｂ、２０１ｃ  光子検出部
２０２、２０２ａ  シフティング処理部
２０３、２０３ｂ、２０３ｃ  検出制御部
２０４、２０４ｂ、２０４ｃ  タイムスタンプ測定部
２０５、２０５ｃ  差分情報生成部
２０６  デッドタイム設定参照部
２０６ａ  タイムスタンプ予測部
２０６ｂ、２０６ｃ  デッドタイム設定参照部
２０７  基底情報送信部
２０８  マッチング処理部
２０９  誤り訂正処理部
２１０  秘匿性増強処理部
２１１、２１１ｂ、２１１ｃ  蓄積部
２１２  鍵管理部
２１３  鍵利用部
２１４、２１４ｂ、２１４ｃ  データ通信部
２１５  デッドタイム設定参照部
３０１  ＣＰＵ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  通信Ｉ／Ｆ
３０５  補助記憶装置
３０６  光学処理装置
３０７  バス
【図１】
2017175320.tif 000003
【図２】
2017175320.tif 000004
【図３】
2017175320.tif 000005
【図４】
2017175320.tif 000006
【図５】
2017175320.tif 000007
【図６】
2017175320.tif 000008
【図７】
2017175320.tif 000009
【図８】
2017175320.tif 000010
【図９】
2017175320.tif 000011
【図１０】
2017175320.tif 000012
【図１１】
2017175320.tif 000013
【図１２】
2017175320.tif 000014
【図１３】
2017175320.tif 000015