(57)【特許請求の範囲】
【請求項１】
第１の文字列（Ｍｕｔｔｅｒ＄）を格納するメモリを有する１台以上のコンピュータによって実行される、暗号化、統計、シミュレーション、ランダム化、およびゲーム機器のそれぞれのシステムを含むシステムの群の中から選択された少なくとも１つのシステムにおいて利用される文字列（Ｃｏｄｅ＄）を生成するための方法であって、
第１の符号化手段が、前記第１の文字列（Ｍｕｔｔｅｒ＄）を読込むステップと、
前記第１の符号化手段が、前記第１の文字列（Ｍｕｔｔｅｒ＄）を符号化することによって第２の文字列（Ｗｏｒｋ＄１）を生成するステップと、
分割手段が、前記第１の文字列（Ｍｕｔｔｅｒ＄）および前記第２の文字列（Ｗｏｒｋ＄１）の少なくとも一方を２つの部分長（Ｔｒｕｅ＄、Ｕｎｔｒｕｅ＄）に分割するステップと、
第２の符号化手段が、前記２つの部分長のうち一方の部分長を他方の部分長を用いて論理ＸＯＲ符号化することにより、第４の文字列（Ｗｏｒｋ＄２）を生成するステップと、
第３の符号化手段が、前記第４の文字列（Ｗｏｒｋ＄２）を符号化することによって前記利用される文字列（Ｃｏｄｅ＄）を生成するステップとを含む、方法。
【請求項２】
前記第１の文字列（Ｍｕｔｔｅｒ＄）を格納するメモリは、ＲＡＭまたはＦＬＡＳＨメモリである、請求項１に記載の方法。
【請求項３】
前記第１の文字列（Ｍｕｔｔｅｒ＄）には、ランダム文字の配列が使用される、請求項１または請求項２に記載の方法。
【請求項４】
前記第１の文字列（Ｍｕｔｔｅｒ＄）には、２進乱数の配列が使用される、請求項３に記載の方法。
【請求項５】
第１の乱数（Ｍｕｔｔｅｒ＄）のために、物理的乱数が使用される、請求項３または請求項４に記載の方法。
【請求項６】
前記第１の文字列（Ｍｕｔｔｅｒ＄）は暗号化キーとして使用される、請求項１〜請求項５のいずれか１項に記載の方法。
【請求項７】
前記第１の符号化手段は、前記第２の文字列（Ｗｏｒｋ＄１）を生成するために、前記第１の文字列（Ｍｕｔｔｅｒ＄）を、前記第１の文字列（Ｍｕｔｔｅｒ＄）から独立している第３の文字列（ＺＺ＄）を用いて論理ＸＯＲ符号化する、請求項１〜請求項６のいずれか１項に記載の方法。
【請求項８】
前記分割するステップは、前記２つの部分長のうちの一方（Ｔｒｕｅ＄）は、第３の文字列（ＺＺ＄）に含まれる文字またはビットシーケンスのみを含み、前記２つの部分長のうちの他方（Ｕｎｔｒｕｅ＄）は、前記第３の文字列（ＺＺ＄）に含まれていない文字またはビットシーケンスのみを含むように実行される、請求項７に記載の方法。
【請求項９】
前記第３の文字列（ＺＺ＄）は、２４バイト以上のサイズを有するように選択される、請求項７または請求項８に記載の方法。
【請求項１０】
前記第３の文字列（ＺＺ＄）は、３４バイト以上のサイズを有するように選択される、請求項７または請求項８に記載の方法。
【請求項１１】
前記第３の文字列（ＺＺ＄）は、２４バイト以上のサイズを有し、かつ、８ビットの長さの文字を含み、
前記分割手段は、前記第２の文字列（Ｗｏｒｋ＄１）を分割するために、前記第２の文字列（Ｗｏｒｋ＄１）において、前記第３の文字列（ＺＺ＄）に含まれる文字を検索する、請求項７〜請求項１０のいずれか１項に記載の方法。
【請求項１２】
前記第１の文字列（Ｍｕｔｔｅｒ＄）は、１００バイトよりも大きくなるように選択される、請求項１〜請求項８のいずれか１項に記載の方法。
【請求項１３】
前記第１の文字列（Ｍｕｔｔｅｒ＄）は、１Ｍバイト以上となるように選択される、請求項１〜請求項１１のいずれか１項に記載の方法。
【請求項１４】
前記第１の文字列（Ｍｕｔｔｅｒ＄）は、１００Ｍバイト以上となるよう選択される、請求項１〜請求項１１のいずれか１項に記載の方法。
【請求項１５】
前記利用される文字列（Ｃｏｄｅ＄）を生成することは、前記第２の文字列（Ｗｏｒｋ＄１）を前記第４の文字列（Ｗｏｒｋ＄２）を用いて論理ＸＯＲ符号化することを含む、請求項１〜請求項１４のいずれか１項に記載の方法。
【請求項１６】
暗号化、統計、シミュレーション、ランダム化、およびゲーム機器のそれぞれのシステムを含むシステムの群から選択される少なくとも１つのシステムを構成する装置（１）であって、
前記装置（１）は請求項１〜請求項１５のいずれか１項に記載の方法を実行するよう構成されている、装置。
【請求項１７】
少なくとも１台のコンピュータに、請求項１〜請求項１５のいずれか１項に記載された方法を実現するための処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、暗号化、統計、シミュレーション、ランダム化のシステムにおいて、またはゲーム機器などにおいて文字列を使用するための方法に関する。この発明はまた、暗号化、統計、シミュレーション、ランダム化のためのシステム、ゲーム機器などにおける装置に関し、この発明はまた、それぞれのコンピュータプログラム製品に関する。
【背景技術】
【０００２】
暗号化、統計、シミュレーション、ランダム化の数々のシステム、ゲーム機器などにおいて、文字列は開始値として使用される。たとえば、この種の文字列は、暗号化におけるキーに使用される。そのようなキーは、コンピュータアプリケーション用に２進法で具現化されることが多い文字列である。安全な暗号化を容易にするために、キーはランダム化されることが多く、もっとも簡単な場合、乱数を含む。キーの２進法の実施例の場合、キーにおいて２進要素がランダムに配列される。
【０００３】
たとえば、ワンタイムパッド法は、メッセージを暗号化するために、暗号化すべきメッセージと少なくとも同じ長さを有するランダムキーが使用されており、情報理論的な観点から安全であることが知られている。送信者および受信者は予め互いにキーを交換しておく必要があり、こうして、キーが認可されていない者の手に渡らないことを確実にする必要がある。また、セキュリティを確実にするために、この方法ではキーはたった１度しか使用してはならない。
【０００４】
この安全な方法の欠点は、キーが１回しか使えず、したがってこの種のキーの交換は各メッセージ交換の前にしておく必要があり、また、キーは少なくともメッセージテキストの長さを有する必要がある、ということである。キーは事前に承諾され、格納され得るものの、格納されたキーは通信強度の関数として使い尽くされる。新しいキーを承諾する際、当事者らはまた集まらなければならない。このため、この方法は安全であるが、一方では非常に複雑で柔軟性に欠ける。
【０００５】
一方、ある特定の期間にわたって変更されないキーをユーザが受取る暗号化法を使用することも知られている。通常、このキーは、ワンタイムパッド用途で使用されるキーよりも短い。しかしながら、この方法の欠点は、キーに関する暗号化されたメッセージ自体から、好適な手法およびアルゴリズムを通して結論が引出されるおそれがある、ということである。このため、通信は、ワンタイムパッド法よりも安全性が低い。
【０００６】
このように、これらのシステムにおいて使用される文字シーケンスに関して結論が引出され、ひいてはシステムが攻撃され得るというリスクがあるため、文字列を頻繁な間隔で更新する必要がある。これは、保守およびコストが高くつくワンタイムパッド法と同様の欠点と関連がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の他のシステムについても、同様の問題が起こる。たとえば、ゲーム機器は、内蔵する予め定められた乱数を使用して、それからゲームの進行を展開する。したがって、賭博機器として使用されることが多いそのようなゲーム機器は、金になる特定の攻撃目標である。なぜなら、ゲーム機器に入れられた乱数を知ることは、好適な手法およびアルゴリズムを用いたゲームの進行の統計的予測を容易にし、したがってゲーム機器の操作者にとって多大な損失をもたらすおそれがあるためである。
【０００８】
このため、この発明の目的は、文字シーケンスを攻撃する選択肢を減少させ、特に文字シーケンスに対する攻撃を防止する、暗号化、統計、シミュレーション、ランダム化のシステム、ゲーム機器などにおいて文字列を使用するための方法を提供することである。また、装置およびそれぞれのコンピュータプログラム製品も提供される。
【課題を解決するための手段】
【０００９】
この目的は、請求項１に記載の方法、請求項１４に記載の装置、および請求項１５に記載のコンピュータプログラム製品を通して達成される。有利な実施例は、従属請求項で提供される。
【００１０】
この発明は、文字列がシステムで直接使用される場合、最適な態様で攻撃から保護されることができない、という知見に基づいている。このため、この発明の目的は、第１の文字列を提供することであり、それはシステムで直接使用されないものの、第２の文字列が第１の文字列から生成される。この第２の文字列、または第２の文字列から生成されたさらなる文字列のみが、次にシステムで使用される。システムに対する攻撃が、第２の文字列、またはそれから生成されたさらなる文字列を暴露するかもしれないが、使用中の第１の文字列は、非常に高レベルの保護を受ける。こうして、第１の文字列は、複数の第２の文字列を生成するために複数回使用される。たとえば、第１の文字列は暗号化法においてキーとしてはもう使用されないものの、それから新しいキーを連続して生成するために格納されたままとなっている。このように、この種のキーは長い耐用寿命の間１回だけ格納すればよく、サービス間隔が非常に長くなる。
【００１１】
他のシステム、たとえばゲーム機器についても、同じ利点が確かに達成可能であり、ゲームの進行が長期間にわたって予測できないままとなるよう、格納された乱数に関する直接的な結論を引出すことはできない。
【００１２】
有利には、第１の文字列は、マシン読取可能メモリに、特にＲＡＭ、ｆｌａｓｈなどに格納され、好ましくは、第２の文字列は、メモリと通信するプロセッサにおいて、第１の文字列から自動的に生成される。このように、システムにおけるこの方法は、攻撃のリスクがさらに減少するよう、手動のサポートなく自律的に機能する。
【００１３】
有利な一実施例では、文字列は、ランダム文字、有利には乱数の配列であり、特に文字列への攻撃に対する防御をさらに強化する２進乱数の配列である。このため、第１の乱数は好ましくは物理的乱数である。なぜなら、統計的観点からは、この種の乱数は特に高いランダム品質を有するためである。
【００１４】
特に有利な一実施例では、システムは暗号化システムであり、第１の文字列は暗号化キーである。
【００１５】
特に有利な一実施例では、好ましくは第１の文字列から独立している第３の文字列が提供され、第２の文字列を生成するために、第１の文字列は、第３の文字列を用いて論理ＸＯＲ符号化され、好ましくは論理伸張ＸＯＲ符号化される。
【００１６】
「論理ＸＯＲ符号化される」とは、この状況では、第１の文字列が、特定のビットの排他的ＯＲ構成を通して第３の文字列と組合されて結果を生み出し、第３の文字列が、少なくとも第１の文字列の長さを有するまで連結される、ということを意味する。
【００１７】
「論理伸張ＸＯＲ符号化される」とは、この状況では、第３の文字列の長さに対応する第１の文字列の部分長が、第３の文字列を用いてビットごとに排他的ＯＲ構成され、同様に第３の文字列の長さを有する得られた（中間）結果が、第１の文字列の残りの部分の一部を用いて排他的ＯＲ構成され、残りの部分の一部は同様に第３の文字列の長さに対応する、ということを意味する。次に、それから得られた結果が、第１の文字列の残りの部分のそれぞれの一部を用いて再度構成され、この方法は、第１の文字列のすべての部分がこの構成を受けるまで繰返される。論理伸張ＸＯＲ符号化の結果は、得られた中間結果の連結である。
【００１８】
第３の文字列は、１ビットよりも長く、より有利には２４ビット以上の長さ、さらにより有利には３４ビット以上の長さを有する。これは、第１の文字列のセキュリティをさらに高める。
【００１９】
第１の文字列が１００バイトよりも大きく、より有利には１Ｍバイト以上、特に有利には１００Ｍバイト以上であると、さらに有利である。なぜなら、この大きさの第１の文字列のサイズはバリエーションを急速に増やし、そのため、第１の文字列の保守は非常に長い間隔で行なえばよいためである。
【００２０】
別の有利な一実施例では、第４の文字列を生成するために、第２の文字列は２つの部分長に分割され、一方の部分長は他方の部分長を用いて論理ＸＯＲ符号化され、有利には論理伸張ＸＯＲ符号化され、第２の文字列は次に、第４の文字列を用いて論理ＸＯＲ符号化され、有利には論理伸張ＸＯＲ符号化される。これは、文字列の攻撃可能性をさらに減少させる。
【００２１】
好ましい一実施例では、２つの部分長のうちの一方は、有利には第１の文字列から独立して提供された第５の文字列に含まれる文字またはビットシーケンスのみを含み、２つの部分長のうちの他方は、第５の文字列に含まれていない文字またはビットシーケンスのみを含む。この状況では、第５の文字列が２４バイト以上の長さを有し、８ビットの長さの文字を含んでおり、第２の文字列がこれらの文字をそれぞれ含むかどうかが比較されると、特に有利である。また、これに代えて、文字を判断するために任意の他の長さを互いに比較することも確かに可能であるが、８ビット未満の長さについては冗長性が提供可能であるため、２つの異なる部分長はもはや提供できない。
【００２２】
特に、有利な一実施例では、第３の文字列が第５の文字列と一致し、両方の文字列は同じ時点で第３の文字列として提供される。このように、２つの異なる混合方法が使用されており、システムでその場合使用される第１の文字列から生成される文字列は、第１の文字列に対する攻撃に関して特に安全である。
【００２３】
異なる混合ステップがランダムなシーケンスで、およびランダムな繰返しで実行され、オプションとして新しい第３および第５の文字列または新しい共通の第３の文字列が提供される、ということも確かに提供可能である。
【００２４】
暗号化、統計、シミュレーション、ランダム化のシステム、ゲーム機器などにおける装置であって、この発明に従った方法を実行するよう構成されている装置について、独立した特許保護が請求される。
【００２５】
この発明は、完全ハードウェア構成、完全ソフトウェア構成、またはハードウェアおよびソフトウェア要素も含む構成で実現可能である。好ましい一実施例では、この発明は、ファームウェアを含むソフトウェア、システム専用ソフトウェア、マイクロコードなどで実現されるが、それらに限定されない。
【００２６】
また、この発明は、コンピュータにより使用可能な、またはコンピュータにより読取可能な媒体からアクセス可能であり、コンピュータを通して、もしくはコンピュータまたは任意のコマンド実行システムと組合せて使用されるプログラムコードとして提供される、コンピュータプログラム製品として実現可能である。したがって、コンピュータ読取可能な媒体上に格納され、コンピュータプログラム手段を含むコンピュータプログラム製品であって、プログラム手段は、コンピュータ上で実行されると、コンピュータにこの発明に従った方法を実行させる、コンピュータプログラム製品についても、独立した特許保護が請求される。
【００２７】
この記述の目的のため、コンピュータにより使用可能な、またはコンピュータにより読取可能な媒体は、コマンド実行システム、構成、または装置を通して使用する、もしくはそれと組合せて使用するプログラムを含み、格納し、前方へ通信し、または搬送するあらゆる構成もしくは装置であり得る。
【００２８】
媒体は、電子、磁気、光学、電磁、赤外、または半導体システム（もしくは構成または装置）、もしくは伝搬媒体であり得る。コンピュータ読取可能な媒体の例は、半導体または固体メモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、読出専用メモリ（ＲＯＭ）、磁気ハードディスク、または光学ディスクを含む。光学ディスクの例は、コンパクトディスク読出専用メモリ（ＣＤ−ＲＯＭ）、コンパクトディスク読出書込（ＣＤ−Ｒ／Ｗ）、およびＤＶＤを含む。
【００２９】
プログラムコードを格納し、および／または実行するよう構成されたデータ処理システムは、システムバスを通して少なくとも１つの記憶素子に直接的または間接的に接続された少なくとも１つのプロセッサを含む。記憶素子は、プログラムコードの現在の実行中にアクティブとなるローカルメモリと、マスストレージと、実行中にマスストレージからのコードの検索回数を含めるために少なくともいくつかのプログラムコードの一時的格納を提供するバッファストレージとを含み得る。
【００３０】
キーボード、ディスプレイ、表示器を含み得るもののそれらに限定されない入力／出力すなわちＩ／Ｏ装置は、システムに直接的に、またはそれとの間に接続されたＩ／Ｏコントローラを通して結合可能である。
【００３１】
データ処理システムが、他のデータ処理システム、もしくは遠隔のプリンタまたは記憶装置と、それとの間に接続された私的または公的ネットワークを通して結合されることを容易にするために、ネットワークアダプタもシステムに接続可能である。モデム、ケーブルモデム、またはイーサネット（登録商標）カードは、この状況では、現在利用可能なタイプのネットワークアダプタのほんの数例である。図面を参照して、この発明の特徴およびさらなる利点を、一実施例に基づいて説明する。
【図面の簡単な説明】
【００３２】
【図１】暗号化システムの一部を示す図である。
【図２】この発明に従った方法の概略図である。
【図３】図２に従った方法のステップの概略図である。
【発明を実施するための形態】
【００３３】
図１は、第１のメモリ２と、第２のメモリ３と、データ処理システムとして構成されたプロセッサ４と、ネットワークアダプタ５とを含む暗号化システムの部分１を概略的に示す。メモリ２、３は、半導体または固体メモリであってもよいが、磁気テープ、コンピュータディスク、ＲＡＭ、ＲＯＭ、磁気ディスク、または光学ディスクでもあってもよい。ネットワークアダプタ５は、暗号化システムのローカルなまたは遠隔に配置された追加の構成要素（図示せず）と通信する。
【００３４】
第１のメモリ２には第１の文字列が格納されており、第２のメモリ３には、部分１にこの発明に従った方法を実行させるコンピュータプログラム製品が格納されている。確かに、メモリ２、３は均一なメモリ素子としても構成可能であり、追加のメモリ素子、特にバッファメモリが使用されるということも提供可能である。
【００３５】
図２に、この発明に従った方法を、ブロック図に基づいて概略的に示す。そこでは、文字列Ｍｕｔｔｅｒ＄が第３の文字列ＺＺ＄を用いて論理拡張ＸＯＲ符号化されることが明らかである。図示された実施例では、第１の文字列Ｍｕｔｔｅｒ＄は１００ＭＢの乱数列であり、第３の文字列ＺＺ＄は３４バイトの乱数列である。第１の文字列Ｍｕｔｔｅｒ＄はここで、第３の文字列ＺＺ＄を用いて論理伸張ＸＯＲ符号化される。これは、第１の文字列Ｍｕｔｔｅｒ＄の最初の３４バイトが第３の文字列ＺＺ＄を用いて論理ＸＯＲ符号化され、それが結果として同様に３４バイトの長さを有する第１の部分列ＺＫ＄１を生成するよう、提供される。この第１の部分列ＺＫ＄１は次に、第１の文字列Ｍｕｔｔｅｒ＄の別の部分をＸＯＲ符号化するために再度使用される。このため、第１の文字列Ｍｕｔｔｅｒ＄の次の３４バイトが使用され、結果として第２の部分列ＺＫ＄２が生成され、それは次に、第１の文字列Ｍｕｔｔｅｒ＄の次の３４バイトのＸＯＲ符号化に使用される。図２に示すようなこの手順は、第１の文字列Ｍｕｔｔｅｒ＄の１００ＭＢ全体が使い尽くされるまで繰返される。部分列ＺＫ＄１、ＺＫ＄２、ＺＫ＄３、ＺＫ＄４、ＺＫ＄５などの連結が、結果として、第１の文字列Ｍｕｔｔｅｒ＄と同様に１００ＭＢの長さを有する第２の文字列Ｗｏｒｋ＄１を生み出す。
【００３６】
図３により詳細に説明される重み付け規則ＷＶに従った第２の文字列Ｗｏｒｋ＄１は、２つの部分長Ｔｒｕｅ＄、Ｕｎｔｒｕｅ＄に分割され、その後、両方の部分長Ｔｒｕｅ＄、Ｕｎｔｒｕｅ＄は互いにＸＯＲ符号化される。これは、本実施例では部分長がより短いＴｒｕｅ＄が、その長さが少なくとも本実施例では部分長がより長いＵｎｔｒｕｅ＄に対応するまで、連結されるように提供される。その結果、部分長がより長いＵｎｔｒｕｅ＄の長さを有する第４の文字列Ｗｏｒｋ＄２が作り出される。
【００３７】
確かに、文字列Ｍｕｔｔｅｒ＄の攻撃可能性をさらに減少させるために、２つの部分長のＸＯＲ符号化の代わりに、拡張ＸＯＲ符号化を代替的に行なうことも可能である。
【００３８】
その後、第２の文字列Ｗｏｒｋ＄１が、第４の文字列Ｗｏｒｋ＄２を用いてＸＯＲ符号化され、次に、第４の文字列Ｗｏｒｋ＄２は、その長さが第２の文字列Ｗｏｒｋ＄１の長さに対応するまで、連結される。その結果、第５の文字列Ｃｏｄｅ＄が生成され、それはまた、第１の文字列Ｍｕｔｔｅｒ＄の長さ、すなわち１００ＭＢを有する。
【００３９】
図３は、図２の重み付け規則ＷＶをブロック図に概略的に示す。このように、重み付け規則ＷＶの状況では、第３の文字列ＺＺ＄に含まれるどの文字が第２の文字列Ｗｏｒｋ＄１にも含まれているかが比較される。第２の文字列Ｗｏｒｋ＄１に含まれる文字は、第３の文字列ＺＺ＄で予め定められているシーケンスで、第１の部分長Ｔｒｕｅ＄に格納される。一方、第３の文字列に含まれていない第２の文字列Ｗｏｒｋ＄１の文字は、第２の文字列Ｗｏｒｋ＄１で予め定められているシーケンスで、第２の部分長Ｕｎｔｒｕｅ＄に格納される。この混合アルゴリズムはさらに、さもなくば単純なＸＯＲ符号化にとって可能となり得る逆算を防止する。また確かに、部分長Ｔｒｕｅ＄、Ｕｎｔｒｕｅ＄を確立する際に、別のシーケンスを選択することもできる。
【００４０】
上述のこの発明に従った方法の実施例では、このように第１の文字列Ｍｕｔｔｅｒ＄が使用され、それは好ましくは物理的乱数として２進方式で生成される。この第１の文字列Ｍｕｔｔｅｒ＄はシステムに格納され、非常に良好な統計的品質を有する。３４バイトの乱数を含み、各々の場合、第１の文字列Ｍｕｔｔｅｒ＄とは独立してシステム構成要素１により新たに生成される第３の文字列ＺＺ＄を通して、第５の文字列Ｃｏｄｅ＄が第１の文字列Ｍｕｔｔｅｒ＄から生成され、第５の文字列Ｃｏｄｅ＄は次にシステムにおいてさらに使用される。
【００４１】
第１の文字列Ｍｕｔｔｅｒ＄を、システムにおいて、またはシステムの部分１においてそれを提供する前に生成するために、その開示全体がこの引用により援用されるドイツ特許出願ＤＥ  １０  ２００８  ０３３  １６２を参照する。この特許出願は、極度に高い統計的品質を有する乱数が物理的乱数としてどのように生成され得るかを詳細に記載している。生成方法はこのため、第１の文字列Ｍｕｔｔｅｒ＄を生成するためだけでなく、第３の文字列ＺＺ＄を生成するためにも使用可能である。しかしながら、上述のように、文字列ＺＺ＄を、システムの部分１自体のプロセッサ４において擬似乱数として費用効果高く生成することが有利である。
【００４２】
部分１によってシステムが使用される前に、または部分１がシステムとやり取りする前に、固定された第１の文字列Ｍｕｔｔｅｒ＄から第５の文字列Ｃｏｄｅ＄が生成され、第５の文字列Ｃｏｄｅ＄は次に、システムにおいてさらに使用される。このため、第１の文字列Ｍｕｔｔｅｒ＄に関する結論を第５の文字列Ｃｏｄｅ＄から逆に引出すことはできないということが、生成ステップを通して提供される。したがって、第１の文字列Ｍｕｔｔｅｒ＄は攻撃不能であり、その高い品質のため、より長い期間、システムにおいて使用可能であり、そのため保守費用が非常に低い。また、システムまたはシステムの構成要素１は、非常に簡単に構成されている。なぜなら、第１の文字列Ｍｕｔｔｅｒ＄から第５の文字列Ｃｏｄｅ＄を生成するため、第３の文字列ＺＺ＄はかなり低い要件を満たしていればよく、そのため、たとえばプロセッサ４において実現される擬似ランダム発生器を第３の文字列ＺＺ＄のために使用できるからである。
【００４３】
第１の文字列Ｍｕｔｔｅｒ＄が１００ＭＢの長さを有し、第３の文字列ＺＺ＄が３４バイトの長さを有する上述の有利な実施例では、異なる第５の文字列Ｃｏｄｅ＄を生成するための値のストックは、２272の可能性を含む。この数字は、２266という宇宙にある粒子の計算された数よりも大きい。この大きい値のストックに基づいて、逆算の可能性がある場合でも、第１の文字列に関する結論を逆に引出し得ることが安全に防止される。なぜなら、人間の判断によれば、複雑性が非常に高いため、現在および将来の能力は、これらの結論を受入れ可能な期間で引出すのに十分ではないからである。
【００４４】
第１の文字列Ｍｕｔｔｅｒ＄を通して、２838860800へのランダム勘定が提供されるが、それはシステムにおいてそれ自体使用されなくてもよく、特に、送信されなくてもよい。この文字列はむしろ、さらなるランダムな第５の文字列Ｃｏｄｅ＄用の源として使用され、使用された第３の文字列ＺＺ＄を通してシステムで使用される第５の文字列Ｃｏｄｅ＄については、混合規則２272に基づいてさまざまな選択肢がある。第１の文字列Ｍｕｔｔｅｒ＄および第３の文字列ＺＺ＄を拡大することにより、この数字をさらに増加させることが可能である。このため、部外者にとって、第５の文字列Ｃｏｄｅ＄を傍受し、たとえば提携先同士の間の暗号化システムにおいて暗号化された、または暗号化されていない態様で送信され得る第３の文字列ＺＺ＄を探り出すことを通して、第１の文字列Ｍｕｔｔｅｒ＄に関する結論を引出す実行可能な選択肢は、存在しない。
【００４５】
この状況では、第１の文字列Ｍｕｔｔｅｒ＄から第５の文字列Ｃｏｄｅ＄までの生成プロセスは一方向にしか遡れず、そのため、システム自体では使用されていない第１の文字列Ｍｕｔｔｅｒ＄に関する結論を、システムで使用されている第５の文字列Ｃｏｄｅ＄が情報漏洩された際に逆に引出すことはできない、ということが重要である。このように、暗号化、統計、シミュレーション、ランダム化におけるシステム、ゲーム機器などが、はるかにより簡単で費用効果の高い態様で構成可能であり、システムは依然として高レベルのセキュリティを提供し、非常に保守しやすい。
【００４６】
用途に依存して、第３の文字列ＺＺ＄は、即時ランダム事象である。このように生成された第３の文字列ＺＺ＄のΩZZ$＝２272という量は、約１０〜１５％の好適でない乱数列、たとえば、０のみ（０００００００．．．．０）、または１のみ（１１１１１１１１１１１１．．．．．．．．．１）、もしくは混合形を含む。もちろん、そのような列はランダムから除外されない。Ｍｕｔｔｅｒ＄を用いた単純な論理ＸＯＲ符号化は、セキュリティに関してマイナスの結果を有するであろう。第１の文字列Ｍｕｔｔｅｒ＄を用いた第３の文字列ＺＺ＄の拡張論理ＸＯＲ符号化の形は、これらのマイナスの結果を実質的に減少させる。
【００４７】
混合アルゴリズムによって生成されるサンプル空間は、表に例示的な態様で示されるように、２272個の異なる第５の文字列Ｃｏｄｅ＄が見出され得る１００ＭＢのＭｕｔｔｅｒ＄については、ΩMutter$＝２838860800という範囲である。サンプル空間内には、１００ＭＢの考えられ得るビットフローがある。このため、特定の第５の文字列Ｃｏｄｅ＄も生成され、ある特定の第３の文字列ＺＺ＄については確かに、ランダムな第５の文字列Ｃｏｄｅ＄がサンプル空間内に生成できない。
【００４８】
各第５の文字列Ｃｏｄｅ＄は、第３の文字列ＺＺ＄および第１の文字列Ｍｕｔｔｅｒ＄の数学関数に遡ることができるため、すべての可能な第５の文字列Ｃｏｄｅ＄同士の数学的に例示可能な関係、たとえばサンプル空間におけるその位置が存在する。第３の文字列ＺＺ＄および第１の文字列Ｍｕｔｔｅｒ＄の論理ＸＯＲ符号化のために、この数学的関係は容易に例示可能である。このため、たとえば、すべての第５の文字列Ｃｏｄｅ＄の距離は、同じサイズを有する。サンプル空間における正確な位置に関して、実行可能なステートメントはない。Ｔｒｕｅ＄およびＵｎｔｒｕｅ＄におけるＷｏｒｋ＄１の操作が、これを潜在的に隠す。第５の文字列Ｃｏｄｅ＄のうちの２つ以上が知られた場合、それらの源、すなわち第３の文字列ＺＺ＄および第１の文字列Ｍｕｔｔｅｒ＄に関して結論を引出すことは、明らかに不可能である。また、ランダムに仮定された第５の文字列Ｃｏｄｅ＄に異なる可能性を割当てることは、このため不可能である。同時に、混合プロセスが一方向にのみ実行可能である、ということが確実にされる。
【００４９】
上述の混合方法は、第１の文字列Ｍｕｔｔｅｒ＄の特に安全な保護によって特徴付けられる。しかしながら、すべての好ましい方法ステップを使用することは必須ではない。また、特許請求項１に述べられるような最も単純な実施例におけるこの発明に従った方法は、先行方法に対し、広範囲に及ぶ改良をもたらす。説明されたすべての方法ステップはまた、特定の方法ステップを除外するどのシーケンスでも互いに組合され得る。
【００５０】
【表１】
0005752678.tif 000002
【図１】
0005752678.tif 000003
【図２】
0005752678.tif 000004
【図３】
0005752678.tif 000005