(57)【要約】コード発生系列（Ｒ）を形成するように接続されるフリップ・フロップ等の複数の記憶素子（ＦＦ1,2,...n）を含むコード生成系であって、系列（Ｒ）内の最後の記憶素子（ＦＦ5）の出力が系列（Ｒ）内の最初の記憶素子（ＦＦ1）の入力に接続されて回路を形成し、記憶素子の出力および入力は、ＥＸＯＲゲートにより再帰的に接続される。少なくとも１つのＥＸＯＲゲート（ＥＸＯＲp1）の第１の入力（１）は、コード発生系列（Ｒ）に配置された記憶素子（ＦＦ1）の出力に接続され、その第２の入力（２）は、コード発生系列（Ｒ）に配置されたもう１つの記憶素子（ＦＦ3）の出力に接続され、その出力（３）は、ＥＸＯＲゲート（ＥＸＯＲp1）の第１の入力（１）に接続された記憶素子（ＦＦ1）に続く記憶素子（ＦＦ2）の入力に接続される。コード発生系列（Ｒ）に配置された記憶素子（ＦＦ5）の出力は、インバータ（ＩＮＶ）の入力に接続され、インバータ（ＩＮＶ）の出力は、系列（Ｒ）に配置されたもう１つの記憶素子（ＦＦ1）の入力に接続される。
2005519337.tif 000002
【特許請求の範囲】
【請求項１】
コード発生系列（Ｒ）内に接続された複数の記憶素子（ＦＦ1,2,...n）、たとえば、フリップ・フロップを有し、系列（Ｒ）内の最後の記憶素子（ＦＦ5）の出力は、系列（Ｒ）内の最初の記憶素子（ＦＦ1）の入力にリンクされて回路を形成し、記憶素子の出力および入力は挿入されたＥＸＯＲゲートと再帰的に相互接続されるコード生成系であって、少なくとも１つのＥＸＯＲゲート（ＥＸＯＲp1）が設けられ、その第１の入力（１）は、コード発生系列（Ｒ）内に配置された記憶素子（ＦＦ1）の出力に接続され、その第２の入力（２）は、コード発生系列（Ｒ）内に配置されたもう１つの記憶素子（ＦＦ3）の出力に接続され、その出力（３）は、コード発生系列（Ｒ）内のＥＸＯＲゲート（ＥＸＯＲp1）の第１の入力（１）に接続された記憶素子（ＦＦ1）に続く記憶素子（ＦＦ2）の入力に接続され、コード発生系列（Ｒ）内に配置された記憶素子（ＦＦ5）の出力は、インバータ（ＩＮＶ）の入力に接続され、インバータ（ＩＮＶ）の出力は、コード発生系列（Ｒ）内に配置されたもう１つの記憶素子（ＦＦ1）の入力に接続されていることを特徴とするコード生成系。
【請求項２】
請求項１に記載のコード生成系であって、少なくとも１つのＥＸＯＲゲート（ＥＸＯＲp1）の第２の入力（２）とコード再発生系列（Ｒ）内に配置された他方の記憶素子（ＦＦ3）の出力とを結ぶライン内にＡＮＤゲート（ＡＮＤp1）が接続され、ＡＮＤゲート（ＡＮＤp1）の出力（４）は、ＥＸＯＲゲート（ＥＸＯＲp1）の第２の入力（２）に接続され、ＡＮＤゲート（ＡＮＤp1）の第１の入力（６）は、コード発生系列（Ｒ）内に配置された他方の記憶素子（ＦＦ3）の出力に接続され、ＡＮＤゲート（ＡＮＤp1）の第２の入力（５）は、コード・プログラミング記憶素子（ＦＦp1）の出力に接続されることを特徴とするコード生成系。
【請求項３】
請求項１または２に記載のコード生成系であって、複数のＥＸＯＲゲート（ＥＸＯＲp1,p2,p3,p4）が設けられ、その第１の入力は、コード発生系列（Ｒ）内に配置された記憶素子（ＦＦ1,2,3,4）の１つの各出力が供給され、その第２の入力は、コード発生系列（Ｒ）内に配置されたもう１つの記憶素子（ＦＦ8,15,20,23）の各出力が供給され、第１の入力にそれぞれ接続された記憶素子（ＦＦ1,2,3,4）から離れる系列（Ｒ）の導通方向において数記憶素子分だけ間隔がとられ、系列（Ｒ）内に接続された全体数の記憶素子（ＦＦ1,2,...n）の部分量を構成しない１よりも大きい異なる素数にそれぞれ対応することを特徴とするコード生成系。
【請求項４】
請求項１，２または３に記載のコード生成系であって、ＡＮＤゲート（ＡＮＤp1,p2,p3,p4）およびＥＸＯＲゲート（ＥＸＯＲp1,p2,p3,p4）にそれぞれ割当てられる複数のコード・プログラミング記憶素子（ＦＦp1,p2,p3,p4,...pn）が設けられ、かつ閉回路を含む系列（ＲＲ）内に接続され、少なくとも１つのＥＸＯＲゲート（ＥＸＯＲpp1）が設けられ、その第１の入力は、コード・プログラミング系列（ＲＲ）内に配置された記憶素子（ＦＦp6）の出力に接続され、その第２の入力は、コード・プログラミング系列（ＲＲ）内に配置されたもう１つの記憶素子（ＦＦp5）の出力に接続され、その出力は、コード・プログラミング系列（ＲＲ）内のＥＸＯＲゲート（ＥＸＯＲpp1）の第１の入力に接続された記憶素子（ＦＦp5）に続く記憶素子（ＦＦp1）の入力に接続されていることを特徴とするコード生成系。
【請求項５】
請求項４に記載のコード生成系であって、少なくとも１つのＥＸＯＲゲート（ＥＸＯＲpp1）の第２の入力とコード再発生系列（ＲＲ）内に配置された他方の記憶素子（ＦＦp3）の出力とを結ぶライン内にＡＮＤゲート（ＡＮＤpp1）が接続され、ＡＮＤゲート（ＡＮＤpp1）の出力は、ＥＸＯＲゲート（ＥＸＯＲpp1）の第２の入力に接続され、ＡＮＤゲート（ＡＮＤpp1）の第１の入力は、コード発生系列（ＲＲ）内に配置された他方の記憶素子（ＦＦp3）の出力に接続され、ＡＮＤゲート（ＡＮＤpp1）の第２の入力は、コード・プログラミング系列（ＲＲ）のプログラミングのために使用される記憶素子（ＦＦpp5）の出力に接続されることを特徴とするコード生成系。
【請求項６】
請求項５に記載のコード生成系であって、ＡＮＤゲート（ＡＮＤpp1）およびＥＸＯＲゲート（ＥＸＯＲpp1）にそれぞれ割当てられるコード・プログラミング系列（ＲＲ）に使用される複数の記憶素子（ＦＦpp1,pp2,pp3,pp4,...ppn）が設けられ、かつ閉回路を含む系列（ＲＲＲ）内に接続され、少なくとも１つのＥＸＯＲゲート（ＥＸＯＲppp1）が設けられ、その第１の入力は、系列（ＲＲＲ）内に配置された記憶素子（ＦＦpp1）の出力に接続され、その第２の入力は、系列（ＲＲＲ）内に配置されたもう１つの記憶素子（ＦＦpp3）の出力に接続され、その出力は、系列（ＲＲＲ）内のＥＸＯＲゲート（ＥＸＯＲppp1）の第１の入力に接続された記憶素子（ＦＦpp1）に続く記憶素子（ＦＦpp2）の入力に接続されていることを特徴とするコード生成系。
【請求項７】
請求項１-６のいずれかに記載のコード生成系であって、少なくとも第２の同一構造コード生成系に対する少なくとも１つの接続を有し、両方のコード生成系に同じプログラム・クロックを同時に供給できるようにすることを特徴とするコード生成系。
【請求項８】
請求項１-７のいずれかに記載の少なくとも２つのコード生成系により暗号化情報を送受信する装置であって、コード生成系は、各々が相互接続された全てのコード生成系のコード・プログラミング記憶素子（ＦＦp1,p2,p3,p4）に同じプログラム・クロックを同時に供給する少なくとも１つの接続を有し、相互接続された全てのコード生成系のコード・プログラミング記憶素子（ＦＦp1,p2,p3,...pn）が可能な全ての状態組合せに同時に目を通し、コード生成系が同時にプログラム・クロックから分離される時に同じプログラミングを提供されるようにすることを特徴とする装置。
【請求項９】
請求項８に記載の装置であって、コード生成系は、各々がコード・プログラミング記憶素子（ＦＦp1,p2,p3,...pn）に同時に供給する２つの接続を有し、相互接続された全てのコード生成系のコード・プログラミング記憶素子（ＦＦp1,p2,p3,...pn ）をプログラムするのに使用される記憶素子（ＦＦpp1,pp2,pp3,...ppn ）は、２つの独立に実行するプログラム・クロックを有し、コード・プログラミング記憶素子（ＦＦp1,p2,p3,...pn ）をプログラムするのに使用される記憶素子（ＦＦpp1,pp2,pp3,...ppn ）は、可能な全ての状態組合せに少なくとも一回、目を通し、相互接続された全てのコード生成系のコード・プログラミング記憶素子（ＦＦp1,p2,p3,...pn ）は、可能な全ての状態組合せの特定数の状態組合せに同時に目を通し、プログラム・クロックからのコード生成系の同時分離の後で相互接続された全てのコード生成系に同じプログラミングが提供されることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コード発生系列に接続された複数の記憶素子、たとえば、フリップ・フロップを有し、系列内の最後の記憶素子の出力が系列内の最初の記憶素子の入力にリンクされて回路を形成し、記憶素子の出力および入力は、挿入されたＥＸＯＲと再帰的に相互接続されるコード生成系(code generator)に関する。
【背景技術】
【０００２】
このようなコード生成系は、通信網を介して情報を暗号化および復号化するのに使用される。本質的に、全ての暗号化方法は、たとえ符号化される情報自体がコードとして使用される場合でもコードを使用する。暗号化に使用されたコードがより良く隠されるほど、暗号化は、より有効となる。コードが長いほど復号化は、困難になる。たとえば、無限コードは、決して完全に知られることがないため、決して隠す必要はない。暗号化される情報が終わる前に反復しない任意のコードは、機能的に無限と見なされる。機能的無限コードの利点は、暗号化および復号化プロセス自体を単一ＥＸＯＲまたはＥＸＮＯＲ演算により恐らく単純な方法で実現できることである。機能的無限コードの欠点は、それを伝送することはできず、生成しなければならないことである。
【０００３】
ＥＸＯＲゲートの２つの入力を直列接続された記憶素子、たとえば、シフト・レジスタの２つの出力にリンクし、ＥＸＯＲゲートの出力をシフト・レジスタの入力と再帰的に相互接続することにより機能的無限コードを生成する単純な方法がある。
【０００４】
その結果は、下記の最大長を有するコード系列である。
Ｌｃ=２n-１  ビット
（Ｌｃは、コード系列の長さ、ｎは、コード生成直列接続記憶素子数である。）
【０００５】
このコード生成系の欠点は、生成系の構造をコード系列から容易に推論して、同一設計生成系により再生成できることである。下記の特許は、再構成できないように、これらのコード系列を他のプロセスによりさらに暗号化する試みを表している。US 2001033663，WO 01/05090，WO 99/22484，WO 99/16208，JP10320181，WO98/02990およびEP 0782069。これらの出版物に開示されたコード系列は、共鳴効果が発生されたコードの長さを短縮する点が共通している。たとえば、JP 2000-101567，JP 2001-016197，EP 1999-0913964またはEP 1997-0782069に記述されている擬似ランダム・チェック生成系も存在する。これらのコード生成系は、変数により作用し、これらの変数からコード系列を計算するのに数学的非線形変換アルゴリズムが使用される。これは、高い数学関数および最高数学関数を使用して再計算する能力を低減するために行われる。これらのシステムは、それに隣接して出力変数がコード・メモリ内に配置されているマルチ・ビット入力と、そこからシリアル・コード系列が読み出され最大達成可能コード生成速度にマイナス効果を有する１ビット出力とを有する数学関数ユニットを使用する点が共通している。高いおよび最高数学のもう１つの目的は、複雑な公式の単純解を見つけることであり、どのような複雑な数学関数であっても単純解を見つけるリスクは、完全に排除することはできず、もちろん評価することもできないのは、そのためである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、最も変化に富む長いコード系列を生成する装置を提供することであり、その目標は、できるだけ最少数の回路素子により達成される。コード生成系は、２進ビット演算を使用して引き延ばされた時間フレームにわたって高周波２進データ・ストリームを同時に暗号化するように適合され、出力コードさえも秘密のままとされる。
【課題を解決するための手段】
【０００７】
この目的を達成するために、本発明は、本質的に前記した種類のコード生成系から生じ、少なくとも１つのＥＸＯＲゲートが設けられ、その第１の入力は、コード発生系列内に配置された記憶素子の出力に接続され、その第２の入力は、コード発生系列内に配置されたもう１つの記憶素子の出力に接続され、その出力は、コード発生系列内のＥＸＯＲゲートの第１の入力に接続された記憶素子に続く記憶素子の入力に接続され、さらに、コード発生系列内に配置された記憶素子の出力は、インバータの入力に接続され、インバータの出力は、系列内に配置されたもう１つの記憶素子の入力に接続されている。ここでは、コード生成系の構造およびその中で実行するアルゴリズムは、共に既知である。
【０００８】
しかしながら、この構造は、コード系列内の現在発生されたスポットと共にそれぞれ使用されたコードの発見を非常に起こりそうもなくするのに十分な長さの十分大きな数の異なるコードを生成できるように構成される。生成系が非常に多くの異なるコードを発生できるため個別のコードのセグメントを使用して、その継続を推論できない場合には、コードを再生成することができない。生成系は、可能な最低レベルのビット演算でコード系列を生成する。変数は、コード系列を計算するためのベースとして使用されず、個別の記憶素子、たとえば、系列内で相互接続されたフリップ・フロップまたはシフト・レジスタの状態だけが使用される。それにより、一方では使用されたスイッチング素子数および生成可能なコード系列の全長および生成可能な異なるコード数に関して可能な最高効率が得られる。さらに、コード生成系は、可能な最高発生速度を遂行できることが保証される。
【０００９】
本発明に従って、コード生成系により生成されたコード系列は、コード発生系列内に配置された２つの記憶素子間にもう１つのＥＸＯＲゲートを挿入することにより変化され、その１つの入力は、第１の記憶素子の出力に接続され、第２の入力には、系列内に配置された他の記憶素子の出力が供給され、最後に、系列の導通方向で第１の記憶素子に接続された記憶素子の入力には、ＥＸＯＲゲートの出力が供給される。
【００１０】
使用された記憶素子数に関して最大長を有する空記憶素子系列から生じるコードを生成するために、記憶素子の閉じた系列全体内に単一インバータが存在しなければならない。もちろん、インバータの機能は、たとえば、ＥＸＮＯＲゲートにより１つのスイッチング素子内のＥＸＯＲゲートの機能と結合することができる。
【００１１】
次に、異なるコードをプログラムするために、ＥＸＯＲゲートの再帰的機能は、内部コード・メモリ・コンテンツに応じてイネーブルかつディセーブルできるように設計される。このため、本発明は、少なくとも１つのＥＸＯＲゲートの第２の入力およびコード再発生系列内に配置された他方の記憶素子の出力を結ぶライン内のＡＮＤゲートを接続するように修正され、ＡＮＤゲートの出力は、ＥＸＯＲゲートの第２の入力に接続され、ＡＮＤゲートの第１の入力は、コード発生系列内に配置された他方の記憶素子の出力に接続され、ＡＮＤゲートの第２の入力は、プログラミングの目的で使用される記憶素子の出力に接続される。
【００１２】
したがって、プログラミングの目的で使用される各記憶素子の状態は、各ＥＸＯＲゲートがイネーブルされるかディセーブルされるかを決定する。その結果、このような記憶素子は、コード・プログラミング記憶素子と呼ばれる。
【００１３】
コードをより変化に富んだものとするために、好ましくは、複数のＥＸＯＲゲートが設けられ、その第１の入力には、コード発生系列内に配置された記憶素子の１つの各出力が供給され、その第２の入力には、コード発生系列内に配置されたもう１つの記憶素子の各出力が供給され、それは、それぞれ第１の入力に接続された記憶素子から離れる系列の導通方向において数記憶素子分だけ間隔がとられ、直列接続された全数の記憶素子の部分量を構成しない１よりも大きい異なる素数にそれぞれ対応する。
【００１４】
その結果、共振効果は、発生されたコードの長さを短縮しない。この場合、変化に富んだコード変化ＥＸＯＲゲートの集積に対する対応する構造は、回路のもう１つの部分セクションまたは全体セクションのパーセンテージまたは倍数を構成する記憶素子系列のこのような部分セクションが２つの記憶素子間に存在しないことを保証し、それは、閉回路を含むコード発生系列内に配置されＥＸＯＲゲートの２つの入力を有する。これを実現する最も有効な方法は、これらの部分セクション内に配置された記憶素子数およびそれらの全数を素数とすることである。
【００１５】
本発明の好ましい展開において、内部コード・メモリ・コンテンツは、内部コード・メモリのコンテンツをユーザさえも知らないように生成される。それによりコード復号化は、さらに複雑化する。そのため、好ましくは、設計は、それぞれＡＮＤゲートおよびＥＸＯＲゲートに割り当てられ閉回路を含むコード・プログラミング系列内に接続された複数のコード・プログラミング記憶素子を含み、少なくとも１つのＥＸＯＲゲートを提供し、その第１の入力は、コード・プログラミング系列内に配置された記憶素子の出力に接続され、その第２の入力は、コード・プログラミング系列内に配置されたもう１つの記憶素子の出力に接続され、その出力は、コード・プログラミング系列内のＥＸＯＲゲートの第１の入力に接続された記憶素子に続く記憶素子の入力に接続される。したがって、コード変化ＥＸＯＲゲートの状態は、別個の記憶素子系列からのＡＮＤゲートによりプログラムされ、コード発生記憶素子系列内で生じるのと同様に、それは、少なくとも１つのＥＸＯＲゲートを使用して再帰的に相互接続される。この場合、プログラミングは、プログラム・クロックを有するコード・プログラミング記憶素子系列を提供することにより行われ、好ましい実施例において説明したように、コード生成系が少なくとも１つの第２の同一構造コード生成系に対する少なくとも１つの接続を有する場合、複数のコード生成系を同一コードに容易にプログラムすることができ、両方のコード生成系に同じプログラム・クロックを同時に供給できる。
【００１６】
本発明は、さらに、少なくとも２つのコード生成系により暗号化情報を送受信する装置に関連し、各コード生成系が相互接続された全コード生成系のコード・プログラミング記憶素子に同じプログラム・クロックを同時に供給する接続を有し、相互接続された全コード生成系のコード・プログラミング記憶素子が可能な全ての状態組合せに同時に目を通し、コード生成系がプログラム・クロックから同時に分離される時に同じプログラミングが提供される。
【００１７】
請求項５，６および９に従った好ましいもう１つの展開では、さまざまなコード・プログラミングＥＸＯＲゲートは、付加記憶素子により構成されるプログラミング記憶素子系列によりそれらのプログラム影響アクションに関して再びイネーブルおよびディセーブルされて、プログラミングしながら可能な全てのプログラミング状態に目を通す必要がないようにされ、その結果、プログラムされた後のコードの状態は、プログラミング持続時間からの近似によってさえも推論することができない。
【実施例】
【００１８】
図示する実施例に基づいて、以下に本発明を詳細に説明する。図１は、５つの記憶素子、すなわち、コード発生系列Ｒとして接続されたフリップ・フロップＦＦ1,2,3,4,5,ＥＸＯＲゲートＥＸＯＲｐ１,ＡＮＤゲートＡＮＤｐ１およびインバータＩＮＶが相互接続された主回路図を示し、特に、ＥＸＯＲゲートＥＸＯＲｐ１の入力２をＡＮＤゲートＡＮＤｐ１の出力４に、その一方の入力５をプログラミングの目的で使用される１つの記憶素子ＦＦｐ１の出力に、その他方の入力６をコード発生系列内に配置された記憶素子ＦＦ３の出力に、ＥＸＯＲゲートＥＸＯＲｐ１のその他方の入力１をコード発生系列Ｒ内に配置された記憶素子ＦＦ１の出力に、ＥＸＯＲゲートＥＸＯＲｐ１の出力３を記憶素子ＦＦ２の入力に、記憶素子ＦＦ５の出力をインバータＩＮＶの入力に、次に、ＩＮＶの出力を導通方向における次の記憶素子ＦＦ１の入力に直列に、すなわち、再帰的に接続するようにされている。コード系列がこの回路により生成され、完全な空記憶素子ＦＦ1,2,3,4,5の系列Ｒから生じる。コードが反復する前に少なくとも３つのクロックが通過する。市販のモジュールにより個別のスイッチング素子を実現することができる。たとえば、タイプ７４ＨＣ１７４ＩＣを直列接続記憶素子ＦＦ1,2,3,4,5に使用することができ、ＩＣ７４ＨＣ０８をＡＮＤゲートＡＮＤｐ１に、ＩＣ７４ＨＣ３８６をＥＸＯＲゲートＥＸＯＲｐ１に、ＩＣ７４ＨＣ００をインバータＩＮＶに、ＩＣ７４ＨＣ１０７をメモリモジュールＦＦｐ１に使用することができる。
【００１９】
もちろん、図１に示す系列を延長して、たとえば、図２に示す延長系列Ｒを生じることができる。
【００２０】
この場合、いくつかの連続的な直列接続記憶素子をシフト・レジスタＳＲＧ１，ＳＲＧ２，．．．の形で実現することができる。コードの長さは、付加記憶素子当り２倍となり、コード長は、次式で算出される。
Ｌc=２ｎ-１
（Ｌcは、コード系列の長さ、ｎは、コード生成直列接続記憶素子数である。）
【００２１】
このユニットが特定クロックで作動される場合、コードの持続時間に対して次式が当てはまる。
2005519337.tif 000003
（Ｔcは、コード反復までの経過時間、ｆcは、コード生成クロック周波数である。）
【００２２】
384,000ビット/秒のコード生成クロック周波数における５０未満の記憶素子において、コードは、系列反復なしで１年以上にも及び、被暗号化信号は、ちょうど同じ時間長だけ暗号化された専用回線上を同時に送られ、かつ復号化されてちょうど同じ時間長だけライブ送信できるようにされる。
【００２３】
記憶素子系列Ｒの対応する長さを仮定すると、ＥＸＯＲゲートＥＸＯＲp1,p2,p3,p4がこの記憶素子系列内のいくつかのポイントにおける系列Ｒ内の記憶素子ＦＦ1,2,3,4および次の記憶素子ＦＦ2,3,4,5間に挿入され、第３の記憶素子ＦＦ8,15,20,23から信号が供給され、その結果、生成される各コードが変更される（図２）。
【００２４】
複数のコード変化ＥＸＯＲゲートＥＸＯＲp1,p2,p3,p4が与えられると（図２参照）、その目的は、第１の入力に記憶素子ＦＦ1,2,3,4の出力が供給されるコード変化ＥＸＯＲゲートＥＸＯＲp1,p2,p3,p4は、それらの第２の入力に前記した記憶素子ＦＦ1,2,3,4から導通方向において数記憶素子分だけ間隔のとられた記憶素子ＦＦ8,15,20,23の各出力が供給されることを保証することであり、各数は、１よりも大きい異なる素数に対応するが、直列接続された記憶素子系列Ｒの総数の部分量ではなく、コード系列に影響を及ぼしながらコード系列短縮共振効果は、生じないようにされる。したがって、記憶素子の７,１３,１７および１９（素数）の各数は、対応する記憶素子対ＦＦ1,8，ＦＦ2,15，ＦＦ3,20，ＦＦ4,23の間にある。
【００２５】
一方の入力６が記憶素子ＦＦ3またはＦＦ8,15,20,23の出力に保留されているＡＮＤゲートＡＮＤp1またはＡＮＤp1,p2,p3,p4の出力４を各ＥＸＯＲゲートＥＸＯＲp1またはＥＸＯＲp1,p2,p3,p4の２つの入力の一方に接続すると、ＡＮＤゲートＡＮＤp1またはＡＮＤp1,p2,p3,p4の第２の入力５を介したそのコード変化アクションに関して、このＥＸＯＲゲートＥＸＯＲp1またはＥＸＯＲp1,p2,p3,p4をイネーブルまたはディセーブルすることができ、もう１つの各記憶素子ＦＦp1またはＦＦp1,p2,p3,p4をそこに接続すればＥＸＯＲゲートＥＸＯＲp1またはＥＸＯＲp1,p2,p3,p4のコード影響アクションのイネーブリングおよびディセーブリングをプログラムすることができる（図１または図２）。コード・プログラミング記憶素子ＦＦp1,p2,p3,p4は、ここで系列ＲＲ内に相互接続することができる。コード・プログラミング記憶素子ＦＦp1,p2,p3,p4は、続いてＥＸＯＲゲートＥＸＯＲpp1の支援により再帰的に相互接続することができる。
【００２６】
プログラマブルな異なるコード数は、次式により計算される。
Ｌc=２pn-１
（Ｌcは、可能な異なるコード数、ｐnは、プログラマブルＥＸＯＲゲートＥＸＯＲp1,p2,...pn数である。）
【００２７】
同一コード生成系が利用可能であれば、その目標は、特定のビット数に基づいたコード系列のさらなる進行を確認することであり、コード系列の正しい継続が認識される確率は、コードの生成に使用される記憶素子ＦＦ1,2,...n，およびプログラマブル・コード変化ＥＸＯＲゲートＥＸＯＲp1,p2,...pn数の両方に応じて認識される。それにより、コードの根拠をなすプログラミングを発見、したがって、コードのさらなる進行を予測する下記の確率が得られる。
2005519337.tif 000004
（Ｎbは、観察されたコード系列ビット数、ｎは、コード生成直列接続記憶素子ＦＦ1,2,...n数、ｐnは、プログラマブル・コード変化ＥＸＯＲゲートＥＸＯＲp1,p2,...pn数である。）
【００２８】
２３３は、５２番目の素数である。１が使用されず、かつ２３３が直列接続記憶素子の総数を表す場合には、このセグメントに沿って５０の異なる記憶素子があり、各々が素数（ｎp=233+50=283）に等しい距離だけ出力記憶素子から間隔をとられている。
【００２９】
その結果、次式が得られる。
2005519337.tif 000005
【００３０】
言い換えれば、コード系列は、特定系列の検出確率を１に等しくする1.7498005798*10100クロック増分に対して観察しなければならない。384000Ｈｚのクロック周波数において、これにより1.4449430312*1087年の必要な観察期間が得られる。
【００３１】
下記の時間間隔内に可能な全ての状態組合せに目を通すことができるようにコード・プログラミング記憶素子(ＦＦp1,p2,p3,p4,p5,p6)を再帰的に相互接続することにより、
2005519337.tif 000006
（Ｔｐｎは、可能な全てのプログラミング状態に対する実行時間、ｐｎは、プログラム記憶素子数、ｆpは、プログラミングクロック周波数である。）
特定の時間範囲からのプログラミングが生じ、コード・プログラミング記憶素子には、プログラム・クロックが供給されて、２つの同一コード生成系においてプログラム・クロックを同時に活性化および非活性化することにより（図２の回路内のＩＣ１０ａのピン１２における活性化および非活性化パルス）、いくつかのコード生成系が同一コード系列を生成するが、プログラミング・コンテンツは、プログラマにさえ知らないようにそれを実行することができる。
【００３２】
プログラミングは、２つのステージで行ってプログラミング持続時間からプログラミングが近似的にさえ拾い集められるのを防止することができる。そのために、コード・プログラミングＥＸＯＲゲートＥＸＯＲpp1自体を記憶素子系列ＲＲＲに接続し、再びＡＮＤゲートＡＮＤpp1を挿入し、それをプログラマブルにすることにより、もう１つのプログラミング・レベルを付加することができ、系列ＲＲＲを再帰的に相互接続するのに再びＥＸＯＲゲートＥＸＯＲppp1が使用される。
【００３３】
第１のプログラミング・ステージにおいて、プログラマは、可能なプログラミング状態のセグメントを探索しないようにプログラムされ、それは、このようなセグメント内の全ての点をルック・アップすることができる後続プログラミングの開始点を表す。
【００３４】
前記計算例から続けて、(2283-1)*(250-1)の異なる状態が250-1の異なるセグメントに分離され、その１つが第１のプログラミング・フェーズにおいて選択されることがそれにより保証される。この選択プロセスは、最大2ppn-1ステップで行われる（ｐｐｎは、プログラミングに使用された素数の数（５０）の内に含まれる素数の数、したがって、１６である）。これは、全セグメントが探索される前に最大216ステップを行わなければならないことを意味する。１ＭＨｚのプログラミング・クロック周波数において、このプロセスは、0.065秒内に完了する。人間の反応時間内であるために任意のプログラミング・プロセスにおいて、ある時間が確実にカバーされ、実際に生じたプログラミング期間から引き出すことができるキー・プログラミングに干渉しないことを保証する。
【００３５】
２つのシスタ・コードの一方をマザ・コードの１つおきの状態だけに割り当てることにより２つの関連した非類似コードを１つのコードから引き出すことができる。
【００３６】
出力信号は、ＥＸＮＯＲゲート（ＩＣ １７ｂ，ｃ，図２）を介して符号化され、その１つの入力は、暗号化される信号を含み、その第２の入力は、コードを含み、その出力にコード暗号化出力信号が現れる。
【００３７】
入力信号は、ＥＸＮＯＲゲートを介して復号され、その１つの入力は、復号化される信号を含み、その第２の入力は、コードを含み、その出力にコード復号化出力信号が現れる。
【００３８】
少なくとも２つのこのような同一プログラム・コード生成系を使用して同じコード生成系の第２のオーナを識別することができ、続いてコード生成系を同期化してライブ・データを永久的に交換することができ、このパーティとの安定な暗号化データ伝送回路を確立することができる。
【００３９】
この回路は、コード生成自体中は、いかなるＣＰＵ時間もとらないため、任意のハンド・シェーク時間と無関係であり、このコード発生レートは、それを含む電子コンポーネントの特定のスイッチング時間だけに制限される。このようにして、市販のＴＴＬコンポーネントを使用してメガヘルツ範囲のコード発生レートを容易に実現することができる。
【００４０】
以下において、図２に従った回路の内部動作シーケンスがステップ・バイ・ステップで記述され、「鍵」という用語は、図２の回路に従った機能的ユニットに対して使用される。
2005519337.tif 000007
【００４１】
以下では図２の回路に従った２つの機能的ユニットを有する２つのコンピュータ間で暗号化接続を確立するステップ・バイ・ステップ動作シーケンスについて説明する。
2005519337.tif 000008
2005519337.tif 000009
2005519337.tif 000010
【図面の簡単な説明】
【００４２】
【図１】プログラマブル再帰的コード生成に対する主回路図である。
【図２−１】それにより２つのコンピュータ間に暗号化接続を確立する、コード生成系ベース機能的ユニット回路の一般的な例である。
【図２−２】それにより２つのコンピュータ間に暗号化接続を確立する、コード生成系ベース機能的ユニット回路の一般的な例である。
【図３−１】修正されたコード生成系回路の一般的な例である。
【図３−２】修正されたコード生成系回路の一般的な例である。
【図１】
2005519337.tif 000011
2005519337.tif 000012
2005519337.tif 000013
2005519337.tif 000014
2005519337.tif 000015
【国際調査報告】
2005519337.tif 000016
2005519337.tif 000017