(57)【特許請求の範囲】
【請求項１】
他の量子鍵配送装置と、量子通信路および古典通信路で接続され、同一の暗号鍵を生成して共有する量子鍵配送装置であって、
２種類以上の光パルスに含まれる光子に対する前記量子通信路を介した量子鍵配送によって光子列を取得し、生成した基底情報に基づいて前記光子列に対応した光子ビット列を取得する量子鍵配送手段と、
前記光子ビット列から、前記量子鍵配送手段および前記他の量子鍵配送装置の基底情報に基づいたシフティング処理によって共有ビット列を生成し、前記共有ビット列の各ビットがいずれの前記光パルスに対応するかを示すパルス情報を取得するシフティング手段と、
前記共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する訂正手段と、
前記訂正手段による前記誤り訂正処理で、前記訂正後ビット列のうちいずれのビットの誤りが訂正されたかを特定する誤り位置情報を生成する特定手段と、
前記パルス情報および前記基底情報により、前記訂正後ビット列の各ビットがいずれの前記光パルス、かつ、いずれの基底に対応するのかを分類する分類手段と、
前記誤り位置情報を用いて、前記分類手段により分類された前記光パルスごと、かつ、前記基底ごとのエラーレートを算出する算出手段と、
前記各エラーレートに基づいて、前記訂正後ビット列に関するビット列を圧縮する秘匿性増強処理によって前記暗号鍵を生成する秘匿性増強手段と、
を備えた量子鍵配送装置。
【請求項２】
前記量子鍵配送手段は、前記各光パルスを発生させ、該各光パルスに含まれる光子により前記光子列を生成し、前記量子通信路を介して、前記他の量子鍵配送装置に送信し、
前記シフティング手段は、前記量子鍵配送手段により発生された前記光パルスの種類に応じて前記パルス情報を生成する請求項１に記載の量子鍵配送装置。
【請求項３】
前記量子鍵配送手段は、前記他の量子鍵配送装置から、前記量子通信路を介して前記光子列を受信し、該光子列が含む情報を、生成した基底情報に基づいて読み取ることにより前記光子ビット列を生成し、
前記シフティング手段は、前記他の量子鍵配送装置から、前記古典通信路を介して前記パルス情報を受信することにより取得する請求項１に記載の量子鍵配送装置。
【請求項４】
前記訂正後ビット列から、前記パルス情報により示される前記暗号鍵を形成するためのビット列を抽出ビット列として抽出する抽出手段を、さらに備え、
前記秘匿性増強手段は、前記抽出ビット列に対して前記秘匿性増強処理を行うことにより前記暗号鍵を生成する請求項１に記載の量子鍵配送装置。
【請求項５】
前記訂正手段は、前記誤り訂正処理で前記古典通信路を介して交換した前記他の量子鍵配送装置との制御情報に基づいて、漏洩ビット数を算出し、
前記秘匿性増強手段は、前記漏洩ビット数をさらに用いて、前記秘匿性増強処理を行う請求項１に記載の量子鍵配送装置。
【請求項６】
前記算出手段は、前記誤り位置情報を用いて、前記分類手段により分類された前記光パルスごと、かつ、前記基底ごとの前記訂正後ビット列におけるカウント数を、さらに算出し、
前記秘匿性増強手段は、前記エラーレートおよび前記カウント数に基づいて、前記秘匿性増強処理により前記暗号鍵を生成する請求項１に記載の量子鍵配送装置。
【請求項７】
複数の量子鍵配送装置が、量子通信路および古典通信路で接続され、同一の暗号鍵を生成して共有する量子鍵配送システムであって、
前記複数の量子鍵配送装置のうち少なくともいずれか１つの量子鍵配送装置は、
２種類以上の光パルスに含まれる光子に対する前記量子通信路を介した量子鍵配送によって光子列を取得し、生成した基底情報に基づいて前記光子列に対応した光子ビット列を取得する量子鍵配送手段と、
前記光子ビット列から、前記量子鍵配送手段および他の量子鍵配送装置の基底情報に基づいたシフティング処理によって共有ビット列を生成し、前記共有ビット列の各ビットがいずれの前記光パルスに対応するかを示すパルス情報を取得するシフティング手段と、
前記共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する訂正手段と、
前記訂正手段による前記誤り訂正処理で、前記訂正後ビット列のうちいずれのビットの誤りが訂正されたかを特定する誤り位置情報を生成する特定手段と、
前記パルス情報および前記基底情報により、前記訂正後ビット列の各ビットがいずれの前記光パルス、かつ、いずれの基底に対応するのかを分類する分類手段と、
前記誤り位置情報を用いて、前記分類手段により分類された前記光パルスごと、かつ、前記基底ごとのエラーレートを算出する算出手段と、
前記各エラーレートに基づいて、前記訂正後ビット列に関するビット列を圧縮する秘匿性増強処理によって前記暗号鍵を生成する秘匿性増強手段と、
を備えた量子鍵配送システム。
【請求項８】
他の量子鍵配送装置と、量子通信路および古典通信路で接続され、同一の暗号鍵を生成して共有するコンピュータであって、２種類以上の光パルスに含まれる光子に対する前記量子通信路を介した量子鍵配送によって光子列を取得し、生成した基底情報に基づいて前記光子列に対応した光子ビット列を取得する量子鍵配送手段を備えたコンピュータを、
前記光子ビット列から、前記量子鍵配送手段および前記他の量子鍵配送装置の基底情報に基づいたシフティング処理によって共有ビット列を生成し、前記共有ビット列の各ビットがいずれの前記光パルスに対応するかを示すパルス情報を取得するシフティング手段と、
前記共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する訂正手段と、
前記訂正手段による前記誤り訂正処理で、前記訂正後ビット列のうちいずれのビットの誤りが訂正されたかを特定する誤り位置情報を生成する特定手段と、
前記パルス情報および前記基底情報により、前記訂正後ビット列の各ビットがいずれの前記光パルス、かつ、いずれの基底に対応するのかを分類する分類手段と、
前記誤り位置情報を用いて、前記分類手段により分類された前記光パルスごと、かつ、前記基底ごとのエラーレートを算出する算出手段と、
前記各エラーレートに基づいて、前記訂正後ビット列に関するビット列を圧縮する秘匿性増強処理によって前記暗号鍵を生成する秘匿性増強手段と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、量子鍵配送装置、量子鍵配送システムおよびプログラムに関する。
【背景技術】
【０００２】
量子鍵配送システムは、送信機、受信機と、それを接続する光ファイバリンクとを含んで構成される。送信機は、光ファイバの通信路である光ファイバリンク（量子通信路）を介して、光子を受信機に送信する。その後、送信機と受信機が相互に制御情報を交換することによって、送信機と受信機との間で暗号鍵を共有する。この技術は一般に量子鍵配送(ＱＫＤ：Ｑｕａｎｔｕｍ  Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ)と呼ばれる技術により実現される。
【０００３】
量子鍵配送により送信機と受信機との間で暗号鍵を共有するためには、送信機および受信機それぞれにおいて鍵蒸留処理を実行する必要がある。鍵蒸留処理は、シフティング処理、誤り訂正処理、および秘匿性増強処理によって構成される。この鍵蒸留処理によって、送信機および受信機は暗号鍵を共有する。共有された暗号鍵は、送信機と受信機との間、または、それぞれの装置に接続されたアプリケーション間で暗号データ通信を行う際に利用される。単位時間あたりに共有される暗号鍵の生成量をセキュアキーレートという。多くの暗号鍵を利用できる方が、より高速かつ安全な暗号データ通信が可能となるため、セキュアキーレートが高いほど高性能な量子鍵配送システムであると言える。
【０００４】
また、量子鍵配送では、暗号鍵を共有するために利用される光子は、観測されることで物理的な状態が変化するという量子力学の基本原理の一つである不確定性原理を有する。この原理により、送信機が送信した暗号鍵の情報を含む光子を量子通信路上で盗聴者が観測すると、光子の物理的な状態が変化し、光子を受け取った受信機は、盗聴者に光子を観測されたことを知ることができる。その際、光子の物理的な状態の変化は送信機と受信機との間のリンクの量子ビット誤り率（Ｑｕａｎｔｕｍ  Ｂｉｔ  Ｅｒｒｏｒ  Ｒａｔｅ、ＱＢＥＲ）として現れる。盗聴者が光子を盗聴しようとすると、光子の物理的な状態が変化し、ＱＢＥＲが大きくなるため、受信機および送信機は盗聴者の存在を知ることができる。
【０００５】
このような量子鍵配送システムとして、デコイ方式のプロトコルと、光子の偏光を観測する基底の選択確率に偏りを持たせたプロトコルと、を利用して、盗聴者に漏れた情報量を取り除いた安全性の高い暗号鍵を、効率的に生成するシステムが提案されている。デコイ方式のプロトコルでは、光子を発生させるためのレーザのパルスとして、暗号鍵を生成するためのパルス（以下、信号パルスという）と、信号パルスよりも強度の小さいレーザのパルス（以下、デコイパルスという）とを利用して光子列を生成するプロトコルである。これは、出力される光子はポアソン分布に従うため、信号パルスのみで光子を発生させると、１つの信号パルスに２個以上の光子が含まれる可能性があり、盗聴者に１つの光子を盗み取られてしまう攻撃（Ｐｈｏｔｏｎ  Ｎｕｍｂｅｒ  Ｓｐｌｉｔｔｉｎｇ  Ａｔｔａｃｋ：光子数分割攻撃）を許すことになる。この攻撃に対応するために、デコイ方式のプロトコルでは、上述のように、信号パルスとは別のパルスであるデコイパルスを利用するものである。さらに、デコイパルスよりも強度の小さいレーザのパルス（以下、真空パルスという）を利用する方法もある。デコイパルスおよび真空パルスに含まれる光子は、暗号鍵の生成のためには利用されず、また、盗聴者は、盗聴した光子が、信号パルス、デコイパルスおよび真空パルスのうち、いずれのパルスに含まれていた光子かを区別することができない。また、基底の選択確率に偏り持たせたプロトコルでは、送信機および受信機が、光子の偏光を観測する２つの基底（例えば、直線基底および対角基底）のうちいずれかをランダムに選択するのではなく、選択確率に偏りを持たせることによって、シフティング処理によるビットの損失を低減し、最終的に得られる暗号鍵の長さを大きくするプロトコルである。以下、２つの基底のうちいずれか一方を「＋基底」（例えば、直線基底）と称し、他方を「×基底」（例えば、対角基底）と称するものとする。
【０００６】
このような量子鍵配送システムにおいて、最終的な暗号鍵の長さを求めるためには、盗聴者に漏洩した情報量を見積もるために、ＱＢＥＲ等を利用することが一般的である。デコイ方式のプロトコルと、光子の偏光を観測するときの基底の選択確率に偏りを持たせるプロトコルとを利用するときには、パルスと基底との組み合わせごとのビットデータのＱＢＥＲを算出する必要がある。すなわち、３種類のパルス（信号パルス、デコイパルス、真空パルス）と、２種類の基底（＋基底、×基底）との各組み合わせに対応するビットデータのＱＢＥＲを算出する必要がある。そのためには、パルスと基底との組み合わせごとのビットデータに分類し、分類したビットデータごとに誤り訂正処理を行い、ＱＢＥＲを算出する方法が考えられる。
【０００７】
しかし、パルスと基底との組み合わせごとのビットデータに分類してから、誤り訂正処理を行うと、デコイパルスおよび真空パルスはレーザの強度が低いため、ＱＢＥＲがデコイパルスでは約２０［％］、真空パルスでは約５０［％］と高くなり、ビットデータの誤りを訂正できず、または、誤り訂正処理に多くの時間を費やし、暗号鍵の生成効率が低下する可能性がある。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Efficient  decoy-state  quantum  key  distribution  with  quantified  security,  M.  Lucamarini  et  al.,  Optics  Express,  Vol.  21,  Issue  21,  pp.  24550-24565  (2013).
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、上記に鑑みてなされたものであって、暗号鍵の生成効率の低下を抑制する量子鍵配送装置、量子鍵配送システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
実施形態の量子鍵配送装置は、他の量子鍵配送装置と、量子通信路および古典通信路で接続され、同一の暗号鍵を生成して共有する量子鍵配送装置であって、量子鍵配送手段と、シフティング手段と、訂正手段と、特定手段と、分類手段と、算出手段と、秘匿性増強手段と、を備える。量子鍵配送手段は、２種類以上の光パルスに含まれる光子に対する量子通信路を介した量子鍵配送によって光子列を取得し、生成した基底情報に基づいて光子列に対応した光子ビット列を取得する。シフティング手段は、光子ビット列から、量子鍵配送手段および他の量子鍵配送装置の基底情報に基づいたシフティング処理によって共有ビット列を生成し、共有ビット列の各ビットがいずれの光パルスに対応するかを示すパルス情報を取得する。訂正手段は、共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する。特定手段は、訂正手段による誤り訂正処理で、訂正後ビット列のうちいずれのビットの誤りが訂正されたかを特定する誤り位置情報を生成する。分類手段は、パルス情報および基底情報により、訂正後ビット列の各ビットがいずれの光パルス、かつ、いずれの基底に対応するのかを分類する。算出手段は、誤り位置情報を用いて、分類手段により分類された光パルスごと、かつ、基底ごとのエラーレートを算出する。秘匿性増強手段は、各エラーレートに基づいて、訂正後ビット列に関するビット列を圧縮する秘匿性増強処理によって暗号鍵を生成する。
【図面の簡単な説明】
【００１１】
【図１】図１は、量子鍵配送システムの構成の一例を示す図である。
【図２】図２は、ＱＫＤ装置のハードウェア構成の一例を示す図である。
【図３】図３は、ＱＫＤ装置の機能ブロックの構成の一例を示す図である。
【図４】図４は、パルスの種類および光子について説明するための模式図である。
【図５】図５は、暗号鍵の長さを算出するためのデータの種類を示す図である。
【図６】図６は、基底の種類とビットデータの誤りとの関係を説明する図である。
【図７】図７は、基底の選択確率を説明するための図である。
【図８】図８は、ＱＫＤ装置の暗号鍵の生成動作の一例を示すシーケンス図である。
【図９】図９は、暗号鍵の生成動作におけるデータの流れの詳細を示す図である。
【図１０】図１０は、各種データに基づくＱＢＥＲの算出方法を説明する図である。
【発明を実施するための形態】
【００１２】
以下に、図面を参照しながら、本発明の実施形態に係る量子鍵配送装置、量子鍵配送システムおよびプログラムを詳細に説明する。また、以下の図面において、同一の部分には同一の符号が付してある。ただし、図面は模式的なものであるため、具体的な構成は以下の説明を参酌して判断すべきものである。
【００１３】
（実施形態）
図１は、量子鍵配送システムの構成の一例を示す図である。図１を参照しながら、量子鍵配送システム１００の構成について説明する。
【００１４】
図１に示すように、量子鍵配送システム１００は、送信機１と、受信機２と、光ファイバリンク３と、を含んで構成されている。なお、以下においては、図１に示すように、送信機１と受信機２とがそれぞれ１つで構成された量子鍵配送システム１００について説明するが、受信機２が１台で、光学機器を介して複数の送信機１が接続された、いわゆる量子アクセスネットワーク（ＱＡＮ：Ｑｕａｎｔｕｍ  Ａｃｃｅｓｓ  Ｎｅｔｗｏｒｋ）が量子鍵配送システムに統合された構成であってもよい。また、受信機２が複数の光ファイバ通信のインターフェースを有し、それらのインターフェースを介して、複数の送信機１が接続された量子鍵配送システムであってもよい。また、これらのシステムにおいて、送信機１と受信機２とが逆となっている構成でもよい。
【００１５】
送信機１は、レーザにより発生させた、暗号鍵を生成する基となる単一光子から構成される光子列を、光ファイバリンク３を介して、受信機２へ送信する装置である。送信機１は、送信した光子列を基に、後述する鍵蒸留処理（シフティング処理、誤り訂正処理および秘匿性増強処理）等を実行して、暗号鍵を生成する。また、送信機１は、光ファイバリンク３により実現される量子通信路以外の、Ｅｔｈｅｒｎｅｔ（登録商標）ケーブル等の通信ケーブルで実現される古典通信路を介して、受信機２との間でデータ通信を行う。古典通信路を介して通信されるデータとしては、上述の鍵蒸留処理で必要な制御データであってもよく、これ以外の一般的なデータであってもよい。
【００１６】
受信機２は、暗号鍵を生成する基となる単一光子から構成される光子列を、光ファイバリンク３を介して、送信機１から受信する装置である。受信機２は、受信した光子列を基に、後述する鍵蒸留処理（シフティング処理、誤り訂正処理および秘匿性増強処理）等を実行して、送信機１が生成した暗号鍵と同一の暗号鍵を生成する。すなわち、送信機１および受信機２は、同一の暗号鍵を生成して共有することになる。また、受信機２は、光ファイバリンク３により実現される量子通信路以外の、Ｅｔｈｅｒｎｅｔケーブル等の通信ケーブルで実現される古典通信路を介して、送信機１との間でデータ通信を行う。
【００１７】
光ファイバリンク３は、送信機１が出力した単一光子の送信路となる量子通信路として機能する光ファイバケーブルである。なお、図示していないが、送信機１と受信機２とは、光ファイバリンク３の量子通信路以外に、通常の「０」および「１」のデジタルデータを通信する通信ケーブル（古典通信路）で接続されている。古典通信路は、有線である必要はなく無線であってもよい。
【００１８】
なお、光ファイバリンク３が量子通信路として機能し、図示しないＥｔｈｅｒｎｅｔケーブル等の通信ケーブルが古典通信路として機能するものとしたが、これに限定されるものではない。例えば、光ファイバリンク３は、ＷＤＭ（Ｗａｖｅｌｅｎｇｔｈ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅｘ：光波長多重化）技術により、光子の送受信をするための光子通信チャネルと、光データ通信を行うための光データ通信チャネルとが形成されるものとしてもよい。すなわち、この場合、光ファイバリンク３の光子通信チャネルが量子通信路として機能し、光データ通信チャネルが古典通信路として機能する。
【００１９】
このような送信機１と受信機２とを含む量子鍵配送システム１００によって、送信機１が送信した光子列を光ファイバリンク３上で盗聴者が観測すると、光子の物理的状態が変化し、光子を受信した受信機２は、盗聴者に光子を観測されたことを認識することができる。
【００２０】
なお、送信機１および受信機２を総称する場合、「ＱＫＤ装置」というものとする。
【００２１】
図２は、ＱＫＤ装置のハードウェア構成の一例を示す図である。図２を参照しながら、ＱＫＤ装置（送信機１、受信機２）のハードウェア構成について説明する。
【００２２】
図２に示すように、ＱＫＤ装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８２と、通信Ｉ／Ｆ８３と、補助記憶装置８４と、光学処理装置８５と、各部を接続するバス８６と、を備えている。
【００２３】
ＣＰＵ８０は、ＱＫＤ装置全体の動作を制御する演算装置である。ＲＯＭ８１は、ＣＰＵ８０が各機能を制御するために実行するプログラムを記憶する不揮発性記憶装置である。ＲＡＭ８２は、ＣＰＵ８０のワークメモリ等として機能する揮発性記憶装置である。
【００２４】
通信Ｉ／Ｆ８３は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークまたは無線ネットワーク等の古典通信路を介してデータ通信を行うためのインターフェースである。通信Ｉ／Ｆ８３は、例えば、１０Ｂａｓｅ−Ｔ、１００Ｂａｓｅ−ＴＸもしくは１０００Ｂａｓｅ−Ｔ等のＥｔｈｅｒｎｅｔに対応したインターフェースである。
【００２５】
補助記憶装置８４は、ＣＰＵ８０で実行される各種プログラム、および鍵蒸留処理の過程で生成したデータ等を記憶して蓄積する不揮発性記憶装置である。補助記憶装置８４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリまたは光ディスク等の電気的、磁気的または光学的に記憶可能な記憶装置である。
【００２６】
光学処理装置８５は、量子通信路を介して、光子列を送信または受信する光学装置である。送信機１の光学処理装置８５は、例えば、乱数によって発生させたビット列（光子ビット列）に対して、後述するように、基底の選択確率に偏りを持つように生成した基底情報に基づく偏光状態となるように生成した単一光子から構成される光子列を、量子通信路（図１に示す光ファイバリンク３）を介して、受信機２の光学処理装置８５に送信する。すなわち、送信機１の光学処理装置８５により発生された光子列の各光子は、「０」から「１」かの１ビットの情報を有する。受信機２の光学処理装置８５は、量子通信路を介して、送信機１の光学処理装置８５から光子列を受信し、受信した光子列を、後述するように、基底の選択確率に偏りを持つように生成した基底情報に基づいて読み取ることによって光子ビット列を得る。
【００２７】
図３は、ＱＫＤ装置の機能ブロックの構成の一例を示す図である。図４は、パルスの種類およびパルスに含まれる光子について説明するための模式図である。図５は、暗号鍵の長さを算出するために必要なデータの種類を示す図である。図３を参照しながら、送信機１および受信機２の機能ブロックの構成について説明し、併せて、図４を参照しながら、送信機１が発生するレーザのパルスの種類およびパルスに含まれる光子について説明する。さらに、図５を参照しながら、後述する算出部１４により算出され或るデータの種類について説明する。
【００２８】
図３に示すように、送信機１は、光子送信部１０（量子鍵配送手段）と、シフティング処理部１１（シフティング手段）と、誤り訂正処理部１２（訂正手段）と、誤り位置特定部１３（特定手段）と、算出部１４（算出手段）と、抽出部１５（抽出手段）と、秘匿性増強処理部１６（秘匿性増強手段）と、蓄積部１７と、を有する。
【００２９】
光子送信部１０は、例えば、乱数によって発生させた光子ビット列に対して、後述するように、基底の選択確率に偏りを持つように生成した基底情報に基づく偏光状態となるように生成した単一光子から構成される光子列を、量子通信路を介して、受信機２の光子受信部２０に送信する機能部である。光子送信部１０は、図２に示す光学処理装置８５によって実現される。
【００３０】
光子送信部１０は、図４に示すように、レーザの強度の異なる３種類のパルス（信号パルス２００、デコイパルス２０１および真空パルス２０２）（光パルス）を発生することにより光子を生成する。具体的には、光子送信部１０は、レーザの強度Ｘにより信号パルス２００を発生させ、強度Ｙによりデコイパルス２０１を発生させ、強度Ｚにより真空パルス２０２を発生させ、これらの３種類のパルスを所定の確率でランダムに発生させる。レーザの強度は、強度Ｘ＞強度Ｙ＞強度Ｚの関係となる。これらのレーザのパルスに含まれる光子２１０の数はポアソン分布に従うため、１つのパルスに、光子２１０が含まれないこともあれば、２個以上の光子２１０が含まれることもある。
【００３１】
また、各パルスの強度は、上述の関係があるため、信号パルス２００に平均ｘ個の光子が含まれ、デコイパルス２０１に平均ｙ個の光子が含まれ、真空パルス２０２に平均ｚ個の光子が含まれるものとすると、平均光子数の関係は、ｘ＞ｙ＞ｚの関係となる。また、信号パルス２００に含まれる光子は、暗号鍵を形成するビット情報を送信する役割を有するのに対し、デコイパルス２０１および真空パルス２０２に含まれる光子は、暗号鍵を形成するビット情報としては利用されない。上述のように、各パルスに含まれる光子の数はポアソン分布に従い、かつ、各パルスに含まれる平均光子数は、ｘ＞ｙ＞ｚの関係があり、盗聴者は、盗み取った光子がいずれのパルスに含まれているものかを区別することができない。また、光子が盗聴者に盗み取られた場合、光子ビット列のうち、パルスごとのビット列のエラーレートはそれぞれ異なる。また、光子送信部１０は、発生したパルスが、信号パルス２００、デコイパルス２０１および真空パルス２０２のうちいずれのパルスであるのかを認識し、かつ、生成した光子列のうち、どの光子がどのパルスに含まれているのかも認識する。
【００３２】
なお、光子送信部１０は、レーザの強度の異なる３種類のパルス（信号パルス２００、デコイパルス２０１および真空パルス２０２）を発生するものとしたが、これに限定されるものではない。例えば、光子送信部１０は、レーザの強度の異なる２種類のパルス（一方のパルスは信号パルス２００に相当）を発生するものとしてもよく、４種類以上のパルス（少なくともいずれか１種類のパルスは信号パルス２００に相当）を発生するものとしてもよい。
【００３３】
シフティング処理部１１は、受信機２の光子受信部２０が基底の選択確率に偏りを持つように生成した基底情報を、受信機２のシフティング処理部２１から古典通信路を介して受信し、受信した基底情報と、光子送信部１０が生成した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する機能部である。なお、シフティング処理部１１およびシフティング処理部２１の機能は、必ずしも送信機１および受信機２の両方に備えている必要はなく、シフティング処理部２１からシフティング処理部１１へ基底情報を送信した後に、シフティング処理部１１が基底情報を比較し、一致する部分を示す一致情報をシフティング処理部２１へ送信することにより、シフティングの機能を実現することもできる。また、ここで説明したシフティング処理は一例であり、これ以外の方法であってもよい。
【００３４】
また、シフティング処理部１１は、光子送信部１０による光子ビット列の各ビットがどのパルスに対応するのかについての認識結果から、共有ビット列の各ビットがどのパルスに対応するかを示す情報を生成する。具体的には、シフティング処理部１１は、共有ビット列において、信号パルスに対応するビットの位置を示す信号パルス情報、デコイパルスに対応するビットの位置を示すデコイパルス情報、および、真空パルスに対応するビットの位置を示す真空パルス情報を生成する。シフティング処理部１１は、生成した信号パルス情報、デコイパルス情報および真空パルス情報を、古典通信路を介して、受信機２のシフティング処理部２１に送信すると共に、蓄積部１７に記憶させる。以下、信号パルス、デコイパルスおよび真空パルスを区別なく呼称する場合、または総称する場合、単に「パルス」という場合があるものとする。また、信号パルス情報、デコイパルス情報および真空パルス情報を区別なく呼称する場合、または総称する場合、単に「パルス情報」という場合があるものとする。なお、シフティング処理部１１は、信号パルス情報、デコイパルス情報および真空パルス情報のすべてを生成する必要はなく、少なくとも、これらの３種類のパルス情報のうち、少なくとも２種類のパルス情報を生成するものとしてもよい。これは、３種類のパルス情報のうち、少なくとも２種類のパルス情報がわかれば、残りの１種類のパルス情報も自明に導出できるからである。
【００３５】
また、シフティング処理部１１は、受信機２のシフティング処理部２１から古典通信路を介して受信した基底情報と、光子送信部１０が生成した基底情報とを比較して一致する部分を抽出し、抽出した基底情報を蓄積部１７に記憶させる。この抽出した基底情報は、共有ビット列の各ビットが＋基底または×基底のいずれに対応するものかを示す情報となる。
【００３６】
誤り訂正処理部１２は、古典通信路を介して、受信機２の誤り訂正処理部２２と制御データ（ＥＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）情報）を交換することにより、共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する機能部である。誤り訂正処理部１２は、生成した訂正後ビット列を蓄積部１７に記憶させる。誤り訂正処理に成功した場合、この誤り訂正処理部１２が生成した訂正後ビット列は、後述する受信機２の誤り訂正処理部２２が、共有ビット列を訂正して生成した訂正後ビット列と一致する。また、訂正後ビット列は、共有ビット列のビット誤りを訂正したビット列なので、共有ビット列および訂正後ビット列の長さは同一である。
【００３７】
また、誤り訂正処理部１２は、上述のように、共有ビット列のビット誤りを訂正して訂正後ビット列を生成するために、誤り訂正処理部２２と交換したＥＣ情報の情報量に基づいて、漏洩ビット数を算出する。この漏洩ビット数が大きいほど、盗聴の可能性が高くなり、また、盗聴された情報量も大きい可能性があることを示す。誤り訂正処理部１２は、算出した漏洩ビット数を蓄積部１７に記憶させる。
【００３８】
誤り位置特定部１３は、誤り訂正処理部１２による誤り訂正処理の過程で、共有ビット列においてどのビットに誤りがあるかを示す情報、すなわち、訂正後ビット列においてどのビットの誤りを訂正したかを示す情報を誤り位置情報として生成する機能部である。
【００３９】
算出部１４は、誤り訂正処理部１２により生成された訂正後ビット列から、パルスごと、かつ、基底ごとのビット列のＱＢＥＲ（エラーレート）を算出する機能部である。算出部１４は、データ分類部１４ａ（分類手段）を有する。具体的には、まず、算出部１４は、蓄積部１７に記憶された訂正後ビット列、パルス情報および基底情報を読み出す。次に、データ分類部１４ａは、読み出されたパルス情報および基底情報を用いて、訂正後ビット列において各ビットがどのパルス、かつ、どちらの基底に対応するものかを分類する。そして、算出部１４は、誤り位置特定部１３により生成された誤り位置情報を用いて、データ分類部１４ａにより分類されたパルスごと、かつ、基底ごとのビット列のカウント数（すなわち、ビット数）およびＱＢＥＲ（＝ビット誤りの数／カウント数）を算出する。すなわち、算出部１４は、図５に示すように、×基底および信号パルスに対応するビット列のカウント数およびＱＢＥＲ、×基底およびデコイパルスに対応するビット列のカウント数およびＱＢＥＲ、×基底および真空パルスに対応するビット列のカウント数およびＱＢＥＲ、＋基底および信号パルスに対応するビット列のカウント数およびＱＢＥＲ、＋基底およびデコイパルスに対応するビット列のカウント数およびＱＢＥＲ、ならびに、＋基底および真空パルスに対応するビット列のカウント数およびＱＢＥＲの１２種類のデータを算出する。これらのデータは、秘匿性増強処理部１６による秘匿性増強処理での暗号鍵の長さの算出のために使用される。算出部１４は、算出した１２種類のデータを、古典通信路を介して、受信機２の秘匿性増強処理部２６に送信する。
【００４０】
共有ビット列におけるパルスごと、かつ、基底ごとのビット列のカウント数およびＱＢＥＲを算出する方法としては、一般には、共有ビット列を、パルスごと、かつ、基底ごとのビット列に予め分けておき、各ビット列に対して誤り訂正処理を行い、そして、各ビット列のカウント数およびＱＢＥＲを算出する方法が考えられる。しかし、デコイパルスおよび真空パルスに対応するビット列のＱＢＥＲは、一般的に、信号パルスに対応するビット列のＱＢＥＲよりも高い値となる。光子送信部１０の設定等にもよるが、一例として、信号パルスのＱＢＥＲが４［％］程度であっても、デコイパルスのＱＢＥＲは約２０［％］であり、真空パルスのＱＢＥＲは約５０［％］にも及ぶことがある。そのため、デコイパルスおよび真空パルスに対応するビット列のみではＱＢＥＲが高いため、誤り訂正処理を行っても訂正できなかったり、訂正できたとしても処理に多くの時間がかかるので効率的ではない。
【００４１】
一方、本実施形態においては、共有ビット列を、パルスごと、かつ、基底ごとのビット列に予め分けるのではなく、上述のように、誤り訂正処理部１２により、共有ビット列全体に対して、誤り訂正処理を行うものとしている。この誤り訂正処理部１２による誤り訂正処理の過程で、誤り位置特定部１３は、共有ビット列においてどのビットに誤りがあるかを示す情報を誤り位置情報として生成するものとしている。そして、算出部１４は、誤り位置特定部１３により生成された誤り位置情報を用いて分類したパルスごと、かつ、基底ごとのビット列のカウント数およびＱＢＥＲ（上述の１２種類のデータ）を算出するものとしている。これによって、共有ビット列について誤りを訂正できず、または、誤り訂正処理に多くの時間を費やすことを抑制することができ、最終的な暗号鍵の生成効率の低下を抑制することができる。
【００４２】
抽出部１５は、蓄積部１７から、誤り訂正処理部１２により生成された訂正後ビット列、および、シフティング処理部１１により生成されたパルス情報を読み出し、訂正後ビット列から、パルス情報が示す信号パルスに対応するビット列を抽出して、抽出ビット列を生成する機能部である。訂正後ビット列のうち信号パルスに対応する抽出ビット列が、暗号鍵を生成するためのビット列として用いられる。なお、抽出部１５が読み出すパルス情報は、信号パルス情報、デコイパルス情報および真空パルス情報のすべてである必要はなく、少なくとも信号パルス情報を読み出せば、この信号パルス情報によって、訂正後ビット列のうち信号パルスに対応するビットの位置がわかるので抽出ビット列を生成することができる。
【００４３】
秘匿性増強処理部１６は、蓄積部１７から誤り訂正処理部１２により生成された漏洩ビット数を読み出し、この漏洩ビット数、および算出部１４により算出された上述の１２種類のデータに基づいて、最終的な暗号鍵の長さを算出し、抽出部１５により生成された抽出ビット列を圧縮して、算出した長さとなる暗号鍵を生成する秘匿性増強処理を実行する機能部である。秘匿性増強処理に成功した場合、秘匿性増強処理部１６により生成された暗号鍵は、後述する受信機２の秘匿性増強処理部２６により生成された暗号鍵と一致するものであり、同一の暗号鍵を共有することになる。これらの共有された暗号鍵は、送信機１と受信機２との間、または、それぞれの装置に接続されたアプリケーション間で暗号データ通信を行う際に利用される。
【００４４】
蓄積部１７は、シフティング処理部１１により生成されたパルス情報および基底情報、ならびに、誤り訂正処理部１２により生成された訂正後ビット列および漏洩ビット数等を記憶する機能部である。蓄積部１７は、図２に示す補助記憶装置８４によって実現される。
【００４５】
上述のシフティング処理部１１、誤り訂正処理部１２、誤り位置特定部１３、算出部１４、抽出部１５、および秘匿性増強処理部１６は、図２に示すＣＰＵ８０が補助記憶装置８４等に記憶されたプログラムをＲＡＭ８２に読み出して実行することにより実現される。なお、シフティング処理部１１、誤り訂正処理部１２、誤り位置特定部１３、算出部１４、抽出部１５、および秘匿性増強処理部１６のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかがハードウェア回路によって実現されるものとしてもよい。
【００４６】
図３に示すように、受信機２は、光子受信部２０と、シフティング処理部２１と、誤り訂正処理部２２と、抽出部２５と、秘匿性増強処理部２６と、蓄積部２７と、を有する。
【００４７】
光子受信部２０は、量子通信路を介して、送信機１の光子送信部１０から光子列を受信し、受信した光子列を、後述するように、基底の選択確率に偏りを持つように生成した基底情報に基づいて読み取ることによって光子ビット列を得る機能部である。光子受信部２０は、図２に示す光学処理装置８５によって実現される。
【００４８】
シフティング処理部２１は、送信機１の光子送信部１０が基底の選択確率に偏りを持つように生成した基底情報を、送信機１のシフティング処理部１１から古典通信路を介して受信し、受信した基底情報と、光子受信部２０が生成した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する機能部である。なお、シフティング処理部１１およびシフティング処理部２１の機能は、必ずしも送信機１および受信機２の両方に備えている必要はなく、シフティング処理部１１からシフティング処理部２１へ基底情報を送信した後に、シフティング処理部２１が基底情報を比較し、一致する部分を示す一致情報をシフティング処理部１１へ送信することにより、シフティングの機能を実現することもできる。また、ここで説明したシフティング処理は一例であり、これ以外の方法であってもよい。
【００４９】
また、シフティング処理部２１は、シフティング処理部１１により生成された信号パルス情報、デコイパルス情報および真空パルス情報を、古典通信路を介して受信すると共に、蓄積部２７に蓄積させる。なお、シフティング処理部２１は、信号パルス情報、デコイパルス情報および真空パルスのすべてを受信する必要はなく、少なくとも、これらの３種類のパルス情報のうち、少なくとも２種類のパルス情報を受信するものとしてもよい。これは、３種類のパルス情報のうち、少なくとも２種類のパルス情報がわかれば、残りの１種類のパルス情報も自明に導出できるからである。
【００５０】
誤り訂正処理部２２は、古典通信路を介して、送信機１の誤り訂正処理部１２と制御データ（ＥＣ情報）を交換することにより、共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する機能部である。誤り訂正処理部２２は、生成した訂正後ビット列を蓄積部２７に記憶させる。誤り訂正処理に成功した場合、この誤り訂正処理部２２が生成した訂正後ビット列は、送信機１の誤り訂正処理部１２が、共有ビット列を訂正して生成した訂正後ビット列と一致する。また、訂正後ビット列は、共有ビット列のビット誤りを訂正したビット列なので、共有ビット列および訂正後ビット列の長さは同一である。
【００５１】
また、誤り訂正処理部２２は、上述のように、共有ビット列のビット誤りを訂正して訂正後ビット列を生成するために、誤り訂正処理部１２と交換したＥＣ情報の情報量に基づいて、漏洩ビット数を算出する。誤り訂正処理部２２は、算出した漏洩ビット数を蓄積部２７に記憶させる。
【００５２】
抽出部２５は、蓄積部２７から、誤り訂正処理部２２により生成された訂正後ビット列、および、シフティング処理部２１により受信されたパルス情報を読み出し、訂正後ビット列から、パルス情報が示す信号パルスに対応するビット列を抽出して、抽出ビット列を生成する機能部である。なお、抽出部２５が読み出すパルス情報は、信号パルス情報、デコイパルス情報および真空パルス情報のすべてである必要はなく、少なくとも信号パルス情報を読み出せば、この信号パルス情報によって、訂正後ビット列のうち信号パルスに対応するビットの位置がわかるので抽出ビット列を生成することができる。
【００５３】
秘匿性増強処理部２６は、蓄積部２７から誤り訂正処理部２２により生成された漏洩ビット数を読み出し、この漏洩ビット数、および算出部１４から古典通信路を介して受信した上述の１２種類のデータに基づいて、最終的な暗号鍵の長さを算出し、抽出部２５により生成された抽出ビット列を圧縮して、算出した長さとなる暗号鍵を生成する秘匿性増強処理を実行する機能部である。
【００５４】
蓄積部２７は、シフティング処理部２１により受信されたパルス情報、ならびに、誤り訂正処理部２２により生成された訂正後ビット列および漏洩ビット数等を記憶する機能部である。蓄積部２７は、図２に示す補助記憶装置８４によって実現される。
【００５５】
上述のシフティング処理部２１、誤り訂正処理部２２、抽出部２５、および秘匿性増強処理部２６は、図２に示すＣＰＵ８０が補助記憶装置８４等に記憶されたプログラムをＲＡＭ８２に読み出して実行することにより実現される。なお、シフティング処理部２１、誤り訂正処理部２２、抽出部２５、および秘匿性増強処理部２６のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかがハードウェア回路によって実現されるものとしてもよい。
【００５６】
また、図３に示す送信機１および受信機２の機能ブロックの構成は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図３で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図３の１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００５７】
図６は、基底の種類とビットデータの誤りとの関係を説明するための図である。図６を参照しながら、基底の種類とビットデータの誤りとの関係を説明する。
【００５８】
上述のように、光子送信部１０により基底の選択確率に偏りを持つように生成した基底情報と、光子受信部２０により基底の選択確率に偏りを持つように生成した基底情報と、を比較した場合、基底が一致する場合と不一致となる場合がある。基底が一致する場合、光子送信部１０により生成された単一光子が、量子通信路を介して、正常に光子受信部２０に送信された場合、光子受信部２０は、同一の基底に基づいて光子の偏光状態を正しく読み取ることができ、得られたビット情報は、光子送信部１０が送信した光子列のビット情報と一致する。
【００５９】
一方、基底が一致しない場合、光子送信部１０により生成された単一光子が、量子通信路を介して、光子受信部２０に送信された場合、光子受信部２０は、光子の偏光状態を正しく読み取ることができない。この場合、光子受信部２０が、光子送信部１０から送信された光子列から得られたビット情報は、量子力学の原理から、結果的に、光子送信部１０が送信した光子列のビット情報と一致することもあれば、不一致となることもある。ただし、上述のシフティング処理によって、一致しない基底に対応するビット情報は除去される。
【００６０】
また、基底一致する場合においても、光子送信部１０から送信された光子列が、量子通信路に含まれるノイズの影響を受けたり、または、量子通信路上で盗聴者により盗聴されると、不確定性原理により光子の物理的な状態が変化し、光子受信部２０は、自身の基底に基づいて光子列を読み取って得られたビット情報が、光子送信部１０が送信した光子列のビット情報と不一致となる場合がある。これによって、シフティング処理後に得られた共有ビット列においてもビット誤りとして現れることになる。
【００６１】
図７は、基底の選択確率を説明するための図である。図７を参照しながら、基底の選択確率の偏りについて説明する。
【００６２】
光子送信部１０および光子受信部２０が、一方の基底を選択する確率をδとすると、もう一方の基底を選択する確率は（１−δ）となるので、基底が一致する確率は、下記の式（１）で表される。
【００６３】
δ・δ＋（１−δ）・（１−δ）＝２δ２−２δ＋１                        （１）
【００６４】
例えば、図７（ａ）に示すように、送信機１の光子送信部１０および受信機２の光子受信部２０が、２つの基底それぞれの選択確率をランダム、すなわち、１／２にしたとすると、光子送信部１０が生成する基底と、光子受信部２０が生成する基底とが一致する確率も１／２となる。すなわち、シフティング処理部１１およびシフティング処理部２１により生成される共有ビット列の長さは、統計的に、光子ビット列の長さの１／２となる。すなわち、統計的に、共有ビット列の長さを、光子ビット列の長さの１／２より大きくすることはできないことになる。
【００６５】
このとき、上述のように、２つの基底それぞれの選択確率を１／２、すなわち、δ＝１／２とすると、光子送信部１０および光子受信部２０がそれぞれ生成する基底が一致する確率は、下記の式（２）で示されるように１／２（５０［％］）となり、上述した通りである。
【００６６】
２δ２−２δ＋１＝２・（１／２）２−２・（１／２）＋１＝１／２          （２）
【００６７】
ここで例えば、図７（ｂ）に示すように、＋基底を選択する確率をδ＝７／８とし、×基底を選択する確率を（１−δ）＝１／８とすると、光子送信部１０および光子受信部２０がそれぞれ生成する基底が一致する確率は、下記の式（３）で示されるように、２５／３２（８７．５［％］）となる。
【００６８】
２δ２−２δ＋１＝２・（７／８）２−２・（７／８）＋１＝２５／３２      （３）
【００６９】
これによって、シフティング処理部１１およびシフティング処理部２１により生成される共有ビット列の長さは、統計的に、光子ビット列の長さの２５／３２となり、上述の式（２）の場合よりも大きくなる。このように、基底の選択確率に偏りを持たせることによって、光子ビット列からシフティング処理において除去されるビット数が少なくなり、最終的に得られる暗号鍵の長さを大きくすることができる。
【００７０】
図８は、ＱＫＤ装置の暗号鍵の生成動作の一例を示すシーケンス図である。図９は、暗号鍵の生成動作におけるデータの流れの詳細を示す図である。図１０は、各種データに基づくＱＢＥＲの算出方法を説明する図である。図８〜図１０を参照しながら、暗号鍵の生成動作の流れを説明する。
【００７１】
＜ステップＳ１１＞
光子送信部１０は、例えば、乱数によって発生させた光子ビット列に対して、基底の選択確率に偏りを持つように生成した基底情報に基づく偏光状態となるように生成した単一光子から構成される光子列を、量子通信路を介して、受信機２の光子受信部２０に送信する。この際、光子送信部１０は、上述の図４に示すように、レーザの強度の異なる３種類のパルス（信号パルス２００、デコイパルス２０１および真空パルス２０２）を発生することにより光子を生成する。
【００７２】
＜ステップＳ１２＞
光子受信部２０は、量子通信路を介して、送信機１の光子送信部１０から光子列を受信し、受信した光子列を、基底の選択確率に偏りを持つように生成した基底情報に基づいて読み取ることによって光子ビット列を得る。
【００７３】
＜ステップＳ１３＞
シフティング処理部１１は、受信機２の光子受信部２０が基底の選択確率に偏りを持つように生成した基底情報を、受信機２のシフティング処理部２１から古典通信路を介して受信し、受信した基底情報と、光子送信部１０が生成した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、図９に示すように、共有ビット列を生成するシフティング処理を実行する。
【００７４】
また、シフティング処理部１１は、光子送信部１０による光子ビット列の各ビットがどのパルスに対応するのかについての認識結果から、共有ビット列の各ビットがどのパルスに対応するかを示す情報を生成する。具体的には、シフティング処理部１１は、図９に示すように、共有ビット列において、信号パルスに対応するビットの位置を示す信号パルス情報、デコイパルスに対応するビットの位置を示すデコイパルス情報、および、真空パルスに対応するビットの位置を示す真空パルス情報を生成する。シフティング処理部１１は、生成した信号パルス情報、デコイパルス情報および真空パルス情報を、古典通信路を介して、受信機２のシフティング処理部２１に送信すると共に、蓄積部１７に記憶させる。
【００７５】
また、シフティング処理部１１は、図９に示すように、受信機２のシフティング処理部２１から古典通信路を介して受信した基底情報と、光子送信部１０が生成した基底情報とを比較して一致する部分を抽出し、抽出した基底情報を蓄積部１７に記憶させる。
【００７６】
＜ステップＳ１４＞
シフティング処理部２１は、送信機１の光子送信部１０が基底の選択確率に偏りを持つように生成した基底情報を、送信機１のシフティング処理部１１から古典通信路を介して受信し、受信した基底情報と、光子受信部２０が生成した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する。
【００７７】
また、シフティング処理部２１は、シフティング処理部１１により生成された信号パルス情報、デコイパルス情報および真空パルス情報を、古典通信路を介して受信すると共に、蓄積部２７に蓄積させる。
【００７８】
＜ステップＳ１５＞
誤り訂正処理部１２は、古典通信路を介して、受信機２の誤り訂正処理部２２と制御データ（ＥＣ情報）を交換することにより、シフティング処理部１１により生成された共有ビット列のビット誤りを訂正して、図９に示すように、訂正後ビット列を生成する誤り訂正処理を実行する。誤り訂正処理部１２は、生成した訂正後ビット列を蓄積部１７に記憶させる。
【００７９】
また、誤り訂正処理部１２は、共有ビット列のビット誤りを訂正して訂正後ビット列を生成するために、図９に示すように、誤り訂正処理部２２と交換したＥＣ情報の情報量に基づいて、漏洩ビット数を算出する。誤り訂正処理部１２は、算出した漏洩ビット数を蓄積部１７に記憶させる。
【００８０】
誤り位置特定部１３は、誤り訂正処理部１２による誤り訂正処理の過程で、共有ビット列においてどのビットに誤りがあるかを示す情報、すなわち、訂正後ビット列においてどのビットの誤りを訂正したかを示す情報を、図９に示すように、誤り位置情報として生成する。
【００８１】
＜ステップＳ１６＞
誤り訂正処理部２２は、古典通信路を介して、送信機１の誤り訂正処理部１２と制御データ（ＥＣ情報）を交換することにより、シフティング処理部２１により生成された共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する。誤り訂正処理部２２は、生成した訂正後ビット列を蓄積部２７に記憶させる。
【００８２】
また、誤り訂正処理部２２は、共有ビット列のビット誤りを訂正して訂正後ビット列を生成するために、誤り訂正処理部１２と交換したＥＣ情報の情報量に基づいて、漏洩ビット数を算出する。誤り訂正処理部２２は、算出した漏洩ビット数を蓄積部２７に記憶させる。
【００８３】
＜ステップＳ１７＞
算出部１４は、誤り訂正処理部１２により生成された訂正後ビット列から、パルスごと、かつ、基底ごとのビット列のＱＢＥＲを算出する。具体的には、まず、算出部１４は、蓄積部１７に記憶された訂正後ビット列、パルス情報および基底情報を読み出す。次に、データ分類部１４ａは、読み出されたパルス情報および基底情報を用いて、訂正後ビット列において各ビットがどのパルス、かつ、どちらの基底に対応するものかを分類する。そして、算出部１４は、誤り位置特定部１３により生成された誤り位置情報を用いて、データ分類部１４ａにより分類されたパルスごと、かつ、基底ごとのビット列のカウント数（すなわち、ビット数）およびＱＢＥＲ（＝ビット誤りの数／カウント数）を算出する。すなわち、算出部１４は、上述の図５に示すように、×基底および信号パルスに対応するビット列のカウント数およびＱＢＥＲ、×基底およびデコイパルスに対応するビット列のカウント数およびＱＢＥＲ、×基底および真空パルスに対応するビット列のカウント数およびＱＢＥＲ、＋基底および信号パルスに対応するビット列のカウント数およびＱＢＥＲ、＋基底およびデコイパルスに対応するビット列のカウント数およびＱＢＥＲ、ならびに、＋基底および真空パルスに対応するビット列のカウント数およびＱＢＥＲの１２種類のデータを算出する。算出部１４は、算出した１２種類のデータを、古典通信路を介して、受信機２の秘匿性増強処理部２６に送信する。
【００８４】
なお、算出部１４によるパルスごと、かつ、基底ごとのビット列のカウント数およびＱＢＥＲの算出の方法の具体的な方法としては、例えば、以下のような方法がある。図１０に示すように、訂正後ビット列について、どの位置のビットがどのパルスに対応するものかはパルス情報（信号パルス情報、デコイパルス情報、および真空パルス情報）によって区別できる。また、訂正後ビット列について、どの位置のビットがどちらの基底に対応するものかは基底情報によって区別できる。例えば、図１０においては、基底情報において、「１」は＋基底を示し、「０」は×基底を示すものとする。このように、訂正後ビット列について、パルス情報および基底情報に基づいて、どの位置のビットが、どのパルスかつどちらの基底に対応するものかを区別することが、上述のデータ分類部１４ａの分類動作に相当する。また、訂正後ビット列について、どの位置のビットが誤り訂正されたものかは誤り位置情報によって区別できる。例えば、図１０においては、誤り位置情報において、「１」は誤り訂正されたビットであることを示し、「０」は誤り訂正されていないビットであることを示す。
【００８５】
以上のような様式で訂正後ビット列における各ビットについて区別すると、例えば、誤り訂正ビット列のうちビット位置が４番目のビットは、信号パルス、かつ、＋基底に対応するビットであることが区別でき、さらに、誤り訂正されたビットであることが区別できる。例えば、図１０に示すように、訂正後ビット列のうちビット位置が１〜１２番目のビット列に注目すると、×基底および信号パルスに対応するビット列のカウント数は「２」、ＱＢＥＲは「１／２」（５０［％］）と算出され、×基底およびデコイパルスに対応するビット列のカウント数は「２」、ＱＢＥＲは「１／２」（５０［％］）と算出され、×基底およびデコイパルスに対応するビット列のカウント数は「２」、ＱＢＥＲは「１／２」（５０［％］）と算出される。さらに、＋基底および信号パルスに対応するビット列のカウント数は「２」、ＱＢＥＲは「１／２」（５０［％］）と算出され、＋基底およびデコイパルスに対応するビット列のカウント数は「２」、ＱＢＥＲは「１／２」（５０［％］）と算出され、＋基底およびデコイパルスに対応するビット列のカウント数は「２」、ＱＢＥＲは「１／２」（５０［％］）と算出される。
【００８６】
＜ステップＳ１８＞
抽出部１５は、蓄積部１７から、誤り訂正処理部１２により生成された訂正後ビット列、および、シフティング処理部１１により生成されたパルス情報を読み出し、訂正後ビット列から、パルス情報が示す信号パルスに対応するビット列を抽出して、抽出ビット列を生成する。
【００８７】
＜ステップＳ１９＞
抽出部２５は、蓄積部２７から、誤り訂正処理部２２により生成された訂正後ビット列、および、シフティング処理部２１により受信されたパルス情報を読み出し、訂正後ビット列から、パルス情報が示す信号パルスに対応するビット列を抽出して、抽出ビット列を生成する。
【００８８】
＜ステップＳ２０＞
秘匿性増強処理部１６は、蓄積部１７から誤り訂正処理部１２により生成された漏洩ビット数を読み出し、この漏洩ビット数、および算出部１４により算出された上述の１２種類のデータに基づいて、最終的な暗号鍵の長さを算出し、抽出部１５により生成された抽出ビット列を圧縮して、算出した長さとなる暗号鍵を生成する秘匿性増強処理を実行する。
【００８９】
＜ステップＳ２１＞
秘匿性増強処理部２６は、蓄積部２７から誤り訂正処理部２２により生成された漏洩ビット数を読み出し、この漏洩ビット数、および算出部１４から古典通信路を介して受信した上述の１２種類のデータに基づいて、最終的な暗号鍵の長さを算出し、抽出部２５により生成された抽出ビット列を圧縮して、算出した長さとなる暗号鍵を生成する秘匿性増強処理を実行する。
【００９０】
以上のような動作によって、送信機１および受信機２において、同一の暗号鍵が生成される。上述の動作によって生成された暗号鍵は、一度しか使用しないいわゆるワンタイムパッドの鍵であるので、上述の動作によって、異なる暗号鍵が繰り返し生成される。なお、上述のステップは、それぞれ並行に実行可能であり、例えば、ステップＳ１５およびＳ１６のＥＣ処理が実行されるのと並行して、ステップＳ１３およびＳ１４のシフティング処理が、別のビット列に対して実行されるものとしてもよい。
【００９１】
また、図３の各機能部が生成したデータのうち、蓄積部１７および蓄積部２７に記憶させているデータがあるが、必ずしも記憶させる必要はなく、次工程に係る機能部に直接送るものとしてもよい。例えば、誤り訂正処理部１２は、上述では、生成した訂正後ビット列を蓄積部１７に記憶させ、算出部１４および抽出部１５は、蓄積部１７から訂正後ビット列を読み出すものとしているが、訂正後ビット列を、蓄積部１７を経由せずに、算出部１４および抽出部１５に直接送るものとしてもよい。逆に、図３の各機能部が生成したデータを、蓄積部１７および蓄積部２７に記憶させずに、次工程に係る機能部に直接送っているデータがあるが、蓄積部１７および蓄積部２７を経由させるものとしてもよい。例えば、シフティング処理部１１は、上述では、生成した共有ビット列を、直接誤り訂正処理部１２に送るものとしているが、一旦、蓄積部１７に記憶させるものとしてもよい。この場合、誤り訂正処理部１２は、蓄積部１７から共有ビット列を読み出して、誤り訂正処理を実行するものとすればよい。
【００９２】
以上のように、本実施形態においては、共有ビット列を、パルスごと、かつ、基底ごとのビット列に予め分けるのではなく、誤り訂正処理部１２により、共有ビット列全体に対して、誤り訂正処理を行うものとしている。この誤り訂正処理部１２による誤り訂正処理の過程で、誤り位置特定部１３は、共有ビット列においてどのビットに誤りがあるかを示す情報を誤り位置情報として生成するものとしている。そして、算出部１４は、誤り位置特定部１３により生成された誤り位置情報、ならびにパルス情報および基底情報を用いて分類したパルスごと、かつ、基底ごとのビット列に対して、カウント数およびＱＢＥＲ（上述の１２種類のデータ）を算出するものとしている。これによって、共有ビット列について誤りを訂正できず、または、誤り訂正処理に多くの時間を費やすことを抑制することができ、最終的な暗号鍵の生成効率の低下を抑制することができる。また、送信機１と受信機２との間で、暗号鍵を生成する過程のビット列をつき合わせて比較するための通信を行うことなく、ＱＢＥＲ等を計算することができる。
【００９３】
なお、図３においては、送信機１が、誤り位置特定部１３および算出部１４を備え、受信機２は、これらの機能部を備えないものとしているが、この構成に限定されるものではない。例えば、受信機２が、誤り位置特定部１３および算出部１４に相当する機能部を備えるものとしてもよい。この場合、受信機２が備える算出部１４は、送信機１において生成されたパルス情報を利用して、パルスごと、かつ、基底ごとのビット列のカウント数およびＱＢＥＲを算出するものとすればよい。また、送信機１および受信機２双方が、誤り位置特定部１３および算出部１４に相当する機能部を備えるものとしてもよい。この場合、受信機２の算出部１４は、独自に上述の１２種類のデータを算出するので、上述のように、送信機１の算出部１４は、算出した１２種類のデータを、受信機２の秘匿性増強処理部２６に送信する必要はない。
【００９４】
また、上述においては、送信機１の秘匿性増強処理部１６、および受信機２の秘匿性増強処理部２６が、それぞれ漏洩ビット数、および１２種類のデータに基づいて、暗号鍵の長さを算出するものとしているが、これに限定されるものではない。すなわち、秘匿性増強処理部１６または秘匿性増強処理部２６のいずれか一方が、暗号鍵の長さを算出し、算出した暗号鍵の長さを、古典通信路を介して他方に送信し、他方は、受信した暗号鍵の長さを利用して秘匿性増強処理を実行するものとしてもよい。
【００９５】
また、本実施形態に係るＱＫＤ装置で実行されるプログラムは、例えば、ＲＯＭ８１等に予め組み込まれて提供される。
【００９６】
なお、本実施形態に係るＱＫＤ装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【００９７】
さらに、本実施形態に係るＱＫＤ装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態に係るＱＫＤ装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００９８】
また、本実施形態に係るＱＫＤ装置で実行されるプログラムは、コンピュータを上述したＱＫＤ装置の各機能部（シフティング処理部１１、誤り訂正処理部１２、誤り位置特定部１３、算出部１４、抽出部１５および秘匿性増強処理部１６、または、シフティング処理部２１、誤り訂正処理部２２、抽出部２５および秘匿性増強処理部２６）として機能させ得る。このコンピュータは、ＣＰＵ８０がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【００９９】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、および変更を行うことができる。この実施形態は、発明の範囲および要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１００】
１  送信機
２  受信機
３  光ファイバリンク
１０  光子送信部
１１  シフティング処理部
１２  誤り訂正処理部
１３  誤り位置特定部
１４  算出部
１４ａ  データ分類部
１５  抽出部
１６  秘匿性増強処理部
１７  蓄積部
２０  光子受信部
２１  シフティング処理部
２２  誤り訂正処理部
２５  抽出部
２６  秘匿性増強処理部
２７  蓄積部
８０  ＣＰＵ
８１  ＲＯＭ
８２  ＲＡＭ
８３  通信Ｉ／Ｆ
８４  補助記憶装置
８５  光学処理装置
８６  バス
１００  量子鍵配送システム
２００  信号パルス
２０１  デコイパルス
２０２  真空パルス
２１０  光子
【図１】
0006396225.tif 000002
【図２】
0006396225.tif 000003
【図３】
0006396225.tif 000004
【図４】
0006396225.tif 000005
【図５】
0006396225.tif 000006
【図６】
0006396225.tif 000007
【図７】
0006396225.tif 000008
【図８】
0006396225.tif 000009
【図９】
0006396225.tif 000010
【図１０】
0006396225.tif 000011