(57)【特許請求の範囲】
【請求項１】
プロセッサーとメモリを有するコーディング又はデコーディングモジュールに適用されるコンピュータによる指示を含み、
前記コーディングモジュール又はデコーディングモジュール、それぞれを使用してメッセージをコード又はデコードするために使用される疑似ランダム系列を生成させ、
前記メッセージをコードするために使用される前記疑似ランダム系列は、前記コーディングされたメッセージをデコードするために使用される前記疑似ランダム系列と同じで、そして、前記疑似ランダム系列の生成は、
ａ）初期値ｘ’＝ｆ（ｘ，ｔ）の微分方程式を提供し、
ｂ）前記微分方程式の初期値ｘ０＝ｘ（ｔ０）を提供し、
ｃ）時間離散化ｔｋ＝ｔ０＋ｋ・δｔ，ｋ＝１，２，３・・・のための前記微分方程式のための積分ステップδｔを提供し、
ｄ）解ｘｋ＝ｘ（ｔｋ）に対する近似を得るために、前記初期値から前記ステップδｔで前記微分方程式の数値積分を実行し、
ｅ）０．ｄ０ｄ１ｄ２ｄ３ｄ４・・・ｄｒ・・・ｄｗ・１０ｅの形式で浮動小数点で数値表現可能な値ｘｋをサンプリングすることによって第１の数値の系列を生成し、ｅは指数であり、ｗは仮数の長さであり、ｄ０は仮数の最上桁の数字であり、ｄｒは、それと解ｘｋに対する前記近似のその左側の全ての数字が、前記微分方程式の前記解の厳密値と一致するような数値であること、を含み、
ｆ）値の系列の選択から数字ｄｉ・・・ｄｒを有する前記疑似ランダム系列を生成し、ｉは
【数１】
0006329534.tif 000028
を確認する所定の整数値であることを含み、
ｇ）前記疑似ランダム系列は、
・正の整数値ＤＩＭを予め確立するステップと、
・前記疑似ランダム系列から整数値の次元ＤＩＭの２つのベクトルＶ１およびＶ２を構築するステップと、
・積Ｖ１・Ｖ２Ｔから次元ＤＩＭｘＤＩＭの拡張マトリクスＭｅを構築するステップであって、Ｖ２ＴはＶ２の転置ベクトルであるステップと、
・マトリクスＭｅの行を連結することによって拡張系列を生成するステップによって、より大きい数の要素を有する系列に拡張されるステップと、含むメッセージをコーディング又はデコーディングするための方法。
【請求項２】
請求項１に記載の方法であって、
ステップｄ）において、ｎ個の微分方程式ｘ’ｓ＝ｆｓ（ｘ１，ｘ２，・・・，ｘｎ，ｐ１，ｐ２，・・・，ｐｍ，ｔ）、ｓ＝１・・・ｎの系の数値積分が実行され、ｎも未知数の数であって、ｍ個のパラメータＰｊ、ｊ＝１・・・ｍを含み、ステップｆ）において、前記疑似ランダム系列が、前記微分方程式の系から予め選択されたｎ個の変数の１つから生成される方法。
【請求項３】
請求項１または２に記載の方法であって、
ステップｆ）の後、各数字ｄは、予め確立されたワードサイズＤ１を有する２進法で表され、その数字の連結が２進数列を形成する方法。
【請求項４】
請求項１乃至３のいずれか一項に記載の方法であって、
ステップｆ）の後、各数字ｄは、２進法の表現に対応するようにされ、その数字の連結が２進数列を形成する方法。
【請求項５】
請求項１乃至３のいずれか一項に記載の方法であって、
ワードサイズＤ２が予め確立され、整数の数字がＤ２ビットのワードを用いて２進数列から形成される方法。
【請求項６】
請求項１乃至５のいずれか１項に記載の方法であって、
・値Ｋ１が予め確立され、
・前記拡張系列を生成する前に、前記マトリクスＭｅの各要素は、そのＫ１を法とする剰余類を計算して得られる値で置換される方法。
【請求項７】
請求項１乃至６のいずれか１項に記載の方法であって、
・前記ベクトルＶ１およびＶ２に加えて、整数の次元ＤＩＭのベクトルＶ３が、生成された前記疑似ランダム系列から構築され、そして
・前記マトリクスＭｅの行の各々の上に、前記マトリクスＭｅの行を連結することによって前記拡張系列を生成する前に、前記ベクトルＶ３の同じ行によって確立された整数値に従って、予め確立された方向に、前記整数の位置を円形に回転することで、Ｍｅの行の各々に、前記整数の列を再配置される方法。
【請求項８】
請求項１乃至７のいずれか一項に記載の方法であって、
・好ましくは前記ＤＩＭ値である、値Ｋ２が予め確立され、
・前記ベクトルＶ３の各要素が、そのＫ２を法とする剰余類を計算して得られる値で置換される方法。
【請求項９】
請求項１乃至８のいずれか一項に記載の方法であって、
前記マトリクスＭｅの全体を格納するのを避けるべく、前記マトリクスＭｅの行を連結することによって前記拡張系列を生成するために、各行の前記値のみが計算される方法。
【請求項１０】
コーディングされたストリームによってデータを転送するためにデータストリームをコーディングする方法であって、前記コーディングは、前記データストリームと、疑似ランダム系列によって形成される第２のデータストリームとの排他的比較演算（ＸＯＲ）による比較の結果である方法、または
コーディングされたデータストリームをデコーディングする方法であって、前記デコーディングは、前記コーディングされたデータストリームと、疑似ランダム系列によって形成される第２のデータストリームとの排他的比較演算（ＸＯＲ）による比較の結果である方法において、
前記疑似ランダム系列の生成は、請求項１乃至９のいずれか一項に記載の方法によってなされる方法。
【請求項１１】
請求項１０に記載の方法であって、
・積分時間Ｔを決定するステップと、
・初期値とともにコーディング系列を生成するために、次の
【数２】
0006329534.tif 000029
のように表現され得る摂動系の方程式を提示するステップと、
・前記コーディング系列の生成のために提示された前記初期値と必ずしも一致はしていない初期値とともにデコーディング系列を生成するために、次の
【数３】
0006329534.tif 000030
のように表現され得る摂動系の方程式を提示するステップと、
・データのコーディングおよびデコーディングの前に、第１のコーディング系列および第１のデコーディング系列を、両方の方程式の摂動系を時間Ｔで積分することによって生成するステップであって、両方の系は
【数５】
0006329534.tif 000031
を乗じられた項によって結合され、ｓ＝１・・ｎであり、
【数５】
0006329534.tif 000032
は正の値であって、前記コーディングに関連する系における少なくとも１つの値と、前記デコーディングに関連する系における他の値はヌルでない値であり、少なくとも、ヌルでない値
【数４】
0006329534.tif 000033
を乗じられた変数ｘ１，ｘ２，・・・，ｘｎの値の交換が、交換チャネルを介した積分の間に両方の系の収束まで実行されるステップと、
・結合値を交換することなく、かつ
【数４】
0006329534.tif 000034
の項を組み入れることなく、初期条件を独立して用いた先行のステップにおいて実行された積分において達成された値から同じ方程式を積分することによって、データコーディングおよびデコーディング系列を提供するステップと、が実行される方法。
【請求項１２】
請求項１１に記載の方法であって、
前記交換チャネルが、公開鍵によって暗号化される方法。
【請求項１３】
通信の一方である第１の端末と通信の他方である第２の端末の間で通信チャンネルで通信するためにメッセージをコーディングするためのシステムで、
前記システムは、
通信のためにメッセージをコーディングする構成の前記第１の端末のメッセージコーダと、前記第２の端末のデコーディングとを有し、
前記メッセージコーダを使用する前記メッセージをコーディングは、
疑似ランダムコーディング系列を排他的比較演算（ＸＯＲ）を使用する前記メッセージと比較し、
前記疑似ランダムコーディング系列は、鍵の通信ではなく、前記メッセージをコーディング及びデコーディングできる前記第１の端末と前記第２の端末で独立して生成されることを含み、
前記第１の端末における前記メッセージコーダは、
・初期値ｘ’＝ｆ（ｘ，ｔ）の微分方程式を提供し、
・前記微分方程式の初期値ｘ０＝ｘ（ｔ０）を提供し、
・時間離散化ｔｋ＝ｔ０＋ｋ・δｔ，ｋ＝１，２，３・・・のための前記微分方程式のための積分ステップδｔを提供し、
・解ｘｋ＝ｘ（ｔｋ）に対する近似を得るために、前記初期値から前記ステップδｔで前記微分方程式の数値積分を実行し、
・０．ｄ０ｄ１ｄ２ｄ３ｄ４・・・ｄｒ・・・ｄｗ・１０ｅの形式で浮動小数点で数値表現可能な値ｘｋをサンプリングすることによって第１の数値の系列を生成し、ｅは指数であり、ｗは仮数の長さであり、ｄ０は仮数の最上桁の数字であり、ｄｒは、それと解ｘｋに対する前記近似のその左側の全ての数字が、前記微分方程式の前記解の厳密値と一致するような数値となっており、
・値の系列の選択から数字ｄｉ・・・ｄｒを有する前記疑似ランダムコーディング系列を生成し、ｉは
【数１】
0006329534.tif 000035
を確認する所定の整数値であり、
・前記疑似ランダムコーディング系列は、
・・正の整数値ＤＩＭを予め確立し、
・・前記疑似ランダム系列から整数値の次元ＤＩＭの２つのベクトルＶ１およびＶ２を構築し、
・・積Ｖ１・Ｖ２Ｔから次元ＤＩＭｘＤＩＭの拡張マトリクスＭｅを構築し、Ｖ２ＴはＶ２の転置ベクトルであり、
・・マトリクスＭｅの行を連結することによって拡張系列を生成することによって、より大きい数の要素を有する系列に拡張されること、
によって前記疑似ランダムコーディング系列を生成する構成となっているシステム。
【請求項１４】
通信の一方である第１の端末と通信の他方である第２の端末の間で成立された通信チャンネルで受信されたコーディングされたメッセージをデコーディングするためのシステムであって、
前記システムは、
前記第２の端末から受信したコーディングされたメッセージをデコーディングする構成となっている前記第２の端末におけるメッセージデコーダを含み、
前記メッセージデコーダを使用する前記コーディングされたメッセージのデコーディングは、疑似ランダムコーディング系列を排他的比較演算（ＸＯＲ）を使用する前記コーディングされたメッセージと比較し、
この疑似ランダムコーディング系列は、鍵の通信ではなく、前記メッセージをコーディング及びデコーディングできる前記第１の端末と前記第２の端末で独立して生成されることを含み、
前記第２の端末における前記メッセージデコーダは、
・初期値ｘ’＝ｆ（ｘ，ｔ）の微分方程式を提供し、
・前記微分方程式の初期値ｘ０＝ｘ（ｔ０）を提供し、
・時間離散化ｔｋ＝ｔ０＋ｋ・δｔ，ｋ＝１，２，３・・・のための前記微分方程式のための積分ステップδｔを提供し、
・解ｘｋ＝ｘ（ｔｋ）に対する近似を得るために、前記初期値から前記ステップδｔで前記微分方程式の数値積分を実行し、
・０．ｄ０ｄ１ｄ２ｄ３ｄ４・・・ｄｒ・・・ｄｗ・１０ｅの形式で浮動小数点で数値表現可能な値ｘｋをサンプリングすることによって第１の数値の系列を生成し、ｅは指数であり、ｗは仮数の長さであり、ｄ０は仮数の最上桁の数字であり、ｄｒは、それと解ｘｋに対する前記近似のその左側の全ての数字が、前記微分方程式の前記解の厳密値と一致するような数値となっており、
・値の系列の選択から数字ｄｉ・・・ｄｒを有する前記疑似ランダムコーディング系列を生成し、ｉは
【数１】
0006329534.tif 000036
を確認する所定の整数値であり、
・前記疑似ランダムコーディング系列は、
・・正の整数値ＤＩＭを予め確立し、
・・前記疑似ランダム系列から整数値の次元ＤＩＭの２つのベクトルＶ１およびＶ２を構築し、
・・積Ｖ１・Ｖ２Ｔから次元ＤＩＭｘＤＩＭの拡張マトリクスＭｅを構築し、Ｖ２ＴはＶ２の転置ベクトルであり、
・・マトリクスＭｅの行を連結することによって拡張系列を生成することによって、より大きい数の要素を有する系列に拡張されること、
によって、前記疑似ランダムコーディング系列を生成される構成となっているシステム。
【請求項１５】
第１の端末と第２の端末との間のメッセージのセキュリティを保護する通信システムであって、
前記システムは、
排他的比較演算（ＸＯＲ）を使用する暗号化系列でメッセージを比較することによって、前記第２の端末に通信用の暗号化されたメッセージを生成させる構成となっている前記第１の端末におけるメッセージコーダと
排他的比較演算（ＸＯＲ）を使用する暗号化系列で暗号化されたメッセージを比較することによって、前記第１の端末によって受信された前記暗号化されたメッセージを解読する構成となっている前記第２の端末におけるメッセージデコーダと、を有し
前記メッセージコーダと前記メッセージデコーダは、前記暗号化系列及び解読系列を独立して生成させ、
前記第１の端末と前記第２の端末において、前記メッセージの暗号化及び解読が鍵の通信ではなく、可能で、
そして、前記暗号化系列と解読系列は、
・初期値ｘ’＝ｆ（ｘ，ｔ）の微分方程式を提供し、
・前記微分方程式の初期値ｘ０＝ｘ（ｔ０）を提供し、
・時間離散化ｔｋ＝ｔ０＋ｋ・δｔ，ｋ＝１，２，３・・・のための前記微分方程式のための積分ステップδｔを提供し、
・解ｘｋ＝ｘ（ｔｋ）に対する近似を得るために、前記初期値から前記ステップδｔで前記微分方程式の数値積分を実行し、
・０．ｄ０ｄ１ｄ２ｄ３ｄ４・・・ｄｒ・・・ｄｗ・１０ｅの形式で浮動小数点で数値表現可能な値ｘｋをサンプリングすることによって第１の数値の系列を生成し、ｅは指数であり、ｗは仮数の長さであり、ｄ０は仮数の最上桁の数字であり、ｄｒは、それと解ｘｋに対する前記近似のその左側の全ての数字が、前記微分方程式の前記解の厳密値と一致するような数値となっており、
・値の系列の選択から数字ｄｉ・・・ｄｒを有する疑似ランダム系列を生成し、ｉは
【数１】
0006329534.tif 000037
を確認する所定の整数値であり、
・前記疑似ランダム系列は、
・・正の整数値ＤＩＭを予め確立し、
・・前記疑似ランダム系列から整数値の次元ＤＩＭの２つのベクトルＶ１およびＶ２を構築し、
・・積Ｖ１・Ｖ２Ｔから次元ＤＩＭｘＤＩＭの拡張マトリクスＭｅを構築し、Ｖ２ＴはＶ２の転置ベクトルであり、
・・マトリクスＭｅの行を連結することによって拡張系列を生成することによって、より大きい数の要素を有する系列に拡張されること、
によって、前記メッセージコーダと前記メッセージデコーダにおいて生成される同一の疑似ランダム系列である通信システム。
【請求項１６】
前記第１の端末及び前記第２の端末において生成された前記疑似ランダム系列が同一となっている請求項１５に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第２のコーディングされたデータストリームを生じさせる第１のデータストリームをコーディングする方法およびこの第２のデータストリームをデコーディングする方法であって、前記コーディングは、前記第１のデータストリームと、疑似ランダム系列によって形成された第３のデータストリームとの排他的比較演算（ＸＯＲ）による比較の結果である方法に関する。特に本発明は、コーディングおよびデコーディングにおいて用いられる疑似ランダム系列を生成するためのハイパーカオティックコーディング方法をベースにした方法に関する。
【背景技術】
【０００２】
本発明は、セキュリティ保護された通信における情報ストリームのコーディングの分野に包含される。特に本発明は、一部は最先端技術において知られているハイパーカオティックシステムをベースにした方法の分野に包含される。
【０００３】
メッセージが送信器Ａから受信器Ｂに送信される単純な通信の場合において、そのメッセージは、ＡおよびＢがそれぞれコーディングおよびデコーディングできるような方法によってコーディングされる。
【０００４】
コーディングされた情報は、暗号文または暗号化メッセージと称され、通信チャネルを介して送信される。そのメッセージは任意の長さのビットストリームによって形成され、ＡおよびＢはそれぞれコーディングおよびデコーディングのための２進数列を生成する。これらの２進数列は暗号化系列である。
【０００５】
Ａからのメッセージが２進ＸＯＲ演算を行うことによって暗号化される場合、その表は以下の表１に示され、Ａの暗号化系列について、Ａにおいて適用された暗号化系列がＢにおいて適用された暗号化系列と同じ場合には、元のメッセージはＢで復元される。
【０００６】
表１：ＸＯＲ表
【表１】
0006329534.tif 000002
【０００７】
本発明は、本発明者による論文「Ｖｉｄａｌ，Ｇ．Ｓｉｎｃｒｏｎｉｚａｃｉｏｎ  ｙ  ｃｏｎｔｒｏｌ  ｄｅ  ｓｉｓｔｅｍａｓ  ｄｉｎａｍｉｃｏｓ  ｅｎ  ｒｅｇｉｍｅｎ  ｄｅ  ｃａｏｓ  ｅｓｐａｃｉｏ−ｔｅｍｐｏｒａｌ（Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ａｎｄ  ｃｏｎｔｒｏｌ  ｏｆ  ｄｙｎａｍｉｃａｌ  ｓｙｓｔｅｍｓ  ｉｎ  ｓｐａｃｅ−ｔｉｍｅ  ｃｈａｏｓ）（ＰｈＤ  Ｔｈｅｓｉｓ，Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｎａｖａｒｒａ，Ｓｐａｉｎ，２０１０）」において公開された投稿の内容に基づいている。当該論文には、ハイパーカオティックシステムに基づくランダム系列を得る方法および系列が動的な系から生成されることについて詳細に記載されている。
【０００８】
動的な系とは、その状態が時間の経過とともに展開してゆく系である。前記状態における挙動は、関係する要素らとそれら関連を特定した後に、その系の挙動方程式を決定することによってモデル化することができる。微分方程式または微分方程式の系によってモデル化された動的な系により、前記方程式または方程式の系を解くことによってその挙動について記述することが可能となる。特に、一次の初期値問題の微分方程式をｘ’（ｔ）＝ｆ（ｔ，ｘ（ｔ））の形式で表現することができる、ここでｘ（ｔ）は時間ｔの関数として表されるその系の解であり、初期条件はｘ（ｔ０）＝ｘ０である。通常の微分方程式の代わりに、その系がより多くの変数の使用を必要とする場合には、ｘはＲｎ空間に属するベクトル変数であり、ｎは方程式の系の次元であり、ベクトルｘの各成分は時間の関数である変数である。
【０００９】
カオティック暗号化は、セキュリティ保護された通信システムに対するカオス理論の使用に基づいている。カオス理論は、初期条件における小さい変化に対する高い応答感度を有する確定系を研究する。
【００１０】
コーディングが始まるとき、システムＡおよびＢは同期されている。このことは、両方で同じランダム系列が生成され、通信の両端においてＸＯＲオペレータを用いてメッセージのコーディングおよびデコーディングが可能にされていることを意味する。この同期が生じない場合、デコーディングされたメッセージが、元のコーディングされたメッセージとならない。
【００１１】
上述の論文に記載された方法は、システムＡおよびＢの両方がそれぞれ微分方程式の系を解くランダム系列の生成方法を提案している。その目的は、「Ｓｈａｎｎｏｎ，Ｃ．Ｅ．［１９４９］“Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｔｈｅｏｒｙ  ｏｆ  Ｓｅｃｒｅｃｙ  Ｓｙｓｔｅｍｓ”  Ｂｅｌｌ  Ｓｙｓｔｅｍ  Ｔｅｃｈｎｉｃａｌ  Ｊｏｕｒｎａｌ  ２８，ｐｐ．６５６−７１５”」のＣ．Ｅ．Ｓｈａｎｎｏｎによる理論的アプローチに適合した暗号化の探求である。この文献には、メッセージが「完全秘匿」に適合するために必要十分な条件は、暗号化がメッセージに確率的に左右されないことであり、従って確率的アプローチはメッセージの特性をみつけるために用いることができないと述べられている。Ｓｈａｎｎｏｎによって示された別の重要な結論は、鍵の長さが不都合でない場合には、バーナム暗号が最も適切であるということである。バーナム暗号は３つの基本的な特徴を有する。即ち、
１．この場合は暗号化系列である鍵は、暗号化されるメッセージと同じ長さでなければならない。
２．一旦鍵が用いられると、その鍵は再使用できない。この理由のために、バーナム暗号は「ワンタイムパッド」とも称される。
３．鍵は、ランダムな一様に分布した記号のリストからなる。
【００１２】
第１の特性は、鍵が十分に長いことを要請する。理論上は、カオティックな動的系を用いると、軌跡は、いつまでも周期的にならず必要なだけ長くすることができる。コンピュータに無限長の系列を持たせることは可能ではないが、その期間の積分を、方法に悪影響を与えるほどの丸め誤差なしに十分な精度で実現することができ、またこれらの期間は、処理される場合によって要求される十分な長さである。
【００１３】
第２の特性は、ソフトウェアによって容易に達成され、初期条件の値の反復を禁ずる。
【００１４】
前記論文に記載された暗号化および解読の特定の場合は、初期値問題に関連する微分方程式の２つの結合された系を確立する。これらの方程式の系は、一方は暗号化鍵を生成するために用いられ、他方は解読鍵を生成するために用いられ、それらが異なる初期条件から開始するとしても、結合された項のため、決定された期間について積分された後に最終的には同じ解に従って展開してゆくことになる。
【００１５】
通信端末認証を保証しつつ結合を実行するために２つの選択がある。即ち、動的な系の結合パラメータの値が公開であるか、メッセージ受信器の認証を可能にする第三者機関が存在するか、または動的パラメータの値が、例えばＲＳＡ（リヴェスト・シャミール・アルドレマン）鍵またはディフィー・ヘルマン鍵等を用いてセキュリティ保護されたチャネルを介して交換される。
【００１６】
第２の特性は、ソフトウェアによっても達成され、結合係数の反復を禁ずる。
【００１７】
最先端技術において知られている場合の大半では、これらの２つの特性には、巨大な鍵が通信チャネルを通過することを伴い、コストが高くなり過ぎる。しかし、前記論文に記載された例では、ただ１つのパラメータの組が送信される。これらのパラメータは、軌跡が閉じられた空間において見いだされる「デジタルな」点と同じ数の鍵の組に対するアクセスを提供する。しかし、特定の鍵を知るためには、システムＡおよびＢの間での同期プロセスを実行することが必要である。即ち、両方のシステムで得られる解を考えるために両方のシステムを十分長い時間積分する必要がある。これは時間の関数が同じであるか、それらの差が、非常に小さい閾値、即ち処理がコンピュータで行われる場合には「マシン誤差」として知られる値より小さいからである。
【００１８】
第３の特性は、ランダム信号を要請するが、開始点は確定系である。その系の動的な特性および信号白色化プロセスを用いて、このプロセスを実施する。連続的決定論的信号の主な問題の１つは、ハイパーカオティックな信号であっても、容易にその信号が追跡可能であることである。このことは、スパイが、以前の例を知ることによって信号の次の数値を多少なりとも正確に推定し得ることを意味する。従って、スパイによっては最終的に鍵を発見するまで可能な初期条件を限定することができる。そのような攻撃を防ぐために白色化プロセスを用いる。前記論文には連続信号を二進信号に変換できる白色化プロセスについて記載されている。初めに、暗号化メッセージの統計的情報を最小化する、高度に無相関の連続信号が必要とされる。
【００１９】
前記論文には、ハイパーカオティックシステムはその時間的自己相関が速やかに消失する連続信号を有するという事実に基づく方法について記載されている。一方、系列生成系は高次元の系であることも望ましく、従って解かれた方程式の系の解に周期軌道が現れることがより困難になる。これはコンピュータ化されたカオスを処理する際の典型的な問題である。方程式の系に対する解に周期が存在する場合には、スパイの作業が助けられることになる。彼／彼女は系の統計を測定するための時間参照を有することになるからである。
【００２０】
コーディング方法が従わなければならない別の要求は、暗号化メッセージと元のメッセージとの間に全単射の関数が存在しないこと、即ち暗号において逆関数問題として知られているものがないことを確実にすることである。この目的のために信号白色化方法が用いられ、位相および振幅情報の大半が除去される。従って、メッセージと暗号を結合する関数は全単射ではなくなることになり、従って１つの同じ暗号化ビットストリームが異なる意味をもつことになる。しかし、２つのシステムが同期されていることから、両者は常に同じ非暗号化メッセージを有することになる。
【００２１】
前記論文によって提示された信号白色化方法の主な技術的問題は、完全に無相関な疑似ランダム系列が生成されないという事実に加えて、高い計算コストを伴うことである。
【発明の概要】
【発明が解決しようとする課題】
【００２２】
本発明は、請求項１に記載の疑似ランダム系列を生成するための方法、請求項１１に記載のデータストリームをコーディングまたはコーディングされたデータストリームをデコーディングする方法、請求項１４に記載のメッセージコーダ、請求項１５に記載の暗号化メッセージデコーダ、および請求項１６に記載の通信システムによって上述の問題を解決する。従属請求項の記載は、本発明の好ましい実施形態を定めている。
【課題を解決するための手段】
【００２３】
本発明の第１の発明の態様は、疑似ランダム系列を生成するための方法であって、
ａ）初期値ｘ’＝ｆ（ｘ，ｔ）の微分方程式を提供するステップと、
ｂ）前記微分方程式の初期値ｘ０＝ｘ（ｔ０）を提供するステップと、
ｃ）時間離散化ｔｋ＝ｔ０＋ｋ・δｔ，ｋ＝１，２，３・・・のための前記微分方程式のための積分ステップδｔを提供するステップと、
ｄ）解ｘｋ＝ｘ（ｔｋ）に対する近似を得るために、前記初期値から前記ステップδｔで前記微分方程式の数値積分を実行するステップと、
ｅ）０．ｄ０ｄ１ｄ２ｄ３ｄ４・・・ｄｒ・・・ｄｗ・１０ｅの形式で浮動小数点で数値表現可能な値ｘｋをサンプリングすることによって第１の数値の系列を生成するステップであって、ｅは指数であり、ｗは仮数の長さであり、ｄ０は仮数の最上桁の数字であり、ｄｒは、それと解ｘｋに対する前記近似のその左側の全ての数字が、前記微分方程式の前記解の厳密値と一致するような数値であるステップと、
ｆ）値の系列の選択から数字ｄｉ・・・ｄｒを有する前記疑似ランダム系列を生成するステップであって、ｉは、
【数１】
0006329534.tif 000003
を確認する所定の整数値であるステップを含むことを特徴とする方法である。
【００２４】
前記疑似ランダム系列の生成を開始する第１のステップは、暗号化のための疑似ランダム系列を生成するために使用される動的な系を確立することである。動的な系は、解がｘ（ｔ）である、略記してｘである微分方程式で定められる。初期値と、前記初期値問題の積分のための時間離散化から得られた積分ステップを提供した後、前記初期値からの前記微分方程式は数値積分されて、解ｘ（ｔ）を形成する。つまり、各定数ｔｋ＝ｔ０＋ｋ・δｔ，ｋ＝１，２，３・・・について初期値ｘ０＝ｘ（ｔ０）を所与のものとして、方程式ｘ’＝ｆ（ｘ，ｔ）に対する数値解ｘ（ｔ）を計算することによって、実数値ｘｋの系列が得られる。
【００２５】
系列の値ｘｋは浮動小数点で表現可能であり、その表現は、ｘｋ＝・ｄ０ｄ１ｄ２ｄ３ｄ４・・・ｄｒ・・・ｄｗ・１０ｅとして表すことができる。ここで、ｅは指数であり、ｗは仮数の長さであり、ｄ０は仮数の最上桁の数字であり、ｄｒは、それと解ｘｋに対する前記近似のその左側の全ての数字が、前記微分方程式の前記解の厳密値と一致するような数値である。一旦これが行われると、値ｘｋの系列の選択から数字ｄｉ・・・ｄｒを有する前記疑似ランダム系列が生成され、ｉは、
【数１】
0006329534.tif 000004
の所定の整数値である。即ち、以下を満たす実数の数字が用いられる：
・それらは前記仮数に属する、
・それらは、ｘｋの厳密解と一致する数字である。
・それらは、最大桁の数字ではない。
【００２６】
値ｘｋの選択から選ぶことで、それらが時間タイムラインにおいてより離れているときにより無相関となる値の集合が生成される。
【００２７】
実数ｘｋの最上桁の数字ではないという最後の特性によって、可及的に最短の時間において相互に無相関な値の系列が生成されるという利点が得られる。より上位桁の数字の間での従属性を除去すると、その値が無相関である系列が得られる。
【００２８】
最先端技術によれば、サンプル間の相関度を小さくするために、選択ｘｋの要素間での距離が広げられる。選択ｘｋの要素間の距離を広げることは、新たなサンプルｘｋを得るまで数値積分によって多くの中間点の評価が行われることを伴う。同様に、各ステップの積分は、必要となる中間関数および計算の数のために高い計算コストを伴う。
【００２９】
これに対して、本発明はコーディングまたはデコーディングのためのデータストリームの生成のために用いられる数字の数を減らすが、それは選択のサンプルｘｋ間の時間変数における距離も劇的に短縮することができる。つまり、１つの同じ積分のためにより多くのサンプル数が用いられ、同じ計算コストによって生成されるランダムで無相関な数字の量が著しく増大する。
【００３０】
本発明の第２の発明の態様は、コーディングされたストリームによってデータを転送するためにデータストリームをコーディングする方法であって、前記コーディングは、前記データストリームと、疑似ランダム系列によって形成される第２のデータストリームとの排他的比較演算（ＸＯＲ）による比較の結果であることを特徴とする方法、または
コーディングされたデータストリームをデコーディングする方法であって、前記デコーディングは、前記コーディングされたデータストリームと、疑似ランダム系列によって形成される第２のデータストリームとの排他的比較演算（ＸＯＲ）による比較の結果であることを特徴とする方法において、
前記疑似ランダム系列の生成は、前記第１の発明の態様による方法によってなされることを特徴とする方法である。
【００３１】
上述のように、システムＡおよびＢで生成される系列は、通信の両端末側に前記ＸＯＲ演算を適用したときＢにおいて元のメッセージが得られるように、同一でなければならない。両方のシステムで同じ微分方程式を解き、同じステップに従って前記疑似ランダム系列を生成することによって、この条件が、同じ利点をもって満足されることになる。
【００３２】
本発明の第３の発明の態様は、コーディングされたストリームによってデータを転送するためにデータストリームをコーディングするための方法を実行するのに適したメッセージコーダであって、
前記コーディングは、前記データストリームと、疑似ランダム系列によって形成される第２のデータストリームとの排他的比較演算（ＸＯＲ）による比較の結果であり、
前記疑似ランダム系列の生成は、前記第１の発明の態様による方法によってなされることを特徴とするメッセージコーダである。
【００３３】
本発明の第４の発明の態様は、コーディングされたデータストリームをデコーディングする方法を実行するのに適した暗号化メッセージデコーダであって、
前記デコーディングは、前記コーディングされたデータストリームと、疑似ランダム系列によって形成される第２のデータストリームとの排他的比較演算（ＸＯＲ）による比較の結果であり、
前記疑似ランダム系列の生成は、前記第１の発明の態様による方法によってなされることを特徴とする暗号化メッセージデコーダである。
【００３４】
本発明の第５の発明の態様は、少なくとも１つの前記第３の発明の態様によるコーダと、少なくとも１つの前記第４の発明の態様によるデコーダとを備える通信システムである。
【００３５】
特定の実施形態では、前記通信システムは、移動通信システムである。初期値ｘ０は、通信センターから両方のシステムに供給される。例えば、ＡおよびＢが移動端末である場合、この通信センターはＢＴＳベース（基地送受信局）の基地局であり得る。この実施形態では、同じランダム系列がシステムの両端末で生成されて、ＸＯＲオペレータを適用することによって元のメッセージを復元できる。これらの系列は、同じ初期値で同じ微分方程式が解かれるので同じものになる。
【００３６】
本発明の、上述のおよび他の利点および特徴は、例示的な非限定の実施例として提供された添付の図面を参照した以下の好ましい実施形態の説明からより良く理解されるであろう。
【図面の簡単な説明】
【００３７】
【図１】図１は、２つの送信器ＡおよびＢの間の通信と、コーディングに関与する要素の実施形態を示す。
【図２】図２は、微分方程式ｘ’＝ｆ（ｘ，ｔ）に対する解の実施形態を示す。
【図３】図３は、Ｘを付して示したサンプリングされた無相関の値を示す。
【図４】図４は、特定の実施形態の系が示されており、他の要素のなかからｘ’ｓ＝ｆｓ（ｘ１，ｘ２，・・・，ｘｎ、ｐ１，ｐ２，・・・，ｐｍ，ｔ）、ｓ＝１・・・ｎの形態で表され得る微分方程式の系を解くモジュールであって、モジュールは各ｘｋの範囲を選択するモジュール、および拡張マトリクスＭｅとして知られるマトリクスの行を生成するジェネレータモジュール等の異なる機能的要素が図示されている。
【発明を実施するための形態】
【００３８】
本発明は、通信システムの２つの端末の間での転送においてのメッセージのコーディングのためのプロセスに適用される。従って、図１に示すように、メッセージ（Ｍ）は、通信の第１の端末（Ａ）において、暗号化系列（Ｓ）と共にＸＯＲオペレータを用いてコーディングされる。暗号化されたメッセージ（Ｍ  ＸＯＲ  Ｓ）は、転送チャネルを介して送信される。暗号化されたメッセージは、通信の他方の端末（Ｂ）において、ＸＯＲオペレータを再度適用することによって解読される。本発明は、ＢにおいてＸＯＲオペレータを適用することによってメッセージ（Ｍ）を得ることを可能にする、通信の各端末において同一であるコーディング系列（Ｓ）の生成に焦点を当てたものである。コーディング系列（Ｓ）は疑似ランダム系列である。
【００３９】
本発明は、コーディングされたストリームによってデータを転送するためにデータストリームをコーディングする方法であって、前記コーディングは、前記データストリームと、疑似ランダム系列によって形成される第２のデータストリームとの排他的比較演算（ＸＯＲ）による比較の結果であることを特徴とする方法において、前記疑似ランダム系列の生成は、
ａ）初期値ｘ’＝ｆ（ｘ，ｔ）の微分方程式を提供するステップと、
ｂ）前記微分方程式の初期値ｘ０＝ｘ（ｔ０）を提供するステップと、
ｃ）時間離散化ｔｋ＝ｔ０＋ｋ・δｔ，ｋ＝１，２，３・・・のための前記微分方程式のための積分ステップδｔを提供するステップと、
ｄ）解ｘｋ＝ｘ（ｔｋ）に対する近似を得るために、前記初期値から前記ステップδｔで前記微分方程式の数値積分を実行するステップと、
ｅ）０．ｄ０ｄ１ｄ２ｄ３ｄ４・・・ｄｒ・・・ｄｗ・１０ｅの形式で浮動小数点で数値表現可能な値ｘｋをサンプリングすることによって第１の数値の系列を生成するステップであって、ｅは指数であり、ｗは仮数の長さであり、ｄ０は仮数の最上桁の数字であり、ｄｒは、それと解ｘｋに対する前記近似のその左側の全ての数字が、前記微分方程式の前記解の厳密値と一致するような数値であるステップと、
ｆ）値の系列の選択から数字ｄｉ・・・ｄｒを有する前記疑似ランダム系列を生成するステップであって、ｉは、
【数１】
0006329534.tif 000005
の所定の整数値であるステップを含むことを特徴とする方法を提示する。
【００４０】
本発明はまた、コーディングされたデータストリームをデコーディングする方法であって、前記デコーディングは、前記コーディングされたデータストリームと、疑似ランダム系列によって形成される第２のデータストリームとの排他的比較演算（ＸＯＲ）による比較の結果であることを特徴とする方法において、前記疑似ランダム系列の生成は、発明の第１の態様の方法のステップａ）〜ｆ）を含むことを特徴とする方法を提示する。
【００４１】
図２の表示内容は、特定の初期値に対する微分方程式ｘ’＝ｆ（ｘ，ｔ）に対する解が、連続曲線によって表される上述の利点を例示するめの実施形態として使用される。積分ステップの選択の後、例えば陽計算法を利用することによって、初期値問題の積分法により数値近似値が得られる。
【００４２】
たとえそうであっても、連続するステップの間での解の値同士には高い相関があり、前記値を取り出して、暗号化または解読系列の生成のためにその数字を利用することを可能にするためには多くの積分ステップを積分する必要がある。
【００４３】
一例を挙げると、０〜５００秒の時間空間が示された図２に示すもののような疑似ランダム解を得ることを可能にする初期値問題の積分である。積分の数値計算法から得られた値から抜き出された３つの値が選択され、これらは図３においては、同じ積分法によって得られた解の曲線上において強調表示されている。これらの３つの値の仮数は、以下の
０．７１（１１）７６（ｔ＝０秒の場合）
−０．２８（６０）５１（ｔ＝１６０秒の場合）
−０．４９（１４）３８（ｔ＝３２０秒の場合）。
である。
【００４４】
これらの３つの値の各々の指数は、小数点の右側の初めの数字が仮数の第１のヌルでない数字であることを確認するためにのみ考慮されている。
【００４５】
この値の系列では、数字が丸括弧のなかで強調表示され、最上桁の数字がその左側に、積分が実行されるコンピュータのアーキテクチャによる丸め誤差に影響を受け得る数字がその右側に示されている。
【００４６】
この下位の数字の選択により、値同士の間の時間依存性が除去される。
【００４７】
実数はいろいろな形式で表現可能であるが、当該方法は、この特定の表現（指数を問わず）から得られる数字を考慮する。
【００４８】
・最上桁の数字、および
・丸め誤差に対応する数字
を除いた一組の数字を用いる方法は、その実数値（実数の集合に属する値）を表現する特定の方式を用いる本発明の実施の方式である。それらは、上述のデータストリームをコーディングする方法のステップｅ）に示された形態でも表現可能だからである。
【００４９】
左括弧および右括弧は、請求項１に記載の方法のステップｆ）に対応する数字ｄｉ・・・ｄｒがそのなかに入る位置にある。各例に応じて、括弧の位置、即ち数字ｄｉ・・・ｄｒの範囲は異なり、積分を適用する前に予め確立される。
【００５０】
括弧内の数字を連結すると系列：１１６０１４が生ずる。クレームの方法の利点の１つがより近いサンプルを時間内に取り出すことを可能にすることであることを考えれば、より多くの値を利用して、１つの同じ範囲の時間のための系列の生成のための数字を提供し、常に無相関特性を確認することが可能となる。
【００５１】
本発明の一実施形態では、コーディングおよびデコーディングのための前記方法のステップｄ）において、１つの微分方程式でなく、ｎ個の未知数のある微分方程式の系、即ちｘ’ｓ＝ｆｓ（ｘ１，ｘ２，・・・，ｘｎ，ｐ１，ｐ２，・・・，ｐｍ，ｔ）、ｓ＝１・・・ｎの系の数値積分が実行され、ｎも未知数の数であって、ｍ個のパラメータＰｊ、ｊ＝１・・・ｍを含み、ステップｆ）において、前記疑似ランダム系列が、前記微分方程式の系から予め選択されたｎ個の変数の１つから生成される。方程式の系により、目的の変数が他の変数の変動に応じて変化するので、スパイが同じ疑似ランダム系列の再生に成功してＡからＢへの転送中にコーディングされたメッセージを解読する可能性が低くなるという利点が得られる。
【００５２】
本方法の一実施形態では、以下の
・積分時間Ｔを決定するステップと、
・初期値とともにコーディング系列を生成するために、次の
【数２】
0006329534.tif 000006
のように表現され得る摂動系の方程式を提示するステップと、
・前記コーディング系列の生成のために提示された前記初期値と必ずしも一致はしていない初期値とともにデコーディング系列を生成するために、次の
【数３】
0006329534.tif 000007
のように表現され得る摂動系の方程式を提示するステップと、
・データのコーディングおよびデコーディングの前に、第１のコーディング系列および第１のデコーディング系列を、両方の方程式の摂動系を時間Ｔで積分することによって生成するステップであって、両方の系は
【数５】
0006329534.tif 000008
を乗じられた項によって結合され、ｓ＝１・・ｎであり、
【数５】
0006329534.tif 000009
は正の値であって、前記コーディングに関連する系における少なくとも１つの値と、前記デコーディングに関連する系における他の値はヌルでない値であり、少なくとも、ヌルでない値
【数４】
0006329534.tif 000010
を乗じられた変数ｘ１，ｘ２，・・・，ｘｎの値の交換が、交換チャネルを介した積分の間に両方の系の収束まで実行されるステップと、
・結合値を交換することなく、かつ
【数４】
0006329534.tif 000011
の項を組み入れることなく、初期条件を独立して用いた先行のステップにおいて実行された積分において達成された値から同じ方程式を積分することによって、データコーディングおよびデコーディング系列を提供するステップとが実行される。
【００５３】
方程式の摂動系を用いることの利点は、結合係数
【数４】
0006329534.tif 000012
を導入することによって、時間Ｔについての積分のために選択される初期条件が両方のシステムＡおよびＢにおいて一致する必要なく両方のシステムの収束が達成されることである。結合項は、
【数６】
0006329534.tif 000013
として表され、フィードバック信号と解することができる。システムが完全同期体制にある場合、これらの項は互いにキャンセルし合って消える。そのとき、２つのシステムＡおよびＢは同じ軌跡を再生する。予め確立された小さい閾値と比較される差異
【数７】
0006329534.tif 000014
の測定値は、システムが同期されているいか否かを判定する基準の一例である。
【００５４】
このことは、値
【数８】
0006329534.tif 000015
がシステムＡに到達し、一定の時間
【数９】
0006329534.tif 000016
である場合には、システムが同期されることを意味する。従って、積分の前に情報を共有する必要がなく、スパイによって傍受されやすい情報の交換を行うことなくセキュリティ保護された通信が達成されることになる。これは、対称的暗号化の場合である。
【００５５】
この状況は、通信の両端末ＡおよびＢにおいて、同期が取られたときに、両方のシステムにおける変数が同じ値であることが分かるように、両方のシステムが公開チャネルを介してそれらの変数をやり取りすることが必要であることを意味する。変数の交換は、必ずしも積分時間Ｔに一致する必要はない時間間隔において行われる。変数の値の収束が達成されたことが検出されたときは、Ａにおいてメッセージのコーディングが開始され、その後の、一定の時間における解の値を初期値としてとるコーディングされたメッセージの転送が起こる。その値は、両方のシステムにおいて同時刻に、必ず、システムが同期されたことが確実になった後に得られる解に属する。一実施形態では、この値は、両方のシステムにおいて達成された積分の最終値である。
【００５６】
本発明の特定の実施形態では、その変数の交換が、公開鍵によって暗号化された交換チャネルにおいて行われる。これによって、通信システムに対するセキュリティが提供される利点が得られる。交換された変数の値が知られていたとしても、方程式の系が知られておらず、またこの秘密が開示されていた場合であってすら、交換されたパラメータが暗号化されている場合には解の展開を知ることは不可能であるので、解を推定することができないからである。
【００５７】
本発明の特定の実施形態では、コーディングおよびデコーディングのための方法を実施することによって、ステップｆ）の後、各数字ｄは、予め確立されたワードサイズＤ１を有する２進法で表され、その数字の連結が２進数列を形成する。
【００５８】
実数を表現するこの方式により、前記疑似ランダム系列を直接生成するためにコンピュータの内部表現を使用するという技術的利点が得られる。従って、この実施形態においては、ｘｋ＝ｘ（ｔｋ）から選択された値の数字ｄｉ・・・ｄｒを用いて計算量を節約する利点を示す結果が得られた。従って、本発明による方法を適用することなく全ての数字を取ることによって２つの無相関な値を見いだすために必要な時間よりずっと短時間でｘｋとｘｋ＋１から取りだされる２つの無相関な値が存在する。特定の実施形態では、半分の時間でそれらの値が無相関であることがわかった実験的な値ｄｉが用いられる。
【００５９】
本発明による方法は、各サンプルについての数字の組の選択を行い、同時に１つの同じ積分期間においてより多くのサンプルを使用することを可能にする。より大きいサンプル数は数字の減少を埋め合わせ、得られる方法は最先端技術に記載のものよりより効率的であることが判明している。
【００６０】
一方、ビット除去により導入される技術的効果は、それが、疑似ランダム系列、従ってメッセージを解読するための統計的攻撃の実行を複雑化することである。
【００６１】
特定の実施形態では、ステップｆ）の後、各数字ｄは、予め確立されたワードサイズＤ１を有する２進法で表され、その数字の連結が２進数列を形成する。
【００６２】
例示的な実施例として、Ｄ１＝５，ｘｋ＝0.563124，ｘｋ＋１＝0.648521，ｒ＝6，ｉ＝4，とされ、そのとき疑似ランダム系列の選択が：
・ｘｋのｄ４・・・ｄ６：１２４→５ビットの各数字の２進表現：000010001000100、
・ｘｋ＋１：のｄ４・・・ｄ６：５２１→５ビットの各数字の２進表現：001010001000001であり、従って、値ｘｋおよびｘｋ＋１の選択から生成された疑似ランダム系列の選択は、連結：124521 →（および２進法で）000010001000100001010001000001である。
【００６３】
一実施形態では、ワードサイズＤ２が予め確立され、整数の数字がＤ２ビットのワードをとる２進数列から形成される。
【００６４】
前記実施形態について続けると、Ｄ２＝３の場合、３ビットの群が上述の生成された系列から形成され、その１０進数の表現が得られる：
000010001000100001010001000001→0210412101
【００６５】
一実施形態では、排他的比較演算（ＸＯＲ）を適用する前に、前記疑似ランダム系列は、
・正の整数値ＤＩＭを予め確立するステップと、
・前記疑似ランダム系列から整数値の次元ＤＩＭの２つのベクトルＶ１およびＶ２を構築するステップと、
・積Ｖ１・Ｖ２Ｔから次元ＤＩＭｘＤＩＭの拡張マトリクスＭｅを構築するステップであって、Ｖ２ＴはＶ２の転置ベクトルであるステップと、
・マトリクスＭｅの行を連結することによって拡張系列を生成するステップによって、より大きい数の要素を有する系列に拡張される。
【００６６】
前記実施形態について続けると、疑似ランダム系列が０２１０４１２１．．である場合、ＤＩＭが３ならば：
・Ｖ１＝０２１(列ベクトル)
・Ｖ２＝０４１(列ベクトル)
【数１０】
0006329534.tif 000017
・拡張系列＝000082041
であり、従ってこの特定の実施形態では、３つの数字の２つのベクトルから初めて、９つの数字の集合が有利に得られ、それらの行を取り出すと新たなベクトルが生じ、それによって、送信される系列と開始方程式との無相関または相関が特に確認され、スパイの作業を複雑化する乱雑さの程度が増大する。更に、開始時の数字の数に対して「増大した」数の数字が得られ、従って特定のビット数の系列を生成するために必要な入力ビット数が少なくなるため、計算効率が高くなる。
【００６７】
特定の実施形態では、前記拡マトリクスを生成した後に、以下が行われる。即ち、
・値Ｋ１が予め確立され、
・前記拡張系列を生成する前に、前記マトリクスＭｅの各要素は、そのＫ１を法とする剰余類を計算して得られる値で置換される。前記例について続けると、拡張マトリクスが、
【数１１】
0006329534.tif 000018
およびＫ１＝３、
である場合、Ｋを法とする剰余類演算は、その結果が第１の整数を第２の数で除した剰余を用いる演算であり、以下が得られ、
【数１２】
0006329534.tif 000019
疑似ランダム系列は：
Ｓ＝００００２２０１１
である。
【００６８】
この演算のモードは、Ｋを法とする剰余類演算が、範囲が［１，１０］の値Ｋについて適用され、範囲が［０．．９］の１０進系における１つの数字を有する数字を処理することが可能となる利点を提供する。このことは、その要素が数百の桁の非常に大きい値を有するマトリクスが存在する場合に有利となる。Ｍｅが積の結果であり、従ってそれらを処理することがより高価になるからである。
【００６９】
特定の実施形態では、以下のステップが更に実行される。即ち、
・前記ベクトルＶ１およびＶ２に加えて、整数の次元ＤＩＭのベクトルＶ３が、生成された前記疑似ランダム系列から構築され、
・前記マトリクスＭｅの各要素の上に、前記マトリクスＭｅの行を構築することによって前記拡張系列を生成する前に、Ｍｅの行の各々が、前記ベクトルＶ３の同じ行によって確立された整数値に従って、予め確立された方向に前記整数回、円形に回転される。
【００７０】
上述の特定の実施形態において示すものを一例として用いるならば、開始疑似ランダム系列は、ｓ＝０２１０４１２１０１でなければならない。
【００７１】
従って、
・Ｖ１＝０２１(列ベクトル)
・Ｖ２＝０４１ (列ベクトル)
・Ｖ３＝２１０ (次元ＤＩＭ＝３の列ベクトル)
【数１３】
0006329534.tif 000020
となる。
【００７２】
従って、第１が時計方向に２回回転され、第２の行が１回回転され、第３の行は回転されない。更に利点は、乱雑さおよび無相関の程度が増大し、スパイが開始系列を、従ってランダム系列を生成するために用いられる微分方程式を推定可能になることが防止されることである。
【００７３】
特定の実施形態では、ベクトルＶ３を生成した後、以下のステップがさらに実施される。即ち、
・好ましくは前記ＤＩＭ値である、値Ｋ２が予め確立され、
・前記ベクトルＶ３の各要素が、そのＫ２を法とする剰余類を計算して得られる値で置換される。
【００７４】
これにより、Ｖ３の要素が、Ｍｅの行の多数回の回転、マトリクス自体の次元よりも多い回数回転させることになる大きい値を有して冗長なタスクが生ずることが防止される。この演算により、計算コストが最適化される。
【００７５】
Ｖ３の要素の値が大きい例示的な実施例を考えると、以下が得られる。
・開始疑似ランダム系列は、ｓ＝０２１０４１８９７１となる。
従って、
・Ｖ１＝０２１(列ベクトル)
・Ｖ２＝０４１(列ベクトル)
・Ｖ３＝８９７(次元ＤＩＭ＝３の列ベクトル)
【数１４】
0006329534.tif 000021
となる。
【００７６】
ベクトルＶ３の行によって指示される回数だけ行が回転される場合、あたかもＶ３の各行のモジュールがそれぞれ３回または２回、０回および１回回転されたかのような場合と同じ結果が得られる。
【００７７】
特定の実施形態では、疑似ランダム系列およびＸＯＲオペレータの処理を開始するべくマトリクスＭｅを完全に計算する代わりに、マトリクスの行が計算され、作業はそれらを用いて行われる。初めにマトリクスを構築し、次にデータストリームを取り出す必要はない。従って、図４に示すように、システムはより高速で処理を行い、マトリクス全体をメモリに格納する必要はなく、行のみを取り出して、それに直接作業を行うことができる。これによって、全システムの効率性が提供される。有利な点として、拡張マトリクスを用いると、プロセッサおよびメモリの両方において前記方法を実施するシステムに対する要請を小さくすることができ、あまり高性能でないハードウェアでも実施することが可能となる。
【００７８】
図４は、メッセージ（ｍ）のコーディングに用いられる疑似ランダム系列（Ｓ）を生成する機能要素を備えたシステムを示す。同図は、異なる要素を有するシステムＡを示す。
【００７９】
方程式の系を解く第１のモジュール（１）は、次のようなものと認められる：
【数２】
0006329534.tif 000022
【００８０】
以下のものも認められる。
【００８１】
・第２のモジュール（２）は、解ｘｋをその数字ｄｉ・・・ｄｒに短縮する。
この第２のモジュール（２）により、各サンプルｘｋについて、数字を取り出して、後で処理されることになる疑似ランダム系列を生成させることができる。一実施形態では、前記モジュールは、コンピュータで内部的に表現される実数の値から対応する数字を選択する方法を実施するのに適したコンピュータプログラムコードのセグメントであり得る。
【００８２】
・第３のモジュール（３）は、ベクトルＶ１、Ｖ２およびＶ３を得る。
この第３のモジュールは、第２のモジュールからの数字の連結を使用し、次元ＤＩＭを所与として、ベクトルＶ１、Ｖ２およびＶ３を生成するようにそれらを表現する。一実施形態では、第３のモジュールは、予め確立された次元ＤＩＭおよび第２のモジュール（２）によって供給された整数値の系列を所与として、ベクトルＶ１、Ｖ２およびＶ３を生成する方法を実施するのに適したコンピュータプログラムコードのセグメントである。
【００８３】
・第４のモジュール（４）は、Ｋ１を法とするＶ１の剰余類、Ｋ１を法とするＶ２の剰余類、Ｋ２を法とするＶ３の剰余類を得る。
第４のモジュール（４）は、ベクトルＶ１、Ｖ２およびＶ３の各要素を処理し、要素の値を値Ｋ１、Ｋ１およびＫ２のなかのもので除し、各要素における剰余を得る。その結果は３つのベクトルであり、そのベクトルの要素は第４のモジュール（４）によって適用された除算から得られた剰余である。一実施形態では、第４のモジュール（４）は、上述のような処理を行い、第３のモジュール（３）等のモジュールからベクトルＶ１、Ｖ２およびＶ３を得る方法を実施するのに適したコンピュータプログラムコードのセグメントであり、値Ｋ１は予め確立されたものであり得る。
【００８４】
・第５のモジュール：これは、マトリクスＭｅの行を生成し、例示された実施形態ではマトリクスＭｅの各行は：Ｍｅ１が第１の行、Ｍｅ２が第２の行、およびＭｅ３が第３の行である。
一実施形態では、第５のモジュール（５）は、以下のようにベクトルＶ１、Ｖ２およびＶ３を処理するコンピュータプログラムセグメントである：第１に、ベクトル積Ｖ１．Ｖ２Ｔを計算する。この積は、マトリクスを完成させてその全体を格納する必要はなく、行において実行できる。マトリクスのｉ番目の行は、値によって形成されることになる。Ｖ１ｉはベクトルＶ１のｉ番目の成分であり、Ｖ２ｊはベクトルＶ２のｊ番目の成分であり、ここでｊはマトリクスおよびベクトルＶ２の全ての列にわたる。モジュールは第１の行を得た後、その行をＶ３の第１の要素の値と等しい回数だけ回転して結果を提供する。モジュールは、このようにして、演算（Ｖ１．Ｖ２Ｔ）ｒｏｔＶ３を終了するまで、連続して各行を処理する。
【００８５】
生成される疑似ランダム系列（ｓ）は、生成された順での行の連結である。この系列（ｓ）は、ＸＯＲオペレータによって元のメッセージ（Ｍ）に対して処置を施され、その結果は通信チャネルを介して送信される。
【００８６】
特定の実施形態
特定の実施形態は、カオティックな動的系から生成される、信号ｘｋから開始される。互いに無相関な特定の値を、この信号から取り出す：
ｍ１＝０．９８７５４２１３
ｍ２＝０．９８２１４３５６
ｍ３＝０．６１１０２３４８
ｍ４＝０．６２０２１３０９
ｍ５＝０．４１１０２４４１
ｍ６＝０．３５０００２２７。
【００８７】
最上桁の数字と積分のために用いられるコンピュータのアーキテクチャによって生ずる丸め誤差を生ずる数字とが各サンプルから除去され、以下が得られる：
ｓ１＝７５４２１
ｓ２＝２１４３５
ｓ３＝１０２３４
ｓ４＝０２１３０
ｓ５＝１０２４４
ｓ６＝０００２２
【００８８】
次のステップは、これらの値をグループ化して、２つのベクトルＶ１、Ｖ２を形成することである：
【数１５】
0006329534.tif 000023
【００８９】
拡張マトリクスは、これらの２つのベクトルから生成される：
【数１６】
0006329534.tif 000024
【００９０】
マトリクスの各要素からＫ１  ｍｏｄ＝９０１０７が得られる。
【００９１】
次に、さらなるサンプルｍ７、ｍ８、ｍ９を開始信号から取り出し、Ｋ２  ｍｏｄ＝３が適用されるベクトルＶ３を生成し、以下のベクトルを得る。
【数１７】
0006329534.tif 000025
【００９２】
従って、マトリクスＭｅの行を回転することによって以下が得られる。
【数１８】
0006329534.tif 000026
【００９３】
次にマトリクスの各要素を、１０進数の要素を２進数に変換することによって２進数に変換する。例えば、疑似ランダム系列（その中の初めの２つの数に対応するもののみが示されている）は、マトリクスの要素を２進数に連結することによって得られ、
【数１９】
0006329534.tif 000027
この系列は、ＸＯＲ演算によってメッセージと混合されて暗号化データストリームとなる系列になる。
【００９４】
受信器側で実行されるこの同じ演算の組によってそのメッセージは解読可能となる。
【図１】
0006329534.tif 000038
【図２】
0006329534.tif 000039
【図３】
0006329534.tif 000040
【図４】
0006329534.tif 000041