(57)【特許請求の範囲】
【請求項１】
暗号鍵の元となる乱数列を所定の量子状態で量子通信路上に送信する送信側の通信装置と、当該量子通信路上の光子を測定する受信側の通信装置、で構成された量子暗号システムにおける量子鍵配送方法において、
各通信装置が、同一のパリティ検査行列（要素が「０」または「１」の行列）を生成する検査行列生成ステップと、
前記送信側の通信装置が、誤り検出のための巡回符号（ＣＲＣ：Cyclic  Redundancy  check）を生成する巡回符号生成ステップと、
前記受信側の通信装置が、光方向を正しく識別可能な測定器で測定した結果として得られた確率情報付きの受信データを保持し、前記送信側の通信装置が、前記受信データに対応する送信データ（乱数列の一部）を保持する送受信ステップと、
前記送信側の通信装置が、前記パリティ検査行列および前記送信データに基づいて生成した誤り訂正情報と、前記巡回符号および前記送信データに基づいて生成した誤り検出情報と、を公開通信路を介して前記受信側の通信装置に通知する情報通知ステップと、
前記受信側の通信装置が、前記パリティ検査行列と前記確率情報付きの受信データと前記誤り訂正情報に基づく所定の推定処理により一時推定語を求め、当該一時推定語および前記パリティ検査行列に基づいて推定誤り訂正情報を生成し、「前記誤り訂正情報＝前記推定誤り訂正情報」という条件を満たす場合に前記所定の推定処理を終了して前記一時推定語を推定送信データとし、その後、前記誤り検出情報に基づいて当該推定送信データの誤り検出を行い、誤りがなければ当該推定送信データを元の送信データと判定し、誤りがあると判断した場合には当該推定送信データを捨てる送信データ推定ステップと、
前記各通信装置が、公開された情報量に応じて送信データの一部を捨てて、残りの情報で暗号鍵を生成する暗号鍵生成ステップと、
を含むことを特徴とする量子鍵配送方法。
【請求項２】
前記送信データ推定ステップにあっては、
初期設定として、前記パリティ検査行列内の要素「１」に対応する事前値を設定する初期設定ステップと、
前記誤り訂正情報に応じて、前記パリティ検査行列内の要素「１」に対応する外部値を、同一行における他の要素「１」に対応する事前値および前記確率情報を用いて更新する処理、を行単位に実行する外部値更新ステップと、
前記パリティ検査行列内の要素「１」に対応する事前値を、同一列における他の要素「１」に対応する前記更新後の外部値を用いて更新する処理、を列単位に実行する事前値更新ステップと、
前記確率情報および前記更新後の事前値に基づいて事後確率を算出し、当該事後確率から前記一時推定語を求める（硬判定）一時推定ステップと、
前記一時推定語が前記パリティ検査行列との間に確立されている前記条件を満たす場合に、当該一時推定語を推定送信データとして前記誤り検出情報に基づく当該推定送信データの誤り検出を行い、誤りがなければ当該推定送信データを元の送信データと判定し、前記条件を満たさない場合には、前記所定の推定処理として、当該条件を満たすまで前記更新後の値を用いて、前記外部値更新ステップ、前記事前値更新ステップおよび前記一時推定ステップを繰り返し実行する送信データ判定ステップと、
を含むことを特徴とする請求の範囲第１項に記載の量子鍵配送方法。
【請求項３】
前記送信データ推定ステップにあっては、
前記誤り検出情報と、前記推定送信データを用いて生成した推定誤り検出情報と、を比較し、一致していれば前記推定送信データに誤りがないと判断し、一致していなければ前記推定送信データに誤りがあると判断することを特徴とする請求の範囲第２項に記載の量子鍵配送方法。
【請求項４】
量子鍵配送により装置間で暗号鍵を共有する量子暗号システムを構成し、かつ量子通信路上の光子（暗号鍵の元となる乱数列）を測定する通信装置において、
暗号鍵を共有する相手側装置と同一のパリティ検査行列（要素が「０」または「１」の行列）を生成するパリティ検査行列生成手段と、
誤り検出のための巡回符号（ＣＲＣ：Cyclic  Redundancy  check）を生成する巡回符号生成ステップと、
前記パリティ検査行列、光方向を正しく識別可能な測定器で測定して得られた確率情報付きの受信データ、相手側装置から公開通信路を介して受信した誤り訂正情報、に基づく所定の推定処理により一時推定語を求め、当該一時推定語および前記パリティ検査行列に基づいて推定誤り訂正情報を生成し、「前記誤り訂正情報＝前記推定誤り訂正情報」という条件を満たす場合に前記所定の推定処理を終了して前記一時推定語を推定送信データとし、その後、前記誤り検出情報に基づいて当該推定送信データの誤り検出を行い、誤りがなければ当該推定送信データを元の送信データと判定し、誤りがあると判断した場合には当該推定送信データを捨てる送信データ推定手段と、
公開された情報量に応じて前記送信データの一部を捨てて、残りの情報で暗号鍵を生成する暗号鍵生成手段と、
を備えることを特徴とする通信装置。
【請求項５】
量子鍵配送により請求項４に記載の受信側の通信装置との間で暗号鍵を共有する量子暗号システムを構成し、かつ暗号鍵の元となる乱数列を所定の量子状態で量子通信路上に送信する送信側の通信装置において、
暗号鍵を共有する前記受信側の通信装置と同一のパリティ検査行列を生成するパリティ検査行列生成手段と、
誤り検出のための巡回符号（ＣＲＣ：Cyclic  Redundancy  check）を生成する巡回符号生成手段と、
光方向を正しく識別可能な測定器で測定した結果として得られる前記受信側の通信装置の受信データに対応する送信データ（乱数列の一部）および前記パリティ検査行列に基づいて生成した誤り訂正情報と、前記送信データおよび前記巡回符号に基づいて生成した誤り検出情報と、を公開通信路を介して前記受信側の通信装置に通知する情報通知手段と、
公開された情報量に応じて前記送信データの一部を捨てて、残りの情報で暗号鍵を生成する暗号鍵生成手段と、
を備えることを特徴とする通信装置。
【請求項６】
前記送信データ推定手段は、
初期設定として、前記パリティ検査行列内の要素「１」に対応する事前値を設定し、
つぎに、前記誤り訂正情報に応じて、前記パリティ検査行列内の要素「１」に対応する外部値を、同一行における他の要素「１」に対応する事前値および前記確率情報を用いて更新する処理、を行単位に実行し、
つぎに、前記パリティ検査行列内の要素「１」に対応する事前値を、同一列における他の要素「１」に対応する前記更新後の外部値を用いて更新する処理、を列単位に実行し、
つぎに、前記確率情報および前記更新後の事前値に基づいて事後確率を算出し、当該事後確率から前記一時推定語を判定し、
つぎに、前記一時推定語が前記パリティ検査行列との間に確立されている前記条件を満たす場合に、当該一時推定語を推定送信データとして前記誤り検出情報に基づく当該推定送信データの誤り検出を行い、誤りがなければ当該推定送信データを元の送信データと判定し、前記条件を満たさない場合には、前記所定の推定処理として、当該条件を満たすまで前記更新後の値を用いて、前記行単位の処理、前記列単位の処理および前記一時推定語判定処理を繰り返し実行することを特徴とする請求の範囲第４項に記載の通信装置。
【請求項７】
前記送信データ推定手段は、
前記誤り検出情報と、前記推定送信データを用いて生成した推定誤り検出情報と、を比較し、一致していれば前記推定送信データに誤りがないと判断し、一致していなければ前記推定送信データに誤りがあると判断することを特徴とする請求の範囲第６項に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高度に安全性の保証された共通鍵を生成することが可能な量子鍵配送方法に関するものであり、特に、誤り訂正符号を用いてデータ誤りを訂正可能な量子鍵配送方法および当該量子鍵配送を実現可能な通信装置に関するものである。
【背景技術】
【０００２】
以下、従来の量子暗号システムについて説明する。近年、高速大容量な通信技術として光通信が広く利用されているが、このような光通信システムでは、光のオン／オフで通信が行われ、オンのときに大量の光子が送信されているため、量子効果が直接現れる通信系にはなっていない。
【０００３】
一方、量子暗号システムでは、通信媒体として光子を用い、不確定性原理等の量子効果が生じるように１個の光子で１ビットの情報を伝送する。このとき、盗聴者が、その偏光，位相等の量子状態を知らずに適当に基底を選んで光子を測定すると、その量子状態に変化が生じる。したがって、受信側では、この光子の量子状態の変化を確認することによって、伝送データが盗聴されたかどうかを認識することができる。
【０００４】
第１０図は、従来の偏光を利用した量子鍵配送の概要を示す図である。たとえば、水平垂直方向の偏光を識別可能な測定器では、量子通信路上の、水平方向（０°）に偏光された光と垂直方向（９０°）に偏光された光とを正しく識別する。一方、斜め方向（４５°，１３５°）の偏光を識別可能な測定器では、量子通信路上の、４５°方向に偏光された光と１３５°方向に偏光された光とを正しく識別する。
【０００５】
このように、各測定器は、規定された方向に偏光された光については正しく認識できるが、たとえば、斜め方向に偏光された光を水平垂直方向（０°，９０°）の偏光を識別可能な測定器にて測定すると、水平方向と垂直方向に偏光された光をそれぞれ５０％の確率でランダムに識別する。すなわち、識別可能な偏光方向に対応していない測定器を用いた場合には、その測定結果を解析しても、偏光された方向を正しく識別することができない。
【０００６】
第１０図に示す従来の量子鍵配送では、上記不確定性（ランダム性）を利用して、盗聴者に知られずに送信者と受信者との間で鍵を共有する（たとえば、非特許文献１参照。）。なお、送信者および受信者は、量子通信路以外に公開通信路を使用することができる。
【０００７】
ここで、鍵の共有手順について説明する。まず、送信者は、乱数列（１，０の列：送信データ）を発生し、さらに送信コード（＋：水平垂直方向に偏光された光を識別可能な測定器に対応，×：斜め方向に偏光された光を識別可能な測定器に対応）をランダムに決定する。その乱数列と送信コードの組み合わせで、送信する光の偏光方向が自動的にきまる。ここでは、０と＋の組み合わせで水平方向に偏光された光を、１と＋の組み合わせで垂直方向に偏光された光を、０と×の組み合わせで４５°方向に偏光された光を、１と×の組み合わせで１３５°方向に偏光された光を、量子通信路にそれぞれ送信する（送信信号）。
【０００８】
つぎに、受信者は、受信コード（＋：水平垂直方向に偏光された光を識別可能な測定器，×：斜め方向に偏光された光を識別可能な測定器）をランダムに決定し、量子通信路上の光を測定する（受信信号）。そして、受信コードと受信信号の組み合わせによって受信データを得る。ここでは、受信データとして、水平方向に偏光された光と＋の組み合わせで０を、垂直方向に偏光された光と＋の組み合わせで１を、４５°方向に偏光された光と×の組み合わせで０を、１３５°方向に偏光された光と×の組み合わせで１を、それぞれ得る。
【０００９】
つぎに、受信者は、自身の測定が正しい測定器で行われたものかどうかを調べるために、受信コードを、公開通信路を介して送信者に対して送信する。受信コードを受け取った送信者は、正しい測定器で行われたものかどうかを調べ、その結果を、公開通信路を介して受信者に対して返信する。
【００１０】
つぎに、受信者は、正しい測定器で受信した受信信号に対応する受信データだけを残し、その他を捨てる。この時点で、残された受信データは送信者と受信者との間で確実に共有できている。
【００１１】
つぎに、送信者と受信者は、それぞれの通信相手に対して、共有データから選択した所定数のデータを、公開通信路を経由して送信する。そして、受け取ったデータが自身の持つデータと一致しているかどうかを確認する。たとえば、確認したデータの中に一致しないデータが１つでもあれば、盗聴者がいるものと判断して共有データを捨て、再度、鍵の共有手順を最初からやり直す。一方、確認したデータがすべて一致した場合には、盗聴者がいないと判断し、確認に使用したデータを捨て、残った共有データを送信者と受信者の共有鍵とする。
【００１２】
一方、上記従来の量子鍵配送方法の応用として、たとえば、伝送路上におけるデータ誤りを訂正可能な量子鍵配送方法がある（たとえば、非特許文献２参照。）。
【００１３】
この方法では、送信者が、データ誤りを検出するために、送信データを複数のブロックに分割し、ブロック毎のパリティを公開通信路上に送信する。そして、受信者が、公開通信路を経由して受け取ったブロック毎のパリティと受信データにおける対応するブロックのパリティとを比較して、データ誤りをチェックする。このとき、異なるパリティがあった場合、受信者は、どのブロックのパリティが異なっているのかを示す情報を公開通信路上に返信する。そして、送信者は、該当するブロックをさらに前半部のブロックと後半部のブロックに分割し、たとえば、前半部のパリティを公開通信路上に返信する（二分探索）。以降、送信者と受信者は、上記二分探索を繰り返し実行することによりエラービットの位置を特定し、最終的に受信者がそのビットを訂正する。
【００１４】
さらに、送信者は、データに誤りがあるにもかかわらず、偶数個の誤りのために正しいと判定されたパリティがある場合を想定し、送信データをランダムに並べ替えて（ランダム置換）複数のブロックに分割し、再度、上記二分探索による誤り訂正処理を行う。そして、ランダム置換によるこの誤り訂正処理を繰り返し実行することによって、すべてのデータ誤りを訂正する。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】Bennett,C.H.  and  Brassard,G.  :  Quantum  Cryptography  :  PublicKey  Distribution  and  Coin  Tossing,  In  Proceedings  of  IEEE  Conference  onComputers,  System  and  Signal  Processing,  Bangalore,  India,  pp.175-179(DEC.1984).
【非特許文献２】Brassard,G.  and  Salvail,L.  1993  Secret-Key  Reconciliation  by  Public  Discussion,  In  Advances  in  Cryptology  -  EUROCRYPT'93,  Lecture  Notes  in  Computer  Science  765,  410-423.
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、上記第１０図に示す従来の量子鍵配送においては、誤り通信路を想定していないため、誤りがある場合には盗聴行為が存在したものとして上記共通データ（共通鍵）を捨てることとなり、伝送路によっては共通鍵の生成効率が非常に悪くなる、という問題があった。
【００１７】
また、上記伝送路上におけるデータ誤りを訂正可能な量子鍵配送方法においては、エラービットを特定するために膨大な回数のパリティのやりとりが発生し、さらに、ランダム置換による誤り訂正処理が所定回数にわたって行われるため、誤り訂正処理に多大な時間を費やすことになる、という問題があった。
【００１８】
本発明は、上記に鑑みてなされたものであって、極めて高い特性を持つ誤り訂正符号を用いて伝送路上におけるデータ誤りを訂正しつつ、高度に安全性の保証された共通鍵を生成することが可能な量子鍵配送方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明にかかる量子鍵配送方法は、暗号鍵の元となる乱数列を所定の量子状態で量子通信路上に送信する送信側の通信装置と、当該量子通信路上の光子を測定する受信側の通信装置、で構成された量子暗号システムにおける量子鍵配送方法であって、たとえば、各通信装置が、同一のパリティ検査行列（要素が「０」または「１」の行列）を生成する検査行列生成ステップ（後述する実施の形態のステップＳ１，Ｓ１１に相当）と、前記送信側の通信装置が、誤り検出のための巡回符号（ＣＲＣ：Cyclic  Redundancy  check）を生成する巡回符号生成ステップ（ステップＳ２に相当）と、前記受信側の通信装置が、光方向を正しく識別可能な測定器で測定した結果として得られた確率情報付きの受信データを保持し、前記送信側の通信装置が、前記受信データに対応する送信データ（乱数列の一部）を保持する送受信ステップ（ステップＳ３，Ｓ４，Ｓ１２，Ｓ１３に相当）と、前記送信側の通信装置が、前記パリティ検査行列および前記送信データに基づいて生成した誤り訂正情報と、前記巡回符号および前記送信データに基づいて生成した誤り検出情報と、を公開通信路を介して前記受信側の通信装置に通知する情報通知ステップ（ステップＳ５，Ｓ１４に相当）と、前記受信側の通信装置が、前記パリティ検査行列と前記確率情報付きの受信データと前記誤り訂正情報と前記誤り検出情報に基づいて、前記送信データを推定する送信データ推定ステップ（ステップＳ１５に相当）と、前記各通信装置が、公開された情報量に応じて送信データの一部を捨てて、残りの情報で暗号鍵を生成する暗号鍵生成ステップ（ステップＳ６，Ｓ１６に相当）と、を含むことを特徴とする。
【００２０】
この発明によれば、たとえば、確定的で特性が安定した「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」用のパリティ検査行列を用いて共有情報のデータ誤りを訂正し、さらに、巡回符号ＣＲＣを用いて共有情報（推定語）の誤り検出を行い、その後、公開された誤り訂正情報に応じて共有情報の一部を捨てることとした。
【発明の効果】
【００２１】
本発明によれば、エラービットを特定／訂正するための膨大な回数のパリティのやりとりがなくなり、誤り訂正情報を送信するだけで誤り訂正制御が行われるため、誤り訂正処理にかかる時間を大幅に短縮できる、という効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】第１図は、本発明にかかる量子暗号システム（送信側および受信側の通信装置）の構成を示す図である。
【図２】第２図は、量子鍵配送の概要を示すフローチャートである。
【図３】第３図は、量子鍵配送の概要を示すフローチャートである。
【図４】第４図は、有限アフィン幾何に基づく「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」の構成法を示すフローチャートである。
【図５】第５図は、有限アフィン幾何符号ＡＧ（２，２2）のマトリクスを示す図である。
【図６】第６図は、最終的な列の重み配分λ（γi）と行の重み配分ρuを示す図である。
【図７】第７図は、巡回符号ＣＲＣ（ｎ×ｄ行列）の一例を示す図である。
【図８】第８図は、ｍAのシンドロームＳAおよび巡回符号シンドロームＳCの生成方法の概略構成を示す図である。
【図９】第９図は、本実施の形態のシンドローム復号法を示すフローチャートである。
【図１０】第１０図は、従来の偏光を利用した量子鍵配送の概要を示す図である。
【発明を実施するための形態】
【００２３】
以下に、本発明にかかる量子鍵配送方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。また、以下では、例として偏光を利用する量子鍵配送について説明するが、本発明は、たとえば、位相を利用するもの，周波数を利用するもの等にも適用可能であり、どのような量子状態を利用するかについては特に限定しない。
【００２４】
量子鍵配送は、盗聴者の計算能力によらず、安全性の保証された鍵配送方式であるが、たとえば、より効率よく共有鍵を生成するためには、伝送路を通ることによって発生するデータの誤りを取り除く必要がある。そこで、本実施の形態では、極めて高い特性をもつことが知られている低密度パリティ検査（ＬＤＰＣ：：Low-Density  Parity-Check）符号を用いて誤り訂正を行う量子鍵配送について説明する。
【００２５】
第１図は、本発明にかかる量子暗号システム（送信側および受信側の通信装置）の構成を示す図である。この量子暗号システムは、情報ｍaを送信する機能を備えた送信側の通信装置と、伝送路上で雑音等の影響を受けた情報ｍa、すなわち情報ｍbを受信する機能を備えた受信側の通信装置と、から構成される。
【００２６】
また、送信側の通信装置は、量子通信路を介して情報ｍaを送信し、公開通信路を介してシンドロームＳAを送信し、これらの送信情報に基づいて暗号鍵（受信側との共通鍵）を生成する暗号鍵生成部１と、暗号化部２１が暗号鍵に基づいて暗号化したデータを、送受信部２２が公開通信路を介してやりとりする通信部２と、を備え、受信側の通信装置は、量子通信路を介して情報ｍbを受信し、公開通信路を介してシンドロームＳAを受信し、これらの受信情報に基づいて暗号鍵（送信側との共通鍵）を生成する暗号鍵生成部３と、暗号化部４２が暗号鍵に基づいて暗号化したデータを、送受信部４１が公開通信路を介してやりとりする通信部４と、を備える。
【００２７】
上記送信側の通信装置では、量子通信路上に送信する情報ｍaとして、偏光フィルターを用いて所定の方向に偏光させた光を、受信側の通信装置に対して送信する。一方、受信側の通信装置では、水平垂直方向（０°，９０°）の偏光を識別可能な測定器と斜め方向（４５°，１３５°）の偏光を識別可能な測定器とを用いて、量子通信路上の、水平方向（０°）に偏光された光と垂直方向（９０°）に偏光された光と４５°方向に偏光された光と１３５°方向に偏光された光とを識別する。なお、各測定器は、規定された方向に偏光された光については正しく認識できるが、たとえば、斜め方向に偏光された光を水平垂直方向（０°，９０°）の偏光を識別可能な測定器にて測定すると、水平方向と垂直方向に偏光された光をそれぞれ５０％の確率でランダムに識別する。すなわち、識別可能な偏光方向に対応していない測定器を用いた場合には、その測定結果を解析しても、偏光された方向を正しく識別することができない。
【００２８】
以下、上記量子暗号システムにおける各通信装置の動作、すなわち、本実施の形態における量子鍵配送について詳細に説明する。第２図および第３図は、本実施の形態の量子鍵配送の概要を示すフローチャートであり、詳細には、第２図は送信側の通信装置の処理を示し、第３図は受信側の通信装置の処理を示す。
【００２９】
まず、上記送信側の通信装置および受信側の通信装置では、パリティ検査行列生成部１０，３０が、特定の線形符号のパリティ検査行列Ｈ（ｎ×ｋ行列）を求め、このパリティ検査行列Ｈから「ＨＧ＝０」を満たす生成行列Ｇ（（ｎ−ｋ）×ｎ行列）を求め、さらに、Ｇ-1・Ｇ＝Ｉ（単位行列）となるＧの逆行列Ｇ-1（ｎ×（ｎ−ｋ）行列）を求める（ステップＳ１，ステップＳ１１）。本実施の形態では、上記特定の線形符号として、シャノン限界に極めて近い優れた特性をもつＬＤＰＣ符号を用いた場合の量子鍵配送について説明する。なお、本実施の形態では、誤り訂正方式としてＬＤＰＣ符号を用いることとしたが、これに限らず、たとえば、ターボ符号等の他の線形符号を用いることとしてもよい。また、たとえば、後述する誤り訂正情報（シンドローム）が適当な行列Ｈと送信データｍA（情報ｍaの一部）の積ＨｍAで表される誤り訂正プロトコル（たとえば、従来技術にて説明した「伝送路上におけるデータ誤りを訂正可能な量子鍵配送」に相当する誤り訂正プロトコル）であれば、すなわち、誤り訂正情報と送信データｍAの線形性が確保されるのであれば、その行列Ｈをパリティ検査行列として用いることとしてもよい。
【００３０】
ここで、上記パリティ検査行列生成部１０におけるＬＤＰＣ符号の構成法について、詳細には、有限アフィン幾何に基づく「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」の構成法（第２図ステップＳ１の詳細）について説明する。第４図は、有限アフィン幾何に基づく「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」の構成法を示すフローチャートである。なお、パリティ検査行列生成部３０については、パリティ検査行列生成部１０と同様に動作するのでその説明を省略する。また、本実施の形態における検査行列生成処理は、たとえば、設定されるパラメータに応じてパリティ検査行列生成部１０で実行する構成としてもよいし、通信装置外部の他の制御装置（計算機等）で実行することとしてもよい。本実施の形態における検査行列生成処理が通信装置外部で実行される場合は、生成済みの検査行列が通信装置に格納される。以降の実施の形態では、パリティ検査行列生成部１０で上記処理を実行する場合について説明する。
【００３１】
まず、パリティ検査行列生成部１０では、「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」用の検査行列のベースとなる有限アフィン幾何符号ＡＧ（２，２s）を選択する（第４図、ステップＳ２１）。ここでは、行の重みと列の重みがそれぞれ２sとなる。第５図は、たとえば、有限アフィン幾何符号ＡＧ（２，２2）のマトリクスを示す図（空白は０を表す）である。
【００３２】
つぎに、パリティ検査行列生成部１０では、列の重みの最大値ｒl（２＜ｒl≦２s）を決定する（ステップＳ２２）。そして、符号化率ｒａｔｅ（１シンドローム長／鍵の長さ）を決定する（ステップＳ２２）。
【００３３】
つぎに、パリティ検査行列生成部１０では、ガウス近似法（Gaussian  Approximation）による最適化を用いて、暫定的に、列の重み配分λ（γi）と行の重み配分ρuを求める（ステップＳ２３）。なお、行の重み配分の生成関数ρ（ｘ）はρ（ｘ）＝ρuｘu-1＋（１−ρu）ｘuとする。また、重みｕはｕ≧２の整数であり、ρuは行における重みｕの割合を表す。
【００３４】
つぎに、パリティ検査行列生成部１０では、有限アフィン幾何の行の分割により構成可能な、行の重み｛ｕ，ｕ＋１｝を選択し、さらに（１）式を満たす分割係数｛ｂu，ｂu+1｝を求める（ステップＳ２４）。なお、ｂu，ｂu+1は非負の整数とする。
【００３５】
ｂu＋ｂu+1（ｕ＋１）＝２s      …（１）
【００３６】
具体的には、下記（２）式からｂuを求め、上記（１）式からｂu+1を求める。
【００３７】
【数１】
0004554523.tif 000002
【００３８】
つぎに、パリティ検査行列生成部１０では、上記決定したパラメータｕ，ｕ＋１，ｂu，ｂu+1によって更新された行の重みの比率ρu´，ρu+1´を（３）式により求める（ステップＳ２５）。
【００３９】
【数２】
0004554523.tif 000003
【００４０】
つぎに、パリティ検査行列生成部１０では、ガウス近似法による最適化を用いて、さらに上記で求めたｕ，ｕ＋１，ρu´，ρu+1´を固定のパラメータとして、暫定的に、列の重み配分λ（γi）を求める（ステップＳ２６）。なお、重みγiはγi≧２の整数であり、λ（γi）は列における重みγiの割合を表す。また、列数が１以下となる重み（λ（γi）≦γi／ｗt，ｉは正の整数）を候補から削除する。ただし、ｗtはＡＧ（２，２s）に含まれる１の総数を表す。
【００４１】
つぎに、上記で求めた重み配分を満たし、かつ下記（４）式を満たす、列の重み候補のセット｛γ1，γ2，…γl（γl≦２s）｝を選択する（ステップＳ２７）。そして、下記の（４）式を満たさない列の重みγiが存在する場合には、その列の重みを候補から削除する。
【００４２】
【数３】
0004554523.tif 000004
【００４３】
なお、各ａは、列の重み２sを構成するための｛γ1，γ2，…γl｝に対する非負の整数となる係数を表し、ｉ，ｊは正の整数であり、γiは列の重みを表し、γlは列の最大重みを表す。
【００４４】
つぎに、パリティ検査行列生成部１０では、ガウス近似法による最適化を用いて、さらに上記で求めたｕ，ｕ＋１，ρu´，ρu+1´と｛γ1，γ2，…γl｝を固定パラメータとして、列の重み配分λ（γi）と行の重み配分ρuを求める（ステップＳ２８）。
【００４５】
つぎに、パリティ検査行列生成部１０では、分割処理を行う前に、列の重み配分λ（γi）と行の重み配分ρuを調整する（ステップＳ２９）。なお、調整後の各重みの配分は、可能な限りガウス近似法で求めた値に近い値にする。第６図は、ステップＳ２９における最終的な列の重み配分λ（γi）と行の重み配分ρuを示す図である。なお、ｎ（γi）は、重み単位の総列数を表し、ｎuは重み単位の総行数を表す。
【００４６】
最後に、パリティ検査行列生成部１０では、有限アフィン幾何における行および列を分割して（ステップＳ３０）、ｎ×ｋのパリティ検査行列Ｈを生成する。本発明における有限アフィン幾何符号の分割処理は、規則的に分割するのではなく、各行または各列から「１」をランダムに抽出する。なお、この抽出処理は、ランダム性が保持されるのであればどのような方法を用いてもよい。
【００４７】
このように、本実施の形態では、上記有限アフィン幾何に基づく「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」の構成法（第２図、ステップＳ１）を実行することによって、確定的で特性が安定した「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」用の検査行列Ｈ（ｎ×ｋ行列）を生成することができる。
【００４８】
上記のように、パリティ検査行列Ｈ（ｎ×ｋ行列），生成行列Ｇ，Ｇ-1（Ｇ-1・Ｇ＝Ｉ：単位行列）を生成後、つぎに、送信側の通信装置では、受信側の通信装置が送信データｍAを正確に推定できない可能性（送信データｍAと後述する推定語ｍCが一致しない場合）があるので、特に、盗聴者の存在により誤判定の発生確率が高くなる場合があるので、このような誤判定確率を極力小さくするために、巡回符号生成部１６にて、誤り検出のための巡回符号ＣＲＣ（Cyclic  Redundancy  check）を生成する（第２図、ステップＳ２）。ここでは、上記で生成したパリティ検査行列Ｈとは別に、巡回符号ＣＲＣ（ｎ×ｄ行列）を生成する。
【００４９】
ここで、上記巡回符号生成部１６における巡回符号ＣＲＣ（ｎ×ｄ行列）の構成法（第２図ステップＳ２の詳細）について説明する。
【００５０】
たとえば、鍵長ｎをｎ＝７とし、ＧＦ（２）上の原始多項式ｇｘを多項式表現したときの最大次数ｄをｄ＝３とし、３次の原始多項式ｇｘをｇｘ＝ｘ3＋ｘ＋１（ベクトル表現：［１０１１］）とした場合（ｎ×ｄのＣＲＣを構成する場合）、ＣＲＣの検査多項式ｘd-1Ｈ（ｘ-1）は下記（５）式のように表すことができる。なお、多項式Ｈ（ｘ）は、Ｈ（ｘ）＝（ｘn＋１）／ｇｘである。
【００５１】
Ｈ（ｘ）＝（ｘn＋１）／ｇｘ
＝（ｘ7＋１）／（ｘ3＋ｘ＋１）
＝ｘ4＋ｘ2＋ｘ＋１  (ベクトル表現：［１０１１１］）
Ｈ（ｘ-1）＝ｘ-4＋ｘ-2＋ｘ-1＋１
＝ｘ4＋ｘ3＋ｘ2＋１  (ベクトル表現：［１１１０１］）
ｘd-1Ｈ（ｘ-1）＝ｘ2×（ｘ4＋ｘ3＋ｘ2＋１）
＝ｘ6＋ｘ5＋ｘ4＋ｘ2  (ベクトル表現：［１１１０１００］）
…（５）
【００５２】
したがって、巡回符号ＣＲＣ（ｎ×ｄ行列）は、ＣＲＣの検査多項式ｘd-1Ｈ（ｘ-1）のベクトル表現：［１１１０１００］を巡回シフト（ｄ＝３）した、第７図に示すｎ×ｄの行列となる。第７図は、巡回符号ＣＲＣ（ｎ×ｄ行列）の一例を示す図である。
【００５３】
上記のように、巡回符号ＣＲＣ（ｎ×ｋ行列）を生成後、つぎに、送信側の通信装置では、乱数発生部１１が、乱数列ｍa（１，０の列：送信データ）を発生し、さらに送信コード（＋：水平垂直方向に偏光された光を識別可能な測定器に対応したコード，×：斜め方向に偏光された光を識別可能な測定器に対応したコード）をランダムに決定する（第２図、ステップＳ３）。一方、受信側の装置では、乱数発生部３１が、受信コード（＋：水平垂直方向に偏光された光を識別可能な測定器に対応したコード，×：斜め方向に偏光された光を識別可能な測定器に対応したコード）をランダムに決定する（第３図、ステップＳ１２）。
【００５４】
つぎに、送信側の通信装置では、光子生成部１２が、上記乱数列ｍaと送信コードの組み合わせで自動的に決まる偏光方向で光子を送信する（ステップＳ４）。たとえば、０と＋の組み合わせで水平方向に偏光された光を、１と＋の組み合わせで垂直方向に偏光された光を、０と×の組み合わせで４５°方向に偏光された光を、１と×の組み合わせで１３５°方向に偏光された光を、量子通信路にそれぞれ送信する（送信信号）。
【００５５】
光子生成部１２の光信号を受け取った受信側の通信装置の光子受信部３２では、量子通信路上の光を測定する（受信信号）。そして、受信コードと受信信号の組み合わせによって自動的に決まる受信データｍbを得る（ステップＳ１３）。ここでは、受信データｍbとして、水平方向に偏光された光と＋の組み合わせで０を、垂直方向に偏光された光と＋の組み合わせで１を、４５°方向に偏光された光と×の組み合わせで０を、１３５°方向に偏光された光と×の組み合わせで０を、それぞれ得る。なお、受信データｍbは、確率情報付きの硬判定値とする。
【００５６】
つぎに、受信側の通信装置では、上記測定が正しい測定器で行われたものかどうかを調べるために、乱数発生部３１が、受信コードを、公開通信路を介して送信側の通信装置に対して送信する（ステップＳ１３）。受信コードを受け取った送信側の通信装置では、上記測定が正しい測定器で行われたものかどうかを調べ、その結果を、公開通信路を介して受信側の通信装置に対して送信する（ステップＳ４）。そして、受信側の通信装置および送信側の通信装置では、正しい測定器で受信した受信信号に対応するデータだけを残し、その他を捨てる（ステップＳ４，Ｓ１３）。その後、残ったデータをメモリ等に保存し、その先頭から順にｎビットを読み出し、これを、正式な送信データｍAと受信データｍB（ｍBは伝送路上で雑音等の影響を受けたｍA：ｍB＝ｍA＋ｅ（雑音等））とする。すなわち、ここでは、必要に応じてつぎのｎビットを読み出して、送信データｍAと受信データｍBを生成する。本実施の形態では、残ったデータのビット位置が、送信側の通信装置と受信側の通信装置との間で共有できている。なお、ｍBは、上記ｍb同様、確率情報付きの硬判定値である。
【００５７】
つぎに、送信側の通信装置では、シンドローム生成部１４が、パリティ検査行列Ｈ（ｎ×ｋ行列）と巡回符号ＣＲＣ（ｎ×ｄ行列）とを連結し、連結後の行列と送信データｍAとを用いて、ｍAのシンドロームＳA＝Ｈ×ｍAおよび巡回符号シンドロームＳC＝ＣＲＣ×ｍAを計算し、その結果を、公開通信路通信部１３，公開通信路を介して受信側の通信装置に通知する（ステップＳ５）。第８図は、ｍAのシンドロームＳAおよび巡回符号シンドロームＳCの生成方法の概略構成を示す図である。この段階で、ｍAのシンドロームＳA（ｋビット分の情報）および巡回符号シンドロームＳC（ｄビット分の情報）は盗聴者に知られる可能性がある。一方、受信側の通信装置では、公開通信路通信部３４にてｍAのシンドロームＳAおよび巡回符号シンドロームＳCを受信し、それをシンドローム復号部３３に通知する（ステップＳ１４）。
【００５８】
つぎに、シンドローム復号部３３では、本実施の形態のシンドローム復号法を用いて、元の送信データｍAを推定する（ステップＳ１５）。詳細には、雑音等による確率情報付きの硬判定値ｍBの誤りを訂正することによって推定後ｍCを生成し、推定後ｍCに誤りがなければそれを元の送信データｍAと判定する。ここでは、「ＳA＝ＨｍC」を満たすｍCを確率情報付きの硬判定値ｍBから推定し、その推定結果ｍCに誤りがなければそれを共有情報ｍAとする。以下、本実施の形態のシンドローム復号法を詳細に説明する。
【００５９】
第９図は、本実施の形態のシンドローム復号法を示すフローチャートである。なお、上記のように、２元のｎ（列）×ｋ（行）の検査行列Ｈを想定した場合、ｉ列（１≦ｉ≦ｎ）ｊ行（１≦ｊ≦ｋ）目の要素をＨijと表記する。また、受信データｍBをｍB＝（ｍB1，ｍB2，…，ｍBn）とし、推定語（硬判定値）ｍCをｍC＝（ｍC1，ｍC2，…，ｍCn）とする。また、ｍAのシンドロームＳAをＳA＝（ＳA1，ＳA2，…，ＳAk）、また、通信路としては、条件付確率Ｐ（ｍB｜ｍC＝ｍA）で記述される無記憶通信路を想定する。
【００６０】
まず、シンドローム復号部３３では、初期設定として、Ｈij＝１を満たす全ての列と行の組み合わせ（ｉ，ｊ）の事前値をｑij（０）＝１／２，ｑij（１）＝１／２とする。ｑij（０）はＨijが「０」である確率を表し、ｑij（１）はＨijが「１」である確率を表す。そして、復号の反復回数を示すカウンタ値をｌ＝１（イテレーション：１回）とし、さらに、最大反復回数ｌmaxを設定する（ステップＳ３１）。
【００６１】
つぎに、シンドローム復号部３３では、ｊ＝１，２，…，ｋの順に、Ｈij＝１を満たす全ての列と行の組み合わせ（ｉ，ｊ）について外部値ｒij（０）とｒij（１）を更新する（ステップＳ３２）。本実施の形態においては、たとえば、ｊ（１≦ｊ≦ｋ）番目のシンドロームＳAjが「０」の場合、更新式（６），更新式（７）を用いて外部値ｒij（０）とｒij（１）を更新する。
【００６２】
【数４】
0004554523.tif 000005
【００６３】
【数５】
0004554523.tif 000006
【００６４】
一方、ｊ（１≦ｊ≦ｋ）番目のシンドロームＳAjが「１」の場合は、更新式（８），更新式（９）を用いて外部値ｒij（０）とｒij（１）を更新する。
【００６５】
【数６】
0004554523.tif 000007
【００６６】
【数７】
0004554523.tif 000008
【００６７】
なお、上記Ｋは、「ｒij（０）＋ｒij（１）＝１」が成り立つように規定された値（正規化するための値）とする。また、上記Ｐ（ｍB｜ｍC）は、条件付確率、すなわち、推定語ｍCが「０」または「１」の場合における受信データｍBの確率を表す。また、上記部分集合Ａ（ｉ）は、検査行列Ｈのｉ列目において「１」が立っている行インデックスの集合を表し、部分集合Ｂ（ｊ）は、検査行列Ｈのｊ行目において「１」が立っている列インデックスの集合を表す。
【００６８】
上記更新処理を具体的に記載すると、たとえば、ＳAj＝０，ｊ＝１，かつＨi1＝１を満たす全ての列と行の組み合わせが（ｉ，１）＝（３，１）（４，１）（５，１）の場合、式（６），式（７）が適用され、外部値ｒ31（０），ｒ31（１）が式（１０），式（１１）のように更新される。すなわち、Ｈ31以外のＨ41，Ｈ51を用いて、外部値ｒ31（０），ｒ31（１）を更新する。ここでは、検査行列Ｈの３列１行目が「０」である確率と「１」である確率をそれぞれ求めている。
【００６９】
【数８】
0004554523.tif 000009
【００７０】
【数９】
0004554523.tif 000010
【００７１】
つぎに、シンドローム復号部３３では、ｉ＝１，２，…，ｎの順に、Ｈij＝１を満たす全ての列と行の組み合わせ（ｉ，ｊ）について事前値ｑij（０）とｑij（１）を更新する（ステップＳ３３）。この更新処理は、式（１２），式（１３）にて表すことができる。
【００７２】
【数１０】
0004554523.tif 000011
【００７３】
【数１１】
0004554523.tif 000012
【００７４】
なお、上記Ｋ´は、「ｑij（０）＋ｑij（１）＝１」が成り立つように規定された値（正規化するための値）とする。
【００７５】
上記更新処理を具体的に記載すると、たとえば、ｉ＝３，かつＨ1j＝１を満たす全ての列と行の組み合わせが（３，ｊ）＝（３，１）（３，２）（３，３）の場合、式（１２），式（１３）が適用され、事前値ｑ31（０），ｑ31（１）が式（１４），式（１５）のように更新される。すなわち、Ｈ31以外のＨ32，Ｈ33を用いて、事前値ｑ31（０），ｑ31（１）を更新する。
【００７６】
【数１２】
0004554523.tif 000013
【００７７】
【数１３】
0004554523.tif 000014
【００７８】
つぎに、シンドローム復号部３３では、事後確率（条件付確率×事前値）Ｑi（０），Ｑi（１）を求め、この事後確率から一時推定語ｍC´＝（ｍC1´，ｍC2´，…，ｍCn´）を求める（ステップＳ３４）。すなわち、式（１６），式（１７）の計算結果に基づいて、式（１８）における一時推定語を得る。ここでは、イテレーション１回毎に判定処理を行う。
【００７９】
【数１４】
0004554523.tif 000015
【００８０】
【数１５】
0004554523.tif 000016
【００８１】
【数１６】
0004554523.tif 000017
【００８２】
なお、上記Ｋ´´は、「Ｑi（０）＋Ｑi（１）＝１」が成り立つように規定された値（正規化するための値）とする。また、条件付確率Ｐ（ｍB｜ｍC＝０）は、式（１９），式（２０）のように定義され、ｐはビット誤り率を表す。
【００８３】
【数１７】
0004554523.tif 000018
【００８４】
【数１８】
0004554523.tif 000019
【００８５】
つぎに、シンドローム復号部３３では、一時推定語ｍC´が送信データｍAといえるかどうかを検査する（ステップＳ３５）。ここでは、たとえば、ｍC´＝（ｍC1´，ｍC2´，…，ｍCn´）が「ｍC´×ＨT＝ＳA」という条件を満たしていれば（ステップＳ３６、Ｙｅｓ）、当該ｍC´を推定語ｍC＝（ｍC1，ｍC2，…，ｍCn）として出力する。
【００８６】
一方、上記条件を満たさない場合で、かつｌ＜ｌmaxの場合は（ステップＳ３６、Ｎｏ）、カウンタ値ｌをインクリメントし、ステップＳ３２の処理を上記更新された値を用いて再度実行する。以降、上記条件を満たすまで（ｌ＜ｌmaxの範囲で）、更新された値を用いてステップＳ３２〜Ｓ３６の処理を繰り返し実行する。
【００８７】
つぎに、シンドローム復号部３３では、上記推定語ｍC＝（ｍC1，ｍC2，…，ｍCn）と、受信データｍB＝（ｍB1，ｍB2，…，ｍBn）と、を比較（ＥＸＯＲ）し、エラーベクトル（受信データｍB＝ｍA＋ｅ（雑音等）のｅに相当）を出力する（ステップＳ３７）。
【００８８】
つぎに、シンドローム復号部３３では、「Ｈ×ｍC＝ＳA」を満たす推定後ｍCが複数個存在すること（ＨとＳAを固定した場合のｍCのエントロピーは２n-k個となる）が原因で誤判定が発生し、送信データｍAを正確に推定できない可能性（送信データｍAと上記で正しいと判定した推定語ｍCが一致しない場合）があることから、上記推定語ｍCの誤り検出を行う（ステップＳ３８）。ここでは、上記ステップＳ１４にて受信した巡回符号シンドロームＳC＝ＣＲＣ×ｍAと、式（２１）に示す推定巡回符号シンドロームＳC´と、を比較し、ＳC＝ＳC´であれば、推定語ｍCに誤りがないと判断し、上記推定語ｍC＝（ｍC1，ｍC2，…，ｍCn）を元の送信データｍA＝（ｍA1，ｍA2，…，ｍAn）として出力し、第９図に示すアルゴリズムを終了する。一方で、ＳC≠ＳC´であれば、推定語ｍCに誤りがあると判断し、この推定語ｍCを捨てる。
【００８９】
ＳC´＝ｒｅｍ（ｍC／ｇｘ）              …（２１）
【００９０】
ただし、上記ｒｅｍは、ＧＦ（２）上の除算ｍC／ｇｘの剰余を表す。
【００９１】
このように、上記本実施の形態の量子鍵配送で採用するシンドローム復号法においては、従来技術にて記載した誤り訂正で発生していた「エラービットを特定するための膨大な回数のパリティのやりとり（二分探索）」を排除し、極めて高い特性（誤り訂正能力）をもつＬＤＰＣ符号用のパリティ検査行列を用いて誤り訂正を行うこととした。これにより、短時間で伝送路上におけるデータ誤りを訂正しつつ、高度に安全性の保証された共通鍵を生成することができる。
【００９２】
また、本実施の形態では、送信側の通信装置が生成した巡回符号シンドロームＳCと、推定語ｍCに基づいて生成した推定巡回符号シンドロームＳC´と、を比較し、推定語ｍCの誤り検出を行うこととした。これにより、受信データｍBから判定した推定語ｍCの誤判定確率を大幅に低減することができる。すなわち、元の送信データｍAを高精度に推定できる。
【００９３】
なお、本実施の形態においては、受信データｍBおよびｍbを確率情報付きの硬判定値としたが、これに限らず、たとえば、軟判定値としてもよい。
【００９４】
上記のように送信データｍAを推定後、最後に、受信側の通信装置では、共有鍵生成部３５が、公開された誤り訂正情報（盗聴された可能性のある上記ｋビット分の情報：ＳA）に応じて共有情報（ｍA）の一部を捨てて、ｎ−ｋビット分の情報量を備えた暗号鍵ｒを生成する（第３図、ステップＳ１６）。すなわち、共有鍵生成部３５では、先に計算しておいたＧ-1（ｎ×（ｎ−ｋ））を用いて下記（２２）式により暗号鍵ｒを生成する。受信側の通信装置は、この暗号鍵ｒを送信側の通信装置との共有鍵とする。
【００９５】
ｒ＝Ｇ-1ｍA              …（２２）
【００９６】
一方で、送信側の通信装置においても、共有鍵生成部１５が、公開された誤り訂正情報（盗聴された可能性のある上記ｋビット分の情報：ＳA）に応じて共有情報（ｍA）の一部を捨てて、ｎ−ｋビット分の情報量を備えた暗号鍵ｒを生成する（第２図、ステップＳ６）。すなわち、共有鍵生成部１５では、先に計算しておいたＧ-1（ｎ×（ｎ−ｋ））を用いて上記（２２）式により暗号鍵ｒを生成する（ステップＳ６）。送信側の通信装置は、この暗号鍵ｒを受信側の通信装置との共有鍵とする。
【００９７】
なお、本実施の形態においては、さらに、正則なランダム行列Ｒを用いて上記共有鍵を並べ替える構成としてもよい。これにより、秘匿性を増強させることができる。具体的には、まず、送信側の通信装置が、正則なランダム行列Ｒ（（ｎ−ｋ）×（ｎ−ｋ））を生成し、さらに、当該Ｒを、公開通信路を介して受信側の通信装置に通知する。ただし、この処理は、受信側の通信装置で行うこととしてもよい。その後、送信側および受信側の通信装置が、先に計算しておいたＧ-1（ｎ×（ｎ−ｋ））とランダム行列Ｒを用いて下記（２３）式により暗号鍵ｒを生成する。
【００９８】
ｒ＝ＲＧ-1ｍA              …（２３）
【００９９】
以上、本実施の形態おいては、確定的で特性が安定した「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」用のパリティ検査行列を用いて共有情報のデータ誤りを訂正し、さらに、巡回符号ＣＲＣを用いて共有情報（推定語）の誤り検出を行い、その後、公開された誤り訂正情報に応じて共有情報の一部を捨てる構成とした。これにより、エラービットを特定／訂正するための膨大な回数のパリティのやりとりがなくなり、誤り訂正情報を送信するだけで誤り訂正制御が行われるため、誤り訂正処理にかかる時間を大幅に短縮できる。
【０１００】
また、本実施の形態においては、送信側の通信装置が生成した誤り検出情報を用いて、受信側の通信装置が推定語の誤り検出を行うこととした。これにより、推定語の誤判定確率を大幅に低減することができ、元の送信データを高精度に推定できる。
【０１０１】
また、本実施の形態においては、公開された情報に応じて共有情報の一部を捨てているので、高度に安全性の保証された共通鍵を生成することができる。
【０１０２】
なお、本実施の形態では、ＨＧ＝０を満たす生成行列Ｇ（（ｎ−ｋ）×ｎ）から、Ｇ-1・Ｇ＝Ｉ（単位行列）となる逆行列Ｇ-1（ｎ×（ｎ−ｋ））を生成し、当該逆行列Ｇ-1を用いて共有情報（ｎ）の一部（ｋ）を捨てて、ｎ−ｋビット分の情報量を備えた暗号鍵ｒを生成することとしたが、これに限らず、共有情報（ｎ）の一部を捨てて、ｍ（ｍ≦ｎ−ｋ）ビット分の情報量を備えた暗号鍵ｒを生成することとしてもよい。具体的にいうと、ｎ次元ベクトルをｍ次元ベクトルに写す写像Ｆ（・）を想定する。Ｆ（・）は、共有鍵の安全性を保証するために、「任意のｍ次元ベクトルｖに対して、写像Ｆと生成行列Ｇの合成写像Ｆ・Ｇにおける逆像（Ｆ・Ｇ）-1（ｖ）の元の個数がｖによらず一定（２n-k-m）である」、という条件を満たす必要がある。このとき、共有鍵ｒは、ｒ＝Ｆ（ｍA）となる。
【０１０３】
また、本実施の形態においては、ステップＳ６，Ｓ１６の処理で、生成行列Ｇ-1を用いずに、パリティ検査行列Ｈの特性を用いて共有情報の一部を捨てる構成としてもよい。具体的には、まず、共有鍵生成部１５，３５が、上記ステップＳ１，Ｓ１１で生成したパリティ検査行列Ｈの列に対してランダム置換を行う。そして、通信装置間で捨てるビットに関する情報を、公開通信路を介して交換する。たとえば、元の有限アフィン幾何ＡＧ（２，２s）の１列目の中から特定の「１」を選び、その位置を、公開通信路を介して交換する。その後、共有鍵生成部１５，３５が、上記置換後のパリティ検査行列から上記「１」に対応する分割後の位置、および巡回シフトされた各列における上記「１」に対応する分割後の位置を特定し、その特定した位置に対応する共有情報ｍA内のビットを捨てて、残りのデータを暗号鍵ｒとする。これにより、複雑な生成行列Ｇ，Ｇ-1の演算処理を削除することができる。
【産業上の利用可能性】
【０１０４】
以上のように、本発明にかかる量子鍵配送方法および通信装置は、高度に安全性の保証された共通鍵を生成する技術として有用であり、特に、盗聴者が存在する可能性のある伝送路上の通信に適している。
【符号の説明】
【０１０５】
１  暗号鍵生成部
２  通信部
３  暗号鍵生成部
４  通信部
１０  パリティ検査行列生成部
１１  乱数発生部
１２  光子生成部
１３  公開通信路通信部
１４  シンドローム生成部
１５  共有鍵生成部
１６  巡回符号生成部
２１  暗号化部
２２  送受信部
３０  パリティ検査行列生成部
３１  乱数発生部
３２  光子受信部
３３  シンドローム復号部
３４  公開通信路通信部
３５  共有鍵生成部
４１  送受信部
４２  暗号化部
【図１】
0004554523.tif 000020
【図２】
0004554523.tif 000021
【図３】
0004554523.tif 000022
【図４】
0004554523.tif 000023
【図５】
0004554523.tif 000024
【図６】
0004554523.tif 000025
【図７】
0004554523.tif 000026
【図８】
0004554523.tif 000027
【図９】
0004554523.tif 000028
【図１０】
0004554523.tif 000029