(57)【要約】  本発明は、少なくとも１つの検索パターンを探索するための手順を用いて複数の初期データ・シーケンス（９ａ、９ｂ、９ｃ）に属するデータを結合する結合手段を含む、擬似ランダム・データ・シーケンス（３）を発生するための方法及び発生器に関する。
2008530606.tif 000002
【特許請求の範囲】
【請求項１】
一連の出力パターン（２５）から成る擬似ランダム・データ・シーケンス（３）を発生するための方法であって、これらの出力パターン（２５）は、
・  少なくとも１つの検索パターンを選択するステップと、
・  複数の初期データ・シーケンス（９ａ、９ｂ、９ｃ）の１つである少なくとも１つの初期データ・シーケンスにおける前記少なくとも１つの検索パターンを検索するステップと、
・  前記検索に依存するかつ前記複数の初期データ・シーケンス（９ａ、９ｂ、９ｃ）からの少なくとも２つの初期データ・シーケンスの内容に依存するアプリケーションに従って出力パターン（２５）を決定するステップと、
・  前記複数の初期データ・シーケンス（９ａ、９ｂ、９ｃ）内の少なくとも１つの検索パターンの選択及び検索を再割当てするステップと、
によって得られることを特徴とする方法。
【請求項２】
前記再割当ては、前記複数の初期データ・シーケンス（９ａ、９ｂ、９ｃ）の１つである少なくとも１つの初期データ・シーケンスの内容及び／または前記検索の関数として行われることを特徴とする請求項１に記載の方法。
【請求項３】
前記ステップは、
・  各ウインドは初期データ・シーケンスと関連しているので複数のウインド（１９ａ、１９ｂ、１９ｃ）があるが、前記複数の初期データ・シーケンス（９ａ、９ｂ、９ｃ）の各初期データ・シーケンスに渡って少なくとも１つのウインド（１９ａ、１９ｂ、１９ｃ）をシフトするための少なくとも１つのシフト・モードを限定するための第１のセットのルールと、
・  前記複数のウインド（１９ａ、１９ｂ、１９ｃ）を操作する複数のポインタによって動作を再割当てすること、及び／または前記出力パターン（２５）を更新すること、及び／または前記少なくとも１つの検索パターンを選択することを管理する第２のセットのルールと、
・  前記複数のウインドをシフトするモードを決定する第３のセットのルールと、
を含む一連のルールによって行なわれることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記複数の初期データ・シーケンスは、少なくとも２つの初期データ・シーケンスを含み、そしてウインド（１９ａ、１９ｂ、１９ｃ）は、サイズ１のものであり、それにより、前記少なくとも２つの初期データ・シーケンスは、１ビットの出力パターン（２５）を決定するよう連続的にビットずつ読取られ得ることを特徴とする請求項３に記載の方法。
【請求項５】
前記擬似ランダム・データ・シーケンス（３）の各ビットは、暗号化されたデータ・シーケンスを形成するようモジュロ２加算によって暗号化されるべきメッセージのデータ・シーケンスからの対応ビットと結合されることを特徴とする請求項１乃至４のいずれかに記載の方法。
【請求項６】
擬似ランダム・データ・シーケンス（３）の発生器であって、少なくとも一つの検索パターンを検索する手順に従って複数の初期データ・シーケンス（９ａ、９ｂ、９ｃ）に属するデータを結合するための結合手段（５）を含み、該結合手段（５）は、
・  複数の初期データ・シーケンス（９ａ、９ｂ、９ｃ）に渡ってシフトされるよう適合されている複数のウインド（１９ａ、１９ｂ、１９ｃ）と対応関係にある複数のポインタ（２０ａ、２０ｂ、２０ｃ）と、
・  少なくとも１つの初期データ・シーケンスにおける前記少なくとも１つの検索パターンを選択するよう複数のウインド（１９ａ、１９ｂ、１９ｃ）を操作する複数のポインタ（２０ａ、２０ｂ、２０ｃ）上で動作するための選択手段（２１ａ）と、
・  少なくとも１つの初期データ・シーケンスにおける前記少なくとも１つの検索パターンを検索するよう複数のポインタ（２０ａ、２０ｂ、２０ｃ）上で動作するための検出手段（２１ｂ）と、 
・  前記検索に依存する、かつ前記複数の初期データ・シーケンス（９ａ、９ｂ、９ｃ）からの少なくとも２つの初期データ・シーケンスの内容に依存するアプリケーションに従って出力パターン（２５）を決定するための生成手段（２７）と、
・  複数のポインタ（２０ａ、２０ｂ、２０ｃ）及び複数のウインド（１９ａ、１９ｂ、１９ｃ）間の対応を再割当てするための、かつ前記複数の初期データ・シーケンス（９ａ、９ｂ、９ｃ）内の少なくとも一つの検索パターンを選択して検索する動作を再割当てするための割当て手段（１６）と、
・  一連の出力パターン（２５）から擬似ランダム・データ・シーケンス（３）を発生するための反復手段（１７）と、
を含むことを特徴とする擬似ランダム・データ・シーケンス（３）の発生器。
【請求項７】
排他的ＯＲロジック・ゲート（４３）を含む暗号化／暗号解読装置（３９ａ、３９ｂ）であって、さらに、請求項６による発生器（１）を含むことを特徴とする暗号化／暗号解読装置（３９ａ、３９ｂ）。
【請求項８】
ネットワーク（３５）を介して接続された少なくとも２つのエンティティ（３３ａ、３３ｂ）を含む保証システム（３０）であって、前記少なくとも２つのエンティティの各々は、請求項７に記載の暗号化／暗号解読装置（３９ａ、３９ｂ）を含むことを特徴とする保証システム（３０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化／暗号解読に関し、かつ擬似ランダム・データ・シーケンスを発生するためのシステム及び方法に関する。
【０００２】
本発明は、暗号化及び暗号解読が同じ秘密キーを用いるという対称的暗号化のために意図された一連のビットを創成する際に大いに有利な応用を発見する。本発明は、同じ長さの擬似ランダム・データ・シーケンスにビットごとにメッセージを追加するストリーミング（流動）暗号化方法に関し、該方法において、暗号化演算及び暗号解読演算は同一である。対称的暗号化は、一般に、移動通信（ＧＳＭ、ＵＭＴＳ、等）、スマート・カード（銀行カード）、等のようなすべての型の通信において用いられるということに留意されたい。
【背景技術】
【０００３】
最も広く行き渡っているストリーミング暗号化方法は、ハードウェア上でセーブするよう線形フィードバック・シフト・レジスタを用いて暗号化されるべきメッセージとは無関係に暗号化シリーズを発生する。
【０００４】
線形フィードバック・シフト・レジスタの主な欠点は、それらの線形性である。レジスタの長さに等しいレジスタの出力ビットの数及び該レジスタと関連したフィードバック多項式を知れば、レジスタの出力ビット及びすべての引き続く状態を決定することが可能である。
【０００５】
線形フィードバック・シフト・レジスタの線形性を“破断（ｂｒｅａｋ）”するために、複数のレジスタの出力、及びおそらくはそれらの内部の状態は、一般に、例えば非線形ブール関数を用いて結合される。
【０００６】
図６は、ヨーロッパ特許出願ＥＰ  ０  ６１９  ６５９  に記載された収縮発生器（ａ  ｓｈｒｉｎｋｉｎｇ  ｇｅｎｅｒａｔｏｒ）として知られているこの種の発生器１００を示しており、第１の線形フィードバック・シフト・レジスタ１１１ａと、第２の線形フィードバック・シフト・レジスタ１１１ｂと、発生器１００の出力を選択するための手段１１２とを含んでいる。
【０００７】
このように、各シフト上で、２つのレジスタ１１１ａ及び１１１ｂは、同時にシフトされ、装置１００の出力は、第１のレジスタ１１１ａの出力が“１”である場合には第２のレジスタ１１１ｂの出力に等しく、そうでない場合にはビットが出力されない。
【０００８】
収縮発生器は、２つの線形フィードバック・シフト・レジスタの出力だけでなく、一層一般的には、ビットのシリーズの任意の対の出力をも結合する。収縮発生器は、一方の線形フィードバック・シフト・レジスタがもう一方を制御するというストリーミング暗号化方法のクラスの部分である。該概念は、レジスタの線形性を破断するために、用いられるレジスタ間及び２つの連続するビット間でシフトの数を変えることである。
【０００９】
自己収縮発生器と呼ばれる収縮発生器の変形例は、同じ原理に基づいているが、１つだけのレジスタを用いている。レジスタの出力ビットは、２つずつ読取られ、第１のビットは第２のビットが出力されるか否かを制御し、それにより、システムの出力は、第１のビットが“１”である場合には第２のビットであり、そうでない場合にはビットは出力されない。
【００１０】
線形フィードバック・シフト・レジスタだけを用いれば、多くの欠点がある。その主な１つは装置の線形性によって引き起こされる脆弱性である。また、レジスタがブール関数によって結合される場合にも欠点がある。ハードウェア・レベルにおいて、それらの欠点は関数の履行の複雑さの結果である。さらに、該関数は固定されていて攻撃（アタック）され得る。
【００１１】
統計的な方法が、収縮発生器及び他のクロック制御される暗号化方法の或る弱点を明らかにしてきた。特に、収縮発生器においては、２つの出力ビット間で２つのレジスタによって行なわれるシフトの数は変化するが、双方のレジスタに対して同じ値を有する。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、これらの欠点を除去すること、並びに、高品質の擬似ランダム・データ・シーケンスの発生を単純化することである。
【００１３】
もう１つの目的は、大いに効果的でありかつ比較的低コストの発生器を生成することである。
【課題を解決するための手段】
【００１４】
これらの目的は、一連の出力パターンから成る擬似ランダム・データ・シーケンスを発生するための方法であって、これらの出力パターンは、
・  少なくとも１つの検索パターンを選択するステップと、
・  複数の初期データ・シーケンスの１つである少なくとも１つの初期データ・シーケンスにおける前記少なくとも１つの検索パターンを検索するステップと、
・  前記検索に依存するかつ前記複数の初期データ・シーケンスからの少なくとも２つの初期データ・シーケンスの内容に依存するアプリケーションに従って出力パターンを決定するステップと、
・  前記複数の初期データ・シーケンス内の少なくとも１つの検索パターンの選択及び検索を再割当てするステップと、
によって得られることを特徴とする方法によって達成される。
【００１５】
このように、本発明の方法は、複数の初期データ・シーケンスを結合もしくは「混合」して擬似ランダム・シーケンスを得るためにパターンを検出することに基づいている。それは履行するのが簡単であるが、この方法は、高品質の擬似ランダム・データ・シーケンスを生成することができるよう固有の複雑さを有する。該方法の種々の動作は、複数の初期データ・シーケンスに渡って配分されており、従って、これらの動作の配分は発見するのに極度に困難であり、これにより、擬似ランダム・データ・シーケンスの品質を高めている。
【００１６】
従って、この方法は、初期データ・シーケンスと擬似ランダム・データ・シーケンスとの間の関係の複雑さを増加しており、それにより、擬似ランダム・データ・シーケンスの品質を予測することが困難である。
【００１７】
前記再割当ては、前記複数の初期データ・シーケンスの１つである初期データ・シーケンスの内容及び／または前記検索の関数として行われるのが有利である。
【００１８】
このように、初期データ・シーケンスに渡る動作の配分は、プロセスが進行するにつれて変わり、擬似ランダム・データ・シーケンスの品質をさらに高めている。
【００１９】
本発明の一態様によれば、前記ステップは、以下のルールを含む一連のルールによって行われる：すなわち、
・  各ウインドが初期データ・シーケンスと関連しているので複数のウインドがあるが、前記複数の初期データ・シーケンスの各初期データ・シーケンスに渡って少なくとも１つのウインドをシフトするための少なくとも１つのシフト・モードを限定するための第１のセットのルールと、
・  前記複数のウインドを操作する複数のポインタによって動作を再割当てすること、及び／または前記出力パターンを更新すること、及び／または前記少なくとも１つの検索パターンを選択することを管理する第２のセットのルールと、
・  前記複数のウインドをシフトするモードを決定する第３のセットのルールと、
を含む一連のルールによって行なわれる。
【００２０】
このように、種々のステップ又は動作間の相互作用は、簡単かつ効果的に管理されかつ履行され得る。
【００２１】
本発明の一つの特定の態様によれば、前記複数の初期データ・シーケンスは、少なくとも２つの初期データ・シーケンスを含み、そしてウインドは、サイズ１のものであり、それにより、前記少なくとも２つの初期データ・シーケンスは、１ビットの出力パターンを決定するよう連続的にビットごとに読取られ得る。
【００２２】
このように、パターンまたは複数のパターンの検索は、計算時間の浪費を避けると同時に加速され得る。
【００２３】
本発明のもう１つの態様によれば、前記擬似ランダム・データ・シーケンスの各ビットは、メッセージのデータ・シーケンスからの対応ビットと結合されて、暗号化されたデータ・シーケンスを形成するようモジュロ２加算によって暗号化される。
【００２４】
従って、生成された暗号化データ・シーケンスは、解読するのを困難にする内部的な複雑さを有する。さらに、暗号解読機構は、暗号化機構と同一なので、同じ利点を有する。
【００２５】
本発明は、また、少なくとも一つの検索パターンを検索する手順に従って複数の初期データ・シーケンスに属するデータを結合するための結合手段を含む、擬似ランダム・データ・シーケンスの発生器にも向けられている。
【００２６】
このように、該発生器は、複数の初期データ・シーケンスを結合し、これにより、発生器の出力と発生器の連続する内部状態との間の関係を極端に複雑にし、それにより、約０，５０以外の確率で、発生器の次の出力を予測することが困難である。
【００２７】
さらに、この発生器は、効果的でありかつ比較的低コストであると同時に履行するのが容易である。
【００２８】
発生器の結合手段は、長所的には、
・  複数の初期データ・シーケンスに渡ってシフトされるよう適合されている複数のウインドと対応関係にある複数のポインタと、
・  少なくとも１つの初期データ・シーケンスにおける前記少なくとも１つの検索パターンを選択するよう複数のウインドを操作する複数のポインタ上で動作する選択手段と、
・  少なくとも１つの初期データ・シーケンスにおける前記少なくとも１つの検索パターンを検索するよう複数のポインタ上で動作する検出手段と、
・  前記検索に依存する、かつ前記複数の初期データ・シーケンスからの少なくとも２つの初期データ・シーケンスの内容に依存するアプリケーションに従って出力パターンを決定するための生成手段と、
・  複数のポインタ及び複数のウインド間の対応を再割当てするための、かつ前記複数の初期データ・シーケンス内の少なくとも一つの検索パターンを選択して検索する動作を再割当てするための割当て手段と、
・  一連の出力パターンから擬似ランダム・データ・シーケンスを発生するための反復手段と、
を含む。
【００２９】
このように、発生器のこれらの種々の手段は、複数の初期データ・シーケンスに渡る動作（演算）をおそらくは交換可能に配分しており、このことは、発生器の出力において擬似ランダム・データ・シーケンスを予測する困難性を高めている。
【００３０】
本発明は、また、排他的ＯＲロジック・ゲート、及び上述の特徴を有する発生器を含む暗号化／暗号解読装置をも提供する。
【００３１】
この装置は、擬似ランダム・データ・シーケンスからの各ビットを、メッセージのデータ・シーケンスからの対応ビットと結合して、高い線形の複雑さの暗号化されたデータ・シーケンスを形成するようモジュロ２加算によって暗号化される。
【００３２】
本発明は、また、ネットワークを介して接続された少なくとも２つのエンティティを含む保証システムであって、前記少なくとも２つのエンティティの各々は、前述の特徴を有する暗号化／暗号解読装置を含む保証システムをも提供する。
【００３３】
このように、保証システムは、固有に複雑な機構を利用しており、それと同時に履行するのに簡単な構造を有している。
【００３４】
本発明の他の特徴及び利点は、添付図面を参照して非制限的な例によって以下に与えられる説明を読むことから理解される。
【発明を実施するための最良の形態】
【００３５】
図１は、擬似ランダム・データ・シーケンス３を発生するための本発明による発生器１の一例を示す図である。
【００３６】
発生器１は、少なくとも１つの検索パターンを検索するための手順に従って複数の初期データ・シーケンス９ａ、９ｂ及び９ｃに属するデータを結合するための結合手段５を含む。検索手順は、可変の態様で複数の初期データ・シーケンスに割り当てられ得る動作を含む。
【００３７】
以下、“パターン”は、０及び１だけからなる任意のワードを意味する。例えば、０、１１、０００、１０１０、００１１１は、それぞれの長さ１、２、３、４、及び５を有するパターンである。さらに、“空（エンプティ）”パターンは、空（エンプティ）ワードである。
【００３８】
各初期データ・シーケンスは、“１”に等しくない期間のビット（例えば、Ｎビット）の整数のストリームである。各シーケンスは、最大期間の線形フィードバック・シフト・レジスタを含み得る初期手段によって発生される。このように、発生器１は、複数の初期データ・シーケンス９ａ、９ｂ、及び９ｃを発生する複数のシフト・レジスタ１１ａ、１１ｂ、及び１１ｃを含み得る。
【００３９】
線形フィードバック・シフト・レジスタは、アレイのボックス（ｂｏｘｅｓ）の線形結合が提供される有限長さの（レジスタ）ビットのアレイであり、前記線形結合は、フィードバック多項式と呼ばれる多項式によって表される。各シフト上で、最も高いインデックスを有するビットがシフト・アウトされ、他のすべてのビットは、１インデックスだけシフトされ、そして最も低いインデックスを有するビットは、シフトの前に線形結合の値を取る。
【００４０】
フィードバック多項式は、長所的には、例えば一連の最大期間、またはＰが原始多項式である場合の形式Ｑ＝（Ｘ２＋１）Ｐにおける多項式を生成する線形フィードバック・レジスタに対応する原始多項式であり得る。
【００４１】
長さＬのすべてのワードまたはパターンは、このような一連の最大期間Ｔ（ここに、Ｔ＝２Ｌ−１）において少なくとも一度現れることが知られている。
【００４２】
発生器１の結合手段５は、１つまたは幾つかの検索パターンを探索するための手段１３と、決定手段１５と、割当て手段１６と、反復手段１７とを含む。
【００４３】
検索手段１３は、１つまたは幾つかの検索パターンを検索し、かつ複数のウインド１９ａ、１９ｂ、及び１９ｃと、複数のポインタ２０ａ、２０ｂ、及び２０ｃと選択手段２１ａと、検出手段２１ｂとを含む。
【００４４】
ウインド１９ａ、１９ｂ、及び１９ｃは、非ゼロ・サイズのものであり、複数の初期データ・シーケンス９ａ、９ｂ、９ｃに渡ってシフトされる。各ウインドは、１つだけの初期データ・シーケンス９ａ、９ｂ、９ｃと関連しており、そして初期データ・シーケンス上の特定の初期位置に置かれて、特定数のビットを含み得る。例えば、サイズＮの初期データ・シーケンスに渡って置かれたサイズｔ（ｔはＮよりも小さくＬより小さいかまたは等しい整数である）のウインドは、各シフト上に初期データ・シーケンスの正確にｔビットを露出する該シーケンスに渡ってシフトされ得るマスクである。従って、各シフト上で、ウインド１９ａ、１９ｂ、１９ｃにおけるビットが、発生器１の出力を決定するために用いられ得る。
【００４５】
さらに、ウインド１９ａ、１９ｂ、１９ｃは、それらのウインド１９ａ、１９ｂ、１９ｃと対応関係にあるポインタ２０ａ、２０ｂ、２０ｃによって操作され得る。ウインド１９ａ、１９ｂ、１９ｃ及びポインタ２０ａ、２０ｂ、２０ｃ間のこの対応は、擬似ランダム・データ・シーケンス３の発生を通して変化し得る。
【００４６】
選択手段２１ａは、検索パターンまたは少なくとも１つの初期データ・シーケンスにおけるパターンを選択するために複数のウインド１９ａ、１９ｂ、１９ｃを操作する複数のポインタ２０ａ、２０ｂ、２０ｃ上で動作する。
【００４７】
同様に、検出手段２１ｂも、また、検索パターンまたは１つ以上の初期データ・シーケンスにおけるパターンを選択するために初期データ・シーケンス９ａ、９ｂ、９ｃに渡ってウインド１９ａ、１９ｂ、１９ｃのシフティングを制御するようポインタ２０ａ、２０ｂ、２０ｃ上で動作し得る。このように、検索されたパターンは、それら自体、ウインドの内容に依存し得る。
【００４８】
例えば、検出手段２１ｂは、Ｎビットの初期データ・シーケンスにおいて選択手段２１ａによって選択されたｔビット（ｔはＬ以下の整数である）の検索パターンを検出し得る。従って、期間が２Ｌ−１に等しい初期データ・シーケンスにおける検索パターンを見つけることが確実である。
【００４９】
検索パターンまたは複数の検索パターンが、異なった初期データ・シーケンスに渡ってまたは同じ初期データ・シーケンスに渡って選択されかつ検出され得ることに留意されたし。
【００５０】
さらに、決定手段１５は、接続２３を介して検索手段１３と相互作用し、そして出力パターン２５及び生成手段２７を含む。
【００５１】
生成手段２７は、前記複数の初期データ・シーケンス９ａ、９ｂ、９ｃから少なくとも２つの初期データ・シーケンスの内容及び検索に依存するアプリケーションに従って出力パターン２５（例えば、ｔビットの）を決定する。
【００５２】
決定手段１５は、また、一組の検索パターンを限定するまたは更新するための制御手段も含むことに留意されたし。該一組の検索パターンは、例えば、空（エンプティ）であって良く、またはウインドの内容もしくはパターンのための検索の履歴に依存しても良い。
【００５３】
さらに、割当て手段１６は、接続２８を介して検索手段と相互作用する。割当て手段１６は、複数のポインタ２０ａ、２０ｂ、２０ｃ及びウインド１９ａ、１９ｂ、１９ｃ間の対応を再割当てするよう、そして複数の初期データ・シーケンス９ａ、９ｂ、９ｃに、検索パターンまたは複数のパターンを選択して検索する動作を再割当てするよう、適合されている。
【００５４】
再割当ては、検索の関数として、すなわち、検索手段１３及び決定手段１５及び／または複数の初期データ・シーケンス９ａ、９ｂ、９ｃからの少なくとも１つの初期データ・シーケンスの内容によって行なわれる動作の進展の関数として行われるのが有利である。
【００５５】
さらに、反復手段１７は、それぞれの接続２９及び３１によって、検索手段１３及び決定手段１５に接続される。
【００５６】
このように、反復手段１７は、所定の停止条件が満足されない限り、例えば出力パターン２５が決定されたばかりの信号を決定手段１５から受信した後、検索パターンの検索及び出力パターンの決定動作を再開するよう、検索手段１３及び決定手段１５と信号を交換し得る。反復手段１７は、さらに、検索手段１３及び決定手段１５と信号を交換することにより、停止条件を検査することができる。このことは、連接により擬似ランダム・データ・シーケンス３を形成する一連の出力パターン２５を発生する。
【００５７】
割当て手段１６及び反復手段１７は、また、検索手段１３または決定手段１５に一体化されても良いことに留意されたし。
【００５８】
従って、発生器１の種々の手段は、検索パターンを選択する動作、検索パターンを検索する動作、並びに出力パターンを生成する動作を分離する。さらに、これらの手段は、複数のストリームまたは初期データ・シーケンスに渡ってステップまたは動作を配分し、そして出力パターンの各実行または生成の後に割当て機構を修正する。
【００５９】
図２は、インターネットの、ＧＳＭ、ＵＭＴＳ、等の型の通信ネットワーク３５を介して相互通信される少なくとも２つのエンティティを含む保証システム３０を示す。
【００６０】
この図の例は、通信ネットワーク３５を介して第２のエンティティ３３ｂに接続される第１のエンティティ３３ａを示している。
【００６１】
第１のエンティティ３３ａ（それぞれ第２のエンティティ３３ｂ）は、第１の端末３７ａ（それぞれ第２の端末３７ｂ）、第１の暗号化／暗号解読装置３９ａ（それぞれ第２の暗号化／暗号解読装置３９ｂ）、及び第１のモデム４１ａ（第２のモデム４１ｂ）を含み、モデム４１ａ及び４１ｂは、通信ネットワーク３５とのインターフェースを提供する任意の装置から成る。
【００６２】
第１及び第２の暗号化／暗号解読装置３９ａ、３９ｂの各々は、上述した擬似ランダム・データ・シーケンス３の発生器１と、排他的ＯＲ論理ゲート４３とを含む。
【００６３】
各暗号化／暗号解読装置３９ａ、３９ｂは、ビットごとにメッセージを暗号化または暗号解読するストリーミング暗号化または暗号解読を行なうよう適合されている。
【００６４】
この例においては、第１の暗号化／暗号解読装置３９ａは、暗号化動作を行なう。従って、暗号化シリーズと呼ばれる擬似ランダム・データ・シーケンス３は、第１の端末３７ａによって送られた平文のメッセージ４５の対応の位置において排他的ＯＲゲート４３によって各ビットと結合されて、暗号化されたテキスト４７を得、該テキスト４７は、次に、第１のモデム４１ａによって第２のエンティティ３３ｂに送られる。このように、暗号化演算は、メッセージ４５の平文のテキストにビットごとに暗号化シリーズ３を付加して、暗号化されたテキスト４７を得る。
【００６５】
第２の暗号化／暗号解読装置３９ｂは、平分のテキスト・メッセージ４５を回復するために第１のエンティティ３３ａによって送られた暗号化されたテキスト４７にビットごとに同じ暗号化シリーズ３を付加する暗号解読演算を行う。このように、暗号化及び暗号解読演算（動作）は同一である。
【００６６】
本発明の方法は、概して、少なくとも１つの検索パターンを検索するための手順に従って初期データ・シーケンス９ａ、９ｂ、９ｃに属するデータを結合することによって、擬似ランダム・データ・シーケンス３を発生することにある。
【００６７】
このように、ｎの初期データ・シーケンス９ａ、９ｂ、９ｃもしくはビット・ストリームがあり得る。非ゼロ・サイズの１つ以上のウインドが各データ・シーケンスに渡ってシフトされ、そして、ｋのウインドがあり得る（ｋはｎ以上である）。
【００６８】
プロセスの開始において、各ウインドは、関連のデータ・シーケンス上の所期位置にある（例えば、ウインドの各々は関連のデータ・シーケンスの始めに位置付けられ得る）。ｋのウインドは、ｋのポインタ２０ａ、２０ｂ、２０ｃによって操作され得る。
【００６９】
以下、Ｅは検索パターンの値を示し、ｓは出力パターン２５の値を示し、そしてｐｆ１、ｐｆ２、・・・、ｐｆｋは、ｋのウインドへのポインタ２０ａ、２０ｂ、２０ｃの数を示す。
【００７０】
さらに、本発明の方法は、一連のステップを含む。第１のステップは、検索パターンもしくは複数のパターンを選択する。
【００７１】
検索パターンもしくは複数のパターンは、予め決められても良く、または、好ましくは、少なくとも１つの初期データ・シーケンス９ａ、９ｂ、９ｃにおいて選択されても良いことに留意されたし。
【００７２】
第２のステップは、少なくとも１つの初期データ・シーケンス９ａ、９ｂ、９ｃにおける検索パターンもしくは複数のパターンを検索する。
【００７３】
第３のステップは、検索に依存しかつ複数の初期データ・シーケンス９ａ、９ｂ、９ｃからの少なくとも１つの初期データ・シーケンスの内容に依存するアプリケーションに従って、値ｓの出力パターン２５を決定する。このように、出力パターンｓは、空（エンプティ）であって良く、例えば、ウインドの内容に依存するか、もしくは、方法の先行するステップの実行に依存する。値ｓの出力パターン２５を決定することは、検索パターン及び検索履歴に依存し得、特に、初期データ・シーケンスまたは複数のシーケンス９ａ、９ｂ、９ｃにおける問題の検索パターンＥを見つける前に行なわれるステップまたは反復の回数に依存し得る。
【００７４】
第４のステップは、複数の初期データ・シーケンス９ａ、９ｂ、９ｃ内の少なくとも１つの検索パターンを選択して検出する動作を再割当てする。再割当ては、検索の関数として、及び／または複数の初期データ・シーケンス９ａ、９ｂ、９ｃからの少なくとも１つの初期データ・シーケンスの内容の関数として行なわれ得る。
【００７５】
これらの先行ステップまたは動作は、値ｓの一連の出力パターン２５から擬似ランダム・データ・シーケンス３を形成するように、引き続いて反復される。
【００７６】
さらに、これらの動作は、一連のルールによって行なわれる。
【００７７】
該一連のルールは、検索パターンまたは複数のパターンＥを選択する及び／または検出するために、複数の初期データ・シーケンス９ａ、９ｂ、９ｃからの各初期データ・シーケンスに渡って少なくとも１つのウインド１９ａ、１９ｂ、１９ｃをシフトするための少なくとも１つのシフト・モードを限定するための発生器１の結合手段５によって行なわれる第１のセットのルールＲ１を含む。
【００７８】
第１のセットのルールＲ１は、ウインド１９ａ、１９ｂ、１９ｃをシフトする、例えば、初期データ・シーケンス９ａ、９ｂ、９ｃの部分に渡って循環シフトする、方向、振幅または形態を限定し得る。
【００７９】
例えば、第１のセットのルールＲ１は、以下のように定義されるルールｒ１、１を含み得る：
ｒ１、１＝“右に１ビットシフト”
【００８０】
さらに、一連の動作は、第２のセットのルールＲ２を含み、該ルールＲ２は、検索パターンまたは複数のパターンＥを選択すること及び／または出力パターンｓを更新すること及び／またはウインド１９ａ、１９ｂ、１９ｃを操作するポインタ２０ａ、２０ｂ、２０ｃによって動作を再割当てすることを管理する発生器１の結合手段５によって行なわれる。
【００８１】
最後に、一連の動作は、第３のセットのルールＲ３を含み、該ルールＲ３は、複数のウインド１９ａ、１９ｂ、１９ｃをシフトするモードを決定する、例えば、異なった初期データ・シーケンス９ａ、９ｂ、９ｃに渡ってウインドまたは複数のウインドのシフトを停止するための条件を決定する発生器１の結合手段５によって行なわれる。
【００８２】
第２のセットのルールＲ２からの更新ルールの少なくとも１つは、第３のセットのルールＲ３からのルールの少なくとも１つ及び以下の形態の第１のセットのルールＲ１からのルールの少なくとも１つに依存する：“ｐｆｉによって指定されたウインドの内容がパターンのセットからのパターンでない限り、ルール
【数１】
2008530606.tif 000003
に従って
【数２】
2008530606.tif 000004
により指定されたウインドをシフトする”、ここに、ルール
【数３】
2008530606.tif 000005
は、第１のセットのルールＲ１からのルールである。
【００８３】
一連のステップまたは動作は、所定の条件が満足されるまで、反復され得ることに留意されたし。例えば、この一連の動作は、ルールの１つが有限のサイズである場合にルールの１つのアプリケーションがウインドに初期データ・シーケンスを離れさせるまで、反復される。また、ユーザによって限定された条件が満足されるまで、該一連の動作を反復させることも可能である。
【００８４】
さらに、各実行の後に該一連の動作を変更することも考えられ得る。
【００８５】
従って、本発明の擬似ランダム・データ・シーケンスの要素を決定することは、初期データ・シーケンスに渡る動作の配分、該配分の変動、検索されたパターンまたは複数のパターン、及び、検索の履歴もしくは検索が行なわれてきた態様、に依存し得る。
【００８６】
図３乃至図５は、本発明の方法の特定の実施形態を示す。
【００８７】
これらの実施形態において、一連の動作は、各実行の後に不変のままであり、複数の初期データ・シーケンス９ａ、９ｂ、９ｃは、最大期間の少なくとも２つの線形フィードバック・シフト・レジスタ（ＬＦＳＲ）１１ａ、１１ｂ、１１ｃの出力であり得る少なくとも２つの初期データ・シーケンスを含む。さらに、ウインドまたは複数のウインド１９ａ、１９ｂ、１９ｃは、“サイズ１”（すなわち各ウインドは１ビットを含む）のものであり、検索パターンのセットは、多くても１つの検索パターンＥを含み、そして検索及び出力パターン２５もサイズ１のものである（すなわち各パターンは１ビットを含む）。
【００８８】
さらに、ウインド１９ａ、１９ｂ、１９ｃのシフティングの振幅は、１単位に等しく、すなわち、各ウインドは、例えば、現在のビットから次のビットまで（すなわち左から右へ）各反復上で１ビットだけシフトされる。
【００８９】
従って、各初期データ・シーケンス９ａ、９ｂ、９ｃは、連続的にすなわちビットごとに読取られ得、履行するのに非常に簡単である実施形態となる。
【００９０】
最初に、検索及び出力パターン２５は、それらの各々に空（エンプティ）ビットを割り当てることにより初期設定される。すなわち、Ｅ←φ及びｓ←φであり、φは空（エンプティ）セットである。
【００９１】
第１の実施形態において、２つのウインド１９ａ及び１９ｂは、２つの初期データ・シーケンス９ａ及び９ｂに渡ってシフトされる。ウインド１９ａは、初期データ・シーケンス９ａに渡ってシフトされ、ウインド１９ｂは、初期データ・シーケンス９ｂに渡ってシフトされる。各ウインドは、関連のデータ・シーケンスの第１のビットに初期設定される。２つのポインタ２０ａ、２０ｂ（番号付けられたｐｆ１及びｐｆ２）は、ウインド１９ａ、１９ｂを指定する（ｐｏｉｎｔ）。この第１の実施形態において、ウインド１９ａ及び１９ｂへのポインタ２０ａ、２０ｂは、実行中変更されず、すなわち、ポインタｐｆ１は常にウインド１９ａを指定し、ポインタｐｆ２は常にウインド１９ｂを指定する。同様に、ｂで示される一定バイナリ値は、実行中固定されたままであるよう限定され、すなわち、第１の実施形態の一連の動作に関する各アプリケーション上にある。
【００９２】
第１の実施形態の一連の動作は以下のように定義され得る：
・  第１のセットのルールＲ１のシフトするだけのルールとして、ルールｒ１、１＝“右に１ビットをシフトする”を設定する；
・  第２のセットＲ２の更新するルールとして、以下のルールを設定する：
ｒ２、１＝“Ｅにおけるｐｆ１によって指定されたウインドから該ビットを置く”；
ｒ２、２＝“ｐｆ２によって指定されたウインドの内容がＥからのパターンであるならば、次に、ｓ←ｂに更新する。”；
ｒ２、３＝“ｐｆ２によって指定されたウインドの内容がＥからのパターンでないならば、次に、
【数４】
2008530606.tif 000006
に更新する。”；
・  第３のセットのルールＲ３として以下のルールを設定する：
ｒ３、１＝“ｐｆ２によって指定されたウインドの内容がＥからのパターンでない限り、ルールｒ１、１に従ってｐｆ２により指定されたウインドをシフトする”；
ｒ３、２＝“ｐｆ１及びｐｆ２によって指定されたウインドをルールｒ１、１に従ってシフトする”；
・  ルールｒ２、１、ｒ２、２、ｒ２、３、ｒ３、１、及びｒ３、２をその順序で適用する；そして
・  出力パターンｓを出力する。
【００９３】
図３のフローチャートは、上述の一連の動作の実行を示す。
【００９４】
ステップＥ１１において、選択手段２１ａは、検索パターンＥを選択するようポインタ２０ａ上で動作する。換言すれば、このステップは、検索パターンＥに、ｐｆ１によって指定されたウインド１９ａからのビットを置く。
【００９５】
検出手段２１ｂは、次に、初期データ・シーケンス９ｂにおける検索パターンＥを検索するためにポインタ２０ｂ（ｐｆ２と番号付けられた）上で動作する。このように、ステップＥ１２は、ｐｆ２によって指定されたウインド１９ｂの内容を検索パターンＥの内容と比較するテストである。
【００９６】
ステップＥ１３において、生成手段２７は、第１の法則（ｓ←ｂ）に従って値ｓの出力パターン２５を更新する。従って、ｐｆ２によって指定されたウインド１９ｂの内容が検索パターンＥの内容と等しいならば、次に、出力パターン２５は、特定の値ｂを取る。
【００９７】
ステップＥ１４において、生成手段２７は、第２の法則
【数５】
2008530606.tif 000007
に従って出力パターン２５を更新する。従って、ｐｆ２によって指定されたウインド１９ｂの内容がセットＥからのパターンでない場合には、次に、パターンｓはビットｂの補数である値を取り、すなわち、特定の値ｂ及び値“１”間のモジュロ２加算（a modulo 2 addition）を行い、そして出力パターン２５に、この結果の値を割り当てる。
【００９８】
この実施形態においては、割当て手段１６は、常に、ポインタ２０ａ、２０ｂ及びウインド１９ａ、１９ｂ間の同じ対応を割り当てる。
【００９９】
このように、ステップＥ１５及びＥ１６は、ウインド１９ｂの内容が検索パターンＥのビットに等しくないならば（テストＥ１６）、次のビットに向かってビットごとにｐｆ２によって指定されたウインド１９ｂをシフト（Ｅ１５）するループを形成する。
【０１００】
ステップＥ１７は、現在のビットから次のビットまで、１ビットだけ、ポインタｐｆ１及びｐｆ２によって指定されたウインド１９ａ及び１９ｂをシフトする。
【０１０１】
最後に、ステップＥ１８において、反復手段１７は、出力パターンｓが、擬似ランダム・シーケンス３を発生するために発生器１から出力されるようにし、先行するステップの反復を可能とする。
【０１０２】
概して、一連の動作は、以下のように要約され得る：ｐｆ１によって指定されたウインド１９ａに含まれたビットが読取られ、次に、ｐｆ２によって指定されたウインドに含まれたビットが、ｐｆ１によって指定されたウインドに含まれたビットと一致しない限り、ｐｆ２によって指定されたウインドは、右に一位置だけシフトされる。ｐｆ２によって指定されたウインドがシフトされなかった場合、次に、ｂが出力され、そうでない場合には、
【数６】
2008530606.tif 000008
が出力される。２つのウインドは、次に、再度開始する前に右に１ビットシフトされる。
【０１０３】
もちろん、該フローチャートは、予め限定された条件が満足されるか否かを決定するために、テストを停止することを含むことができる（簡単化の理由のために図には表されていない）。
【０１０４】
例えば、これらのステップは、ｐｆ２によって指定されたウインド１９ｂが初期データ・シーケンス９を去るまで、擬似ランダム・データ・シーケンスを形成するために反復され得る。
【０１０５】
図４は、第２の実施形態の一連の動作の実行を示すフローチャートである。
【０１０６】
この第２の実施形態は、３つの初期データ・シーケンス９ａ、９ｂ及び９ｃ、並びに、長さ“１”の３つのウインド１９ａ、１９ｂ及び１９ｃを含む。ウインド１９ａはシーケンス９ａに渡ってシフトされ、ウインド１９ｂはシーケンス９ｂに渡ってシフトされ、そしてウインド１９ｃはシーケンス９ｃに渡ってシフトされる。３つのウインドの各々は、関連のデータ・シーケンスの第１のビットに渡って最初に位置付けられる。
【０１０７】
ウインド１９ａ、１９ｂ及び１９ｃにｐｆ１、ｐｆ２及びｐｆ３が番号付けられる３つのポインタ２０ａ、２０ｂ、２０ｃが限定される。初期設定時において、ｐｆ１はウインド１９ａを指定し、ｐｆ２はウインド１９ｂを指定し、そして、ｐｆ３はウインド１９ｃを指定する。ｐｆｔｅｍｐが番号付けられた第４のポインタは、ｐｆ１、ｐｆ２及びｐｆ３の値の変更中、ｐｆ１の値を一時的に記憶するために限定される。検索パターンのセットＥは、当該方法の一連の動作または機構の各実行前に、空の（エンプティ）セットに初期設定される。
【０１０８】
第２の実施形態の一連の動作または機構は、以下のように限定され得る：
・  第１のセットのルールＲ１のシフトするだけのルールとして、ルールｒ１、１＝“右に１ビットをシフトする”が設定される；
・  第２のセットのルールＲ２の更新するルールとして、以下のルールが設定される：
ｒ２、１＝“Ｅにおけるｐｆ１によって指定されたウインドから該ビットを置く”；
ｒ２、２＝“ｓにｐｆ３によって指定されたウインドからのビットを置く”；
ｒ２、３＝“以下の循環配列を行なうことによってポインタの値を変更する：ｐｆｔｅｍｐがｐｆ１によって指定されたウインドを指定し、次に、ｐｆ１がｐｆ２によって指定されたウインドを指定し、次に、ｐｆ２がｐｆ３によって指定されたウインドを指定し、次に、ｐｆ３がｐｆｔｅｍｐによって指定されたウインドを指定する”；
・  第３のセットのルールＲ３の実行ルールとして以下のルールが設定される：
ｒ３、１＝“ｐｆ２によって指定されたウインドの内容がセットＥからのパターンでない限り、ｐｆ２及びｐｆ３によって指定されたウインドにルールｒ１、１を適用する”；
ｒ３、２＝“ｐｆ１、ｐｆ２及びｐｆ３によって指定されたウインドにルールｒ１、１を適用する”；
・  ルールｒ２、１、ｒ３、１、ｒ２、２、ｒ２、３及びｒ３、２はその順序で適用される；
・  出力パターンｓを出力する。
【０１０９】
従って、図４のフローチャートのステップＥ２１において、選択手段２１ａは、検索パターンＥを選択するためにポインタ２０ａ上で動作する。これは、検索パターンＥにｐｆ１によって指定されたウインド１９ａのビットを置くことにある。
【０１１０】
検出手段２１ｂは、次に、検索パターンＥを検索するために、ｐｆ２を番号付けられたポインタ上で動作する。
【０１１１】
ステップＥ２２及びＥ２３は、次に、ｐｆ２によって指定されたウインドの内容がＥからのパターンでない限り（テストＥ２２）、ｐｆ２及びｐｆ３によって指定されたウインドがビットごとに右にシフトされる（ステップＥ２３）ということを確認するループを形成する。
【０１１２】
ステップＥ２４において、生成手段２７は、パターンｓに、ｐｆ３によって指定されたウインドのビットの値を割り当てる。
【０１１３】
ステップＥ２５において、割当て手段１６は、ｐｆ１、ｐｆ２及びｐｆ３の値を以下のように再割当てする：ｐｆ１はｐｆ２の値を取り、ｐｆ２はｐｆ３の値を取り、そしてｐｆ３はｐｆ１の先行する値を取る。
【０１１４】
ステップＥ２６において、検出手段２１ｂは、ｐｆ１、ｐｆ２及びｐｆ３によって指定されたウインドをビットごとに右にシフトするためにポインタ上で動作する。
【０１１５】
最後に、ステップＥ２７において、反復手段１７は、出力パターンｓが、擬似ランダム・データ・シーケンス３を発生するために発生器１から出力されるようにし、先行するステップの反復を可能とする。
【０１１６】
概して、一連の動作は以下のように要約され得る：ｐｆ１によって指定されたウインドの現在のビットＥが読取られ、そして次に、ｐｆ２によって指定されたウインドからのビットがビットＥと一致しない限り、ｐｆ２及びｐｆ３によって指定されたウインドは右に一位置シフトされる；出力パターンｓは、ｐｆ３によって指定されたウインドに含まれるビットの値を取る；３つのポインタｐｆ１、ｐｆ２及びｐｆ３は並び替えられる；３つのウインドは、次に、再度開始する前に一位置だけシフトされる。
【０１１７】
図５は、第３の実施形態の一連の動作の実行を示すフローチャートである。
【０１１８】
第３の実施形態は、２つの初期データ・シーケンス９ａ、９ｂ及び２つのウインド１９ａ及び１９ｂを含む。ウインド１９ａは、シーケンス９ａに渡ってシフトされ、ウインド１９ｂは、シーケンス９ｂに渡ってシフトされる。各ウインドは、関連のシーケンスの第１ビットに渡って最初に固定される。ウインド１９ａ、１９ｂに対してｐｆ１及びｐｆ２と番号付けられた２つのポインタ２０ａ及び２０ｂが限定される。初期設定において、ｐｆ１はウインド１９ａを指定し、ｐｆ２はウインド１９ｂを指定する。
【０１１９】
第３の実施形態の一連の動作または機構は、以下のように限定され得る：
・  第１のセットのルールＲ１のシフトするだけのルールとして、ルールｒ１、１＝“右に１ビットをシフトする”が設定される；
・  第２のセットのルールＲ２の更新するルールとして、以下のルールが設定される：
ｒ２、１＝“Ｅにおけるｐｆ１によって指定されたウインドから該ビットを置く”；
ｒ２、２＝“ｓにｐｆ１によって指定されたウインドからのビットの値を割り当てる”；
ｒ２、３＝“ポインタｐｆ１及びｐｆ２の値を交換する”；
・  第３のセットのルールＲ３の実行ルールとして以下のルールが設定される：
ｒ３、１＝“ルールｒ１、１に従ってｐｆ１によって指定されたウインドをシフトする”；
ｒ３、２＝“ｐｆ１によって指定されたウインドの内容がセットＥからのパターンでない限り、ルールｒ１、１に従ってｐｆ１によって指定されたウインドをシフトする”；
ｒ３、３＝“ｓがＥからのパターンでないならば、次に、ルールｒ２、３を適用する”；
・  ルールｒ２、１、ｒ３、１、ｒ２、２、ｒ３、２、ｒ３、１及びｒ３、３はその順序で適用される；
・  出力パターンｓを出力する。
【０１２０】
従って、図５のフローチャートのステップＥ３１において、選択手段２１ａは、検索パターンＥを選択するためにポインタ２０ａ上で動作する。このことは、セットＥにｐｆ１によって指定されたウインドからのビットを置く。
【０１２１】
ステップＥ３２において、検出手段２１ｂは、右に１ビット、ｐｆ１によって指定されたウインドをシフトする。
【０１２２】
ステップＥ３３において、生成手段２７は、パターンｓが、ｐｆ１によって指定されたウインドに含まれたビットの値を取るようにする。
【０１２３】
検出手段２１ｂは、次に、検索パターンＥを検索するために、ｐｆ１を番号付けられたポインタ上で動作する。
【０１２４】
従って、ステップＥ３４及びＥ３５は、ｐｆ１によって指定されたウインドの内容がＥからのパターンでない限り（テストＥ３４）、ｐｆ１によって指定されたウインドが右に１ビットずつシフトされる（ステップＥ３５）ということを示す。
【０１２５】
ステップＥ３６において、ｐｆ１によって指定されたウインドは、右に１ビットシフトされる。
【０１２６】
ステップＥ３７及びＥ３８は、パターンｓがセットＥからのパターンでないならば、次に、ポインタｐｆ１及びｐｆ２の値は、割当て手段１６によって交換される（ステップＥ３８）。
【０１２７】
最後に、ステップＥ３９において、反復手段１７は、発生器１から出力パターンｓを出力する。
【０１２８】
概して、一連の動作は、以下のように要約され得る：パターンＥは、ｐｆ１によって指定されたウインドの内容で初期設定され、次に、ｐｆ１によって指定されたウインドは、右に一位置シフトされ、そしてパターンｓは、ｐｆ１によって指定されたウインドからのビットの値を取り；ｐｆ１によって指定されたウインドの内容がＥからのパターンでない限り、ｐｆ１によって指定されたウインドは右に一位置シフトされ；ｐｆ１によって指定されたウインドは、次に、右に一位置シフトされ；パターンｓがＥからのパターンでないならば、次に、ポインタｐｆ１及びｐｆ２からの値は交換され、そしてパターンｓが出力される。
【０１２９】
このように、複数の初期のビット・シーケンスから始まって、本発明の方法は、ルールに従って初期シーケンスに渡ってウインドをシフトすることから生じる新しいビット・シーケンスを構成する。パターンの選択は、プロセス中に相互交換され得る複数の初期シーケンスに渡って配分されるのが有利であり、このように、高品質の擬似ランダム・ビット・シーケンスを生成する。
【０１３０】
説明した実施形態は高速であり、それらのハードウェア履行は、ブール関数を用いた暗号化システムのものよりも低価格である。それらは、高ビット・レート通信（インターネット、ＧＳＭ、ＵＭＴＳ、ＷｉＦｉ）を暗号化するために適切である。
【０１３１】
事実、擬似ランダム・データ・シーケンス３の各ビットは、暗号化されたデータ・シーケンス４７を形成するために、モジュロ２加算（modulo 2 addition）によって暗号化されるようメッセージ４５のデータ・シーケンスからの対応のビットと結合される（図２参照）。
【図面の簡単な説明】
【０１３２】
【図１】本発明の擬似ランダム・シーケンス発生器の一例を示す図である。
【図２】図１からの発生器を含む保証システムを示す図である。
【図３】本発明による擬似ランダム・データ・シーケンスを発生するための検索手順の特定の実施形態を示す図である。
【図４】本発明による擬似ランダム・データ・シーケンスを発生するための検索手順の特定の実施形態を示す図である。
【図５】本発明による擬似ランダム・データ・シーケンスを発生するための検索手順の特定の実施形態を示す図である。
【図６】従来技術の発生器を示す図である。
【符号の説明】
【０１３３】
１      発生器
３      擬似ランダム・データ・シーケンス
５      結合手段
９ａ、９ｂ、９ｃ      複数の初期データ・シーケンス
１１ａ、１１ｂ、１１ｃ      複数のシフト・レジスタ
１３      検索手段
１５      決定手段
１６      割当て手段
１７      反復手段
１９ａ、１９ｂ、１９ｃ      複数のウインド
２０ａ、２０ｂ、２０ｃ      複数のポインタ
２１ａ      選択手段
２１ｂ      検出手段
２５      出力パターン
２７      生成手段
３０      保証システム
３３ａ、３３ｂ      第１、第２のエンティティ
３５      通信ネットワーク
３７ａ、３７ｂ      第１、第２の端末
３９ａ、３９ｂ      第１、第２の暗号化／暗号解読装置
４１ａ、４１ｂ      第１、第２のモデム
４３      排他的ＯＲ論理ゲート
【図１】
2008530606.tif 000009
【図２】
2008530606.tif 000010
【図３】
2008530606.tif 000011
【図４】
2008530606.tif 000012
【図５】
2008530606.tif 000013
【図６】
2008530606.tif 000014
【国際調査報告】
2008530606.tif 000015
2008530606.tif 000016
2008530606.tif 000017
2008530606.tif 000018