(57)【特許請求の範囲】
【請求項１】
メモリを有するコンピュータに含まれるプロセッサにより実行される非対称暗号化のための方法であって、
前記メモリに記憶されたデータから暗号文制御ブロックを決定することであって、前記暗号文制御ブロックは１つまたは複数のチェビシェフ多項式に少なくとも部分的に基づく、ことと、
前記データを分割したときのブロック数及び可変パラメータの初期値に基づいて暗号制御パラメータであって、ロジスティック写像の初期値の計算を制御するために用いられる暗号制御パラメータを決定し、
前記データの少なくとも一部を暗号化暗号文ブロックへと暗号化することであって、前記暗号化暗号文ブロックは前記ロジスティック写像の初期値を含むロジスティック写像に少なくとも部分的に基づく、こととを含み、
最終的な暗号文は、前記暗号化暗号文ブロックと前記暗号文制御ブロックとを含む、方法。
【請求項２】
前記１つまたは複数のチェビシェフ多項式は、公開鍵、および可変パラメータに関連付けられているランダムに生成される初期整数値に少なくとも部分的に基づいている、請求項１に記載の方法。
【請求項３】
前記可変パラメータを修正し、前記修正された可変パラメータに少なくとも部分的に基づき１つまたは複数の後続のチェビシェフ多項式と後続の最終暗号化暗号文ブロックとを決定することであって、前記修正された可変パラメータは前記ロジスティック写像に少なくとも部分的に基づき修正される、ことと、
前記可変パラメータの前記修正を前記データのすべてが暗号化されるまで反復することとをさらに含む、請求項２に記載の方法。
【請求項４】
コンピュータのメモリに記憶されたデータに基づいて、該コンピュータに含まれるプロセッサにより実行される非対称カオス暗号化のための方法であって、
公開鍵を、秘密鍵に少なくとも部分的に基づき決定することと、
１つまたは複数のチェビシェフ多項式を、前記決定された公開鍵と可変パラメータに関連付けられているランダムに生成される初期整数値とに少なくとも部分的に基づき決定することと、
暗号文制御ブロックを、前記決定された１つまたは複数のチェビシェフ多項式に少なくとも部分的に基づき決定することと、
ロジスティック写像の値を、前記可変パラメータに少なくとも部分的に基づき決定することと、
秘密鍵およびシフト整数を、前記ロジスティック写像の値に少なくとも部分的に基づき決定することと、
平文ファイルの暗号化通常平文ブロック部分を、前記決定された秘密鍵と前記決定されたシフト整数とに少なくとも部分的に基づき決定することと、
最終暗号化暗号文ブロックを、前記決定された暗号化通常平文ブロックと前記決定された秘密鍵と前記決定されたシフト整数とに少なくとも部分的に基づき決定することとを含み、
最終的な暗号文は、前記決定された最終暗号化暗号文ブロックと前記決定された暗号文制御ブロックとを含む、方法。
【請求項５】
前記ロジスティック写像の値を更新し、追加の最終暗号化暗号文ブロックを、前記更新されたロジスティック写像の値に少なくとも部分的に基づき決定することであって、前記更新されたロジスティック写像の値は前記シフト整数に少なくとも部分的に基づき更新される、こと
と、
前記ロジスティック写像の値の前記更新を、与えられた数の平文ブロックが暗号化されるまで反復することとをさらに含む、請求項４に記載の方法。
【請求項６】
前記可変パラメータを修正し、１つまたは複数の後続のチェビシェフ多項式と後続の最終暗号化暗号文ブロックとを、前記修正された可変パラメータに少なくとも部分的に基づき決定することであって、前記修正された可変パラメータは前記決定されたシフト整数に少なくとも部分的に基づき修正される、ことと、
前記可変パラメータの前記修正を前記平文ファイルのすべてが暗号化されるまで反復することとをさらに含む、請求項４に記載の方法。
【請求項７】
前記ロジスティック写像の値を更新し、追加の最終暗号化暗号文ブロックを、前記更新されたロジスティック写像の値に少なくとも部分的に基づき決定することであって、前記更新されたロジスティック写像の値は前記シフト整数に少なくとも部分的に基づき更新される、ことと、
前記ロジスティック写像の値の前記更新を、与えられた数の平文ブロックが暗号化されるまで反復することと、
前記可変パラメータを修正し、１つまたは複数の後続のチェビシェフ多項式と後続の最終暗号化暗号文ブロックとを、前記修正された可変パラメータに少なくとも部分的に基づき決定することであって、前記修正された可変パラメータは前記決定されたシフト整数に少なくとも部分的に基づき修正される、ことと、
前記可変パラメータの前記修正を前記平文ファイルのすべてが暗号化されるまで反復することとをさらに含む、請求項４に記載の方法。
【請求項８】
前記公開鍵は、前記秘密鍵に少なくとも部分的に基づくチェビシェフ多項式に少なくとも部分的に基づき決定される、請求項４に記載の方法。
【請求項９】
前記秘密鍵は、２進数列を得るためにロジスティック写像関数を複数回反復することに少なくとも部分的に基づき決定される、請求項４に記載の方法。
【請求項１０】
前記シフト整数は、２進数列を得るためにロジスティック写像関数を複数回反復することに少なくとも部分的に基づき決定される、請求項４に記載の方法。
【請求項１１】
前記最終暗号化暗号文ブロックは、前記秘密鍵に少なくとも部分的に基づき２回またはそれ以上の回数暗号化された前記平文ファイルの平文ブロック部分を含む、請求項４に記載の方法。
【請求項１２】
前記最終暗号化暗号文ブロックは、前記シフト整数に少なくとも部分的に基づき２回またはそれ以上の回数シフトされた前記平文ファイルの平文ブロック部分を含む、請求項４に記載の方法。
【請求項１３】
前記最終暗号化暗号文ブロックは、前記秘密鍵に少なくとも部分的に基づき２回またはそれ以上の回数暗号化された前記平文ファイルの平文ブロック部分を含み、前記平文ファイルの前記平文ブロック部分は、前記シフト整数に少なくとも部分的に基づき２回またはそれ以上の回数シフトされている、請求項４に記載の方法。
【請求項１４】
コンピュータのメモリに記憶されたデータに基づいて、該コンピュータに含まれるプロセッサにより実行される非対称カオス暗号解読のための方法であって、
ロジスティック写像の値を最終的な暗号文の暗号文制御ブロック部分から取り出すことであって、前記最終的な暗号文は、１つまたは複数の暗号文制御ブロックと１つまたは複数の最終暗号化暗号文ブロックとを含むことと、
秘密鍵およびシフト整数を、前記ロジスティック写像の値に少なくとも部分的に基づき決定することと、
平文ブロックを、前記取り出されたロジスティック写像の値に少なくとも部分的に基づき前記１つまたは複数の最終暗号化暗号文ブロックから取り出すこととを含み、
前記平文ブロックを前記１つまたは複数の最終暗号化暗号文ブロックから前記取り出すことは、前記決定された秘密鍵およびシフト整数に少なくとも部分的に基づく、方法。
【請求項１５】
前記ロジスティック写像の値を更新し、追加の平文ブロックを、前記更新されたロジスティック写像の値に少なくとも部分的に基づき取り出すことであって、前記更新されたロジスティック写像の値は前記シフト整数に少なくとも部分的に基づき更新される、ことと、
前記ロジスティック写像の値の前記更新を、与えられた数の平文ブロックが暗号解読されるまで反復することとをさらに含む、請求項１４に記載の方法。
【請求項１６】
後続の暗号文制御ブロックからの後続のロジスティック写像の値の前記取り出しを、平文ファイルのすべてが暗号解読されるまで反復することをさらに含む、請求項１４に記載の方法。
【請求項１７】
前記ロジスティック写像の値を更新し、追加の平文ブロックを、前記更新されたロジスティック写像の値に少なくとも部分的に基づき取り出すことであって、前記更新されたロジスティック写像の値は前記シフト整数に少なくとも部分的に基づき更新される、ことと、
前記ロジスティック写像の値の前記更新を、与えられた数の平文ブロックが暗号解読されるまで反復することと、
後続の暗号文制御ブロックからの後続のロジスティック写像の値の前記取り出しを、前記平文ファイルのすべてが暗号解読されるまで反復することとをさらに含む、請求項１４に記載の方法。
【請求項１８】
前記秘密鍵は、２進数列を得るためにロジスティック写像関数を複数回反復することに少なくとも部分的に基づき決定される、請求項１４に記載の方法。
【請求項１９】
前記シフト整数は、２進数列を得るためにロジスティック写像関数を複数回反復することに少なくとも部分的に基づき決定される、請求項１４に記載の方法。
【請求項２０】
コンピューティングデバイスであって、
プロセッサと、
前記プロセッサに動作可能に関連付けられている非対称カオス暗号化アルゴリズムを格納するメモリとを備え、
前記プロセッサは前記非対称カオス暗号化アルゴリズムによって、前記コンピューティングデバイスに
公開鍵を、秘密鍵に少なくとも部分的に基づき決定すること、
１つまたは複数のチェビシェフ多項式を、前記決定された公開鍵と可変パラメータに関連付けられているランダムに生成される初期整数値とに少なくとも部分的に基づき決定すること、
暗号文制御ブロックを、前記決定された１つまたは複数のチェビシェフ多項式に少なくとも部分的に基づき決定すること、
ロジスティック写像の値を、前記可変パラメータに少なくとも部分的に基づき決定すること、
秘密鍵およびシフト整数を、前記ロジスティック写像の値に少なくとも部分的に基づき決定すること、
平文ファイルの暗号化通常平文ブロック部分を、前記決定された秘密鍵と前記決定されたシフト整数とに少なくとも部分的に基づき決定すること、および
最終暗号化暗号文ブロックを、決定された暗号化通常平文ブロックと前記決定された秘密鍵と前記決定されたシフト整数とに少なくとも部分的に基づき決定することを動作させるように構成されている、コンピューティングデバイス。
【請求項２１】
前記プロセッサは前記非対称カオス暗号化アルゴリズムによって、前記コンピューティングデバイスに
前記ロジスティック写像の値を更新し、追加の最終暗号化暗号文ブロックを、前記更新されたロジスティック写像の値に少なくとも部分的に基づき決定することであって、前記更新されたロジスティック写像の値は前記シフト整数に少なくとも部分的に基づき更新される、こと、
前記ロジスティック写像の値の前記更新を、与えられた数の平文ブロックが暗号化されるまで反復すること、
前記可変パラメータを修正し、１つまたは複数の後続のチェビシェフ多項式と後続の最終暗号化暗号文ブロックとを、前記修正された可変パラメータに少なくとも部分的に基づき決定することであって、前記修正された可変パラメータは前記決定されたシフト整数に少なくとも部分的に基づき修正される、こと、および
前記可変パラメータの前記修正を前記平文ファイルのすべてが暗号化されるまで反復することを動作させるようにさらに構成された、請求項２０に記載のコンピューティングデバイス。
【請求項２２】
機械可読命令が格納される記録媒体であって、前記命令は１つまたは複数のプロセッサによって実行された場合に、コンピューティングデバイスに
公開鍵を、秘密鍵に少なくとも部分的に基づき決定すること、
１つまたは複数のチェビシェフ多項式を、前記決定された公開鍵と可変パラメータに関連付けられているランダムに生成される初期整数値とに少なくとも部分的に基づき決定すること、
暗号文制御ブロックを、前記決定された１つまたは複数のチェビシェフ多項式に少なくとも部分的に基づき決定すること、
ロジスティック写像の値を、前記可変パラメータに少なくとも部分的に基づき決定すること、
秘密鍵およびシフト整数を、前記ロジスティック写像の値に少なくとも部分的に基づき決定すること、
平文ファイルの暗号化通常平文ブロック部分を、前記決定された秘密鍵と前記決定されたシフト整数とに少なくとも部分的に基づき決定すること、および
最終暗号化暗号文ブロックを、決定された暗号化通常平文ブロックと前記決定された秘密鍵と前記決定されたシフト整数とに少なくとも部分的に基づき決定することを動作させる、記録媒体。
【請求項２３】
前記機械可読命令は、前記コンピューティングデバイスに
前記ロジスティック写像の値を更新し、追加の最終暗号化暗号文ブロックを、前記更新されたロジスティック写像の値に少なくとも部分的に基づき決定することであって、前記更新されたロジスティック写像の値は前記シフト整数に少なくとも部分的に基づき更新される、こと、
前記ロジスティック写像の値の前記更新を、与えられた数の平文ブロックが暗号化されるまで反復すること、
前記可変パラメータを修正し、１つまたは複数の後続のチェビシェフ多項式と後続の最終暗号化暗号文ブロックとを、前記修正された可変パラメータに少なくとも部分的に基づき決定することであって、前記修正された可変パラメータは前記決定されたシフト整数に少なくとも部分的に基づき修正される、こと、および
前記可変パラメータの前記修正を、前記平文ファイルのすべてが暗号化されるまで反復することを動作させる、請求項２２に記載の記録媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
暗号化には、カオスダイナミクス手法（Chaotic dynamics techniques）が利用されている。このようなカオスダイナミクス手法は、初期条件に対する鋭敏な依存性、エルゴード性、および／または無限大に発散するサイクルなどのいくつかの特徴を有する。このようなカオスダイナミクス手法を利用することで、いくつかのパラメータの制御の下で疑似乱数を生成することができる。したがって、カオス暗号は広範囲にわたる注目を喚起し、近年、多くの研究者がカオス暗号システムを提案している。しかし、これらのカオスダイナミクス手法に基づくいくつかのカオス暗号システムは、暗号化時間が比較的長くなる場合があり、および／またはその結果得られる暗号文は初期平文ファイルに比較して数倍長くなる可能性がある。
【発明の概要】
【０００２】
非対称暗号化プロセスの一実施形態では、暗号文制御ブロックは、データから決定されうる。このような暗号文制御ブロックは、１つまたは複数のチェビシェフ多項式に少なくとも部分的に基づき決定されうる。このようなチェビシェフ多項式は、公開鍵、さらには可変パラメータに関連付けられているランダムに生成される初期整数値に少なくとも部分的に基づくものとしてよい。それに加えて、データの少なくとも一部は、ロジスティック写像に少なくとも部分的に基づき暗号化暗号文ブロックへと暗号化されうる。このような非対称暗号化プロセスは、１つまたは複数の暗号化暗号文ブロックおよび１つまたは複数の暗号文制御ブロックを含むことができる最終的な暗号文を生成するために使用される。
【０００３】
前述の説明は、例示的なものにすぎず、いっさい制限することを意図されていない。上述の例示的な態様、実施形態、および特徴に加えて、図面を参照し、以下の詳細な説明を参照することによってさらなる態様、実施形態、および特徴も明らかになるであろう。
【図面の簡単な説明】
【０００４】
【図１】本開示の少なくともいくつかの実施形態により配置構成された非対称カオス暗号化のための例示的なプロセスを示す図である。
【図２】本開示の少なくともいくつかの実施形態により配置構成された非対称カオス暗号化のための別の例示的なプロセスを示す図である。
【図３】本開示の少なくともいくつかの実施形態により配置構成された非対称カオス暗号解読のための例示的なプロセスを示す図である。
【図４】本開示の少なくともいくつかの実施形態により配置構成された例示的なコンピュータプログラム製品を示す図である。
【図５】本開示により配置構成されているコンピューティングデバイスの例示的な一実施形態を示すブロック図である。
【発明を実施するための形態】
【０００５】
以下の説明では、請求項に記載の発明対象を完全に理解できるように具体的詳細とともにさまざまな実施例を述べる。しかし、当業者であれば、請求項に記載の発明対象は本明細書で開示されている具体的詳細が多少省かれていても実施されうることを理解するであろう。さらに、いくつかの状況において、よく知られている方法、手順、システム、コンポーネント、および／または回路については、請求項に記載の発明対象をいたずらにわかりにくくしないために、細部にわたって説明することはしていない。以下の詳細な説明では、本明細書の一部をなす、添付図面が参照される。図面中の類似の記号は、典型的には、文脈上別のものを示していない限り類似のコンポーネントを明示する。詳細な説明、図面、および請求項で説明されている例示的な実施形態は、制限することを意図されていない。他の実施形態も利用することができ、また本明細書に提示されている発明対象の精神または範囲から逸脱することなく、他の変更を加えることができる。本明細書で一般的に説明され、また図に例示されているような本開示の態様は、さまざまな異なる構成による配置、置換、組み合わせ、分離、設計が可能であり、すべて明示的に考察され、本開示の一部をなすことは容易に理解されるであろう。
【０００６】
本開示は、とりわけ、非対称カオス暗号化に関係する方法、装置、およびシステムに関するものである。
【０００７】
以下ではチェビシェフ多項式およびロジスティック写像に基づく安全な通信のための非対称カオス暗号化アルゴリズムについて説明する。本明細書で使用されているような「非対称」という用語は、公開鍵および秘密鍵が非対称的で、かつ不等であるプロセスを指すものとしてよい。例えば、非対称鍵暗号化スキームは、公開鍵を使用してメッセージを暗号化することは誰にでもできるが、暗号解読は対になっている秘密鍵の所有者にしかできないように設計されうる。本明細書で使用されているような「カオス」という用語は、初期条件に対して非常に鋭敏なものとなりうる動的システムを含むプロセスを指すものとしてよい。
【０００８】
一例では、このような非対称カオス暗号化アルゴリズムは、暗号化オペレーションに公開鍵を使用することができる。それに加えて、または代替的に、このような非対称カオス暗号化アルゴリズムは、暗号解読オペレーションのために秘密鍵を含むことができる。それに加えて、または代替的に、このような非対称カオス暗号化アルゴリズムは、鍵暗号化とブロック暗号化とを混ぜたものを含むことができる。
【０００９】
図１は、本開示の少なくともいくつかの実施形態により配置構成された非対称暗号化のための例示的なプロセスを示す図である。図示されている例では、プロセス１００、および本明細書で説明されている他のプロセスは、処理ステップ、機能オペレーション、イベント、および／または活動などとして記述され、ハードウェア、ソフトウェア、および／またはファームウェアによって実行されうる、さまざまな機能ブロックまたはアクションについて述べるものである。当業者であれば、本開示を考慮して、図１に示されている機能ブロックの多くの代替的形態がさまざまな実装形態において実施されうることを理解するであろう。例えば、図１に示されているような、プロセス１００は、１つの特定の順序のブロックもしくはアクションを含むけれども、これらのブロックもしくはアクションが提示される順序によって、請求項に記載の発明対象が必ずしも任意の特定の順序に限定されない。同様に、図１に示されていない介在するアクション、および／または図１に示されていない追加のアクションを使用することができ、および／または図１に示されているアクションのうちのいくつかは、請求項に記載の発明対象の範囲から逸脱することなく、取り除くことができる。プロセス１００は、ブロック１０２および／または１０４によって例示されているようなオペレーションのうちの１つまたは複数を含みうる。
【００１０】
図示されているように、プロセス１００は、非対称暗号化について実装されうる。処理は、オペレーション１０２「暗号文制御ブロックを決定する」から始まり、そこで、暗号文制御ブロックが決定されうる。例えば、暗号文制御ブロックは、データ（例えば、平文ファイル）から決定され、１つまたは複数のチェビシェフ多項式に少なくとも部分的に基づくものとしてよい。暗号文制御ブロックおよびチェビシェフ多項式の例示的な実装形態に関するさらなる詳細は、以下の図２の説明に見ることができる。図２に関してさらに詳しく説明されるように、１つまたは複数のチェビシェフ多項式は、公開鍵、さらには可変パラメータに関連付けられているランダムに生成される初期整数値に少なくとも部分的に基づくものとしてよい。
【００１１】
処理は、オペレーション１０２からオペレーション１０４「データの少なくとも一部を暗号化暗号文ブロックへと暗号化する」へと進み、そこで、データの少なくとも一部が暗号化暗号文ブロックへと暗号化される。例えば、データの少なくとも一部は、ロジスティック写像に少なくとも部分的に基づき暗号化暗号文ブロックへと暗号化されうる。暗号化暗号文ブロックおよびロジスティック写像の例示的な実装形態に関するさらなる詳細は、以下の図２の説明に見ることができる。
【００１２】
一例では、プロセス１００は、１つまたは複数の暗号化暗号文ブロックおよび１つまたは複数の暗号文制御ブロックを含む最終的な暗号文を生成するために使用されうる。例えば、可変パラメータは修正することができ、１つまたは複数の後続のチェビシェフ多項式、さらには後続の最終暗号化暗号文ブロックが、修正された可変パラメータに少なくとも部分的に基づき決定されうる。一例では、修正された可変パラメータは、暗号化暗号文ブロックの形成時に実行されるロジスティック写像に少なくとも部分的に基づき修正されうる。可変パラメータを修正することを１回または複数回、データのすべてが暗号化されるまで実行することができる。
【００１３】
図２は、本開示の少なくともいくつかの実施形態により配置構成された非対称カオス暗号化のための別の例示的なプロセスを示す。プロセス２００は、ブロック２０２、２０４、２０６、２０８、２１０、２１２、２１４、２１６、２１８、２２０、２２４、２２６、および／または２２８によって例示されているようなオペレーションのうちの１つまたは複数を含みうる。
【００１４】
プロセス２００は、図１のプロセス１００の実装形態の１つまたは複数の例を構成するものとしてよい。図示されているように、プロセス２００は、非対称カオス暗号化について実装されうる。処理は、オペレーション２０２「公開鍵を決定する」から始まり、そこで、公開鍵が決定されうる。例えば、公開鍵は、秘密鍵に少なくとも部分的に基づき決定されうる。
【００１５】
一例では、公開鍵（ｘ，ＰＫ）は、秘密鍵ＳＫに少なくとも部分的に基づくチェビシェフ多項式に少なくとも部分的に基づき決定されうる。この例では、ランダムに生成される整数ＳＫ（ＳＫ≠１）およびランダムに生成される整数ｘ（ｘ∈Ｆｐ，ｘ≠Ｉ）を使用して
ＰＫ＝ＴＳＫ（ｘ）（ｍｏｄ  Ｐ）
を計算することができる。
【００１６】
上記の計算において、Ｆｐは有限体を表し、ＴＳＫは次数ＳＫのチェビシェフ多項式を表し、Ｐは素数を表すものとすることができる。有限体Ｆｐは、チェビシェフ多項式ＴＳＫをこの有限体Ｆｐに拡張するために使用されうる。素数Ｐは、比較的大きな素数であるものとし、これを使用して、チェビシェフ多項式ＴＳＫおよび公開鍵（ｘ，ＰＫ）を計算することができる。暗号鍵として使用される公開鍵（ｘ，ＰＫ）では、平文が暗号化されている間、結果として得られる暗号文を解読することはできないため、プロセス２００によって表される非対称カオス暗号化アルゴリズムは、暗号解読オペレーション用の秘密鍵ＳＫを含みうる。
【００１７】
処理は、オペレーション２０２からオペレーション２０４「１つまたは複数のチェビシェフ多項式を決定する」に進み、そこで、１つまたは複数のチェビシェフ多項式を決定することができる。例えば、次数Ｒ０（ＴＲ０）の１つまたは複数のチェビシェフ多項式が決定されうる。
【００１８】
一例では、決定された公開鍵（ｘ，ＰＫ）に少なくとも部分的に基づき次数Ｒ０（ＴＲ０）の１つまたは複数のチェビシェフ多項式が決定されうる。この例では、ランダムに生成された整数Ｒ０（可変パラメータＲｉに対する初期値として見なせる）および決定された公開鍵（ｘ，ＰＫ）は、第１のチェビシェフ多項式ＴＲ０（ＰＫ）  ｍｏｄ  Ｐおよび第２のチェビシェフ多項式ＴＲ０（ｘ）  ｍｏｄ  Ｐを計算するために使用されうる。上記の計算において、Ｒ０は、ランダムに生成される整数を表すものとしてよく、そのようなランダムに生成される整数は、例えば、１０，０００より大きいサイズの数とすることができる。
【００１９】
処理は、オペレーション２０４からオペレーション２０６「暗号文制御ブロックを決定する」に進むことができ、そこで、暗号文制御ブロックが決定されうる。例えば、第１の暗号文制御ブロックＣＣ０は、以下でさらに詳しく示されるように、決定された公開鍵（ｘ，ＰＫ）および／または次数Ｒ０の決定された１つまたは複数のチェビシェフ多項式に少なくとも部分的に基づき決定されうる。
【００２０】
一例では、平文ファイルは、１つまたは複数の部分列に分割されうる。このような部分列は、Ｌバイトの指定された長さを有するものとしてよい。図示されている例では、Ｌに対して値８が使用されたが、他の値を使用することもできる。したがって、平文ファイルがｐ０ｐ１．．．ｐＬ−１ｐＬ．．．ｐ２Ｌ−１ｐ２Ｌ．．．で表せる場合、平文ファイルは、１つまたは複数の部分列に分割されうる。例えば、平文ファイルは、第１の部分列ω０（ｐ０ｐ１．．．ｐＬ−１）、第２の部分列ω１（ｐＬ．．．ｐ２Ｌ−１）、および同様の部分列に分割することができる。
【００２１】
それに加えて、個別の部分列のバイトを組み合わせて、２進数平文メッセージブロックを形成することができる。例えば、ｐｉは、与えられた部分列ω０のｊ番目のバイトの値を表すものとすることができる。値８がＬに対して使用された例では、平文の８バイト（ｐｊ＋ｐｊ＋１＋．．．＋ｐｊ＋７）を組み合わせて、２進数平文メッセージブロックＰｊを形成することができる。
【００２２】
それに加えて、ブロック番号Ｍを決定することができる。例えば、ブロック番号Ｍは、暗号化すべき平文ファイルの長さおよび部分列ω０の長さＬに少なくとも部分的に基づき決定されうる。値８がＬに対して使用された例では、ブロック番号はＭ＝（Ｉ／８）＋１であり、Ｉは、暗号化すべき平文ファイルの長さを表すものとすることができる。
【００２３】
それに加えて、暗号文制御パラメータｍ０を決定することができる。例えば、暗号文制御パラメータｍ０は、ブロック番号Ｍおよび／またはランダムに生成された整数Ｒ０に少なくとも部分的に基づき決定されうる。一例では、暗号文制御パラメータはｍ０＝Ｒ０（ｍｏｄ  Ｍ）である。このような暗号文制御パラメータｍ０は、ロジスティック写像の初期値ｋ０の計算を制御するために使用されうる。ロジスティック写像のオペレーションさらにはロジスティック写像の初期値ｋ０については、オペレーション２０８に関して以下でさらに詳しく説明する。
【００２４】
上で説明されているように、第１の暗号文制御ブロックＣＣ０は、決定された公開鍵（ｘ，ＰＫ）および／または次数Ｒ０の決定された１つまたは複数のチェビシェフ多項式に少なくとも部分的に基づき決定されうる。例えば、決定された公開鍵（ｘ，ＰＫ）および／または次数Ｒ０の決定された１つまたは複数のチェビシェフ多項式を使用して、
ＣＣ０＝（ｍ０・ＴＲ０（ＰＫ）  ｍｏｄ  Ｐ，ＴＲ０（ｘ）  ｍｏｄ  Ｐ）
のようにして第１の暗号文制御ブロックＣＣ０を計算することができる。
【００２５】
処理は、オペレーション２０６からオペレーション２０８「ロジスティック写像の値を決定する」に進むことができ、そこで、ロジスティック写像の値が決定されうる。本明細書で使用されているような「ロジスティック写像」という用語は、非線形動的方程式を通じて複雑なカオス的振る舞いを模倣する次数２の多項式写像の一種を指すものとしてよい。例えば、ロジスティック写像の初期値ｋ０（例えば、ロジスティック写像から計算された初期値）は、決定された暗号文制御パラメータｍ０に少なくとも部分的に基づき決定されうる（例えば、暗号文制御パラメータｍ０それ自体は、上でより詳しく説明されているように、可変パラメータＲ０に少なくとも部分的に基づきうる）。一例では、暗号文制御パラメータｍ０は、
ｋ０＝ｍ０／Ｐ（ｍ０＜Ｐ），Ｐ／ｍ０（ｍ０＞Ｐ），０．１６６６６６６６６７（ｍ０＝Ｐ）
のようにロジスティック写像の初期値ｋ０を計算するために使用されうる。
【００２６】
ロジスティック写像の初期値ｋ０は、ロジスティック写像の後続の反復で使用されうる。ロジスティック写像のそのような後続の反復を使用して、１つまたは複数の追加の平文ブロックを暗号化することができ、これについては以下のオペレーション２１８でさらに詳しく説明されている。例えば、後続の反復において、ロジスティック写像の反復値ω（例えば、オペレーション２１８によって表される反復に関連付けられているロジスティック写像から決定された後続の値）は、決定されたロジスティック写像の初期値ｋ０に少なくとも部分的に基づき決定されうる。一例では、ロジスティック写像の初期値ｋ０は、
【００２７】
【数１】
0005629823.tif 000002
のようにロジスティック写像の反復値ωを計算するために使用されうる。
【００２８】
上記の計算において、ロジスティック写像の反復値ωは、Ｎ０回の反復後のロジスティック写像の初期値ｋ０の値を表すものとしてよい。さらに、上記の計算において、τは、ロジスティック写像関数τ（ｘ）を表すものとしてよい。ロジスティック写像関数τ（ｘ）は、
τ（ｘ）＝μｘ（１−ｘ），ｘ∈［０，１］，μ∈［３．５６９９４５６，４］
のように疑似ランダム系列を生成するために使用されうる。
【００２９】
処理は、オペレーション２０８からオペレーション２１０「秘密鍵を決定する」に進むことができ、そこで、秘密鍵が決定されうる。例えば、秘密鍵Ａｊは、ロジスティック写像関数τ（ｘ）および／またはロジスティック写像の反復値ωに少なくとも部分的に基づき決定されうる（例えば、ロジスティック写像の反復値ωは、Ｎ０回の反復後のロジスティック写像の初期値ｋ０の値を表すものとしてよい）。
【００３０】
一例では、一次元ロジスティック写像関数τ（ｘ）に基づき２進数列が生成されうる。例えば、ロジスティック写像関数τ（ｘ）を何回も（例えば、７０回）反復して、２進数列（例えば、Ｂｉ１Ｂｉ２Ｂｉ３．．．Ｂｉ６４Ｂｉ６５．．．Ｂｉ６９Ｂｉ７０）を得ることができる。このような２進数列（例えば、Ｂｉ１Ｂｉ２Ｂｉ３．．．Ｂｉ６４Ｂｉ６５．．．Ｂｉ６９Ｂｉ７０）は、ロジスティック写像関数τ（ｘ）のそれぞれの反復から選択されたｉ番目のビットを加えることによって形成されうる。
【００３１】
秘密鍵Ａｊおよびシフト整数Ｄｊは、２進数列（例えば、Ｂｉ１Ｂｉ２Ｂｉ３．．．Ｂｉ６４Ｂｉ６５．．．Ｂｉ６９Ｂｉ７０）に少なくとも部分的に基づき決定されうる。一例では、２進数列（例えば、Ｂｉ１Ｂｉ２Ｂｉ３．．．Ｂｉ６４Ｂｉ６５．．．Ｂｉ６９Ｂｉ７０）は、いくつかの部分に分割することができる。２進数列（例えば、Ｂｉ１Ｂｉ２Ｂｉ３．．．Ｂｉ６４Ｂｉ６５．．．Ｂｉ６９Ｂｉ７０）のこのような１つの部分は、
Ａｊ＝Ｂｉ１Ｂｉ２Ｂｉ３．．．Ｂｉ６４
のように秘密鍵Ａｊを決定するために使用できる、先頭の６４ビット（または他の何らかの好適な数のビット）とすることができる。
【００３２】
２進数列（例えば、Ｂｉ１Ｂｉ２Ｂｉ３．．．Ｂｉ６４Ｂｉ６５．．．Ｂｉ６９Ｂｉ７０）のこのような別の部分は、部分Ａ’ｊ＝Ｂｉ６５．．．Ｂｉ６９Ｂｉ７０を決定するために使用できる、末尾の６ビット（または他の何らかの好適な数のビット）とすることができる。部分Ａ’ｊは、シフト整数Ｄｊに変換することができ、これは、６４ビット未満とすることができ、また２進数列（例えば、Ｂｉ１Ｂｉ２Ｂｉ３．．．Ｂｉ６４Ｂｉ６５．．．Ｂｉ６９Ｂｉ７０）のそのような部分の１０進数形式を表しうる。
【００３３】
処理は、オペレーション２１０からオペレーション２１２「暗号化通常平文ブロックを決定する」に進むことができ、そこで、暗号化通常平文ブロックが決定されうる。例えば、暗号化通常平文ブロックＣｊは、シフト整数Ｄｊおよび／または秘密鍵Ａｊに少なくとも部分的に基づき決定されうる。
【００３４】
一例では、シフト整数Ｄｊビットに基づき２進数平文メッセージブロックＰｊをシフトし（例えば、左循環シフトで）、新しいシフトされたメッセージブロックＰ’ｊを得ることができる。秘密鍵Ａｊを使用し、シフトされたメッセージブロックＰ’ｊに基づき
【００３５】
【数２】
0005629823.tif 000003
のように、暗号化されている通常平文ブロックＣｊを計算することができる。
【００３６】
上記の計算において、
【００３７】
【数３】
0005629823.tif 000004
はＸＯＲ型のオペレーションを表すものとすることができる。その結果、２進数平文メッセージブロックＰｊの暗号化通常平文ブロックＣｊが得られる。
【００３８】
処理は、オペレーション２１２からオペレーション２１４「最終暗号化暗号文ブロックを決定する」に進むことができ、そこで、最終暗号化暗号文ブロックが決定されうる。例えば、最終暗号化暗号文ブロックＣ”ｊは、シフト整数Ｄｊおよび／または秘密鍵Ａｊに少なくとも部分的に基づき決定されうる。
【００３９】
一例では、暗号化通常平文ブロックＣｊは、１つまたは複数のパーティション（例えば、８ビットのパーティション）に分割されうる。例えば、暗号化通常平文ブロックＣｊは、第１の暗号化パーティション（ｃ０ｃ１．．．ｃＬ−１）、第２の暗号化パーティション（ｃＬ．．．ｃ２Ｌ−１）、および同様のパーティションに分割されうる。したがって、対応する平文部分列ｐｊ＋ｐｊ＋１＋．．．＋ｐｊ＋７の暗号化パーティションｃｊ＋ｃｊ＋１＋．．．＋ｃｊ＋７が得られる。次いで、
ｆ（Ｃｊ）＝ｃｊ＋ｃｊ＋１＋．．．＋ｃｊ＋７
のような関数写像を使用して、暗号化通常平文ブロックＣｊのすべての暗号化パーティション部分を計算することができる。
【００４０】
上記の計算において、関数写像ｆ（Ｃｊ）を使用して暗号化通常平文ブロックＣｊを積分することができ、これは情報記憶の助けとなる（conductive to information storage）。関数写像の後、オペレーション
【００４１】
【数４】
0005629823.tif 000005
を実行することができる。
【００４２】
上記の計算において、暗号化通常平文ブロックＣｊは、中間の暗号化通常平文ブロックＣ’ｊの計算時にシフト整数Ｄｊビットに基づきシフトされ（例えば、左循環シフトで）、次いで、この中間の暗号化通常平文ブロックＣ’ｊは、最終暗号化暗号文ブロックＣ”ｊの計算時にシフト整数Ｄｊビットに基づきシフトされうる（例えば、左循環シフトで）。同様に、暗号化通常平文ブロックＣｊは、中間の暗号化通常平文ブロックＣ’ｊの計算時に秘密鍵Ａｊに基づき暗号化され、次いで、この中間の暗号化通常平文ブロックＣ’ｊは、最終暗号化暗号文ブロックＣ”ｊの計算時に秘密鍵Ａｊに基づき暗号化されうる。上記の計算において、Ｄ＊は、シフト整数Ｄｊ変数の変換に関連付けられている変数を表すものとすることができる。
【００４３】
それに加えて、上記の計算において、修正されたシフト整数Ｄ＊を決定することができる。例えば、修正されたシフト整数Ｄ＊は、中間の暗号化通常平文ブロックＣ’ｊのシフト整数Ｄｊおよび関数写像に少なくとも部分的に基づき決定されうる。このような修正されたシフト整数Ｄ＊は、ロジスティック写像の反復回数を制御するために使用されうる。
【００４４】
処理は、オペレーション２１４からオペレーション２１６「与えられた数の平文ブロックが暗号化されたかどうかを判定する」に進み、そこで、与えられた数の平文ブロックが暗号化されたかどうかの判定を下すことができる。与えられた数の平文ブロック（例えば、ｍｉ−１（ｉ＞２））が、暗号化されていると判定されない場合、処理はオペレーション２１６からオペレーション２１８「ロジスティック写像の反復値を更新する」に進み、そこで、ロジスティック写像の反復値が更新されうる。例えば、ロジスティック写像の反復値ωは、
ω＝τＤ＊＋７０（ｋｉ）
として更新することができる。
【００４５】
上記の計算において、更新されたロジスティック写像の反復値ωは、現在の反復に関連付けられているロジスティック写像の値ｋｉに基づき、および／または修正されたシフト整数Ｄ＊に基づき更新されうる（例えば、修正されたシフト整数Ｄ＊それ自体は、上でより詳しく説明されているように、シフト整数Ｄｊに少なくとも部分的に基づくものとしてよい）。更新されたロジスティック写像の反復値ωは、ロジスティック写像の後続の反復で使用されうる。処理は、オペレーション２１８からオペレーション２０８〜２１６に戻るが、これはすでに説明されている。オペレーション２０８〜２１６は、更新されたロジスティック写像の反復値ωによる１つまたは複数の追加の平文ブロックの処理に進むことができる。
【００４６】
与えられた数の平文ブロック（例えば、ｍｉ−１（ｉ＞２））が、暗号化されていると判定された場合、処理はオペレーション２１６からオペレーション２２０「平文ファイルのすべてが暗号化されたかどうかを判定する」に進み、そこで、平文ファイルのすべてが暗号化されたかどうかの判定を下すことができる。平文ファイルのすべてが暗号化されていると判定された場合、プロセス２００は完了する。
【００４７】
平文ファイルのすべてが暗号化されていないと判定された場合、プロセス２００は、オペレーション２２０からオペレーション２２４「１つまたは複数の後続のチェビシェフ多項式を決定する」に進み、そこで、１つまたは複数の後続のチェビシェフ多項式を決定することができる。例えば、修正された可変パラメータＲｉに少なくとも部分的に基づき次数Ｒｉ（ＴＲｉ）の１つまたは複数の後続のチェビシェフ多項式が決定されうる。一例では、修正された可変パラメータＲｉは、前の可変パラメータＲｉ−１（例えば、初期可変パラメータＲ０）および／または修正されたシフト整数Ｄ＊に少なくとも部分的に基づき決定されうる（例えば、修正されたシフト整数Ｄ＊それ自体は、上でより詳しく説明されているように、シフト整数Ｄｊに少なくとも部分的に基づくものとしてよい）。修正された可変パラメータＲｉは、前の可変パラメータＲｉ−１（例えば、初期可変パラメータＲ０）および修正されたシフト整数Ｄ＊に基づき
Ｒｉ＝Ｒｉ−１＋Ｄ＊
のように決定されうる。
【００４８】
上記の計算において、修正された可変パラメータＲｉは、ランダム摂動を受けうる。一例では、決定された公開鍵（ｘ，ＰＫ）に少なくとも部分的に基づき次数Ｒｉ（ＴＲｉ）の１つまたは複数の後続のチェビシェフ多項式が決定されうる。この例では、修正された可変パラメータＲｉおよび決定された公開鍵（ｘ，ＰＫ）は、第１の後続のチェビシェフ多項式ＴＲｉ（ＰＫ）  ｍｏｄ  Ｐおよび第２の後続のチェビシェフ多項式ＴＲｉ（ｘ）  ｍｏｄ  Ｐを計算するために使用されうる。
【００４９】
処理は、オペレーション２２４からオペレーション２２６「後続の暗号文制御ブロックを決定する」に進むことができ、そこで、後続の暗号文制御ブロックが決定されうる。例えば、後続の暗号文制御ブロックＣＣｉは、以下でさらに詳しく示されるように、決定された公開鍵（ｘ，ＰＫ）および／または次数Ｒｉの決定された１つまたは複数のチェビシェフ多項式に少なくとも部分的に基づき決定されうる。
【００５０】
一例では、後続の暗号文制御パラメータｍｉを決定することができる。例えば、後続の暗号文制御パラメータｍｉは、ブロック番号Ｍおよび／または修正された可変パラメータＲｉに少なくとも部分的に基づき決定されうる。一例では、後続の暗号文制御パラメータはｍｉ＝（ｍｉ−１＋Ｄ＊）ｍｏｄ  Ｍである。このような後続の暗号文制御パラメータｍｉは、ロジスティック写像の後続の値ｋｉの計算を制御するために使用されうる。ロジスティック写像のオペレーションさらにはロジスティック写像の後続の値ｋｉについては、オペレーション２２８に関して以下でさらに詳しく説明する。
【００５１】
上で説明されているように、後続の暗号文制御ブロックＣＣｉは、決定された公開鍵（ｘ，ＰＫ）および／または次数Ｒｉの決定された１つまたは複数のチェビシェフ多項式に少なくとも部分的に基づき決定されうる。例えば、決定された公開鍵（ｘ，ＰＫ）および／または次数Ｒｉの決定された１つまたは複数のチェビシェフ多項式を使用して、
ＣＣｉ＝（ｍｉ・ＴＲｉ（ＰＫ）  ｍｏｄ  Ｐ，ＴＲｉ（ｘ）  ｍｏｄ  Ｐ）
のようにして後続の暗号文制御ブロックＣＣｉを計算することができる。
【００５２】
処理は、オペレーション２２６からオペレーション２２８「後続のロジスティック写像の値を決定する」に進むことができ、そこで、後続のロジスティック写像の値が決定されうる。例えば、ロジスティック写像の後続の値ｋｉは、決定された後続の暗号文制御パラメータｍｉに少なくとも部分的に基づき決定されうる。一例では、後続の暗号文制御パラメータｍｉは、
ｋｉ＝ｍｉ／Ｐ（ｍｉ＜Ｐ），Ｐ／ｍｉ（ｍｉ＞Ｐ），０．１６６６６６６６６７（ｍｉ＝Ｐ）
のようにロジスティック写像の後続の値ｋｉを計算するために使用されうる。
【００５３】
ロジスティック写像の後続の値ｋｉは、ロジスティック写像の後続の反復で使用されうる。後続の反復において、更新されたロジスティック写像の反復値ωは、決定されたロジスティック写像の後続の値ｋｉに少なくとも部分的に基づき決定されうる。一例では、ロジスティック写像の後続の値ｋｉは、
【００５４】
【数５】
0005629823.tif 000006
のように更新されたロジスティック写像の反復値ωを計算するために使用されうる。
【００５５】
処理は、オペレーション２２８からオペレーション２０８〜２１６に戻るが、これはすでに説明されている。オペレーション２０８〜２１６は、更新されたロジスティック写像の反復値ωによる１つまたは複数の追加の平文ブロックの処理に進むことができる。
【００５６】
動作時に、プロセス２００は、チェビシェフ多項式を使用することによって生成される暗号文制御ブロックＣＣｉ、およびロジスティック写像を使用することによって生成される最終暗号化暗号文ブロックＣ”ｊを利用して、２進数平文メッセージブロックＰｊを暗号化することができる。プロセス２００は、暗号文制御ブロックＣＣｉを使用して、暗号文制御パラメータｍｉおよびロジスティック写像の値ｋｉを隠すことができる。同様に、プロセス２００は、ロジスティック写像によって暗号化される、最終暗号化暗号文ブロックＣ”ｊを使用して、平文それ自体を隠すことができる。暗号文制御ブロックＣＣｉおよび最終暗号化暗号文ブロックＣ”ｊの両方を含む最終的な暗号文について、暗号文制御ブロックＣＣｉおよび最終暗号化暗号文ブロックＣ”ｊの両方の構成は、本質的に類似するものであってよい（例えば、固有値は明らかでない場合がある）。例えば、暗号文制御ブロックＣＣｉの分配は、ランダムであってよく、そのため、プロセス２００は、最終暗号化暗号文ブロックＣ”ｊの連続性を断ち切る可能性がある。
【００５７】
プロセス２００は、最終暗号化暗号文ブロックＣ”ｊが元の平文ファイルに依存するように動作しうる。さらに、プロセス２００は、同じ初期値によって生成された秘密鍵Ａｊの鍵ストリームが同じにならないように動作しうる。プロセス２００は、有限体Ｆｐに拡張される公開鍵（ｘ，ＰＫ）の生成を異なる秘密鍵Ａｊの鍵ストリームの生成と組み合わせるように動作することができ、これは平文ファイルに依存し、秘密鍵Ａｊの鍵ストリームを生成する初期値を絶えず変更することができる。さらに、秘密鍵Ａｊの初期鍵値は、暗号化の側または暗号解読の側でユーザに対して表示されず、暗号化および暗号解読の手順でのみ表示することができ、このため、情報の隠蔽性能を高めることができる。
【００５８】
それに加えて、プロセス２００は、ロジスティック写像によって生成された秘密鍵Ａｊが２進数平文メッセージブロックＰｊを暗号化するために使用される場合に、統計的特性が消えるか、または低減されるようにロジスティック写像を使用することができ、そのようなロジスティック写像のカオス的無秩序は秘密鍵Ａｊの鍵ストリームの違いを目立たせる可能性がある。そのようなロジスティック写像のカオス的無秩序に関して、秘密鍵Ａｊの鍵ストリームのヒストグラムは、比較的一様であり、他の鍵ストリームのものと著しく異なりうる。これら２つの特徴（つまり、統計的特性およびカオス的無秩序の低減）のため、最終的な暗号文（暗号文制御ブロックＣＣｉと最終暗号化暗号文ブロックＣ”ｊの両方を含む）の暗号解読を行うのが難しくなりうる。例えば、プロセス２００は、このアルゴリズムの一特徴としてランダムな可変摂動パラメータＲｉを使用することができる。上で説明されているように、ランダムな可変摂動パラメータＲｉは、ランダムに生成されうる。それに加えて、それぞれの２進数平文メッセージブロックＰｊは、最終暗号化暗号文ブロックＣ”ｊに到達するように複数回にわたって暗号化されうる。ランダムな可変摂動パラメータＲｉのランダム生成を使用するプロセス２００とそれぞれの２進数平文メッセージブロックＰｊの複数の暗号化との組み合わせで、結果として、最終暗号化暗号文ブロックＣ”ｊの長さは矛盾しない長さとはなりえない。したがって、プロセス２００は、ランダムな可変摂動パラメータＲｉの値が異なる毎に、個別の最終暗号化暗号文ブロックＣ”ｊも同様に異なるので、従来の暗号の分析方法に耐えられ、したがって選択暗号文攻撃または選択平文攻撃を通じて最終的な暗号文（暗号文制御ブロックＣＣｉおよび最終暗号化暗号文ブロックＣ”ｊの両方を含む）を暗号解読することは困難であると思われる。
【００５９】
図３は、本開示の少なくともいくつかの実施形態により配置構成された非対称カオス暗号解読のための例示的なプロセスを示す。プロセス３００は、ブロック３０２、３０４、３０６、および／または３０８によって例示されているようなオペレーションのうちの１つまたは複数を含みうる。
【００６０】
図示されているように、プロセス３００は、非対称カオス暗号解読について実装されうる。上で説明されているように、プロセス２００（図２）は、暗号文制御ブロックＣＣｉを使用して、暗号文制御パラメータｍｉおよびロジスティック写像の値ｋｉを隠し、ロジスティック写像によって暗号化される、最終暗号化暗号文ブロックＣ”ｊを使用して、平文それ自体を隠すことができる。同様に、プロセス３００は、暗号文制御ブロックＣＣｉを使用して、暗号文制御パラメータｍｉおよびロジスティック写像の値ｋｉを取り出し、ロジスティック写像によって暗号化される、最終暗号化暗号文ブロックＣ”ｊを使用して、平文それ自体を取り出すことができる。
【００６１】
処理はオペレーション３０２「暗号文制御パラメータおよび／またはロジスティック写像の値を取り出す」から開始することができ、そこでは、暗号文制御パラメータおよび／またはロジスティック写像の値が取り出されうる。例えば、暗号文制御パラメータｍ０および／またはロジスティック写像の初期値ｋ０は、第１の暗号文制御ブロックＣＣ０から取り出すことができる。一例では、第１の暗号文制御ブロックＣＣ０は、秘密鍵ＳＫを使用して
ｍ０＝ｍ０・ＴＲ０（ＰＫ）ｍｏｄ  Ｐ／ＴＳＫ（ＴＲ０（ｘ）  ｍｏｄ  Ｐ）ｍｏｄ  Ｐ
ｋ０＝ｍ０／Ｐ（ｍ０＜Ｐ），Ｐ／ｍ０（ｍ０＞Ｐ），０．１６６６６６６６６７（ｍ０＝Ｐ）
を計算することで暗号解読されうる。
【００６２】
上記の計算において、暗号文制御パラメータｍ０および／またはロジスティック写像の初期値ｋ０は、第１の暗号文制御ブロックＣＣ０から取り出すことができる。取り出された暗号文制御パラメータｍ０および／またはロジスティック写像の初期値ｋ０は、後続の暗号文制御ブロックＣＣｉを暗号解読するために使用することができる。
【００６３】
処理は、オペレーション３０２からオペレーション３０４「平文ブロックを取り出す」に進むことができ、そこで、平文ブロックを取り出すことができる。例えば、１つまたは複数の最終暗号化暗号文ブロックＣ”ｊから平文ブロックを取り出すことは、取り出されたロジスティック写像の初期値ｋ０に少なくとも部分的に基づくものとしてよい。上で説明されているように、秘密鍵Ａｊは、ロジスティック写像関数τ（ｘ）および／またはロジスティック写像の反復値ωに少なくとも部分的に基づき決定されうる（例えば、ロジスティック写像の反復値ωは、Ｎ０回の反復後のロジスティック写像の初期値ｋ０の値を表すものとしてよい）。暗号化通常平文ブロックＣｊは、シフト整数Ｄｊおよび／または秘密鍵Ａｊに少なくとも部分的に基づき暗号解読され、２進数平文メッセージブロックＰｊを得ることができる。
【００６４】
一例では、秘密鍵Ａｊを使用し、暗号化通常平文ブロックＣｊに基づき
【００６５】
【数６】
0005629823.tif 000007
のように、シフトされたメッセージブロックＰ’ｊを計算することができる。
【００６６】
上記の計算において、２進数平文メッセージブロックＰｊの暗号化通常平文ブロックＣｊを暗号解読して、シフトされたメッセージブロックＰ’ｊを計算することができる。シフト整数Ｄｊビットに基づきシフトされたメッセージブロックＰ’ｊのシフトを戻し（例えば、右循環シフトで）、２進数平文メッセージブロックＰｊを得ることができる。次いで、ロジスティック写像を、ｍ１ブロックに到達するまで反復（例えば、Ｄ＊回反復）することができる。
【００６７】
処理は、オペレーション３０４からオペレーション３０６「与えられた数の平文ブロックが暗号解読されたかどうかを判定する」に進み、そこで、与えられた数の平文ブロックが暗号解読されたかどうかの判定を下すことができる。与えられた数の平文ブロック（例えば、ｍ１（ｉ＞２））が、暗号解読されていると判定されない場合、処理はオペレーション３０６からオペレーション３０４「平文ブロックを取り出す」に戻ることができるが、これはすでに説明されている。例えば、ロジスティック写像の値ｋｉは、シフト整数Ｄｊに少なくとも部分的に基づき更新され、追加の平文ブロックを取り出すために使用されうる。ロジスティック写像の値ｋｉを更新する作業の反復は、与えられた数の平文ブロックが暗号解読されるまで実行することができる。
【００６８】
与えられた数の平文ブロック（例えば、ｍｉ−１（ｉ＞２））が、暗号解読されていると判定された場合、処理はオペレーション３０６からオペレーション３０８「平文ファイルのすべてが暗号解読されたかどうかを判定する」に進み、そこで、平文ファイルのすべてが暗号解読されたかどうかの判定を下すことができる。平文ファイルのすべてが暗号解読されていると判定された場合、プロセス３００は完了する。
【００６９】
平文ファイルのすべてが暗号解読されていないと判定された場合、プロセス３００は、オペレーション３０８からオペレーション３０２「暗号文制御パラメータおよび／またはロジスティック写像の値を取り出す」に戻ることができるが、これはすでに説明されている。例えば、後続のロジスティック写像の値を後続の暗号文制御ブロックから取り出す作業の反復は、平文ファイルのすべてが暗号解読されるまで実行されうる。
【００７０】
図１、図２、および図３を参照すると、プロセス３００に関するいくつかの態様が、詳細に説明されていない。例えば、オペレーション３０２および／または３０４は、プロセス２００の全部または一部を使用して暗号解読プロセス３００を実行することができることは理解されるであろう。暗号解読プロセス３００は、暗号化プロセス２００と同様にして動作しうる。例えば、暗号解読プロセス３００は、オペレーション２０８、２１０、２１２、２１４、および／または２１８で説明されているのと同じもしくは類似のオペレーションの反転を使用して、暗号化プロセス２００によって実行される暗号化を反転することができる。
【００７１】
動作において、プロセス１００、２００、および／または３００を組み込みデバイス、携帯電話、ポータブルデバイス、および／または同様の機器で使用することができる。プロセス１００、２００、および／または３００は、個人のプライバシーを保護するために使用され、および／または安全な通信に用いることができる。例えば、プロセス１００、２００、および／または３００は、画像ファイルに対する個人のプライバシーを保護するために使用されうる。さらに、プロセス１００、２００、および／または３００は、暗号化および暗号解読の速度が比較的高速であるため、コンピューティング能力が比較的低い可能性のある機器内で使用することができる。
【００７２】
図４は、本開示の少なくともいくつかの実施形態により配置構成された例示的なコンピュータプログラム製品４００を示している。コンピュータプログラム製品４００は、信号伝送媒体４０２を備えることができる。信号伝送媒体４０２は、１つまたは複数のプロセッサによって実行されたときに、図１、図２、および／または図３に関して上で説明されている機能をコンピューティングデバイスが実現することを動作的に可能にしうる、１つまたは複数の機械可読命令４０４を含むことができる。そのため、例えば、図１、図２、および／または図３に示されているアクションのうちの１つまたは複数を、媒体４０２によって伝送される命令４０４に応答して実行することができる。
【００７３】
いくつかの実装形態では、信号伝送媒体４０２は、限定はしないが、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、メモリなどのコンピュータ可読媒体４０６を包含しうる。いくつかの実装形態では、信号伝送媒体４０２は、限定はしないが、メモリ、読み書き（Ｒ／Ｗ）ＣＤ、Ｒ／Ｗ  ＤＶＤなどの記録可能媒体４０８を包含しうる。いくつかの実装形態では、信号伝送媒体４０２は、限定はしないが、デジタルおよび／またはアナログ通信媒体（例えば、光ファイバケーブル、導波管、有線通信リンク、ワイヤレス通信リンクなど）などの通信媒体４１０を包含しうる。
【００７４】
図５は、本開示により配置構成されているコンピューティングデバイス５００の例示的な一実施形態を示すブロック図である。例示的な基本構成５０１において、コンピューティングデバイス５００は、１つまたは複数のプロセッサ５１０およびシステムメモリ５２０を備えることができる。メモリバス５３０は、プロセッサ５１０とシステムメモリ５２０との間の通信に使用されうる。
【００７５】
所望の構成に応じて、プロセッサ５１０は、限定はしないが、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、またはこれらの任意の組み合わせを含む任意の種類のものとすることができる。プロセッサ５１０は、一次キャッシュ５１１および二次キャッシュ５１２などの１つまたは複数のキャッシングレベルのキャッシュ、プロセッサコア５１３、およびレジスタ５１４を備えることができる。プロセッサコア５１３は、算術論理演算ユニット（ＡＬＵ）、浮動小数点演算ユニット（ＦＰＵ）、デジタル信号処理コア（ＤＳＰコア）、またはこれらの任意の組み合わせを含むことができる。メモリコントローラ５１５は、プロセッサ５１０と併用することもできるか、またはいくつかの実装形態では、メモリコントローラ５１５は、プロセッサ５１０の内部パーツとすることもできる。
【００７６】
所望の構成に応じて、システムメモリ５２０は、限定はしないが、揮発性メモリ（ＲＡＭなど）、不揮発性メモリ（ＲＯＭ、フラッシュメモリなど）、またはこれらの任意の組み合わせを含む任意の種類のものとすることができる。システムメモリ５２０には、オペレーティングシステム５２１、１つまたは複数のアプリケーション５２２、およびプログラムデータ５２４を格納することができる。アプリケーション５２２は、図１のプロセス１００、図２のプロセス２００、および／または図３のプロセス３００に関して説明されている機能ブロック、アクション、および／またはオペレーションを含む本明細書で説明されているような機能、アクション、および／またはオペレーションを実行するように配置構成されうる非対称カオス暗号化アルゴリズム５２３を含むことができる。プログラムデータ５２４は、非対称カオス暗号化アルゴリズム５２３とともに使用するための平文ファイルデータ５２５を含んでいてもよい。いくつかの例示的な実施形態では、アプリケーション５２２は、平文ファイルデータの非対称カオス暗号化の実装形態が本明細書で説明されているように実現され、オペレーティングシステム５２１上でプログラムデータ５２４を操作できるように配置構成されうる。本明細書で説明されている基本的な構成は、図５において、破線５０１内のコンポーネントで例示されている。
【００７７】
コンピューティングデバイス５００は、付加的な特徴または機能を有し、また基本的な構成５０１と任意の必要なデバイスおよびインターフェースとの間の通信が容易に行えるようにするための付加的なインターフェースを備えることができる。例えば、バス／インターフェースコントローラ５４０は、記憶装置インターフェースバス５４１を介して基本的な構成５０１と１つまたは複数のデータ記憶装置デバイス５５０との間の通信が容易に行えるようにするために使用できる。データ記憶装置デバイス５５０は、取り外し可能な記憶装置デバイス５５１、取り外し不可能な記憶装置デバイス５５２、またはこれらの組み合わせとすることができる。取り外し可能な記憶装置デバイスおよび取り外し不可能な記憶装置デバイスの例をいくつか挙げると、フレキシブルディスクドライブおよびハードディスクドライブ（ＨＤＤ）などの磁気ディスクデバイス、コンパクトディスク（ＣＤ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブなどの光ディスクドライブ、ソリッドステートドライブ（ＳＳＤ）、およびテープドライブなどがそうである。例示的なコンピュータ記憶媒体としては、コンピュータ可読命令、データ構造体、プログラムモジュール、または他のデータなどの情報を格納するための任意の方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能な媒体を挙げることができる。
【００７８】
システムメモリ５２０、取り外し可能な記憶装置５５１、および取り外し不可能な記憶装置５５２は、すべてコンピュータ記憶媒体の実施例である。コンピュータ記憶媒体としては、限定はしないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報を格納するために使用することができ、しかもコンピューティングデバイス５００によってアクセスできる任意の他の媒体が挙げられる。このような任意のコンピュータ記憶媒体は、デバイス５００の一部であるものとすることができる。
【００７９】
コンピューティングデバイス５００は、バス／インターフェースコントローラ５４０を介してさまざまなインターフェースデバイス（例えば、出力インターフェース、周辺機器インターフェース、および通信インターフェース）から基本的な構成５０１への通信を容易に行えるようにするためのインターフェースバス５４２を備えることもできる。例示的な出力インターフェース５６０は、グラフィックス処理ユニット５６１およびオーディオ処理ユニット５６２を備え、これらは、１つまたは複数のＡ／Ｖポート５６３を介してディスプレイまたはスピーカーなどのさまざまな外部デバイスと通信するように構成されうる。例示的な周辺機器インターフェース５７０は、シリアルインターフェースコントローラ５７１またはパラレルインターフェースコントローラ５７２を備え、これらは、１つまたは複数のＩ／Ｏポート５７３を介して入力デバイス（例えば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなど）または他の周辺機器デバイス（例えば、プリンタ、スキャナなど）などの外部デバイスと通信するように構成できる。例示的な通信インターフェース５８０は、ネットワークコントローラ５８１を備え、これは、１つまたは複数の通信ポート５８２を介してネットワーク通信上で１つまたは複数の他のコンピューティングデバイス５９０との通信を容易に行えるように構成されうる。通信接続は、通信媒体の一例である。通信媒体は、典型的には、コンピュータ可読命令、データ構造体、プログラムモジュール、または搬送波もしくは他のトランスポートメカニズムなどの変調データ信号による他のデータによって具現化されうるものであり、任意の情報配信媒体を含むことができる。「変調データ信号」は、信号内の情報を符号化する方法によりその特性のうち１つまたは複数が設定または変更された信号であるものとすることができる。例えば、限定はしないが、通信媒体としては、有線ネットワークまたは直接配線接続などの有線媒体、および、音響、高周波（ＲＦ）、赤外線（ＩＲ）、および他の無線媒体などの無線媒体が挙げられる。本明細書で使用されているコンピュータ可読媒体という用語は、記憶媒体と通信媒体の両方を含むことができる。
【００８０】
コンピューティングデバイス５００は、携帯電話、パーソナルデータアシスタント（ＰＤＡ）、パーソナルメディアプレーヤーデバイス、ワイヤレスウェブウォッチデバイス、パーソナルヘッドセットデバイス、特定用途向けデバイス、または上記機能のいずれかを含むハイブリッドデバイスなどのスモールフォームファクタポータブル（またはモバイル）電子デバイスの一部として実装できる。コンピューティングデバイス５００は、ラップトップコンピュータおよび非ラップトップコンピュータの両方の構成を含むパーソナルコンピュータとして実装することもできる。それに加えて、コンピューティングデバイス５００は、無線基地局または他の無線システムもしくはデバイスの一部として実装することができる。
【００８１】
前記の詳細な説明のいくつかの部分は、コンピュータのメモリなどの、コンピューティングシステムのメモリ内に格納されているデータビットまたは２値デジタル信号に対するオペレーションのアルゴリズムまたはシンボル表現に関して提示されている。これらのアルゴリズムによる記述または表現は、作業の内容を当業者に伝えるためにデータ処理の技術者によって使用される技術のいくつかの例である。アルゴリズムは、本明細書では、また一般的に、望む結果をもたらす自己矛盾のない一連のオペレーションもしくは類似の処理であると考えられる。この文脈において、オペレーションもしくは処理は、物理的量の物理的操作を伴う。典型的には、必ずというわけではないけれども、このような量は、格納、転送、組み合わせ、比較、および他の何らかの形の操作が可能な電気的または磁気的信号の形態をとることができる。主に共通使用の理由から、このような信号をビット、データ、値、要素、記号、文字、語、数、数詞、または同様のものとして参照することがときには都合がよいことが実証されている。しかし、これらの語および類似の語はすべて、適切な物理的量に関連付けられ、単に便利なラベルにすぎないことは理解されるべきである。以下の説明から明らかなように特に断りのない限り、本明細書全体を通して、「処理」、「コンピューティング」、「計算」、「決定（判定）」、または同様の語句などの語を使用する説明では、コンピューティングデバイスのメモリ、レジスタ、または他の情報記憶装置デバイス、送信デバイス、もしくは表示デバイス内の物理的、電子的、または磁気的な量として表されるデータを操作もしくは変換する、コンピューティングデバイスのアクションもしくはプロセスを指すことは理解される。
【００８２】
請求項に記載の発明対象は、本明細書で説明されている特定の実装形態の範囲に限定されない。例えば、いくつかの実装形態は、例えば１つのデバイスまたは複数のデバイスの組み合わせで動作するように使用されるようなハードウェアにあってよいが、他の実装形態はソフトウェアおよび／またはファームウェアで構成にあってよい。同様に、請求項に記載の発明対象は、この点に関する範囲に限定されないけれども、いくつかの実装形態は、信号伝送媒体、１つおよび／または複数の記憶媒体などの１つまたは複数の物品を含むこともできる。ＣＤ−ＲＯＭ、コンピュータディスク、フラッシュメモリ、または同様のものなどのこの記憶媒体には、例えばコンピューティングシステム、コンピューティングプラットフォーム、または他のシステムなどのコンピューティングデバイスによって実行されたときに、例えば、結果として、例えば、すでに説明されている実装形態のうちの１つなどの、請求項に記載の発明対象に従ってプロセッサを実行させうる命令が格納されるものとすることができる。１つの可能性として、コンピューティングデバイスは、１つまたは複数の演算処理装置またはプロセッサ、ディスプレイ、キーボードおよび／またはマウスなどの１つまたは複数の入力／出力デバイス、およびスタティックランダムアクセスメモリ、ダイナミックランダムアクセスメモリ、フラッシュメモリ、および／またはハードドライブなどの１つまたは複数のメモリを備えることができる。
【００８３】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に（いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になりうるという点で）コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび／またはシステムおよび／または他の技術をもたらすことができるさまざまな達成手段があり（例えば、ハードウェア、ソフトウェア、および／またはファームウェア）、好ましい達成手段は、プロセスおよび／またはシステムおよび／または他の技術が導入される状況によって異なる。例えば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび／またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および／またはファームウェアの何らかの組み合わせを選択することができる。
【００８４】
前述の詳細な説明では、ブロック図、フローチャート、および／または例の使用によって、装置および／またはプロセスのさまざまな実施形態を説明してきた。そのようなブロック図、フローチャート、および／または例が１つまたは複数の機能および／または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および／または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組み合わせにより、個別におよび／または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、１つまたは複数のコンピュータ上で動作する１つまたは複数のコンピュータプログラムとして（例えば、１つまたは複数のコンピュータシステム上で動作する１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で動作する１つまたは複数のプログラムとして（例えば、１つまたは複数のマイクロプロセッサ上で動作する１つまたは複数のプログラムとして）、ファームウェアとして、あるいは実質上それらの任意の組み合わせとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに／またはソフトウェアおよび／もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムをさまざまな形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フレキシブルディスク、ハードディスクドライブ（ＨＤＤ）、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および／またはアナログ通信媒体（例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）の通信タイプの媒体が含まれるが、それらには限定されない。
【００８５】
本明細書で説明したやり方で装置および／またはプロセスを記載し、その後そのように記載された装置および／またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および／またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインターフェース、およびアプリケーションプログラムのうちの１つもしくは複数、タッチパッドもしくはスクリーンなどの１つもしくは複数の相互作用装置、ならびに／またはフィードバックループおよびコントロールモータを含むコントロールシステム（例えば、位置検知用および／もしくは速度検知用フィードバック、コンポーネントの移動用および／もしくは数量の調整用コントロールモータ）を含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング／通信システムおよび／またはネットワークコンピューティング／通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。
【００８６】
本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【００８７】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。さまざまな単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００８８】
通常、本明細書において、特に添付の特許請求の範囲（例えば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（例えば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。例えば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む発明に限定する、ということを示唆していると解釈されるべきではない（例えば、「ａ」および／または「ａｎ」は、通常、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、通常、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（例えば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、通常、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステ���を含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。例えば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００８９】
本明細書において「実装形態」、「一実装形態」、「いくつかの実装形態」、または「他の実装形態」と記述されている場合、これは、１つまたは複数の実装形態に関して説明されている特定の特徴、構造、または特性が少なくともいくつかの実装形態に含まれうるが、すべての実装形態に必ずしも含まれるわけではないことを意味するものとすることができる。前記の説明に「実装形態」、「一実装形態」、または「いくつかの実装形態」とさまざまな形で記載されている場合も、必ずしも同じ実装形態をすべて指しているわけではない。
【００９０】
本明細書ではいくつかの例示的な技術がさまざまな方法およびシステムを使用して説明され図示されているが、当業者であれば、請求項に記載の発明対象から逸脱することなく、さまざまな他の修正を加え、同等物を代用することができることを理解するであろう。それに加えて、本明細書で説明されている中心的概念から逸脱することなく、さまざまな修正を行って、特定の状況を請求項に記載の発明対象の教示に適合させることができる。したがって、請求項に記載の発明対象は、開示されている特定の例に限定されないことが意図されているが、そのような請求項に記載の発明対象は、付属の請求項、およびその同等物の範囲内にあるすべての実装形態も含むことが意図されている。
【図１】
0005629823.tif 000008
【図２】
0005629823.tif 000009
【図３】
0005629823.tif 000010
【図４】
0005629823.tif 000011
【図５】
0005629823.tif 000012