(57)【要約】      （修正有）【課題】復号条件が満たされない限り暗号化データの復号を抑制する暗号化システムでは、復号イネーブル時間が復号条件として指定されるが、遅延した復号の効力が独立した受信者に与えられるものはなかった。そこで、遅延復号の可能化及び供給を行う方法及び装置を開示する。【解決手段】暗号化情報や他の情報を受信する工程と、暗号化情報を他の情報を用いて、指定される時点よりも早くない時点で復号する工程とを備える。他の情報は、時点を示すデータを含む。【選択図】図１
2006135969.tif 000002
【特許請求の範囲】
【請求項１】
情報処理方法であって、
暗号化情報及び他の情報を受信する工程と、
前記暗号化情報を、前記他の情報を用いて、指定される時点よりも早くない時点で復号する工程とを備え、前記他の情報が、遅延を示すデータを含むことを特徴とする情報処理方法。
【請求項２】
請求項1記載の情報処理方法であって、前記暗号化情報を前記他の情報を用いて復号する工程は、復号鍵を前記他の情報を用いて生成する工程と、前記復号鍵を用いて前記暗号化情報を復号する工程とを備えることを特徴とする情報処理方法。
【請求項３】
請求項2記載の情報処理方法であって、前記復号鍵を生成する工程が、セル・オートマタをいくつかのステップについてシードから始めて実行する工程を備えることを特徴とする情報処理方法。
【請求項４】
請求項3記載の情報処理方法であって、前記いくつかのステップ及び前記シードが前記他の情報に含まれることを特徴とする情報処理方法。
【請求項５】
請求項4記載の情報処理方法であって、前記いくつかのステップが、前記暗号化情報の前記指定される時点よりも早い復号を阻止する遅延に相当することを特徴とする情報処理方法。
【請求項６】
装置によって実行されるためのプログラムであって、
暗号化情報及び他の情報を受信する工程と、
前記暗号化情報を、前記他の情報を用いて、指定される時点よりも早くない時点で復号する工程とを備え、前記他の情報が、遅延を示すデータを含むことを特徴とするプログラム。
【請求項７】
請求項6記載のプログラムであって、前記暗号化情報を前記他の情報を用いて復号する工程は、復号鍵を前記他の情報を用いて生成する工程と、前記復号鍵を用いて前記暗号化情報を復号する工程とを備えることを特徴とするプログラム。
【請求項８】
請求項7記載のプログラムであって、前記復号鍵を生成する工程が、セル・オートマタをいくつかのステップについてシードから始めて実行する工程を備えることを特徴とするプログラム。
【請求項９】
請求項8記載のプログラムであって、前記いくつかのステップ及び前記シードが前記他の情報に含まれることを特徴とするプログラム。
【請求項１０】
請求項9記載のプログラムであって、前記いくつかのステップが、前記暗号化情報の前記指定される時点よりも早い復号を阻止する遅延に相当することを特徴とするプログラム。
【請求項１１】
情報処理装置であって、
暗号化情報及び他の情報を受信する手段と、
前記暗号化情報を、前記他の情報を用いて、指定される時点よりも早くない時点で復号する手段とを備え、前記他の情報が、遅延を示すデータを含むことを特徴とする情報処理装置。
【請求項１２】
情報処理方法であって、
暗号化鍵によって暗号化される暗号化情報を受信する工程と、
シードを受信する工程と、
セル・オートマタを前記シードから始めていくつかのステップについて実行して出力を生成する工程と、
前記出力を前記暗号化鍵として用いて前記暗号化情報を復号する工程とを備えることを特徴とする情報処理方法。
【請求項１３】
装置によって実行されるためのプログラムであって、
暗号化鍵によって暗号化される暗号化情報を受信する工程と、
シードを受信する工程と、
セル・オートマタを前記シードから始めていくつかのステップについて実行して出力を生成する工程と、
前記出力を前記暗号化鍵として用いて前記暗号化情報を復号する工程とを備えることを特徴とするプログラム。
【請求項１４】
情報処理装置であって、
暗号化鍵によって暗号化される暗号化情報を受信する手段と、
シードを受信する手段と、
セル・オートマタを前記シードから始めていくつかのステップについて実行して出力を生成する手段と、
前記出力を前記暗号化鍵として用いて前記暗号化情報を復号する手段とを備えることを特徴とする情報処理装置。
【請求項１５】
情報処理方法であって、
セル・オートマタをシードから始めていくつかのステップについて実行して、内部状態を取得する工程を備え、前記いくつかのステップは遅延を得るよう選ばれ、
更に、前記内部状態を暗号化鍵として用いて情報を暗号化して、暗号化情報を生成する工程とを備えることを特徴とする情報処理方法。
【請求項１６】
装置によって実行されるためのプログラムであって、
セル・オートマタをシードから始めていくつかのステップについて実行して、内部状態を取得する工程を備え、前記いくつかのステップは遅延を得るよう選ばれ、
該方法が更に、前記内部状態を暗号化鍵として用いて情報を暗号化して、暗号化情報を生成する工程とを備えることを特徴とするプログラム。
【請求項１７】
情報処理装置であって、
セル・オートマタをシードから始めていくつかのステップについて実行して、内部状態を取得する手段を備え、前記いくつかのステップは遅延を得るよう選ばれ、
更に、前記内部状態を暗号化鍵として用いて情報を暗号化して、暗号化情報を生成する手段とを備えることを特徴とする情報処理装置。
【請求項１８】
情報処理方法であって、
複数の状態を複数のセル・オートマタから、複数のシードから始めて生成し、いくつかのステップについて実行する工程と、
前記複数のシードのうちの1つ又は複数のものを、前記複数のシードのうちの少なくとも1つ以上のものが非暗号化状態に留まっている一方で、いくつかの出力のうちの別個の状態によって暗号化して、少なくとも1つの暗号化シード及び少なくとも１つの非暗号化シードを生成する工程とを備え、いくつかの状態のうちの少なくとも1つの状態はいくつかのシードのうちの何れかのものを暗号化するのに用いる訳ではなく、
更に、暗号化鍵を前記1つの状態に基づいて規定する工程と、
前記暗号化鍵を用いて情報を暗号化して、暗号化情報を生成する工程と、
前記暗号化情報と、前記いくつかのステップと、前記少なくとも１つの非暗号化シードと、前記少なくとも１つの暗号化シードとに対するアクセスを備えて、前記暗号化情報の復号を可能にする工程とを備えることを特徴とする情報処理方法。
【請求項１９】
装置によって実行されるためのプログラムであって、
複数の状態を複数のセル・オートマタから、複数のシードから始めて生成し、いくつかのステップについて実行する工程と、
前記複数のシードのうちの1つ又は複数のものを、前記複数のシードのうちの少なくとも1つ以上のものが非暗号化状態に留まっている一方で、いくつかの出力のうちの別個の状態によって暗号化して、少なくとも1つの暗号化シード及び少なくとも１つの非暗号化シードを生成する工程とを備え、いくつかの状態のうちの少なくとも1つの状態は前記いくつかのシードのうちの何れかのものを暗号化するのに用いる訳ではなく、
該方法が更に、暗号化鍵を前記1つの状態に基づいて規定する工程と、
１つの出力を暗号化鍵として用いて情報を暗号化して、暗号化情報を生成する工程と、
前記暗号化情報と、前記いくつかのステップと、前記少なくとも１つの非暗号化シードと、前記少なくとも１つの暗号化シードとに対するアクセスを備えて、前記暗号化情報の復号を可能にする工程とを備えることを特徴とするプログラム。
【請求項２０】
情報処理方法であって、
いくつかのシードを生成する工程と、
前記いくつかのシードと数において等しい、いくつかの出力を生成する工程とを備え、前記いくつかの出力の各々を生成する工程が、各セル・オートマトンを前記シードの各々から始めて複数のセル・オートマトンを実行し、各セル・オートマトンをいくつかのステップについて実行して前記いくつかの出力のうちの1つの出力を得る工程を備え、
更に、前記いくつかのシードの全てを、複数のシードのうちの1つのシードを除いて、前記いくつかの出力のうちの別個の出力によって、前記いくつかの出力のうちの１つの出力が前記いくつかのシードのうちの何れかのものを暗号化するのに用いる訳ではないように暗号化する工程と、
前記１つの出力を暗号化鍵として用いて情報を暗号化して、暗号化情報を生成する工程とを備えることを特徴とする情報処理方法。
【請求項２１】
請求項20記載の情報処理方法であって、前記いくつかのステップと、いくつかの実行オートマタとのうちの少なくとも一方が、遅延を得るよう選択されることを特徴とする情報処理方法。
【請求項２２】
装置によって実行されるためのプログラムであって、
いくつかのシードを生成する工程と、
前記いくつかのシードと数において等しい、いくつかの出力を生成する工程とを備え、前記いくつかの出力の各々を生成する工程が、各セル・オートマトンを前記シードの各々から始めて複数のセル・オートマトンを実行し、各セル・オートマトンをいくつかのステップについて実行して前記いくつかの出力のうちの1つの出力を得る工程を備え、
更に、前記いくつかのシードの全てを、前記複数のシードのうちの1つのシードを除いて、前記いくつかの出力のうちの別個の出力によって、前記いくつかの出力のうちの１つの出力が前記いくつかのシードの何れかを暗号化するのに用いる訳ではないように暗号化する工程と、
前記１つの出力を暗号化鍵として用いて情報を暗号化して、暗号化情報を生成する工程とを備えることを特徴とするプログラム。
【請求項２３】
請求項22記載のプログラムであって、前記いくつかのステップが所望の復号遅延に基づくものであることを特徴とするプログラム。
【請求項２４】
情報処理方法であって、
暗号化鍵によって暗号化される暗号化情報を受信する工程と、
複数のシードを受信する工程とを備え、複数のシードのうちの１つが暗号化されておらず、前記複数のシードのうちの少なくとも２つのシードは暗号化されており、
更に、前記複数のシードにおける暗号化シーズを復号する工程を備え、前記複数のシードにおける暗号化シーズを復号する工程は、
セル・オートマタを前記1つのシードから始めていくつかのステップについて実行して第１の出力を生成する工程と、
前記複数のシードのうちの前記少なくとも2つのシードのうちの１つを復号して非暗号化形式における別のシードを生成するよう前記第１の出力を用いる工程と、
前記セル・オートマタを前記1つのシードとは別のシードから始めて繰り返し実行して別の出力を生成し、前記セル・オートマタを、復号の結果として生成される前記複数のシードのうちの最後のものから始めて実行した後に、前記複数のシードの全てが非暗号化形式にあり、最後の出力が生成されるまで、前記複数のシードのうちの前記少なくとも2つのシードのうちの別のものを復号するよう前記別の出力を用いる工程とによって行われ、
更に、前記最後の出力を前記暗号化鍵として用いて前記暗号化情報を復号する工程を備えることを特徴とする情報処理方法。
【請求項２５】
情報処理方法であって、
セル・オートマタを複数のステップについて、送信者からのコンテンツをシードとして用いて実行する工程と、
前記複数のステップの計算を前記送信者が行ったということを検証する工程とを備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的に暗号化及び復号の分野に関し、特に復号処理を遅延させ得る暗号化手法に関する。
【背景技術】
【０００２】
このところ、セル・オートマトンの利用が普及してきている。セル・オートマトンは、計算機科学における単位構造であり、単純なルールをセル列に適用して新たなセル列を生成するシステムである。通常、セルは2値であり、黒又は白によって表される。このシステムのコンテキストは、セル毎の位置から成る離散空間である。したがって、このセル空間は、各々が同じルール群に局所的に従う同一の有限状態機械から成る。オブジェクトが相互作用する近傍はシステム毎に定義される。相互作用は通常、局所的であり、よって、定義される近傍の外にあるオブジェクトとの相互作用は伴わない。よって、セル・オートマタには、定義された状態が関連付けられる個別セルの列を含むセル空間と、セルの状態を更新する遷移ルールとの２つの部分が存在する。原則として、オブジェクトは全て、同時に更新される。
【０００３】
セル・オートマタの実行はシードから始まり、各更新は本明細書及び特許請求の範囲ではステップとして表す。特定のルールを実行するセル・オートマタは、以下に説明することとする特定の計算特性を有する。第１に、（特定のルールの場合、）各ステップからの出力が無作為性の合理的な統計尺度の全てに、（全て黒である場合や全て白である場合を除けば）シードにかかわらず合格するという点で、セル・オートマタは無作為である。第２に、（特定のルールの場合、同様に、）考えられる状態全てに、循環するまでに最終的に到達するという点でセル・オートマタはエルゴート性を有する。第3に、セル・オートマタは時間的に線形であり、これは、シードが与えられると、T番目の状態を計算する唯一の方法は（コンピュータがセル毎に単一である）並列コンピュータが用いられているか否かにかかわらず全ての中間状態を計算するということを意味する。
【０００４】
擬似乱数を生成するよう、ルール30として知られる特定のセル・オートマトンを用いることは、S.WolframによってProceeding  of  Crypto  ’85,  pp.429-432に開示された。暗号化鍵は、セル・オートマトンの初期状態に過ぎない。
【０００５】
データは多くの場合、伝送又は記憶中のセキュリティのために暗号化される。いくつかの暗号化手法が当該技術分野において周知である。可逆的動的システムを暗号化に用いることも、P.  Guanによる「Cellular  Automata  Public-Key  Cryptosystems」  Complex  Systems  1,  1987に開示された。暗号化段階では、動的システムは順方向で実行される。
【０００６】
「Method  and  Apparatus  for  Data  Encryption/Decryption  using  Cellular  Automata  Transform」と題する米国特許第5,677,956号は、入力データと基底との関数である変換を用いたデータを暗号化し、復号する工程を開示している。入力データが受信された後、セル・オートマタ基底が、少なくとも1つのセルのセル・オートマタ空間の特性を規定する鍵値と、その少なくとも１つのセルの少なくとも１つの相互作用ルールとから生成される。生成されるセル・オートマタ基底を用いて、入力データが暗号化データ又は復号データに変換される。変換は、セル・オートマタ群から導き出される巨大な暗号鍵ライブラリを伴う。
【０００７】
米国特許第6381695号は、復号条件が満たされない限り暗号化データの復号を抑制する暗号化システムを開示しており、復号イネーブル時間が復号条件として指定される。よって、この特許は時間依存復号を備えている暗号化システムを開示している。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
これらの手法のうちで、遅延した復号の効力が外部クロックや、作成者によるプログラムされた鍵の提供を必要とすることなく、独立した受信者に与えることを開示しているものは全くない。
【課題を解決するための手段】
【０００９】
遅延復号の可能化及び/又は供給を行う方法と装置を開示する。一実施例では、方法は、暗号化情報や他の情報を受信し、他の情報を用いて暗号化情報を指定される時点よりも早くない時点で復号する工程を備える。他の情報は、所望の遅延に基づいたデータを含む。
【発明を実施するための最良の形態】
【００１０】
本発明は、本発明の種々の実施例の、以下に表す詳細説明や、添付図面から、より十分に分かるものである。しかし、詳細説明や添付図面は、本発明を特定の実施例に限定するものとして解されないこととする一方、説明及び理解が目的であるに過ぎない。
【００１１】
本発明の実施例は、個人が暗号化情報（例えば、暗号文）を受信者に他の情報とともに供給して送信者によって指定される時点よりも早くない時点で暗号化情報を受信者が復号することを可能にすることを可能にする。本発明の手法は、外部クロックや、受信者に供給される事後情報に全く依存することなく達成し得る。当該処理は、図１と、以下の本文とにおいて説明する。
【００１２】
以下の記載では、種々の詳細を表して、本発明をより徹底的に説明している。しかし、本発明をこれらの特定の詳細なしで実施し得るということは当業者に明らかである。他の場合には、周知の構造及び装置は、詳細にではなく構成図形式で示して、本発明が分かりにくくなることがないようにしている。
【００１３】
以下の詳細説明のうちの一部は、コンピュータ・メモリ内のデータ・ビットに対する演算のアルゴリズム及び記号表現によって表している。このアルゴリズムの記述及び表現は、研究の内容を他の当業者に最も効果的に伝えるのにデータ処理技術分野における当業者によって用いられる手段である。アルゴリズムとは、本明細書及び特許請求の範囲においても一般的にも、所望の結果につながる首尾一貫した工程シーケンスとして着想されたものである。工程とは、物理的数量の物理的操作を必要とするものである。必然的ではないが通常は、この数量は、記憶、転送、合成、比較及び、他の方法による操作を施すことができる電気信号又は磁気信号の形式を呈する。主に慣用の理由で、このような信号をビット、値、要素、記号、文字、項、数字などとして表すことが場合によっては好都合であることが判った。
【００１４】
しかし、これらや同様な語は適切な物理的数量と関連付けることとし、このような数量に与えられる好都合なラベルに過ぎないということを念頭におくこととする。以下の記載から明らかであるように、別途特記しない限り、記載全体を通して、「処理」、「計算」、「算出」、「判定」、「表示」などの語を利用した記載は、コンピュータ・システム・レジスタ及びコンピュータ・システム・メモリの中で物理的（電子的）数量として表すデータを、操作し、コンピュータ・システム・メモリ若しくはコンピュータ・システム・レジスタや、他のそのような情報記憶装置、情報伝送装置及び情報表示装置の中で物理的数量として同様に表す他のデータに変換する、コンピュータ・システムや同様な電子計算機装置の動作及び処理を表す。
【００１５】
本発明は、本明細書及び特許請求の範囲記載の動作を行う装置にも関する。この装置は、要求される目的で特別に構築されたものであってもよく、コンピュータに記憶されているコンピュータ・プログラムによって選択的に起動又は再構成される汎用コンピュータを備えたものであってもよい。そのようなコンピュータ・プログラムは、電子的命令を記憶するのに適切である、フロッピー（登録商標）・ディスク、光ディスク、CD-ROMや光磁気ディスクを含む何れかの種類のディスク、読み取り専用メモリ（ROM）、ランダム・アクセス・メモリ（RAM）、EPROM、EEPROM、磁気カード又は光カードや、何れかの種類の媒体に限られないが、それらのものなどであり、各々がコンピュータ・システム・バスに結合されるコンピュータ判読可能記憶媒体に記憶し得る。
【００１６】
本明細書及び特許請求の範囲提示のアルゴリズム及び表示は、何れかの特定のコンピュータや他の装置に本質的に関連する訳ではない。種々の汎用システムは、本明細書及び特許請求の範囲記載の教示によるプログラムとともに用いてもよく、より特化された装置を構築して、要求される方法工程を行うことが好都合であることが判る場合もある。これらの種々のシステムに要求される構造は、以下の記載から明らかとなる。更に、本発明は、何れかの特定のプログラミング言語を参照しながら説明している訳ではない。種々のプログラミング言語を用いて、本明細書及び特許請求の範囲記載の本発明の教示を実施し得るということが分かる。
【００１７】
マシン判読可能媒体は、マシン（例えば、コンピュータ）によって判読可能な形式において情報を記憶又は伝送する何れかの機構を含む。例えば、マシン判読可能媒体は、読み取り専用メモリ（「ROM」）、ランダム・アクセス・メモリ（「RAM」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュ・メモリ装置、伝搬信号の電気的形式、光学的形式、音響的形式や他の形式（例えば、搬送波、赤外線信号、ディジタル信号など）などを含む。
【実施例】
【００１８】
図1は、復号処理の一実施例の流れ図である。当該処理は、ハードウェア（例えば、回路、専用ロジックなど）、（汎用コンピュータ・システム上や専用マシン上で実行されるものなどの）ソフトウェアや、これらの組み合わせを備え得る処理ロジックによって行われる。
【００１９】
図1を参照すれば、当該処理は、処理ロジックが暗号化情報や他の情報を受信すること（処理ロジック101）によって始まる。暗号化される情報は、暗号化し得るファイル、文書や何れかの他のデータであり得る。暗号化情報や他の情報を受信した後、処理ロジックは更に、暗号化情報を他の情報を用いて、別の個人によって指定される時点よりも早くない時点で復号し、他の情報は時点を示すデータを含む（処理ブロック103）。
【００２０】
一実施例では、処理ロジックは、他の情報を用いて暗号化情報を、他の情報を用いて復号鍵を生成し、復号鍵を用いて暗号化情報を復号することによって復号する。
【００２１】
一実施例では、処理ロジックは、セル・オートマタをいくつかのステップについてシードから始めて、実行することによって復号鍵を生成する。いくつかのステップ、及びシードは、他の情報に含み得る。一実施例では、いくつかのステップは、暗号化情報の、指定される時点よりも早くない時点での復号を阻止する遅延に相当する。別の実施例では、セル・オートマタは、例えば、図2に示すようなルール30、図3に示すようなルール49や、図4に示すようなルール54などの2値パターンを備えているルールであり得る。これらのルールは各々、当該技術分野において周知である。例えば、「A  New  Kind  of  Science」  Wolfram  Media  (2002)に記載されているものなどの、k状態セル（すなわち、非2値パターン）を有する他のルールも用い得る。
【００２２】
つまり、セル・オートマタを用いることにより、遅延を引き起こすことになる。すなわち、セル・オートマタには有限の内部状態を持ち、時間が進むと共に内部状態が変化することから時間的に内部状態が発展しているので、遅延が生じることになる。セル・オートマタ以外にも、いくつかのステップを実行させることにより、時間的な遅延を生じさせることが可能となる。
【００２３】
一実施例では、セル・オートマタを用いて情報を暗号化するのに行う当該処理は、シードを生成する工程、セル・オートマタ・ルールをT個のステップについて繰り返し実施して出力（T）をもたらす工程、及び出力（T）を鍵として用いて情報（例えば、平文）を暗号化して暗号化情報（例えば、暗号文）を生成する工程を含む。この時点で、当該処理は、暗号化情報（例えば、暗号文C（平文、出力（T）））、シード及び値Tに対するアクセスを受信者に備え得る。当該処理は、暗号化情報（例えば、暗号文C（平文、出力（T）））、シード及び値Tを受信者に送信することによってアクセスを備え得る。あるいは、当該処理は、非暗号化形式における情報又は出力（T）に対する時間Tでのアクセスを受信者に備え得る。この場合も又、当該処理は、この情報を受信者に送信することによってアクセスを備え得る。
【００２４】
復号の場合、当該処理は、T個のステップについて、シードを用いてセル・オートマタを実行（セル・オートマタ・ルールを実施）して出力（T）を取得し、更に、出力（T）を用いて暗号化情報を復号する。
【００２５】
なお、一実施例では、受信者が復号鍵を取得し、暗号化情報を復号することができる前にこうむってしまう遅延に基づいて算出される。この算出には、本明細書及び特許請求の範囲に表す動作を行うのに利用可能な処理速度を含むことになる。
【００２６】
これらの暗号化及び復号の処理は、以下で更に詳細に説明する。
【００２７】
図5は、暗号化処理の一実施例の流れ図である。当該処理は、ハードウェア（例えば、回路、専用ロジックなど）、（汎用コンピュータ・システム上や専用マシン上で実行するものなどの）ソフトウェアや、これらの組み合わせを備え得る処理ロジックによって行われる。
【００２８】
図5を参照すれば、当該処理は、処理ロジックがシードを無作為に生成することによって始まる（処理ブロック501）。一実施例では、シードは無作為の2値シードである。一実施例では、シードは、セル・オートマトンがTより前に出力（T）に達しないようにするうえで十分大きな数を有する。これは、エルゴート仮説に基づくものであり、本明細書及び特許請求の範囲に表す実施例全てにあてはまる。
【００２９】
シードが生成された後、処理ロジックはセル・オートマタをシードから始めていくつかのステップについて実行して状態を得る（処理ブロック502）。一実施例では、いくつかのステップは遅延を得るよう選ばれる。
【００３０】
出力によって、処理ロジックは、取得される状態を暗号化鍵として用いて情報（例えば、文書）を暗号化する（処理ブロック503）。暗号化手法は、暗号化鍵を用いる、RSA暗号化や他の非専有手法などの何れかの周知の暗号化手法であってよい。
【００３１】
暗号化が完了すると、処理ロジックは暗号化情報と、シードと、いくつかのステップとを受信者に送信する（処理ブロック504）。シードと、いくつかのステップは、受信者によって用いて暗号化情報を復号し得る。
【００３２】
別の実施例では、処理ロジックは、所定の時点で暗号化情報を復号する暗号化鍵として用いるよう、暗号化情報及び出力を送信する。この所定の時点は、遅延が生じた後の時点であり得る。すなわち、所定の時点は、いくつかのステップを示す時点であり得る。
【００３３】
図6は、復号処理の一実施例の流れ図である。当該処理は、ハードウェア（例えば、回路、専用ロジックなど）、（汎用コンピュータ・システム上や専用マシン上で実行するものなどの）ソフトウェアや、これらの組み合わせを備え得る処理ロジックによって行われる。
【００３４】
図6を参照すれば、当該処理は、シードと、いくつかのステップと、暗号化鍵によって暗号化された暗号化情報とを受信する処理ロジックから始まる（処理ブロック601）。一実施例では、シードは無作為2値シードである。一実施例では、いくつかのステップは個人によって指定される。個人とは、暗号化情報及びシード情報を送信する役割を果たす者であり得る。
【００３５】
受信情報を用いて、処理ロジックはセル・オートマタをシードから始めて実行して出力を生成する（処理ブロック602）。セル・オートマタをいくつかのステップについて実行することによって、暗号化情報を復号することができる前に遅延をこうむってしまう。
【００３６】
出力が生成された後、処理ロジックは、出力を暗号化情報を復号する暗号化鍵として用いて暗号化情報を復号する（処理ブロック603）。復号手法は、復号鍵を用いる何れかの周知の復号手法であってよい。
【００３７】
なお、シードは一度しか用いないことが好ましい。よって、鍵は1度しか用いられない。これは、受信者が、セル・オートマタの中間状態の全てを記憶し得るものであり、後の文書及び遅延T’の場合、本発明の目標をくつがえして、記憶されている値を用いて遅延T’の出力を位置特定するに過ぎないからである。
【００３８】
（並列計算）
一実施例では、Tの新たな出力をより少ない時間で生成するために、複数のセル・オートマトンを並列に種々のシードによって実行し得る。そのような場合、複数のセル・オートマタからの出力がほぼ同時に生成されても、1つ又は複数の出力を用いて、他の出力を生成するのに用いるシードを暗号化し得る。
【００３９】
図7は、並列の複数のセル・オートマタを示す。図7を参照すれば、k個のセル・オートマタはk個のシードから始めてk個の並列の出力を生成する（これは、問題をk個の部分問題に分割することに類推させ得る。）。シードがお互いに異なることが好ましいが、これは必要とされるものでない。同様に、実施されるセル・オートマタのルールが、並列に実行するk個のセル・オートマタ全てについて同じであることが好ましいが、これは要求事項でない。なお、k個のセル・オートマタはk個のマシン上で実行してもよく、2つ又は複数のものを同じマシン上で実行してもよい。
【００４０】
k個の出力は、生成されると、1つ又は複数のシードを暗号化するのに用い得る。一実施例では、暗号化を行う処理は、1<i<kの場合、出力(i)を用いてシード(i−1)を暗号化し、更に、出力(1)を暗号化鍵として用いて情報（例えば、平文）を暗号化して暗号化情報（例えば、暗号文）を生成する。この時点で、値k、シードk、k−1個の暗号化鍵、及び暗号化情報（例えば、暗号文（平文、出力(1)）を受信者に送信し得る。
【００４１】
受信すると、復号処理は、セル・オートマタをシードkから始めてT/k個のステップについて実行して出力(k)（すなわち、k番目の部分問題に相当する出力）を得る。次に、出力(k)を復号鍵として用いて暗号化シードk−1を復号する。非暗号化シードk−1を用いて、復号処理は、セル・オートマタをシードk−1から始めてT/k個のステップについて実行して出力(k−1)を得る。出力(k−1)を更に、復号鍵として用いて暗号化シードk−2を復号する。非暗号化シードk−2を用いて、復号処理はセル・オートマタをシードk−2から始めてT/k個のステップについて実行して出力(k−2)を得る。出力(k−2)は、復号鍵として用いて暗号化鍵k−3として復号する。処理は、復号処理が出力(1)を生成するまで繰り返し、復号処理は、暗号化情報（すなわち、暗号文（平文、出力(1)））を復号して情報（すなわち、平文）を非暗号化形式で得るよう、この出力(1)を用いる。
【００４２】
なお、種々のセル・オートマタのルールをk個の段のうちの2つ以上のものについて実施し得る。
【００４３】
これらの暗号化及び復号処理は、図8乃至図10に関して以下に説明する。
【００４４】
図8は、暗号化処理の一実施例の流れ図である。当該処理は、ハードウェア（例えば、回路、専用ロジックなど）、（汎用コンピュータ・システム上や専用マシン上で実行するものなどの）ソフトウェアや、それらの組み合わせを備え得る処理ロジックによって行われる。
【００４５】
図8を参照すれば、当該処理は、処理ロジックがいくつかのシードを生成することによって始まる（処理ロジック801）。一実施例では、処理ロジックはシードを無作為に生成する。一実施例では、シードは各々、2値シードである。
【００４６】
処理ロジックは、各セル・オートマトンを各シードから始めて複数のセル・オートマトンを実行し、それらをいくつかのステップについて実行すること（処理ロジック802）によっていくつかのシードに数において等しい、（出力として用いる対象の）いくつかの状態も生成する。よって、各セル・オートマタが出力を生成する。
【００４７】
一実施例では、種々のセル・オートマタが同時に用いられる。別の実施例では、種々の「T」値が種々のセル・オートマタに用いられる。しかし、種々の「T」値を用いる場合、この情報は、復号を行う個人に供給されるものであるか、復号を行う個人が分かっているものである。一実施例では、いくつかの出力のうちの少なくとも２つの出力が並列に生成される。一実施例では、いくつかのステップは、遅延を得るよう選ばれる。
【００４８】
セル・オートマタの複数の実行からの複数の出力を用いて、処理ロジックは、複数のシードのうちの1つのシードを除いてシード全てを、いくつかの出力のうちの別個の出力によって暗号化する（処理ブロック803）。よって、セル・オートマタからのいくつかの出力のうちの１つの出力は、いくつかのシードのうちの何れのものを暗号化するのにも用いられない。
【００４９】
シードのうちの何れのものを暗号化するのにも用いられなかった１つのセル・オートマタ出力を用いて、処理ロジックは、１つのセル・オートマタ出力を暗号化鍵として用いて情報を暗号化する（処理ブロック804）。
【００５０】
一実施例では、処理ロジックは、いくつかのシードの全てを、複数のシードのうちの1つのシードを除いて、1<j<kの場合に出力(i)を用いてシード(i−1)を暗号化することによっていくつかの出力のうちの別個の出力によって暗号化する。この実施例では、情報を暗号化する処理ロジックは、情報を出力(1)によって暗号化する工程を備える。
【００５１】
暗号化が完了すると、処理ロジックは、1つのシードと、いくつかのシードといくつかの処理ステップTとの表示と、暗号化情報とに対するアクセスを受信者に備える（処理ブロック805）。1つのシードと、シード数の表示を受信者が用いて暗号化情報を復号し得る。一実施例では、1つのシードと、いくつかのシードの表示と、暗号化情報とに対するアクセスを備える工程は、1つのシードと、いくつかのシードの表示と、暗号化情報とを受信者に送信する工程を備える。
【００５２】
別の実施例では、処理ロジックは、1つのシードと、シード数の表示と、暗号化情報とを受信者に送信する。
【００５３】
図9は、復号処理の一実施例の流れ図である。当該処理は、ハードウェア（例えば、回路、専用ロジックなど）、（汎用コンピュータ・システム上や専用マシン上で実行するものなどの）ソフトウェアや、それらの組み合わせを備え得る処理ロジックによって行われる。
【００５４】
図9によれば、当該処理は、処理ロジックが、暗号化鍵によって暗号化される暗号化情報を受信し、複数シードを受信することによって始まり、シードのうちの１つは暗号化されず、他のシードは暗号化される（処理ブロック901）。
【００５５】
受信情報を用いて、処理ロジックは暗号化シードを復号する（処理ブロック902）。図10は、複数の非暗号化シードを生成する処理の一実施例の流れ図である。当該処理は、ハードウェア（例えば、回路、専用ロジックなど）、（汎用コンピュータ・システム上や専用マシン上で実行するものなどの）ソフトウェアや、それらの組み合わせを備え得る処理ロジックによって行われる。図10を参照すれば、当該処理は、処理ロジックがセル・オートマタを非暗号化シードから始めていくつかのステップについて実行してセル・オートマタ出力を実行することによって始まる（処理ブロック1001）。処理ロジックは、暗号化シードのうちの１つを復号して非暗号化シードを生成するよう、セル・オートマタ出力を用いる（処理ブロック1002）。処理ロジックは、セル・オートマタを処理ブロック1101によって生成される非暗号化シードから始めて、繰り返して実行して新たなセル・オートマタ出力を生成し、新たなセル・オートマタ出力を用いて別な暗号化シードを復号化する。この繰り返しは、全てのシードが非暗号化形式になるまで行われる。また、最後のセル・オートマタの出力は、最後のシードを復号することを始めるセル・オートマタの実行の後に処理される（処理ブロック1003）。
【００５６】
図9をもう一度参照すれば、また、図１０を参照すれば、鍵の全てを復号した後、処理ロジックは、最後のセル・オートマタ出力を暗号化鍵として用いて暗号化情報を復号する（図９の処理ブロック９０２、図１０の処理ブロック１００４）。
【００５７】
なお、全体復号時間は、セル・オートマタのステップを行う処理ロジックの速度によって変わってくる。全体復号時間は、オートマタの1つのステップをプロセッサが実行するのに要する時間を総ステップ数で乗算した線形関数である。全体復号時間はプロセッサ速度によって変わってくるので、復号時間は、利用可能なプロセッサ速度の範囲においてしか保証し得るものでない。何れかの仮定処理速度について、最小復号時間を計算することが可能である。重要なことは、プロセッサ速度にかかわらず、セル・オートマタを復号処理の一部として用いる場合、当該処理は、復号鍵を得るのに全てのステップを行わなければならない。すなわち、特定のプロセッサ速度について、指定されるいくつかのステップより早く復号鍵に到達するよう動作のうちの１つを行うことがないようにするために、今まで用いられたことがなかったシードを用いる場合に利用可能な機構は存在するものでない。
【００５８】
（アプリケーション）
本明細書及び特許請求の範囲記載の教示を用い得るアプリケーションはいくつか存在する。一実施例では、暗号化処理及び/又は復号処理は単一の装置（例えば、システム、集積回路）によって行われる。装置は、装置を破壊することなく現時の状態を復元することが可能でないような耐タンパリング性を有し得る。装置は、セル・オートマタを常に循環しており、シード、初期状態及び、セル・オートマタを実行している間に遭遇する特定の状態（例えば、最終状態）を把握している。装置は、時間間隔も把握している。文書や他の情報が装置によって暗号化される場合、装置は、所望の遅延を達成するために必要な最初のシード及びいくつかのステップと、文書又は情報の暗号化バージョンを出力する。その時点で、装置における現時の状態が破壊され、それによって、暗号化情報を復号するのにステップ全ての再計算が必要となるようにする。
【００５９】
一実施例では、これらの装置の複数のものをお互いにリンクして、暗号化情報を生成するよう、複数の時間遅延を得る。
【００６０】
一実施例では、これらの装置は、シード、繰り返し数及び暗号化情報を、同時に、数多くの関係者が利用可能であるようにして（例えば、数多くの関係者に向けてブロードキャストして）それらの関係者が文書を同時に復号することを（同じ処理速度がそのような関係者全てに利用可能であると仮定した場合、）可能にする復号システムとして用い得る。
【００６１】
一実施例では、復号装置の全ては、暗号化マテリアルの送信者と関連付けられる秘密鍵を有する。送信者は自らの公開鍵が分かっている。そのような場合には、暗号化マテリアルを送信することとする場合、初期状態が公開鍵によって暗号化され、それが全ての装置に同時にブロードキャストされる。しかし、送信者の秘密鍵を有している装置しかマテリアルを復号することが可能でない。
【００６２】
一実施例では、暗号化及び/又は復号処理は、1つ又は複数の集積回路によって実施し得る。
【００６３】
別の実施例では、暗号化及び/又は復号処理は、仲介者を用いることによって行い得る。そのようなシナリオでは、仲介者は、情報を復号するうえで他の関係者が用いる鍵やシードを備える。
【００６４】
一実施例では、本明細書及び特許請求の範囲記載の処理は、迷惑メール送信者を制限するのに用い得る。そのような場合には、電子メールの送信者はまず、受信者のアドレスと連結される送信対象コンテンツのハッシュを算出する。この結果算出される数はセル・オートマトンのシードとして用いる。送信者は1000個（又は何れかの任意の数）のステップを計算し、最終状態を電子メール・ヘッダの一部として送信する。受信者は、（同じ算出を実行することによって）算出状態を、電子メールを受け付けること及び/又は示すことの前に検証する。この処理を用いることによって、セル・オートマトンを実行することは、送信者に対して計算費用を、送信者が送信する電子メール毎に課すことになる。計算費用は、多数の電子メール・メッセージを送信しようとする迷惑メール送信者に対する抑止力となる。
【００６５】
（例示的なコンピュータ・システム）
図11は、本明細書及び特許請求の範囲記載の動作の1つ又は複数のものを行い得る例示的なコンピュータ・システムの構成図である。図11を参照すれば、コンピュータ・システム1100は、例示的なクライアント・コンピュータ・システム又はサーバ・コンピュータ・システムを備え得る。コンピュータ・システム1100は、情報を通信する通信機構すなわちバス1111と、バス1111に結合される、情報を処理するプロセッサ1112とを備える。プロセッサ1112は、マイクロプロセッサを含むが、例えばペンティアム(登録商標)プロセッサなどのマイクロプロセッサに限定されるものでない。
【００６６】
システム1100は、情報と、プロセッサ1112によって実行される対象の命令とを記憶する、バス1111に結合された、ランダム・アクセス・メモリ（RAM）や他の（主メモリと呼ばれる）動的記憶装置1104を更に備える。主メモリ1104は、一時変数や他の中間情報をプロセッサ1112による命令の実行中に記憶するのにも用い得る。
【００６７】
コンピュータ・システム1100は、バス1111に結合される、静的情報とプロセッサ1112用命令とを記憶する読み取り専用メモリ（ROM）及び/又は他の静的記憶装置1106並びに、磁気ディスク又は光ディスクやその相当するディスク・ドライブなどのデータ記憶装置1107も備える。データ記憶装置1107は、情報及び命令を記憶するよう、バス1111に結合される。一実施例では、上記メモリのうちの1つ又は複数のものが耐タンパリング性を有する。
【００６８】
コンピュータ・システム1100は、バス1111に結合される、情報をコンピュータ・ユーザに向けて表示する、陰極線管（CRT）ディスプレイ又は液晶ディスプレイ（LCD）などのディスプレイ装置1121に更に結合してもよい。英数字や他のキーを含む英数字入力装置1122も、情報及びコマンド選択をプロセッサ1112に通信するよう、バス1111に結合してよい。別のユーザ入力装置としては、方向情報及びコマンド選択をプロセッサ1112に通信し、ディスプレイ1121上のカーソルの動きを制御するよう、バス1111に結合される、マウス、トラックボール、トラックパッド、スタイラスや、カーソル方向キーなどのカーソル制御1123がある。
【００６９】
バス1111に結合し得る別の装置としては、紙、フィルムや同様な種類の媒体などの媒体の上に命令、データや他の情報を印刷するのに用い得るハード・コピー装置1124がある。更に、スキャナをバス1111に結合してコンピュータ・システム1100とのオーディオ・インタフェーシングを行い得る。バス1111に結合し得る別の装置としては、電話、ハンドヘルド型パーム装置や他のポータブル装置との通信を行う有線/無線通信機能1125がある。
【００７０】
なお、システム1100と何れかの関連付けられるハードウェアとの構成部分の何れか又は全部を本発明に用い得る。しかし、コンピュータ・システムの他の構成が装置の一部又は全部を含み得るということが分かり得る。
【００７１】
本発明の多くの改変及び修正が疑いなく、上記記載を検討した後に当業者に明らかになることになる一方、説明の目的で示し、説明した何れかの特定の実施例が限定的であるとみなすことを何ら意図するものでないこととする。したがって、種々の実施例の詳細への参照は、それ自体が本発明に重要なものとしてみなす特徴しか列挙していないその、本特許請求の範囲記載の請求項の範囲を限定することを意図するものでない。
【図面の簡単な説明】
【００７２】
【図１】復号処理の一実施例を示す流れ図である。
【図２】セル・オートマタのルール30を示す図である。
【図３】セル・オートマタのルール49を示す図である。
【図４】セル・オートマタのルール54を示す図である。
【図５】暗号化処理の一実施例を示す流れ図である。
【図６】復号処理の一実施例を示す流れ図である。
【図７】並列の複数のセル・オートマタを示す図である。
【図８】暗号化処理の一実施例を示す流れ図である。
【図９】復号処理の一実施例を示す流れ図である。
【図１０】複数の非暗号化シードを生成する処理の一実施例の流れ図である。
【図１１】例示的なコンピュータ・システムを示す構成図である。
【符号の説明】
【００７３】
1100  コンピュータ・システム
1104  主メモリ
1106  静的メモリ
1107  大容量記憶メモリ
1111  バス
1112  プロセッサ
1121  ディスプレイ
1122  キーボード
1123  カーソル制御装置
1124  ハード・コピー装置
1125  無線/電話インタフェース
【図１】
2006135969.tif 000003
【図２】
2006135969.tif 000004
【図３】
2006135969.tif 000005
【図４】
2006135969.tif 000006
【図５】
2006135969.tif 000007
【図６】
2006135969.tif 000008
【図７】
2006135969.tif 000009
【図８】
2006135969.tif 000010
【図９】
2006135969.tif 000011
【図１０】
2006135969.tif 000012
【図１１】
2006135969.tif 000013