(57)【要約】【課題】秘匿性を増し、かつ各ノードでの符号化演算の処理時間を短縮することができる符号化通信装置を得ること。【解決手段】ネットワークコーディングにおける符号化通信方法であって、符号化行列演算の有限体の乗算に複数の既約多項式を用いることとし、既約多項式ごとにその既約多項式を用いた乗算を行うための乗算情報を保持する乗算情報保持ステップと、既約多項式を求めるための使用既約多項式情報に基づいて、使用する既約多項式を選択する既約多項式選択ステップ（Ｓ１２）と、選択された既約多項式に対応する乗算情報に基づいて、受信したデータに符号化処理を実施する符号化処理ステップ（Ｓ１３〜Ｓ１８）と、を含む。【選択図】        図５
2010186129.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークコーディングのための符号化処理を実施するノードにおける符号化通信方法であって、
前記符号化処理で実施する符号化行列演算において、有限体の乗算に複数の既約多項式を用いることとし、
前記既約多項式ごとに、その既約多項式を用いた乗算を行うための乗算情報を保持する乗算情報保持ステップと、
前記既約多項式を求めるための使用既約多項式情報に基づいて、使用する既約多項式を選択する既約多項式選択ステップと、
前記既約多項式選択ステップで選択された既約多項式に対応する乗算情報に基づいて、受信したデータに符号化処理を実施する符号化処理ステップと、
を含むことを特徴とする符号化通信方法。
【請求項２】
前記乗算情報を、被乗算値と、被乗算値の組み合わせごとにあらかじめ算出した乗算結果とを対応付けた乗算テーブルとすることを特徴とする請求項１に記載の符号化通信方法。
【請求項３】
前記既約多項式の生成方法を、その既約多項式を用いて演算を行うノード以外には公開しないことを特徴とする請求項１または２に記載の符号化通信方法。
【請求項４】
前記使用既約多項式情報を、データの送信元である発信元ノードが送信データに付加して告知することを特徴とする請求項１、２または３に記載の符号化通信方法。
【請求項５】
前記使用既約多項式情報を、既約多項式番号を識別するための番号とし、送信データを含むパケットのヘッダ部分に前記番号を含めることを特徴とする請求項１〜４のいずれか１つに記載の符号化通信方法。
【請求項６】
パケットヘッダの所定の項目の値である識別項目値に基づいて使用既約多項式情報を選択するための規則をあらかじめ定めておき、
前記使用既約多項式情報を前記識別項目値とし、
前記既約多項式選択ステップでは、さらに前記規則に基づいて既約多項式を選択することを特徴とする請求項１〜５のいずれか１つに記載の符号化通信方法。
【請求項７】
乱数の種類ごとに乱数を生成し、生成した乱数に生成順に順番を識別するためのシーケンス番号を付与し、乱数の種類とシーケンス番号に対応づけて生成した乱数の値を保持する乱数生成ステップ、
をさらに備え、
前記規則を、乱数の種類を識別するための乱数番号と、何番目の乱数であるかを識別するためのシーケンス番号と、に基づいて定まる乱数の値を、既約多項式を識別する番号と定めた規則とし、
前記識別項目を乱数の種類を識別するための乱数番号と、何番目の乱数であるかを識別するためのシーケンス番号とすることを特徴とする請求項６に記載の符号化通信方法。
【請求項８】
前記使用既約多項式情報を時刻と既約多項式との対応とし、
前記既約多項式選択ステップでは、前記使用既約多項式情報に基づいて現在時刻に対応する既約多項式を選択することを特徴とする請求項１〜５のいずれか１つに記載の符号化通信方法。
【請求項９】
使用する既約多項式を変更する場合、変更する時刻の前に、所定のパケット送信休止期間の間、送信データを含むパケットの送信を停止することを特徴とする請求項８に記載の符号化通信方法。
【請求項１０】
前記パケット送信休止期間に、既約多項式の変更を示す既約多項式変更フラグを送信することを特徴とする請求項９に記載の符号化通信方法。
【請求項１１】
発信元ノードと、宛先ノードと、前記発信元ノードと前記宛先ノードとの間の通信を中継するノードと、で構成される通信グループを複数設定することとし、
前記通信グループごとに、異なる既約多項式を用いることを特徴とする請求項１〜１０のいずれか１つに記載の符号化通信方法。
【請求項１２】
ネットワークコーディングのための符号化処理を実施する符号化通信装置であって、
前記符号化処理で実施する符号化行列演算において、有限体の乗算に複数の既約多項式を用いることとし、
前記既約多項式ごとに、その既約多項式を用いた乗算を行うための乗算情報を保持するための乗算情報保持手段と、
前記既約多項式を求めるための使用既約多項式情報に基づいて、使用する既約多項式を選択し、選択した既約多項式に対応する乗算情報に基づいて、受信したデータに符号化処理を実施する符号化処理手段と、
を備えることを特徴とする符号化通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、有線通信および無線通信のネットワークにおいてネットワークコーディングを行う符号化通信方法および符号化通信装置に関する。
【背景技術】
【０００２】
通信装置（以下、ノードという）を通信路（以下、リンクという）で接続したネットワークで発信元から宛先に向けて情報を伝送する際、従来の一般のパケット通信では、各ノードが入力された情報を所望の宛先に向けて出力する交換処理が行なわれていた。交換処理では、パケットを宛先に向けて振り分けるだけで、パケット内のユーザ情報に処理を施さない。これに対し、近年注目されているネットワークコーディング技術では、各ノードは、交換処理だけでなくコーディング（符号化）も行ない、ネットワーク全体として効率的な伝送ができるように工夫している。
【０００３】
ネットワークコーディングの第１の特長は、伝送の効率化すなわち帯域等の通信資源の有効利用であるが、もう一つの特長は、情報秘匿性の向上である。従来の一般の通信では、発信元から宛先にいたる途中の伝送路や通信装置では、送信したユーザ情報がそのまま伝送されているのに対し、ネットワークコーディングでは各ノードでコーディング（符号化）処理が施されているため、外部の者が途中の情報を盗聴しても、内容が全くわからない一種の暗号であり、秘匿性がある。これまでのネットワークコーディングの文献では、この秘匿性（セキュリティ）について議論しているものは少ないが、たとえば、下記特許文献１、特許文献２、非特許文献１および非特許文献２では、ネットワークコーディングにおけるセキュリティ技術を提案している。
【０００４】
下記特許文献１では、ネットワークコーディングにおける同形（ｈｏｍｏｍｏｒｐｈｉｃ）なディジタル署名方式が提案されており、この方式では誤り検出、認証機能も有する。この提案方式は線形加算楕円曲線のワイルペアの概念に基づくもので、その計算処理の複雑さは離散対数問題困難、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ問題困難であるとされている。
【０００５】
下記特許文献２に記載の方式では、セキュリティサーバで情報ブロック毎のセキュリティ情報を付加してファイルを分配する。また、セキュリティサーバはノード毎のセキュリティ情報も生成する。各ノードはハッシュ値の実値と期待値を比較して受信情報の有効性を検証する。
【０００６】
また、非特許文献１はネットワークコーディングにおける同形なディジタル署名方式の提案で、上述した特許文献１に対応している。非特許文献２では、ランダム線形ネットワークコーディング専用のディジタル署名方式が提案されている。
【０００７】
一方、ネットワークコーティングでの符号化の方法には、様々な提案がされている（たとえば、下記非特許文献３および４参照）。下記非特許文献３は、ネットワークコーディングによるブロードキャスト法を提案した文献である。ＶＩ章Ａ節で、有限体の計算に２の８乗の体を使用することにより１シンボルが１バイトに対応し、加算と乗算の演算が２５５バイトテーブル２個で実現できると述べている。
【０００８】
下記非特許文献４では、暗号化等の用途で、ｇのＲ乗（ｇは固定値、Ｒは付与のグループ内でランダムに選択）の計算を高速化するために、べき数（ｅｘｐｏｎｅｎｔ）  Ｒをｈ×ｖのブロックに分割し、各々のブロックを先に計算しておく（ｐｒｅ−ｃｏｍｐｕｔａｔｉｏｎ）方法を提案している。また、非特許文献４に記載の方法は、べき数Ｒが１６０ビット、５１２ビット、分割ブロックが２×２、３×２、…、１０×２および１１×６、の場合に提案方法により計算が高速化できること、また使用可能なメモリ容量によりブロック分割法を選択できる点が特徴的であることを示されている。
【０００９】
【特許文献１】米国特許出願公開第２００７／０１１８７４６号明細書
【特許文献２】米国特許出願公開第２００６／０２８２６７７号明細書
【非特許文献１】Ｄ．  Ｃｈａｒｌｅｓ，  Ｋ．  Ｊａｉｎ，  ａｎｄ  Ｋ．  Ｌａｕｔｅｒ，  “Ｓｉｇｎａｔｕｒｅｓ  ｆｏｒ  ｎｅｔｗｏｒｋ  ｃｏｄｉｎｇ”  ｉｎ  Ｐｒｏｃ．  ｏｆ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｃｉｅｎｃｅｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  （ＣＩＳＳ’０６），  Ｐｒｉｎｃｅｔｏｎ，  ＮＪ，  Ｍａｒｃｈ  ２００６
【非特許文献２】Ｆ．  Ｚｈａｏ，  Ｔ．  Ｋａｌｋｅｒ，  Ｍ．  Ｍｅｄａｒｄ，  ａｎｄ  Ｋ．  Ｊ．  Ｈａｎ，“Ｓｉｇｎａｔｕｒｅｓ  ｆｏｒ  ｃｏｎｔｅｎｔ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｗｉｔｈ  ｎｅｔｗｏｒｋ  ｃｏｄｉｎｇ”  ＩＳＩＴ２００７，  Ｎｉｃｅ，  Ｆｒａｎｃｅ  Ｊｕｎｅ  ２４−２９  ２００７
【非特許文献３】Ｃ．  Ｆｒａｇｏｕｌｉ，  Ｊ．  Ｗｉｄｍｅｒ，  ａｎｄ  Ｊ−Ｙ  Ｌｅ  Ｂｏｕｄｅｃ，  “Ｅｆｆｉｃｉｅｎｔ  ｂｒｏａｄｃａｓｔｉｎｇ  ｕｓｉｎｇ  ｎｅｔｗｏｒｋ  ｃｏｄｉｎｇ”  ＩＥＥＥ／ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｎｅｔｗｏｒｋｉｎｇ，  ｖｏｌ．１６，  ｎｏ．２，  ｐｐ．  ４５０  −４５７，    Ａｐｒｉｌ  ２００８．
【非特許文献４】Ｃ．  Ｈ．  Ｌｉｍ，  ａｎｄ  Ｐ．  Ｊ．  Ｌｅｅ，  “Ｍｏｒｅ  ｆｌｅｘｉｂｌｅ  ｅｘｐｏｎｅｎｔｉａｔｉｏｎ  ｗｉｔｈ  ｐｒｅｃｏｍｐｕｔａｔｉｏｎ”  ｉｎ  Ｐｒｏｃ．  Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ：  １４ｔｈ  Ａｎｎ．  Ｉｎｔ．  Ｃｒｙｐｔｏｌｏｇｙ  Ｃｏｎｆ．  Ｓａｎｔａ  Ｂａｒｂａｒａ，  ＣＡ，  Ａｕｇ．  １９９４．
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記従来の特許文献１、非特許文献１および非特許文献２に記載の技術は、ディジタル署名方式であり、伝送情報自体の秘匿性を増すものではない。そのため、秘匿情報の共有母体を柔軟に変化させることはできない、という問題点があった。また、特許文献１および非特許文献１に記載の技術では、計算が非常に複雑で時間がかかるという問題点、楕円曲線のワイルペアの安全性に疑問が残るという問題点もあった。
【００１１】
また、上記特許文献１に記載の技術は、ファイル分配の際のセキュリティ情報付加による検証方式である。そのため、伝送情報自体の秘匿性を増すものではなく、秘匿情報の共有母体を柔軟に変化させることはできない、という問題点があった。
【００１２】
また、上記非特許文献３では、ネットワークコーディングの演算方法について詳細記述はなく、非特許文献４を参照しているのみである。一方、非特許文献４に記載の技術では、Ｒが１６０や５１２と大きい値をとり、かつ可変である場合に有効な技術である。そのため、ネットワークコーディングの２の８乗の有限体の計算では、ｇ＝２、Ｒ＝８で固定であり、Ｒが異なる値をとるとしても、Ｒ＝１６あるいは３２程度の小さい数で、かつＲ＝１６あるいは３２に固定であるような場合には、不必要に複雑である、という問題点があった。
【００１３】
本発明は、上記に鑑みてなされたものであって、伝送情報自体の秘匿性を増し、かつ各ノードでの符号化計算の演算の処理時間を短縮することができる符号化通信方法および符号化通信装置を得ることを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、本発明は、ネットワークコーディングのための符号化処理を実施するノードにおける符号化通信方法であって、前記符号化処理で実施する符号化行列演算において、有限体の乗算に複数の既約多項式を用いることとし、前記既約多項式ごとに、その既約多項式を用いた乗算を行うための乗算情報を保持する乗算情報保持ステップと、前記既約多項式を求めるための使用既約多項式情報に基づいて、使用する既約多項式を選択する既約多項式選択ステップと、前記既約多項式選択ステップで選択された既約多項式に対応する乗算情報に基づいて、受信したデータに符号化処理を実施する符号化処理ステップと、を含むことを特徴とする。
【発明の効果】
【００１５】
この発明によれば、ネットワークコーディングにおいて、複数の既約多項式を使い分けるようにしたので、伝送情報自体の秘匿性を増し、かつ各ノードでの符号化計算の有限体の演算の処理時間を短縮することができる、という効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明にかかる符号化通信方法および符号化通信装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１７】
実施の形態．
図１は、本発明にかかる符号化通信方法および符号化通信装置が対象とするネットワークモデルの一例を示す図である。図１に示すように、このネットワークモデルは、通信装置であるノードＮ１〜Ｎ９、通信路を示すリンクＬを備えている。なお、図１では、一部のノードおよびリンクにのみ符号を付しているが、符号を付していない部分についても、図中の丸はノードを示し、矢印はリンクを示している。本実施の形態では、図１のように、各ノードが向き付けられた（矢印の向きで方向を表す）リンクＬで結ばれているネットワークを考える。
【００１８】
また、本実施の形態では、ノードたちの中に１つ、発信元ノードと呼ばれる特別なノードがあることとし、また、ノードたちの中に１つまたは複数個、その発信元ノードに対応する宛先ノードと呼ばれる特別なノードがあるものとする。図１の例では、ノードＮ１が発信元ノード＃１であり、ノードＮ９，ノードＮ４が、発信元ノード＃１に対応する宛先ノードＮＴ＃１，ＮＴ＃２であるとする。なお、複数個の宛先ノードを区別する必要があるときには、ＮＴ＃１、ＮＴ＃２のように添え字を添えて示す。
【００１９】
図２は、図１と同じノードおよびリンクの構成のネットワークにおいて、発信元ノードおよび宛先ノードが異なる例を示す図である。図２では、ノードＮ２が発信元ノード＃２であり、ノードＮ８，ノードＮ５が、発信元ノード＃２に対応する宛先ノードＮＴ＃３，ＮＴ＃４であるとする。なお、以下の説明では、具体的な発信元ノードを識別せずに一般的に発信元ノード全体を表す場合に発信元ノードＮＳと記載することとする。
【００２０】
図３は、発信元ノードＮＳが送信データを構成するベクトルを符号化して送信する概念を示す図である。図３に示すように、発信元ノードＮＳを始点とし、発信元ノードＮＳから出ていくリンクＬの数をｓ本とする。発信元ノードＮＳは、以下の式（１）に示すように、与えられたｄ個の送信データを縦ベクトルにしたｄ次元ベクトルＶＳ１に、符号化のための所定のｓ行ｄ列の行列ＭＳ１をかけ、その結果を発信元ノードＮＳから出ていくリンクＬを流れるデータベクトルＶＳＤ１（ｓ次元の縦ベクトル）とする。データベクトルＶＳＤ１の各成分は、ｓ本のリンクＬにそれぞれ対応し、成分ごとに各リンクＬに出力される。
ＭＳ１・ＶＳ１＝ＶＳＤ１                      …（１）
【００２１】
次に、発信元ノードでも宛先ノードでもない一般のノードＮでの処理について説明する。図４は、一般のノードが受信したデータを符号化して送信する概念を示す図である。ノードＮに入ってくるリンクＬの数をｌ本とし、ノードＮから出て行くリンクＬの数をｓ本とする。このとき、ｌ本のリンクＬをそれぞれデータが流れてくる。Ｎに入ってくるリンクＬを流れるデータをそれぞれｌ個の要素とするｌ次元ベクトル（縦ベクトル）ＶＴ２で表し、それに符号化のための所定のｓ行ｌ列の行列ＭＴ２をかける。以下の式（２）に示すように、こうして得られるｓ次元ベクトルＶＴＤ２の成分を、それぞれ、ＮＴから出ていくリンクＬを流れるデータとする。
ＭＴ２・ＶＴ２＝ＶＴＤ２                      …（２）
【００２２】
ここでは、巡回する経路がネットワークにないと仮定し、式（２）に示した演算を各ノードがそれぞれ繰り返して行うことによって順々に、各リンクＬを流れるデータが決まっていく。このようにして、あらかじめ決められた宛先ノードＮＴにデータが到達する。宛先ノードＮＴでは、受信情報を復号化して、発信元ノードＮＳからの送信情報を復元する。
【００２３】
ところで、ネットワークコーディング技術では、上記のようなノードＮでの行列計算は通常の加減乗除ではなく、有限体（加減乗除ができる集合で要素が有限個のもの）Ｆでの計算となる。Ｆは任意の有限体でよいが、ここでは簡単のため２のｍ乗（ｍ＝８）とし、Ｆ（２m）＝Ｆ（２8）と記す。上記の伝送データ（ＶＳＤ１，ＶＴＤ２）のベクトルの成分は、有限体Ｆ（２m）の要素である。ここでｍ＝８の場合は、要素が２の８乗個すなわち２５６個であり、ちょうど１バイトに対応する。
【００２４】
有限体Ｆ（２m）の要素ａ＝（ａm-1，ａm-2，…，ａ1，ａ0）は、それぞれの係数（ａm-1，ａm-2，…，ａ1，ａ0）が０と１をとる（ｍ−１）次のｘの多項式、すなわちａm-1ｘm-1＋ａm-2ｘm-2＋…＋ａ1ｘ1＋ａ0ｘ0に対応する。
【００２５】
したがって、有限体Ｆ（２m）内での２つの要素ａ，ｂの加算および減算は、上記の多項式の加算、すなわち各係数の排他的論理和、またはｍｏｄ２すなわち２で割った余りを取ることにより与えられ、簡易である。
【００２６】
一方、有限体Ｆ（２m）内での乗算は、以下の式（３）に示すようにまず上記の多項式の乗算（係数同士はｍｏｄ  ２すなわち２で割った余りで計算）を求める。
ｃ（ｘ）  ＝  ａ（ｘ）  ｂ（ｘ）                    …（３）
【００２７】
次に、ｃ（ｘ）をｍ次の既約多項式ｆ（ｘ）で割った余りを求める。これがａとｂの積となる。ｍ次の既約多項式ｆ（ｘ）は複数存在するが、そのうちの任意のものを使用してよい。８次の既約多項式の一例はｘ8＋ｘ4＋ｘ3＋ｘ2＋１である。既約多項式の数は、ｍ＝８の場合は３０個、ｍ＝９の場合は５６個、ｍ＝１０の場合は９９個、ｍ＝７の場合は１８個である。
【００２８】
本発明の特徴は、この既約多項式を複数使い分けることにより、伝送情報の秘匿性を増すことにある。図５は、本実施の形態の既約多項式使い分けの手順を示すフロー図である。図５の手順の詳細は後述するが、本実施の形態では、図５に示すように既約多項式使い分けることにより、秘匿性を向上させている。
【００２９】
ネットワークコーディングでは、各ノードで、入力情報に符号化行列をかけて出力情報を求める有限体の演算を行なう。この演算に使用する既約多項式は、１つの伝送情報（パケット）に対しては全ノードで同じものを使用する必要があるが、別の伝送情報（パケット）に対しては、別のものを使用してかまわない。既約多項式が異なれば、行列演算のルールが異なるため、１つの既約多項式が知られた場合でも、他の既約多項式が知られていなければ元の送信情報を復元できなくなる。本発明では、これを利用して、既約多項式を当事者のみが知る規則に基づいて設定・変更することとし、第三者の盗聴に対する秘匿性を増すことを提案する。
【００３０】
また、複数のグループが各々独自の既約多項式（固定でも、独自の規則により変更されてもよい）を使用すると、同一の通信装置をノードとして用いても、他のグループに対する秘匿性が得られる。さらに、各々独自の秘匿通信を行なっていた複数のグループが、同じ既約多項式を用いることにより、柔軟に相互通信を行なうことができ、かつ相互通信用既約多項式の設定規則を知らない第三者には秘匿性を維持する方法とすることもできる。これは、例えば、災害時に被災地に赴いた自治体、消防、警察等の組織が、一つのネットワークを共有使用するときなどに有効である。すなわち、各組織が各々のグループの指示を伝達する場合には、各々独自の既約多項式を使用して独自の秘匿通信を行ない、組織をまたがって被災状況を全員に周知する場合には、同一の既約多項式を使用して相互通信を行なう。
【００３１】
本発明の方式は、各ノードで伝送情報に対して符号化行列をかける有限体の演算を行なうネットワークコーディングならでは効力を発する技術である。本方式は、従来の一般的暗号化方式から類推できるものではない。なぜならば、一般的暗号方式では、暗号化・復号化を行なうのは発信元と宛先のみであり、さらに送受信データに有限体の演算を時々刻々施す訳ではないからである。
【００３２】
つぎに、各ノードが伝送情報に対して符号化行列をかける有限体の演算を行なう具体的方法について説明する。有限体の加算および乗算は、上述のような多項式の演算手順のプログラムを作成し、通常のコンピュータで実行可能である。加算の場合は多項式の各係数の加算すなわち排他的論理和を取る簡単な計算なので、プログラムにより処理しても短時間で実行可能である。しかし、乗算は既約多項式による除算を含む複雑な手順で、処理に時間がかかる。そこで、本発明では、演算結果をあらかじめテーブルに保持しておき、これを参照することにより高速化する方法をとる。
【００３３】
図６−１，６−２は、本実施の形態の演算で用いるテーブルの一例を示す図である。図６−１は、加算演算で用いる有限体Ｆ（２8）の加算テーブルの一例を示し、図６−２は、乗算演算で用いる有限体Ｆ（２8）の乗算テーブルの一例を示している。図６−１の加算テーブルでは、縦方向，横方向にそれぞれ加算の被演算子ＴＡＡ，ＴＡＢ（それぞれ０から２５５までの２8＝２５６個）をとり、要素ＴＡＥはテーブルの要素（加算結果）を示す。たとえば、２＋３を求めるときはＴＡＡ＝２とＴＡＢ＝３の交点の要素の値を参照する。図６−２も同様に、縦方向，横方向にそれぞれ乗算の被演算子ＴＭＡ，ＴＭＢをとり、要素ＴＭＥはテーブルの要素（乗算結果）を示す。たとえば、２×３を求めるときはＴＡＡ＝２とＴＡＢ＝３の交点の要素の値を参照する。
【００３４】
これらのテーブルは、ｃ＋＋等のプログラム言語の配列、行列等を用いてソフトウェアで実現しても良いし、メモリに格納し、これを読み出すという具合にハードウェアで実現してもよい。なお、図６−１，６−２では加算と乗算のテーブルのみ示しており減算と除算のテーブルがないが、これは有限体Ｆ（２m）の演算では加算と減算の結果は同じであり、また、ネットワークコーディングの各ノードでの行列計算では有限体の除算は用いないためである。
【００３５】
つぎに、各ノードでの行列演算に際して、既約多項式を複数使い分ける方法について説明する。図７−１，７−２は、既約多項式使い分けのためのテーブルの一例を示す図である。図７−１は、既約多項式を複数使い分ける際の加算テーブルの一例を示すが、これは図６−１と同様の加算テーブルである。図７−２は、既約多項式を複数使い分ける際の乗算テーブルを示し、有限体Ｆ（２8）の乗算テーブル群となる。乗算テーブル群は、図６−２の乗算テーブルＴＭ１と同様の乗算テーブルＴＭ２、ＴＭ３、…、ＴＭ３０から構成される。これらの乗算テーブルは、それぞれ異なる規約多項式に基づいて乗算値をテーブルの各要素として計算したものである。前述のように８次の既約多項式の数は３０個なので、このテーブルも３０個設けることになる。
【００３６】
なお、かならずしも既約多項式の数だけ（この場合は３０個）テーブルを設ける必要はなく、それより少ない数のテーブルを設定しても良い。また、図７−１では、乗算テーブル群と異なり、図６−１と同様の加算テーブルを１つのみ示しているが、これは加算では既約多項式を使用しないため、複数の既約多項式を使い分けるという概念と無関係であるためである。
【００３７】
図５に戻り、各ノードＮが行う既約多項式使い分けの手順について説明する。まず、各ノードＮは、パケットを受信すると（ステップＳ１１）、後述の判定方法に基づいて使用する既約多項式を判定する（ステップＳ１２）。たとえば、既約多項式１番使用と判定した場合（ステップＳ１２  １番）はステップＳ１３に進み、テーブル１番（図７−２のＴＭ１）を参照して（ステップＳ１３）、有限体の行列演算を行ない（ステップＳ１４）、行列演算結果に基づいてパケットを送信する（ステップＳ１９）。
【００３８】
ステップＳ１２の既約多項式判定で、既約多項式２番使用と判定した場合（ステップＳ１２  ２番）は、テーブル２番（図７−２のＴＭ２）を参照し（ステップＳ１５）、有限体の行列演算を行ない（ステップＳ１６）、行列演算結果に基づいてパケットを送信する（ステップＳ１９）。同様に、既約多項式ｉ（ｉ＝３〜２９）番使用と判定した場合は、テーブルｉ番を参照して、有限体の行列演算を行ない、行列演算結果に基づいてパケットを送信する。ステップＳ１２の既約多項式判定で、既約多項式３０番使用と判定した場合（ステップＳ１２  ３０番）は、テーブル３０番（図７−２のＴＭ３０）を参照し（ステップＳ１７）、有限体の行列演算を行ない（ステップＳ１８）、行列演算結果に基づいてパケットを送信する（ステップＳ１９）。
【００３９】
つぎに、上述のステップＳ１２の既約多項式判定の方法について説明する。前述のように、既約多項式は、別の伝送情報（パケット）に対しては、別のものを使用してかまわないが、同一の伝送情報（パケット）に対しては全ノードで同じものを使用する必要がある。既約多項式が異なれば、行列演算のルールが異なり、元の送信情報を復元できなくなるため、あるパケットに対してどの既約多項式を使用するかということは、何らかの方法により全ノードが認識している必要がある。全ノードへの使用既約多項式告知の方法は、たとえば、発信元ノードが各ノードに告知してもよいし、あらかじめ定めた規則を各ノードが保持するようにしてもよい。使用既約多項式告知の方法は、次の（１）〜（３）のように分類することができる。（１）はさらに（ア）（イ）に分類できる。
【００４０】
（１）パケットに付加して告知する方法
（ア）パケットヘッダ等に既約多項式番号を記述し、陽に告知する方法（陽告知法）
（イ）パケットヘッダの発信元、宛先等の情報から既約多項式番号を割出す規則をあらかじめ合意しておき、陰に告知する方法（陰告知法）。各ノードでは規則に基づきパケット情報から既約多項式番号を割出す
（２）パケットに付加しての告知はせず、時間毎に変える等の規則をあらかじめ合意しておく方法（非告知法）
（３）上記方法の組み合わせ
【００４１】
また、既約多項式を変更する場合は、上記の周知方法によりそれぞれ以下のような変更方法となる。
（１−１）陽告知法の場合：既約多項式番号の変更
（１−２）陰告知法の場合：割出し規則の変更
（２）非告知法の場合：時刻、セッション等による変更（合意済）
【００４２】
既約多項式の変更に際しては、どのパケットまでは変更前の既約多項式で、どのパケットからは変更後の既約多項式を使用したのかを全ノードで合意する必要がある。（１）の告知法でパケットヘッダ等の情報から、既約多項式が一意に決定する場合は明らかであるが、それ以外の場合は、連続的に送信されるパケット流にインターバルをあけ変更が全ノードに行き渡る間は送受信を行なわない、あるいは送信パケットに変更フラグを立てる等の方法により、変更前後のパケットが混ざらないようにする必要がある。
【００４３】
つぎに、上記の告知方法について具体的に説明する。図８はパケットのヘッダに既約多項式情報を記載して告知する場合の記載方法の一例を示す図である。図８は３つのパケットの例を示しており、パケットヘッダＰＨ１〜ＰＨ３は、それぞれのパケットのヘッダである。ユーザ情報ＰＰ１〜ＰＰ３は、それぞれのパケットのユーザ情報のデータ部分を示す。図８の最上段のパケットは、陽告知法の一例を示しておりパケットヘッダＰＨ１に既約多項式番号（ＰＫ１）として１番が記載されている。中段のパケットは、陰告知法の一例を示しており、パケットヘッダＰＨ２に記載されている情報ＰＫ２の値を用いて、既約多項式番号を割出す。パケットヘッダ情報ＰＫ２（図８の例では、値は３）は、たとえば発信元ノードＮを識別する番号とする。各ノードは、この番号から既約多項式番号を割り出す規則をあらかじめ保持していることとし、その規則に基づいてＰＫ２の番号から既約多項式番号を割り出す。図のパケットＰ３では、パケットＰ１の場合と同様に、パケットヘッダＰＨ３に既約多項式番号（ＰＫ３）に５番が記載されている。なお、既約多項式番号はそのまま記載する必要はなく、コード化等の手段により第三者に分かりにくい方法で記載してもよい。
【００４４】
つぎに、陰告知法（上記（１−２））の一例について説明する。この例では、各ノードで乱数を発生させて、乱数の種類（シード）と何番目の数かを示す番号（シーケンス番号）をパケットヘッダで指定し、これらの値から使用既約多項式番号を割り出す。単純に参照演算テーブル番号をパケットヘッダで指定する陽告知法に比べて、解読困難性が相乗され、秘匿性が増す。図９は、陰告知法を用いた場合のパケットの一例を示す図である。図中、パケットヘッダＰＨ４は、パケット中のパケットヘッダ、ユーザ情報ＰＰ４はパケットのユーザ情報を示す。図９に示したパケットでは、パケットヘッダＰＨ４中に、乱数の種類を示す乱数番号ＰＫ４Ａとして３番が指定され、乱数の何番目の数かを示すシーケンス番号ＰＫ４Ｂとして５番が指定されている。
【００４５】
乱数番号ＰＫ４Ａおよびシーケンス番号ＰＫ１Ｂを含むパケットを受信したノードは、自身が保持する乱数テーブルを用いて規約多項式番号（参照演算テーブル番号）を求める。図１０は、この乱数テーブルの一例を示す図である。図１０では、縦軸が乱数番号ＰＫ４Ａに対応し、横軸がシーケンス番号ＰＫ４Ｂに対応し、その交点の値が規約多項式番号ＰＫ４Ｃである。図１０の乱数番号ＰＫ４Ａが、１番、２番、３番、…の各行では、使用する既約多項式に対応する１から３０までの数がランダムに記載されている。シーケンス番号ＰＫ４Ｂは、各行の乱数列の何番目の値かを示す値であり、乱数番号ＰＫ４Ａの値とシーケンス番号ＰＫ４Ｂの値の組み合わせで１つの規約多項式番号ＰＫ４Ｃが決まる。
【００４６】
図１１は、乱数テーブルを用いて使用既約多項式番号を求める手順の一例を示すフローチャートである。図１１は図５のステップＳ１２の処理を詳述したものである。図１１に示すように、まず、受信したパケットの乱数番号ＰＫ４Ａの値に基づいて乱数テーブルの乱数番号ＰＫ４Ａの対応する行を参照し（ステップＳ２１）、次に受信したパケットのシーケンス番号ＰＫ４Ｂの値に基づいて乱数テーブルのシーケンス番号ＰＫ４Ｂの対応する列を参照し（ステップＳ２２）、ステップＳ２１とステップＳ２２の交点の値を指定された使用既約多項式番号ＰＫ４Ｃとして求める（ステップＳ２３）。
【００４７】
なお、図１０に例示した乱数テーブルは、使用する既約多項式に対応する１から３０までの数が、乱数番号ＰＫ４Ａ毎にランダムに並べられている乱数列の集合である。また、図１０に例示した乱数テーブルは、予め当事者間で合意したものを使用することとする。図１０の例では、乱数番号ＰＫ４Ａが３番、シーケンス番号ＰＫ４Ｂが５番の場合の既約多項式番号ＰＫ４Ｃは２８である。
【００４８】
陰告知法として、テーブルを用いて複数の受信パラメータから一つの目的パラメータ（既約多項式番号）を割り出す方法があることは容易に想像がつくが、上述の例の特徴は、乱数を用いて複雑さを増し、その結果として秘匿性を増すことにある。通常は、規則的でない順序で並ぶ数のテーブルを各ノードで共有するためには、このテーブル全体を何らかの手段で各ノードに周知する必要がある。しかし、各ノードに乱数発生機能を具備し、乱数の種類（シード）と、何番目の数か（シーケンス番号）を指定することにより、これらのパラメータのみの周知によりテーブルの共用が可能となる。
【００４９】
なお、上記の説明では、乱数の種類はシードにより指定されるとしているが、これは乱数発生の方式は共通で、その種となる変数シードのみが異なるとしているからである。さらに、複数種類の乱数発生方法を指定するパラメータを追加して、３個以上のパラメータで目的パラメータ（既約多項式番号）を割り出してもよい。
【００５０】
図１２は、非告知法で時刻により既約多項式を変更する場合に用いる対応表の一例を示す図である。ここでは、非告知法の例として、時刻に基づいて図１２に示すような対応表を用いて既約多項式の番号を変更することとする。図１２の対応表では、時刻と参照テーブル番号（既約多項式番号）が対応づけられている。時刻は、その時点での各ノードが管理する時刻とするが、この時刻は定期的にノードＮ間で同期するようにしておくことが望ましい。
【００５１】
各ノードＮは、その時点の時刻に対応する既約多項式番号を対応表から取得する。たとえば、１時間ごとに用いる既約多項式を変更することとし、午前０時から午前１時の間は既約多項式１番を使用するというように、２４個の既約多項式を使用する。なお、ここでは時刻と既約多項式番号の対応が分かりやすいように２４個の既約多項式を使用して単純な規則で対応付けているが、２４個以上あるいは２４個以下の多項式を用いて複雑な規則で時刻と既約多項式番号を対応付けてもよい。複雑な対応付けを行なうことになり、第三者に対する秘匿性は増す。
【００５２】
ここで注意しなければならないのは、発信元ノードＮＳから宛先ノードＮＴにパケットが到達するまでに時間がかかるため、全ノードＮで対応表に基づいて一斉に既約多項式を変更すると、変更前の既約多項式を使用して演算されたパケットに対し、途中のノードＮまたは宛先ノードＮＴでは、変更後の既約多項式を使用して行列演算を施すことになり、元のデータが復元できなくなってしまうという現象が発生する場合があるという点である。このような現象の発生を防止するためには、たとえば、連続するパケット流の間をあけてインターバルを挿入する方式を採用すればよい。
【００５３】
図１３は、インターバルを挿入したパケット流の一例を示す図である。図１３では、パケット流ＰＳ１、パケット流ＰＳ２、パケット流ＰＳ３では異なる既約多項式を用いることとする。パケット流ＰＳ１は時間ＴＴ１の間継続し、パケット流ＰＳ２は時間ＴＴ２の間継続し、パケット流ＰＳ３は時間ＴＴ３の間継続する。パケット流ＰＳ１とパケット流ＰＳ２の間にはインターバルＴＱ１を挿入して、既約多項式の変更前後のパケットが混在しないようにする。インターバルＴＱ１の期間は、パケットが発信元ノードＮＳから宛先ノードＮＴにパケットが到達するまでにかかる時間に十分余裕を加味した時間とする。同様に、パケット流ＰＳ２とパケット流ＰＳ３の間にはインターバルＴＱ２を挿入して、既約多項式の変更前後のパケットが混在しないようにする。
【００５４】
図１４は、インターバルＴＱ１、ＴＱ２の期間に既約多項式変更フラグＣＮ２を送信する例を示す図である。図１３の例では、インターバルＴＱ１、ＴＱ２の期間は単にパケット送信を停止させているが、図１４の例では、図１３のインターバルＴＱ１、ＴＱ２の期間に、既約多項式変更フラグＣＮ２を送信する。図１５は、既約多項式変更フラグＣＮ２の一例を示す図である。図１５の例では、パケットヘッダＰＨ５でフラグ部ＰＫ５をＯＮ（１）としてフラグを立てる。そして、ユーザ情報ＰＰ５では既約多項式を変更することを示すフラグパタン（ここでは１０１１０１０１）を連続送信する。このように、フラグ部ＰＫ５のパケットを送信し、そのパケットのユーザデータ部（ユーザ情報が格納される部分）に既約多項式を変更するための情報（フラグパタン）を挿入することとする。なお、既約多項式変更フラグＣＮ２は、これに限らず、他のパタンでもよい。
【００５５】
つぎに、本発明の方式の適用例について説明する。図１６は、発信元ノードと宛先ノードとの組が複数ある場合のネットワークモデルの一例を示す図である。図１６のネットワークモデルは、図１のネットワーク構成と同様の構成のネットワークに、図１の発信元ノードＮＳ＃１、宛先ノードＮＴ＃１およびＮＴ＃２と、図２の発信元ノードＮＳ＃２、宛先ノードＮＴ＃３、ＮＴ＃４が設定されている。
【００５６】
図１６のネットワークモデルで、発信元ノードＮＳ＃１を発信元とし、宛先ノードＮＴ＃１およびＮＴ＃２を宛先とする通信と、発信元ノードＮＳ＃２を発信元とし、宛先ノードＮＴ＃３およびＮＴ＃４を宛先とする通信と、を同時に行なう場合、ノードＮとして同一の通信装置を共有使用しても、各々の通信で異なる既約多項式を使用すれば、互いに秘匿性を確保することができる。すなわち、複数のグループが各々独自の既約多項式（固定でも、独自の規則により変更されてもよい）を使用することにより、同一の通信装置をノードとして用いても、他のグループに対する秘匿性が得られる。グループ独自の既約多項式は、たとえば、パケットヘッダに組織（グループ）の識別コードを記載し、各ノードは、その識別コードに対応する既約多項式を用いた符号化処理を実施するようにすればよい。
【００５７】
さらに、各々独自の秘匿通信を行なっていた複数のグループが、同じ既約多項式を用いることにより、相互通信を行なうことができ、かつ相互通信用既約多項式の設定規則を知らない第三者には秘匿性を維持できる。これは例えば、災害時に被災地に赴いた自治体、消防、警察等の組織が、一つのネットワークを共有使用するときに用いることができる。すなわち、各組織が各々のグループの指示を伝達する場合には、各々独自の既約多項式を使用して独自の秘匿通信を行ない、組織をまたがって被災状況を全員に周知する場合には、同一の既約多項式を使用して相互通信を行なう。ネットワークコーディングでは、一発信元複数宛先のネットワークが基本単位であるので、グループ構築の際も、一発信元複数宛先が基本単位となる。
【００５８】
さらに、海外での災害に消防、救急等の複数の組織が派遣された場合、現地でネットワークを構築して上記のように組織間でネットワークを共有使用するとともに、衛星を使用して各々の本国の組織と相互通信する場合にも適用できる。図１７は、衛星を用いたネットワークモデルの一例を示す図である。図１７では、たとえば、ノードＮ５は衛星（衛星に搭載される通信装置）を示している。このような場合でも、各組織が各々のグループの指示を伝達する場合には、各々独自の既約多項式を使用して独自の秘匿通信を行ない、組織をまたがって被災状況を全員に周知する場合には、同一の既約多項式を使用して相互通信を行なう本発明の方法が有効となる。
【００５９】
以上のように、本実施の形態では、ネットワークコーディングにおいて、複数の既約多項式を使い分けるようにした。このため、伝送情報の秘匿性を増すことができる方法を示した。また、各ノードでの符号化計算の演算は、既約多項式を用いた有限体の演算であり、従来のネットワークコーディングを用いたセキュリティ技術に比べ処理時間を短縮することができる。また、各ノードでの行列演算にテーブルを用いることにより、さらに、処理時間を短縮することができる。
【００６０】
また、既約多項式を柔軟に変更することにより、秘匿性をさらに増すことができる。また、複数のグループで同一のネットワーク設備を共有使用する場合でも、各々のグループ独自の既約多項式を使用することにより、各々の通信の秘匿性を確保できる。さらに、複数のグループで情報を共有したい場合は、同一の既約多項式を使用することにより情報共有モードに変更することができ、情報共有と秘匿性の確保を柔軟に設定することができる。
【産業上の利用可能性】
【００６１】
以上のように、本発明にかかる符号化通信方法および符号化通信装置は、ネットワークコーディングを行うネットワークシステムに有用であり、特に、秘匿性を要求されるネットワークシステムに適している。
【図面の簡単な説明】
【００６２】
【図１】本発明にかかる符号化通信方法および符号化通信装置が対象とするネットワークモデルの一例を示す図である。
【図２】発信元ノードおよび宛先ノードが異なるネットワークモデルの例を示す図である。
【図３】発信元ノードが送信データを構成するベクトルを符号化して送信する概念を示す図である。
【図４】一般のノードが受信したデータを符号化して送信する概念を示す図である。
【図５】既約多項式使い分けの手順を示すフロー図である。
【図６−１】加算演算で用いる有限体Ｆ（２8）の加算テーブルの一例を示す図である。
【図６−２】乗算演算で用いる有限体Ｆ（２8）の乗算テーブルの一例を示す図である。
【図７−１】既約多項式を複数使い分ける際の加算テーブルの一例を示す図である。
【図７−２】既約多項式を複数使い分ける際の乗算テーブルの一例を示す図である。
【図８】パケットのヘッダに既約多項式情報を記載して告知する場合の記載方法の一例を示す図である。
【図９】陰告知法を用いた場合のパケットの一例を示す図である。
【図１０】乱数テーブルの一例を示す図である。
【図１１】乱数テーブルを用いて使用既約多項式番号を求める手順の一例を示すフローチャートである。
【図１２】非告知法で時刻により既約多項式を変更する場合に用いる対応表の一例を示す図である。
【図１３】インターバルを挿入したパケット流の一例を示す図である。
【図１４】インターバルの期間に既約多項式変更フラグＣＮ２を送信する例を示す図である。
【図１５】既約多項式変更フラグの一例を示す図である。
【図１６】発信元ノードと宛先ノードとの組が複数ある場合のネットワークモデルの一例を示す図である。
【図１７】衛星を用いたネットワークモデルの一例を示す図である。
【符号の説明】
【００６３】
ＣＮ２  既約多項式変更フラグ
Ｎ，Ｎ１〜Ｎ９  ノード
ＮＳ  発信元ノード
Ｌ  リンク
ＰＨ１〜ＰＨ５  パケットヘッダ
ＰＫ１，ＰＫ３，ＰＫ４Ｃ  既約多項式番号
ＰＫ２  パケットヘッダ情報
ＰＫ４Ａ  乱数番号
ＰＫ４Ｂ  シーケンス番号
ＰＫ５  フラグ部
ＰＰ１〜ＰＰ５  ユーザ情報  
ＰＳ１，ＰＳ２，ＰＳ３  パケット流
ＴＡＡ，ＴＡＢ，ＴＭＡ，ＴＭＢ  被演算子
ＴＡＥ，ＴＭＥ  要素
ＴＭ１〜ＴＭ３０  乗算テーブル
ＴＴ１，ＴＴ２，ＴＴ３  時間
ＴＱ１，ＴＱ２  インターバル
【図１】
2010186129.tif 000003
【図２】
2010186129.tif 000004
【図３】
2010186129.tif 000005
【図４】
2010186129.tif 000006
【図５】
2010186129.tif 000007
【図６−１】
2010186129.tif 000008
【図６−２】
2010186129.tif 000009
【図７−１】
2010186129.tif 000010
【図７−２】
2010186129.tif 000011
【図８】
2010186129.tif 000012
【図９】
2010186129.tif 000013
【図１０】
2010186129.tif 000014
【図１１】
2010186129.tif 000015
【図１２】
2010186129.tif 000016
【図１３】
2010186129.tif 000017
【図１４】
2010186129.tif 000018
【図１５】
2010186129.tif 000019
【図１６】
2010186129.tif 000020
【図１７】
2010186129.tif 000021