(57)【要約】【課題】量子鍵配送を行う送信機および受信機の処理の負荷の偏りを緩和することで、効率よく暗号鍵の共有を行う量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法を提供する。【解決手段】実施形態の量子鍵配送装置は、量子鍵共有手段と、訂正手段と、決定手段と、算出手段と、秘匿性増強手段と、を備える。量子鍵共有手段は、量子通信路を介した複数の他の量子鍵配送装置との量子鍵配送により、共有ビット列を生成する。訂正手段は、共有ビット列から誤り訂正処理により訂正後ビット列を生成する。決定手段は、各他の量子鍵配送装置の量子通信路の誤り率を算出して統合誤り率を決定する。算出手段は、統合誤り率に基づき暗号鍵の長さを算出する。秘匿性増強手段は、訂正後ビット列から、算出手段により算出された暗号鍵の長さとなるように、鍵圧縮処理で他の量子鍵配送装置と共有する暗号鍵を生成する。【選択図】図４
2015142339.tif 000002
【特許請求の範囲】
【請求項１】
量子通信路を介した複数の他の量子鍵配送装置との量子鍵配送により、共有ビット列を生成する量子鍵共有手段と、
前記共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する訂正手段と、
前記各他の量子鍵配送装置に対する前記量子通信路における誤り率を算出し、複数の前記誤り率から統合誤り率を決定する決定手段と、
前記統合誤り率に基づいて共通する暗号鍵の長さを算出する算出手段と、
前記訂正後ビット列から、前記算出手段によって算出された前記暗号鍵の長さとなるように、鍵圧縮処理によって、前記他の量子鍵配送装置と共有する前記暗号鍵を生成する秘匿性増強手段と、
を備えた量子鍵配送装置。
【請求項２】
前記決定手段は、複数の前記誤り率における最大値以上の値を前記統合誤り率に決定する請求項１に記載の量子鍵配送装置。
【請求項３】
前記秘匿性増強手段は、
前記算出手段により算出された前記暗号鍵の長さに応じた大きさのハッシュ関数を生成するための乱数を発生させ、前記訂正後ビット列の長さ、前記乱数および前記暗号鍵の長さから前記ハッシュ関数を生成する関数生成手段と、
前記訂正後ビット列および前記ハッシュ関数に基づく前記鍵圧縮処理によって前記暗号鍵を生成する圧縮手段と、
を備えた請求項１または２に記載の量子鍵配送装置。
【請求項４】
前記決定手段は、複数の前記誤り率を複数のグループに分け、前記グループごとに前記統合誤り率を決定し、
前記算出手段は、前記各統合誤り率に基づいて、前記暗号鍵の長さをそれぞれ算出し、
前記秘匿性増強手段は、前記訂正後ビット列から、該訂正後ビット列に対応する前記統合誤り率に基づいて算出された前記暗号鍵の長さとなるように、前記鍵圧縮処理によって前記暗号鍵を生成する請求項１〜３のいずれか一項に記載の量子鍵配送装置。
【請求項５】
前記決定手段は、複数の前記誤り率の値に基づいて前記複数のグループに分ける請求項４に記載の量子鍵配送装置。
【請求項６】
前記決定手段は、複数の前記誤り率のうち、最小値と最大値との差が所定の閾値以上である場合、前記統合誤り率は決定せず、
前記算出手段は、前記決定手段が前記統合誤り率を決定しない場合、複数の前記各誤り率に基づいて、それぞれ前記暗号鍵の長さを算出し、
前記秘匿性増強手段は、前記各誤り率に対応する前記訂正後ビット列から、前記算出手段によって該誤り率に基づいて算出される前記暗号鍵の長さとなるように、前記鍵圧縮処理によってそれぞれ前記暗号鍵を生成する請求項１〜５のいずれか一項に記載の量子鍵配送装置。
【請求項７】
請求項１〜６のいずれか一項に記載された量子鍵配送装置と、
前記複数の他の量子鍵配送装置と、
を備え、
前記秘匿性増強手段は、前記算出手段によって算出された前記暗号鍵の長さを前記複数の他の量子鍵配送装置に送信し、
前記複数の他の量子鍵配送装置は、
前記量子鍵共有手段と共有した前記共有ビット列から誤り訂正処理により、訂正後ビット列を生成し、
該訂正後ビット列から、前記秘匿性増強手段から受信した前記暗号鍵の長さとなるように、請求項１〜６のいずれか一項に記載された量子鍵配送装置と同様の方法に基づく前記鍵圧縮処理によって暗号鍵を生成する量子鍵配送システム。
【請求項８】
請求項１〜６のいずれか一項に記載された量子鍵配送装置と、前記複数の他の量子鍵配送装置とが、光学機器を介して前記量子通信路によって接続された量子アクセスネットワークを構成する請求項７に記載の量子鍵配送システム。
【請求項９】
量子通信路を介した複数の他の量子鍵配送装置との量子鍵配送により、共有ビット列を生成するステップと、
前記共有ビット列から誤り訂正処理により、訂正後ビット列を生成するステップと、
前記各他の量子鍵配送装置に対する前記量子通信路における誤り率を算出し、複数の前記誤り率から統合誤り率を決定するステップと、
前記統合誤り率に基づいて共通する暗号鍵の長さを算出するステップと、
前記訂正後ビット列から、算出した前記暗号鍵の長さとなるように、鍵圧縮処理によって、前記他の量子鍵配送装置と共有する前記暗号鍵を生成するステップと、
を有する量子鍵配送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法に関する。
【背景技術】
【０００２】
量子鍵配送システムは、送信機、受信機と、それを接続する光ファイバとを含んで構成される。送信機は、光ファイバ（量子通信路）を介して、光子を受信機に送信する。その後、送信機と受信機が相互に制御情報を交換することによって、送信機と受信機との間で暗号鍵を共有する。この技術は一般に量子鍵配送(ＱＫＤ：Ｑｕａｎｔｕｍ  Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ)と呼ばれる技術により実現される。
【０００３】
ＱＫＤでは、暗号鍵を共有するため利用される光子は、観測されることにより状態が変化する量子力学の基本原理である不確定性原理を有する。この性質により、送信機が送信した光子を量子通信路上で盗聴者が観測すると、光子の状態が変化し、光子を受信した受信機は、盗聴者に光子を観測されたことを知ることができる。
【０００４】
また、従来の量子鍵配送システムは、１対１のノードでの暗号鍵の共有を想定しており、光子を送信する送信機と、光子を受信する受信機とのペアによって暗号鍵の共有を行っている。一方、近年、光学機器を介して接続された１対多のノードでの暗号鍵の共有が可能とされており、一つの受信機と多数の送信機とによって暗号鍵の共有を可能とする量子アクセスネットワーク（ＱＡＮ：Ｑｕａｎｔｕｍ  Ａｃｃｅｓｓ  Ｎｅｔｗｏｒｋ）が注目されている。
【先行技術文献】
【特許文献】
【０００５】
【非特許文献１】Ｉｒｉｓ  Ｃｈｏｉ，  Ｒｏｂｅｒｔ  Ｊ．  Ｙｏｕｎｇ  ａｎｄ  Ｐａｕｌ  Ｄ．  Ｔｏｗｎｓｅｎｄ，“Ｑｕａｎｔｕｍ  ｋｅｙ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｏｎ  ａ  １０Ｇｂ／ｓ  ＷＤＭ−ＰＯＮ”，  ＯＰＴＩＣＳ  ＥＸＰＲＥＳＳ  ９６０１，  Ｖｏｌ．  １８，  Ｎｏ．  ９，  Ａｐｒｉｌ  ２０１０．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＱＫＤにおいて共有する暗号鍵の生成のために、送信機と受信機との間で通信を行いながら鍵蒸留処理を行う。鍵蒸留処理は、暗号鍵の基になるビット列を送信機と受信機との間で共有するシフティング処理、共有したビット列の誤りを訂正する誤り訂正処理、ならびに、シフティング処理および誤り訂正処理において盗聴者に漏れた情報を除くための鍵圧縮処理（ＰＡ（Ｐｒｉｖａｃｙ  Ａｍｐｌｉｆｉｃａｔｉｏｎ：秘匿性増強）処理）等によって構成される。
【０００７】
量子アクセスネットワークを含む１対多の量子鍵配送システムにおいては、送信機と受信機とで暗号鍵を共有するための鍵蒸留処理は、各ノード（送信機および受信機）で実施される。この場合、１対多の「多」に属するノードは、自身の鍵蒸留処理のみを行うのに対し、「多」に属するノードに接続する１つのノードは、複数のノードに対応した鍵蒸留処理をすべて実施しなければならない。したがって、複数のノード（送信機または受信機）に接続する１つのノード（受信機または送信機）は、多くの処理を実行しなければならないため、複数のノードに比べて処理の負荷の偏りが生じるという問題点がある。
【０００８】
本発明は、上記に鑑みてなされたものであって、量子鍵配送を行う送信機および受信機の処理の負荷の偏りを緩和することで、効率よく暗号鍵の共有を行う量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施形態の量子鍵配送装置は、量子鍵共有手段と、訂正手段と、決定手段と、算出手段と、秘匿性増強手段と、を備える。量子鍵共有手段は、量子通信路を介した複数の他の量子鍵配送装置との量子鍵配送により、共有ビット列を生成する。訂正手段は、共有ビット列に含まれる誤りを誤り訂正処理により訂正し、訂正後ビット列を生成する。決定手段は、各他の量子鍵配送装置に対する量子通信路における誤り率を算出し、複数の誤り率から統合誤り率を決定する。算出手段は、統合誤り率に基づいて共通する暗号鍵の長さを算出する。秘匿性増強手段は、訂正後ビット列から、算出手段によって算出された暗号鍵の長さとなるように、鍵圧縮処理によって、他の量子鍵配送装置と共有する暗号鍵を生成する。
【図面の簡単な説明】
【００１０】
【図１】図１は、量子鍵配送ネットワークの概略構成を示す図である。
【図２】図２は、第１の実施形態の量子アクセスネットワークの構成を示す図である。
【図３】図３は、第１の実施形態の量子アクセスネットワークの構成の具体例を示す図である。
【図４】図４は、ＱＫＤ受信機およびＱＫＤ送信機のブロック構成を示す図である。
【図５】図５は、量子アクセスネットワークでの従来のＱＫＤ装置の動作を示すシーケンス図である。
【図６】図６は、鍵圧縮処理を説明する図である。
【図７】図７は、第１の実施形態のＱＫＤ装置の動作を示すシーケンス図である。
【図８】図８は、第１の実施形態の変形例の量子アクセスネットワークの構成を示す図である。
【図９】図９は、第２の実施形態の量子アクセスネットワークの構成の具体例を示す図である。
【図１０】図１０は、第２の実施形態のＱＫＤ装置の動作を示すシーケンス図である。
【図１１】図１１は、ＱＫＤ装置のハードウェアの構成図である。
【発明を実施するための形態】
【００１１】
以下に、図面を参照しながら、本発明の実施形態に係る量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法を詳細に説明する。また、以下の図面において、同一の部分には同一の符号が付してある。ただし、図面は模式的なものであり、厚みと平面寸法との関係、各層の厚みの比率等は現実のものとは異なる場合がある。したがって、具体的な厚みおよび寸法は以下の説明を参酌して判断すべきものである。
【００１２】
（第１の実施形態）
図１は、量子鍵配送ネットワークの概略構成を示す図である。図２は、第１の実施形態の量子アクセスネットワークの構成を示す図である。図１を参照しながら、量子鍵配送ネットワーク６００および量子アクセスネットワーク５００の構成について説明する。
【００１３】
図１に示すように、量子鍵配送ネットワーク６００は、ＱＫＤ装置３００ａ〜３００ｆが互いに１対１で量子通信路によって接続（リンク）されたネットワークである。図１に示すＱＫＤ装置の１対１のリンクそれぞれにおいて、量子鍵配送によって同一の暗号鍵を生成して共有される。
【００１４】
ＱＫＤ装置３００ａ〜３００ｆのうち、ＱＫＤ装置３００ａは、光学機器４００を介して複数のＱＫＤ送信機２００ａ〜２００ｅに量子通信路によって接続されている。この場合のＱＫＤ装置３００ａは、ＱＫＤ受信機１００として機能している。このＱＫＤ受信機１００、光学機器４００、およびＱＫＤ送信機２００ａ〜２００ｅを含むネットワークは、量子アクセスネットワーク５００を構成している。
【００１５】
図２は、量子アクセスネットワーク５００の構成の詳細を示している。ただし、図２においては、１対多の量子アクセスネットワークを一般化して示すためｎ台のＱＫＤ送信機２００＿１〜２００＿ｎが、光学機器４００を介してＱＫＤ受信機１００に接続された状態を示している。ＱＫＤ受信機１００は、量子通信路となる光ファイバケーブルによって、光学機器４００に接続されている。ＱＫＤ送信機２００＿１〜２００＿ｎも、それぞれ量子通信路となる光ファイバケーブルによって、光学機器４００に接続されている。
【００１６】
図２に示す誤り率ＱＢＥＲ（Ｑｕａｎｔｕｍ  Ｂｉｔ  Ｅｒｒｏｒ  Ｒａｔｅ）は、後述する誤り訂正部が、ＱＫＤ送信機とＱＫＤ受信機との間で共有した共有ビット列から誤り訂正処理を実行して訂正後ビット列を生成した場合において、誤り訂正処理においてＱＫＤ送信機とＱＫＤ受信機との間で共有したビットに含まれる誤りを訂正した数から算出される誤りのあるビットの割合である。この誤り率ＱＢＥＲは、量子通信路ごとに独立して算出される値である。したがって、ＱＫＤ受信機１００とＱＫＤ送信機２００＿１とのリンクにおいては、誤り率ＱＢＥＲ１が算出され、ＱＫＤ受信機１００とＱＫＤ送信機２００＿２とのリンクにおいては、誤り率ＱＢＥＲ２が算出され、ＱＫＤ受信機１００とＱＫＤ送信機２００＿ｎとのリンクにおいては誤り率ＱＢＥＲｎが算出される。なお、誤り率をＱＢＥＲとしているが、これに限定されるものではなく、その他の方法により算出された誤り率としてもよい。
【００１７】
図３は、第１の実施形態の量子アクセスネットワークの構成の具体例を示す図である。図３を参照しながら、１つのＱＫＤ受信機に対して、３つのＱＫＤ送信機が接続された量子アクセスネットワークの構成について説明する。すなわち、本実施形態においては、量子鍵配送システムとして、量子アクセスネットワークを例に説明する。
【００１８】
図３に示すように、量子アクセスネットワーク５００ａは、ＱＫＤ受信機１と、ＱＫＤ送信機２ａ〜２ｃと、光学機器４と、を含んで構成されている。ＱＫＤ受信機１は、量子通信路となる光ファイバケーブルによって、光学機器４に接続されている。ＱＫＤ送信機２ａ〜２ｃも、それぞれ量子通信路となる光ファイバケーブルによって、光学機器４に接続されている。以下、ＱＫＤ送信機２ａ〜２ｃを区別なく呼称する場合、または総称する場合、単に「ＱＫＤ送信機２」というものとする。
【００１９】
ＱＫＤ送信機２ａ〜２ｃは、例えば、乱数によって発生させた、暗号鍵を生成する基となる単一光子から構成されるビット列（以下、光子ビット列という）を、それぞれ光学機器４を介して、ＱＫＤ受信機１へ送信する。ＱＫＤ送信機２ａ〜２ｃは、それぞれ送信した光子ビット列を基に、シフティング処理、誤り訂正処理およびＰＡ（秘匿性増強）処理（鍵圧縮処理）等を実行して、暗号鍵を生成する。
【００２０】
ＱＫＤ受信機１は、暗号鍵を生成する基となる単一光子から構成される光子ビット列を、光学機器４を介して、ＱＫＤ送信機２ａ〜２ｃそれぞれから受信する。ＱＫＤ受信機１は、受信した光子ビット列を基に、シフティング処理、誤り訂正処理およびＰＡ処理等を実行して、ＱＫＤ送信機２ａ〜２ｃがそれぞれ生成した暗号鍵と同一の暗号鍵を生成する。すなわち、ＱＫＤ受信機１と、ＱＫＤ送信機２ａ〜２ｃそれぞれとは、同一の暗号鍵を生成して共有することになる。さらに具体的にいうと、ＱＫＤ受信機１は３種類の暗号鍵を有し、ＱＫＤ送信機２ａは１種類目の暗号鍵を有し、ＱＫＤ送信機２ｂは２種類目の暗号鍵を有し、ＱＫＤ送信機２ｃは３種類目の鍵を有する。
【００２１】
なお、図示していないが、ＱＫＤ受信機１とＱＫＤ送信機２ａ〜２ｃとは、光ファイバケーブルの量子通信路以外に、通常の「０」と「１」とのデジタルデータを通信する通信ケーブル（古典通信路）で接続されている。古典通信路は、有線である必要はなく、無線であってもよい。
【００２２】
このようなＱＫＤ受信機１とＱＫＤ送信機２とを含む量子アクセスネットワーク５００ａにおいて、ＱＫＤ送信機２が送信した単一光子を量子通信路である光ファイバケーブル上で盗聴者が観測すると、光子の物理的変化が発生し、光子を受信したＱＫＤ受信機１は、盗聴者に光子を観測されたことを知ることができる。なお、ＱＫＤ受信機１およびＱＫＤ送信機２の暗号鍵の生成動作の詳細については、後述する。また、ＱＫＤ受信機１およびＱＫＤ送信機２を総称する場合、「ＱＫＤ装置」というものとする。
【００２３】
図４は、ＱＫＤ送信機およびＱＫＤ受信機のブロック構成を示す図である。図４を参照しながら、ＱＫＤ受信機１およびＱＫＤ受信機２の機能ブロック構成について説明する。
【００２４】
図４に示すように、ＱＫＤ受信機１（量子鍵配送装置）は、量子鍵共有部１０（量子鍵共有手段）と、誤り訂正部１１（訂正手段）と、誤り率決定部１２（決定手段）と、鍵長さ算出部１３（算出手段）と、ＰＡ処理部１４（秘匿性増強手段）と、アプリケーション処理部１５と、ストレージ１６と、を備えている。
【００２５】
量子鍵共有部１０は、量子通信路を介して、ＱＫＤ送信機２から光子ビット列を受信し、ランダムに発生させた基底情報に基づいて、光子ビット列を読み取る。次に、量子鍵共有部１０は、ＱＫＤ送信機２（後述する量子鍵共有部２０）が光子ビット列を送信するためにランダムに発生させた基底情報を受信する。そして、量子鍵共有部１０は、自ら発生した基底情報と量子鍵共有部２０から受信した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列とし、ストレージ１６に保存する。共有ビット列の長さは、量子鍵共有部１０および量子鍵共有部２０がランダムに発生させた基底情報に基づいて定まるので、統計上、光子ビット列の略１／２の長さとなる。ここで、量子鍵共有部１０は、後段の処理を簡略化するため、各ＱＫＤ送信機２に対応する共有ビット列の長さを統一させる。
【００２６】
誤り訂正部１１は、ストレージ１６から共有ビット列を読み出し、古典通信路を介して、後述する誤り訂正部２１と制御データを交換することにより、共有ビット列のビット誤りを訂正して、訂正後のビット列である訂正後ビット列を生成する。誤り訂正部１１は、生成した訂正後ビット列を、ストレージ１６に保存する。この誤り訂正部１１が生成した訂正後ビット列は、後述するＱＫＤ送信機２の誤り訂正部２１が、共有ビット列を訂正（誤り訂正処理）して生成した訂正後ビット列と一致する。また、訂正後ビット列は、共有ビット列のビット誤りを訂正したビット列なので、共有ビット列および訂正後ビット列の長さは同一である。
【００２７】
誤り率決定部１２は、訂正後ビット列を生成する誤り訂正処理において訂正した誤りの数から誤り率ＱＢＥＲを算出する。誤り率決定部１２は、ＱＫＤ受信機１にＱＫＤ送信機２ａ〜２ｃが接続されているので、ＱＫＤ送信機２ａ〜２ｃに対応するそれぞれの誤り率ＱＢＥＲ１〜ＱＢＥＲ３を算出する。そして、誤り率決定部１２は、算出した誤り率ＱＢＥＲ１〜ＱＢＥＲ３のうちの最大値を統合誤り率ＱＢＥＲｍａｘとして決定する。
【００２８】
ここで、統合誤り率ＱＢＥＲｍａｘを、誤り率ＱＢＥＲ１〜ＱＢＥＲ３のうちの最大値とするのは、暗号鍵による暗号通信の安全性を確保するためである。誤り率ＱＢＥＲが大きいほど盗聴者に漏れている情報量が多いと考えられ、小さいほど漏れている情報量が小さいと考えられる。本実施の形態では、後述するように、鍵長さ算出部１３によって暗号鍵の長さｓを共通の統合誤り率ＱＢＥＲｍａｘに基づいて算出するため、統合誤り率を、例えば、最小値に決定すると、盗聴者に漏れた情報を小さく見積もることになり、本来盗聴者に漏れている情報を取り除けない場合があるからである。そのため、統合誤り率を、誤り率ＱＢＥＲ１〜ＱＢＥＲ３のうちの最大値とし、誤り率を高く見積もることによって、盗聴者に漏れた情報を完全に取り除き、安全性に影響がないようにする。
【００２９】
鍵長さ算出部１３は、誤り率決定部１２より決定された統合誤り率ＱＢＥＲｍａｘに応じて、最終的に生成すべき暗号鍵の長さｓを算出する。この暗号鍵の長さｓは、ＱＫＤ受信機１と各ＱＫＤ送信機２（ＱＫＤ送信機２ａ〜２ｃ）との間の各リンクにおいて共通の値である。
【００３０】
ＰＡ処理部１４は、ハッシュ関数生成部１４０（関数生成手段）と、鍵圧縮部１４１（圧縮手段）と、を有する。ＰＡ処理部１４は、訂正後ビット列に対して、量子鍵共有部１０および誤り訂正部１１の処理の際に盗聴者により盗聴された可能性のある情報量を取り除くための鍵圧縮処理（秘匿性増強処理、ＰＡ処理）を行う。
【００３１】
ハッシュ関数生成部１４０は、後述の鍵圧縮処理の際に必要となるハッシュ関数を生成するために、暗号鍵の長さｓに応じた大きさのハッシュ関数を生成するための乱数ｒを発生させる。ＰＡ処理部１４は、暗号鍵の長さｓおよび乱数ｒの情報を、古典通信路を介して、各ＱＫＤ送信機２（ＰＡ処理部２４）に送信する。ハッシュ関数生成部１４０は、ストレージ１６から訂正後ビット列を読み出し、訂正後ビット列の長さと、乱数ｒと、暗号鍵の長さｓとからハッシュ関数を生成する。鍵圧縮部１４１は、訂正後ビット列にハッシュ関数を乗じる鍵圧縮処理によって、長さｓの暗号鍵（鍵ビット列）を生成し、ストレージ１６に保存する。
【００３２】
アプリケーション処理部１５は、必要に応じてストレージ１６から暗号鍵を読み出し、暗号鍵を外部のアプリケーションに暗号通信用に提供する。
【００３３】
なお、上述の量子鍵共有部１０、誤り訂正部１１、誤り率決定部１２、鍵長さ算出部１３、ＰＡ処理部１４およびアプリケーション処理部１５は、それぞれ後述するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０上で実行されるプログラムによって実現されてもよく、または、ハードウェア回路によって実現されてもよい。また、量子鍵共有部１０および誤り訂正部１１は、それぞれ共有ビット列および訂正後ビット列をストレージ１６に保存するものとしているが、必ずしも保存する必要はない。
【００３４】
図４に示すように、ＱＫＤ送信機２（他の量子鍵配送装置）は、量子鍵共有部２０と、誤り訂正部２１と、ＰＡ処理部２４と、アプリケーション処理部２５と、ストレージ２６と、を備えている。
【００３５】
量子鍵共有部２０は、例えば、乱数によって発生させたビット列に対して、ランダムに発生させた基底情報に基づく状態とした単一光子から構成される光子ビット列を、量子通信路を介して、ＱＫＤ受信機１に送信する。次に、量子鍵共有部２０は、ＱＫＤ受信機１（量子鍵共有部１０）が受信した光子ビット列を読み取るためにランダムに発生させた基底情報を受信する。そして、量子鍵共有部２０は、自ら発生した基底情報と量子鍵共有部１０から受信した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列とし、ストレージ２６に保存する。共有ビット列の長さは、量子鍵共有部１０および量子鍵共有部２０がランダムに発生させた基底情報に基づいて定まるので、統計上、光子ビット列の略１／２の長さとなる。ここで、量子鍵共有部２０は、後段の処理を簡略化するため、量子鍵共有部１０が有する共有ビット列の長さと同一にする。その結果、量子鍵共有部２０が有する共有ビット列の長さは、他のＱＫＤ送信機２が有する共有ビット列の長さとも同一となる。
【００３６】
誤り訂正部２１は、ストレージ２６から共有ビット列を読み出し、古典通信路を介して、誤り訂正部１１と制御データを交換することにより、共有ビット列のビット誤りを訂正して、訂正後のビット列である訂正後ビット列を生成する。誤り訂正部２１は、生成した訂正後ビット列を、ストレージ２６に保存する。この誤り訂正部２１が生成した訂正後ビット列は、ＱＫＤ受信機１の誤り訂正部１１が、共有ビット列を訂正（誤り訂正処理）して生成した訂正後ビット列と一致する。また、訂正後ビット列は、共有ビット列のビット誤りを訂正したビット列なので、共有ビット列および訂正後ビット列の長さは同一である。
【００３７】
ＰＡ処理部２４は、ハッシュ関数生成部２４０と、鍵圧縮部２４１と、を有する。ＰＡ処理部２４は、訂正後ビット列に対して、量子鍵共有部２０および誤り訂正部２１の処理の際に盗聴者により盗聴された可能性のある情報量を取り除くための鍵圧縮処理（秘匿性増強処理、ＰＡ処理）を行う。
【００３８】
ＰＡ処理部２４は、古典通信路を介して、ＰＡ処理部１４から暗号鍵の長さｓおよび乱数ｒの情報を受信する。ハッシュ関数生成部２４０は、ストレージ２６から訂正後ビット列を読み出し、訂正後ビット列の長さと、乱数ｒと、暗号鍵の長さｓとからハッシュ関数を生成する。鍵圧縮部２４１は、訂正後ビット列にハッシュ関数を乗じる鍵圧縮処理によって、長さｓの暗号鍵（鍵ビット列）を生成し、ストレージ２６に保存する。アプリケーション処理部２５は、必要に応じてストレージ２６から暗号鍵を読み出し、暗号鍵を外部のアプリケーションに暗号通信用に提供する。
【００３９】
なお、上述の量子鍵共有部２０、誤り訂正部２１、ＰＡ処理部２４およびアプリケーション処理部２５は、それぞれ後述するＣＰＵ８０上で実行されるプログラムによって実現されてもよく、または、ハードウェア回路によって実現されてもよい。また、量子鍵共有部２０および誤り訂正部２１は、それぞれ共有ビット列および訂正後ビット列をストレージ２６に保存するものとしているが、必ずしも保存する必要はない。
【００４０】
図５は、量子アクセスネットワークでの従来のＱＫＤ受信機およびＱＫＤ送信機の動作を示すシーケンス図である。図６は、鍵圧縮処理を説明する図である。図５および６を参照しながら、ＱＫＤ受信機１およびＱＫＤ送信機２（ＱＫＤ送信機２ａ〜２ｃ）による従来の暗号鍵の生成動作について説明する。
【００４１】
＜ステップＳ１０１＞
各ＱＫＤ送信機２の量子鍵共有部２０は、例えば、乱数によって発生させたビット列に対して、ランダムに発生させた基底情報に基づく状態とした単一光子から構成される光子ビット列を、量子通信路を介して、ＱＫＤ受信機１の量子鍵共有部１０に送信する。一方、量子鍵共有部１０は、量子通信路を介して、量子鍵共有部２０から光子ビット列を受信し、ランダムに発生させた基底情報に基づいて、光子ビット列を読み取る。
【００４２】
＜ステップＳ１０２＞
量子鍵共有部２０は、量子鍵共有部１０が受信した光子ビット列を読み取るためにランダムに発生させた基底情報を受信する。一方、量子鍵共有部１０は、量子鍵共有部２０が光子ビット列を送信するためにランダムに発生させた基底情報を受信する。
【００４３】
量子鍵共有部２０は、自ら発生した基底情報と量子鍵共有部１０から受信した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して共有ビット列とするシフティング処理を行い、共有ビット列をストレージ２６に保存する。量子鍵共有部２０は、生成した共有ビット列を、誤り訂正部２１に渡す。
【００４４】
量子鍵共有部１０は、自ら発生した基底情報と量子鍵共有部２０から受信した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列とするシフティング処理を行い、共有ビット列をストレージ１６に保存する。量子鍵共有部１０は、生成した共有ビット列を、誤り訂正部１１に渡す。このとき、量子鍵共有部１０は、各ＱＫＤ送信機２に対応して３種類の共有ビット列を生成することになる。
【００４５】
＜ステップＳ１０３＞
誤り訂正部１１は、ストレージ１６から共有ビット列を読み出し、古典通信路を介して、誤り訂正部２１と制御データを交換することにより、共有ビット列のビット誤りを訂正して、訂正後のビット列である訂正後ビット列を生成する誤り訂正処理を実行する。誤り訂正部１１は、生成した訂正後ビット列を、ストレージ１６に保存する。このとき、誤り訂正部１１は、各ＱＫＤ送信機２に対応して３種類の訂正後ビット列を生成することになる。
【００４６】
＜ステップＳ１０４＞
ＱＫＤ送信機２ａの誤り訂正部２１は、ストレージ２６から共有ビット列を読み出し、古典通信路を介して、誤り訂正部１１と制御データを交換することにより、共有ビット列のビット誤りを訂正して、訂正後のビット列である訂正後ビット列を生成する誤り訂正処理を実行する。ＱＫＤ送信機２ａの誤り訂正部２１は、生成した訂正後ビット列を、ストレージ２６に保存する。このＱＫＤ送信機２ａの誤り訂正部２１が生成した訂正後ビット列は、誤り訂正部１１が、ＱＫＤ送信機２ａに対応する共有ビット列を訂正して生成した訂正後ビット列と一致する。
【００４７】
＜ステップＳ１０５＞
ＱＫＤ送信機２ｂの誤り訂正部２１は、ストレージ２６から共有ビット列を読み出し、古典通信路を介して、誤り訂正部１１と制御データを交換することにより、共有ビット列のビット誤りを訂正して、訂正後のビット列である訂正後ビット列を生成する誤り訂正処理を実行する。ＱＫＤ送信機２ｂの誤り訂正部２１は、生成した訂正後ビット列を、ストレージ２６に保存する。このＱＫＤ送信機２ｂの誤り訂正部２１が生成した訂正後ビット列は、誤り訂正部１１が、ＱＫＤ送信機２ｂに対応する共有ビット列を訂正して生成した訂正後ビット列と一致する。
【００４８】
＜ステップＳ１０６＞
ＱＫＤ送信機２ｃの誤り訂正部２１は、ストレージ２６から共有ビット列を読み出し、古典通信路を介して、誤り訂正部１１と制御データを交換することにより、共有ビット列のビット誤りを訂正して、訂正後のビット列である訂正後ビット列を生成する誤り訂正処理を実行する。ＱＫＤ送信機２ｃの誤り訂正部２１は、生成した訂正後ビット列を、ストレージ２６に保存する。このＱＫＤ送信機２ｃの誤り訂正部２１が生成した訂正後ビット列は、誤り訂正部１１が、ＱＫＤ送信機２ｃに対応する共有ビット列を訂正して生成した訂正後ビット列と一致する。
【００４９】
＜ステップＳ１０７＞
誤り率決定部１２は、訂正後ビット列を生成する誤り訂正処理において訂正した誤りの数から誤り率ＱＢＥＲを算出する。誤り率決定部１２は、ＱＫＤ受信機１にＱＫＤ送信機２ａ〜２ｃが接続されているので、ＱＫＤ送信機２ａ〜２ｃに対応するそれぞれの誤り率ＱＢＥＲ１〜ＱＢＥＲ３を算出する。
【００５０】
＜ステップＳ１０８＞
鍵長さ算出部１３は、誤り率決定部１２より決定されたＱＫＤ送信機２ａに対応する誤り率ＱＢＥＲ１に応じて、最終的に生成すべき暗号鍵の長さｓ１を算出する。
【００５１】
＜ステップＳ１０９＞
鍵長さ算出部１３は、誤り率決定部１２より決定されたＱＫＤ送信機２ｂに対応する誤り率ＱＢＥＲ２に応じて、最終的に生成すべき暗号鍵の長さｓ２を算出する。
【００５２】
＜ステップＳ１１０＞
鍵長さ算出部１３は、誤り率決定部１２より決定されたＱＫＤ送信機２ｃに対応する誤り率ＱＢＥＲ３に応じて、最終的に生成すべき暗号鍵の長さｓ３を算出する。
【００５３】
＜ステップＳ１１１＞
ハッシュ関数生成部１４０は、鍵圧縮処理の際に必要となるハッシュ関数を生成するために、暗号鍵の長さｓ１に応じた大きさのハッシュ関数を生成するための乱数ｒ１を発生させる。
【００５４】
＜ステップＳ１１２＞
ハッシュ関数生成部１４０は、鍵圧縮処理の際に必要となるハッシュ関数を生成するために、暗号鍵の長さｓ２に応じた大きさのハッシュ関数を生成するための乱数ｒ２を発生させる。
【００５５】
＜ステップＳ１１３＞
ハッシュ関数生成部１４０は、鍵圧縮処理の際に必要となるハッシュ関数を生成するために、暗号鍵の長さｓ３に応じた大きさのハッシュ関数を生成するための乱数ｒ３を発生させる。
【００５６】
＜ステップＳ１１４＞
ＰＡ処理部１４は、鍵の長さｓ１および乱数ｒ１の情報を、古典通信路を介して、ＱＫＤ送信機２ａのＰＡ処理部２４に送信する。
【００５７】
＜ステップＳ１１５＞
ＰＡ処理部１４は、鍵の長さｓ２および乱数ｒ２の情報を、古典通信路を介して、ＱＫＤ送信機２ｂのＰＡ処理部２４に送信する。
【００５８】
＜ステップＳ１１６＞
ＰＡ処理部１４は、鍵の長さｓ３および乱数ｒ３の情報を、古典通信路を介して、ＱＫＤ送信機２ｃのＰＡ処理部２４に送信する。
【００５９】
＜ステップＳ１１７＞
ハッシュ関数生成部１４０は、ストレージ１６からＱＫＤ送信機２ａに対応する訂正後ビット列を読み出し、図６に示すように、訂正後ビット列の長さｎ１（図６ではｎと記載）と、乱数ｒ１と、暗号鍵の長さｓ１（図ではｓと記載）とからｎ１×ｓ１の行列であり乱数ｒ１によりランダムに構成されたハッシュ関数Ｈ１を生成する。
【００６０】
＜ステップＳ１１８＞
ハッシュ関数生成部１４０は、ストレージ１６からＱＫＤ送信機２ｂに対応する訂正後ビット列を読み出し、図６に示すように、訂正後ビット列の長さｎ２（図６ではｎと記載）と、乱数ｒ２と、暗号鍵の長さｓ２（図ではｓと記載）とからｎ２×ｓ２の行列であり乱数ｒ２によりランダムに構成されたハッシュ関数Ｈ２を生成する。
【００６１】
＜ステップＳ１１９＞
ハッシュ関数生成部１４０は、ストレージ１６からＱＫＤ送信機２ｃに対応する訂正後ビット列を読み出し、図６に示すように、訂正後ビット列の長さｎ３（図６ではｎと記載）と、乱数ｒ３と、暗号鍵の長さｓ３（図ではｓと記載）とからｎ３×ｓ３の行列であり乱数ｒ３によりランダムに構成されたハッシュ関数Ｈ３を生成する。
【００６２】
なお、上述のように、各ＱＫＤ送信機２に対応する共有ビット列の長さは同一であり、共有ビット列と同一の長さを有する訂正後ビット列もそれぞれ同一の長さである。したがって、上述の訂正後ビット列の長さｎ１〜ｎ３は、同一の値となる。ただし、ＱＫＤ送信機２ａ〜２ｃにそれぞれ対応する暗号鍵の長さｓ１〜ｓ３は、それぞれの誤り率ＱＢＥＲ１〜ＱＢＥＲ３に応じて定まるので、異なる長さとなる。したがって、ハッシュ関数Ｈ１〜Ｈ３は、それぞれ異なるものとなるので、ハッシュ関数生成部１４０は、ハッシュ関数Ｈ１〜Ｈ３をそれぞれ生成する必要がある。
【００６３】
＜ステップＳ１２０＞
ＱＫＤ送信機２ａのハッシュ関数生成部２４０は、ストレージ２６から訂正後ビット列を読み出し、訂正後ビット列の長さｎ１と、受信した乱数ｒ１と、暗号鍵の長さｓ１とからｎ１×ｓ１の行列であるハッシュ関数Ｈ１を生成する。このＱＫＤ送信機２ａのハッシュ関数生成部２４０によって生成されたハッシュ関数Ｈ１は、ハッシュ関数生成部１４０が、ＱＫＤ送信機２ａに対応する訂正後ビット列から生成したハッシュ関数Ｈ１と一致する。
【００６４】
＜ステップＳ１２１＞
ＱＫＤ送信機２ｂのハッシュ関数生成部２４０は、ストレージ２６から訂正後ビット列を読み出し、訂正後ビット列の長さｎ２と、受信した乱数ｒ２と、暗号鍵の長さｓ２とからｎ２×ｓ２の行列であるハッシュ関数Ｈ２を生成する。このＱＫＤ送信機２ｂのハッシュ関数生成部２４０によって生成されたハッシュ関数Ｈ２は、ハッシュ関数生成部１４０が、ＱＫＤ送信機２ｂに対応する訂正後ビット列から生成したハッシュ関数Ｈ２と一致する。
【００６５】
＜ステップＳ１２２＞
ＱＫＤ送信機２ｃのハッシュ関数生成部２４０は、ストレージ２６から訂正後ビット列を読み出し、訂正後ビット列の長さｎ３と、受信した乱数ｒ３と、暗号鍵の長さｓ３とからｎ３×ｓ３の行列であるハッシュ関数Ｈ３を生成する。このＱＫＤ送信機２ｃのハッシュ関数生成部２４０によって生成されたハッシュ関数Ｈ３は、ハッシュ関数生成部１４０が、ＱＫＤ送信機２ｃに対応する訂正後ビット列から生成したハッシュ関数Ｈ３と一致する。
【００６６】
＜ステップＳ１２３＞
鍵圧縮部１４１は、ＱＫＤ送信機２ａに対応する訂正後ビット列にハッシュ関数Ｈ１を乗じる鍵圧縮処理によって、長さｓ１の暗号鍵（鍵ビット列）を生成し、ストレージ１６に保存する。鍵圧縮部１４１は、ＱＫＤ送信機２ｂに対応する訂正後ビット列にハッシュ関数Ｈ２を乗じる鍵圧縮処理によって、長さｓ２の暗号鍵（鍵ビット列）を生成し、ストレージ１６に保存する。そして、鍵圧縮部１４１は、ＱＫＤ送信機２ｃに対応する訂正後ビット列にハッシュ関数Ｈ３を乗じる鍵圧縮処理によって、長さｓ３の暗号鍵（鍵ビット列）を生成し、ストレージ１６に保存する。
【００６７】
＜ステップＳ１２４＞
ＱＫＤ送信機２ａの鍵圧縮部２４１は、訂正後ビット列にハッシュ関数Ｈ１を乗じる鍵圧縮処理によって、長さｓ１の暗号鍵（鍵ビット列）を生成し、ストレージ２６に保存する。
【００６８】
＜ステップＳ１２５＞
ＱＫＤ送信機２ｂの鍵圧縮部２４１は、訂正後ビット列にハッシュ関数Ｈ２を乗じる鍵圧縮処理によって、長さｓ２の暗号鍵（鍵ビット列）を生成し、ストレージ２６に保存する。
【００６９】
＜ステップＳ１２６＞
ＱＫＤ送信機２ｃの鍵圧縮部２４１は、訂正後ビット列にハッシュ関数Ｈ３を乗じる鍵圧縮処理によって、長さｓ３の暗号鍵（鍵ビット列）を生成し、ストレージ２６に保存する。
【００７０】
以上のような、ＱＫＤ受信機１およびＱＫＤ送信機２（ＱＫＤ送信機２ａ〜２ｃ）による従来の量子アクセスネットワークにおける暗号鍵の生成動作においては、ＱＫＤ受信機１側の処理の負荷が大きくなる。具体的には、ＱＫＤ受信機１は、ＱＫＤ送信機２ａ〜２ｃに対応する誤り率ＱＢＥＲ１〜ＱＢＥＲ３それぞれについて、暗号鍵の長さの算出、暗号鍵の長さに応じた乱数の発生、ハッシュ関数の生成、および暗号鍵の生成をそれぞれ個別に処理しなければならない。ＱＫＤ受信機１にｎ台のＱＫＤ送信機２が接続されている場合、ＱＫＤ受信機１は、暗号鍵の長さの算出、暗号鍵の長さに応じた乱数の発生、ハッシュ関数の生成、および暗号鍵の生成の処理をそれぞれｎ回実行しなければならない。特に、乱数の発生の際に、所定のアルゴリズムにより作り出される擬似乱数ではなく物理的現象により作り出される物理乱数を発生させる場合は、乱数を作り出すための処理負荷が特に大きくなる。一方、ＱＫＤ送信機２ａ〜２ｃは、それぞれ、自身のためのハッシュ関数の生成、および暗号鍵の生成のみを実行すればよいので、ＱＫＤ受信機１の処理負荷と比較して、大きく偏りが生じることになる。
【００７１】
そこで、本実施形態では、上述したように誤り率決定部１２によって誤り率ＱＢＥＲ１〜ＱＢＥＲ３を統合して統合誤り率を決定する処理を導入している。具体的には、上述のように、誤り率決定部１２は、算出した誤り率ＱＢＥＲ１〜ＱＢＥＲ３のうちの最大値を統合誤り率ＱＢＥＲｍａｘとして決定する。
【００７２】
図７は、第１の実施形態のＱＫＤ受信機およびＱＫＤ送信機の動作を示すシーケンス図である。図７を参照しながら、本実施形態のＱＫＤ受信機１およびＱＫＤ送信機２（ＱＫＤ送信機２ａ〜２ｃ）による暗号鍵の生成動作について説明する。以下の説明では、図５の従来の暗号鍵の生成動作と相違する点を中心に説明する。
【００７３】
＜ステップＳ１１〜Ｓ１７＞
図５に示すステップＳ１０１〜Ｓ１０７の処理と同様である。
【００７４】
＜ステップＳ１８＞
誤り率決定部１２は、算出した誤り率ＱＢＥＲ１〜ＱＢＥＲ３のうちの最大値を統合誤り率ＱＢＥＲｍａｘとして決定する。例えば、ＱＢＥＲ１＝５［％］、ＱＢＥＲ２＝３［％］、ＱＢＥＲ３＝６［％］である場合、誤り率決定部１２は、最大値であるＱＢＥＲ３（＝６［％］）を統合誤り率ＱＢＥＲｍａｘとして決定する。
【００７５】
なお、統合誤り率を、誤り率ＱＢＥＲの最大値としているが、これに限定されるものではなく、例えば、最大値以上の値を統合誤り率としてもよく、暗号鍵による暗号通信の安全の確保には影響しない。
【００７６】
＜ステップＳ１９＞
鍵長さ算出部１３は、誤り率決定部１２より決定された統合誤り率ＱＢＥＲｍａｘに応じて、最終的に生成すべき暗号鍵の長さｓを算出する。この暗号鍵の長さｓは、ＱＫＤ受信機１と各ＱＫＤ送信機２（ＱＫＤ送信機２ａ〜２ｃ）との間の各リンクにおいて共通の値である。
【００７７】
＜ステップＳ２０＞
ハッシュ関数生成部１４０は、鍵圧縮処理の際に必要となるハッシュ関数を生成するために、暗号鍵の長さｓに応じた大きさのハッシュ関数を生成するための乱数ｒを発生させる。
【００７８】
＜ステップＳ２１＞
ＰＡ処理部１４は、暗号鍵の長さｓおよび乱数ｒの情報を、古典通信路を介して、ＱＫＤ送信機２ａ〜２ｃに送信する。
【００７９】
＜ステップＳ２２＞
ハッシュ関数生成部１４０は、ストレージ１６からＱＫＤ送信機２ａに対応する訂正後ビット列を読み出し、図６に示すように、訂正後ビット列の長さｎ１（図６ではｎと記載）と、乱数ｒと、暗号鍵の長さｓとからｎ１×ｓの行列であるハッシュ関数Ｈ１ａを生成する。ハッシュ関数生成部１４０は、ストレージ１６からＱＫＤ送信機２ｂに対応する訂正後ビット列を読み出し、図６に示すように、訂正後ビット列の長さｎ２（図６ではｎと記載）と、乱数ｒと、暗号鍵の長さｓとからｎ２×ｓの行列であるハッシュ関数Ｈ２ａを生成する。ハッシュ関数生成部１４０は、ストレージ１６からＱＫＤ送信機２ｃに対応する訂正後ビット列を読み出し、図６に示すように、訂正後ビット列の長さｎ３（図６ではｎと記載）と、乱数ｒと、暗号鍵の長さｓとからｎ３×ｓの行列であるハッシュ関数Ｈ３ａを生成する。ただし、上述のように、訂正後ビット列の長さｎ１〜ｎ３は、同一の値であるので、この値をｎとすると、実際には、ハッシュ関数Ｈ１ａ〜Ｈ３ａは、ｎ×ｓの同一の行列である。したがって、ハッシュ関数生成部１４０は、ＱＫＤ送信機２ａ〜２ｃに対応する共通のハッシュ関数として、長さｎと、乱数ｒと、暗号鍵の長さｓとからｎ×ｓの行列であるハッシュ関数Ｈ（＝Ｈ１ａ＝Ｈ２ａ＝Ｈ３ａ）を生成する処理を一度実行すればよい。
【００８０】
＜ステップＳ２３＞
ＱＫＤ送信機２ａのハッシュ関数生成部２４０は、ストレージ２６から訂正後ビット列を読み出し、訂正後ビット列の長さｎ１と、受信した乱数ｒと、暗号鍵の長さｓとからｎ１×ｓの行列であるハッシュ関数Ｈ１ａを生成する。このＱＫＤ送信機２ａのハッシュ関数生成部２４０によって生成されたハッシュ関数Ｈ１ａは、ハッシュ関数生成部１４０が生成したハッシュ関数Ｈと一致する。
【００８１】
＜ステップＳ２４＞
ＱＫＤ送信機２ｂのハッシュ関数生成部２４０は、ストレージ２６から訂正後ビット列を読み出し、訂正後ビット列の長さｎ２と、受信した乱数ｒと、暗号鍵の長さｓとからｎ２×ｓの行列であるハッシュ関数Ｈ２ａを生成する。このＱＫＤ送信機２ｂのハッシュ関数生成部２４０によって生成されたハッシュ関数Ｈ２ａは、ハッシュ関数生成部１４０が生成したハッシュ関数Ｈと一致する。
【００８２】
＜ステップＳ２５＞
ＱＫＤ送信機２ｃのハッシュ関数生成部２４０は、ストレージ２６から訂正後ビット列を読み出し、訂正後ビット列の長さｎ３と、受信した乱数ｒと、暗号鍵の長さｓとからｎ３×ｓの行列であるハッシュ関数Ｈ３ａを生成する。このＱＫＤ送信機２ｃのハッシュ関数生成部２４０によって生成されたハッシュ関数Ｈ３ａは、ハッシュ関数生成部１４０が生成したハッシュ関数Ｈと一致する。
【００８３】
＜ステップＳ２６＞
鍵圧縮部１４１は、ＱＫＤ送信機２ａに対応する訂正後ビット列にハッシュ関数Ｈ１ａを乗じる鍵圧縮処理によって、長さｓの暗号鍵（鍵ビット列）を生成し、ストレージ１６に保存する。鍵圧縮部１４１は、ＱＫＤ送信機２ｂに対応する訂正後ビット列にハッシュ関数Ｈ２ａを乗じる鍵圧縮処理によって、長さｓの暗号鍵（鍵ビット列）を生成し、ストレージ１６に保存する。そして、鍵圧縮部１４１は、ＱＫＤ送信機２ｃに対応する訂正後ビット列にハッシュ関数Ｈ３ａを乗じる鍵圧縮処理によって、長さｓの暗号鍵（鍵ビット列）を生成し、ストレージ１６に保存する。
【００８４】
＜ステップＳ２７＞
ＱＫＤ送信機２ａの鍵圧縮部２４１は、訂正後ビット列にハッシュ関数Ｈ１ａを乗じる鍵圧縮処理によって、長さｓの暗号鍵（鍵ビット列）を生成し、ストレージ２６に保存する。
【００８５】
＜ステップＳ２８＞
ＱＫＤ送信機２ｂの鍵圧縮部２４１は、訂正後ビット列にハッシュ関数Ｈ２ａを乗じる鍵圧縮処理によって、長さｓの暗号鍵（鍵ビット列）を生成し、ストレージ２６に保存する。
【００８６】
＜ステップＳ２９＞
ＱＫＤ送信機２ｃの鍵圧縮部２４１は、訂正後ビット列にハッシュ関数Ｈ３ａを乗じる鍵圧縮処理によって、長さｓの暗号鍵（鍵ビット列）を生成し、ストレージ２６に保存する。
【００８７】
以上のように、誤り率決定部１２により、各ＱＫＤ送信機２に応じて算出した誤り率ＱＢＥＲを統合して統合誤り率を決定したことによって、ＱＫＤ受信機１およびＱＫＤ送信機２ａ〜２ｃは、同一の長さｓの暗号鍵を共有することになる。
【００８８】
本実施形態に係るＱＫＤ受信機１は、誤り率決定部１２によって、各ＱＢＥＲを統合して統合誤り率を決定している。これによって、鍵長さ算出部１３は、統合誤り率に応じて、暗号鍵の長さの算出処理を１回実行すればよい。また、ハッシュ関数生成部１４０は、このように決定された１の暗号鍵の長さに応じて乱数も発生させればよいので、乱数の発生処理も１回実行すればよい。したがって、ＱＫＤ受信機１は、ｎ台のＱＫＤ送信機２が接続されている場合、暗号鍵の生成の処理はｎ回実行しなければならないが、暗号鍵の長さの算出、乱数の発生、およびハッシュ関数の生成の処理は、ＱＫＤ送信機２ごとに実行する必要がなく、１回実行すればよいことになる。よって、ＱＫＤ受信機１の、処理負荷を軽減することができ、ＱＫＤ送信機２との処理負荷の偏りを軽減することができる。
【００８９】
なお、誤り率決定部１２が算出した複数の誤り率ＱＢＥＲのうち、最小値と最大値との差が大きく離れている場合、統合誤り率を最大値に決定すると、最小値の誤り率ＱＢＥＲに対応する訂正後ビット列からＰＡ処理部により取り除かれる情報量は、盗聴者に漏れた情報量以上のものまで余計に取り除かれることになる。この場合、鍵圧縮部１４１および鍵圧縮部２４１により生成される暗号鍵の長さは小さくなり、暗号通信の効率が下がる可能性がある。そこで、複数の誤り率ＱＢＥＲのうち、最小値と最大値との差と所定の閾値とを比較し、差が所定値未満であれば、図７に示す本実施形態の暗号鍵の生成動作を実行し、差が所定値以上であれば、図５に示す従来の暗号鍵の生成動作を実行するものとしてもよい。これによって、暗号鍵の長さが小さくなることによる暗号通信の効率の低下と、ＱＫＤ受信機１とＱＫＤ送信機２との処理負荷の偏りとのバランスをとることができる。
【００９０】
また、上述のように、ハッシュ関数生成部１４０、鍵圧縮部１４１、ハッシュ関数生成部２４０および鍵圧縮部２４１において、鍵圧縮処理の方法としてハッシュ関数を用いたものとしているが、これに限定されるものではなく、その他の方法によって実現してもよい。
【００９１】
また、本実施形態において、量子鍵配送システムとして、光学機器４を介した量子アクセスネットワークを例に説明したが、量子鍵配送システムとして、量子アクセスネットワークに限定されるものではなく、例えば、図８のような構成の量子アクセスネットワーク５００ｂであってもよい。
【００９２】
量子アクセスネットワーク５００ｂは、ＱＫＤ受信機１００ａと、ｎ個のＱＫＤ送信機（ＱＫＤ送信機２００＿１、２００＿２、・・・、２００＿ｎ）と、を備えている。ＱＫＤ受信機１００ａは、それぞれのＱＫＤ送信機との量子通信路用の通信Ｉ／Ｆを有しており、それぞれの通信Ｉ／Ｆに、各ＱＫＤ送信機が接続されている。このような構成の量子鍵配送システム（量子アクセスネットワーク５００ｂ）においても、上述の図７に示す暗号鍵の生成動作を適用することができる。なお、量子アクセスネットワーク５００ｂの場合、ＱＫＤ受信機１００ａを光子ビット列の受信機とし、ＱＫＤ送信機２００＿１、２００＿２、・・・、２００＿ｎを光子ビット列の送信機としているが、送受信が逆であってもよい。
【００９３】
（第２の実施形態）
本実施形態に係る量子鍵配送システムの構成および動作について、第１の実施形態に係る量子鍵配送システム（量子アクセスネットワーク５００、５００ａ、５００ｂ）と相違する構成および動作を中心に説明する。なお、ＱＫＤ装置の構成は、第１の実施形態と同様である。
【００９４】
第１の実施形態においては、複数の誤り率ＱＢＥＲから最大値を統合誤り率ＱＢＥＲｍａｘとし、暗号鍵の長さｓを算出するものとしている。しかし、複数の誤り率ＱＢＥＲのうち、最小値と最大値との差が大きく離れている場合、統合誤り率を最大値に決定すると、最小値の誤り率ＱＢＥＲに対応する訂正後ビット列から取り除かれる情報量は、盗聴者に漏れた情報量以上のものまで余計に取り除かれることになる。この場合、鍵圧縮部１４１および鍵圧縮部２４１により生成される暗号鍵の長さは小さくなり、暗号鍵の長さが小さくなると、暗号通信には多くの暗号鍵が必要になり、暗号通信の効率が下がる可能性がある。そこで、本実施形態においては、複数の誤り率ＱＢＥＲの値によって対応するＱＫＤ送信機２を複数のグループに分けて、それぞれのグループにおいて統合誤り率を決定する動作について説明する。
【００９５】
図９は、第２の実施形態の量子アクセスネットワークの構成の具体例を示す図である。図９を参照しながら、１つのＱＫＤ受信機に対して、３つのＱＫＤ送信機が接続された量子アクセスネットワークの構成について説明する。すなわち、本実施形態においては、量子鍵配送システムとして、量子アクセスネットワークを例に説明する。
【００９６】
図９に示すように、量子アクセスネットワーク５００ｃは、ＱＫＤ受信機１ａ（量子鍵配送装置）と、ＱＫＤ送信機２ａ〜２ｃ（他の量子鍵配送装置）と、光学機器４と、を含んで構成されている。ＱＫＤ受信機１ａは、量子通信路となる光ファイバケーブルによって、光学機器４に接続されている。ＱＫＤ送信機２ａ〜２ｃも、それぞれ量子通信路となる光ファイバケーブルによって、光学機器４に接続されている。
【００９７】
ＱＫＤ送信機２ａ〜２ｃは、例えば、乱数によって発生させた、暗号鍵を生成する基となる単一光子から構成される光子ビット列を、それぞれ光学機器４を介して、ＱＫＤ受信機１ａへ送信する。ＱＫＤ送信機２ａ〜２ｃは、それぞれ送信した光子ビット列を基に、シフティング処理、誤り訂正処理およびＰＡ（秘匿性増強）処理（鍵圧縮処理）等を実行して、暗号鍵を生成する。
【００９８】
ＱＫＤ受信機１ａは、暗号鍵を生成する基となる単一光子から構成される光子ビット列を、光学機器４を介して、ＱＫＤ送信機２ａ〜２ｃそれぞれから受信する。ＱＫＤ受信機１ａは、受信した光子ビット列を基に、シフティング処理、誤り訂正処理およびＰＡ処理等を実行して、ＱＫＤ送信機２ａ〜２ｃがそれぞれ生成した暗号鍵と同一の暗号鍵を生成する。すなわち、ＱＫＤ受信機１と、ＱＫＤ送信機２ａ〜２ｃそれぞれとは、同一の暗号鍵を共有することになる。
【００９９】
図１０は、第２の実施形態のＱＫＤ受信機およびＱＫＤ送信機の動作を示すシーケンス図である。図１０を参照しながら、本実施形態のＱＫＤ受信機１ａおよびＱＫＤ送信機２（ＱＫＤ送信機２ａ〜２ｃ）による暗号鍵の生成動作について説明する。以下の説明では、図７の第１の実施形態の暗号鍵の生成動作と相違する点を中心に説明する。
【０１００】
＜ステップＳ５１〜Ｓ５７＞
図７に示すステップＳ１１〜Ｓ１７の処理と同様である。
【０１０１】
＜ステップＳ５８、Ｓ５９＞
ＱＫＤ受信機１ａの誤り率決定部１２（図４参照）は、算出した誤り率ＱＢＥＲ１〜ＱＢＥＲ３に基づいて、ＱＫＤ送信機２をグループに分ける。誤り率決定部１２は、例えば、所定の閾値ｄＡ、ｄＢを用いて、誤り率ＱＢＥＲの値が、０≦ＱＢＥＲ＜ｄＡの場合はグループＡに属するものとし、ｄＡ≦ＱＢＥＲ＜ｄＢの場合はグループＢに属するものとし、ｄＢ≦ＱＢＥＲの場合はグループＣに属するもの判定する。なお、誤り率ＱＢＥＲをグループＡ〜Ｃの３つのグループに分けることに限定するものではなく、２つまたは４つ以上のグループに分けるものとしてもよい。また、上述の方法によってグループ分けすることに限定するものではなく、誤り率ＱＢＥＲの値が近いものを同じグループに分ける方法であれば、どのようなグループ分けの方法でもよい。
【０１０２】
ここで、誤り率決定部１２は、誤り率ＱＢＥＲ１＝３［％］、誤り率ＱＢＥＲ２＝２［％］、誤り率ＱＢＥＲ３＝７［％］と算出したものとする。そして、閾値ｄＡ、ｄＢがｄＡ＝４およびｄＢ＝８と決められているものとする。この場合、誤り率決定部１２は、図９に示すように、誤り率ＱＢＥＲ１に対応するＱＫＤ送信機２ａ、および誤り率ＱＢＥＲ２に対応するＱＫＤ送信機２ｂが、グループＡに属するものと判定する。また、誤り率決定部１２は、図９に示すように、誤り率ＱＢＥＲ３に対応するＱＫＤ送信機２ｃが、グループＢに属するものと判定する。そして、誤り率決定部１２は、グループＣに属するＱＫＤ送信機２はないものと判定する。
【０１０３】
誤り率決定部１２は、グループＡの誤り率ＱＢＥＲ１、ＱＢＥＲ２のうち最大値（この場合、誤り率ＱＢＥＲ１）をグループＡの統合誤り率ＱＢＥＲｍａｘＡとして決定する（ステップＳ５８）。そして、誤り率決定部１２は、グループＢの誤り率ＱＢＥＲ３のうち最大値、すなわち誤り率ＱＢＥＲ３をグループＢの統合誤り率ＱＢＥＲｍａｘＢとして決定する（ステップＳ５９）。
【０１０４】
なお、各グループの統合誤り率を、そのグループに属する誤り率ＱＢＥＲの最大値としているが、これに限定されるものではなく、例えば、最大値以上の値を統合誤り率としてもよく、暗号鍵による暗号通信の安全の確保には影響しない。
【０１０５】
＜ステップＳ６０＞
ＱＫＤ受信機１ａの鍵長さ算出部１３（図４参照）は、誤り率決定部１２より決定された統合誤り率ＱＢＥＲｍａｘＡに応じて、最終的に生成すべき暗号鍵の長さｓＡを算出する。この暗号鍵の長さｓＡは、ＱＫＤ受信機１ａとＱＫＤ送信機２ａ、２ｂとの間の各リンクにおいて共通の値である。
【０１０６】
＜ステップＳ６１＞
鍵長さ算出部１３は、誤り率決定部１２より決定された統合誤り率ＱＢＥＲｍａｘＢに応じて、最終的に生成すべき暗号鍵の長さｓＢを算出する。この暗号鍵の長さｓＢは、ＱＫＤ受信機１ａとＱＫＤ送信機２ｃとの間のリンクにおいて共通の値である。
【０１０７】
＜ステップＳ６２＞
ＱＫＤ受信機１ａのハッシュ関数生成部１４０（図４参照）は、鍵圧縮処理の際に必要となるハッシュ関数を生成するために、暗号鍵の長さｓＡに応じた大きさのハッシュ関数を生成するための乱数ｒＡを発生させる。
【０１０８】
＜ステップＳ６３＞
ハッシュ関数生成部１４０は、鍵圧縮処理の際に必要となるハッシュ関数を生成するために、暗号鍵の長さｓＢに応じた大きさのハッシュ関数を生成するための乱数ｒＢを発生させる。
【０１０９】
＜ステップＳ６４＞
ＱＫＤ受信機１ａのＰＡ処理部１４（図４参照）は、暗号鍵の長さｓＡおよび乱数ｒＡの情報を、古典通信路を介して、ＱＫＤ送信機２ａ、２ｂに送信する。
【０１１０】
＜ステップＳ６５＞
ＰＡ処理部１４（図４参照）は、暗号鍵の長さｓＢおよび乱数ｒＢの情報を、古典通信路を介して、ＱＫＤ送信機２ｃに送信する。
【０１１１】
＜ステップＳ６６＞
ハッシュ関数生成部１４０は、ストレージ１６（図４参照）からＱＫＤ送信機２ａに対応する訂正後ビット列を読み出し、図６に示すように、訂正後ビット列の長さｎ１（図６ではｎと記載）と、乱数ｒＡと、暗号鍵の長さｓＡとからｎ１×ｓＡの行列であるハッシュ関数ＨＡａを生成する。ハッシュ関数生成部１４０は、ストレージ１６からＱＫＤ送信機２ｂに対応する訂正後ビット列を読み出し、図６に示すように、訂正後ビット列の長さｎ２（図６ではｎと記載）と、乱数ｒＡと、暗号鍵の長さｓＡとからｎ２×ｓＡの行列であるハッシュ関数ＨＡｂを生成する。ハッシュ関数生成部１４０は、ストレージ１６からＱＫＤ送信機２ｃに対応する訂正後ビット列を読み出し、図６に示すように、訂正後ビット列の長さｎ３（図６ではｎと記載）と、乱数ｒＢと、暗号鍵の長さｓＢとからｎ３×ｓＢの行列であるハッシュ関数ＨＢを生成する。ただし、上述のように、訂正後ビット列の長さｎ１〜ｎ３は、同一の値であるので、この値をｎとすると、実際には、ハッシュ関数ＨＡａ、ＨＡｂは、ｎ×ｓＡの同一の行列である。したがって、ハッシュ関数生成部１４０は、ＱＫＤ送信機２ａ、２ｂに対応する共通のハッシュ関数として、長さｎと、乱数ｒＡと、暗号鍵の長さｓＡとからｎ×ｓＡの行列であるハッシュ関数ＨＡ（＝ＨＡａ＝ＨＡｂ）を生成する処理を一度実行すればよい。
【０１１２】
＜ステップＳ６７＞
ＱＫＤ送信機２ａのハッシュ関数生成部２４０（図４参照）は、ストレージ２６（図４参照）から訂正後ビット列を読み出し、訂正後ビット列の長さｎ１と、受信した乱数ｒＡと、暗号鍵の長さｓＡとからｎ１×ｓＡの行列であるハッシュ関数ＨＡａを生成する。このＱＫＤ送信機２ａのハッシュ関数生成部２４０によって生成されたハッシュ関数ＨＡａは、ハッシュ関数生成部１４０が生成したハッシュ関数ＨＡと一致する。
【０１１３】
＜ステップＳ６８＞
ＱＫＤ送信機２ｂのハッシュ関数生成部２４０は、ストレージ２６から訂正後ビット列を読み出し、訂正後ビット列の長さｎ２と、受信した乱数ｒＡと、暗号鍵の長さｓＡとからｎ２×ｓＡの行列であるハッシュ関数ＨＡｂを生成する。このＱＫＤ送信機２ｂのハッシュ関数生成部２４０によって生成されたハッシュ関数ＨＡｂは、ハッシュ関数生成部１４０が生成したハッシュ関数ＨＡと一致する。
【０１１４】
＜ステップＳ６９＞
ＱＫＤ送信機２ｃのハッシュ関数生成部２４０は、ストレージ２６から訂正後ビット列を読み出し、訂正後ビット列の長さｎ３と、受信した乱数ｒＢと、暗号鍵の長さｓＢとからｎ３×ｓＢの行列であるハッシュ関数ＨＢを生成する。このＱＫＤ送信機２ｃのハッシュ関数生成部２４０によって生成されたハッシュ関数ＨＢは、ハッシュ関数生成部１４０が生成したハッシュ関数ＨＢと一致する。
【０１１５】
＜ステップＳ７０＞
ＱＫＤ受信機１ａの鍵圧縮部１４１（図４参照）は、ＱＫＤ送信機２ａに対応する訂正後ビット列にハッシュ関数ＨＡａを乗じる鍵圧縮処理によって、長さｓＡの暗号鍵（鍵ビット列）を生成し、ストレージ１６に保存する。鍵圧縮部１４１は、ＱＫＤ送信機２ｂに対応する訂正後ビット列にハッシュ関数ＨＡｂを乗じる鍵圧縮処理によって、長さｓＡの暗号鍵（鍵ビット列）を生成し、ストレージ１６に保存する。そして、鍵圧縮部１４１は、ＱＫＤ送信機２ｃに対応する訂正後ビット列にハッシュ関数ＨＢを乗じる鍵圧縮処理によって、長さｓＢの暗号鍵（鍵ビット列）を生成し、ストレージ１６に保存する。
【０１１６】
＜ステップＳ７１＞
ＱＫＤ送信機２ａの鍵圧縮部２４１（図４参照）は、訂正後ビット列にハッシュ関数ＨＡａを乗じる鍵圧縮処理によって、長さｓＡの暗号鍵（鍵ビット列）を生成し、ストレージ２６に保存する。
【０１１７】
＜ステップＳ７２＞
ＱＫＤ送信機２ｂの鍵圧縮部２４１は、訂正後ビット列にハッシュ関数ＨＡｂを乗じる鍵圧縮処理によって、長さｓＡの暗号鍵（鍵ビット列）を生成し、ストレージ２６に保存する。
【０１１８】
＜ステップＳ７３＞
ＱＫＤ送信機２ｃの鍵圧縮部２４１は、訂正後ビット列にハッシュ関数ＨＢを乗じる鍵圧縮処理によって、長さｓＢの暗号鍵（鍵ビット列）を生成し、ストレージ２６に保存する。
【０１１９】
以上のように、誤り率決定部１２は、各ＱＫＤ送信機２に応じて算出した誤り率ＱＢＥＲに基づいてグループに分け、各グループにおいて統合誤り率を決定している。これによって、ＱＫＤ受信機１ａおよびＱＫＤ送信機２ａ、２ｂは、同一の長さｓＡの暗号鍵を共有することになり、ＱＫＤ受信機１ａおよびＱＫＤ送信機２ｃは、同一の長さｓＢの暗号鍵を共有することになる。
【０１２０】
本実施形態に係るＱＫＤ受信機１ａは、複数の誤り率ＱＢＥＲの値によって対応するＱＫＤ送信機２を複数のグループに分けて、それぞれのグループにおいて統合誤り率を決定するものとしている。これによって、ＱＫＤ受信機１ａは、暗号の長さの算出、乱数の発生、およびハッシュ関数の生成の処理は、ＱＫＤ送信機２ごとに実行する必要がなく、グループごとに実行すればよいので、処理負荷を軽減することができ、ＱＫＤ送信機２との処理負荷の偏りを軽減することができる。
【０１２１】
また、複数の誤り率ＱＢＥＲを複数のグループに分けるので、同一グループ内では、誤り率ＱＢＥＲの差が大きくなることを抑制でき、そのグループごとに統合誤り率を決定するものとしている。これによって、訂正後ビット列から取り除かれる情報量のうち、盗聴者に漏れていないものまで余計に取り除かれてしまう情報量を低減することができるので、暗号鍵の長さが極端に小さくなることを低減することができ、暗号通信の効率の低下を抑制できる。また、暗号鍵の長さが小さくなることによる暗号通信の効率の低下と、ＱＫＤ受信機１ａとＱＫＤ送信機２との処理負荷の偏りとのバランスをとることができる。
【０１２２】
図１１は、ＱＫＤ装置のハードウェアの構成図である。図１１を参照しながら上述の実施形態に係るＱＫＤ装置のハードウェア構成について説明する。
【０１２３】
本実施形態に係るＱＫＤ装置は、ＣＰＵ８０等の制御装置と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８２と、量子通信路における通信を行う第１通信Ｉ／Ｆ８３と、古典通信路における通信を行う第２通信Ｉ／Ｆ８４と、暗号鍵を保存するストレージである外部記憶装置８５と、各部を接続するバス８６を備えている。
【０１２４】
本実施形態に係るＱＫＤ装置で実行されるプログラムは、ＲＯＭ８１等に予め組み込まれて提供される。
【０１２５】
本実施形態に係るＱＫＤ装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【０１２６】
さらに、本実施形態に係るＱＫＤ装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態に係るＱＫＤ装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１２７】
本実施形態に係るＱＫＤ装置で実行されるプログラムは、コンピュータを上述したＱＫＤ装置の各部（量子鍵共有部１０、誤り訂正部１１、誤り率決定部１２、鍵長さ算出部１３、ＰＡ処理部１４、アプリケーション処理部１５、量子鍵共有部２０、誤り訂正部２１、ＰＡ処理部２４およびアプリケーション処理部２５）として機能させうる。このコンピュータは、ＣＰＵ８０がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【０１２８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、および変更を行うことができる。これらの実施形態およびその変形は、発明の範囲および要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２９】
１、１ａ  ＱＫＤ受信機
２、２ａ〜２ｃ  ＱＫＤ送信機
４  光学機器
１０  量子鍵共有部
１１  誤り訂正部
１２  誤り率決定部
１３  鍵長さ算出部
１４  ＰＡ処理部
１５  アプリケーション処理部
１６  ストレージ
２０  量子鍵共有部
２１  誤り訂正部
２４  ＰＡ処理部
２５  アプリケーション処理部
２６  ストレージ
８０  ＣＰＵ
８１  ＲＯＭ
８２  ＲＡＭ
８３  第１通信Ｉ／Ｆ
８４  第２通信Ｉ／Ｆ
８５  外部記憶装置
８６  バス
１００、１００ａ  ＱＫＤ受信機
１４０  ハッシュ関数生成部
１４１  鍵圧縮部
２００ａ〜２００ｅ  ＱＫＤ送信機
２４０  ハッシュ関数生成部
２４１  鍵圧縮部
３００ａ〜３００ｆ  ＱＫＤ装置
４００  光学機器
５００、５００ａ〜５００ｃ  量子アクセスネットワーク
６００  量子鍵配送ネットワーク
【図１】
2015142339.tif 000003
【図２】
2015142339.tif 000004
【図３】
2015142339.tif 000005
【図４】
2015142339.tif 000006
【図５】
2015142339.tif 000007
【図６】
2015142339.tif 000008
【図７】
2015142339.tif 000009
【図８】
2015142339.tif 000010
【図９】
2015142339.tif 000011
【図１０】
2015142339.tif 000012
【図１１】
2015142339.tif 000013