【手続補正書】
【提出日】平成16年12月7日(2004.12.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
暗号システムにおいて出力を生成する方法において、上記方法は、少なくとも１つの関数を含みかつ複数の離散的な項で表現された数学的システムにおいて数値計算を実行することを含み、
上記方法は、
−  上記数学的システムの少なくとも１つの変数を固定小数点の数として表現するステップと、
−  固定小数点の数として表現された上記少なくとも１つの変数を上記計算が含むように、上記計算を実行するステップと、
−  上記計算から、結果として得られる数を取得するステップとを含み、上記結果として得られる数は、
−  ａ．上記数学的システムに対する解の少なくとも一部と、
−  ｂ．上記数学的システムの数値解に関連した別の計算に使用可能な数と
の少なくとも一方を表現し、
上記方法はさらに、
−  ｉ．上記結果として得られる数のディジットのうちのサブセットと、
−  ｉｉ．上記結果として得られる数から導出された数のディジットのうちのサブセットと
の少なくとも一方を表現するデータのセットを、上記暗号システムの出力として抽出するステップを含む方法。
【請求項２】
上記データのセットは擬似乱数を表現する請求項１記載の方法。
【請求項３】
上記計算は少なくとも第１及び第２の固定小数点の数を含み、各固定小数点の数は小数点分離記号を有し、上記第１の固定小数点の数の小数点分離記号は上記第２の固定小数点の数の小数点分離記号の位置とは異なる位置に位置決めされる請求項１又は２記載の方法。
【請求項４】
上記計算を実行するステップは、上記第１及び第２の固定小数点の数の小数点分離記号を、選択された位置に位置決めすることを含む請求項３記載の方法。
【請求項５】
上記少なくとも１つの関数は非線形である請求項１乃至４のうちのいずれか１つに記載の方法。
【請求項６】
上記結果として得られる数は、
−  整数と、
−  浮動小数点の数と、
−  固定小数点の数と
で構成されるグループから選択された変数として表現される請求項１乃至５のうちのいずれか１つに記載の方法。
【請求項７】
上記数学的システムは、
−  微分方程式と、
−  離散的マッピングと
の少なくとも一方を含む請求項１乃至６のうちのいずれか１つに記載の方法。
【請求項８】
上記微分方程式は、
−  偏微分方程式と、
−  常微分方程式と
の少なくとも一方を含む請求項７記載の方法。
【請求項９】
上記離散的マッピングは、
−  領域を保存するマップと、
−  領域を保存しないマップと
の少なくとも一方を含む請求項７記載の方法。
【請求項１０】
上記数学的システムは、少なくとも１つの状態変数Ｘを決定する少なくとも１つの非線形関数を含む請求項７又は９記載の方法。
【請求項１１】
上記数学的システムは、複数の非線形マッピング関数にてなるセットを含む請求項１０記載の方法。
【請求項１２】
上記マップは、
−  次式の形式を有するロジスティックマップと、
【数１】
2004530919.tif 000001
−  次式の形式を有するアノーソフマップと、
【数２】
2004530919.tif 000002
−  次式の形式を有するエノンマップと
【数３】
2004530919.tif 000003
のうちの少なくとも１つを含む請求項９乃至１１のうちのいずれか１つに記載の方法。
【請求項１３】
上記数学的システムは少なくとも１つの非線形微分方程式を含む請求項１乃至８のうちのいずれか１つに記載の方法。
【請求項１４】
上記数学的システムは、複数の非線形微分方程式にてなるセットを含む請求項１３記載の方法。
【請求項１５】
上記数学的システムは少なくとも１つの正のリヤプノフ指数を有する請求項７乃至１４のうちのいずれか１つに記載の方法。
【請求項１６】
数学的計算の間に少なくとも１回だけ少なくとも１つのリヤプノフ指数を計算することを含む請求項７乃至１４のうちのいずれか１つに記載の方法。
【請求項１７】
上記少なくとも１つの非線形微分方程式は、少なくとも１つの独立変数ｔの関数である少なくとも１つの状態変数Ｘを決定する請求項１３乃至１６のうちのいずれか１つに記載の方法。
【請求項１８】
上記複数の非線形微分方程式にてなるセットはローレンツシステムである請求項１４乃至１７のうちのいずれか１つに記載の方法。
【請求項１９】
上記ローレンツシステムは、次式の微分方程式、
【数４】
2004530919.tif 000004
【数５】
2004530919.tif 000005
【数６】
2004530919.tif 000006
から構成され、Ｘ＝（ｘ，ｙ，ｚ）は状態変数であり、ｔは独立変数であり、σ、ｒ及びｂはパラメータである請求項１８記載の方法。
【請求項２０】
上記計算を実行するステップは、少なくとも１つの以前の解Ｘｍ，ｍ≦ｎ＋１と、独立変数ｔのステップ長ΔＴｎとに基づいて解Ｘｎ＋１を反復して計算することにより、
−  上記非線形微分方程式と、
−  上記複数の非線形微分方程式にてなるセットのうちの上記複数の非線形微分方程式と
の少なくとも一方を数値積分することを含む請求項１３乃至１９のうちのいずれか１つに記載の方法。
【請求項２１】
上記積分するステップは、上記状態変数Ｘの少なくとも１つの初期条件Ｘ０とステップ長の初期値ΔＴ０とを提供することを含む請求項２０記載の方法。
【請求項２２】
上記計算を実行するステップは、上記非線形マッピング関数を数値的に反復することを含む請求項１０乃至１２のうちのいずれか１つに記載の方法。
【請求項２３】
上記反復するステップは上記状態変数Ｘの少なくとも１つの初期条件Ｘ０を提供することを含む請求項２２記載の方法。
【請求項２４】
上記ローレンツシステムの離散化された定式化において、解Ｘｎ＋１は、ステップ長ΔＴ＝（Δｔｘ，ｎ，Δｔｙ，ｎ，Δｔｚ，ｎ）を使用して、
【数７】
2004530919.tif 000007
【数８】
2004530919.tif 000008
【数９】
2004530919.tif 000009
のように計算され、
Δｔｘ，ｎはｘｎ＋１の計算に使用されるステップ長であり、
Δｔｙ，ｎはｙｎ＋１の計算に使用されるステップ長であり、
Δｔｚ，ｎはｚｎ＋１の計算に使用されるステップ長である請求項２０又は２１記載の方法。
【請求項２５】
上記ステップ長ΔＴは上記計算を通じて一定である請求項２０乃至２４のうちのいずれか１つに記載の方法。
【請求項２６】
各積分ステップにおいて、上記ステップ長ΔＴの要素（Δｔｘ，ｎ，Δｔｙ，ｎ，Δｔｚ，ｎ）のうちの少なくとも１つは、上記計算に関連する少なくとも１つの数の関数である請求項２０乃至２５のうちのいずれか１つに記載の方法。
【請求項２７】
各積分ステップにおいて、上記ステップ長ΔＴの要素（Δｔｘ，ｎ，Δｔｙ，ｎ，Δｔｚ，ｎ）のうちの少なくとも１つは、上記数学的システムに対する解である少なくとも１つの解Ｘｍの関数である請求項２６記載の方法。
【請求項２８】
各積分ステップにおいて、上記ステップ長ΔＴの要素（Δｔｘ，ｎ，Δｔｙ，ｎ，Δｔｚ，ｎ）のうちの少なくとも１つは、少なくとも１つの与えられたステップ長ΔＴｍの関数である請求項２６又は２７記載の方法。
【請求項２９】
暗号化鍵及び復号化鍵から選択される鍵は、上記数学的システムにおける少なくとも１つの変数の少なくとも１つの値を決定するために使用される請求項１乃至２８のうちのいずれか１つに記載の方法。
【請求項３０】
上記鍵は上記初期条件Ｘ０の少なくとも一部を決定するために使用される請求項２９記載の方法。
【請求項３１】
上記鍵は上記ステップ長の初期値ΔＴ０の少なくとも一部を決定するために使用される請求項２９又は３０記載の方法。
【請求項３２】
上記鍵は少なくとも１つのパラメータの少なくとも一部を決定するために使用される請求項２９乃至３１のうちのいずれか１つに記載の方法。
【請求項３３】
上記鍵は公開鍵である請求項２９乃至３２のうちのいずれか１つに記載の方法。
【請求項３４】
上記鍵は秘密鍵である請求項２９乃至３２のうちのいずれか１つに記載の方法。
【請求項３５】
上記計算から結果として得られる複数の数を抽出することを含む請求項１乃至３４のうちのいずれか１つに記載の方法。
【請求項３６】
上記抽出するステップは、上記結果として得られる数のｋビットから導出された少なくとも１つの数を抽出することを含む請求項１乃至３５のうちのいずれか１つに記載の方法。
【請求項３７】
上記抽出するステップは、上記結果として得られる数の最下位のｋビットを抽出することを含む請求項１乃至３６のうちのいずれか１つに記載の方法。
【請求項３８】
ｋは８、１６、３２、６４及び１２８よりなるグループから選択された値である請求項３６又は３７記載の方法。
【請求項３９】
複数の数が抽出される請求項３６乃至３８のうちのいずれか１つに記載の方法。
【請求項４０】
上記抽出されたデータのセットは、
−  算術演算と、
−  論理演算と
の少なくとも一方によって操作され、結合されたデータのセットを取得する、請求項１乃至３９のうちのいずれか１つに記載の方法。
【請求項４１】
−  上記抽出されたデータのセットと、
−  上記結合されたデータのセットと
の少なくとも一方は元のデータと結合され、上記元のデータが暗号化される請求項４０記載の方法。
【請求項４２】
−  上記抽出されたデータのセットと、
−  上記結合されたデータのセットと
の少なくとも一方は暗号化されたデータと結合され、上記暗号化されたデータが復号化されて元のデータが取得される請求項４０記載の方法。
【請求項４３】
上記データを結合することはＸＯＲ演算を含む請求項４０乃至４２のうちのいずれか１つに記載の方法。
【請求項４４】
上記計算は、ブロック暗号の暗号化及び復号化システムにおいて平文のブロックを表現するデータに対して作用する、請求項１乃至４３のうちのいずれか１つに記載の方法。
【請求項４５】
上記抽出されたデータのセットは、ブロック暗号の暗号化及び復号化システムにおいて、平文のブロックに対する少なくとも１つの演算を定義するために使用される請求項１乃至４４のうちのいずれか１つに記載の方法。
【請求項４６】
上記データを結合することは、暗号化のための上記元のデータと上記結合されたデータのセットとの加算を含み、かつ復号化のための上記暗号化されたデータからの上記結合されたデータのセットの減算を含む請求項４１乃至４５のうちのいずれか１つに記載の方法。
【請求項４７】
上記データを結合することは、暗号化のための上記元のデータからの上記結合されたデータのセットの減算を含み、かつ復号化のための上記結合されたデータのセットと上記暗号化されたデータとの加算を含む請求項４１乃至４５のうちのいずれか１つに記載の方法。
【請求項４８】
上記抽出されたデータのセットは、暗号化鍵及び復号化鍵の少なくとも一方として使用される請求項１乃至４７のうちのいずれか１つに記載の方法。
【請求項４９】
上記抽出されたデータのセットは、暗号化鍵及び復号化鍵の少なくとも一方を発生するために使用される請求項１乃至４７のうちのいずれか１つに記載の方法。
【請求項５０】
上記抽出されたデータのセットは、ディジタル署名を表現するデータの発生に使用される請求項１乃至４９のうちのいずれか１つに記載の方法。
【請求項５１】
上記抽出されたデータのセットは、ディジタルデータへの電子透かしの埋め込みに使用される請求項１乃至５０のうちのいずれか１つに記載の方法。
【請求項５２】
上記計算は、所定のレジスタ幅を有する電子処理装置を備えた電子装置上で実行される請求項１乃至５１のうちのいずれか１つに記載の方法であって、
−  上記レジスタ幅より大きいビット幅の少なくとも１つの整数を、高々上記レジスタ幅に等しいビット幅をそれぞれ有する少なくとも２つのサブナンバーとして表現するステップと、
−  上記計算の少なくとも１つを上記サブナンバーの各々に対するサブ計算として実行し、高々上記処理装置のレジスタ幅に等しいビット幅の整数として表された少なくとも２つの部分的結果に到達するステップと、
−  上記部分的結果を連結して、上記少なくとも１つの計算の結果の表現を発生させるステップとを含む方法。
【請求項５３】
上記出力は、別のデータのセットを識別する識別値を決定するために使用される請求項１乃至５２のうちのいずれか１つに記載の方法。
【請求項５４】
上記方法は、
−  上記関数の少なくとも１つの選択された変数の範囲を制限するステップをさらに含み、上記範囲は、上記範囲によって制限されない場合に上記選択された変数が上記関数によって有したであろう値を除外するように十分に狭く、
−  計算の結果として得られる上記選択された変数の値が上記範囲を超えているとき、上記選択された変数に上記範囲内の値を割り当てるステップをさらに含む、請求項１乃至５３のうちのいずれか１つに記載の方法。
【請求項５５】
上記方法は擬似乱数発生方法の一部である請求項５４記載の方法。
【請求項５６】
上記方法はさらに、
−  上記数学的システムの少なくとも１つの変数を整数として表現するステップと、
−  上記整数内に仮想小数点分離記号を配置するステップとを含み、これにより上記整数は実数を表現し、
上記計算は、整数として表現された上記少なくとも１つの変数を含み、
上記結果として得られる数は整数として表され、
上記方法はさらに、
−  上記整数における上記仮想小数点分離記号の位置を訂正するステップと、
−  上記結果として得られる数に仮想的な分離記号を配置するステップと
の少なくとも一方を実行することにより、上記結果として得られる数における上記仮想小数点分離記号を、予め決められた位置に位置決めするステップを含む、請求項１乃至５５のうちのいずれか１つに記載の方法。
【請求項５７】
上記出力は擬似乱数を発生するために使用され、
上記方法は、請求項１記載のステップを複数のインスタンスで並列に実行することを含み、
各インスタンスにおいて、上記擬似乱数は、計算の間に発生した少なくとも１つの数から導出された数として決定される、請求項１乃至５６のうちのいずれか１つに記載の方法。
【請求項５８】
上記複数のインスタンスのそれぞれで少なくとも上記計算を実行する間に、上記複数のインスタンス間でデータを送信することを含む請求項５７記載の方法。
【請求項５９】
上記複数のインスタンスのそれぞれで上記擬似乱数を決定する間に、上記複数のインスタンス間でデータを送信することをさらに含む請求項５７又は５８記載の方法。
【請求項６０】
上記各インスタンスにおいて決定された複数の擬似乱数を、
−  算術演算と、
−  論理演算と
の少なくとも一方を使用して共通の擬似乱数に結合することを含む請求項５７乃至５９のうちのいずれか１つに記載の方法。
【請求項６１】
請求項１乃至６０のうちのいずれか１つの方法を実行するコンピュータプログラムを備えたコンピュータプログラム製品。
【請求項６２】
上記コンピュータプログラムは、データを暗号化しかつ復号化するとともに暗号化モード及び復号化モードで実行されるように適応化され、上記コンピュータプログラムはさらに、
ｉ）擬似乱数を再現可能な方法で発生するように適応化され、上記擬似乱数は暗号システムの出力として導出され、上記出力は請求項１乃至６０のうちのいずれか１つに記載の方法によって取得され、
ｉｉ）上記データ及び上記擬似乱数を、
−  算術演算と、
−  論理演算と
の少なくとも一方によって操作し、結合されたデータのセットを取得するように適応化され、
−  上記コンピュータプログラムが暗号化モードで実行されている場合、上記結合されたデータのセットは上記データの暗号化されたバージョンを表現し、
−  上記コンピュータプログラムが復号化モードで実行されている場合、上記結合されたデータのセットは上記データの復号化されたバージョンを表現する請求項６１記載のコンピュータプログラム製品。
【請求項６３】
請求項６１又は６２記載のコンピュータプログラム製品がロードされた、コンピュータが読み取り可能なデータキャリア。
【請求項６４】
請求項６３記載のコンピュータが読み取り可能なデータキャリアに動作可能に接続されたコンピュータであって、上記プログラムを実行するプロセッサ手段を備えたコンピュータ。
【請求項６５】
請求項６１又は６２記載のコンピュータプログラム製品によって生成された抽出されたデータのセットを備えた信号。
【請求項６６】
平文と、数学的システムにおける計算から抽出された少なくとも１つのデータのセットとの組み合わせとして導出されている暗号化されたデータのセットを含む信号であって、上記抽出されたデータのセットを発生するために、請求項６１又は６２記載のコンピュータプログラム製品が使用された信号。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１４８
【補正方法】変更
【補正の内容】
【０１４８】
本発明の第１、第２、第３及び第４の態様に関連して上述されたいずれのステップも、本発明の第５の態様による復号化する方法にさらに適用されてもよい。さらに、本発明の第５の態様によるステップは、後述される本発明の別の態様に含まれてもよい。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１８２
【補正方法】変更
【補正の内容】
【０１８２】
ここで本発明の他の態様に関連して記述された任意のかつすべてのコメント及び議論は、本発明の第１０の態様による方法にも当てはまる。特に、暗号化及び復号化に関連して記述された任意のかつすべてのコメントが当てはまり、また、本発明の第１０の態様による方法も同様に、本発明の任意のかつすべての態様に、特に暗号化及び復号化に関する態様に当てはまる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１８８
【補正方法】変更
【補正の内容】
【０１８８】
ここで本発明の他の態様に関連して記述された任意のかつすべてのコメント及び議論は、本発明の第１１の態様による方法にも当てはまる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１９０
【補正方法】変更
【補正の内容】
【０１９０】
ここで本発明の他の態様に関連して記述された任意のかつすべてのコメント及び議論は、本発明の第１２の態様による方法にも当てはまる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０２００
【補正方法】変更
【補正の内容】
【０２００】
本アルゴリズムは、擬似ランダムシーケンス・ストリーム暗号システム（ＰＲＳＳＣ）に依存する。ＰＲＳＳＣシステムは擬似乱数発生器（図４の外側のボックスの内容物）によって特徴付けられ、当該発生器は、２進数の鍵に基づいて、擬似ランダムなデータのシーケンスを発生する。図４で参照されるように、いわゆる鍵ストリームであるこのシーケンスは、暗号化及び復号化に使用される。鍵ストリームは、可能な各鍵に固有のものである。