(57)【要約】【課題】量子通信装置のスループットを向上させる。【解決手段】実施形態の量子通信装置は、受信部、シフト処理部、推定部、第１記憶部、第２記憶部、決定部、訂正部、測定部及び秘匿性増強部を備える。シフト処理部は複数の基底からランダムに選択した参照基底により、所定のビット列単位で暗号鍵ビット列を参照してシフト処理データを取得する。推定部はシフト処理データの一部のデータの誤り率により、シフト処理データの誤り率を推定した推定誤り率を取得する。決定部は第１記憶部に記憶されているシフト処理データのデータ量が、第１閾値以上である場合、推定誤り率と、検査行列が訂正可能な誤り率の範囲と、推定訂正時間と、に基づいて誤りを訂正するシフト処理データの順序と、訂正に使用する検査行列とを決定する。【選択図】図１
2015130623.tif 000002
【特許請求の範囲】
【請求項１】
光子の量子状態を利用した複数の基底のうち一の基底により表現された暗号鍵ビットを、量子通信路を介して受信し、受信した複数の前記暗号鍵ビットから成る暗号鍵ビット列を取得する受信部と、
前記複数の基底からランダムに選択した参照基底により、所定のビット列単位で前記暗号鍵ビット列を参照してシフト処理データを取得するシフト処理部と、
前記シフト処理データの一部のデータの誤り率により、前記シフト処理データの誤り率を推定した推定誤り率を取得する推定部と、
前記シフト処理データと前記推定誤り率とを関連付けて記憶する第１記憶部と、
前記シフト処理データを検査する検査行列と、前記検査行列が訂正可能な誤り率の範囲と、前記検査行列の前記誤り率の範囲に応じた推定訂正時間と、を関連付けて記憶する第２記憶部と、
前記第１記憶部に記憶されている前記シフト処理データのデータ量が、第１閾値以上である場合、前記推定誤り率と、前記検査行列が訂正可能な誤り率の範囲と、前記推定訂正時間と、に基づいて誤りを訂正する前記シフト処理データの順序と、訂正に使用する前記検査行列とを決定する決定部と、
複数の前記シフト処理データのうち一の前記シフト処理データを、前記決定部により決定された順序で前記第１記憶部から取得し、取得した前記シフト処理データを、前記決定部により決定された前記検査行列を使用して訂正した誤り訂正処理データを生成する訂正部と、
前記誤り訂正処理データと、前記誤り訂正処理データに対応する訂正前の前記シフト処理データとを比較することにより前記訂正前のシフト処理データの誤り率を測定する測定部と、
前記測定部により測定された前記誤り率に基づいて、前記誤り訂正処理データに秘匿性増強処理を行うことにより暗号鍵データを生成する秘匿性増強部と、
を備える量子通信装置。
【請求項２】
前記受信部は、
前記暗号鍵ビット列を送信した送信側の装置から古典通信路を介して前記シフト処理データの一部を受信し、
前記推定部は、
前記シフト処理部が取得した前記シフト処理データのうち前記古典通信路を介して受信した前記シフト処理データの一部に対応するデータと、前記受信部が前記古典通信路を介して受信した前記シフト処理データの一部と、に基づいて前記シフト処理データの推定誤り率を取得する
請求項１に記載の量子通信装置。
【請求項３】
前記決定部は、
同じ前記検査行列を使用する前記シフト処理データをそれぞれ含む１以上のグループを作成し、前記グループに含まれる前記シフト処理データの前記推定誤り率から前記グループ毎に前記推定誤り率の平均値を算出し、前記推定誤り率の平均値が小さいグループから前記推定誤り率の平均値の昇順に誤りを訂正する順序を決定する
請求項１又は２に記載の量子通信装置。
【請求項４】
前記第２記憶部は、
前記検査行列と、前記検査行列が訂正可能な誤り率の範囲と、前記推定訂正時間とに、前記検査行列の切り替えに必要な推定切替時間を更に関連付けて記憶し、
前記決定部は、
前記推定切替時間に更に基づいて、誤りを訂正する前記シフト処理データの順序と、訂正に使用する前記検査行列とを決定する
請求項３に記載の量子通信装置。
【請求項５】
前記決定部は、
前記推定誤り率の平均値が小さいグループから順番に、前記グループに含まれる前記シフト処理データの訂正に使用する前記検査行列を、次に訂正するグループで使用される検査行列に変更するか否かを、前記検査行列を変更しない場合の前記推定訂正時間及び前記推定切替時間と、前記検査行列を変更した場合の前記推定訂正時間と、に基づいて決定する
請求項４に記載の量子通信装置。
【請求項６】
前記決定部は、
同じ前記検査行列を使用する前記シフト処理データをそれぞれ含む１以上のグループを作成し、前記グループに含まれる前記シフト処理データの前記推定誤り率から前記グループ毎に前記推定誤り率の平均値を算出し、前記推定誤り率の平均値が大きいグループから前記推定誤り率の平均値の降順に誤りを訂正する順序を決定する
請求項１又は２に記載の量子通信装置。
【請求項７】
前記訂正部は、
前記誤り訂正処理データの生成にかかった時間を示す訂正時間を取得し、
前記訂正時間の取得の対象としたシフト処理データの推定誤り率と、訂正に使用した前記検査行列と、により前記第２記憶部の更新対象の前記推定訂正時間を特定し、特定した前記推定訂正時間を、前記訂正時間により更新する更新部、
を更に備える請求項１乃至６のいずれか１項に記載の量子通信装置。
【請求項８】
前記更新部は、
前記特定した推定訂正時間と、前記訂正時間と、の差が第２閾値以上である場合、特定した前記推定訂正時間を、前記訂正時間により更新せずに、誤りを訂正する前記シフト処理データの順序を決定する処理の停止通知を前記決定部に送信し、
前記決定部は、
前記停止通知を受信すると、誤りを訂正する前記シフト処理データの順序を決定する処理を停止する
請求項７に記載の量子通信装置。
【請求項９】
前記第２記憶部は、
前記推定誤り率の推定誤差を更に記憶し、
前記更新部は、
前記推定誤り率と、前記測定部により測定された前記誤り率との差により前記推定誤差を算出し、算出した複数の推定誤差を用いて推定誤り率の範囲毎に前記推定誤差の平均値を算出し、前記推定誤差の平均値により前記推定誤り率の範囲毎の推定誤差を更新し、
前記決定部は、
前記第２記憶部の推定誤差に更に基づいて、誤りを訂正する前記シフト処理データの順序と、訂正に使用する前記検査行列と、を決定する
請求項７又は８に記載の量子通信装置。
【請求項１０】
前記更新部は、
前記推定誤差の平均値が第３閾値以上である場合、前記推定誤差の平均値により前記推定誤り率の範囲毎の推定誤差を更新せずに、誤りを訂正する前記シフト処理データの順序を決定する停止通知を前記決定部に送信し、
前記決定部は、
前記停止通知を受信すると、誤りを訂正する前記シフト処理データの順序を決定する処理を停止する
請求項９に記載の量子通信装置。
【請求項１１】
受信部が、光子の量子状態を利用した複数の基底のうち一の基底により表現された暗号鍵ビットを、量子通信路を介して受信し、受信した複数の前記暗号鍵ビットから成る暗号鍵ビット列を取得するステップと、
シフト処理部が、前記複数の基底からランダムに選択した参照基底により、所定のビット列単位で前記暗号鍵ビット列を参照してシフト処理データを取得するステップと、
推定部が、前記シフト処理データの一部のデータの誤り率により、前記シフト処理データの誤り率を推定した推定誤り率を取得するステップと、
第１記憶部が、前記シフト処理データと前記推定誤り率とを関連付けて記憶するステップと、
第２記憶部が、前記シフト処理データを検査する検査行列と、前記検査行列が訂正可能な誤り率の範囲と、前記検査行列の前記誤り率の範囲に応じた推定訂正時間と、を関連付けて記憶するステップと、
決定部が、前記第１記憶部に記憶されている前記シフト処理データのデータ量が、第１閾値以上である場合、前記推定誤り率と、前記検査行列が訂正可能な誤り率の範囲と、前記推定訂正時間と、に基づいて誤りを訂正する前記シフト処理データの順序と、訂正に使用する前記検査行列とを決定するステップと、
訂正部が、複数の前記シフト処理データのうち一の前記シフト処理データを、前記決定部により決定された順序で前記第１記憶部から取得し、取得した前記シフト処理データを、前記決定部により決定された前記検査行列を使用して訂正した誤り訂正処理データを生成するステップと、
測定部が、前記誤り訂正処理データと、前記誤り訂正処理データに対応する訂正前の前記シフト処理データとを比較することにより前記訂正前のシフト処理データの誤り率を測定するステップと、
秘匿性増強部が、前記測定部により測定された前記誤り率に基づいて、前記誤り訂正処理データに秘匿性増強処理を行うことにより暗号鍵データを生成するステップと、
を含む量子通信方法。
【請求項１２】
コンピュータを、
光子の量子状態を利用した複数の基底のうち一の基底により表現された暗号鍵ビットを、量子通信路を介して受信し、受信した複数の前記暗号鍵ビットから成る暗号鍵ビット列を取得する受信部と、
前記複数の基底からランダムに選択した参照基底により、所定のビット列単位で前記暗号鍵ビット列を参照してシフト処理データを取得するシフト処理部と、
前記シフト処理データの一部のデータの誤り率により、前記シフト処理データの誤り率を推定した推定誤り率を取得する推定部と、
前記シフト処理データと前記推定誤り率とを関連付けて記憶する第１記憶部と、
前記シフト処理データを検査する検査行列と、前記検査行列が訂正可能な誤り率の範囲と、前記検査行列の前記誤り率の範囲に応じた推定訂正時間と、を関連付けて記憶する第２記憶部と、
前記第１記憶部に記憶されている前記シフト処理データのデータ量が、第１閾値以上である場合、前記推定誤り率と、前記検査行列が訂正可能な誤り率の範囲と、前記推定訂正時間と、に基づいて誤りを訂正する前記シフト処理データの順序と、訂正に使用する前記検査行列とを決定する決定部と、
複数の前記シフト処理データのうち一の前記シフト処理データを、前記決定部により決定された順序で前記第１記憶部から取得し、取得した前記シフト処理データを、前記決定部により決定された前記検査行列を使用して訂正した誤り訂正処理データを生成する訂正部と、
前記誤り訂正処理データと、前記誤り訂正処理データに対応する訂正前の前記シフト処理データとを比較することにより前記訂正前のシフト処理データの誤り率を測定する測定部と、
前記測定部により測定された前記誤り率に基づいて、前記誤り訂正処理データに秘匿性増強処理を行うことにより暗号鍵データを生成する秘匿性増強部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は量子通信装置、量子通信方法及びプログラムに関する。
【背景技術】
【０００２】
情報通信技術の進展により多様なデータがやり取りされるようになり、送信するデータの秘匿性（安全性）の確保が大きな課題となっている。データの秘匿性を確保するために現在用いられているＲＳＡ等の暗号は、計算の複雑性に基づくコンピュータの暗号解読時間を安全性の根拠としている。しかしながらコンピュータの計算能力が更に向上すれば、ＲＳＡ等の暗号は安易に解読されるようになる恐れがある。
【０００３】
一方、光の物理法則を根拠としてデータの秘匿性を実現する量子鍵配送（ＱＫＤ：Ｑｕａｎｔｕｍ  Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ）システムが知られている。量子鍵配送システム（量子暗号通信システム）は光の量子状態を０又は１を示すデータとして扱うことにより、通信路上の盗聴を検出できるシステムである。量子鍵配送システムは、コンピュータによる暗号解読時間を安全性の根拠にしない情報理論的安全性を実現する暗号方式として期待されている。
【０００４】
一般に、量子鍵配送システムで用いられる量子通信装置では、誤り訂正（ＥＣ：Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ）処理と、秘匿性増強（ＰＡ：Ｐｒｉｖａｃｙ  Ａｍｐｌｉｆｉｃａｔｉｏｎ）処理とが行われている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４４５９５２６号公報
【特許文献２】特許第４３４６９２９号公報
【非特許文献】
【０００６】
【非特許文献１】Ｃ．Ｈ．Ｂｅｎｎｅｔｔ，Ｇ．Ｂｒａｓｓａｒｄ，“Ｑｕａｎｔｕｍ  Ｃｒｙｐｔｏｇｒａｐｈｙ：  Ｐｕｂｌｉｃ  Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  ａｎｄ  Ｃｏｉｎ  Ｔｏｓｓｉｎｇ”，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒｓ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ，  Ｂａｎｇａｌｏｒｅ  Ｉｎｄｉａ，ｐｐ．１７５−１７９，Ｄｅｃｅｍｂｅｒ  （１９８４）．
【非特許文献２】Ｉｒｉｓ  Ｃｈｏｉ，  Ｒｏｂｅｒｔ  Ｊ．Ｙｏｕｎｇ  ａｎｄ  Ｐａｕｌ  Ｄ．Ｔｏｗｎｓｅｎｄ，“Ｑｕａｎｔｕｍ  ｋｅｙ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｏｎ  ａ  １０Ｇｂ／ｓ  ＷＤＭ−ＰＯＮ”，ＯＰＴＩＣＳ  ＥＸＰＲＥＳＳ  ９６０１，Ｖｏｌ．１８，Ｎｏ．９，Ａｐｒｉｌ  ２０１０．
【非特許文献３】Ｃｈａｒｌｅｓ  Ｈ．  Ｂｅｎｎｅｔｔ，  Ｇｉｌｌｅｓ  Ｂｒａｓｓａｒｄ，  Ｃｌａｕｄｅ  Ｃｒｅｐｅａｕ，  ａｎｄ  Ｕｅｌｉ  Ｍ．  Ｍａｕｒｅｒ，  “Ｇｅｎｅｒａｌｉｚｅｄ  Ｐｒｉｖａｃｙ  Ａｍｐｌｉｆｉｃａｔｉｏｎ”，  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，  Ｖｏｌ．  ４１，  Ｎｏ．  ６，  Ｎｏｖｅｍｂｅｒ  １９９５．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら従来の技術では、誤り訂正に係る処理時間の増大により量子通信装置のスループットを低下させる問題があった。
【課題を解決するための手段】
【０００８】
実施形態の量子通信装置は、受信部、シフト処理部、推定部、第１記憶部、第２記憶部、決定部、訂正部、測定部及び秘匿性増強部を備える。受信部は光子の量子状態を利用した複数の基底のうち一の基底により表現された暗号鍵ビットを、量子通信路を介して受信し、受信した複数の前記暗号鍵ビットから成る暗号鍵ビット列を取得する。シフト処理部は前記複数の基底からランダムに選択した参照基底により、所定のビット列単位で前記暗号鍵ビット列を参照してシフト処理データを取得する。推定部は前記シフト処理データの一部のデータの誤り率により、前記シフト処理データの誤り率を推定した推定誤り率を取得する。第１記憶部は前記シフト処理データと前記推定誤り率とを関連付けて記憶する。第２記憶部は前記シフト処理データを検査する検査行列と、前記検査行列が訂正可能な誤り率の範囲と、前記検査行列の前記誤り率の範囲に応じた推定訂正時間と、を関連付けて記憶する。決定部は前記第１記憶部に記憶されている前記シフト処理データのデータ量が、第１閾値以上である場合、前記推定誤り率と、前記検査行列が訂正可能な誤り率の範囲と、前記推定訂正時間と、に基づいて誤りを訂正する前記シフト処理データの順序と、訂正に使用する前記検査行列とを決定する。訂正部は複数の前記シフト処理データのうち一の前記シフト処理データを、前記決定部により決定された順序で前記第１記憶部から取得し、取得した前記シフト処理データを、前記決定部により決定された前記検査行列を使用して訂正した誤り訂正処理データを生成する。測定部は前記誤り訂正処理データと、前記誤り訂正処理データに対応する訂正前の前記シフト処理データとを比較することにより前記訂正前のシフト処理データの前記誤り率を取得する。秘匿性増強部は前記測定部により測定された前記誤り率に基づいて、前記誤り訂正処理データに秘匿性増強処理を行うことにより暗号鍵データを生成する。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態の量子通信装置の構成の例を示す図。
【図２】第１実施形態の検査行列と推定訂正時間の例を示す図。
【図３】第１実施形態の検査行列の推定切替時間の例を示す図。
【図４】第１実施形態のバッファのシフト処理データ（時系列順）の例を示す図。
【図５】第１実施形態の決定部が決定した検査行列の暫定結果の例を示す図。
【図６】第１実施形態の決定部が決定した処理順序の例を示す図。
【図７】第１実施形態の決定部が決定した検査行列を更に変更する処理の例を示す図。
【図８】第１実施形態の量子通信方法の例を示すフローチャート。
【図９】第２実施形態の量子通信装置の構成の例を示す図。
【図１０】第２実施形態の推定ＱｂＥＲの推定誤差の例を示す図。
【図１１】第２実施形態の更新部の動作方法の例を示すフローチャート。
【図１２】第３実施形態の量子アクセスネットワーク（ＱＡＮ）の例を示す図。
【図１３】第３実施形態の量子通信装置の構成の例を示す図。
【図１４】第１〜第３実施形態の量子通信装置の構成の例を示す図。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して量子通信装置、量子通信方法及びプログラムの実施形態を詳細に説明する。
【００１１】
（第１実施形態）
図１は第１実施形態の量子通信装置１００の構成の例を示す図である。第１実施形態の量子通信装置１００は、受信部１、シフト（Ｓｉｆｔ）処理部２、推定部３、バッファ４（第１記憶部の例）、決定部５、記憶部６（第２記憶部の例）、訂正（ＥＣ：Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ）部７、測定部８、秘匿性増強（ＰＡ：Ｐｒｉｖａｃｙ  Ａｍｐｌｉｆｉｃａｔｉｏｎ）部９及びアプリケーション部１０を備える。
【００１２】
受信部１は暗号鍵ビットを、光子の量子状態を利用した量子通信路を介して送信側の装置から受信する。送信側の装置は光子の量子状態を利用した複数の基底のうち一の基底により暗号鍵ビットを表現する。光子の量子状態は、光子の偏光や位相などを利用する。また基底は、偏光を利用する場合には、例えば直線偏光（垂直（０）及び水平（１））又は円偏光（右回り（０）及び左回り（１））を利用する。受信部１は複数の暗号鍵ビットを、量子通信路を介して受信し、受信した複数の暗号鍵ビットから成る暗号鍵ビット列を取得する。なお、このような暗号鍵ビット列の送受信方法の例としてはＢＢ８４プロトコルが知られている。受信部１は暗号鍵ビット列をシフト処理部２に送信する。また受信部１は後述のシフト処理データの一部を、量子通信路でない古典通信路（従来の通信路）を介して送信側の装置から受信する。受信部１は後述のシフト処理データの一部を推定部３に送信する。
【００１３】
シフト処理部２は暗号鍵ビット列を受信部１から受信する。シフト処理部２は、受信側が複数の基底からランダムに選択した参照基底により、所定のビット列単位で暗号鍵ビット列を参照してビット列（以下、「シフト処理データ」という。）を取得する。なお送信側の装置で使用された基底と、参照基底とが一致しない場合、シフト処理部２は暗号鍵ビットの情報を利用しない。例えば光子の直線偏光の量子状態を利用して暗号化ビットを送信し、シフト処理部２が参照基底に光子の円偏光の量子状態を利用した場合、当該暗号化ビットの情報を利用しない。シフト処理部２はシフト処理データを推定部３に送信する。
【００１４】
推定部３はシフト処理データをシフト処理部２から受信し、シフト処理データの一部を受信部１から受信する。推定部３は推定ＱｂＥＲ（Ｑｕａｎｔｕｍ  Ｂｉｔ  Ｅｒｒｏｒ  Ｒａｔｅ）の推定処理を行う。具体的には推定部３は、受信部１が古典通信路を介して受信したシフト処理データの一部と、シフト処理部２から受信したシフト処理データのうち受信部１が古典通信路を介して受信した当該シフト処理データの一部に対応するデータと、を比較する。これにより推定部３はシフト処理データの一部のデータのＱｂＥＲを算出する。推定部３は、シフト処理データの一部のデータのＱｂＥＲにより、当該シフト処理データの推定ＱｂＥＲを推定する。推定部３はシフト処理データと、当該シフト処理データの推定ＱｂＥＲとを関連付けてバッファ４に送信する。
【００１５】
ここでＱｂＥＲ（誤り率の例）について説明する。ＱＫＤでは暗号鍵ビット列は、量子（光子）の量子状態を利用して暗号鍵ビット（１ビット）毎に送信される。量子力学の基本原理の一つである不確定原理により量子は観測されると量子状態が変化する。この性質により、送信側の装置が送信した暗号鍵ビットの情報を含む量子を量子通信路上で盗聴者が観測すると、量子状態が変化する。これにより量子を受け取った受信側の装置は、盗聴者に量子を観測されたことを知ることができる。ＱｂＥＲ（量子ビット誤り率）は、量子状態の変化に起因する暗号鍵ビット列の誤り率を示す。量子通信路上に送信した暗号鍵ビット列のＱｂＥＲの変動により量子通信路の盗聴の有無を確認できる。
【００１６】
具体的には、盗聴者が量子通信路上に流れる暗号鍵ビット列を盗聴する場合、上述のシフト処理部２によるシフト処理データの取得方法と同じ方法で盗聴する必要がある。そのため盗聴者も一定の確率でしか盗聴が成功しない。例えば基底の種類が２種類であれば、盗聴が成功する確率は１／２である。また盗聴者が一度盗聴すると量子状態が変わってしまうため、基底を変更して同じ量子状態を再度盗聴することができない。つまり盗聴に失敗した暗号鍵ビットについては正しい値がわからないため、盗聴者が盗聴に失敗した暗号鍵ビットを、盗聴者自身が作成して受信側に送信しても正しい値を受信側に送信できない。これにより送信側と受信側とで基底が一致している場合のＱｂＥＲを低下させることになり盗聴が発覚する。なお送信側と受信側とで基底が一致している場合でも、量子通信路上のノイズや光子の検出装置の誤検出などで一定のＱｂＥＲが得られるため、この一定のＱｂＥＲに顕著な変化が有った場合に盗聴が発覚することになる。
【００１７】
バッファ４はシフト処理データと、当該シフト処理データの推定ＱｂＥＲとを受信する。バッファ４はシフト処理データと、当該シフト処理データの推定ＱｂＥＲとを関連付けて（一時的に）記憶する。バッファ４のシフト処理データは、当該シフト処理データの識別情報により識別する。例えば識別情報は当該シフト処理データの記憶場所を示すアドレス情報などである。
【００１８】
決定部５はバッファ４に記憶されているシフト処理データのデータ量が、第１閾値以上であるか否かを判定する。バッファ４に記憶されているシフト処理データのデータ量が、第１閾値以上である場合、決定部５は、シフト処理データに関連付けられた推定ＱｂＥＲと、検査行列が訂正可能なＱｂＥＲの範囲と、検査行列のＱｂＥＲの範囲に応じた推定訂正時間と、検査行列の切り替えに必要な推定切替時間と、に基づいて誤りを訂正するシフト処理データの順序と、訂正に使用する検査行列とを決定する。
【００１９】
ここで検査行列、及び検査行列を使用した誤り訂正処理について説明する。誤り訂正処理は、検査行列と、シフト処理データ（シフト処理データを０又は１の値を成分に持つベクトルとみなす。）と、を掛けた結果によってシフト処理データに誤りがあるか否かを判定する。この結果はシンドロームと呼ばれる。シンドロームがゼロベクトルである場合、当該シフト処理データに誤りがないことがわかる。シンドロームがゼロベクトルでない場合、当該シフト処理データに誤りがあることがわかる。更に、結果として得られた列ベクトルにおいて０でない成分の位置に応じて当該シフト処理データの誤りの位置を特定（訂正）することができる。
【００２０】
図２は第１実施形態の検査行列と推定訂正時間の例を示す図である。本実施形態では４つの検査行列Ｈａ，Ｈｂ，Ｈｃ，Ｈｄが使用される。また検査行列の適用可否と、検査行列による訂正処理の推定訂正時間は検査対象のビット列のＱｂＥＲの範囲に応じて異なる。なお図２ではＱｂＥＲの範囲を浮動小数点数により表現している。
【００２１】
検査行列Ｈａを例にして図２を具体的に説明する。検査行列Ｈａの推定訂正時間は、０≦ＱｂＥＲ＜（５ｅ−３）のときＨａ＿１である。また検査行列Ｈａの推定訂正時間は、（５ｅ−３）≦ＱｂＥＲ＜（１ｅ−２）のときＨａ＿２である。また検査行列Ｈａは、（１ｅ−２）≦ＱｂＥＲのとき、使用できないことを示している。すなわち（１ｅ−２）≦ＱｂＥＲのときは、Ｈａよりも誤り訂正能力の高い検査行列（Ｈｂ，Ｈｃ又はＨｄ）を使用する必要がある。なお検査行列の誤り訂正能力は、訂正可能なＱｂＥＲの値が大きい程高い。また、一般に、検査行列の誤り訂正能力が高いほど、当該検査行列を使用した訂正処理は長くなる。
【００２２】
なお推定訂正時間は時間を示す情報だけでなく、後述の訂正部７が訂正に用いる誤り訂正符号に応じた任意の情報でよい。例えばＬＤＰＣ（Ｌｏｗ−Ｄｅｎｓｉｔｙ−Ｐａｒｉｔｙ−Ｃｈｅｃｋ）符号を利用した訂正処理の場合は、反復復号回数、又は訂正処理に掛ったクロック数などでもよい。なお訂正部７が訂正に用いる誤り訂正符号は、ＲＳ（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ）符号や、ＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）符号などでもよい。
【００２３】
また、訂正部７は、シンドロームがゼロベクトルになるように、シフト処理データを訂正していたが、シンドロームを非ゼロベクトルとし、送信側のシフト処理データのシンドロームと一致するように、訂正部７はデータを訂正しても良い。訂正の際、送信側のシンドロームを、古典通信路を介して送信側の装置から受信し、訂正部７に入力する必要がある。
【００２４】
図３は第１実施形態の検査行列の推定切替時間の例を示す図である。すなわち後述の訂正部７が、シフト処理データの誤りを訂正するときに使用する検査行列を切り替えるときに必要な時間を示す。例えば検査行列をＨａに切り替えるときに必要な時間はＨａ＿０である。
【００２５】
第１実施形態の量子通信装置１００では、検査行列が訂正可能なＱｂＥＲの範囲、及び検査行列のＱｂＥＲの範囲に応じた推定訂正時間（図２参照）は、推定訂正時間データとして記憶部６の推定訂正時間データベースに予め記憶されている。同様に、検査行列の切り替えに必要な推定切替時間（図３参照）も、推定切替時間データとして記憶部６の推定切替時間データベースに予め記憶されている。
【００２６】
なお量子通信装置１００が訂正処理の実行により得られた関連データ（訂正時間及びＱｂＥＲ）をフィードバックすることにより、記憶部６に記憶されているデータを更新（最適化）してもよい。この実施形態は第２実施形態として後述する。
【００２７】
決定部５がバッファ４に溜められたシフト処理データを訂正する順序と、訂正に使用する検査行列とを決定する方法について具体的に説明する。
【００２８】
図４は第１実施形態のバッファ４のシフト処理データ（時系列順）の例を示す図である。具体的には、図４はシフト処理データ（Ｄａｔａ（１）〜Ｄａｔａ（８））と、当該シフト処理データに関連付けられた推定ＱｂＥＲとを、バッファ４に記憶された順序で時系列に示している。まず決定部５は、各シフト処理データの推定ＱｂＥＲから、各シフト処理データの誤り訂正時に利用する検査行列を（暫定的に）決定する。
【００２９】
例えばＤａｔａ（１）の場合、推定ＱｂＥＲは２．５０Ｅ―３である。決定部５は記憶部６の推定訂正時間データを参照して、ＱｂＥＲ＝２．５０Ｅ―３を訂正可能な検査行列を特定する。図２の推定訂正時間データの例では１行目に該当し、全ての検査行列（Ｈａ、Ｈｂ、Ｈｃ、Ｈｄ）で、ＱｂＥＲ＝２．５０Ｅ―３のシフト処理データを訂正可能である。決定部５はＤａｔａ（１）を訂正する検査行列を、暫定的に一番推定訂正時間（Ｈａ＿１）の短い検査行列Ｈａに決定する。決定部５はＤａｔａ（２）〜Ｄａｔａ（８）を訂正する検査行列も同様の手順で決定する（図５参照）。
【００３０】
次に、決定部５はシフト処理データの訂正順序決定処理を行う。具体的には、決定部５は同じ検査行列を使用するシフト処理データをそれぞれ含む１以上のグループを作成し、当該グループに含まれるシフト処理データの推定ＱｂＥＲからグループ毎に推定ＱｂＥＲの平均値を算出する。そして決定部５は、推定ＱｂＥＲの平均値が小さいグループから推定ＱｂＥＲの平均値の昇順に誤りを訂正する順序を決定する。すなわち決定部５は誤り訂正能力の低い検査行列を使用するグループから順に、グループを訂正する順序を決定する（図６参照）。
【００３１】
次に、決定部５はグループの最適化処理を行う。具体的には、決定部５は推定ＱｂＥＲの平均値が小さいグループから順番に、グループに含まれるシフト処理データの訂正に使用する検査行列を、次に訂正するグループで使用される検査行列に変更するか否かを決定する。より具体的には、決定部５は検査行列を変更しない場合に全てのグループの訂正にかかる時間と、検査行列を変更した場合に全てのグループの訂正にかかる時間と、に基づいて決定する。
【００３２】
図７は第１実施形態の決定部５が決定した検査行列を更に変更する処理の例を示す図である。なお図７の推定ＱｂＥＲ１〜８は、図４の推定ＱｂＥＲの値を表す。まず決定部５は推定ＱｂＥＲの平均値が一番小さいグループ１の検査行列Ｈａを、次に訂正するグループ２で使用される検査行列Ｈｂに変更するか否かを決定する。
【００３３】
まず決定部５は変更前の推定処理時間を下記式（１）により算出する。なお次のグループに使用する検査行列に切り替える推定切替時間は変更前の推定処理時間に含める。
【００３４】
Ｈａ（推定ＱｂＥＲ１）＋Ｈａ（推定ＱｂＥＲ４）＋Ｈａ（推定ＱｂＥＲ６）＋Ｈｂ＿０＝Ｈａ＿１＋Ｈａ＿１＋Ｈａ＿１＋Ｈｂ＿０  ・・・（１）
【００３５】
次に決定部５は変更後の推定処理時間を下記式（２）により算出する。
【００３６】
Ｈｂ（推定ＱｂＥＲ１）＋Ｈｂ（推定ＱｂＥＲ４）＋Ｈｂ（推定ＱｂＥＲ６）
＝Ｈｂ＿１＋Ｈｂ＿１＋Ｈｂ＿１  ・・・（２）
【００３７】
決定部５は式（１）の計算結果（Ｈａ＿１＋Ｈａ＿１＋Ｈａ＿１＋Ｈｂ＿０）と、式（２）の計算結果（Ｈｂ＿１＋Ｈｂ＿１＋Ｈｂ＿１）とを比較し、Ｈａ＿１＋Ｈａ＿１＋Ｈａ＿１＋Ｈｂ＿０＞Ｈｂ＿１＋Ｈｂ＿１＋Ｈｂ＿１であれば、グループ１とグループ２とを一のグループ１２にまとめ、グループ１２のシフト処理データに使用する検査行列をＨｂに決定する。この変更は、検査行列の推定切替時間が、推定訂正時間（訂正時間）よりも非常に長い場合に効果的である。すなわち上述の式（１），（２）の場合は、Ｈｂ＿０＞＞３（Ｈｂ＿１−Ｈａ＿１）のとき変更後の推定訂正時間（訂正時間）を非常に短縮することができる。
【００３８】
同様に、決定部５は変更後のグループ（グループ１２、グループ３及びグループ４）について、推定ＱｂＥＲの平均値が一番小さいグループ１２の検査行列Ｈｂを、次に訂正するグループ３で使用される検査行列Ｈｃに変更するか否かを決定する。以下、決定部５は（変更前の推定処理時間）＜（変更後の推定処理時間）になるまで、検査行列を変更するか否かを決定する処理を繰り返すことにより、最終的に各グループ（シフト処理データ）に使用する検査行列を決定する。
【００３９】
図１に戻り、決定部５は訂正するシフト処理データの順序を示すデータと、各シフト処理データの訂正に使用する検査行列を示すデータとを訂正部７に送信する。
【００４０】
訂正部７は、訂正するシフト処理データの順序を示すデータと、各シフト処理データの訂正に使用する検査行列を示すデータと、を決定部５から受信する。訂正部７はシフト処理データの訂正処理を行う。具体的には、訂正部７は複数のシフト処理データのうち一のシフト処理データを、決定部５により決定された順序でバッファ４から取得する。そして訂正部７は、取得したシフト処理データを決定部５により決定された検査行列を使用して訂正することにより誤り訂正処理データを生成する。訂正部７は誤り訂正処理データを測定部８及び秘匿性増強部９に送信する。
【００４１】
測定部８は誤り訂正処理データを訂正部７から受信する。また測定部８は当該誤り訂正処理データに対応する訂正前のシフト処理データをバッファ４から取得する。測定部８は誤り訂正処理データと、誤り訂正処理データに対応する訂正前のシフト処理データとを比較することによりシフト処理データのＱｂＥＲを測定する。測定部８は測定したＱｂＥＲを秘匿性増強部９に送信する。
【００４２】
秘匿性増強部９は誤り訂正処理データを訂正部７から受信し、当該誤り訂正処理データのＱｂＥＲを測定部８から受信する。秘匿性増強部９は誤り訂正処理データのＱｂＥＲに基づいて当該誤り訂正処理データの秘匿性増強処理を行う。そして秘匿性増強部９は誤り訂正処理データの秘匿性増強処理により得られたビット列を使用して、送信側の装置と共有する暗号鍵データを生成する。なお秘匿性増強処理は、誤り訂正を行う過程で公開した情報を取り除く処理である。秘匿性増強処理については既によく知られているため詳細な説明を省略する。例えば秘匿性増強処理の詳細は非特許文献３に開示されている。秘匿性増強部９は生成した暗号鍵データをアプリケーション部１０に送信する。
【００４３】
アプリケーション部１０は暗号鍵データを秘匿性増強部９から受信する。アプリケーション部１０は当該暗号鍵データを使用してデータの暗号化及び復号化を行う。アプリケーション部１０は当該暗号化されたデータを送信側の装置と送受信する。
【００４４】
次にフローチャートを参照して、第１実施形態の量子通信方法について説明する。図８は第１実施形態の量子通信方法の例を示すフローチャートである。受信部１は暗号鍵ビット列を、光子の量子状態を利用した量子通信路を介して送信側の装置から受信する（ステップＳ１）。次に、シフト処理部２は基底をランダムに選択した参照基底により、所定のビット列単位で暗号鍵ビット列を参照してシフト処理データを取得する（ステップＳ２）。
【００４５】
次に、受信部１はシフト処理データの一部を、量子通信路でない古典通信路（従来の通信路）を介して送信側の装置から受信する（ステップＳ３）。次に、推定部３は上述の推定ＱｂＥＲの推定処理を行う（ステップＳ４）。次に、推定部３はシフト処理データと、当該シフト処理データの推定ＱｂＥＲとを関連付けてバッファ４に送信する（ステップＳ５）。
【００４６】
次に、決定部５はバッファ４に記憶されているシフト処理データのデータ量が、第１閾値以上あるか否かを判定する（ステップＳ６）。データ量が、第１閾値以上ある場合（ステップＳ６、Ｙｅｓ）、決定部５は、各シフト処理データの推定ＱｂＥＲから、各シフト処理データの誤り訂正時に利用する検査行列を（暫定的に）決定する（ステップＳ７）。データ量が、第１閾値以上ない場合（ステップＳ６、Ｎｏ）、ステップＳ２の処理に戻る。
【００４７】
次に、決定部５は上述のシフト処理データの訂正順序決定処理を行う（ステップＳ８）。次に、決定部５は上述のグループの最適化処理を行う（ステップＳ９）。次に、訂正部７は上述のシフト処理データの訂正処理を行う（ステップＳ１０）。次に、測定部８は誤り訂正処理データと、誤り訂正処理データに対応する訂正前のシフト処理データとを比較することによりシフト処理データのＱｂＥＲを測定する（ステップＳ１１）。次に、秘匿性増強部９は測定されたＱｂＥＲに基づいて当該誤り訂正処理データの秘匿性増強処理を行う（ステップＳ１２）。次に、秘匿性増強部９は誤り訂正処理データの秘匿性増強処理により得られたビット列を使用して、送信側の装置と共有する暗号鍵データを生成する（ステップＳ１３）。
【００４８】
以上説明したように、第１実施形態の量子通信装置１００は、推定ＱｂＥＲと、検査行列が訂正可能なＱｂＥＲの範囲と、検査行列のＱｂＥＲの範囲に応じた推定訂正時間と、検査行列の切り替えに必要な推定切替時間と、に基づいて誤りを訂正するシフト処理データの順序と、訂正に使用する検査行列とを決定する決定部を備える。これにより本実施形態の量子通信装置１００はシフト処理データの誤り訂正時間を低減することができ、量子通信装置１００のスループットを向上させることができる。
【００４９】
なお上述の第１実施形態の決定部５は、推定ＱｂＥＲの平均値が大きいグループから推定ＱｂＥＲの平均値の降順に誤りを訂正する順序を決定してもよい。すなわち決定部５は誤り訂正能力の高い検査行列を使用するグループから順に、グループを訂正する順序を決定してもよい。
【００５０】
（第２実施形態）
次に第２実施形態について説明する。第２実施形態では、量子通信装置１００における処理の実行により得られた関連データ（訂正時間及びＱｂＥＲ）をフィードバックすることにより、記憶部６に記憶されているデータを更新（最適化）する。第２実施形態の説明では第１実施形態と同様の説明は省略し、第１実施形態と異なる箇所について詳細に説明する。
【００５１】
図９は第２実施形態の量子通信装置１００の構成の例を示す図である。第２実施形態の量子通信装置１００は、受信部１、シフト処理部２、推定部３、バッファ４、決定部５、記憶部６、訂正部７、測定部８、秘匿性増強部９、アプリケーション部１０及び更新部１１を備える。受信部１、シフト処理部２、推定部３、バッファ４、秘匿性増強部９及びアプリケーション部１０は第１実施形態と同じであるため説明を省略する。
【００５２】
決定部５はバッファ４に記憶されているシフト処理データのデータ量が、第１閾値以上あるか否かを判定する。バッファ４に記憶されているシフト処理データのデータ量が、第１閾値以上ある場合、決定部５は、シフト処理データに関連付けられた推定ＱｂＥＲと、推定ＱｂＥＲの推定誤差と、検査行列が訂正可能なＱｂＥＲの範囲と、検査行列のＱｂＥＲの範囲に応じた推定訂正時間と、検査行列の切り替えに必要な推定切替時間と、に基づいて誤りを訂正するシフト処理データの順序と、訂正に使用する検査行列とを決定する。第２実施形態の決定部５は、シフト処理データに関連付けられた推定ＱｂＥＲをそのまま使用せずに、推定ＱｂＥＲの推定誤差に基づいた補正後の推定ＱｂＥＲを使用して、誤りを訂正するシフト処理データの順序と、訂正に使用する検査行列とを決定する。
【００５３】
ここで推定ＱｂＥＲの推定誤差について説明する。図１０は第２実施形態の推定ＱｂＥＲの推定誤差の例を示す図である。図１０には推定ＱｂＥＲの範囲毎の推定誤差が示されている。例えば推定ＱｂＥＲの範囲が０≦ＱｂＥＲ＜（５ｅ−３）の場合の推定誤差はａである。推定誤差は、後述の更新部１１が、推定部３が推定した推定ＱｂＥＲと、測定部８が測定したＱｂＥＲと、の差に基づいて算出された値である。推定誤差の詳細な説明は後述する。
【００５４】
また決定部５は第１実施形態で説明した訂正順序決定処理及びグループの最適化処理の停止命令を更新部１１から受信する。訂正順序決定処理及びグループの最適化処理の停止命令を受信した場合、決定部５はシフト処理データの訂正に使用する検査行列のみ決定する。すなわちバッファ４のシフト処理データは決定部５に決定された検査行列により時系列に処理される。
【００５５】
記憶部６は推定訂正時間データベース、推定切替時間データベース及び推定誤差データベースを記憶する。推定訂正時間データベース及び推定切替時間データベースは第１実施形態と同じであるため説明を省略する。推定誤差データベースは推定ＱｂＥＲの推定誤差を記憶する（図１０参照）。
【００５６】
訂正部７は訂正するシフト処理データの順序を示すデータと、各シフト処理データの訂正に使用する検査行列を示すデータとを決定部５から受信する。訂正部７は第１実施形態と同じ方法でシフト処理データの訂正処理を行う。このとき第２実施形態の訂正部７は実際にシフト処理データの訂正処理にかかった訂正時間を取得する。訂正部７は当該訂正時間と、当該訂正時間の取得の対象としたシフト処理データを識別する識別情報と、訂正に使用した検査行列を識別する識別情報と、を含む訂正情報を更新部１１に送信する。
【００５７】
測定部８は第１実施形態と同じ方法でシフト処理データのＱｂＥＲを測定する。このとき第２実施形態の測定部８はＱｂＥＲと、当該ＱｂＥＲの測定の対象としたシフト処理データを識別する識別情報と、を含む測定情報を更新部１１に送信する。
【００５８】
更新部１１は訂正時間と、当該訂正時間の取得の対象としたシフト処理データを識別する識別情報と、訂正に使用した検査行列の識別情報と、を含む訂正情報を訂正部７から受信する。また更新部１１はＱｂＥＲと、当該ＱｂＥＲの測定の対象としたシフト処理データを識別する識別情報と、を含む測定情報を測定部８から受信する。また更新部１１はシフト処理データの識別情報により識別されるシフト処理データに関連付けられた推定ＱｂＥＲをバッファ４から取得する。
【００５９】
更新部１１はシフト処理データの推定ＱｂＥＲと、訂正に使用した検査行列の識別情報と、を用いて推定訂正時間データベースの推定訂正時間フィールドを特定し、当該推定訂正時間フィールドを訂正部７から受信した訂正時間により更新する。また更新部１１は推定ＱｂＥＲとＱｂＥＲとの差により推定誤差を算出する。更新部１１は、算出した複数の推定誤差を用いて推定ＱｂＥＲの範囲毎に推定誤差の平均値を算出し、当該平均値により当該推定ＱｂＥＲの範囲毎の推定誤差を更新する。
【００６０】
なお更新部１１は更新前の推定訂正時間と、訂正時間（更新後の推定訂正時間）との差が第２閾値以上の場合、推定訂正時間を更新しない。同様に、更新部１１は推定誤差の平均値が第３閾値以上の場合、推定誤差を更新しない。更新部１１は記憶部６に記憶されているデータを更新（最適化）する代わりに、上述の訂正順序決定処理及びグループの最適化処理を停止する停止命令を決定部５に送信する。これは訂正部７の訂正処理の動作状態と、推定部３及び決定部５の動作状態、及び記憶部６の各データベースとの整合性が取れていないと考えられるためである。つまり、このような状況では実際の訂正処理で得られたデータをフィードバックして記憶部６のデータを更新するよりも、各データベースの初期化などを伴うメンテナンス作業や、量子通信装置１００の初期化（再起動など）を行う方がよいためである。
【００６１】
次にフローチャートを参照して、第２実施形態の更新部１１の動作方法の例について説明する。図１１は第２実施形態の更新部１１の動作方法の例を示すフローチャートである。更新部１１は訂正時間と、当該訂正時間の取得の対象としたシフト処理データを識別する識別情報と、訂正に使用した検査行列の識別情報と、を含む訂正情報を訂正部７から受信する（ステップＳ２１）。
【００６２】
次に、更新部１１はＱｂＥＲと、当該ＱｂＥＲの測定の対象としたシフト処理データを識別する識別情報と、を含む測定情報を測定部８から受信する（ステップＳ２２）。次に、更新部１１はシフト処理データの識別情報により識別されるシフト処理データに関連付けられた推定ＱｂＥＲをバッファ４から取得する（ステップＳ２３）。
【００６３】
次に、更新部１１はシフト処理データの推定ＱｂＥＲと、訂正に使用した検査行列の識別情報と、を用いて推定訂正時間データベースの推定訂正時間フィールドを特定する（ステップＳ２４）。次に、更新部１１は更新前の推定訂正時間と、訂正時間（更新後の推定訂正時間）との差が第２閾値以上であるか否かを判定する（ステップＳ２５）。第２閾値以上の場合（ステップＳ２５、Ｙｅｓ）、更新部１１は上述の訂正順序決定処理及びグループの最適化処理を停止する停止命令を送信する（ステップＳ３０）。第２閾値未満の場合（ステップＳ２５、Ｎｏ）、更新部１１はステップＳ２４で特定した推定訂正時間フィールドの推定訂正時間を更新する（ステップＳ２６）。
【００６４】
次に、更新部１１は推定ＱｂＥＲと、ＱｂＥＲとの差により推定誤差を算出し、算出した複数の推定誤差を用いて推定ＱｂＥＲの範囲毎に推定誤差の平均値を算出する（ステップＳ２７）。更新部１１は推定誤差の平均値が第３閾値以上であるか否かを判定する（ステップＳ２８）。第３閾値以上の場合（ステップＳ２８、Ｙｅｓ）、更新部１１は上述の訂正順序決定処理及びグループの最適化処理を停止する停止命令を送信する（ステップＳ３０）。第３閾値未満の場合（ステップＳ２８、Ｎｏ）、更新部１１は当該推定ＱｂＥＲの範囲毎の推定誤差を当該平均値で更新する（ステップＳ２９）。
【００６５】
以上説明したように、第２実施形態の量子通信装置１００では、更新部１１がシフト処理データの推定ＱｂＥＲと、訂正に使用した検査行列の識別情報と、を用いて推定訂正時間データベースの推定訂正時間フィールドを特定し、当該推定訂正時間フィールドを訂正部７から受信した訂正時間により更新する。また更新部１１が推定ＱｂＥＲとＱｂＥＲとの差により推定誤差を算出し、算出した複数の推定誤差を用いて推定ＱｂＥＲの範囲毎に推定誤差の平均値を算出し、当該平均値により当該推定ＱｂＥＲの範囲毎の推定誤差を更新する。これにより第２実施形態の量子通信装置１００は、推定部３及び決定部５の処理を最適化することにより改善することができる。
【００６６】
（第３実施形態）
次に第３実施形態について説明する。第３実施形態の量子通信装置１００は、複数の装置から暗号鍵ビット列を受信する。第３実施形態の説明では第１実施形態と同様の説明は省略し、第１実施形態と異なる箇所について詳細に説明する。第３実施形態の量子通信装置１００は、一対多のノードで量子鍵配送による鍵共有を行う量子アクセスネットワーク（ＱＡＮ）で利用される。
【００６７】
図１２は、量子アクセスネットワーク（ＱＡＮ）の例を示す図である。図１２の例では、量子通信装置１００が、量子コアネットワーク（ＱＣＮ）に接続されている。そして量子通信装置１００に暗号鍵ビット列を送信する装置２００が３つ接続されている。図１２の例では、量子アクセスネットワーク（ＱＡＮ）は量子通信装置１００と、３つの装置２００と、により構成されている。なお装置２００の数は任意でよいが、本実施形態の説明では簡単のため装置２００の数を３つとする。
【００６８】
図１３は、第３実施形態の量子通信装置１００の構成の例を示す図である。第３実施形態の量子通信装置１００の構成は、第１実施形態の量子通信装置１００の構成のうち、シフト処理部２、推定部３、訂正部７、測定部８及び秘匿性増強部９が多重化されている。これにより複数の装置２００から暗号鍵ビット列を受信する場合でも、量子通信装置１００は装置２００毎に暗号鍵データを遅延することなく生成できる。
【００６９】
なお図１３の例では、シフト処理部２、推定部３、訂正部７、測定部８及び秘匿性増強部９は、全て送信側の装置２００の数（本実施形態では３つ）だけ多重化されている。しかしながら多重度は送信側の装置２００の数と同一にする必要はなく、また各々の機能ブロックの処理の負荷に応じて多重度を変更してもよい。
【００７０】
バッファ４は、シフト処理データと推定ＱｂＥＲとに、送信側の装置２００を識別する識別情報を更に関連付けて記憶する。なお装置２００の識別情報は、アプリケーション部１０が、暗号鍵データを装置２００毎に識別するときに参照される。
【００７１】
決定部５は、装置２００の識別情報は参照せずに、第１実施形態と同じ方法で誤りを訂正するシフト処理データの順序と、訂正に使用する検査行列とを決定する。すなわち、送信元の異なる暗号鍵ビット列から生成された複数のシフト処理データを混在させて訂正するシフト処理データの順序を決定する。決定部５は、３つの訂正部７のうち処理の負荷が一番小さい訂正部７に、訂正するシフト処理データの順序を示すデータと、各シフト処理データの訂正に使用する検査行列を示すデータとを送信する。
【００７２】
訂正部７は、第１実施形態と同じ方法でシフト処理データの訂正処理を行う。このとき訂正部７は複数のシフト処理データのうち一のシフト処理データと、当該シフト処理データを送信した装置２００の識別情報と、を決定部５により決定された順序でバッファ４から取得する。訂正部７は誤り訂正処理データと、装置２００の識別情報と、を３つの秘匿性増強部９のうち処理の負荷が一番小さい秘匿性増強部９に送信する。また訂正部７は誤り訂正処理データと、装置２００の識別情報と、測定したＱｂＥＲを送信する秘匿性増強部９を識別する識別情報と、を３つの測定部８のうち処理の負荷が一番小さい測定部８に送信する。
【００７３】
測定部８は誤り訂正処理データと、装置２００の識別情報と、測定したＱｂＥＲを送信する秘匿性増強部９を識別する識別情報と、を訂正部７から受信する。また測定部８は当該誤り訂正処理データに対応する訂正前のシフト処理データをバッファ４から取得する。測定部８は誤り訂正処理データと、誤り訂正処理データに対応する訂正前のシフト処理データとを比較することによりシフト処理データのＱｂＥＲを測定する。測定部８は装置２００の識別情報と測定したＱｂＥＲとを訂正部７から受信した秘匿性増強部９の識別情報により識別される秘匿性増強部９に送信する。
【００７４】
秘匿性増強部９は誤り訂正処理データと、当該シフト処理データを送信した装置２００の識別情報と、を訂正部７から受信し、当該装置２００の識別情報と、当該誤り訂正処理データのＱｂＥＲと、を測定部８から受信する。秘匿性増強部９は誤り訂正処理データのＱｂＥＲに基づく当該誤り訂正処理データの秘匿性増強処理を行う。そして秘匿性増強部９は誤り訂正処理データの秘匿性増強処理により得られたビット列を使用して、共有する暗号鍵データを生成する。秘匿性増強部９は装置２００の識別情報と暗号鍵データと、をアプリケーション部１０に送信する。
【００７５】
アプリケーション部１０は装置２００の識別情報と暗号鍵データと、を秘匿性増強部９から受信する。アプリケーション部１０は送信側の装置２００毎に暗号鍵データをまとめ、装置２００毎に暗号鍵データを使用してデータの暗号化及び復号化を行う。アプリケーション部１０は当該暗号化されたデータを送信側の装置２００と送受信する。
【００７６】
以上説明したように、第３実施形態の量子通信装置１００では、バッファ４が送信側の装置２００の識別情報とシフト処理データと推定ＱｂＥＲとを関連付けて記憶する。決定部５、訂正部７、測定部８及び秘匿性増強部９は送信側の装置２００を識別せずに処理を行い、暗号鍵データを生成する。これにより第３実施形態の量子通信装置１００は、複数の装置２００と通信する場合でも誤り訂正処理を効率的に行うことができる。
【００７７】
なお、第３実施形態の量子通信装置１００では、装置２００を識別せずに決定部５、訂正部７、測定部８及び秘匿性増強部９の処理を行っていたが、装置２００毎に、処理を行っても良い。
【００７８】
また、第３実施形態の量子通信装置１００では、決定部５は、３つの訂正部７のうち処理の負荷が一番小さい訂正部７に、データを送信していたが、処理時間が均等になるように、各訂正部７にデータを割り振っても良い。また、決定部５は各訂正部７の中で利用する検査行列が全て同じになるようにデータを割り振っても良い。すなわち決定部５は、各シフト処理データの訂正に使用する検査行列に応じて、各訂正部７にデータを割り振っても良い。
【００７９】
また、第３実施形態の量子通信装置１００では、訂正部７は誤り訂正処理データと、装置２００の識別情報と、を秘匿性増強部９に送信していたが、誤り訂正処理データと、装置２００の識別情報と、を測定部８から秘匿性増強部９に送信してもよい。このようにすると、訂正部７は送信先の秘匿性増強部９を識別する識別情報を測定部８に送信しなくてよい。
【００８０】
また、複数の訂正部７と複数の秘匿性増強部９との間に共有メモリを置いてもよい。すなわち訂正部７が誤り訂正処理データを当該共有メモリに記憶し、測定したＱｂＥＲを当該共有メモリに記憶し、秘匿性増強部９が当該共有メモリに記憶された誤り訂正処理データ及びＱｂＥＲを取得してもよい。
【００８１】
また第２実施形態と第３実施形態を組み合わせてもよい。すなわち量子通信装置１００における処理の実行により得られた関連データ（訂正時間及びＱｂＥＲ）をフィードバックすることにより、記憶部６に記憶されているデータを更新（最適化）してもよい。このとき送信側の装置２００を識別せずに最適化を行ってもよいし、送信側の装置２００毎に最適化を行ってもよい。送信側の装置２００毎に最適化を行う場合は、決定部５の推定ＱｂＥＲの補正処理と検査行列の暫定決定処理、及び、測定部８の処理は送信側の装置２００を識別して行う。そして、フィードバックに使用する関連データがどの装置２００に関するデータであるかを識別する。
【００８２】
最後に、第１〜第３実施形態の量子通信装置１００のハードウェア構成の例について説明する。図１４は第１〜第３実施形態の量子通信装置１００の構成の例を示す図である。第１〜第３実施形態の量子通信装置１００は、制御装置２１、主記憶装置２２、補助記憶装置２３、表示装置２４、入力装置２５、量子通信ＩＦ２６及び古典通信ＩＦ２７を備える。制御装置２１、主記憶装置２２、補助記憶装置２３、表示装置２４、入力装置２５、量子通信ＩＦ２６及び古典通信ＩＦ２７は、バス２８を介して互いに接続されている。量子通信装置１００は上述のハードウェア構成を有する任意の装置でよい。例えば量子通信装置１００はＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）や携帯端末などである。
【００８３】
制御装置２１は補助記憶装置２３から主記憶装置２２に読み出されたプログラムを実行する。主記憶装置２２はＲＯＭやＲＡＭ等のメモリである。補助記憶装置２３はＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やメモリカード等である。表示装置２４は量子通信装置１００の状態などを表示する。入力装置２５はユーザーからの入力を受け付ける。量子通信ＩＦ２６は量子通信路に接続するためのインターフェースである。古典通信ＩＦ２７は古典通信路に接続するためのインターフェースである。
【００８４】
第１〜第３実施形態の量子通信装置１００で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【００８５】
また、第１〜第３実施形態の量子通信装置１００で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１〜第３実施形態の量子通信装置１００が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【００８６】
また、第１〜第３実施形態の量子通信装置１００のプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００８７】
第１〜第３実施形態の量子通信装置１００で実行されるプログラムは、上述した各機能ブロック（受信部１、シフト処理部２、推定部３、決定部５、訂正部７、測定部８、秘匿性増強部９、アプリケーション部１０及び更新部１１）を含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、制御装置２１が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置２２上にロードされる。すなわち、上記各機能ブロックは、主記憶装置２２上に生成される。
【００８８】
なお、上述した各部（受信部１、シフト処理部２、推定部３、決定部５、訂正部７、測定部８、秘匿性増強部９、アプリケーション部１０及び更新部１１）の一部又は全部を、ソフトウェアにより実現せずに、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよい。
【００８９】
以上説明したとおり、第１〜第３実施形態の量子通信装置１００によれば、シフト処理データの誤り訂正に係る処理時間を低減することができ、量子通信装置１００のスループットを向上させることができる。
【００９０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９１】
１  受信部
２  シフト処理部
３  推定部
４  バッファ
５  決定部
６  記憶部
７  訂正部
８  測定部
９  秘匿性増強部
１０  アプリケーション部
１１  更新部
２１  制御装置
２２  主記憶装置
２３  補助記憶装置
２４  表示装置
２５  入力装置
２６  量子通信ＩＦ
２７  古典通信ＩＦ
２８  バス
【図１】
2015130623.tif 000003
【図２】
2015130623.tif 000004
【図３】
2015130623.tif 000005
【図４】
2015130623.tif 000006
【図５】
2015130623.tif 000007
【図６】
2015130623.tif 000008
【図７】
2015130623.tif 000009
【図８】
2015130623.tif 000010
【図９】
2015130623.tif 000011
【図１０】
2015130623.tif 000012
【図１１】
2015130623.tif 000013
【図１２】
2015130623.tif 000014
【図１３】
2015130623.tif 000015
【図１４】
2015130623.tif 000016