トロイド構造を有するグラフおよびLDPC符号を用いる量子鍵配送装置
量子鍵配送装置においてデータ通信装置の処理装置は、2進データ集合から選択される各データビットをモジュロ2加算した複数の順序演算結果を抽出する。データ通信装置はターゲットシンドロームを決定する処理装置を備える送信装置や誤り訂正を実行する処理装置を備える受信装置である。処理装置は、有限トロイドを形成するセルの連続体(70)を定義する論理ネットワークに基づき、2進データ集合からビットを選択する。連続体(70)がビット選択に与える構造化は、ネットワークのその他の構造(90)により、また、2進データ集合ビットの連続体ノードへのランダムな接続により補正される。ノードおよびエッジからなる論理ネットワークは、量子鍵配送装置における誤り訂正に用いられるLDPC符号のグラフを表す。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ通信装置において、雑音を発生するチャネルである雑音チャネル(noisy channel)を介して送信されるデータの誤り訂正に使用するデータ処理装置に関し、詳細には、量子鍵配送(QKD:Quantum key distribution)方法および装置に関するが、これに限定されるものではない。
【背景技術】
【0002】
QKD方法および装置の開発により、非常に高い盗聴者検出率を有する方法で2つの当事者がランダムデータを共有することが可能である。すなわち、盗聴者が検出されない場合、当事者は、共有するランダムデータが秘匿であると高い確率で確信できる。QKD方法および装置は、例えば特許文献1〜3に記載されている。例えばBB84プロトコルに基づく自由空間を利用した装置等、多くの公知のQKD装置において、ランダムに偏光した光子を送信装置から受信装置に送信する。
【0003】
用いられるQKD装置がどのようなものであっても、QKD方法は通常、ランダムデータ集合を、量子信号チャネルを介してQKD送信器からQKD受信器に送信し、その後、QKD送信器および受信器は、量子信号チャネルを介して送受信したデータを、安全性の低い従来の通信チャネルを介してQKD送信器および受信器間で交換したメッセージを用いてそれぞれ処理し、ランダムデータ集合の共有サブセットを抽出する。量子信号チャネルは雑音を含むため、このチャネルを介して受信されるデータの処理は、誤り訂正する段階を含む。しかしながら、線形ブロック符号を用いたデータの符号化/復号等の標準技術では、送信される光子のうち数パーセントしか受信されないため、量子信号チャネルを介して送信されるデータの誤り訂正は無理である。代わりに、量子信号チャネルを介して送信されるデータの誤り訂正は、誤りがない、又は標準的な誤り訂正技術により誤りをなくした従来のチャネルを介して交換されるメッセージに依存する。従来の通信チャネルは、ランダム化技術により情報の漏洩を最小限にできるため、機密である必要がない。仮に従来のチャネルが機密であったとしても、盗聴者を検出する特性は有しておらず、したがって量子信号チャネルの代わりに用いることはできないと考えられる。
【0004】
本発明は誤り訂正に関し、とりわけ、量子信号チャネルを介して送信されるランダムデータの訂正に用いることが可能である。
【0005】
従来の通信チャネルを介して送信されるデータの誤り訂正を実行する際に線形ブロック符号を用いることは、公知である。簡単に説明すると、添付の図面の図1に示すとおり、雑音チャネルを介して送信するメッセージを各々がk個のシンボルからなるデータブロックmに分割するが、このシンボルは通常2進ビットであり、以下においては、別途記載のない限り2進ビットからなるものとする。各メッセージブロックはkビットの行ベクトルmとして表すことができる。各メッセージブロックは符号器11において対応するnビットの符号語(行ベクトルcで表す)に符号化され、この場合n>kである。使用する符号語cは、所定の符号語集合(「符号」C)から選択する。kビットのメッセージブロックおよびnビット符号語の場合、対応する符号Cは(n,k)符号と称する。メッセージブロックmを対応する符号語cに符号化した後、その符号語を雑音チャネル10を介して送信器13により送信し、チャネル終端において受信器14で受信し、受信器からnビットの受信語(行ベクトルrで表す)として出力する。チャネル10を介した送信において誤りが全く発生しない場合、受信語rは送信された符号語cに当然一致し、受信語rを元のメッセージブロックmに変換するため復号器12にそのまま送信される。しかしながら、一般的には受信語rは送信された符号語cには一致しないが、それでも復号器12が、符号器11が用いる符号Cを認識しており、かつ誤りの数が限られている場合、復号器12はメッセージブロックmを復元できる。
【0006】
線形ブロック符号は生成器およびパリティ検査行列により定義される。詳細には、線形ブロック符号Cは対応するパリティ検査行列Hのゼロ空間により定義され、符号Cの各符号語cとパリティ検査行列Hの転置の積は以下のようにゼロベクトルとなる。
c・HT=0
添付の図面の図2は、(7、3)線形ブロック符号のパリティ検査行列H1の例を示す。図2に示すパリティ検査行列H1に対応する符号は、正則(regular)「低密度パリティ検査」又は「LDPC(low density parity check)」符号と呼ばれるものであり、この名前はパリティ検査行列が疎行列であることを反映しており、「正則」という形容詞は、全ての行が同一の重みを有し、全ての列もまた同一の重みを有することを表す。LDPC符号は、サイズが大きいメッセージブロックとの使用に特に望ましい。
【0007】
受信語rとパリティ検査行列の転置の積はrの誤りシンドロームと呼ばれ、本明細書においてはベクトルSで表し、次式が成り立つ。
S=r・HT
誤りシンドロームSがゼロの場合は当然、受信語rは符号語cである。
【0008】
実質的に、パリティ検査行列Hの各行は有効な符号語cと判断されるために受信語rが満たすべき制約を定義する。より詳細には、各行は受信語rにおいて値をモジュロ2加算(二進数シンボルの場合)するとゼロとなるべきビット位置を示す。言い換えると、パリティ検査行列の各行が示すモジュロ2加算の結果が誤りシンドロームの対応するビットを生成する。
【0009】
パリティ検査行列Hの行により定義される制約集合はタナーグラフとして知られる二部グラフにより図で表現することができ、このグラフは、
各々が入力変数(ここでは受信語r)の各ビット位置に対応する第1のノード群(本明細書において「変数」ノードと称し、アルファベットの「v」で示す)と、
各々が各モジュロ2加算、およびしたがってパリティ検査行列の各行に対応する第2のノード群(本明細書において「総和(sum)」ノードと称し、非太字のアルファベットsで示す)と、
各総和ノードsをパリティ検査行列の対応する行に基づいて選択される各変数ノードvに接続するエッジとを備える。
モジュロ2加算により総和ノードsで生成される値および接続される入力変数(受信語r)のビット位置の値により誤りシンドロームSが得られる。添付の図面の図3は、図2に示すパリティ検査行列H1のタナーグラフ15を示し、このグラフは7個の変数ノード16(v1〜v7の記号で示す)、7個の総和ノード17(s1〜s7の記号で示す)、およびエッジ18を備える。
【0010】
タナーグラフはすべて、変数ノードおよび総和ノードが、その他の視覚的ネットワーク配置図ではなく、グラフにより構築されるノードおよびエッジからなるネットワークにおいて相互接続することを特徴とするものと考えられ、例えば、タナーグラフ15の変数ノードv1〜v7を、入力変数のビット位置に対する変数ノードv1〜v7の対応性又は総和ノードに対する各変数ノードの相互接続を変更することなく、図3に示す順番と異なる順番で配置しても、単に視覚的表現が変わるだけでタナーグラフが変化する訳ではない。この表現は当然視覚的である必要はなく、詳細には、コンピュータ環境においては理論的表現(ノードの種類および他のノードとの接続を示すノードのリスト等)からなっていてもよく、これは、グラフを作成又はグラフを用いて動作する処理装置が記載されている以下の本発明の説明にも適用されることする。
【0011】
受信語rが少なくとも1個の誤りを含むか否かは誤りシンドロームSが非ゼロか否かチェックすることにより容易に決定できるが、誤り訂正はより複雑である。誤り訂正方法(例えばLDPC符号との使用に適する)の一つに、反復的確率伝搬法又は「Sum−Product」アルゴリズムとしても知られる確率論的反復復号法がある。この方法は、引用することにより本明細書に組込む非特許文献1等、様々な参考文献に記載されており、上記の文献はインターネット上においてwww.inference.phy.cam.ac.uk/mackay/itila/book.htmlでも入手可能である。
【0012】
このSum−Productアルゴリズムは、パリティ検査行列により定義される制約の上述のようなグラフ表現に対応するノードおよびエッジからなるネットワークに基づく。より詳細には、Sum−Productアルゴリズムは、入力変数(受信語r)の対応するビットが特定の値(ゼロ等)である確率に対応する確率を、各変数ノードvに事前に与える。この確率は受信語rを受信したチャネルの誤り率に依存し、例えば、チャネル誤り率が0.05であった場合、受信語rにおける「0」が実際に「0」である確率は0.95であり、受信語rにおける「1」が実際には「0」である確率は0.05である。
【0013】
各総和ノードsは、変数ノードに符号語が提示されると総和ノードが生成する値に対応する出力値を与えられ、上述の条件において、この値は当然ゼロである。全総和ノードに対する出力値からなる順序集合は、本明細書においては、任意の誤りシンドローム値に対応することから「ターゲットシンドローム」Sと称し、すなわち、上述の条件においてはゼロベクトルである。
【0014】
その後、確率は一連のサイクルでノード間でエッジに沿って交換され、各サイクルの度に、変数ノードの入力値が制約を満たす値(すなわち、ターゲットシンドロームに整合する総和ノードの出力値に一致する値)を取ることにより収束が得られるまで、変数ノードに与えられる確率が調節される。各サイクルは、以下の2個の段階を備える。
【0015】
段階1:各変数ノードから接続する総和ノードにメッセージが送信され、これにより、各総和ノードは接続する各変数ノードに現在与えられている確率を知る。次に、各総和ノードは、接続する各変数ノードに対して、与えられている総和ノードの出力値およびその他の接続する変数ノードから受信する確率に基づいて、対象の変数ノードが前述の特定の値を有する確率を決定する。
【0016】
段階2:各総和ノードから接続する変数ノードにメッセージが送信され、これにより、各変数ノードは接続する各総和ノードにより自己に対して現在決定されている確率を知る。次に、各変数ノードは、接続する総和ノードから受信した確率に基づいて自己に新しい確率を与える。
最終的には、各変数ノードにおける確率は、グラフにより設定される制約を満たす対応する入力値を示す推定値「1」又は「0」として収束および安定する必要がある。
【0017】
以上においてSum−Productアルゴリズムを確率の観点から記載したが、この確率は直接的な確率の他に様々な方法で表わしてもよく、例えば、対数確率、又は尤度/対数尤度を用いることも同様に可能である。本明細書における、Sum−Productアルゴリズムにより制御される確率に関する記載は、そのような他の表現方法も含むものとする。
【0018】
上述したように、「ターゲットシンドローム」は受信語rに対応する符号語cを読出す場合ゼロ値を有する。しかしながら、それに制限されるものではない。例えば、ターゲットシンドロームは実際には誤りシンドローム自体であって、Sum−Productアルゴリズムを用いて雑音ベクトルに対する値を抽出してもよい(上述の参考文献の図47.2cおよび558、559ページを参照)。
【先行技術文献】
【特許文献】
【0019】
【特許文献1】米国特許第5,515,438号
【特許文献2】米国特許第5,999,285号
【特許文献3】英国特許出願公開公報2427317号
【非特許文献】
【0020】
【非特許文献1】David J. Mackay著、「Information Theory, Inference and Learning Algorithms」、Cambridge University Press出版、2003 ISBN0521642981、559ページ
【発明の概要】
【課題を解決するための手段】
【0021】
本発明の一特性によれば、2進データ集合から選択される各データビットをモジュロ2加算した複数の順序演算結果を抽出する処理装置を備え、この選択は、有限トロイド(finite toroid)を覆うセルの連続体を少なくとも定義するノードおよびエッジからなる論理ネットワークにおける総和ノードの変数ノードへの接続に基づいており、該セルの各々は、交互に配置され、エッジによりループ状に相互接続する同一数の変数ノードおよび総和ノードにより区切られており、変数ノードの各々は2進データ集合のビット位置にそれぞれ対応し、総和ノードの各々はモジュロ2加算した演算結果にそれぞれ対応するデータ通信装置を提供する。
【0022】
本発明の他の特性によれば、反復的確率伝搬法を適用して受信される2進データ集合のビット値尤度を調節し、これにより受信されるデータ集合から選択される各ビットの推定値をモジュロ2加算した複数の順序演算結果がターゲットシンドロームと整合する誤り訂正装置であって、この選択は、有限トロイドを覆うセルの連続体を少なくとも定義するノードおよびエッジからなるネットワークにおける総和ノードの変数ノードへの接続に基づいており、該セルの各々は、交互に配置され、エッジによりループ状に相互接続する同一数の変数ノードおよび総和ノードにより区切られており、変数ノードの各々は受信されるデータ集合のビット位置にそれぞれ対応し、総和ノードの各々はモジュロ2加算した演算結果にそれぞれ対応する誤り訂正装置を提供する。
【0023】
以下に、例示のみを目的として、実施例を示す添付の図面を参照して本発明を説明する。
【図面の簡単な説明】
【0024】
【図1】図1は、雑音チャネルを介して公知の方法により送信するためのメッセージの符号化処理を示す図である。
【図2】図2は、公知の形態のパリティ検査行列の例を示す。
【図3】図3は、図2に示すパリティ検査行列に対応するタナーグラフを示す。
【図4】図4は、本発明の実施の形態による装置の一般的な形態を示す図である。
【図5】図5は、図4に示す装置により実行されたSum−Productアルゴリズムにおける失敗率の、異なるチャネル誤り率に対するターゲットシンドロームサイズへの依存性を示すグラフである。
【図6】図6は、セルが平面方向に伸長して円環状に接続されてトロイダル連続体を形成する様子を示す図である。
【図7】図7は、エッジにより相互接続して、円環状に接続されてトロイド面を形成する12個の六角形セルを定義する変数ノードおよび総和ノードからなるネットワークを示す図である。
【図8】図8は、図7に示すノードおよびエッジからなるネットワークにより定義される制約をタナーグラフ表現したものである。
【図9】図9は、ノードおよびエッジからなるクモ構造をトロイダル連続体に付加することにより伸長した図7に示すネットワークを示す図である。
【図10】図10は、図10に示すノードおよびエッジからなるネットワークにより定義される制約をタナーグラフ表現したものである。
【図11】図11は、図9に示すノードおよびエッジからなるネットワークにより定義される制約をパリティ検査行列表現したものである。
【図12】図12は、複数の十字型セルを定義するノードおよびエッジからなるネットワークを示す図である。
【図13】図13は、オフセット配置される6個のノードからなる矩形セルを定義するノードおよびエッジからなるネットワークを示す図である。
【図14】図14は、非オフセット配置される6個のノードからなる矩形セルを定義するノードおよびエッジからなるネットワークを示す図である。
【図15】図15は、図4に示す装置により実行されたSum−Productアルゴリズムにおける失敗率の、異なるネットワーク構成に対するターゲットシンドロームサイズへの依存性を示すグラフである。
【図16】図16は、図14に示すセルの好ましい配置をノードおよびエッジからなる標準ビルディングブロックから形成する方法を示す図である。
【図17】図17は、図4に示す装置の受信装置の動作を示すフローチャートである。
【図18】図18は、図17に示すフローチャートの誤り訂正段階において実行される終盤ルーチンの好ましい形態を示すフローチャートである。
【図19】図19は、シンドローム誤りパターンの候補を示す図である。
【図20】図20は、シンドローム誤りパターンの候補を示す図である。
【図21】図21は、シンドローム誤りパターンの候補を示す図である。
【図22】図22は、シンドローム誤りパターンの候補を示す図である。
【図23】図23は、シンドローム誤りパターンの候補を示す図である。
【図24】図24は、シンドローム誤りパターンの候補を示す図である。
【図25】図25は、シンドローム誤りパターンの候補を示す図である。
【図26】図26は、本発明の実施例による量子鍵配送(QKD)装置の概略図である。
【図27A】図27Aは、図27Bとともに、図26に示すQKD装置の動作方法の例を示す機能フローチャートである。
【図27B】図27Bは、図27Aとともに、図26に示すQKD装置の動作方法の例を示す機能フローチャートである。
【発明を実施するための形態】
【0025】
以下においてはまず、本発明の実施例を図4に示す一般的な条件を参照して説明し、量子鍵配送という特定の条件の適用については、図26および図27を参照して後に説明する。
【0026】
図4に示す装置において、対象データ(本明細書においては行ベクトルmで表す2進データ集合)は、送信装置20の第1の送信器21により第1の雑音チャネル40を介して受信装置30の第1の受信器32に送信され、第1の受信器32の出力は誤りを含む受信データ(本明細書においては行ベクトルrで表す2進データ集合)となる。便宜上、行ベクトルmおよびrを用いて対象データおよび受信データを表すが、これは第1のチャネル40が、そうである場合が多いとは言え、ビットシリアルチャネルであることを意味するものではない。
【0027】
送信側処理装置23および受信側処理装置33が連動することにより、受信側処理装置34の誤り訂正ブロック34は受信データrにおける誤りを訂正でき、これにより元の対象データmを復元できる。送信側処理装置23および受信側装置33は、データ項目(本明細書においては一般的に「補助」データと称する)を、それぞれ送受信器22および32を介して第2のチャネル45を介して相互に送信できる。チャネルの信頼性が高く誤りが発生しないため、又はより典型的には、送受信器22、32が受信側の送受信器から確実に誤りのなく出力するのに適した技術(例えば、誤り検出と誤りデータ項目の再送を組合せたもの、線形ブロック符号又はその他の方法を用いて誤り訂正を実行するもの等)を採用しているため、各送受信器22、32により対応する処理装置23、33に出力される受信データ項目は誤りを含まない。
【0028】
一般論として、送信側処理装置23および受信側処理装置33は以下のように連動して受信データrの誤りを訂正する。
【0029】
1.処理装置23、33は同一のタナーグラフに基づいて動作、すなわち、同一のタナーグラフのノードおよびエッジに対応する相互接続する変数ノードおよび総和ノード論理のネットワークに基づいて、演算を実行する。タナーグラフは固定ではないが、以下により詳細に説明するように、疑似ランダムではあるが、決定性を有する方法で対象データmの各項目(又は項目群)に対して、各処理装置23、33により独立して作成される。
【0030】
2.送信側処理装置23は、タナーグラフを用いて対象データmからターゲットシンドロームSを演算、すなわち、対象データmのビットがタナーグラフにより指定される論理ネットワークの変数ノードに適用される値を定義し、論理ネットワークの総和ノードにおいてモジュロ2加算により生成される値の順序集合がターゲットシンドロームSを形成する。
【0031】
3.ターゲットシンドロームSは、送信側処理装置23により補助データとしてチャネル45を介して受信側処理装置33に送信される。
【0032】
4.受信側処理装置33の誤り訂正ブロック34はSum−Productアルゴリズム(反復的確率伝搬法)を論理ネットワークに適用するが、この論理ネットワークは、送信側処理装置23から受信するターゲットシンドロームSにより設定される総和ノードの出力値、および受信データrのビット値およびチャネル40の誤り率により設定される変数ノードの初期値を用いてタナーグラフにより指定される。
【0033】
5.Sum−Productアルゴリズムは、誤り訂正ブロック34により用いられる論理ネットワークの変数ノードにおいて、ターゲットシンドロームSに一致する推定値を生成し、この推定値は対象データmとして出力される。
【0034】
処理装置23および33は通常、支援メモリおよびサブ入力/出力装置を備える、プログラム制御によるプロセッサの形式で設けられ、図4に示すとおり、機能的に以下のようなブロックを備える。
【0035】
送信側処理装置23の機能ブロック:
対象データmの所定の選択されたビットをモジュロ2加算で演算した複数の順序付けされた演算結果を求めることによりターゲットシンドロームSを決定するブロックであって、ビットの所定の選択は、局所的に作成されたタナーグラフにおける総和ノードの変数ノードへの接続により定義されるターゲットシンドローム決定ブロック24;
ターゲットシンドローム決定ブロック24用に、疑似ランダムではあるが決定性を有する方法でタナーグラフを生成するグラフ作成ブロック(別称、ネットワーク作成ブロック)25;
シンドロームサイズ決定ブロック27;および、
処理装置23の送信側の動作および受信側処理装置33との補助データの交換を制御する制御ブロック26。
【0036】
受信側処理装置23の機能ブロック:
既に概略を上述した誤り訂正ブロック34であって、反復的確率伝搬法を適用して受信データrのビット値尤度を調節することにより受信データrにおける誤りを訂正し、これにより、受信データrの所定の選択されたビットの推定値をモジュロ2加算で演算した複数の順序付けされた演算結果が 送信側処理装置23から受信したターゲットシンドロームSに一致し、ビットの所定の選択は、ターゲットシンドローム生成に使用されたタナーグラフを局所的に作成したものであるタナーグラフにおける総和ノードの変数ノードへの接続により定義される、誤り訂正ブロック34;
誤り訂正ブロック24用に、疑似ランダムであるが決定性を有する方法によりタナーグラフを生成するグラフ作成ブロック(別称、ネットワーク作成ブロック)35;および、
受信側処理装置33の動作および送信側処理装置23との補助データの交換を制御する制御ブロック36。
【0037】
ターゲットシンドローム決定ブロック24および誤り訂正ブロック34の一般的な動作は、当業者にとっては上述の記載から明らかであり、したがって、以下においては、誤り訂正ブロックがSum−Productアルゴリズムが有効な一連の処理をいつ完了したか決定するための好ましい「終盤(end game)」ルーチン(図18および以下の関連する記載を参照)を除いては説明しない。代わりに、図4に示す実施の形態に関する記載の残りの部分においては主に、処理装置23、33のグラフ作成ブロック(別称、ネットワーク作成ブロック)25、35が、それぞれブロック24および34による使用に適合するタナーグラフを生成する方法を中心に説明する(なお、2個のグラフ作成ブロック25、35により対象データmの任意の項目に対して生成されるグラフは同一の構成を有することとする)。詳細には、タナーグラフの、後に説明する理由から以下において「トロイダルウェブ(toroidal web)」クラスと称する一般的なクラスにそれぞれ属するグラフのサブクラスの様々な実施例の生成方法を(図6から図17を参照して)説明する。タナーグラフのトロイダルウェブクラスは、構造が相対的に容易(したがって動的なグラフ作成に適する)で、得られるグラフに特定の特性を与える特に一般的な構造を有することを特徴とする。対応する疎なパリティ検査行列にマッピングできる上述のグラフは、例えば1メガビットの長さを有する大型のメッセージにおける誤りを反復的確率伝搬法(LDPC符号のタナーグラフを疎なパリティ検査行列にマッピングし、反復的確率伝搬法と組合せて実行するのに適した方法と同一の方法)により訂正するのに適している。
【0038】
グラフ作成ブロック25および35は同一のグラフ構成アルゴリズムに基づいて動作するよう構成され、このアルゴリズムは、トロイダルウェブクラスグラフの事前選択されるサブクラスを作成するよう構成されることとするが、選択されたサブクラス内において、このアルゴリズムは様々なパラメータ値に応じて非常に多数の異なるタナーグラフを生成可能である。同一のグラフを生成するためには、グラフ作成ブロック25、35は同一のパラメータ値を使用する必要がある。そのようなパラメータは、
対象データ項目mのサイズ(この値は対象データ項目m毎に異なっていてもよく、又は全対象データ項目mに対して事前に同一の特定の値に固定してもよい)と、
ターゲットシンドロームSのサイズ、又はシンドロームサイズを決定するパラメータ値(この値も同様に固定値であってもよいが、以下から明らかなように、一般的には望ましくない)と、
グラフ作成の際に実行される所定の動作におけるランダム性を規定するパラメータとを含み、このパラメータは共有の秘匿なランダムデータ(例えば、共有のワンタイムパッドにより得られる)又は疑似ランダムであり決定性を有する数の生成器PNGの動作パラメータ(初期化ベクトル等)であってもよい(後者である動作パラメータ値は、定期的な同期チェック又は再初期化が望ましいものの、通常は固定値である)。
グラフ作成アルゴリズムのパラメータが動的に(すなわち、新しい対象データ項目m毎、又は対象データ項目m群毎に)決定される場合、この決定処理は通常、送信側処理装置23およびチャネル45を介して補助データとして受信側処理装置33に伝送される値により実行されるが、適切な状況においては、受信側処理装置33がパラメータ値を決定し、そのパラメータ値を送信側処理装置23に送信してもよく、又は処理装置23、33間で使用する値を協議してもよい。
【0039】
また、グラフ作成ブロック25、35により実行されるグラフ構成アルゴリズムを、トロイダルウェブクラスグラフの複数のサブクラス雑音れかを構成するよう構成してもよく、この場合、使用されるサブクラスは動的に決定されるグラフ作成パラメータの一つとなる。
【0040】
図4に示す実施の形態に関する以下の説明において、シンドロームサイズのみが、各対象データ項目m毎に新しく動的に決定されることとする。
【0041】
より詳細には、送信側処理装置23のブロック27は、第1の雑音チャネル40の現在の誤り率に基づいてシンドロームサイズを決定する。チャネル40の誤り率は、既知の送信データを実際に受信したデータと比較することにより測定され、この比較処理は処理装置23および処理装置33のどちらにより実行してもよいが、本実施例においては送信側処理側のブロック27により実行し、ブロック27には、送信器21から既知の送信データが、また受信側処理装置33からチャネル45を介して受信データが供給される。なお、誤り率の決定に使用されるデータは一般的に、対象データmを、チャネル40を使用して送信可能にする第1のチャネル40の特定の特性を有していない(例えば、チャネル40が量子信号チャネルである場合、チャネル45はチャネル40が有するような盗聴者を確実に検出する特性を有していない)チャネル45を介して送信されるため、対象データmとは異なっている(又は分離している)必要がある。
【0042】
チャネル40の誤り率を決定すると、ブロック27はその誤り率を用いて任意のシンドロームサイズを決定し、その情報をグラフ作成ブロック25および35に送信する。又は、上述したように、ブロック27は決定した誤り率を受信側処理装置33に送信して、受信側処理装置33自体がシンドロームサイズを決定するようにしてもよい(この決定処理はブロック27と同一の方法で実行され、これによりグラフ作成ブロック25、35が同一のシンドロームサイズ値を得る)。
【0043】
以下に、ブロック27がチャネル40の誤り率から任意のターゲットシンドロームサイズを決定する方法を、図5を参照して説明する。図5は、チャネル40の異なる誤り率について、グラフ作成ブロック25、35により作成されるタナーグラフのサブクラスに適用される反復的確率伝搬法による処理(誤り訂正ブロック34が用いる処理)における失敗率がシンドロームサイズに応じて異なる様子を示すグラフであり、この場合、失敗率とは、反復的確率伝搬法による処理において、タナーグラフの変数ノードにおいて、ターゲットシンドロームに一致する推定値の生成に失敗した場合をさす。図5において、シンドロームサイズは対象データmのサイズに対する割合として表され、この割合は100%より大きくてもよい。
【0044】
図5は、チャネル40の異なる誤り率にそれぞれ対応する3個の曲線51、52、53を示し、最大の誤り率が曲線51に対応し、最小の誤り率が曲線53に対応する。各曲線51〜53は同一の略階段形状を有し、これは、ターゲットシンドロームが所定のサイズより小さい場合、失敗率は約100%であり、シンドロームサイズ閾値より大きい場合、失敗率は低くなることを示している。曲線51〜53から分かるとおり、誤り率が増大するとシンドロームサイズ閾値も増大する。
【0045】
シンドロームサイズ決定ブロック27は、決定されるチャネル40の誤り率に対して、シンドロームサイズ閾値より大きいシンドロームサイズを選択するよう構成され、これにより、誤り訂正ブロック34が実行する反復的確率伝搬法による処理の失敗率を確実に低く抑えることができる。効率性の観点から、選択されるシンドロームサイズはサイズ閾値より数パーセントだけ大きいものとする。
【0046】
以下において、各グラフ作成ブロック25、35が、対象データmの任意のサイズp(ビット)およびターゲットシンドロームの任意のサイズq(ビット)に対応するタナーグラフのトロイダルウェブクラスの事前選択されるサブクラスのグラフを構成するために実行するグラフ構成アルゴリズムを考える。グラフ構成アルゴリズムは実際には、対象となるサブクラスに関わらず、エッジにより相互接続する変数ノードおよび総和ノード(すなわち、対象データmの各ビットに対応する各変数ノードおよびターゲットシンドロームSの各ビットに対応する各総和ノード)からなるネットワークを構成し、以下の2個の主段階を備える。
【0047】
第1段階において、同一数の(pおよびqのうち小さい方により決定される)変数ノードおよび総和ノードは有限トロイドを形成するセルの連続体内に配置され、各セルは、交互に配置され、エッジによりループ状に相互接続する同一数の変数ノードおよび総和ノードにより区切られている。
【0048】
第2段階において、変数ノード又は総和ノードのうち一方(第1段階において全部が使用されていない方)のノードをそれぞれ備える複数の「クモ構造」が定義され、この変数ノード又は総和ノードのうち一方は、第1段階においてセルの連続体を定義する処理に用いられた変数ノード又は総和ノードのうち他方のノードからランダムに選択されたノードに所定数のエッジを介して接続される。
第2段階は、対象データのビット数pがターゲットシンドロームのビット数qと異なる場合のみ必要となる。変数ノードを総和ノードに有効に接続するのはエッジである。
【0049】
上述のような一般的なグラフ構成アルゴリズムに基づいて作成可能なグラフは「トロイダルウェブ」クラスのグラフを形成し、この名前の重要性は今や明らかである。更に、グラフ構成アルゴリズムの第1段階において用いられるセルの形状および相互関係が、得られるグラフのサブクラスを決定する。
【0050】
図6、図7、および図9は、対象データサイズpが15、およびターゲットシンドロームサイズqが12の場合の、「六角形」サブクラス(グラフ構成の第1段階で用いられるセルが六角形形状を有するため)のグラフを作成する実施例を簡略に示す。この場合、グラフ構成の第1段階において12個の変数ノードおよび12個の総和ノードにより12個の六角形セル61(図6参照)を形成し、この六角形セル61は6個ずつ2列に配置されて端と端(矢印63)および上と下(矢印62)がそれぞれ接続されて円環のようになっており、有限トロイド面を形成するセルの連続体を形成する。図7はノードの配置をより詳細に示し、12個の変数ノードはv1〜v12の記号で示し、12個の総和ノードはs1〜s12の記号で示す。図から分かる通り、各六角形セルは交互に配置される3個の総和ノードおよび3個の変数ノードからなり、例えば、セル77は、それぞれ変数ノードv1、総和ノードs1、変数ノードv2、総和ノードs8、変数ノードv7、および総和ノードs8からなるノード71〜76を備える。セルは共有のエッジを有し、これにより各ノードは実際には区切られた3個のセルで共有される。トロイド状のセルの連続体70を形成するためにセルを円環状に接続する構造は、最上列のノード(ノードv1、s1、v2、s2、v3、s3、v4、s4、v5、s5、v6、s6)を最下列のノードとして反復(点線で示す)し、最左列のノード(v1、s7、v7、s1)を最右列のノードとして反復するにより表す。
【0051】
図8は、図7に示すノードおよびエッジからなるネットワークを、タナーグラフの図示においてより一般的に利用される形状80(例えば図3において使用)に書き換えたものであり、変数ノードv1〜v12は上方で順番に配置され、総和ノードs1〜s12は下方で順番に配置される。図7においてセル77を定義するエッジは、図8において太線(81参照)で示す。なお、図7、およびしたがって図8は、本実施例に対して、部分的にのみ完成したグラフを表わしているものとする。
【0052】
また、タナーグラフを図示する際、変数ノードの順序は一般的に対象データにおけるビットの順序に対応し、一方、図7に示すネットワークを書き換えたものである図8においては、変数ノードの順序は、以下に記載するように対象データmにおけるビットの順序に対応する場合もしない場合もある、添字番号に基づく。図7に示すように変数ノードの番号が対象データmの対応するビットの位置に一致しない場合、図7を、変数ノードを対象データmの対応するビットの順序に基づいて順番に並べて書換えても、基底構造の規則性がはっきりと表れない可能性が高い。
【0053】
グラフ構成の第2段階において、第1段階には関与しない3個の過剰な変数ノード(ノードv13、v14、v15)は六角形セルからなるトロイダル連続体70に接続される。この接続は以下のように実行される。3個の過剰な変数ノードv13、v14、v15の各々は順次選択されて、自己を3個のランダムに選択される総和ノード(既にトロイダル連続体70内に組込まれている)に接続するよう規定される。視覚的観点からすると、図9に示す通り、過剰な変数ノードv13、v14、v15の各々は、自己をトロイダル連続体70に接続する3個の脚を有するクモ構造90の本体を形成し、したがって、図9は、総和ノードs1、s10、およびs12に接続する過剰な変数ノードv13、総和ノードs2、s5、およびs9に接続する過剰な変数ノードv14、総和ノードs6、s8、およびs11に接続する過剰な変数ノードv15を示す。好ましくは、総和ノードを過剰な変数ノードにランダムに割当てる処理は、ランダムに構成した総和ノードのリストを作成し、各過剰な変数ノードv13、v14、v15の各々に対して、作成したリストの最上位の3個組の総和ノードを順次選択することにより実行され、過剰な変数ノードに対して全てのクモ構造90が作成される前にリストの総和ノードが使果たされた場合、総和ノードのリストを新しくランダムに構成して、残存する変数ノードに対して処理を繰返し実行する(処理は必要回数実行してもよい)。
【0054】
シンドロームビット(すなわち総和ノード)の数qが対象データビット(すなわち変数ノード)の数pより大きい場合、上述のグラフ構成の第2段階において変数ノードおよび総和ノードの役割は逆になる。更に、各クモ構造における脚の数は3個に制限されるものではなく、好ましくは4個である。
【0055】
上述の方法によりクモ構造を構成することにより、トロイダル連続体70において「脚」が疑似ランダムではあるが非常に均等に配置され、正則(すなわち、効率的に構成可能)なトロイダル連続体70にランダム性を付加する。
【0056】
タナーグラフにおいて長さ4のサイクルは一般的に望ましくないため、好ましくは、新しくクモ構造90が形成される度に長さ4のサイクルが作成されていないかチェックし、長さ4のサイクルが生成されていた場合、そのクモ構造は拒否され、代わりに新しいクモ構造が作成される。長さ4のサイクルのチェックは以下のように非常に単純である。
【0057】
(i)新しいクモ構造の「足先」(すなわち、クモ構造の本体を形成する過剰なノードに直接接続されるトロイダル連続体のノード)が、トロイダル連続体において、2個以上のノードを介して相互に分離されているかチェックし、
(ii)また、新しいクモ構造の2個の足先と別のクモ構造の2個の足先が異なっているか(すなわち異なるノードであるか)チェックする。
【0058】
図10は、図9に示すネットワーク(トロイダル連続体70およびクモ構造90の両方)をタナーグラフの図示においてより一般的に利用される形状100に書換えたものである。図10は、本実施例に対して構成される完全な六角形サブクラスグラフを表す。なお、図8に示す書替図と同様に、この書替図における変数ノードの順序は、対象データmのビット順序に一致する場合もしない場合もある添字番号に基づく。
【0059】
実際には、対象データ項目mのビット位置を図9に示すネットワークの変数ノードに対応させる処理は所定の方法(例えば、ノード添字により示すノード番号又はその他所定の対応パターンに基づいて)で実行してもよく、又は、疑似ランダムに(グラフ作成ブロック25、35のそれぞれで独立して実行可能な決定性を有する方法で)決定してもよい。総和ノードについては、必要なのは、ターゲットシンドローム決定ブロック24がターゲットシンドロームSを生成する際に使用する順序を、誤り訂正ブロック34がターゲットシンドロームを用いる際にも使用するという点だけである。
【0060】
図11は、図10に示すグラフに対応(当然、図9に示すネットワークにも対応)する、対象データmのビット位置をノード添字に基づいて変数ノードに対応させるためのパリティ検査行列H2(参照符号110)を示す。図11は、この行列が疎であることを示す。既に説明したように、行列H2の各行は、モジュロ2加算により対応するターゲットシンドロームのビット値を演算するために選択される対象データビットを表す。
【0061】
上述のトロイダルウェブクラスのグラフの実施例は「六角形」サブクラスグラフであり、すなわち、トロイダル連続体が六角形セルからなる。図12〜図14は、トロイダルウェブクラスグラフの他のサブクラスのトロイダル連続体を構成するために使用される以下のような異なる形状のセルを示す。
【0062】
図12は、「十字型」サブクラスグラフのトロイダル連続体の一部120を示し、連続体の一部120は、各々が、交互に配置され、かつエッジを介して相互接続する6個の総和ノードおよび6個の変数ノードを備える4個の十字型セル121〜124からなる。完全な連続体において、各セルの境界上においてノードは3個おきに3個の隣接するセルにより共有され、エッジにより4個の他のノードに接続し、そのうち2個のノードが同一のセルに属する。各セルのその他のノードは、対象のセルのノードにのみ接続。
【0063】
図13は、図14に示す実施例と比較する目的で、「六角形」サブクラスグラフのトロイダル連続体の一部130を示し、ここでは六角形セルはオフセット配置され6個のノードからなる矩形として書替られている。図示のトロイダル連続体の一部130は6個のノードからなる6個の矩形セル131〜136からなり、6個の矩形セル131〜136は3列に配置され、中央の列はその他の2列に対して水平方向にオフセット配置される。各セル131〜136は、交互に配置され、エッジを介して相互接続する3個の総和ノードおよび3個の変数ノードを備える。各セルにおいて、4個のノードはセルの頂点に配置され、(完全な連続体において)、この4個のノードは2個のその他のセルと共有であり、3個のその他のノードに接続し、そのうち2個のノードが同一のセルに属する。セルの残りの2個のノードは、セルの対向する1組の側部のそれぞれに沿って中央に配置され、また、2個のその他のセルと共有であり、かつ3個のその他のノードに接続し、そのうち2個のノードが同一のセルに属する。
【0064】
図14は、「非オフセット配置される6個のノードからなる矩形」サブクラスグラフのトロイダル連続体の一部140を示し、該連続体の一部140は6個のノードからなる8個の矩形セル141〜148からなり、各矩形セル141〜148は図13に示す実施例の6個のノードからなる矩形と同一形状を有するが、非オフセットで配置される列として配置される。この場合、完全な連続体において、各セルにおいてセルの頂点に配置される4個のノードは3個の隣接するセルと共有されており、同一のセルに属する2個のその他のノードに接続し、セルの残りの2個のノードはそれぞれ対象のセルの2個のノードにのみ接続する。
【0065】
セルの「形状」は主に、論理ネットワークを視覚表現する処理を説明する際の便宜上のもので、大切なのは、セルのノードの相互接続である。
【0066】
図15は、図5に示すグラフと同様に、タナーグラフの異なる形状について、対象のタナーグラフに適用される反復的確率伝搬法による処理(誤り訂正ブロック34が用いる処理)における失敗率がシンドロームサイズに応じて異なる様子を示すグラフであり、チャネル誤り率は全ての場合において同一である。より詳細には、曲線151は「ランダム」グラフ(すなわち、構造を備えないものの、長さ4のサイクルが除去されたグラフ)に対応し、曲線152は「六角形」サブクラスグラフに対応し、曲線153は「非オフセット配置される6個のノードからなる矩形」サブクラスグラフに対応する。図から分かる通り、シンドローム閾値(各曲線が階段状に変化し始める部分)はトロイダルウェブクラスグラフのサブクラス両方ともにおいて、ランダムグラフにより得られる基準閾値より小さく、一般的に、トロイダルウェブクラスのグラフは基準となるランダムグラフと比べてより効率的である(任意のチャネル誤り率に対して必要となるシンドロームサイズがより小さい)ことが分かった。詳細には、「非オフセット配置される6個のノードからなる矩形」サブクラスのグラフが一番高い効率を有することが分かった。
【0067】
図16は、ノードおよびエッジからなる標準的なビルディングブロック160から、「非オフセット配置される6個のノード矩形」サブクラスグラフのトロイダル連続体を容易に構成する方法を示す。より詳細には、ビルディングブロック160は、交互に配置され、エッジを介して相互接続する2個の総和ノードおよび2個の変数ノードからなるライン(line)を備え、終端のノードもエッジを介して相互接続する(図16において矢印165で示す)。この交互に配置される総和ノードおよび変数ノードからなるラインの各ノード(本明細書においては「ラインノード」)はエッジからなる側枝を有し、この側枝は、他のビルディングブロックのラインノードに接続するために解放されているエッジを介して他のノードに接続する。図16の左側は、上述のように、各ビルディングブロックの解放エッジを隣接するビルディングブロックの対応するラインノードに接続することにより結合した3個のビルディングブロック161、162、163を示す。十分な数のビルディングブロックが上述の方法で相互接続されて、最小のp(対象データビットの数)およびq(シンドロームビットの数)と同一数の総和ノード又は変数ノードが得られた場合、一番最初のビルディングブロック(図16におけるブロック161)の解放されている終端は一番最後に付加されたビルディングブロック(図16におけるブロック163)のラインノードに円環状に接続され、これによりトロイダル連続体を封止して完成させる。上述のように形成したトロイダル連続体は、端と端が結合された細長い管のような形状を有する(妥当なサイズの対象データ項目mを想定する)。
【0068】
当然、上述のように構成されたトロイダル連続体における各種(総和又は変数)ノードの数は4の整数倍数であるのに対して、pおよびqの最小値は4の整数倍数ではない場合がある。これに対処するためには様々な解決策が可能であり、例えば、シンドロームビットの数qは常に4の整数倍数となるよう選択してもよく、pおよびqのうち対象データビットの数pの方が小さい場合、適切な数の対象データビットを切捨ててもよく(以下に説明するQKDを用いた実施例等、所定の場合に望ましい)、又は適切な数のダミー対象データビットを付加してもよい。
【0069】
上述のビルディングブロックを用いたトロイダル連続体の構成方法は、トロイダルウェブクラスのその他のサブクラスグラフに適用してもよく、そのような適用は当業者の裁量の範囲内であるとする。
【0070】
グラフの生成および使用に関して上述した要点を整理および要約するため、以下に、受信器32から受信データrを受信した際の受信側処理装置33の動作を図17を参照して説明する。
【0071】
まず、初期工程171において、受信側処理装置33は規定値ではないグラフパラメータ値を取得するが、本実施例において、対象データmにおけるビット数pは規定値であり、生成するトロイダルウェブグラフのサブクラスおよびグラフ生成に用いられる疑似乱数生成器のパラメータも同様である。本実施例の工程171において取得される唯一の動的パラメータは、受信側処理装置33がチャネル40の誤り率から導出するシンドロームサイズqであり、チャネル40の誤り率は送信側処理装置23からチャネル45を介して送信される補助データに含まれる。
【0072】
その後、受信側処理装置33はグラフ生成(図17におけるブロック172)を開始する。上述したように、グラフ生成の第1段階はトロイダル連続体の生成であり、これは、工程1731における、最小のpおよびqに対応する数の総和/変数ノードを得るために必要な標準ビルディングブロック(例えば、図16に示す、「非オフセット配置される6個のノードからなる矩形」グラフサブクラスに対応するビルディングブロック160)の数nを決定する第1の決定処理により実行される。nの値が決定されると、工程1732において、ビルディングブロックの追加がnサイクルだけ実行され、n個のビルディングブロックが結合されて求めるトロイダル連続体を形成する。
【0073】
グラフ生成の第2段階は、各過剰なノード(すなわち、トロイダル連続体からは得られていない必要な総和/変数ノード)に対して適切な数のクモ構造の生成するものあり、図17におけるブロック172を参照する。過剰なノードは全て一方の種類であり、工程1741において、この過剰なノードの各々を、ランダムに混合わせた他方の種類のノード群(全てトロイダル連続体に属する)の上から選択したx(例えば4)個のノードに対応付ける(論理的にはエッジ又は「クモの脚」により接続する)。工程1742において、トロイダル連続体に新たに接続された過剰なノードの各々に対して長さ4のサイクルチェックを実行する。
【0074】
グラフ生成の最終段階は、工程175において、データ項目mのビット位置をグラフの変数ノードに割当てるものである。
【0075】
送信側処理装置23および処理装置受信側33において略同一のタイミングで実行されるグラフ生成に続いて、受信側処理装置33は、送信側処理装置23からチャネル45を介して受信側処理装置33に送信される補助データに含まれるターゲットシンドロームSを受信する(工程176参照)。
【0076】
その後、受信側処理装置33は、Sum−Productアルゴリズムを用いて受信データrの誤り訂正を開始(図17におけるブロック177参照)し、ターゲットシンドロームSに一致する受信データビットの推定値を調節する。本実施例において、yサイクル178(yは例えば4)のSum−Productアルゴリズムが終了する度に、「終盤(end game)」ルーチン179を実行してSum−Productアルゴリズムが結論を出したか(元のデータmの復元成功か、又はSum−Productサイクルを更に実行しても訂正不可能な失敗か)、又はSum−Productサイクルを更に実行すべきかを決定し、後者の場合、処理は工程178に戻る。
【0077】
多くの用途においては、変数ノードにおける推定値がターゲットシンドロームSに一致すれば結果は成功であったと判断されるが、用途によってはより高い確実性が求められ、ターゲットシンドロームの整合性が元のデータmのビット値に整合しないvノード推定値に基づくものである可能性が考えられる。終盤ルーチンは、元のデータmから導出したチェックサムに基づくチェックを含むことにより、そのような可能性を考慮することができ、このチェックを実行するためには、受信側処理装置33は送信側処理装置23から正確なチェックサムを(例えば、工程176において送信される補助データに含めて)受信する必要があると考えられる。
【0078】
終盤ルーチンは、Sum−Productアルゴリズムが有効な一連の処理を完了したか否か決定するとともに、変数ノードにおける推定値がターゲットシンドロームにほぼ一致する場合、誤り総和ノード(すなわち、総和ノードにおいて現在の推定vノード値から得た値がその総和ノードに対するターゲットシンドローム値と異なる)のパターンを認識し、そのパターンに基づいて選択vノード値を調節することにより整合性を実現してもよい。この、誤り総和ノードのパターンを認識することによる訂正処理について、以下により詳細に説明する。
【0079】
以下に、「終盤」ルーチン179の好ましい形態について図18を参照して説明し、上記のチェックサムチェックおよび誤り総和ノードのパターンの認識に基づく訂正処理を組込む。
【0080】
図18に示す終盤ルーチンはまず、実行中のグラフの変数ノードにおける現在の推定値を決定し、その後、その推定値を用いて現在のシンドローム、すなわちグラフの総和ノード値を抽出するが、これらのノードはターゲットシンドローム値とは対応していない(工程181参照)。その後、この現在のシンドロームをターゲットシンドロームSと比較して異なるビット数のdを決定する(工程182)。
【0081】
このシンドロームとの差dの数が例えば6より大きい(工程183において確認する)場合、Sum−Productサイクルが更に必要であると判断されるが、既に上限回数(例えば、300等)のサイクルが実行されていた場合(工程184において確認する)、Sum−Productサイクルを更に実行してもターゲットシンドロームSに一致する推定vノード値集合への収束は難しいため、誤り訂正を停止し、失敗したと判断する。
【0082】
工程183において、シンドロームとの差がない(d = 0)、すなわち推定vノード値がターゲットシンドロームSに一致すると決定された場合、工程185において、推定vノード値からチェックサムを作成(vノード値を受信データrに一致する順番に並べるために必要に応じて並び替えを考慮する)し、工程186において、元のデータmから作成したチェックサムと比較する。チェックサムが一致する場合、誤り訂正は成功したとして処理を終了し、推定vノード値が復元された対象データmとして出力される(同様に、必要に応じて並び替えを行う)。しかしながらチェックサムが一致しない場合も、Sum−Productサイクルを更に実行しても正しいvノード値集合への収束は難しいため、誤り訂正は失敗したとして処理を終了する。
【0083】
工程183において、シンドロームとの差dの数が1〜6(0<d≦6)の範囲の数あると決定された場合、上述した誤り総和ノードのパターンの認識に基づいた訂正処理が実行され(工程187)、選択されたvノード値が反転される。値を反転した結果、シンドロームとの差がゼロまで減少した場合(工程188において確認する)、チェックサム作成工程185および比較工程186が実行されるが、値を反転してもシンドロームとの差がゼロまで減少しない場合、現在実行中の終盤ルーチンの直前に存在したvノード推定値からSum−Productサイクルを更に実行する(工程184の上限チェックを行う)。
【0084】
誤り総和ノードのパターン認識に基づく訂正処理(工程187)に関して、図19〜図25はそれぞれ、トロイダルウェブグラフの「非オフセット配置される6個のノードからなる矩形」サブクラスに対応する誤り総和ノードのパターンを示し、各パターンにおいて、太線の円により囲まれた総和ノードが誤り総和ノードである。これらのパターンは工程187において系統的に検索され、パターンが検出されると、所定の変数ノードに対応にするビット値が不正値の候補として特定されて反転され、この変数ノードは、認識されたパターンにおいて値が変更された場合、対象のパターンにおける総和ノードの不正値を解消する。そのような変数ノードは、図19〜図25において点線の円で囲んで示す。その後、上述の検索処理が、グラフ全体が検索されるまで、又は訂正された総和ノード値の数がシンドロームとの元の差と同数になるまで継続して実行される。
【0085】
図19〜図25において、誤り総和ノードがいくつ発生しているかに基づいてパターンを配置する。便宜上、各パターンに非制限的な記述による以下のようなラベルを付ける。
【0086】
図19および図20はそれぞれ、誤り総和ノードが2個のみ発生しているパターンを示し、以下のラベルで表す:
「2s−線上隣接型」;および
「2s−線上三個組型」。
【0087】
図21〜図23はそれぞれ、誤り総和ノードが4個発生しているパターンを示し、以下のラベルで表す:
「4s−菱形」;
「4s−燭台型」;および
「4s−回転L字型」。
【0088】
図24〜図25はそれぞれ、誤り総和ノードが6個発生しているパターンを示し、以下のラベルで表す:
「6s−六角形」;および
「6s−漏斗型」。
【0089】
上述のラベルは誤り総和ノードパターンの特定の視覚的外見に言及しているものの、当然のことながら、視覚的外見は基本となるノードおよびエッジからなる論理ネットワークを視覚的に表現する特定の方法に依存し、様々な他の表現方法も可能なため、全く重要ではない。誤り総和ノードの各パターンは基本的に、任意の表現方法が与える視覚的パターンによってではなく、対象の総和ノードの相互関係のパターンにより定義される。
【0090】
例として、図19に示す単純な「2s−線上隣接型」パターンは、他に接続先を有さない1個の変数ノードを介して接続される2個の誤り総和ノードからなる。したがって、「2s−線上隣接型」パターンにおいて、誤り総和ノード間に配置される変数ノードに対応付するビット値が、この値を反転することによりその他の総和ノードではなく誤り総和ノードの値が反転するため不正値の候補となる。同様に、図20に示す「2s−線上三個組型」パターンにおいて、2個の誤り総和ノードはエッジおよびノードからなるラインを介して接続され、ライン上のノードは1個の非誤り総和ノードを間に挟んで配置される2個の変数ノードを備え、この変数ノードは間に挟まれる総和ノードおよび誤り総和ノードの一方にそれぞれ接続され、両方の変数ノードに対応するビット値が、この値を反転することによりその他の総和ノードではなく誤り総和ノードの値が反転するため不正値の候補となる。
【0091】
図22に示す「4s−燭台型」パターンは、対象のグラフのトロイダル連続体が上から下まで円環上に接続されるため、実際には図21に示す「4s−菱形」パターンと同一の基本的パターンと考えられるかもしれないが、検索処理が(図示のように)「最下」列のノードを参照して実行された場合、パターンが異なる。各パターンにおいて、4個の誤り総和ノードは1個の中間変数ノードを介して相互接続され、中間変数ノードに対応するビット値が、この値を反転することによりその他の総和ノードではなく誤り総和ノードの値が反転するため不正値の候補となる。
【0092】
図24および図25に示す「6s−六角形」パターンおよび「6s−漏斗型」パターンについても同様である。この場合、各パターンは以下を備える。
【0093】
2個の変数ノードおよび間に配置される中間の非誤り総和ノードからなる3個組のノードにより接続される第1の誤り総和ノード対。各変数ノードは中間の総和ノードおよび第1の対の各誤り総和ノードにそれぞれ接続される。
【0094】
その他の接続を有さない1個の中間変数ノードを介して接続される第2の誤り総和ノード対。第2の対の各誤り総和ノードは、第1の誤り総和ノード対を接続する上記の3個組ノードのうち変数ノードのそれぞれに接続される。
【0095】
その他の接続を有さない1個の中間変数ノードを介して接続される第3の誤り総和ノード対。第3の対の各誤り総和ノードは、第1の誤り総和ノード対を接続する上記の3個組ノードのうち変数ノードのそれぞれに接続される。
【0096】
第1の誤り総和ノード対を接続する3個組ノードのうち2個の変数ノードに対応するビット値が、この値を反転することによりその他の総和ノードではなく誤り総和ノードの値が反転するため不正値の候補となる。
【0097】
より複雑なパターン(すなわち、より多くの誤り総和ノードを含むパターン)が優先的に検索されるが、これは、図19に示す「2s−線上隣接型」パターンのような単純なパターンは、実際には単に図21〜図23に示す4個の誤り総和ノードを含むパターンのようなより複雑なパターンの一部である場合があるためである。
【0098】
図19〜図25に図示した誤り総和ノードのパターンは、全てのパターンを網羅することを意図するものではなく、工程187は任意の可能なパターンを検索するよう構成してもよい。更に、上述した誤り総和ノードのパターンは全て対象のグラフのトロイダル連続体に見られるパターンであるが、グラフの「クモ構造」を含むパターンを検索することも可能である。より詳細には、p>qであり、これにより各クモ構造の中心となるノードが変数ノードvである場合、クモ構造の全ての脚における「足先」に対応する誤り総和ノードのパターンは、クモ構造の中心となる対象データビットが誤りである可能性が高く、反転すべきであることを示す。好ましくは、上述のような誤り総和ノードパターンを(例えば、各クモ構造を順次チェックすることにより)まず検索する。
【0099】
既に述べたように、図19〜図25に図示したパターンはトロイダルウェブグラフの「非オフセット配置される6個のノードからなる矩形」サブクラスに適用可能であり、当業者は、トロイダルウェブグラフのその他のサブクラスに対応する類似の誤り総和ノードパターンを容易に導出できる。
【0100】
当業者にとっては、誤り総和ノードのパターン(および各パターンに対応する誤り変数ノード又はノード群の候補)を表すデータは、装置が処理しようとする各種のグラフに対応して、受信装置により記憶され、記憶されたデータはプレインストールされていてもよく、又は必要に応じて読込んでもよいことは明らかである。また、誤り変数ノードの候補を特定する処理は、事前に受信データビット位置を変数ノードに対応付けするため、受信データの誤りビット候補を特定する処理(Sum−Productアルゴリズムを適用して調節する)と同様に効率的である。
【0101】
応用例
ワンタイムパッド補充に用いられるQKD装置における誤り訂正
以下に、図26および図27を参照して、整合ワンタイムパッド(OTP)の補充に用いられる量子鍵配送(QKD)装置の誤り訂正に関する上述の誤り訂正方法および装置の応用例を説明する。
【0102】
公知のように、同一の秘匿なランダムデータを有する2つの当事者が、バーナム暗号を用いて解読不能で機密な通信を行ったり、また真正なメッセージと誤った、又は改ざんされたメッセージとを(例えばWegman−Carter認証を用いて)識別したりできることが分かっている。しかしながら、どちらの場合も、当事者が共有する秘匿なランダムデータから使用したデータは再使用すべきではない。したがって、「ワンタイムパッド」という用語は当事者が共有する秘匿なランダムデータをさすことが多く、本明細書においては、この用語又はその頭字語「OTP(one−time pad)」は複数の当事者が共有する秘匿なランダムデータをさすが、以下に記載の特定の例においては、この当事者を、QKD送信装置に相当する当事者アリスおよびQKD受信装置に相当する当事者ボブとする。絶対的な安全性のためにはワンタイムパッドデータは真にランダムである必要があるが、本明細書においてワンタイムパッド(OTP)に言及する場合、真にランダムではないかもしれないが、対象の目的に対して許容できるレベルの安全性を提供するには十分ランダムな秘匿データを含む。
【0103】
OTPデータは使用されると実質的に消費されてしまうため、ワンタイムパッドの様々な用途において、対象の複数の当事者が保持するOTPデータを、OTPデータの使用により得られる安全性を損なわないよう非常に機密な方法で補充する必要が生じる。
【0104】
近年、量子鍵配送(QKD)方法および装置が開発されており、2つの当事者が、非常に高い確率で盗聴者を検出可能な方法でランダムデータを共有することができる。すなわち、盗聴者が検出されない場合、当事者は共有のランダムデータが秘匿であると高い確率で確信することができ、したがってQKD方法および装置はOTPデータを機密に補充するのに非常に適している。
【0105】
公知のQKD装置において、ランダムに偏光された光子は送信装置から受信装置に光ファイバケーブル又は自由空間を介して送信され、これらQKD装置は通常公知のBB84量子符号化プロトコル(C.H.BennettおよびG.Brassardによる「Quantum Cryptography:Public Key Distribution and Coin Tossing」、Proceedings of IEEE International Conference on Computers Systems and Signal Processing、インド国バンガロール市、1984年12月、175〜179ページ参照)に基づいて動作する。BB84プロトコル又はQKD送信器若しくは受信器の詳細は本発明の理解に必要ないため、本明細書においては詳細の大部分は省略してあるが、詳細が必要な場合、上記の文献又は類似の一般的に入手可能な文献を参照することにより容易に取得可能である。
【0106】
図26はQKD装置の応用例を示し、QKD装置は図4に示す装置を更に特化したものであり、対応する素子は同一の参照符号にアルファベット「Q」を補足して示す。したがって、図26に示すQKD装置は、量子信号チャネル40Q(雑音チャネル)および従来のチャネル45Q(誤りがない、又は誤り訂正される無線チャネル等の非量子信号チャネル)を介して通信を行うQKD送信装置20Q(当事者「アリス」に相当)およびQKD受信装置30Q(当事者「ボブ」に相当)を備える。QKD送信装置20Qは送信側処理装置23Qを含み、QKD受信装置30Qは受信側処理装置33Qを含む。処理装置23Qおよび33Qの各々は、対応する図4の処理装置23および33と同一の機能ブロック(図26では図示せず)を備え、更に以下に説明する別の機能ブロックを備える。
【0107】
QKD送信装置20Qは、QKD受信装置30QのQKDサブ受信装置502と量子信号チャネル40Qおよび従来のチャネル45Qを介して連動するQKDサブ送信装置501(図26において点線で示す)を有し、これによりランダムデータ集合mが送信装置20Qから受信装置30Qに送信され、QKDサブ受信装置502はランダムデータ集合mを誤り訂正すべき受信データrとして出力する。
【0108】
QKDサブ送信装置501は、QKD送信器21Q(光子を選択的に偏光する光学部材を提供する)、ランダムデータ源505、および送信側処理装置23Qの機能ブロックとして設けられるQKD処理ブロック506を備える。ランダムデータ源505はランダムビット対を生成するが、その際、片面を銀めっきした反射鏡により光子を検出器に伝送/偏向して50:50の確率で「0」/「1」を生成する量子ベースの装置等のハードウェア乱数生成器によりランダム性を実現するが、その他の乱数生成器として、抵抗器又はダイオードをオーバドライブさせ、電子雑音を利用してランダム事象を誘起するような構成とすることも可能である。各ランダムビット対のうち一方が現在のタイムスロット内で送信器21Qにより送信されるビット値を決定し、他方のビットがビット値の送信に用いる偏光基底を決定する。
【0109】
なお、QKD送信器21QおよびQKD受信器31Qが共有するデータ集合mは、送信器21Qにより送信されるビット値の非決定性サブセットであり、このサブセットは、以下のようなビット値を備える。
【0110】
QKDサブ受信装置502が対応するタイムスロット内で量子信号チャネル40Qを介して信号を受信したもの。
【0111】
QKDサブ送信装置501およびQKDサブ受信装置502が同一の偏光基底をランダムに用いる(例えばチャネル40Qの誤り率を決定する際に従来のチャネルを介して送信されるビット値より低い)。QKD処理ブロック506の役割は、送信器21Qにより送信されるビット値、および従来のチャネル45Qを介して受信するQKDサブ受信装置502における信号受信およびQKDサブ受信装置502が用いる基底に関する情報に基づいて、データ集合mの内容を決定することである。
【0112】
QKDサブ受信装置502は、QKD受信器32Q(光子を受信し、その偏光を検出する光学部材を提供する)および受信側処理装置33Qの機能ブロックとして設けられるQKD処理ブロック509を備える。QKDサブ受信装置502において、連続するタイムスロットにおいて使用される偏光基底は、片面を銀めっきした反射鏡を用いて入射する光子を検出器にランダムに誘導し、少なくとも1個の偏光基底を形成することによりランダムに選択される。QKD処理ブロック509の役割は、受信されるビット値および従来のチャネル45Qを介して受信される正しい基底が用いられたタイムスロットを特定する情報に基づいて受信データrを決定することである。
【0113】
その後、図4〜図25を参照して上述した方法により受信データrの訂正が実行され、これによりQKD受信装置30Qがランダムデータ集合mを復元できる。
【0114】
QKD送信装置20Qは、メモリ内に記憶され、送信側処理装置23QのOTP制御機能ブロック507により制御されるワンタイムパッド503を保持し、同様に、QKD受信装置30Qは、メモリ内に記憶され、受信側処理装置33QのOTP制御機能ブロック510により制御されるワンタイムパッド504を保持する。QKD送信装置20QおよびQKD受信装置30Qが共有するランダムデータ集合mは、ワンタイムパッド503および504の内容が相互に整合し続けるようワンタイムパッド503および504を補充するために用いられる。
【0115】
ワンタイムパッド503および504から取得したデータはQKD送信装置20QおよびQKD受信装置30Qを相互に認証し、また、受信データrに適用する誤り訂正処理に用いる疑似乱数生成器をランク付けするために用いる。実際には、非効率的ではあるが、ワンタイムパッドからのデータは誤り訂正処理において求められるランダム性を実現する手段として直接利用してもよい。
【0116】
以下に、ワンタイムパッド503、504を補充するためのQKD送信装置20QおよびQKD受信装置30Qの相互作用および動作の全体的流れを、図27Aおよび図27Bを参照して説明する。便宜上、以下においてはアリスおよびボブが工程を実行するとして説明するが、対象の工程は実際にはQKD送信装置20QおよびQKD受信装置30Qによりそれぞれ実行されるものとし、更に、図27Aおよび図27Bにおいて、特定の工程に関してブロック体の大文字で示すアリスおよび/又はボブ名前は、場合に応じて、その工程において対応する装置20Qおよび/又は30Qが能動的に関与することを示す。
【0117】
初期の認証段階(図27Aにおける工程514〜工程522)において、アリスは従来の通信チャネル45Qを用いてボブと通話を開始し、アリスはボブに自己が誰であるか伝え、ボブはアリスに自己が誰であるか返答する。
【0118】
本例によれば、この認証はワンタイムパッド503、504からのデータを用いて行われる。説明の便宜上、ワンタイムパッドは「a‖b‖c‖OTPの残存部」からなると考えられ、この場合a、b、およびcはそれぞれ例えば64ビットである(記号‖は文字列連結を表す)。工程514において、アリスは(a)XOR(b)をボブに送信し、この場合、XORは排他的論理和機能である。工程516において、ボブは整合するものを求めて自己のワンタイムパッド504を検索する。整合するものが見つかると、ボブは工程518においてアリスに(a)XOR(c)を送信し返す。工程520において、アリスはそれが正しい応答かチェックする。その後、アリスおよびボブの両方は、工程522において自己のワンタイムパッド503、504から「OTPの残存部」を残してa、b、およびcを消去する。
【0119】
次に、QKD送信および処理段階が実行される(工程524〜工程541)が、本例においては、以下に説明するように、BB84量子符号化プロトコルを変更したものを用いる。
【0120】
アリスおよびボブは、データユニットを出力するタイムスロット長について所定の了解を得ているものとする。初期同期を実行するため、アリスは工程524において量子信号チャネルを介して光子パルスを送信する。
【0121】
工程526において、アリスは多数の、通常は約108対程のビット対を(データ源505を用いて)ランダムに生成する。上述したように、各ビット対はデータビットおよび基底ビットからなり、基底ビットはデータビットを送信するための、垂直方向/水平方向又は対角方向/反対角方向からなる偏光方向の対を示す。水平方向又は対角方向に偏光された光子は二進数の1を示し、垂直方向又は反対角方向に偏光された光子は二進数の0を示す。したがって、各対のデータビットは同一対の基底ビットが示す偏光方向の対に基づいて符号化され、アリスにより量子信号チャネル40Qを介して送信される。アリスから量子信号を受信すると、ボブは各タイムスロットにおいて、どの基底(偏光方向の対)を用いて量子信号を検出するかランダムに選択し、結果を記録する。量子チャネルを用いて行う必要のある通信は、ランダムに生成されたビット対のデータビットの送信のみである。
【0122】
工程528において、ボブは、実際には送信全体の10%等ランダムに選択できる量子信号送信の一部における全受信データを従来のチャネル45Qを介してアリスに送信し、これにより、アリスは量子信号チャネル40Qの誤り率を決定できる。受信データは信号が受信されたタイムスロット、そのタイムスロットの各々において受信された際に決定されたデータビット値、およびその際の基底(すなわち偏光方向の対)を含む。工程530において、アリスはボブから受信したランダムに選択された送信の10%に関する受信データを用いて、ボブが信号を受信し、かつ正しい基底を用いたタイムスロットについてチャネル40Qの誤り率を決定する。
【0123】
工程532において、アリスは工程530において導出した誤り率に基づいて、量子信号が盗聴されたか否か決定する。誤り率が高ければ高い程、量子信号が盗聴された確率が高く、一般的に約12%より高い誤り率は許容の範囲外であり、好ましくは8%の上限を設定する。誤り率が閾値である8%より高い場合、そのセッションは放棄され(工程534)、アリスは従来のチャネル45Qを介してボブに受信した量子信号データを破棄するよう伝える。
【0124】
誤り率が閾値である8%より低い場合、アリスは従来のチャネル45Qを介してボブに誤り率を送信し、その後、アリスおよびボブの両者はこの誤り率を上述した方法で用いて誤り訂正に用いるシンドロームサイズを決定する。アリスおよびボブの両者は誤り率の決定に用いたデータ値を破棄する。
【0125】
工程538において、ボブは、量子信号送信の残りの部分(例えば残りの90%)における部分的受信データを従来のチャネル45Qを介してアリスに送信し、この部分的受信データは信号を受信したタイムスロットおよびその際の基底(すなわち偏光方向の対)を含むが、受信された際に決定されたデータビット値は含まない。
【0126】
工程540において、アリスは、ボブが量子信号を受信し、かつ正しい基底を用いて受信したビット値を決定したタイムスロットに対して送信されたデータビット値mを決定する。アリスはまた、データビット値mを保持するタイムスロットを特定する情報を、従来のチャネル45Qを介してボブに送信する。工程541において、ボブは受信データrを形成するデータビット値を決定する。
【0127】
動作の次の段階(図27Bにおける工程542〜工程550)は、図4〜図25を参照して上述した方法による受信データrの誤り訂正である。したがって、工程542において、アリスおよびボブは使用するターゲットシンドロームのサイズを決定し、その後、トロイダルウェブクラスの任意の又は同意したサブクラスからなる同一のグラフを独立して生成する。
【0128】
工程544において、アリスは、工程542において生成したグラフを用いてデータmからターゲットシンドロームSを決定し、また、mに対してチェックサムを計算する。アリスは、ターゲットシンドロームSおよびチェックサムを従来のチャネル45Qを介してボブに送信する。
【0129】
工程546において、ボブはSum−Productアルゴリズムを用いて受信データrに対する誤り訂正を実行する。誤り訂正が失敗した場合(ここで、終盤ルーチン179の関連する検査は工程154で実行されると図示してあり、ターゲットシンドロームSおよびmから形成されるチェックサムの整合性をチェックする検査を含む)、ボブは工程550においてアリスにデータmを破棄するよう伝え、ボブは受信データrを破棄する。
【0130】
誤り訂正が成功して、アリスおよびボブの両者が量子信号チャネル40Qを介して共有される新しいランダムデータmを得た場合、アリスおよびボブの両者は同一のプライバシー増幅工程552を実行する。なお、この点において、工程532において実行される誤り率に基づく盗聴チェックにより量子信号送信のどの部分における盗聴も検出できるが、あるタイムスロットにおいて2個以上の光子が量子チャネルを介して送信されるという(非常に小さいものの)有限の確率が存在し、これにより、ボブが光子の一方を受信する一方で、ビームスプリッタを備える盗聴者が他方の光子を受信できるという可能性が残るため、盗聴者が量子信号のうち多少のビットの盗聴に成功する可能性がある。プライバシー増幅工程552を実行するのは、そのような盗聴者への情報漏洩の可能性を解消するためである。
【0131】
プライバシー増幅工程552において、アリスおよびボブはそれぞれ新しく共有した秘匿なデータmのサイズを、必要な安全性のレベルに応じて、決定性を有するランダム置換を用いて縮小する。
【0132】
プライバシー増幅の結果、アリスおよびボブは非常に高い確率で同一の結果m’を得る。しかしながら工程554において、アリスおよびボブは本当にそうであるかどうか、新しく共有した秘匿データm’のハッシュ値を交換することによりそれぞれ再確認するが、その際、送信されるハッシュ値を保護および認証するため、自己のワンタイムパッド503、504から選択したビットによりハッシュ値の排他的論理和をとる。ハッシュ値が異なる(工程556において確認する)場合、新しく共有したデータm’は破棄する(工程558)。
【0133】
交換したハッシュ値が整合する場合、アリスおよびボブは同一の新しい共有データm’を有すると再確認したことになり、それぞれ、新しいデータm’を自己のワンタイムパッド503、504の既存の内容に統合開始する。この統合処理においては、ハッシュ値機能を用いて、外部観測者がワンタイムパッド内の最終的に共有される秘匿なデータについて何ら知らないこと保証する。実際には、統合の前にワンタイムパッドに十分なデータ量が残っている場合、統合動作により十分に不明瞭化でき、ほとんどの場合、プライバシー増幅工程552および続く工程554は省略してもよい。
【0134】
その後、補充後のワンタイムパッドからのデータを用いて、例えば、送信装置2OQおよび受信装置3OQ間で従来のチャネルを介して行われるアプリケーションデータの交換を暗号化するためのセッション鍵(例えば、128ビットのセッション鍵)を生成してもよく、セッション鍵の作成に使用されたデータはワンタイムパッドから破棄される。
【0135】
上述のQKD方法は本発明の一例であり、図27に示した本例の工程は(当業者には明らかな境界の範囲内で)変更および/又は異なる順序で実行してもよいこととする。
【0136】
図4〜図25を参照して上述した誤り訂正方法に関しては、当然ながら様々な変更が可能である。例えば、処理を最小限に抑える目的で、ターゲットシンドロームのサイズはチャネル40の誤り率に基づいて動的に決定されると記載したが、あるいは、全ての可能な誤り率を処理できる所定のシンドロームサイズを選択して動作を行ってもよく、この場合、その他のグラフパラメータも全て同様に規定値である場合、グラフ作成はグラフパラメータデータを交換することなく実行可能である。
【0137】
上述の記載において、誤り訂正グラフは、送信装置20および受信装置30により各対象データ項目m(又は対象データ項目集合)に対して動的かつ独立して作成されるが、トロイダルウェブクラスのグラフは以下のような装置に用いてもよい。
【0138】
用いられる誤り訂正グラフが固定であって、送信装置および受信装置内にプレインストールされている装置。
【0139】
送信装置および受信装置のうち一方のみがグラフを生成し、形成されたグラフは他方の装置に送信される装置。
【0140】
および、ターゲットシンドロームが、例えばトロイダルウェブクラスの誤り訂正グラフが標準的な線形ブロック符号に基づく誤り訂正装置で使われた場合のようにゼロベクトル等の規定値である装置。
【技術分野】
【0001】
本発明は、データ通信装置において、雑音を発生するチャネルである雑音チャネル(noisy channel)を介して送信されるデータの誤り訂正に使用するデータ処理装置に関し、詳細には、量子鍵配送(QKD:Quantum key distribution)方法および装置に関するが、これに限定されるものではない。
【背景技術】
【0002】
QKD方法および装置の開発により、非常に高い盗聴者検出率を有する方法で2つの当事者がランダムデータを共有することが可能である。すなわち、盗聴者が検出されない場合、当事者は、共有するランダムデータが秘匿であると高い確率で確信できる。QKD方法および装置は、例えば特許文献1〜3に記載されている。例えばBB84プロトコルに基づく自由空間を利用した装置等、多くの公知のQKD装置において、ランダムに偏光した光子を送信装置から受信装置に送信する。
【0003】
用いられるQKD装置がどのようなものであっても、QKD方法は通常、ランダムデータ集合を、量子信号チャネルを介してQKD送信器からQKD受信器に送信し、その後、QKD送信器および受信器は、量子信号チャネルを介して送受信したデータを、安全性の低い従来の通信チャネルを介してQKD送信器および受信器間で交換したメッセージを用いてそれぞれ処理し、ランダムデータ集合の共有サブセットを抽出する。量子信号チャネルは雑音を含むため、このチャネルを介して受信されるデータの処理は、誤り訂正する段階を含む。しかしながら、線形ブロック符号を用いたデータの符号化/復号等の標準技術では、送信される光子のうち数パーセントしか受信されないため、量子信号チャネルを介して送信されるデータの誤り訂正は無理である。代わりに、量子信号チャネルを介して送信されるデータの誤り訂正は、誤りがない、又は標準的な誤り訂正技術により誤りをなくした従来のチャネルを介して交換されるメッセージに依存する。従来の通信チャネルは、ランダム化技術により情報の漏洩を最小限にできるため、機密である必要がない。仮に従来のチャネルが機密であったとしても、盗聴者を検出する特性は有しておらず、したがって量子信号チャネルの代わりに用いることはできないと考えられる。
【0004】
本発明は誤り訂正に関し、とりわけ、量子信号チャネルを介して送信されるランダムデータの訂正に用いることが可能である。
【0005】
従来の通信チャネルを介して送信されるデータの誤り訂正を実行する際に線形ブロック符号を用いることは、公知である。簡単に説明すると、添付の図面の図1に示すとおり、雑音チャネルを介して送信するメッセージを各々がk個のシンボルからなるデータブロックmに分割するが、このシンボルは通常2進ビットであり、以下においては、別途記載のない限り2進ビットからなるものとする。各メッセージブロックはkビットの行ベクトルmとして表すことができる。各メッセージブロックは符号器11において対応するnビットの符号語(行ベクトルcで表す)に符号化され、この場合n>kである。使用する符号語cは、所定の符号語集合(「符号」C)から選択する。kビットのメッセージブロックおよびnビット符号語の場合、対応する符号Cは(n,k)符号と称する。メッセージブロックmを対応する符号語cに符号化した後、その符号語を雑音チャネル10を介して送信器13により送信し、チャネル終端において受信器14で受信し、受信器からnビットの受信語(行ベクトルrで表す)として出力する。チャネル10を介した送信において誤りが全く発生しない場合、受信語rは送信された符号語cに当然一致し、受信語rを元のメッセージブロックmに変換するため復号器12にそのまま送信される。しかしながら、一般的には受信語rは送信された符号語cには一致しないが、それでも復号器12が、符号器11が用いる符号Cを認識しており、かつ誤りの数が限られている場合、復号器12はメッセージブロックmを復元できる。
【0006】
線形ブロック符号は生成器およびパリティ検査行列により定義される。詳細には、線形ブロック符号Cは対応するパリティ検査行列Hのゼロ空間により定義され、符号Cの各符号語cとパリティ検査行列Hの転置の積は以下のようにゼロベクトルとなる。
c・HT=0
添付の図面の図2は、(7、3)線形ブロック符号のパリティ検査行列H1の例を示す。図2に示すパリティ検査行列H1に対応する符号は、正則(regular)「低密度パリティ検査」又は「LDPC(low density parity check)」符号と呼ばれるものであり、この名前はパリティ検査行列が疎行列であることを反映しており、「正則」という形容詞は、全ての行が同一の重みを有し、全ての列もまた同一の重みを有することを表す。LDPC符号は、サイズが大きいメッセージブロックとの使用に特に望ましい。
【0007】
受信語rとパリティ検査行列の転置の積はrの誤りシンドロームと呼ばれ、本明細書においてはベクトルSで表し、次式が成り立つ。
S=r・HT
誤りシンドロームSがゼロの場合は当然、受信語rは符号語cである。
【0008】
実質的に、パリティ検査行列Hの各行は有効な符号語cと判断されるために受信語rが満たすべき制約を定義する。より詳細には、各行は受信語rにおいて値をモジュロ2加算(二進数シンボルの場合)するとゼロとなるべきビット位置を示す。言い換えると、パリティ検査行列の各行が示すモジュロ2加算の結果が誤りシンドロームの対応するビットを生成する。
【0009】
パリティ検査行列Hの行により定義される制約集合はタナーグラフとして知られる二部グラフにより図で表現することができ、このグラフは、
各々が入力変数(ここでは受信語r)の各ビット位置に対応する第1のノード群(本明細書において「変数」ノードと称し、アルファベットの「v」で示す)と、
各々が各モジュロ2加算、およびしたがってパリティ検査行列の各行に対応する第2のノード群(本明細書において「総和(sum)」ノードと称し、非太字のアルファベットsで示す)と、
各総和ノードsをパリティ検査行列の対応する行に基づいて選択される各変数ノードvに接続するエッジとを備える。
モジュロ2加算により総和ノードsで生成される値および接続される入力変数(受信語r)のビット位置の値により誤りシンドロームSが得られる。添付の図面の図3は、図2に示すパリティ検査行列H1のタナーグラフ15を示し、このグラフは7個の変数ノード16(v1〜v7の記号で示す)、7個の総和ノード17(s1〜s7の記号で示す)、およびエッジ18を備える。
【0010】
タナーグラフはすべて、変数ノードおよび総和ノードが、その他の視覚的ネットワーク配置図ではなく、グラフにより構築されるノードおよびエッジからなるネットワークにおいて相互接続することを特徴とするものと考えられ、例えば、タナーグラフ15の変数ノードv1〜v7を、入力変数のビット位置に対する変数ノードv1〜v7の対応性又は総和ノードに対する各変数ノードの相互接続を変更することなく、図3に示す順番と異なる順番で配置しても、単に視覚的表現が変わるだけでタナーグラフが変化する訳ではない。この表現は当然視覚的である必要はなく、詳細には、コンピュータ環境においては理論的表現(ノードの種類および他のノードとの接続を示すノードのリスト等)からなっていてもよく、これは、グラフを作成又はグラフを用いて動作する処理装置が記載されている以下の本発明の説明にも適用されることする。
【0011】
受信語rが少なくとも1個の誤りを含むか否かは誤りシンドロームSが非ゼロか否かチェックすることにより容易に決定できるが、誤り訂正はより複雑である。誤り訂正方法(例えばLDPC符号との使用に適する)の一つに、反復的確率伝搬法又は「Sum−Product」アルゴリズムとしても知られる確率論的反復復号法がある。この方法は、引用することにより本明細書に組込む非特許文献1等、様々な参考文献に記載されており、上記の文献はインターネット上においてwww.inference.phy.cam.ac.uk/mackay/itila/book.htmlでも入手可能である。
【0012】
このSum−Productアルゴリズムは、パリティ検査行列により定義される制約の上述のようなグラフ表現に対応するノードおよびエッジからなるネットワークに基づく。より詳細には、Sum−Productアルゴリズムは、入力変数(受信語r)の対応するビットが特定の値(ゼロ等)である確率に対応する確率を、各変数ノードvに事前に与える。この確率は受信語rを受信したチャネルの誤り率に依存し、例えば、チャネル誤り率が0.05であった場合、受信語rにおける「0」が実際に「0」である確率は0.95であり、受信語rにおける「1」が実際には「0」である確率は0.05である。
【0013】
各総和ノードsは、変数ノードに符号語が提示されると総和ノードが生成する値に対応する出力値を与えられ、上述の条件において、この値は当然ゼロである。全総和ノードに対する出力値からなる順序集合は、本明細書においては、任意の誤りシンドローム値に対応することから「ターゲットシンドローム」Sと称し、すなわち、上述の条件においてはゼロベクトルである。
【0014】
その後、確率は一連のサイクルでノード間でエッジに沿って交換され、各サイクルの度に、変数ノードの入力値が制約を満たす値(すなわち、ターゲットシンドロームに整合する総和ノードの出力値に一致する値)を取ることにより収束が得られるまで、変数ノードに与えられる確率が調節される。各サイクルは、以下の2個の段階を備える。
【0015】
段階1:各変数ノードから接続する総和ノードにメッセージが送信され、これにより、各総和ノードは接続する各変数ノードに現在与えられている確率を知る。次に、各総和ノードは、接続する各変数ノードに対して、与えられている総和ノードの出力値およびその他の接続する変数ノードから受信する確率に基づいて、対象の変数ノードが前述の特定の値を有する確率を決定する。
【0016】
段階2:各総和ノードから接続する変数ノードにメッセージが送信され、これにより、各変数ノードは接続する各総和ノードにより自己に対して現在決定されている確率を知る。次に、各変数ノードは、接続する総和ノードから受信した確率に基づいて自己に新しい確率を与える。
最終的には、各変数ノードにおける確率は、グラフにより設定される制約を満たす対応する入力値を示す推定値「1」又は「0」として収束および安定する必要がある。
【0017】
以上においてSum−Productアルゴリズムを確率の観点から記載したが、この確率は直接的な確率の他に様々な方法で表わしてもよく、例えば、対数確率、又は尤度/対数尤度を用いることも同様に可能である。本明細書における、Sum−Productアルゴリズムにより制御される確率に関する記載は、そのような他の表現方法も含むものとする。
【0018】
上述したように、「ターゲットシンドローム」は受信語rに対応する符号語cを読出す場合ゼロ値を有する。しかしながら、それに制限されるものではない。例えば、ターゲットシンドロームは実際には誤りシンドローム自体であって、Sum−Productアルゴリズムを用いて雑音ベクトルに対する値を抽出してもよい(上述の参考文献の図47.2cおよび558、559ページを参照)。
【先行技術文献】
【特許文献】
【0019】
【特許文献1】米国特許第5,515,438号
【特許文献2】米国特許第5,999,285号
【特許文献3】英国特許出願公開公報2427317号
【非特許文献】
【0020】
【非特許文献1】David J. Mackay著、「Information Theory, Inference and Learning Algorithms」、Cambridge University Press出版、2003 ISBN0521642981、559ページ
【発明の概要】
【課題を解決するための手段】
【0021】
本発明の一特性によれば、2進データ集合から選択される各データビットをモジュロ2加算した複数の順序演算結果を抽出する処理装置を備え、この選択は、有限トロイド(finite toroid)を覆うセルの連続体を少なくとも定義するノードおよびエッジからなる論理ネットワークにおける総和ノードの変数ノードへの接続に基づいており、該セルの各々は、交互に配置され、エッジによりループ状に相互接続する同一数の変数ノードおよび総和ノードにより区切られており、変数ノードの各々は2進データ集合のビット位置にそれぞれ対応し、総和ノードの各々はモジュロ2加算した演算結果にそれぞれ対応するデータ通信装置を提供する。
【0022】
本発明の他の特性によれば、反復的確率伝搬法を適用して受信される2進データ集合のビット値尤度を調節し、これにより受信されるデータ集合から選択される各ビットの推定値をモジュロ2加算した複数の順序演算結果がターゲットシンドロームと整合する誤り訂正装置であって、この選択は、有限トロイドを覆うセルの連続体を少なくとも定義するノードおよびエッジからなるネットワークにおける総和ノードの変数ノードへの接続に基づいており、該セルの各々は、交互に配置され、エッジによりループ状に相互接続する同一数の変数ノードおよび総和ノードにより区切られており、変数ノードの各々は受信されるデータ集合のビット位置にそれぞれ対応し、総和ノードの各々はモジュロ2加算した演算結果にそれぞれ対応する誤り訂正装置を提供する。
【0023】
以下に、例示のみを目的として、実施例を示す添付の図面を参照して本発明を説明する。
【図面の簡単な説明】
【0024】
【図1】図1は、雑音チャネルを介して公知の方法により送信するためのメッセージの符号化処理を示す図である。
【図2】図2は、公知の形態のパリティ検査行列の例を示す。
【図3】図3は、図2に示すパリティ検査行列に対応するタナーグラフを示す。
【図4】図4は、本発明の実施の形態による装置の一般的な形態を示す図である。
【図5】図5は、図4に示す装置により実行されたSum−Productアルゴリズムにおける失敗率の、異なるチャネル誤り率に対するターゲットシンドロームサイズへの依存性を示すグラフである。
【図6】図6は、セルが平面方向に伸長して円環状に接続されてトロイダル連続体を形成する様子を示す図である。
【図7】図7は、エッジにより相互接続して、円環状に接続されてトロイド面を形成する12個の六角形セルを定義する変数ノードおよび総和ノードからなるネットワークを示す図である。
【図8】図8は、図7に示すノードおよびエッジからなるネットワークにより定義される制約をタナーグラフ表現したものである。
【図9】図9は、ノードおよびエッジからなるクモ構造をトロイダル連続体に付加することにより伸長した図7に示すネットワークを示す図である。
【図10】図10は、図10に示すノードおよびエッジからなるネットワークにより定義される制約をタナーグラフ表現したものである。
【図11】図11は、図9に示すノードおよびエッジからなるネットワークにより定義される制約をパリティ検査行列表現したものである。
【図12】図12は、複数の十字型セルを定義するノードおよびエッジからなるネットワークを示す図である。
【図13】図13は、オフセット配置される6個のノードからなる矩形セルを定義するノードおよびエッジからなるネットワークを示す図である。
【図14】図14は、非オフセット配置される6個のノードからなる矩形セルを定義するノードおよびエッジからなるネットワークを示す図である。
【図15】図15は、図4に示す装置により実行されたSum−Productアルゴリズムにおける失敗率の、異なるネットワーク構成に対するターゲットシンドロームサイズへの依存性を示すグラフである。
【図16】図16は、図14に示すセルの好ましい配置をノードおよびエッジからなる標準ビルディングブロックから形成する方法を示す図である。
【図17】図17は、図4に示す装置の受信装置の動作を示すフローチャートである。
【図18】図18は、図17に示すフローチャートの誤り訂正段階において実行される終盤ルーチンの好ましい形態を示すフローチャートである。
【図19】図19は、シンドローム誤りパターンの候補を示す図である。
【図20】図20は、シンドローム誤りパターンの候補を示す図である。
【図21】図21は、シンドローム誤りパターンの候補を示す図である。
【図22】図22は、シンドローム誤りパターンの候補を示す図である。
【図23】図23は、シンドローム誤りパターンの候補を示す図である。
【図24】図24は、シンドローム誤りパターンの候補を示す図である。
【図25】図25は、シンドローム誤りパターンの候補を示す図である。
【図26】図26は、本発明の実施例による量子鍵配送(QKD)装置の概略図である。
【図27A】図27Aは、図27Bとともに、図26に示すQKD装置の動作方法の例を示す機能フローチャートである。
【図27B】図27Bは、図27Aとともに、図26に示すQKD装置の動作方法の例を示す機能フローチャートである。
【発明を実施するための形態】
【0025】
以下においてはまず、本発明の実施例を図4に示す一般的な条件を参照して説明し、量子鍵配送という特定の条件の適用については、図26および図27を参照して後に説明する。
【0026】
図4に示す装置において、対象データ(本明細書においては行ベクトルmで表す2進データ集合)は、送信装置20の第1の送信器21により第1の雑音チャネル40を介して受信装置30の第1の受信器32に送信され、第1の受信器32の出力は誤りを含む受信データ(本明細書においては行ベクトルrで表す2進データ集合)となる。便宜上、行ベクトルmおよびrを用いて対象データおよび受信データを表すが、これは第1のチャネル40が、そうである場合が多いとは言え、ビットシリアルチャネルであることを意味するものではない。
【0027】
送信側処理装置23および受信側処理装置33が連動することにより、受信側処理装置34の誤り訂正ブロック34は受信データrにおける誤りを訂正でき、これにより元の対象データmを復元できる。送信側処理装置23および受信側装置33は、データ項目(本明細書においては一般的に「補助」データと称する)を、それぞれ送受信器22および32を介して第2のチャネル45を介して相互に送信できる。チャネルの信頼性が高く誤りが発生しないため、又はより典型的には、送受信器22、32が受信側の送受信器から確実に誤りのなく出力するのに適した技術(例えば、誤り検出と誤りデータ項目の再送を組合せたもの、線形ブロック符号又はその他の方法を用いて誤り訂正を実行するもの等)を採用しているため、各送受信器22、32により対応する処理装置23、33に出力される受信データ項目は誤りを含まない。
【0028】
一般論として、送信側処理装置23および受信側処理装置33は以下のように連動して受信データrの誤りを訂正する。
【0029】
1.処理装置23、33は同一のタナーグラフに基づいて動作、すなわち、同一のタナーグラフのノードおよびエッジに対応する相互接続する変数ノードおよび総和ノード論理のネットワークに基づいて、演算を実行する。タナーグラフは固定ではないが、以下により詳細に説明するように、疑似ランダムではあるが、決定性を有する方法で対象データmの各項目(又は項目群)に対して、各処理装置23、33により独立して作成される。
【0030】
2.送信側処理装置23は、タナーグラフを用いて対象データmからターゲットシンドロームSを演算、すなわち、対象データmのビットがタナーグラフにより指定される論理ネットワークの変数ノードに適用される値を定義し、論理ネットワークの総和ノードにおいてモジュロ2加算により生成される値の順序集合がターゲットシンドロームSを形成する。
【0031】
3.ターゲットシンドロームSは、送信側処理装置23により補助データとしてチャネル45を介して受信側処理装置33に送信される。
【0032】
4.受信側処理装置33の誤り訂正ブロック34はSum−Productアルゴリズム(反復的確率伝搬法)を論理ネットワークに適用するが、この論理ネットワークは、送信側処理装置23から受信するターゲットシンドロームSにより設定される総和ノードの出力値、および受信データrのビット値およびチャネル40の誤り率により設定される変数ノードの初期値を用いてタナーグラフにより指定される。
【0033】
5.Sum−Productアルゴリズムは、誤り訂正ブロック34により用いられる論理ネットワークの変数ノードにおいて、ターゲットシンドロームSに一致する推定値を生成し、この推定値は対象データmとして出力される。
【0034】
処理装置23および33は通常、支援メモリおよびサブ入力/出力装置を備える、プログラム制御によるプロセッサの形式で設けられ、図4に示すとおり、機能的に以下のようなブロックを備える。
【0035】
送信側処理装置23の機能ブロック:
対象データmの所定の選択されたビットをモジュロ2加算で演算した複数の順序付けされた演算結果を求めることによりターゲットシンドロームSを決定するブロックであって、ビットの所定の選択は、局所的に作成されたタナーグラフにおける総和ノードの変数ノードへの接続により定義されるターゲットシンドローム決定ブロック24;
ターゲットシンドローム決定ブロック24用に、疑似ランダムではあるが決定性を有する方法でタナーグラフを生成するグラフ作成ブロック(別称、ネットワーク作成ブロック)25;
シンドロームサイズ決定ブロック27;および、
処理装置23の送信側の動作および受信側処理装置33との補助データの交換を制御する制御ブロック26。
【0036】
受信側処理装置23の機能ブロック:
既に概略を上述した誤り訂正ブロック34であって、反復的確率伝搬法を適用して受信データrのビット値尤度を調節することにより受信データrにおける誤りを訂正し、これにより、受信データrの所定の選択されたビットの推定値をモジュロ2加算で演算した複数の順序付けされた演算結果が 送信側処理装置23から受信したターゲットシンドロームSに一致し、ビットの所定の選択は、ターゲットシンドローム生成に使用されたタナーグラフを局所的に作成したものであるタナーグラフにおける総和ノードの変数ノードへの接続により定義される、誤り訂正ブロック34;
誤り訂正ブロック24用に、疑似ランダムであるが決定性を有する方法によりタナーグラフを生成するグラフ作成ブロック(別称、ネットワーク作成ブロック)35;および、
受信側処理装置33の動作および送信側処理装置23との補助データの交換を制御する制御ブロック36。
【0037】
ターゲットシンドローム決定ブロック24および誤り訂正ブロック34の一般的な動作は、当業者にとっては上述の記載から明らかであり、したがって、以下においては、誤り訂正ブロックがSum−Productアルゴリズムが有効な一連の処理をいつ完了したか決定するための好ましい「終盤(end game)」ルーチン(図18および以下の関連する記載を参照)を除いては説明しない。代わりに、図4に示す実施の形態に関する記載の残りの部分においては主に、処理装置23、33のグラフ作成ブロック(別称、ネットワーク作成ブロック)25、35が、それぞれブロック24および34による使用に適合するタナーグラフを生成する方法を中心に説明する(なお、2個のグラフ作成ブロック25、35により対象データmの任意の項目に対して生成されるグラフは同一の構成を有することとする)。詳細には、タナーグラフの、後に説明する理由から以下において「トロイダルウェブ(toroidal web)」クラスと称する一般的なクラスにそれぞれ属するグラフのサブクラスの様々な実施例の生成方法を(図6から図17を参照して)説明する。タナーグラフのトロイダルウェブクラスは、構造が相対的に容易(したがって動的なグラフ作成に適する)で、得られるグラフに特定の特性を与える特に一般的な構造を有することを特徴とする。対応する疎なパリティ検査行列にマッピングできる上述のグラフは、例えば1メガビットの長さを有する大型のメッセージにおける誤りを反復的確率伝搬法(LDPC符号のタナーグラフを疎なパリティ検査行列にマッピングし、反復的確率伝搬法と組合せて実行するのに適した方法と同一の方法)により訂正するのに適している。
【0038】
グラフ作成ブロック25および35は同一のグラフ構成アルゴリズムに基づいて動作するよう構成され、このアルゴリズムは、トロイダルウェブクラスグラフの事前選択されるサブクラスを作成するよう構成されることとするが、選択されたサブクラス内において、このアルゴリズムは様々なパラメータ値に応じて非常に多数の異なるタナーグラフを生成可能である。同一のグラフを生成するためには、グラフ作成ブロック25、35は同一のパラメータ値を使用する必要がある。そのようなパラメータは、
対象データ項目mのサイズ(この値は対象データ項目m毎に異なっていてもよく、又は全対象データ項目mに対して事前に同一の特定の値に固定してもよい)と、
ターゲットシンドロームSのサイズ、又はシンドロームサイズを決定するパラメータ値(この値も同様に固定値であってもよいが、以下から明らかなように、一般的には望ましくない)と、
グラフ作成の際に実行される所定の動作におけるランダム性を規定するパラメータとを含み、このパラメータは共有の秘匿なランダムデータ(例えば、共有のワンタイムパッドにより得られる)又は疑似ランダムであり決定性を有する数の生成器PNGの動作パラメータ(初期化ベクトル等)であってもよい(後者である動作パラメータ値は、定期的な同期チェック又は再初期化が望ましいものの、通常は固定値である)。
グラフ作成アルゴリズムのパラメータが動的に(すなわち、新しい対象データ項目m毎、又は対象データ項目m群毎に)決定される場合、この決定処理は通常、送信側処理装置23およびチャネル45を介して補助データとして受信側処理装置33に伝送される値により実行されるが、適切な状況においては、受信側処理装置33がパラメータ値を決定し、そのパラメータ値を送信側処理装置23に送信してもよく、又は処理装置23、33間で使用する値を協議してもよい。
【0039】
また、グラフ作成ブロック25、35により実行されるグラフ構成アルゴリズムを、トロイダルウェブクラスグラフの複数のサブクラス雑音れかを構成するよう構成してもよく、この場合、使用されるサブクラスは動的に決定されるグラフ作成パラメータの一つとなる。
【0040】
図4に示す実施の形態に関する以下の説明において、シンドロームサイズのみが、各対象データ項目m毎に新しく動的に決定されることとする。
【0041】
より詳細には、送信側処理装置23のブロック27は、第1の雑音チャネル40の現在の誤り率に基づいてシンドロームサイズを決定する。チャネル40の誤り率は、既知の送信データを実際に受信したデータと比較することにより測定され、この比較処理は処理装置23および処理装置33のどちらにより実行してもよいが、本実施例においては送信側処理側のブロック27により実行し、ブロック27には、送信器21から既知の送信データが、また受信側処理装置33からチャネル45を介して受信データが供給される。なお、誤り率の決定に使用されるデータは一般的に、対象データmを、チャネル40を使用して送信可能にする第1のチャネル40の特定の特性を有していない(例えば、チャネル40が量子信号チャネルである場合、チャネル45はチャネル40が有するような盗聴者を確実に検出する特性を有していない)チャネル45を介して送信されるため、対象データmとは異なっている(又は分離している)必要がある。
【0042】
チャネル40の誤り率を決定すると、ブロック27はその誤り率を用いて任意のシンドロームサイズを決定し、その情報をグラフ作成ブロック25および35に送信する。又は、上述したように、ブロック27は決定した誤り率を受信側処理装置33に送信して、受信側処理装置33自体がシンドロームサイズを決定するようにしてもよい(この決定処理はブロック27と同一の方法で実行され、これによりグラフ作成ブロック25、35が同一のシンドロームサイズ値を得る)。
【0043】
以下に、ブロック27がチャネル40の誤り率から任意のターゲットシンドロームサイズを決定する方法を、図5を参照して説明する。図5は、チャネル40の異なる誤り率について、グラフ作成ブロック25、35により作成されるタナーグラフのサブクラスに適用される反復的確率伝搬法による処理(誤り訂正ブロック34が用いる処理)における失敗率がシンドロームサイズに応じて異なる様子を示すグラフであり、この場合、失敗率とは、反復的確率伝搬法による処理において、タナーグラフの変数ノードにおいて、ターゲットシンドロームに一致する推定値の生成に失敗した場合をさす。図5において、シンドロームサイズは対象データmのサイズに対する割合として表され、この割合は100%より大きくてもよい。
【0044】
図5は、チャネル40の異なる誤り率にそれぞれ対応する3個の曲線51、52、53を示し、最大の誤り率が曲線51に対応し、最小の誤り率が曲線53に対応する。各曲線51〜53は同一の略階段形状を有し、これは、ターゲットシンドロームが所定のサイズより小さい場合、失敗率は約100%であり、シンドロームサイズ閾値より大きい場合、失敗率は低くなることを示している。曲線51〜53から分かるとおり、誤り率が増大するとシンドロームサイズ閾値も増大する。
【0045】
シンドロームサイズ決定ブロック27は、決定されるチャネル40の誤り率に対して、シンドロームサイズ閾値より大きいシンドロームサイズを選択するよう構成され、これにより、誤り訂正ブロック34が実行する反復的確率伝搬法による処理の失敗率を確実に低く抑えることができる。効率性の観点から、選択されるシンドロームサイズはサイズ閾値より数パーセントだけ大きいものとする。
【0046】
以下において、各グラフ作成ブロック25、35が、対象データmの任意のサイズp(ビット)およびターゲットシンドロームの任意のサイズq(ビット)に対応するタナーグラフのトロイダルウェブクラスの事前選択されるサブクラスのグラフを構成するために実行するグラフ構成アルゴリズムを考える。グラフ構成アルゴリズムは実際には、対象となるサブクラスに関わらず、エッジにより相互接続する変数ノードおよび総和ノード(すなわち、対象データmの各ビットに対応する各変数ノードおよびターゲットシンドロームSの各ビットに対応する各総和ノード)からなるネットワークを構成し、以下の2個の主段階を備える。
【0047】
第1段階において、同一数の(pおよびqのうち小さい方により決定される)変数ノードおよび総和ノードは有限トロイドを形成するセルの連続体内に配置され、各セルは、交互に配置され、エッジによりループ状に相互接続する同一数の変数ノードおよび総和ノードにより区切られている。
【0048】
第2段階において、変数ノード又は総和ノードのうち一方(第1段階において全部が使用されていない方)のノードをそれぞれ備える複数の「クモ構造」が定義され、この変数ノード又は総和ノードのうち一方は、第1段階においてセルの連続体を定義する処理に用いられた変数ノード又は総和ノードのうち他方のノードからランダムに選択されたノードに所定数のエッジを介して接続される。
第2段階は、対象データのビット数pがターゲットシンドロームのビット数qと異なる場合のみ必要となる。変数ノードを総和ノードに有効に接続するのはエッジである。
【0049】
上述のような一般的なグラフ構成アルゴリズムに基づいて作成可能なグラフは「トロイダルウェブ」クラスのグラフを形成し、この名前の重要性は今や明らかである。更に、グラフ構成アルゴリズムの第1段階において用いられるセルの形状および相互関係が、得られるグラフのサブクラスを決定する。
【0050】
図6、図7、および図9は、対象データサイズpが15、およびターゲットシンドロームサイズqが12の場合の、「六角形」サブクラス(グラフ構成の第1段階で用いられるセルが六角形形状を有するため)のグラフを作成する実施例を簡略に示す。この場合、グラフ構成の第1段階において12個の変数ノードおよび12個の総和ノードにより12個の六角形セル61(図6参照)を形成し、この六角形セル61は6個ずつ2列に配置されて端と端(矢印63)および上と下(矢印62)がそれぞれ接続されて円環のようになっており、有限トロイド面を形成するセルの連続体を形成する。図7はノードの配置をより詳細に示し、12個の変数ノードはv1〜v12の記号で示し、12個の総和ノードはs1〜s12の記号で示す。図から分かる通り、各六角形セルは交互に配置される3個の総和ノードおよび3個の変数ノードからなり、例えば、セル77は、それぞれ変数ノードv1、総和ノードs1、変数ノードv2、総和ノードs8、変数ノードv7、および総和ノードs8からなるノード71〜76を備える。セルは共有のエッジを有し、これにより各ノードは実際には区切られた3個のセルで共有される。トロイド状のセルの連続体70を形成するためにセルを円環状に接続する構造は、最上列のノード(ノードv1、s1、v2、s2、v3、s3、v4、s4、v5、s5、v6、s6)を最下列のノードとして反復(点線で示す)し、最左列のノード(v1、s7、v7、s1)を最右列のノードとして反復するにより表す。
【0051】
図8は、図7に示すノードおよびエッジからなるネットワークを、タナーグラフの図示においてより一般的に利用される形状80(例えば図3において使用)に書き換えたものであり、変数ノードv1〜v12は上方で順番に配置され、総和ノードs1〜s12は下方で順番に配置される。図7においてセル77を定義するエッジは、図8において太線(81参照)で示す。なお、図7、およびしたがって図8は、本実施例に対して、部分的にのみ完成したグラフを表わしているものとする。
【0052】
また、タナーグラフを図示する際、変数ノードの順序は一般的に対象データにおけるビットの順序に対応し、一方、図7に示すネットワークを書き換えたものである図8においては、変数ノードの順序は、以下に記載するように対象データmにおけるビットの順序に対応する場合もしない場合もある、添字番号に基づく。図7に示すように変数ノードの番号が対象データmの対応するビットの位置に一致しない場合、図7を、変数ノードを対象データmの対応するビットの順序に基づいて順番に並べて書換えても、基底構造の規則性がはっきりと表れない可能性が高い。
【0053】
グラフ構成の第2段階において、第1段階には関与しない3個の過剰な変数ノード(ノードv13、v14、v15)は六角形セルからなるトロイダル連続体70に接続される。この接続は以下のように実行される。3個の過剰な変数ノードv13、v14、v15の各々は順次選択されて、自己を3個のランダムに選択される総和ノード(既にトロイダル連続体70内に組込まれている)に接続するよう規定される。視覚的観点からすると、図9に示す通り、過剰な変数ノードv13、v14、v15の各々は、自己をトロイダル連続体70に接続する3個の脚を有するクモ構造90の本体を形成し、したがって、図9は、総和ノードs1、s10、およびs12に接続する過剰な変数ノードv13、総和ノードs2、s5、およびs9に接続する過剰な変数ノードv14、総和ノードs6、s8、およびs11に接続する過剰な変数ノードv15を示す。好ましくは、総和ノードを過剰な変数ノードにランダムに割当てる処理は、ランダムに構成した総和ノードのリストを作成し、各過剰な変数ノードv13、v14、v15の各々に対して、作成したリストの最上位の3個組の総和ノードを順次選択することにより実行され、過剰な変数ノードに対して全てのクモ構造90が作成される前にリストの総和ノードが使果たされた場合、総和ノードのリストを新しくランダムに構成して、残存する変数ノードに対して処理を繰返し実行する(処理は必要回数実行してもよい)。
【0054】
シンドロームビット(すなわち総和ノード)の数qが対象データビット(すなわち変数ノード)の数pより大きい場合、上述のグラフ構成の第2段階において変数ノードおよび総和ノードの役割は逆になる。更に、各クモ構造における脚の数は3個に制限されるものではなく、好ましくは4個である。
【0055】
上述の方法によりクモ構造を構成することにより、トロイダル連続体70において「脚」が疑似ランダムではあるが非常に均等に配置され、正則(すなわち、効率的に構成可能)なトロイダル連続体70にランダム性を付加する。
【0056】
タナーグラフにおいて長さ4のサイクルは一般的に望ましくないため、好ましくは、新しくクモ構造90が形成される度に長さ4のサイクルが作成されていないかチェックし、長さ4のサイクルが生成されていた場合、そのクモ構造は拒否され、代わりに新しいクモ構造が作成される。長さ4のサイクルのチェックは以下のように非常に単純である。
【0057】
(i)新しいクモ構造の「足先」(すなわち、クモ構造の本体を形成する過剰なノードに直接接続されるトロイダル連続体のノード)が、トロイダル連続体において、2個以上のノードを介して相互に分離されているかチェックし、
(ii)また、新しいクモ構造の2個の足先と別のクモ構造の2個の足先が異なっているか(すなわち異なるノードであるか)チェックする。
【0058】
図10は、図9に示すネットワーク(トロイダル連続体70およびクモ構造90の両方)をタナーグラフの図示においてより一般的に利用される形状100に書換えたものである。図10は、本実施例に対して構成される完全な六角形サブクラスグラフを表す。なお、図8に示す書替図と同様に、この書替図における変数ノードの順序は、対象データmのビット順序に一致する場合もしない場合もある添字番号に基づく。
【0059】
実際には、対象データ項目mのビット位置を図9に示すネットワークの変数ノードに対応させる処理は所定の方法(例えば、ノード添字により示すノード番号又はその他所定の対応パターンに基づいて)で実行してもよく、又は、疑似ランダムに(グラフ作成ブロック25、35のそれぞれで独立して実行可能な決定性を有する方法で)決定してもよい。総和ノードについては、必要なのは、ターゲットシンドローム決定ブロック24がターゲットシンドロームSを生成する際に使用する順序を、誤り訂正ブロック34がターゲットシンドロームを用いる際にも使用するという点だけである。
【0060】
図11は、図10に示すグラフに対応(当然、図9に示すネットワークにも対応)する、対象データmのビット位置をノード添字に基づいて変数ノードに対応させるためのパリティ検査行列H2(参照符号110)を示す。図11は、この行列が疎であることを示す。既に説明したように、行列H2の各行は、モジュロ2加算により対応するターゲットシンドロームのビット値を演算するために選択される対象データビットを表す。
【0061】
上述のトロイダルウェブクラスのグラフの実施例は「六角形」サブクラスグラフであり、すなわち、トロイダル連続体が六角形セルからなる。図12〜図14は、トロイダルウェブクラスグラフの他のサブクラスのトロイダル連続体を構成するために使用される以下のような異なる形状のセルを示す。
【0062】
図12は、「十字型」サブクラスグラフのトロイダル連続体の一部120を示し、連続体の一部120は、各々が、交互に配置され、かつエッジを介して相互接続する6個の総和ノードおよび6個の変数ノードを備える4個の十字型セル121〜124からなる。完全な連続体において、各セルの境界上においてノードは3個おきに3個の隣接するセルにより共有され、エッジにより4個の他のノードに接続し、そのうち2個のノードが同一のセルに属する。各セルのその他のノードは、対象のセルのノードにのみ接続。
【0063】
図13は、図14に示す実施例と比較する目的で、「六角形」サブクラスグラフのトロイダル連続体の一部130を示し、ここでは六角形セルはオフセット配置され6個のノードからなる矩形として書替られている。図示のトロイダル連続体の一部130は6個のノードからなる6個の矩形セル131〜136からなり、6個の矩形セル131〜136は3列に配置され、中央の列はその他の2列に対して水平方向にオフセット配置される。各セル131〜136は、交互に配置され、エッジを介して相互接続する3個の総和ノードおよび3個の変数ノードを備える。各セルにおいて、4個のノードはセルの頂点に配置され、(完全な連続体において)、この4個のノードは2個のその他のセルと共有であり、3個のその他のノードに接続し、そのうち2個のノードが同一のセルに属する。セルの残りの2個のノードは、セルの対向する1組の側部のそれぞれに沿って中央に配置され、また、2個のその他のセルと共有であり、かつ3個のその他のノードに接続し、そのうち2個のノードが同一のセルに属する。
【0064】
図14は、「非オフセット配置される6個のノードからなる矩形」サブクラスグラフのトロイダル連続体の一部140を示し、該連続体の一部140は6個のノードからなる8個の矩形セル141〜148からなり、各矩形セル141〜148は図13に示す実施例の6個のノードからなる矩形と同一形状を有するが、非オフセットで配置される列として配置される。この場合、完全な連続体において、各セルにおいてセルの頂点に配置される4個のノードは3個の隣接するセルと共有されており、同一のセルに属する2個のその他のノードに接続し、セルの残りの2個のノードはそれぞれ対象のセルの2個のノードにのみ接続する。
【0065】
セルの「形状」は主に、論理ネットワークを視覚表現する処理を説明する際の便宜上のもので、大切なのは、セルのノードの相互接続である。
【0066】
図15は、図5に示すグラフと同様に、タナーグラフの異なる形状について、対象のタナーグラフに適用される反復的確率伝搬法による処理(誤り訂正ブロック34が用いる処理)における失敗率がシンドロームサイズに応じて異なる様子を示すグラフであり、チャネル誤り率は全ての場合において同一である。より詳細には、曲線151は「ランダム」グラフ(すなわち、構造を備えないものの、長さ4のサイクルが除去されたグラフ)に対応し、曲線152は「六角形」サブクラスグラフに対応し、曲線153は「非オフセット配置される6個のノードからなる矩形」サブクラスグラフに対応する。図から分かる通り、シンドローム閾値(各曲線が階段状に変化し始める部分)はトロイダルウェブクラスグラフのサブクラス両方ともにおいて、ランダムグラフにより得られる基準閾値より小さく、一般的に、トロイダルウェブクラスのグラフは基準となるランダムグラフと比べてより効率的である(任意のチャネル誤り率に対して必要となるシンドロームサイズがより小さい)ことが分かった。詳細には、「非オフセット配置される6個のノードからなる矩形」サブクラスのグラフが一番高い効率を有することが分かった。
【0067】
図16は、ノードおよびエッジからなる標準的なビルディングブロック160から、「非オフセット配置される6個のノード矩形」サブクラスグラフのトロイダル連続体を容易に構成する方法を示す。より詳細には、ビルディングブロック160は、交互に配置され、エッジを介して相互接続する2個の総和ノードおよび2個の変数ノードからなるライン(line)を備え、終端のノードもエッジを介して相互接続する(図16において矢印165で示す)。この交互に配置される総和ノードおよび変数ノードからなるラインの各ノード(本明細書においては「ラインノード」)はエッジからなる側枝を有し、この側枝は、他のビルディングブロックのラインノードに接続するために解放されているエッジを介して他のノードに接続する。図16の左側は、上述のように、各ビルディングブロックの解放エッジを隣接するビルディングブロックの対応するラインノードに接続することにより結合した3個のビルディングブロック161、162、163を示す。十分な数のビルディングブロックが上述の方法で相互接続されて、最小のp(対象データビットの数)およびq(シンドロームビットの数)と同一数の総和ノード又は変数ノードが得られた場合、一番最初のビルディングブロック(図16におけるブロック161)の解放されている終端は一番最後に付加されたビルディングブロック(図16におけるブロック163)のラインノードに円環状に接続され、これによりトロイダル連続体を封止して完成させる。上述のように形成したトロイダル連続体は、端と端が結合された細長い管のような形状を有する(妥当なサイズの対象データ項目mを想定する)。
【0068】
当然、上述のように構成されたトロイダル連続体における各種(総和又は変数)ノードの数は4の整数倍数であるのに対して、pおよびqの最小値は4の整数倍数ではない場合がある。これに対処するためには様々な解決策が可能であり、例えば、シンドロームビットの数qは常に4の整数倍数となるよう選択してもよく、pおよびqのうち対象データビットの数pの方が小さい場合、適切な数の対象データビットを切捨ててもよく(以下に説明するQKDを用いた実施例等、所定の場合に望ましい)、又は適切な数のダミー対象データビットを付加してもよい。
【0069】
上述のビルディングブロックを用いたトロイダル連続体の構成方法は、トロイダルウェブクラスのその他のサブクラスグラフに適用してもよく、そのような適用は当業者の裁量の範囲内であるとする。
【0070】
グラフの生成および使用に関して上述した要点を整理および要約するため、以下に、受信器32から受信データrを受信した際の受信側処理装置33の動作を図17を参照して説明する。
【0071】
まず、初期工程171において、受信側処理装置33は規定値ではないグラフパラメータ値を取得するが、本実施例において、対象データmにおけるビット数pは規定値であり、生成するトロイダルウェブグラフのサブクラスおよびグラフ生成に用いられる疑似乱数生成器のパラメータも同様である。本実施例の工程171において取得される唯一の動的パラメータは、受信側処理装置33がチャネル40の誤り率から導出するシンドロームサイズqであり、チャネル40の誤り率は送信側処理装置23からチャネル45を介して送信される補助データに含まれる。
【0072】
その後、受信側処理装置33はグラフ生成(図17におけるブロック172)を開始する。上述したように、グラフ生成の第1段階はトロイダル連続体の生成であり、これは、工程1731における、最小のpおよびqに対応する数の総和/変数ノードを得るために必要な標準ビルディングブロック(例えば、図16に示す、「非オフセット配置される6個のノードからなる矩形」グラフサブクラスに対応するビルディングブロック160)の数nを決定する第1の決定処理により実行される。nの値が決定されると、工程1732において、ビルディングブロックの追加がnサイクルだけ実行され、n個のビルディングブロックが結合されて求めるトロイダル連続体を形成する。
【0073】
グラフ生成の第2段階は、各過剰なノード(すなわち、トロイダル連続体からは得られていない必要な総和/変数ノード)に対して適切な数のクモ構造の生成するものあり、図17におけるブロック172を参照する。過剰なノードは全て一方の種類であり、工程1741において、この過剰なノードの各々を、ランダムに混合わせた他方の種類のノード群(全てトロイダル連続体に属する)の上から選択したx(例えば4)個のノードに対応付ける(論理的にはエッジ又は「クモの脚」により接続する)。工程1742において、トロイダル連続体に新たに接続された過剰なノードの各々に対して長さ4のサイクルチェックを実行する。
【0074】
グラフ生成の最終段階は、工程175において、データ項目mのビット位置をグラフの変数ノードに割当てるものである。
【0075】
送信側処理装置23および処理装置受信側33において略同一のタイミングで実行されるグラフ生成に続いて、受信側処理装置33は、送信側処理装置23からチャネル45を介して受信側処理装置33に送信される補助データに含まれるターゲットシンドロームSを受信する(工程176参照)。
【0076】
その後、受信側処理装置33は、Sum−Productアルゴリズムを用いて受信データrの誤り訂正を開始(図17におけるブロック177参照)し、ターゲットシンドロームSに一致する受信データビットの推定値を調節する。本実施例において、yサイクル178(yは例えば4)のSum−Productアルゴリズムが終了する度に、「終盤(end game)」ルーチン179を実行してSum−Productアルゴリズムが結論を出したか(元のデータmの復元成功か、又はSum−Productサイクルを更に実行しても訂正不可能な失敗か)、又はSum−Productサイクルを更に実行すべきかを決定し、後者の場合、処理は工程178に戻る。
【0077】
多くの用途においては、変数ノードにおける推定値がターゲットシンドロームSに一致すれば結果は成功であったと判断されるが、用途によってはより高い確実性が求められ、ターゲットシンドロームの整合性が元のデータmのビット値に整合しないvノード推定値に基づくものである可能性が考えられる。終盤ルーチンは、元のデータmから導出したチェックサムに基づくチェックを含むことにより、そのような可能性を考慮することができ、このチェックを実行するためには、受信側処理装置33は送信側処理装置23から正確なチェックサムを(例えば、工程176において送信される補助データに含めて)受信する必要があると考えられる。
【0078】
終盤ルーチンは、Sum−Productアルゴリズムが有効な一連の処理を完了したか否か決定するとともに、変数ノードにおける推定値がターゲットシンドロームにほぼ一致する場合、誤り総和ノード(すなわち、総和ノードにおいて現在の推定vノード値から得た値がその総和ノードに対するターゲットシンドローム値と異なる)のパターンを認識し、そのパターンに基づいて選択vノード値を調節することにより整合性を実現してもよい。この、誤り総和ノードのパターンを認識することによる訂正処理について、以下により詳細に説明する。
【0079】
以下に、「終盤」ルーチン179の好ましい形態について図18を参照して説明し、上記のチェックサムチェックおよび誤り総和ノードのパターンの認識に基づく訂正処理を組込む。
【0080】
図18に示す終盤ルーチンはまず、実行中のグラフの変数ノードにおける現在の推定値を決定し、その後、その推定値を用いて現在のシンドローム、すなわちグラフの総和ノード値を抽出するが、これらのノードはターゲットシンドローム値とは対応していない(工程181参照)。その後、この現在のシンドロームをターゲットシンドロームSと比較して異なるビット数のdを決定する(工程182)。
【0081】
このシンドロームとの差dの数が例えば6より大きい(工程183において確認する)場合、Sum−Productサイクルが更に必要であると判断されるが、既に上限回数(例えば、300等)のサイクルが実行されていた場合(工程184において確認する)、Sum−Productサイクルを更に実行してもターゲットシンドロームSに一致する推定vノード値集合への収束は難しいため、誤り訂正を停止し、失敗したと判断する。
【0082】
工程183において、シンドロームとの差がない(d = 0)、すなわち推定vノード値がターゲットシンドロームSに一致すると決定された場合、工程185において、推定vノード値からチェックサムを作成(vノード値を受信データrに一致する順番に並べるために必要に応じて並び替えを考慮する)し、工程186において、元のデータmから作成したチェックサムと比較する。チェックサムが一致する場合、誤り訂正は成功したとして処理を終了し、推定vノード値が復元された対象データmとして出力される(同様に、必要に応じて並び替えを行う)。しかしながらチェックサムが一致しない場合も、Sum−Productサイクルを更に実行しても正しいvノード値集合への収束は難しいため、誤り訂正は失敗したとして処理を終了する。
【0083】
工程183において、シンドロームとの差dの数が1〜6(0<d≦6)の範囲の数あると決定された場合、上述した誤り総和ノードのパターンの認識に基づいた訂正処理が実行され(工程187)、選択されたvノード値が反転される。値を反転した結果、シンドロームとの差がゼロまで減少した場合(工程188において確認する)、チェックサム作成工程185および比較工程186が実行されるが、値を反転してもシンドロームとの差がゼロまで減少しない場合、現在実行中の終盤ルーチンの直前に存在したvノード推定値からSum−Productサイクルを更に実行する(工程184の上限チェックを行う)。
【0084】
誤り総和ノードのパターン認識に基づく訂正処理(工程187)に関して、図19〜図25はそれぞれ、トロイダルウェブグラフの「非オフセット配置される6個のノードからなる矩形」サブクラスに対応する誤り総和ノードのパターンを示し、各パターンにおいて、太線の円により囲まれた総和ノードが誤り総和ノードである。これらのパターンは工程187において系統的に検索され、パターンが検出されると、所定の変数ノードに対応にするビット値が不正値の候補として特定されて反転され、この変数ノードは、認識されたパターンにおいて値が変更された場合、対象のパターンにおける総和ノードの不正値を解消する。そのような変数ノードは、図19〜図25において点線の円で囲んで示す。その後、上述の検索処理が、グラフ全体が検索されるまで、又は訂正された総和ノード値の数がシンドロームとの元の差と同数になるまで継続して実行される。
【0085】
図19〜図25において、誤り総和ノードがいくつ発生しているかに基づいてパターンを配置する。便宜上、各パターンに非制限的な記述による以下のようなラベルを付ける。
【0086】
図19および図20はそれぞれ、誤り総和ノードが2個のみ発生しているパターンを示し、以下のラベルで表す:
「2s−線上隣接型」;および
「2s−線上三個組型」。
【0087】
図21〜図23はそれぞれ、誤り総和ノードが4個発生しているパターンを示し、以下のラベルで表す:
「4s−菱形」;
「4s−燭台型」;および
「4s−回転L字型」。
【0088】
図24〜図25はそれぞれ、誤り総和ノードが6個発生しているパターンを示し、以下のラベルで表す:
「6s−六角形」;および
「6s−漏斗型」。
【0089】
上述のラベルは誤り総和ノードパターンの特定の視覚的外見に言及しているものの、当然のことながら、視覚的外見は基本となるノードおよびエッジからなる論理ネットワークを視覚的に表現する特定の方法に依存し、様々な他の表現方法も可能なため、全く重要ではない。誤り総和ノードの各パターンは基本的に、任意の表現方法が与える視覚的パターンによってではなく、対象の総和ノードの相互関係のパターンにより定義される。
【0090】
例として、図19に示す単純な「2s−線上隣接型」パターンは、他に接続先を有さない1個の変数ノードを介して接続される2個の誤り総和ノードからなる。したがって、「2s−線上隣接型」パターンにおいて、誤り総和ノード間に配置される変数ノードに対応付するビット値が、この値を反転することによりその他の総和ノードではなく誤り総和ノードの値が反転するため不正値の候補となる。同様に、図20に示す「2s−線上三個組型」パターンにおいて、2個の誤り総和ノードはエッジおよびノードからなるラインを介して接続され、ライン上のノードは1個の非誤り総和ノードを間に挟んで配置される2個の変数ノードを備え、この変数ノードは間に挟まれる総和ノードおよび誤り総和ノードの一方にそれぞれ接続され、両方の変数ノードに対応するビット値が、この値を反転することによりその他の総和ノードではなく誤り総和ノードの値が反転するため不正値の候補となる。
【0091】
図22に示す「4s−燭台型」パターンは、対象のグラフのトロイダル連続体が上から下まで円環上に接続されるため、実際には図21に示す「4s−菱形」パターンと同一の基本的パターンと考えられるかもしれないが、検索処理が(図示のように)「最下」列のノードを参照して実行された場合、パターンが異なる。各パターンにおいて、4個の誤り総和ノードは1個の中間変数ノードを介して相互接続され、中間変数ノードに対応するビット値が、この値を反転することによりその他の総和ノードではなく誤り総和ノードの値が反転するため不正値の候補となる。
【0092】
図24および図25に示す「6s−六角形」パターンおよび「6s−漏斗型」パターンについても同様である。この場合、各パターンは以下を備える。
【0093】
2個の変数ノードおよび間に配置される中間の非誤り総和ノードからなる3個組のノードにより接続される第1の誤り総和ノード対。各変数ノードは中間の総和ノードおよび第1の対の各誤り総和ノードにそれぞれ接続される。
【0094】
その他の接続を有さない1個の中間変数ノードを介して接続される第2の誤り総和ノード対。第2の対の各誤り総和ノードは、第1の誤り総和ノード対を接続する上記の3個組ノードのうち変数ノードのそれぞれに接続される。
【0095】
その他の接続を有さない1個の中間変数ノードを介して接続される第3の誤り総和ノード対。第3の対の各誤り総和ノードは、第1の誤り総和ノード対を接続する上記の3個組ノードのうち変数ノードのそれぞれに接続される。
【0096】
第1の誤り総和ノード対を接続する3個組ノードのうち2個の変数ノードに対応するビット値が、この値を反転することによりその他の総和ノードではなく誤り総和ノードの値が反転するため不正値の候補となる。
【0097】
より複雑なパターン(すなわち、より多くの誤り総和ノードを含むパターン)が優先的に検索されるが、これは、図19に示す「2s−線上隣接型」パターンのような単純なパターンは、実際には単に図21〜図23に示す4個の誤り総和ノードを含むパターンのようなより複雑なパターンの一部である場合があるためである。
【0098】
図19〜図25に図示した誤り総和ノードのパターンは、全てのパターンを網羅することを意図するものではなく、工程187は任意の可能なパターンを検索するよう構成してもよい。更に、上述した誤り総和ノードのパターンは全て対象のグラフのトロイダル連続体に見られるパターンであるが、グラフの「クモ構造」を含むパターンを検索することも可能である。より詳細には、p>qであり、これにより各クモ構造の中心となるノードが変数ノードvである場合、クモ構造の全ての脚における「足先」に対応する誤り総和ノードのパターンは、クモ構造の中心となる対象データビットが誤りである可能性が高く、反転すべきであることを示す。好ましくは、上述のような誤り総和ノードパターンを(例えば、各クモ構造を順次チェックすることにより)まず検索する。
【0099】
既に述べたように、図19〜図25に図示したパターンはトロイダルウェブグラフの「非オフセット配置される6個のノードからなる矩形」サブクラスに適用可能であり、当業者は、トロイダルウェブグラフのその他のサブクラスに対応する類似の誤り総和ノードパターンを容易に導出できる。
【0100】
当業者にとっては、誤り総和ノードのパターン(および各パターンに対応する誤り変数ノード又はノード群の候補)を表すデータは、装置が処理しようとする各種のグラフに対応して、受信装置により記憶され、記憶されたデータはプレインストールされていてもよく、又は必要に応じて読込んでもよいことは明らかである。また、誤り変数ノードの候補を特定する処理は、事前に受信データビット位置を変数ノードに対応付けするため、受信データの誤りビット候補を特定する処理(Sum−Productアルゴリズムを適用して調節する)と同様に効率的である。
【0101】
応用例
ワンタイムパッド補充に用いられるQKD装置における誤り訂正
以下に、図26および図27を参照して、整合ワンタイムパッド(OTP)の補充に用いられる量子鍵配送(QKD)装置の誤り訂正に関する上述の誤り訂正方法および装置の応用例を説明する。
【0102】
公知のように、同一の秘匿なランダムデータを有する2つの当事者が、バーナム暗号を用いて解読不能で機密な通信を行ったり、また真正なメッセージと誤った、又は改ざんされたメッセージとを(例えばWegman−Carter認証を用いて)識別したりできることが分かっている。しかしながら、どちらの場合も、当事者が共有する秘匿なランダムデータから使用したデータは再使用すべきではない。したがって、「ワンタイムパッド」という用語は当事者が共有する秘匿なランダムデータをさすことが多く、本明細書においては、この用語又はその頭字語「OTP(one−time pad)」は複数の当事者が共有する秘匿なランダムデータをさすが、以下に記載の特定の例においては、この当事者を、QKD送信装置に相当する当事者アリスおよびQKD受信装置に相当する当事者ボブとする。絶対的な安全性のためにはワンタイムパッドデータは真にランダムである必要があるが、本明細書においてワンタイムパッド(OTP)に言及する場合、真にランダムではないかもしれないが、対象の目的に対して許容できるレベルの安全性を提供するには十分ランダムな秘匿データを含む。
【0103】
OTPデータは使用されると実質的に消費されてしまうため、ワンタイムパッドの様々な用途において、対象の複数の当事者が保持するOTPデータを、OTPデータの使用により得られる安全性を損なわないよう非常に機密な方法で補充する必要が生じる。
【0104】
近年、量子鍵配送(QKD)方法および装置が開発されており、2つの当事者が、非常に高い確率で盗聴者を検出可能な方法でランダムデータを共有することができる。すなわち、盗聴者が検出されない場合、当事者は共有のランダムデータが秘匿であると高い確率で確信することができ、したがってQKD方法および装置はOTPデータを機密に補充するのに非常に適している。
【0105】
公知のQKD装置において、ランダムに偏光された光子は送信装置から受信装置に光ファイバケーブル又は自由空間を介して送信され、これらQKD装置は通常公知のBB84量子符号化プロトコル(C.H.BennettおよびG.Brassardによる「Quantum Cryptography:Public Key Distribution and Coin Tossing」、Proceedings of IEEE International Conference on Computers Systems and Signal Processing、インド国バンガロール市、1984年12月、175〜179ページ参照)に基づいて動作する。BB84プロトコル又はQKD送信器若しくは受信器の詳細は本発明の理解に必要ないため、本明細書においては詳細の大部分は省略してあるが、詳細が必要な場合、上記の文献又は類似の一般的に入手可能な文献を参照することにより容易に取得可能である。
【0106】
図26はQKD装置の応用例を示し、QKD装置は図4に示す装置を更に特化したものであり、対応する素子は同一の参照符号にアルファベット「Q」を補足して示す。したがって、図26に示すQKD装置は、量子信号チャネル40Q(雑音チャネル)および従来のチャネル45Q(誤りがない、又は誤り訂正される無線チャネル等の非量子信号チャネル)を介して通信を行うQKD送信装置20Q(当事者「アリス」に相当)およびQKD受信装置30Q(当事者「ボブ」に相当)を備える。QKD送信装置20Qは送信側処理装置23Qを含み、QKD受信装置30Qは受信側処理装置33Qを含む。処理装置23Qおよび33Qの各々は、対応する図4の処理装置23および33と同一の機能ブロック(図26では図示せず)を備え、更に以下に説明する別の機能ブロックを備える。
【0107】
QKD送信装置20Qは、QKD受信装置30QのQKDサブ受信装置502と量子信号チャネル40Qおよび従来のチャネル45Qを介して連動するQKDサブ送信装置501(図26において点線で示す)を有し、これによりランダムデータ集合mが送信装置20Qから受信装置30Qに送信され、QKDサブ受信装置502はランダムデータ集合mを誤り訂正すべき受信データrとして出力する。
【0108】
QKDサブ送信装置501は、QKD送信器21Q(光子を選択的に偏光する光学部材を提供する)、ランダムデータ源505、および送信側処理装置23Qの機能ブロックとして設けられるQKD処理ブロック506を備える。ランダムデータ源505はランダムビット対を生成するが、その際、片面を銀めっきした反射鏡により光子を検出器に伝送/偏向して50:50の確率で「0」/「1」を生成する量子ベースの装置等のハードウェア乱数生成器によりランダム性を実現するが、その他の乱数生成器として、抵抗器又はダイオードをオーバドライブさせ、電子雑音を利用してランダム事象を誘起するような構成とすることも可能である。各ランダムビット対のうち一方が現在のタイムスロット内で送信器21Qにより送信されるビット値を決定し、他方のビットがビット値の送信に用いる偏光基底を決定する。
【0109】
なお、QKD送信器21QおよびQKD受信器31Qが共有するデータ集合mは、送信器21Qにより送信されるビット値の非決定性サブセットであり、このサブセットは、以下のようなビット値を備える。
【0110】
QKDサブ受信装置502が対応するタイムスロット内で量子信号チャネル40Qを介して信号を受信したもの。
【0111】
QKDサブ送信装置501およびQKDサブ受信装置502が同一の偏光基底をランダムに用いる(例えばチャネル40Qの誤り率を決定する際に従来のチャネルを介して送信されるビット値より低い)。QKD処理ブロック506の役割は、送信器21Qにより送信されるビット値、および従来のチャネル45Qを介して受信するQKDサブ受信装置502における信号受信およびQKDサブ受信装置502が用いる基底に関する情報に基づいて、データ集合mの内容を決定することである。
【0112】
QKDサブ受信装置502は、QKD受信器32Q(光子を受信し、その偏光を検出する光学部材を提供する)および受信側処理装置33Qの機能ブロックとして設けられるQKD処理ブロック509を備える。QKDサブ受信装置502において、連続するタイムスロットにおいて使用される偏光基底は、片面を銀めっきした反射鏡を用いて入射する光子を検出器にランダムに誘導し、少なくとも1個の偏光基底を形成することによりランダムに選択される。QKD処理ブロック509の役割は、受信されるビット値および従来のチャネル45Qを介して受信される正しい基底が用いられたタイムスロットを特定する情報に基づいて受信データrを決定することである。
【0113】
その後、図4〜図25を参照して上述した方法により受信データrの訂正が実行され、これによりQKD受信装置30Qがランダムデータ集合mを復元できる。
【0114】
QKD送信装置20Qは、メモリ内に記憶され、送信側処理装置23QのOTP制御機能ブロック507により制御されるワンタイムパッド503を保持し、同様に、QKD受信装置30Qは、メモリ内に記憶され、受信側処理装置33QのOTP制御機能ブロック510により制御されるワンタイムパッド504を保持する。QKD送信装置20QおよびQKD受信装置30Qが共有するランダムデータ集合mは、ワンタイムパッド503および504の内容が相互に整合し続けるようワンタイムパッド503および504を補充するために用いられる。
【0115】
ワンタイムパッド503および504から取得したデータはQKD送信装置20QおよびQKD受信装置30Qを相互に認証し、また、受信データrに適用する誤り訂正処理に用いる疑似乱数生成器をランク付けするために用いる。実際には、非効率的ではあるが、ワンタイムパッドからのデータは誤り訂正処理において求められるランダム性を実現する手段として直接利用してもよい。
【0116】
以下に、ワンタイムパッド503、504を補充するためのQKD送信装置20QおよびQKD受信装置30Qの相互作用および動作の全体的流れを、図27Aおよび図27Bを参照して説明する。便宜上、以下においてはアリスおよびボブが工程を実行するとして説明するが、対象の工程は実際にはQKD送信装置20QおよびQKD受信装置30Qによりそれぞれ実行されるものとし、更に、図27Aおよび図27Bにおいて、特定の工程に関してブロック体の大文字で示すアリスおよび/又はボブ名前は、場合に応じて、その工程において対応する装置20Qおよび/又は30Qが能動的に関与することを示す。
【0117】
初期の認証段階(図27Aにおける工程514〜工程522)において、アリスは従来の通信チャネル45Qを用いてボブと通話を開始し、アリスはボブに自己が誰であるか伝え、ボブはアリスに自己が誰であるか返答する。
【0118】
本例によれば、この認証はワンタイムパッド503、504からのデータを用いて行われる。説明の便宜上、ワンタイムパッドは「a‖b‖c‖OTPの残存部」からなると考えられ、この場合a、b、およびcはそれぞれ例えば64ビットである(記号‖は文字列連結を表す)。工程514において、アリスは(a)XOR(b)をボブに送信し、この場合、XORは排他的論理和機能である。工程516において、ボブは整合するものを求めて自己のワンタイムパッド504を検索する。整合するものが見つかると、ボブは工程518においてアリスに(a)XOR(c)を送信し返す。工程520において、アリスはそれが正しい応答かチェックする。その後、アリスおよびボブの両方は、工程522において自己のワンタイムパッド503、504から「OTPの残存部」を残してa、b、およびcを消去する。
【0119】
次に、QKD送信および処理段階が実行される(工程524〜工程541)が、本例においては、以下に説明するように、BB84量子符号化プロトコルを変更したものを用いる。
【0120】
アリスおよびボブは、データユニットを出力するタイムスロット長について所定の了解を得ているものとする。初期同期を実行するため、アリスは工程524において量子信号チャネルを介して光子パルスを送信する。
【0121】
工程526において、アリスは多数の、通常は約108対程のビット対を(データ源505を用いて)ランダムに生成する。上述したように、各ビット対はデータビットおよび基底ビットからなり、基底ビットはデータビットを送信するための、垂直方向/水平方向又は対角方向/反対角方向からなる偏光方向の対を示す。水平方向又は対角方向に偏光された光子は二進数の1を示し、垂直方向又は反対角方向に偏光された光子は二進数の0を示す。したがって、各対のデータビットは同一対の基底ビットが示す偏光方向の対に基づいて符号化され、アリスにより量子信号チャネル40Qを介して送信される。アリスから量子信号を受信すると、ボブは各タイムスロットにおいて、どの基底(偏光方向の対)を用いて量子信号を検出するかランダムに選択し、結果を記録する。量子チャネルを用いて行う必要のある通信は、ランダムに生成されたビット対のデータビットの送信のみである。
【0122】
工程528において、ボブは、実際には送信全体の10%等ランダムに選択できる量子信号送信の一部における全受信データを従来のチャネル45Qを介してアリスに送信し、これにより、アリスは量子信号チャネル40Qの誤り率を決定できる。受信データは信号が受信されたタイムスロット、そのタイムスロットの各々において受信された際に決定されたデータビット値、およびその際の基底(すなわち偏光方向の対)を含む。工程530において、アリスはボブから受信したランダムに選択された送信の10%に関する受信データを用いて、ボブが信号を受信し、かつ正しい基底を用いたタイムスロットについてチャネル40Qの誤り率を決定する。
【0123】
工程532において、アリスは工程530において導出した誤り率に基づいて、量子信号が盗聴されたか否か決定する。誤り率が高ければ高い程、量子信号が盗聴された確率が高く、一般的に約12%より高い誤り率は許容の範囲外であり、好ましくは8%の上限を設定する。誤り率が閾値である8%より高い場合、そのセッションは放棄され(工程534)、アリスは従来のチャネル45Qを介してボブに受信した量子信号データを破棄するよう伝える。
【0124】
誤り率が閾値である8%より低い場合、アリスは従来のチャネル45Qを介してボブに誤り率を送信し、その後、アリスおよびボブの両者はこの誤り率を上述した方法で用いて誤り訂正に用いるシンドロームサイズを決定する。アリスおよびボブの両者は誤り率の決定に用いたデータ値を破棄する。
【0125】
工程538において、ボブは、量子信号送信の残りの部分(例えば残りの90%)における部分的受信データを従来のチャネル45Qを介してアリスに送信し、この部分的受信データは信号を受信したタイムスロットおよびその際の基底(すなわち偏光方向の対)を含むが、受信された際に決定されたデータビット値は含まない。
【0126】
工程540において、アリスは、ボブが量子信号を受信し、かつ正しい基底を用いて受信したビット値を決定したタイムスロットに対して送信されたデータビット値mを決定する。アリスはまた、データビット値mを保持するタイムスロットを特定する情報を、従来のチャネル45Qを介してボブに送信する。工程541において、ボブは受信データrを形成するデータビット値を決定する。
【0127】
動作の次の段階(図27Bにおける工程542〜工程550)は、図4〜図25を参照して上述した方法による受信データrの誤り訂正である。したがって、工程542において、アリスおよびボブは使用するターゲットシンドロームのサイズを決定し、その後、トロイダルウェブクラスの任意の又は同意したサブクラスからなる同一のグラフを独立して生成する。
【0128】
工程544において、アリスは、工程542において生成したグラフを用いてデータmからターゲットシンドロームSを決定し、また、mに対してチェックサムを計算する。アリスは、ターゲットシンドロームSおよびチェックサムを従来のチャネル45Qを介してボブに送信する。
【0129】
工程546において、ボブはSum−Productアルゴリズムを用いて受信データrに対する誤り訂正を実行する。誤り訂正が失敗した場合(ここで、終盤ルーチン179の関連する検査は工程154で実行されると図示してあり、ターゲットシンドロームSおよびmから形成されるチェックサムの整合性をチェックする検査を含む)、ボブは工程550においてアリスにデータmを破棄するよう伝え、ボブは受信データrを破棄する。
【0130】
誤り訂正が成功して、アリスおよびボブの両者が量子信号チャネル40Qを介して共有される新しいランダムデータmを得た場合、アリスおよびボブの両者は同一のプライバシー増幅工程552を実行する。なお、この点において、工程532において実行される誤り率に基づく盗聴チェックにより量子信号送信のどの部分における盗聴も検出できるが、あるタイムスロットにおいて2個以上の光子が量子チャネルを介して送信されるという(非常に小さいものの)有限の確率が存在し、これにより、ボブが光子の一方を受信する一方で、ビームスプリッタを備える盗聴者が他方の光子を受信できるという可能性が残るため、盗聴者が量子信号のうち多少のビットの盗聴に成功する可能性がある。プライバシー増幅工程552を実行するのは、そのような盗聴者への情報漏洩の可能性を解消するためである。
【0131】
プライバシー増幅工程552において、アリスおよびボブはそれぞれ新しく共有した秘匿なデータmのサイズを、必要な安全性のレベルに応じて、決定性を有するランダム置換を用いて縮小する。
【0132】
プライバシー増幅の結果、アリスおよびボブは非常に高い確率で同一の結果m’を得る。しかしながら工程554において、アリスおよびボブは本当にそうであるかどうか、新しく共有した秘匿データm’のハッシュ値を交換することによりそれぞれ再確認するが、その際、送信されるハッシュ値を保護および認証するため、自己のワンタイムパッド503、504から選択したビットによりハッシュ値の排他的論理和をとる。ハッシュ値が異なる(工程556において確認する)場合、新しく共有したデータm’は破棄する(工程558)。
【0133】
交換したハッシュ値が整合する場合、アリスおよびボブは同一の新しい共有データm’を有すると再確認したことになり、それぞれ、新しいデータm’を自己のワンタイムパッド503、504の既存の内容に統合開始する。この統合処理においては、ハッシュ値機能を用いて、外部観測者がワンタイムパッド内の最終的に共有される秘匿なデータについて何ら知らないこと保証する。実際には、統合の前にワンタイムパッドに十分なデータ量が残っている場合、統合動作により十分に不明瞭化でき、ほとんどの場合、プライバシー増幅工程552および続く工程554は省略してもよい。
【0134】
その後、補充後のワンタイムパッドからのデータを用いて、例えば、送信装置2OQおよび受信装置3OQ間で従来のチャネルを介して行われるアプリケーションデータの交換を暗号化するためのセッション鍵(例えば、128ビットのセッション鍵)を生成してもよく、セッション鍵の作成に使用されたデータはワンタイムパッドから破棄される。
【0135】
上述のQKD方法は本発明の一例であり、図27に示した本例の工程は(当業者には明らかな境界の範囲内で)変更および/又は異なる順序で実行してもよいこととする。
【0136】
図4〜図25を参照して上述した誤り訂正方法に関しては、当然ながら様々な変更が可能である。例えば、処理を最小限に抑える目的で、ターゲットシンドロームのサイズはチャネル40の誤り率に基づいて動的に決定されると記載したが、あるいは、全ての可能な誤り率を処理できる所定のシンドロームサイズを選択して動作を行ってもよく、この場合、その他のグラフパラメータも全て同様に規定値である場合、グラフ作成はグラフパラメータデータを交換することなく実行可能である。
【0137】
上述の記載において、誤り訂正グラフは、送信装置20および受信装置30により各対象データ項目m(又は対象データ項目集合)に対して動的かつ独立して作成されるが、トロイダルウェブクラスのグラフは以下のような装置に用いてもよい。
【0138】
用いられる誤り訂正グラフが固定であって、送信装置および受信装置内にプレインストールされている装置。
【0139】
送信装置および受信装置のうち一方のみがグラフを生成し、形成されたグラフは他方の装置に送信される装置。
【0140】
および、ターゲットシンドロームが、例えばトロイダルウェブクラスの誤り訂正グラフが標準的な線形ブロック符号に基づく誤り訂正装置で使われた場合のようにゼロベクトル等の規定値である装置。
【特許請求の範囲】
【請求項1】
2進データ集合(m、r)から選択される各データビットをモジュロ2加算した複数の順序演算結果を抽出する処理装置(23、33)を備え、
前記選択は、有限トロイドを覆うセルの連続体(70、120、130、140)を少なくとも定義するノードおよびエッジからなる論理ネットワークにおける変数ノード(v1〜v15)の総和ノード(s1〜s12)への接続に基づいており、
前記セルの各々は交互に配置され、エッジによりループ状に相互接続する同一数の変数ノード(v1〜v12)および総和ノード(s1〜s12)により区切られており、
前記変数ノードの各々は2進データ集合のビット位置にそれぞれ対応し、
前記総和ノードの各々は前記モジュロ2加算した演算結果にそれぞれ対応する、
ことを特徴とするデータ通信装置(20、30)。
【請求項2】
前記連続体(70、120、130、140)の前記変数ノードは前記2進データ集合のビット位置にランダムに対応付する、
ことを特徴とする請求項1に記載のデータ通信装置。
【請求項3】
前記セルの各々は、各々が、2個の隣接するセルに共有され、エッジにより3個のその他のノードに接続される6個のノードを有し、
前記3個のその他のノードのうち2個は同一のセルに属し、
前記連続体(70)は六角形セル(77)からなると表現できる、
ことを特徴とする請求項1に記載のデータ通信装置。
【請求項4】
前記セルの各々は、3個おきに3個の隣接するセルにより共有され、エッジにより4個のその他のノード接続される12個のノードを有し、前記4個のその他のノードのうち2個は同一のセルに属し、前記3個おきのノード間のセルノードは対象のセルのノードにのみ接続され、前記連続体(120)は十字型セル(121−124)からなると表現できる、ことを特徴とする請求項1に記載のデータ通信装置。
【請求項5】
前記セルの各々は6個のノードを有し、
前記6個のノードのうち4個のノードの各々は3個の隣接するセルに共有され、かつエッジにより4個のその他のノード接続にされ、
前記4個のその他のノードのうち2個は同一のセルに属し、
前記セルの各々のその他の2個のノードは対象のセルのノードにのみ接続され、
前記連続体(140)は矩形セル(141−148)からなると表現できる、ことを特徴とする請求項1に記載のデータ通信装置。
【請求項6】
前記論理ネットワークの前記ノードおよびエッジは更に、
各々が変数ノード(v)と総和ノード(s)の一方の種類のノードを備え、
エッジにより総和ノード(s)と変数ノード(v)の他方の種類からランダムに選択されるノードに接続される複数のクモ構造(90)を定義し、
前記他方の種類はまた前記セルの連続体(70、120、130、140)を規定する際にも用いられる、
ことを特徴とする請求項1に記載のデータ通信装置。
【請求項7】
前記一方の種類のノードの各々は、エッジにより前記他方の種類からランダムに選択される4個のノードに接続される、
ことを特徴とする請求項6に記載のデータ通信装置。
【請求項8】
前記データ通信装置(30)は雑音チャネル(40)を介して2進データ集合(r)を受信し、
前記処理装置(33)は前記受信した2進データ集合(r)の誤りを訂正する誤り訂正装置(34)を備え、
前記誤り訂正装置(34)は反復的確率伝搬法を適用して前記受信した2進データ集合(r)のビット値尤度を調節し、これにより、前記受信データ集合の推定値集合である前記2進データ集合のために前記処理装置(23)が形成する前記モジュロ2加算した複数の順序演算結果はターゲットシンドローム(S)に整合する、
ことを特徴とする請求項1に記載のデータ通信装置。
【請求項9】
前記データ通信装置(30)は第1の雑音チャネル(40)を介して前記2進データ集合(m)を送信し、前記データ通信装置(30)は更に、前記第1の雑音チャネルを介して前記2進データ集合を受信した後に前記2進データ集合の誤り訂正を実行するためのターゲットシンドローム(S)を出力し、前記処理装置(23)は、前記ターゲットシンドローム(S)を前記モジュロ2加算した複数の順序演算結果として抽出する、ことを特徴とする請求項1に記載のデータ通信装置。
【請求項10】
反復的確率伝搬法を適用して受信される2進データ列(r)のビット値尤度を調節し、これにより受信されるデータ列から選択される各ビットの推定値をモジュロ2加算した複数の順序演算結果がターゲットシンドローム(S)と整合する誤り訂正装置(34)であって、
前記選択は、有限トロイドを覆うセルの連続体(70、120、130、140)を少なくとも定義するノードおよびエッジからなるネットワークにおける変数ノード(v1〜v15)の総和ノード(s1〜s12)への接続に基づいており、
前記セルの各々は、交互に配置され、エッジによりループ状に相互接続する同一数の変数ノード(v1〜v12)および総和ノード(s1〜s12)により区切られており、
前記変数ノードの各々は受信されるデータ列のビット位置にそれぞれ対応し、
前記総和ノードの各々は前記モジュロ2加算した演算結果にそれぞれ対応する、
ことを特徴とする誤り訂正装置。
【請求項11】
前記ノードおよびエッジからなるネットワークは更に、
各々が変数ノード(v)又は総和ノード(s)の一方の種類のノードを備え、
エッジにより総和ノード(s)又は変数ノード(v)の他方の種類からランダムに選択されるノードに接続される複数のクモ構造(90)を定義し、
前記他方の種類はまた前記セルの連続体(70、120、130、140)を規定する際にも用いられる、
ことを特徴とする請求項10に記載の誤り訂正装置。
【請求項12】
前記変数ノードは受信されるデータ列のビット位置にランダムに対応する、ことを特徴とする請求項10に記載の誤り訂正装置。
【請求項1】
2進データ集合(m、r)から選択される各データビットをモジュロ2加算した複数の順序演算結果を抽出する処理装置(23、33)を備え、
前記選択は、有限トロイドを覆うセルの連続体(70、120、130、140)を少なくとも定義するノードおよびエッジからなる論理ネットワークにおける変数ノード(v1〜v15)の総和ノード(s1〜s12)への接続に基づいており、
前記セルの各々は交互に配置され、エッジによりループ状に相互接続する同一数の変数ノード(v1〜v12)および総和ノード(s1〜s12)により区切られており、
前記変数ノードの各々は2進データ集合のビット位置にそれぞれ対応し、
前記総和ノードの各々は前記モジュロ2加算した演算結果にそれぞれ対応する、
ことを特徴とするデータ通信装置(20、30)。
【請求項2】
前記連続体(70、120、130、140)の前記変数ノードは前記2進データ集合のビット位置にランダムに対応付する、
ことを特徴とする請求項1に記載のデータ通信装置。
【請求項3】
前記セルの各々は、各々が、2個の隣接するセルに共有され、エッジにより3個のその他のノードに接続される6個のノードを有し、
前記3個のその他のノードのうち2個は同一のセルに属し、
前記連続体(70)は六角形セル(77)からなると表現できる、
ことを特徴とする請求項1に記載のデータ通信装置。
【請求項4】
前記セルの各々は、3個おきに3個の隣接するセルにより共有され、エッジにより4個のその他のノード接続される12個のノードを有し、前記4個のその他のノードのうち2個は同一のセルに属し、前記3個おきのノード間のセルノードは対象のセルのノードにのみ接続され、前記連続体(120)は十字型セル(121−124)からなると表現できる、ことを特徴とする請求項1に記載のデータ通信装置。
【請求項5】
前記セルの各々は6個のノードを有し、
前記6個のノードのうち4個のノードの各々は3個の隣接するセルに共有され、かつエッジにより4個のその他のノード接続にされ、
前記4個のその他のノードのうち2個は同一のセルに属し、
前記セルの各々のその他の2個のノードは対象のセルのノードにのみ接続され、
前記連続体(140)は矩形セル(141−148)からなると表現できる、ことを特徴とする請求項1に記載のデータ通信装置。
【請求項6】
前記論理ネットワークの前記ノードおよびエッジは更に、
各々が変数ノード(v)と総和ノード(s)の一方の種類のノードを備え、
エッジにより総和ノード(s)と変数ノード(v)の他方の種類からランダムに選択されるノードに接続される複数のクモ構造(90)を定義し、
前記他方の種類はまた前記セルの連続体(70、120、130、140)を規定する際にも用いられる、
ことを特徴とする請求項1に記載のデータ通信装置。
【請求項7】
前記一方の種類のノードの各々は、エッジにより前記他方の種類からランダムに選択される4個のノードに接続される、
ことを特徴とする請求項6に記載のデータ通信装置。
【請求項8】
前記データ通信装置(30)は雑音チャネル(40)を介して2進データ集合(r)を受信し、
前記処理装置(33)は前記受信した2進データ集合(r)の誤りを訂正する誤り訂正装置(34)を備え、
前記誤り訂正装置(34)は反復的確率伝搬法を適用して前記受信した2進データ集合(r)のビット値尤度を調節し、これにより、前記受信データ集合の推定値集合である前記2進データ集合のために前記処理装置(23)が形成する前記モジュロ2加算した複数の順序演算結果はターゲットシンドローム(S)に整合する、
ことを特徴とする請求項1に記載のデータ通信装置。
【請求項9】
前記データ通信装置(30)は第1の雑音チャネル(40)を介して前記2進データ集合(m)を送信し、前記データ通信装置(30)は更に、前記第1の雑音チャネルを介して前記2進データ集合を受信した後に前記2進データ集合の誤り訂正を実行するためのターゲットシンドローム(S)を出力し、前記処理装置(23)は、前記ターゲットシンドローム(S)を前記モジュロ2加算した複数の順序演算結果として抽出する、ことを特徴とする請求項1に記載のデータ通信装置。
【請求項10】
反復的確率伝搬法を適用して受信される2進データ列(r)のビット値尤度を調節し、これにより受信されるデータ列から選択される各ビットの推定値をモジュロ2加算した複数の順序演算結果がターゲットシンドローム(S)と整合する誤り訂正装置(34)であって、
前記選択は、有限トロイドを覆うセルの連続体(70、120、130、140)を少なくとも定義するノードおよびエッジからなるネットワークにおける変数ノード(v1〜v15)の総和ノード(s1〜s12)への接続に基づいており、
前記セルの各々は、交互に配置され、エッジによりループ状に相互接続する同一数の変数ノード(v1〜v12)および総和ノード(s1〜s12)により区切られており、
前記変数ノードの各々は受信されるデータ列のビット位置にそれぞれ対応し、
前記総和ノードの各々は前記モジュロ2加算した演算結果にそれぞれ対応する、
ことを特徴とする誤り訂正装置。
【請求項11】
前記ノードおよびエッジからなるネットワークは更に、
各々が変数ノード(v)又は総和ノード(s)の一方の種類のノードを備え、
エッジにより総和ノード(s)又は変数ノード(v)の他方の種類からランダムに選択されるノードに接続される複数のクモ構造(90)を定義し、
前記他方の種類はまた前記セルの連続体(70、120、130、140)を規定する際にも用いられる、
ことを特徴とする請求項10に記載の誤り訂正装置。
【請求項12】
前記変数ノードは受信されるデータ列のビット位置にランダムに対応する、ことを特徴とする請求項10に記載の誤り訂正装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27A】
【図27B】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27A】
【図27B】
【公表番号】特表2011−502389(P2011−502389A)
【公表日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願番号】特願2010−530558(P2010−530558)
【出願日】平成20年10月14日(2008.10.14)
【国際出願番号】PCT/GB2008/050939
【国際公開番号】WO2009/056871
【国際公開日】平成21年5月7日(2009.5.7)
【出願人】(503003854)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (1,145)
【Fターム(参考)】
【公表日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願日】平成20年10月14日(2008.10.14)
【国際出願番号】PCT/GB2008/050939
【国際公開番号】WO2009/056871
【国際公開日】平成21年5月7日(2009.5.7)
【出願人】(503003854)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (1,145)
【Fターム(参考)】
[ Back to top ]