(57)【要約】【課題】極めて高い特性を持つ誤り訂正符号を用いて伝送路上におけるデータ誤りを訂正しつつ、高度に安全性の保証された共通鍵を生成することが可能な量子鍵配送方法を得ること。【解決手段】本発明の量子鍵配送方法は、偏光方向を正しく識別可能な測定器で測定した確率情報付きの受信データから元の送信データを推定する方法であって、たとえば、パリティ検査行列生成部（１０，３０）が、同一のパリティ検査行列を生成し、シンドローム生成部１４が、前記パリティ検査行列と前記送信データに基づく誤り訂正情報を、公開通信路を介して受信側の通信装置に通知し、シンドローム復号部３３が、前記誤り訂正情報および前記確率情報付きの受信データに基づいて前記送信データを推定する。【選択図】      図７
2004179889.tif 000002
【特許請求の範囲】
【請求項１】
量子通信路上の光子の測定結果から得られるデータに含まれる、偏光方向を正しく識別可能な測定器で測定した確率情報付きの受信データ、の誤りを訂正することによって、元の送信データを推定する量子鍵配送方法において、
送信側および受信側の通信装置が、同一のパリティ検査行列（要素が「０」または「１」の行列）を生成する検査行列生成ステップと、
前記送信側の通信装置が、前記パリティ検査行列と前記送信データに基づく誤り訂正情報を、公開通信路を介して前記受信側の通信装置に通知する誤り訂正情報通知ステップと、
前記受信側の通信装置が、前記誤り訂正情報および前記確率情報付きの受信データに基づいて前記送信データを推定する誤り訂正ステップと、
を含むことを特徴とする量子鍵配送方法。
【請求項２】
前記誤り訂正ステップにあっては、
初期設定として、前記パリティ検査行列内の要素「１」に対応する事前値を設定する初期設定ステップと、
前記誤り訂正情報に応じて、前記パリティ検査行列内の要素「１」に対応する外部値を、同一行における他の要素「１」に対応する事前値および前記確率情報を用いて更新する処理、を行単位に実行する外部値更新ステップと、
前記パリティ検査行列内の要素「１」に対応する事前値を、同一列における他の要素「１」に対応する前記更新後の外部値を用いて更新する処理、を列単位に実行する事前値更新ステップと、
前記確率情報および前記更新後の事前値に基づいて事後確率を算出し、当該事後確率から一時推定語を求める（硬判定）一時推定ステップと、
前記一時推定語が前記パリティ検査行列との間に確立されている所定の条件を満たす場合に、当該一時推定語を送信データとし、前記所定の条件を満たさない場合に、当該条件を満たすまで前記更新後の値を用いて、前記外部値更新ステップ、前記事前値更新ステップおよび前記一時推定ステップを繰り返し実行する送信データ推定ステップと、
を含むことを特徴とする請求項１に記載の量子鍵配送方法。
【請求項３】
前記誤り訂正ステップにあっては、前記確率情報付きの受信データとして軟判定情報を受け取った場合、前記誤り訂正情報および前記軟判定情報に基づいて前記送信データを推定することを特徴とする請求項１または２に記載の量子鍵配送方法。
【請求項４】
量子通信路上の光子の測定結果から得られるデータに含まれる、偏光方向を正しく識別可能な測定器で測定した確率情報付きの受信データ、の誤りを訂正することによって、元の送信データを推定する通信装置において、
予め生成しておいた送信側と同一のパリティ検査行列（要素が「０」または「１」の行列）、送信側の通信装置から公開通信路を介して受け取った前記パリティ検査行列と前記送信データに基づく誤り訂正情報、および前記確率情報付きの受信データ、に基づいて前記送信データを推定する復号手段、
を含むことを特徴とする通信装置。
【請求項５】
前記復号手段は、
初期設定として、前記パリティ検査行列内の要素「１」に対応する事前値を設定し、
前記誤り訂正情報に応じて、前記パリティ検査行列内の要素「１」に対応する外部値を、同一行における他の要素「１」に対応する事前値および前記確率情報を用いて更新する処理、を行単位に実行し、
前記パリティ検査行列内の要素「１」に対応する事前値を、同一列における他の要素「１」に対応する前記更新後の外部値を用いて更新する処理、を列単位に実行し、
前記確率情報および前記更新後の事前値に基づいて事後確率を算出し、当該事後確率から一時推定語を求め（硬判定処理）、
前記一時推定語が前記パリティ検査行列との間に確立されている所定の条件を満たす場合に、当該一時推定語を送信データとし、前記所定の条件を満たさない場合に、当該条件を満たすまで前記更新後の値を用いて、前記外部値更新処理、前記事前値更新処理および前記硬判定処理を繰り返し実行することを特徴とする請求項４に記載の通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、高度に安全性の保証された共通鍵を生成することが可能な量子鍵配送方法に関するものであり、特に、誤り訂正符号を用いてデータ誤りを訂正可能な量子鍵配送方法および当該量子鍵配送を実現可能な通信装置に関するものである。
【０００２】
【従来の技術】
以下、従来の量子暗号システムについて説明する。近年、高速大容量な通信技術として光通信が広く利用されているが、このような光通信システムでは、光のオン／オフで通信が行われ、オンのときに大量の光子が送信されているため、量子効果が直接現れる通信系にはなっていない。
【０００３】
一方、量子暗号システムでは、通信媒体として光子を用い、不確定性原理等の量子効果が生じるように１個の光子で１ビットの情報を伝送する。このとき、盗聴者が、その偏光，位相等の量子状態を知らずに適当に基底を選んで光子を測定すると、その量子状態に変化が生じる。したがって、受信側では、この光子の量子状態の変化を確認することによって、伝送データが盗聴されたかどうかを認識することができる。
【０００４】
図８は、従来の偏光を利用した量子鍵配送の概要を示す図である。たとえば、水平垂直方向の偏光を識別可能な測定器では、量子通信路上の、水平方向（０°）に偏光された光と垂直方向（９０°）に偏光された光とを正しく識別する。一方、斜め方向（４５°，１３５°）の偏光を識別可能な測定器では、量子通信路上の、４５°方向に偏光された光と１３５°方向に偏光された光とを正しく識別する。
【０００５】
このように、各測定器は、規定された方向に偏光された光については正しく認識できるが、たとえば、斜め方向に偏光された光を水平垂直方向（０°，９０°）の偏光を識別可能な測定器にて測定すると、水平方向と垂直方向に偏光された光をそれぞれ５０％の確率でランダムに識別する。すなわち、識別可能な偏光方向に対応していない測定器を用いた場合には、その測定結果を解析しても、偏光された方向を正しく識別することができない。
【０００６】
図８に示す従来の量子鍵配送では、上記不確定性（ランダム性）を利用して、盗聴者に知られずに送信者と受信者との間で鍵を共有する（たとえば、非特許文献１参照。）。なお、送信者および受信者は、量子通信路以外に公開通信路を使用することができる。
【０００７】
ここで、鍵の共有手順について説明する。まず、送信者は、乱数列（１，０の列：送信データ）を発生し、さらに送信コード（＋：水平垂直方向に偏光された光を識別可能な測定器に対応，×：斜め方向に偏光された光を識別可能な測定器に対応）をランダムに決定する。その乱数列と送信コードの組み合わせで、送信する光の偏光方向が自動的にきまる。ここでは、０と＋の組み合わせで水平方向に偏光された光を、１と＋の組み合わせで垂直方向に偏光された光を、０と×の組み合わせで４５°方向に偏光された光を、１と×の組み合わせで１３５°方向に偏光された光を、量子通信路にそれぞれ送信する（送信信号）。
【０００８】
つぎに、受信者は、受信コード（＋：水平垂直方向に偏光された光を識別可能な測定器，×：斜め方向に偏光された光を識別可能な測定器）をランダムに決定し、量子通信路上の光を測定する（受信信号）。そして、受信コードと受信信号の組み合わせによって受信データを得る。ここでは、受信データとして、水平方向に偏光された光と＋の組み合わせで０を、垂直方向に偏光された光と＋の組み合わせで１を、４５°方向に偏光された光と×の組み合わせで０を、１３５°方向に偏光された光と×の組み合わせで０を、それぞれ得る。
【０００９】
つぎに、受信者は、自身の測定が正しい測定器で行われたものかどうかを調べるために、受信コードを、公開通信路を介して送信者に対して送信する。受信コードを受け取った送信者は、正しい測定器で行われたものかどうかを調べ、その結果を、公開通信路を介して受信者に対して返信する。
【００１０】
つぎに、受信者は、正しい測定器で受信した受信信号に対応する受信データだけを残し、その他を捨てる。この時点で、残された受信データは送信者と受信者との間で確実に共有できている。
【００１１】
つぎに、送信者と受信者は、それぞれの通信相手に対して、共有データから選択した所定数のデータを、公開通信路を経由して送信する。そして、受け取ったデータが自身の持つデータと一致しているかどうかを確認する。たとえば、確認したデータの中に一致しないデータが１つでもあれば、盗聴者がいるものと判断して共有データを捨て、再度、鍵の共有手順を最初からやり直す。一方、確認したデータがすべて一致した場合には、盗聴者がいないと判断し、確認に使用したデータを捨て、残った共有データを送信者と受信者の共有鍵とする。
【００１２】
一方、上記従来の量子鍵配送方法の応用として、たとえば、伝送路上におけるデータ誤りを訂正可能な量子鍵配送方法がある（たとえば、非特許文献２参照。）。
【００１３】
この方法では、送信者が、データ誤りを検出するために、送信データを複数のブロックに分割し、ブロック毎のパリティを公開通信路上に送信する。そして、受信者が、公開通信路を経由して受け取ったブロック毎のパリティと受信データにおける対応するブロックのパリティとを比較して、データ誤りをチェックする。このとき、異なるパリティがあった場合、受信者は、どのブロックのパリティが異なっているのかを示す情報を公開通信路上に返信する。そして、送信者は、該当するブロックをさらに前半部のブロックと後半部のブロックに分割し、たとえば、前半部のパリティを公開通信路上に返信する（二分探索）。以降、送信者と受信者は、上記二分探索を繰り返し実行することによりエラービットの位置を特定し、最終的に受信者がそのビットを訂正する。
【００１４】
さらに、送信者は、データに誤りがあるにもかかわらず、偶数個の誤りのために正しいと判定されたパリティがある場合を想定し、送信データをランダムに並べ替えて（ランダム置換）複数のブロックに分割し、再度、上記二分探索による誤り訂正処理を行う。そして、ランダム置換によるこの誤り訂正処理を繰り返し実行することによって、すべてのデータ誤りを訂正する。
【００１５】
【非特許文献１】
Ｂｅｎｎｅｔｔ，  Ｃ．  Ｈ．  ａｎｄ  Ｂｒａｓｓａｒｄ，  Ｇ．：  Ｑｕａｎｔｕｍ  Ｃｒｙｐｔｏｇｒａｐｈｙ：  Ｐｕｂｌｉｃ  Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  ａｎｄ  Ｃｏｉｎ  Ｔｏｓｓｉｎｇ，  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒｓ，  Ｓｙｓｔｅｍ  ａｎｄ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ，  Ｂａｎｇａｌｏｒｅ，  Ｉｎｄｉａ，  ｐｐ．１７５−１７９  （ＤＥＣ．１９８４）．
【非特許文献２】
Ｂｒａｓｓａｒｄ，  Ｇ．  ａｎｄ  Ｓａｌｖａｉｌ，  Ｌ．  １９９３  Ｓｅｃｒｅｔ−Ｋｅｙ  Ｒｅｃｏｎｃｉｌｉａｔｉｏｎ  ｂｙＰｕｂｌｉｃ  Ｄｉｓｃｕｓｓｉｏｎ，  Ｉｎ  Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ  −  ＥＵＲＯＣＲＹＰＴ’９３，  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  ７６５，  ４１０−４２３．
【００１６】
【発明が解決しようとする課題】
しかしながら、上記図８に示す従来の量子鍵配送においては、誤り通信路を想定していないため、誤りがある場合には盗聴行為が存在したものとして上記共通データ（共通鍵）を捨てることとなり、伝送路によっては共通鍵の生成効率が非常に悪くなる、という問題があった。
【００１７】
また、上記伝送路上におけるデータ誤りを訂正可能な量子鍵配送方法においては、エラービットを特定するために膨大な回数のパリティのやりとりが発生し、さらに、ランダム置換による誤り訂正処理が所定回数にわたって行われるため、誤り訂正処理に多大な時間を費やすことになる、という問題があった。
【００１８】
本発明は、上記に鑑みてなされたものであって、極めて高い特性を持つ誤り訂正符号を用いて伝送路上におけるデータ誤りを訂正しつつ、高度に安全性の保証された共通鍵を生成することが可能な量子鍵配送方法を得ることを目的とする。
【００１９】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するために、本発明にかかる量子鍵配送方法にあっては、量子通信路上の光子の測定結果から得られるデータに含まれる、偏光方向を正しく識別可能な測定器で測定した確率情報付きの受信データ、の誤りを訂正することによって、元の送信データを推定する方法として、たとえば、送信側および受信側の通信装置が、同一のパリティ検査行列（要素が「０」または「１」の行列）を生成する検査行列生成ステップと、前記送信側の通信装置が、前記パリティ検査行列と前記送信データに基づく誤り訂正情報を、公開通信路を介して前記受信側の通信装置に通知する誤り訂正情報通知ステップと、前記受信側の通信装置が、前記誤り訂正情報および前記確率情報付きの受信データに基づいて前記送信データを推定する誤り訂正ステップと、を含むことを特徴とする。
【００２０】
この発明によれば、量子暗号システムを構成する通信装置が、極めて高い特性をもつＬＤＰＣ符号用のパリティ検査行列を用いて誤り訂正を行うことにより、短時間で伝送路上におけるデータ誤りを訂正し、さらに高度に安全性の保証された共通鍵を生成する。
【００２１】
【発明の実施の形態】
以下に、本発明にかかる量子鍵配送方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。また、以下では、例として偏光を利用する量子鍵配送について説明するが、本発明は、たとえば、位相を利用するもの，周波数を利用するもの等にも適用可能であり、どのような量子状態を利用するかについては特に限定しない。
【００２２】
実施の形態１．
量子鍵配送は、盗聴者の計算能力によらず、安全性の保証された鍵配送方式であるが、たとえば、より効率よく共有鍵を生成するためには、伝送路を通ることによって発生するデータの誤りを取り除く必要がある。そこで、本実施の形態では、極めて高い特性をもつことが知られている低密度パリティ検査（ＬＤＰＣ：：Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ−Ｃｈｅｃｋ）符号を用いて誤り訂正を行う量子鍵配送について説明する。
【００２３】
図１は、本発明にかかる量子暗号システム（送信側および受信側の通信装置）の構成を示す図である。この量子暗号システムは、情報ｍａを送信する機能を備えた送信側の通信装置と、伝送路上で雑音等の影響を受けた情報ｍａ、すなわち情報ｍｂを受信する機能を備えた受信側の通信装置と、から構成される。
【００２４】
また、送信側の通信装置は、量子通信路を介して情報ｍａを送信し、公開通信路を介してシンドロームＳＡを送信し、これらの送信情報に基づいて暗号鍵（受信側との共通鍵）を生成する暗号鍵生成部１と、暗号化部２１が暗号鍵に基づいて暗号化したデータを、送受信部２２が公開通信路を介してやりとりする通信部２と、を備え、受信側の通信装置は、量子通信路を介して情報ｍｂを受信し、公開通信路を介してシンドロームＳＡを受信し、これらの受信情報に基づいて暗号鍵（送信側との共通鍵）を生成する暗号鍵生成部３と、暗号化部４２が暗号鍵に基づいて暗号化したデータを、送受信部４１が公開通信路を介してやりとりする通信部４と、を備える。
【００２５】
上記送信側の通信装置では、量子通信路上に送信する情報ｍａとして、偏光フィルターを用いて所定の方向に偏光させた光（図８参照）を、受信側の通信装置に対して送信する。一方、受信側の通信装置では、水平垂直方向（０°，９０°）の偏光を識別可能な測定器と斜め方向（４５°，１３５°）の偏光を識別可能な測定器とを用いて、量子通信路上の、水平方向（０°）に偏光された光と垂直方向（９０°）に偏光された光と４５°方向に偏光された光と１３５°方向に偏光された光とを識別する。なお、各測定器は、規定された方向に偏光された光については正しく認識できるが、たとえば、斜め方向に偏光された光を水平垂直方向（０°，９０°）の偏光を識別可能な測定器にて測定すると、水平方向と垂直方向に偏光された光をそれぞれ５０％の確率でランダムに識別する。すなわち、識別可能な偏光方向に対応していない測定器を用いた場合には、その測定結果を解析しても、偏光された方向を正しく識別することができない。
【００２６】
以下、上記量子暗号システムにおける各通信装置の動作、すなわち、本実施の形態における量子鍵配送について詳細に説明する。図２は、本実施の形態の量子鍵配送の概要を示すフローチャートであり、詳細には、（ａ）は送信側の通信装置の処理を示し、（ｂ）は受信側の通信装置の処理を示す。
【００２７】
まず、上記送信側の通信装置および受信側の通信装置では、パリティ検査行列生成部１０，３０が、特定の線形符号のパリティ検査行列Ｈ（ｎ×ｋ）を求め、このパリティ検査行列Ｈから「ＨＧ＝０」を満たす生成行列Ｇ（（ｎ−ｋ）×ｎ）を求め、さらに、Ｇ−１・Ｇ＝Ｉ（単位行列）となるＧの逆行列Ｇ−１（ｎ×（ｎ−ｋ））を求める（ステップＳ１，ステップＳ１１）。本実施の形態では、上記特定の線形符号として、シャノン限界に極めて近い優れた特性をもつＬＤＰＣ符号を用いた場合の量子鍵配送について説明する。なお、本実施の形態では、誤り訂正方式としてＬＤＰＣ符号を用いることとしたが、これに限らず、たとえば、ターボ符号等の他の線形符号を用いることとしてもよい。また、たとえば、後述する誤り訂正情報（シンドローム）が適当な行列Ｈと送信データｍＡ（情報ｍａの一部）の積ＨｍＡで表される誤り訂正プロトコル（たとえば、従来技術にて説明した「伝送路上におけるデータ誤りを訂正可能な量子鍵配送」に相当する誤り訂正プロトコル）であれば、すなわち、誤り訂正情報と送信データｍＡの線形性が確保されるのであれば、その行列Ｈを用いることとしてもよい。
【００２８】
ここで、上記パリティ検査行列生成部１０におけるＬＤＰＣ符号の構成法について、詳細には、有限アフィン幾何に基づく「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」の構成法（図２ステップＳ１の詳細）について説明する。図３は、有限アフィン幾何に基づく「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」の構成法を示すフローチャートである。なお、パリティ検査行列生成部３０については、パリティ検査行列生成部１０と同様に動作するのでその説明を省略する。また、本実施の形態における検査行列生成処理は、たとえば、設定されるパラメータに応じてパリティ検査行列生成部１０で実行する構成としてもよいし、通信装置外部の他の制御装置（計算機等）で実行することとしてもよい。本実施の形態における検査行列生成処理が通信装置外部で実行される場合は、生成済みの検査行列が通信装置に格納される。以降の実施の形態では、パリティ検査行列生成部１０で上記処理を実行する場合について説明する。
【００２９】
まず、パリティ検査行列生成部１０では、「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」用の検査行列のベースとなる有限アフィン幾何符号ＡＧ（２，２ｓ）を選択する（図３、ステップＳ２１）。ここでは、行の重みと列の重みがそれぞれ２ｓとなる。図４は、たとえば、有限アフィン幾何符号ＡＧ（２，２２）のマトリクスを示す図（空白は０を表す）である。
【００３０】
つぎに、パリティ検査行列生成部１０では、列の重みの最大値ｒｌ（２＜ｒｌ≦２ｓ）を決定する（ステップＳ２２）。そして、符号化率ｒａｔｅ（１シンドローム長／鍵の長さ）を決定する（ステップＳ２２）。
【００３１】
つぎに、パリティ検査行列生成部１０では、ガウス近似法（Ｇａｕｓｓｉａｎ  Ａｐｐｒｏｘｉｍａｔｉｏｎ）による最適化を用いて、暫定的に、列の重み配分λ（γｉ）と行の重み配分ρｕを求める（ステップＳ２３）。なお、行の重み配分の生成関数ρ（ｘ）はρ（ｘ）＝ρｕｘｕ−１＋（１−ρｕ）ｘｕとする。また、重みｕはｕ≧２の整数であり、ρｕは行における重みｕの割合を表す。
【００３２】
つぎに、パリティ検査行列生成部１０では、有限アフィン幾何の行の分割により構成可能な、行の重み｛ｕ，ｕ＋１｝を選択し、さらに（１）式を満たす分割係数｛ｂｕ，ｂｕ＋１｝を求める（ステップＳ２４）。なお、ｂｕ，ｂｕ＋１は非負の整数とする。
ｂｕ＋ｂｕ＋１（ｕ＋１）＝２ｓ      …（１）
【００３３】
具体的には、下記（２）式からｂｕを求め、上記（１）式からｂｕ＋１を求める。
【００３４】
【数１】
2004179889.tif 000003
【００３５】
つぎに、パリティ検査行列生成部１０では、上記決定したパラメータｕ，ｕ＋１，ｂｕ，ｂｕ＋１によって（上記行の分割処理によって）更新された行の重みの比率ρｕ´，ρｕ＋１´を（３）式により求める（ステップＳ２５）。
【００３６】
【数２】
2004179889.tif 000004
【００３７】
つぎに、パリティ検査行列生成部１０では、ガウス近似法による最適化を用いて、さらに上記で求めたｕ，ｕ＋１，ρｕ´，ρｕ＋１´を固定のパラメータとして、暫定的に、列の重み配分λ（γｉ）を求める（ステップＳ２６）。なお、重みγｉはγｉ≧２の整数であり、λ（γｉ）は列における重みγｉの割合を表す。また、列数が１以下となる重み（λ（γｉ）≦γｉ／ｗｔ，ｉは正の整数）を候補から削除する。ただし、ｗｔはＡＧ（２，２ｓ）に含まれる１の総数を表す。
【００３８】
つぎに、上記で求めた重み配分を満たし、かつ下記（４）式を満たす、列の重み候補のセット｛γ１，γ２，…γｌ（γｌ≦２ｓ）｝を選択する（ステップＳ２７）。そして、下記の（４）式を満たさない列の重みγｉが存在する場合には、その列の重みを候補から削除する。
【００３９】
【数３】
2004179889.tif 000005
【００４０】
なお、各ａは、列の重み２ｓを構成するための｛γ１，γ２，…γｌ｝に対する非負の整数となる係数を表し、ｉ，ｊは正の整数であり、γｉは列の重みを表し、γｌは列の最大重みを表す。
【００４１】
つぎに、パリティ検査行列生成部１０では、ガウス近似法による最適化を用いて、さらに上記で求めたｕ，ｕ＋１，ρｕ´，ρｕ＋１´と｛γ１，γ２，…γｌ｝を固定パラメータとして、列の重み配分λ（γｉ）と行の重み配分ρｕを求める（ステップＳ２８）。
【００４２】
つぎに、パリティ検査行列生成部１０では、分割処理を行う前に、列の重み配分λ（γｉ）と行の重み配分ρｕを調整する（ステップＳ２９）。なお、調整後の各重みの配分は、可能な限りガウス近似法で求めた値に近い値にする。図５は、ステップＳ２９における最終的な列の重み配分λ（γｉ）と行の重み配分ρｕを示す図である。
【００４３】
最後に、パリティ検査行列生成部１０では、有限アフィン幾何における行および列を分割して（ステップＳ３０）、ｎ×ｋのパリティ検査行列Ｈを生成する。本発明における有限アフィン幾何符号の分割処理は、規則的に分割するのではなく、各行または各列から「１」の番号をランダムに抽出する（後述するランダム分割の具体例を参照）。なお、この抽出処理は、ランダム性が保持されるのであればどのような方法を用いてもよい。
【００４４】
具体的にいうと、ＥＧ（２，２５）における１列中の「１」の行番号が、
Ｂｌ（ｘ）＝｛１  ３２  １１４  １３６  １４９  ２２３  ２６０  ３８２  ４０２  ４３８  ４６７  ５０７  ５７４  ５７９  ５８８  ６２２  ６３４  ６３７  ６３８  ６７６  ７１７  ７２８  ７９０  ８５１  ８６１  ８７９  ９４７  ９５４  ９７１  ９７７  ９７９  ９９８｝
の場合、分割後の行列における１〜４列目Ｒｍ（ｎ）は、Ｂｌ（ｘ）から「１」の番号がランダムに抽出され、たとえば、
Ｒ１（ｎ）＝｛１  １１４  ５７４  ６３７  ８５１  ８７９  ９７７  ９７９｝
Ｒ２（ｎ）＝｛３２  １３６  ４０２  ４６７  ５８８  ７２８  ８６１  ９７１｝
Ｒ３（ｎ）＝｛１４９  ２６０  ３８２  ４３８  ５７９  ６３８  ７１７  ９９８｝
Ｒ４（ｎ）＝｛２２３  ５０７  ６２２  ６３４  ６７６  ７９０  ９４７  ９５４｝
となる。
【００４５】
ここで、上記ランダム分割の一例、すなわち、上記「乱数系列のラテン方陣を用いた分割方法」を詳細に説明する。ここでは、ランダム分割を行う場合のランダム系列を容易かつ確定的に生成する。この方法による利点は、送信側と受信側が同じランダム系列を生成できることにある。
【００４６】
（１）基本のランダム系列を作成する。ここでは、有限アフィン幾何ＡＧ（２，２ｓ）を用い、ＰをＰ≧２ｓを満たす最小の素数とした場合の、基本のランダム系列Ｃ（ｉ）を（５）式にしたがって作成する。
Ｃ（１）＝１
Ｃ（ｉ＋１）＝Ｇ０×Ｃ（ｉ）  ｍｏｄ  Ｐ      …（５）
なお、ｉ＝０，１，…，Ｐ−２とし、Ｇ０はガロア体ＧＦ（Ｐ）の原始元である。また、系列長が２ｓとなるように、２ｓより大きい数をＣ（ｉ）の中から削除し、削除後のＣ（ｉ）を基本のランダム系列とする。
【００４７】
（２）基本のランダム系列Ｃ（ｉ）を一定間隔で読み出すためにスキップ間隔Ｓ（ｊ）を以下の（６）式のように定義する。
Ｓ（ｊ）＝ｊ    ｊ＝１，２，…，２ｓ      …（６）
【００４８】
（３）以下の（７）式で置換パターンＬＢｊ（ｉ）を作成する。
ＬＢｊ（ｉ）＝（（Ｓ（ｊ）×ｉ）  ｍｏｄ  Ｐ）＋１
ｊ＝１，２，…，２ｓ
ｉ＝１，２，…，Ｐ−１      …（７）
なお、ＬＢｊ（ｉ）も２ｓより大きい数字は削除する。
【００４９】
（４）ｑ列ｉ行でｊ番目のラテン方陣行列Ｌｊｑ（ｉ）を以下の（８）式で算出する。
Ｌｊｑ（ｉ）＝ＬＢｊ（（（ｑ＋ｉ−２）  ｍｏｄ  ２ｓ）＋１）
ｊ＝１，２，…，２ｓ
ｉ＝１，２，…，２ｓ
ｑ＝１，２，…，２ｓ          …（８）
【００５０】
（５）ラテン方陣行列Ｌｊｑ（ｉ）にしたがって列と行を分割する。列の分割では、ｇ０，ｇ０，…，ｇｎ−１をパリティ検査行列Ｈの列ベクトルとし、ｇｃ´（ｋ）をｇｃ，ｃ＝０，１，…，ｎ−１の列の中のｋ番目の「１」とする。また、ｇｃの中の「１」の位置の集合をＧｃとする（（９）式参照）。
Ｇｃ＝｛ｇｃ´（ｋ），ｋ＝１，２，…，２ｓ｝      …（９）
たとえば、ＡＧ（２，２３）のｃ＝１番目の列の「１」の行番号は、Ｇ１＝｛１  ３  ８  ２０  ２３  ２４  ３４  ５８｝となる。そして、このｃ列目の列ベクトルをｇｃ´（ｋ）で表現すると、（１０）式のように表すことができる。
ｇｃ´（１）＝（（ｃ−１）＋１）ｍｏｄ（２２ｓ−１）
ｇｃ´（２）＝（ｇｃ´（１）＋２）ｍｏｄ（２２ｓ−１）
ｇｃ´（３）＝（ｇｃ´（２）＋５）ｍｏｄ（２２ｓ−１）
ｇｃ´（４）＝（ｇｃ´（３）＋１２）ｍｏｄ（２２ｓ−１）
ｇｃ´（５）＝（ｇｃ´（４）＋３）ｍｏｄ（２２ｓ−１）
ｇｃ´（６）＝（ｇｃ´（５）＋１）ｍｏｄ（２２ｓ−１）
ｇｃ´（７）＝（ｇｃ´（６）＋１０）ｍｏｄ（２２ｓ−１）
ｇｃ´（８）＝（ｇｃ´（７）＋２４）ｍｏｄ（２２ｓ−１）      …（１０）
【００５１】
ここで、パリティ検査行列Ｈの各列ｇｃを、上記（４）式を満たす列の次数と係数に基づいて、新しい列ｇｃ，ｅに分割する。そして、ｇｃ，ｅ´（ｒ）を新しい列ｇｃ，ｅの中のｒ行目の「１」とする。また、ｇｃ，ｅの中の「１」の位置の集合をＧｃ，ｅとする（（１１）式参照）。
Ｇｃ，ｅ＝｛ｇｃ，ｅ´（ｒ），ｒ＝１，２，…｝      …（１１）
【００５２】
そして、ラテン方陣行列群を用いて、下記（１２）式にしたがって分割するエッジの選択を行う。なお、ａｔ，１，ａｔ，２，…，ａｔ，ｌとγ１，γ２，…，γｌは、上記式（４）を満たす係数と次数である。また、ｔは（４）式の係数行列の行番号を示している。また、ｔ行目の式で分割する有限アフィン平面の列数をｎｔとし、係数行列の行番号の最大値をｔｍとすると、ｔは（１３）式で表すことができる。
【００５３】
【数４】
2004179889.tif 000006
【００５４】
【数５】
2004179889.tif 000007
【００５５】
つぎに、上記（１）〜（４）の分割処理を、具体例を挙げて説明する。例として、ＡＧ（２，２３）のｃ＝１６番目の列の「１」の行番号をＧ１６＝｛１０  １６  １８  ２３  ３５  ３８  ３９  ４９｝と定義する。図６は、ランダム系列のラテン方陣行列による分割手順を示す図である。図示のラテン方陣行列Ｌｊｑ（ｉ）の結果を用いて手順（５）を実行すると、新しい列ｇ１６，ｅの中の「１」は（１４）式のように表すことができる。
ｇ１６，１´（１）＝ｇ１６´（Ｌ２，８（１））＝ｇ１６´（３）＝１８
ｇ１６，１´（２）＝ｇ１６´（Ｌ２，８（２））＝ｇ１６´（２）＝１６
ｇ１６，２´（１）＝ｇ１６´（Ｌ２，８（３））＝ｇ１６´（８）＝４９
ｇ１６，２´（２）＝ｇ１６´（Ｌ２，８（４））＝ｇ１６´（７）＝３９
ｇ１６，３´（１）＝ｇ１６´（Ｌ２，８（５））＝ｇ１６´（６）＝３８
ｇ１６，３´（２）＝ｇ１６´（Ｌ２，８（６））＝ｇ１６´（１）＝１０
ｇ１６，４´（１）＝ｇ１６´（Ｌ２，８（７））＝ｇ１６´（４）＝２３
ｇ１６，４´（２）＝ｇ１６´（Ｌ２，８（８））＝ｇ１６´（５）＝３５  …（１４）
【００５６】
その結果、１６番目の列は以下のように分割される。
Ｇ１６，１＝｛１８  １６｝
Ｇ１６，２＝｛４９  ３９｝
Ｇ１６，３＝｛３８  １０｝
Ｇ１６，４＝｛２３  ３５｝
【００５７】
このように、本実施の形態では、上記有限アフィン幾何に基づく「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」の構成法（図２、ステップＳ１）を実行することによって、確定的で特性が安定した「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」用の検査行列Ｈ（ｎ×ｋ）を生成することができる。
【００５８】
上記のように、パリティ検査行列Ｈ，生成行列Ｇ，Ｇ−１（Ｇ−１・Ｇ＝Ｉ：単位行列）を生成後、つぎに、送信側の通信装置では、乱数発生部１１が、乱数列ｍａ（１，０の列：送信データ）を発生し、さらに送信コード（＋：水平垂直方向に偏光された光を識別可能な測定器に対応したコード，×：斜め方向に偏光された光を識別可能な測定器に対応したコード）をランダムに決定する（ステップＳ２）。一方、受信側の装置では、乱数発生部３１が、受信コード（＋：水平垂直方向に偏光された光を識別可能な測定器に対応したコード，×：斜め方向に偏光された光を識別可能な測定器に対応したコード）をランダムに決定する（ステップＳ１２）。
【００５９】
つぎに、送信側の通信装置では、光子生成部１２が、上記乱数列ｍａと送信コードの組み合わせで自動的に決まる偏光方向で光子を送信する（ステップＳ３）。たとえば、０と＋の組み合わせで水平方向に偏光された光を、１と＋の組み合わせで垂直方向に偏光された光を、０と×の組み合わせで４５°方向に偏光された光を、１と×の組み合わせで１３５°方向に偏光された光を、量子通信路にそれぞれ送信する（送信信号）。
【００６０】
光子生成部１２の光信号を受け取った受信側の通信装置の光子受信部３２では、量子通信路上の光を測定する（受信信号）。そして、受信コードと受信信号の組み合わせによって自動的に決まる受信データｍｂを得る（ステップＳ１３）。ここでは、受信データｍｂとして、水平方向に偏光された光と＋の組み合わせで０を、垂直方向に偏光された光と＋の組み合わせで１を、４５°方向に偏光された光と×の組み合わせで０を、１３５°方向に偏光された光と×の組み合わせで０を、それぞれ得る。なお、受信データｍｂは、確率情報付きの硬判定値とする。
【００６１】
つぎに、受信側の通信装置では、上記測定が正しい測定器で行われたものかどうかを調べるために、乱数発生部３１が、受信コードを、公開通信路を介して送信側の通信装置に対して送信する（ステップＳ１３）。受信コードを受け取った送信側の通信装置では、上記測定が正しい測定器で行われたものかどうかを調べ、その結果を、公開通信路を介して受信側の通信装置に対して送信する（ステップＳ３）。そして、受信側の通信装置および送信側の通信装置では、正しい測定器で受信した受信信号に対応するデータだけを残し、その他を捨てる（ステップＳ３，Ｓ１３）。その後、残ったデータをメモリ等に保存し、その先頭から順にｎビットを読み出し、これを、正式な送信データｍＡと受信データｍＢ（ｍＢは伝送路上で雑音等の影響を受けたｍＡ：ｍＢ＝ｍＡ＋ｅ（雑音等））とする。すなわち、ここでは、必要に応じてつぎのｎビットを読み出して、送信データｍＡと受信データｍＢを生成する。本実施の形態では、残ったデータのビット位置が、送信側の通信装置と受信側の通信装置との間で共有できている。なお、ｍＢは、上記ｍｂ同様、確率情報付きの硬判定値である。
【００６２】
つぎに、送信側の通信装置では、シンドローム生成部１４が、パリティ検査行列Ｈ（ｎ×ｋ）と送信データｍＡを用いてｍＡのシンドロームＳＡ＝ＨｍＡを計算し、その結果を、公開通信路通信部１３，公開通信路を介して受信側の通信装置に通知する（ステップＳ４）。この段階で、ｍＡのシンドロームＳＡ（ｋビット分の情報）は盗聴者に知られる可能性がある。一方、受信側の通信装置では、公開通信路通信部３４にてｍＡのシンドロームＳＡを受信し、それをシンドローム復号部３３に通知する（ステップＳ１４）。
【００６３】
シンドローム復号部３３では、本実施の形態のシンドローム復号法を用いて、雑音等による確率情報付きの硬判定値ｍＢの誤りを訂正することによって元の送信データｍＡを推定する（ステップＳ１５）。ここでは、「ＳＡ＝ＨｍＣ」を満たすｍＣを確率情報付きの硬判定値ｍＢから推定し、その推定結果ｍＣを共有情報ｍＡとする。以下、本実施の形態のシンドローム復号法を詳細に説明する。
【００６４】
図７は、本実施の形態のシンドローム復号法を示すフローチャートである。なお、上記のように、２元のｎ（列）×ｋ（行）の検査行列Ｈを想定した場合、ｉ列（１≦ｉ≦ｎ）ｊ行（１≦ｊ≦ｋ）目の要素をＨｉｊと表記する。また、受信データｍＢをｍＢ＝（ｍＢ１，ｍＢ２，…，ｍＢｎ）とし、推定語（硬判定値）ｍＣをｍＣ＝（ｍＣ１，ｍＣ２，…，ｍＣｎ）とする。また、ｍＡのシンドロームＳＡをＳＡ＝（ＳＡ１，ＳＡ２，…，ＳＡｋ）、また、通信路としては、条件付確率Ｐ（ｍＢ｜ｍＣ＝ｍＡ）で記述される無記憶通信路を想定する。
【００６５】
まず、シンドローム復号部３３では、初期設定として、Ｈｉｊ＝１を満たす全ての列と行の組み合わせ（ｉ，ｊ）の事前値をｑｉｊ（０）＝１／２，ｑｉｊ（１）＝１／２とする。ｑｉｊ（０）はＨｉｊが「０」である確率を表し、ｑｉｊ（１）はＨｉｊが「１」である確率を表す。そして、復号の反復回数を示すカウンタ値をｌ＝１（イテレーション：１回）とし、さらに、最大反復回数ｌｍａｘを設定する（ステップＳ３１）。
【００６６】
つぎに、シンドローム復号部３３では、ｊ＝１，２，…，ｋの順に、Ｈｉｊ＝１を満たす全ての列と行の組み合わせ（ｉ，ｊ）について外部値ｒｉｊ（０）とｒｉｊ（１）を更新する（ステップＳ３２）。本実施の形態においては、たとえば、ｊ（１≦ｊ≦ｋ）番目のシンドロームＳＡｊが「０」の場合、更新式（１５），更新式（１６）を用いて外部値ｒｉｊ（０）とｒｉｊ（１）を更新する。
【００６７】
【数６】
2004179889.tif 000008
【００６８】
【数７】
2004179889.tif 000009
【００６９】
一方、ｊ（１≦ｊ≦ｋ）番目のシンドロームＳＡｊが「１」の場合は、更新式（１７），更新式（１８）を用いて外部値ｒｉｊ（０）とｒｉｊ（１）を更新する。
【００７０】
【数８】
2004179889.tif 000010
【００７１】
【数９】
2004179889.tif 000011
【００７２】
なお、上記Ｋは、「ｒｉｊ（０）＋ｒｉｊ（１）＝１」が成り立つように規定された値（正規化するための値）とする。また、上記Ｐ（ｍＢ｜ｍＣ）は、条件付確率、すなわち、推定語ｍＣが「０」または「１」の場合における受信データｍＢの確率を表す。また、上記部分集合Ａ（ｉ）は、検査行列Ｈのｉ列目において「１」が立っている行インデックスの集合を表し、部分集合Ｂ（ｊ）は、検査行列Ｈのｊ行目において「１」が立っている列インデックスの集合を表す。
【００７３】
上記更新処理を具体的に記載すると、たとえば、ＳＡｊ＝０，ｊ＝１，かつＨｉ１＝１を満たす全ての列と行の組み合わせが（ｉ，１）＝（３，１）（４，１）（５，１）の場合、式（１５），式（１６）が適用され、外部値ｒ３１（０），ｒ３１（１）が式（１９），式（２０）のように更新される。すなわち、Ｈ３１以外のＨ４１，Ｈ５１を用いて、外部値ｒ３１（０），ｒ３１（１）を更新する。ここでは、検査行列Ｈの３列１行目が「０」である確率と「１」である確率をそれぞれ求めている。
【００７４】
【数１０】
2004179889.tif 000012
【００７５】
【数１１】
2004179889.tif 000013
【００７６】
つぎに、シンドローム復号部３３では、ｉ＝１，２，…，ｎの順に、Ｈｉｊ＝１を満たす全ての列と行の組み合わせ（ｉ，ｊ）について事前値ｑｉｊ（０）とｑｉｊ（１）を更新する（ステップＳ３３）。この更新処理は、式（２１），式（２２）にて表すことができる。
【００７７】
【数１２】
2004179889.tif 000014
【００７８】
【数１３】
2004179889.tif 000015
【００７９】
なお、上記Ｋ´は、「ｑｉｊ（０）＋ｑｉｊ（１）＝１」が成り立つように規定された値（正規化するための値）とする。
【００８０】
上記更新処理を具体的に記載すると、たとえば、ｉ＝３，かつＨ１ｊ＝１を満たす全ての列と行の組み合わせが（３，ｊ）＝（３，１）（３，２）（３，３）の場合、式（２１），式（２２）が適用され、事前値ｑ３１（０），ｑ３１（１）が式（２３），式（２４）のように更新される。すなわち、Ｈ３１以外のＨ３２，Ｈ３３を用いて、事前値ｑ３１（０），ｑ３１（１）を更新する。
【００８１】
【数１４】
2004179889.tif 000016
【００８２】
【数１５】
2004179889.tif 000017
【００８３】
つぎに、シンドローム復号部３３では、事後確率（条件付確率×事前値）Ｑｉ（０），Ｑｉ（１）を求め、この事後確率から一時推定語ｍＣ´＝（ｍＣ１´，ｍＣ２´，…，ｍＣｎ´）を求める（ステップＳ３４）。すなわち、式（２５），式（２６）の計算結果に基づいて、式（２７）における一時推定語を得る。ここでは、イテレーション１回毎に判定処理を行う。
【００８４】
【数１６】
2004179889.tif 000018
【００８５】
【数１７】
2004179889.tif 000019
【００８６】
【数１８】
2004179889.tif 000020
【００８７】
なお、上記Ｋ´´は、「Ｑｉ（０）＋Ｑｉ（１）＝１」が成り立つように規定された値（正規化するための値）とする。また、条件付確率Ｐ（ｍＢ｜ｍＣ＝０）は、式（２８），式（２９）のように定義され、ｐはビット誤り率を表す。
【００８８】
【数１９】
2004179889.tif 000021
【００８９】
【数２０】
2004179889.tif 000022
【００９０】
つぎに、シンドローム復号部３３では、一時推定語ｍＣ´が送信データｍＡといえるかどうかを検査する（ステップＳ３５）。ここでは、たとえば、ｍＣ´＝（ｍＣ１´，ｍＣ２´，…，ｍＣｎ´）が「ｍＣ´×ＨＴ＝０」という条件を満たしていれば（ステップＳ３６、Ｙｅｓ）、当該ｍＣ´を推定語ｍＣ＝（ｍＣ１，ｍＣ２，…，ｍＣｎ）として、すなわち、元の送信データｍＡ＝（ｍＡ１，ｍＡ２，…，ｍＡｎ）として出力し、このアルゴリズムを終了する。
【００９１】
一方、上記条件を満たさない場合で、かつｌ＜ｌｍａｘの場合は（ステップＳ３６、Ｎｏ）、カウンタ値ｌをインクリメントし、ステップＳ３２の処理を上記更新された値を用いて再度実行する。以降、上記条件を満たすまで（ｌ＜ｌｍａｘの範囲で）、更新された値を用いてステップＳ３２〜Ｓ３６の処理を繰り返し実行する。
【００９２】
このように、上記本実施の形態の量子鍵配送で採用するシンドローム復号法においては、従来技術にて記載した誤り訂正で発生していた「エラービットを特定するための膨大な回数のパリティのやりとり（二分探索）」を排除し、極めて高い特性（誤り訂正能力）をもつＬＤＰＣ符号用のパリティ検査行列を用いて誤り訂正を行うこととした。これにより、短時間で伝送路上におけるデータ誤りを訂正しつつ、高度に安全性の保証された共通鍵を生成することができる。
【００９３】
また、本実施の形態においては、受信データｍＢおよびｍｂを確率情報付きの硬判定値としたが、これに限らず、たとえば、軟判定値としてもよい。
【００９４】
最後に、受信側の通信装置では、共有鍵生成部３５が、公開された誤り訂正情報（盗聴された可能性のある上記ｋビット分の情報：ＳＡ）に応じて共有情報（ｍＡ）の一部を捨てて、ｎ−ｋビット分の情報量を備えた暗号鍵ｒを生成する（ステップＳ１６）。すなわち、共有鍵生成部３５では、先に計算しておいたＧ−１（ｎ×（ｎ−ｋ））を用いて下記（３０）式により暗号鍵ｒを生成する。受信側の通信装置は、この暗号鍵ｒを送信側の通信装置との共有鍵とする。
ｒ＝Ｇ−１ｍＡ              …（３０）
【００９５】
一方、送信側の通信装置においても、共有鍵生成部１５が、公開された誤り訂正情報（盗聴された可能性のある上記ｋビット分の情報：ＳＡ）に応じて共有情報（ｍＡ）の一部を捨てて、ｎ−ｋビット分の情報量を備えた暗号鍵ｒを生成する（ステップＳ５）。すなわち、共有鍵生成部１５では、先に計算しておいたＧ−１（ｎ×（ｎ−ｋ））を用いて上記（３０）式により暗号鍵ｒを生成する（ステップＳ５）。送信側の通信装置は、この暗号鍵ｒを受信側の通信装置との共有鍵とする。
【００９６】
なお、本実施の形態においては、さらに、正則なランダム行列Ｒを用いて上記共有鍵を並べ替える構成としてもよい。これにより、秘匿性を増強させることができる。具体的には、まず、送信側の通信装置が、正則なランダム行列Ｒ（（ｎ−ｋ）×（ｎ−ｋ））を生成し、さらに、当該Ｒを、公開通信路を介して受信側の通信装置に通知する。なお、この処理は、受信側の通信装置で行うこととしてもよい。その後、送信側および受信側の通信装置が、先に計算しておいたＧ−１（ｎ×（ｎ−ｋ））とランダム行列Ｒを用いて下記（３１）式により暗号鍵ｒを生成する。
ｒ＝ＲＧ−１ｍＡ              …（３１）
【００９７】
このように、本実施の形態おいては、確定的で特性が安定した「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」用のパリティ検査行列を用いて共有情報のデータ誤りを訂正し、公開された誤り訂正情報に応じて共有情報の一部を捨てる構成とした。これにより、エラービットを特定／訂正するための膨大な回数のパリティのやりとりがなくなり、誤り訂正情報を送信するだけで誤り訂正制御が行われるため、誤り訂正処理にかかる時間を大幅に短縮できる。また、公開された情報に応じて共有情報の一部を捨てているので、高度に安全性の保証された共通鍵を生成することができる。
【００９８】
なお、本実施の形態では、ＨＧ＝０を満たす生成行列Ｇ（（ｎ−ｋ）×ｎ）から、Ｇ−１・Ｇ＝Ｉ（単位行列）となる逆行列Ｇ−１（ｎ×（ｎ−ｋ））を生成し、当該逆行列Ｇ−１を用いて共有情報（ｎ）の一部（ｋ）を捨てて、ｎ−ｋビット分の情報量を備えた暗号鍵ｒを生成することとしたが、これに限らず、共有情報（ｎ）の一部を捨てて、ｍ（ｍ≦ｎ−ｋ）ビット分の情報量を備えた暗号鍵ｒを生成することとしてもよい。具体的にいうと、ｎ次元ベクトルをｍ次元ベクトルに写す写像Ｆ（・）を想定する。Ｆ（・）は、共有鍵の安全性を保証するために、「任意のｍ次元ベクトルｖに対して、写像Ｆと生成行列Ｇの合成写像Ｆ・Ｇにおける逆像（Ｆ・Ｇ）−１（ｖ）の元の個数がｖによらず一定（２ｎ−ｋ−ｍ）である」、という条件を満たす必要がある。このとき、共有鍵ｒは、ｒ＝Ｆ（ｍＡ）となる。
【００９９】
また、本実施の形態においては、ステップＳ５，Ｓ１６の処理で、生成行列Ｇ−１を用いずに、パリティ検査行列Ｈの特性を用いて共有情報の一部を捨てる構成としてもよい。具体的には、まず、共有鍵生成部１５，３５が、上記ステップＳ１，Ｓ１１で生成したパリティ検査行列Ｈの列に対してランダム置換を行う。そして、通信装置間で捨てるビットに関する情報を、公開通信路を介して交換する。たとえば、元の有限アフィン幾何ＡＧ（２，２ｓ）の１列目の中から特定の「１」を選び、その位置を、公開通信路を介して交換する。その後、共有鍵生成部１５，３５が、上記置換後のパリティ検査行列から上記「１」に対応する分割後の位置、および巡回シフトされた各列における上記「１」に対応する分割後の位置を特定し、その特定した位置に対応する共有情報ｍＡ内のビットを捨てて、残りのデータを暗号鍵ｒとする。これにより、複雑な生成行列Ｇ，Ｇ−１の演算処理を削除することができる。
【０１００】
【発明の効果】
以上、説明したとおり、本発明によれば、量子暗号システムを構成する通信装置が、従来技術における誤り訂正で発生していた「エラービットを特定するための膨大な回数のパリティのやりとり（二分探索）」を排除し、極めて高い特性をもつＬＤＰＣ符号用のパリティ検査行列を用いて誤り訂正を行うこととした（上記シンドローム復号法に相当）。これにより、短時間で伝送路上におけるデータ誤りを訂正しつつ、高度に安全性の保証された共通鍵を生成することができる、という効果を奏する。
【図面の簡単な説明】
【図１】本発明にかかる量子暗号システムの構成を示す図である。
【図２】量子鍵配送を示すフローチャートである。
【図３】有限アフィン幾何に基づく「Ｉｒｒｅｇｕｌａｒ−ＬＤＰＣ符号」の構成法を示すフローチャートである。
【図４】有限アフィン幾何符号ＡＧ（２，２２）のマトリクスを示す図である。
【図５】最終的な列の重み配分λ（γｉ）と行の重み配分ρｕを示す図である。
【図６】ランダム系列のラテン方陣行列による分割手順を示す図である。
【図７】シンドローム復号法を示すフローチャートである。
【図８】従来の量子鍵配送の概要を示す図である。
【符号の説明】
１，３  暗号鍵生成部、２，４  通信部、１０，３０  パリティ検査行列生成部、１１，３１  乱数発生部、１２  光子生成部、１３，３４  公開通信路通信部、１４  シンドローム生成部、１５，３５  共有鍵生成部、２１，４２  暗号化部、２２，４１  送受信部、３２  光子受信部、３３  シンドローム復号部。
【図１】
2004179889.tif 000023
【図２】
2004179889.tif 000024
【図３】
2004179889.tif 000025
【図４】
2004179889.tif 000026
【図５】
2004179889.tif 000027
【図６】
2004179889.tif 000028
【図７】
2004179889.tif 000029
【図８】
2004179889.tif 000030