(57)【要約】【課題】シーケンスデータの暗号化または復号処理を実行する方法および装置を提供する。【解決手段】第１および第２の非線形関数処理を実行する構成とする。第１の処理は、非線形方式により入力データを出力データにマッピングする。第２の処理は、第１非線形関数の出力データを分割し、分割データをラテンスクェア・ルックアップテーブルの各々に入力し、さらに、複数のラテンスクェア・ルックアップテーブルの出力の連結処理を実行する処理からなる。【選択図】  図４
2004158899.tif 000002
【特許請求の範囲】
【請求項１】
連続するデータワード・シーケンスの暗号化または復号化のためのデータ処理方法であり、
非線形方式により入力データを出力データにマッピングする第１非線形関数実行ステップと、
前記第１非線形関数の出力データに対して、第２の非線形処理として、
前記第１非線形関数の出力データを分割し、
分割データをラテンスクェア・ルックアップテーブルの各々に入力し、さらに、
複数のラテンスクェア・ルックアップテーブルの出力の連結処理を実行するステップと、
を有することを特徴とするデータシーケンスの暗号化または復号化のためのデータ処理方法。
【請求項２】
前記データ処理方法は、さらに、
線形フィードバックシフトレジスタ（ＬＦＳＲ）によるガロアフィールド（ＧＦ：２３２）上におけるデータ生成ステップを有し、
前記第１非線形関数実行ステップは、前記線形フィードバックシフトレジスタ（ＬＦＳＲ）の出力に基づくマッピング処理を実行することを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
前記第１非線形関数実行ステップは、
入力データの分割ステップと、
異なる複数の分割データの組み合わせに対して、ビット・バイ・ビットｍｏｄ２加算値を算出するステップと、
前記ビット・バイ・ビットｍｏｄ２加算値結果を連結するステップと、
を有することを特徴とする請求項１に記載のデータ処理方法。
【請求項４】
ラテンスクェア・ルックアップテーブルを適用した前記第２の非線形処理は｛０，１｝８から｛０，１｝４へのマッピング処理の実行プロセスであることを特徴とする請求項１に記載のデータ処理方法。
【請求項５】
連続するデータワード・シーケンスの暗号化または復号化のためのデータ処理装置であり、
非線形方式により入力データを出力データにマッピングする第１非線形関数実行手段と、
前記第１非線形関数実行手段の出力データに対して非線形処理を実行する第２の非線形処理手段とを有し、
前記第２の非線形処理手段は、
前記第１非線形関数実行手段の出力データを分割する分割手段と、
分割データをマッピングするラテンスクェア・ルックアップテーブルと、
複数のラテンスクェア・ルックアップテーブルの出力の連結処理を実行する連結処理手段と、
を有することを特徴とするデータシーケンスの暗号化または復号化のためのデータ処理装置。
【請求項６】
前記データ処理装置は、さらに、
ガロアフィールド（ＧＦ：２３２）上におけるデータ生成処理を実行する線形フィードバックシフトレジスタ（ＬＦＳＲ）を有し、
前記第１非線形関数実行手段は、前記線形フィードバックシフトレジスタ（ＬＦＳＲ）の出力に基づくマッピング処理を実行する構成であることを特徴とする請求項５に記載のデータ処理装置。
【請求項７】
前記第１非線形関数実行手段は、
入力データの分割処理手段と、
異なる複数の分割データの組み合わせに対して、ビット・バイ・ビットｍｏｄ２加算値を算出する演算手段と、
前記ビット・バイ・ビットｍｏｄ２加算値結果を連結する連結手段と、
を有することを特徴とする請求項５に記載のデータ処理装置。
【請求項８】
前記非線形処理手段は、｛０，１｝８から｛０，１｝４へのマッピング処理を実行するラテンスクェア・ルックアップテーブルを有する構成であることを特徴とする請求項５に記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、セキュアなデータ通信のための暗号処理技術に関し、さらに詳細には、データシーケンスの暗号化または復号化のためのデータ処理方法、およびデータ処理装置に関する。
【０００２】
【従来の技術】
マルチメディア・コマース、あるいはストリーミング・アプリケーション等を含む現行の数多くのマルチメディア関連の議題において、暗号処理構成に基づくアクセス制限のための効果的な暗号処理技術を実現するデザイン構成は、１つの重要な話題である。
【０００３】
例えば、ビデオ・オン・デマンドにおいては、サービスに対する利用料金を支払ったユーザのみが、ビデオあるいは映画を見ることを可能とする構成が求められる。これは、適当な暗号処理技術を適用することで実現可能である。
【０００４】
最適な暗号化処理および復号処理を実現するためには、効率的な鍵（キー）を生成することが重要となる。
【０００５】
近年、ＳＯＢＥＲ−ｔ３２と呼ばれる新しい鍵ストリーム生成装置が開発された。ＳＯＢＥＲ−ｔ３２は、プロジェクト（ＮＥＳＳＩＥ）に提出されたストリーム暗号処理のための鍵ストリーム生成装置である。ＳＯＢＥＲ−ｔ３２は、３２ビット・ワード上での処理を実行し、最長２５６ビット長の秘密鍵を適用する。これは、非線形フィルタとして知られる生成装置のクラスに分類される鍵ストリーム生成装置であると考えられ、この場合は、ガロアフィールドＧＦ（ｑ）上における処理であり、不規則なデシメーション（ｄｅｃｉｍａｔｉｏｎ）処理を伴うものである。
【０００６】
図１に示すように、ＳＯＢＥＲ−ｔ３２は、以下の３つのコンポーネントを有する。すなわち、ＧＦ（２３２）上の線形フィードバックシフトレジスタ（ＬＦＳＲ）１０１、非線形フィルタ（ＮＬＦ）１０２、および、スタッタリング（ｓｔｕｔｔｅｒｉｎｇ）と呼ばれる不規則なデシメーション（ｄｅｃｉｍａｔｉｏｎ）処理を行なうスタッタリング手段１０３である。図１に示す非線形フィルタ（ＮＬＦ）１０２は、ＮＬＦの中心となる部分である。
【０００７】
ＬＦＳＲ１０１の初期状態、および３２ビットキー依存定数：Ｋｏｎｓｔ１０４は、鍵ロード処理により秘密鍵に基づいて初期化される。詳細処理については、Ｐ．ＨａｗｋｅｓおよびＧ．ＲｏｓｅによるＮｏｖｅｍｂｅｒ  ２０００（Ｌｅｕｖｅｎ，Ｂｅｌｇｉｕｍ）  Ｆｉｒｓｔ  ＮＥＳＳＩＥ  Ｗｏｒｋｓｈｏｐに記録されている“Ｐｒｉｍｉｔｉｖｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ａｎｄ  Ｓｕｐｐｏｒｔｉｎｇ  Ｄｏｃｕｍｅｎｔａｔｉｏｎ  ｆｏｒ  ＳＯＢＥＲ−ｔ３２  ｓｕｂｍｉｓｓｉｏｎ  ｔｏ  ＮＥＳＳＩＥ”に説明されている。
【０００８】
ＬＦＳＲ  は、３２ビットワードからなるＬストリームと呼ばれるストリームＳｔを生成する。これは、以下に示す漸化式（ｒｅｃｕｒｒｅｎｃｅ）に基づいて生成される。
【０００９】
【数１】
2004158899.tif 000003
【００１０】
乗算は、ＧＦ（２３２）上において実行され、α＝０ＸＣ２ＤＢ２ＡＡ３である。
【００１１】
ＮＬＦは、ビット・バイ・ビット（ｂｉｔ−ｂｙ−ｂｉｔ）ＸＯＲ演算手段、加算ｍｏｄｕｌｏ２３２、およびＳＢＯＸとして示す８×３２ビット置換ボックスを持つ。以下の式で示す３２ビットワード・シーケンス｛ｖｔ｝を生成するためにＬストリームがＮＬＦを介して与えられる。
【００１２】
【数２】
2004158899.tif 000004
【００１３】
上記式において、ｆ（・）は、所定のＳＢＯＸを適用した非線形関数であり、＋（ｍｏｄ）は、２つの３２ビットワードのｍｏｄｕｌｏ２３２加算を示す。ＳＢＯＸの入力は、Ｓｔ＋（ｍｏｄ）Ｓｔ＋１６、の最上位８ビットを示し、ＳＢＯＸの出力として３２ビット出力が生成される。
【００１４】
ＳＢＯＸは、スキップジャック置換ボックス（Ｓ−ｂｏｘ）と、ブリスベン、クイーンズランド工科大学の情報セキュリティ研究所（ＩＳＲＣ）のデザインによるＳ−ＢＯＸとの組み合わせにより構成される。
【００１５】
スキップジャックについては、”ＮＩＳＴ  Ｆｅｄｅｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｔａｎｄａｒｄ  Ｐｕｂｌｉｃａｔｉｏｎ  １８５  ”Ｅｓｃｒｏｗｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ”．  ＵＳ  Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｆｏｒ  Ｓｔａｎｄａｒｄｓ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ，  ＵＳ  Ｄｅｐａｒｔｍｅｎｔ  ｏｆ  Ｃｏｍｍｅｒｃｅ，  Ｆｅｂｒｕａｒｙ  １９９４”を参照されたい。
【００１６】
ＳＢＯＸの出力の最上位８ビット（ＭＳＢｓ）は、スキップジャックＳ−ｂｏｘの出力に等しい。ＳＢＯＸの出力における最下位２４ビット（ＬＳＢｓ）は、ＩＳＲＣによって構成されたＳ−ｂｏｘの出力に等しい。
【００１７】
ｆ（・）からの出力の８つのＭＳＢは、ＳＢＯＸの８ＭＳＢに等しく、２４のＬＳＢは、ＳＢＯＸからの２４のＬＳＢと、ｆ（・）入力の対応する２４ＬＳＢとのビット・バイ・ビットｍｏｄｕｌｏ２加算値に等しい。
【００１８】
スタッタリング手段は、｛ｖｔ｝シーケンスについて、鍵ストリームに対する出力として、シーケンスから選択すべき次の数ワードを決定するため、シーケンス｛ｖｔ｝について、｛ｖｔ｝から抽出した所定ワードを適用したデシメーションを実行する。ＮＬＦの第１出力は、第１スタッタ（ｓｔｕｔｔｅｒ）制御ワード（ＳＣＷ）であり、スタッタリング（ｓｔｕｔｔｅｒｉｎｇ）は、以下のように実行される。
【００１９】
ＳＣＷは、ディビット（ｄｉｂｉｔｓ）と呼ばれる１６のビット組みに分けられる。最下位ディビットを最初の処理対象として、スタッタリング手段が、ディビット値を読み、４つの処理の中からディビットの値に応じた処理を実行する。ディビットの値に応じた処理について図２の表に示す。
【００２０】
すべてのディビットが読込まれると、ＬＦＳＲはクロックを発生し、ＮＬＦの出力は次のＳＣＷとなり、同様の処理が繰り返される。この処理はｎ個の鍵ストリームワードが、生成されるまで繰り返される。
【００２１】
ある特定の鍵ストリーム生成装置の出力を生成する初期化フェーズの間、Ｋｏｎｓｔは、あるＮＬＦ出力にセットされ、同じ秘密鍵および異なるセッション鍵用として、｛０，１｝３２から異なる値を引出す。
【００２２】
【発明が解決しようとする課題】
上述したＳＯＢＥＲ−ｔ３２について、セキュリティ評価を実行した結果、ＳＯＢＥＲ−ｔ３２は、あるアタックに対して弱いという欠点を持つことが判明した。
【００２３】
この弱点は、採用された非線形フィルタ関数に起因する。そこで、我々は、ＳＯＢＥＲ−ｔ３２の弱点を克服し、改良されたアタックに対して耐性のある新規なフィルタ関数を提案する。
【００２４】
本発明の１つの目的は、アタックに対する弱点を持たない改良されたＳＯＢＥＲ−ｔ３２を提供することにある。
【００２５】
さらに、本発明のさらなる目的は、新規なフィルタ関数を適用し、アタックに対する耐性の高いデータシーケンスの暗号化、復号処理を実行する方法および装置を提供することにある。
【００２６】
【課題を解決するための手段】
本発明の第１の側面は、
連続するデータワード・シーケンスの暗号化または復号化のためのデータ処理方法であり、
非線形方式により入力データを出力データにマッピングする第１非線形関数実行ステップと、
前記第１非線形関数の出力データに対して、第２の非線形処理として、
前記第１非線形関数の出力データを分割し、
分割データをラテンスクェア・ルックアップテーブルの各々に入力し、さらに、
複数のラテンスクェア・ルックアップテーブルの出力の連結処理を実行するステップと、
を有することを特徴とするデータシーケンスの暗号化または復号化のためのデータ処理方法にある。
【００２７】
さらに、本発明のさらなる側面において、前記データ処理方法は、さらに、線形フィードバックシフトレジスタ（ＬＦＳＲ）によるガロアフィールド（ＧＦ：２３２）上におけるデータ生成ステップを有し、前記第１非線形関数実行ステップは、前記線形フィードバックシフトレジスタ（ＬＦＳＲ）の出力に基づくマッピング処理を実行することを特徴とする。
【００２８】
さらに、本発明のさらなる側面において、前記第１非線形関数実行ステップは、入力データの分割ステップと、異なる複数の分割データの組み合わせに対して、ビット・バイ・ビットｍｏｄ２加算値を算出するステップと、前記ビット・バイ・ビットｍｏｄ２加算値結果を連結するステップと、を有することを特徴とする。
【００２９】
さらに、本発明のさらなる側面において、ラテンスクェア・ルックアップテーブルを適用した前記第２の非線形処理は｛０，１｝８から｛０，１｝４へのマッピング処理の実行プロセスであることを特徴とする。
【００３０】
さらに、本発明のさらなる側面において、
連続するデータワード・シーケンスの暗号化または復号化のためのデータ処理装置であり、
非線形方式により入力データを出力データにマッピングする第１非線形関数実行手段と、
前記第１非線形関数実行手段の出力データに対して非線形処理を実行する第２の非線形処理手段とを有し、
前記第２の非線形処理手段は、
前記第１非線形関数実行手段の出力データを分割する分割手段と、
分割データをマッピングするラテンスクェア・ルックアップテーブルと、
複数のラテンスクェア・ルックアップテーブルの出力の連結処理を実行する連結処理手段と、
を有することを特徴とするデータシーケンスの暗号化または復号化のためのデータ処理装置にある。
【００３１】
さらに、本発明のさらなる側面において、前記データ処理装置は、さらに、ガロアフィールド（ＧＦ：２３２）上におけるデータ生成処理を実行する線形フィードバックシフトレジスタ（ＬＦＳＲ）を有し、前記第１非線形関数実行手段は、前記線形フィードバックシフトレジスタ（ＬＦＳＲ）の出力に基づくマッピング処理を実行する構成であることを特徴とする。
【００３２】
さらに、本発明のさらなる側面において、前記第１非線形関数実行手段は、入力データの分割処理手段と、異なる複数の分割データの組み合わせに対して、ビット・バイ・ビットｍｏｄ２加算値を算出する演算手段と、前記ビット・バイ・ビットｍｏｄ２加算値結果を連結する連結手段と、を有することを特徴とする。
【００３３】
さらに、本発明のさらなる側面において、前記非線形処理手段は、｛０，１｝８から｛０，１｝４へのマッピング処理を実行するラテンスクェア・ルックアップテーブルを有する構成であることを特徴とする。
【００３４】
【発明の実施の形態】
ＳＯＢＥＲ−ｔ３２は、ガロアフィールドＧＦ（ｑ）上において、不規則なデシメーション（ｄｅｃｉｍａｔｉｏｎ）処理を実行する一般的な非線形フィルタを適用した鍵ストリーム生成装置の１つの具現化例である。適用されているフィルタの解析結果に基づいて、改良された鍵ストリーム生成装置をもたらす新規なフィルタを提案する。ＳＯＢＥＲ−ｔ３２の解析は、暗号処理技術のセキュリテイ評価の基本的アプローチに従って、モディファイされたＳＯＢＥＲ−ｔ３２の検討を通じて表されている。
【００３５】
モディファイされたＳＯＢＥＲ−ｔ３２と、オリジナルのＳＯＢＥＲ−ｔ３２の違いは、モディファイされたものは、多少異なる線形フィードバックシフトレジスタ（ＬＦＳＲ）を適用している点である。しかし、これは、長さが１７である点で同一であり、また同一のＧＦ（２３２）フィールド上での処理を行なうものである。
【００３６】
内部状態の不確定性の上限解析により、モディファイＳＯＢＥＲ−ｔ３２における実効キーサイズが、その形式的サイズより７８ビットまで小さいものであることが明らかになっている。解析結果は、ＳＯＢＥＲ−ｔ３２鍵ストリーム生成装置の主要な非線形部における様々な弱点の可能性を指摘しており、また、ＧＦ（２３２）上の適切なＬＦＳＲを適用することの重要性を指摘している。
【００３７】
ここでは、ＳＯＢＥＲ−ｔ３２の改良された変形を提案する。これをＩ−ＳＯＢＥＲ−ｔ３２と呼ぶこととする。Ｉ−ＳＯＢＥＲ−ｔ３２は以下の特徴を持つ。
（ｉ）Ｉ−ＳＯＢＥＲ−ｔ３２における実効秘密鍵サイズは名目サイズに等しいという主張を否定する証拠はない。
（ｉｉ）Ｉ−ＳＯＢＥＲ−ｔ３２は、ＳＯＢＥＲ−ｔ３２と同様の処理を実行するが、適切なＩ−ＳＯＢＥＲ−ｔ３２の実行における時間複雑性は、ＳＯＢＥＲ−ｔ３２の時間複雑性に比べてわずかしか大きくならない。
【００３８】
ＳＯＢＥＲ−ｔ３２の構成の特徴や考えられる弱点を明らかにするために、ＳＯＢＥＲ−ｔ３２およびモディファイＳＯＢＥＲ−ｔ３２の特徴について考察する。以下に解析結果を示し、ＳＯＢＥＲ−ｔ３２を基本とした新規な鍵ストリーム生成装置を提案する。
【００３９】
暗号処理における強度の検証査定のために適用する通常の技術は、コンポーネントの変更、または除去によって変更された構成を適用して評価を行なうものであるので、ここでは、モディファイＳＯＢＥＲ−ｔ３２について考察する。オリジナルＳＯＢＥＲ−ｔ３２とモディファイＳＯＢＥＲ−ｔ３２との違いは、モディファイＳＯＢＥＲ−ｔ３２が多少異なる線形フィードバックシフトレジスタ（ＬＦＳＲ）を適用している点であるが、これは、長さが１７である点で同一であり、また同一のＧＦ（２３２）フィールド上での処理を行なうものである。
【００４０】
本発明に従えば、モディファイＳＯＢＥＲ−ｔ３２の内部状態を再現するリカバリ技術が提供される。これは、実効キーサイズがその形式的サイズよりかなり小さくできることを意味する。モディファイＳＯＢＥＲ−ｔ３２における内部状態についての不確定性の上限解析によって、モディファイＳＯＢＥＲ−ｔ３２における実効キーサイズは、その形式的サイズより７８ビットまで小さいものであることが明らかとなる。
【００４１】
解析結果は、鍵ストリーム生成装置の主要な非線形部における弱点を指摘しており、また、ＧＦ（２３２）上の適切なＬＦＳＲを適用することの重要性を指摘している。
【００４２】
本明細書の構成は以下のようになっている。
パートＡでは、ＳＯＢＥＲ−ｔ３２の解析を説明する。
パートＢでは、本発明に従った処理方法および装置について詳細に説明する。
パートＣでは、結論を述べる。
【００４３】
パートＡのセクションＡ１においては、暗号解析の結果明らかになったＳＯＢＥＲ−ｔ３２の２つの特徴について指摘する。パートＡのセクションＡ２では、モディファイＳＯＢＥＲ−ｔ３２について考察し、モディファイＳＯＢＥＲ−ｔ３２の内部状態のリカバリのためのアルゴリズムを提案し、その複雑性、および実効キーサイズの持つ意味について説明する。パートＢでは、検出された弱点を克服したＳＯＢＥＲ−ｔ３２の改良された変形について提案する。パートＣでは、結論を述べる。
【００４４】
［パートＡ：ＳＯＢＥＲ−ｔ３２の解析］
Ａ−１  非線形フィルタとスタッタリングの解析
ＳＯＢＥＲアルゴリズムについての暗号解析における２つの重要な特徴は、以下に示す定理としてまとめることができる。
【００４５】
定理１．
非線形フィルタのある８ビットが仮定されると、これは線形フィルタになる。
【００４６】
証明：非線形フィルタ（ＮＬＦ）は、（式２）によって定義される。その処理は以下の通りである。ｍｏｄｕｌｏ２３２加算、所定ワードのビット・バイ・ビットＸＯＲ、およびＳＢＯＸによって実行される８回の３２ビット置換処理である。（式３）から導かれる関数ｆ（・）における１回の非線形処理のみがＳＢＯＸの変換処理である。
【００４７】
ＳＢＯＸは、非線形態様で入力８ビットを出力３２ビットにマップする。しかし、これらの入力８ビットが知られていると仮定すると、ＳＢＯＸは定数として解釈される。従って、非線形関数ｆ（・）全体が、ＧＦ（２３２）上の線形関数となり、非線形フィルタは線形フィルタとなる。
【００４８】
定理２．
利用可能な生成装置の出力シーケンスが２２ｋに比例する長さを持つことを想定した場合、スタッタリング（ｓｔｕｔｔｅｒｉｎｇ）が非線形フィルタのｋ個の連続出力を生成装置出力として生成することを期待できる。
【００４９】
証明：非線形フィルタの第１の出力を第１のスタッタ制御ワード（ＳＣＷ）とすると、スタッタリングは、以下の説明のように考えることができる。
【００５０】
ＳＣＷは、１６個のビットの組（各ペアをディビット（ｄｉｂｉｔ）と呼ぶ）に区分する。最下位ディビットを最初の処理対象として、スタッタリング手段が、ディビット値を読み、４つの処理の中からディビットの値に応じた処理を実行する。ディビットの値に応じた処理は、図２の表に示す通りである。
【００５１】
図２に示す表によれば、ＳＣＷがｋ≦１６の連続する“１１”ディビットを含む場合、生成装置からのｋ個の連続する出力ワードは、ＮＬＦにおける定数とのＸＯＲ結果出力として対応するｋ個の連続出力と等しくなる。一方、ＳＣＷがｋの連続する“１１”ディビットを含む確率は、２−２ｋに等しい。先の説明は直接的にこの定理を必ず伴うものとなる。
【００５２】
Ａ−２  モディファイＳＯＢＥＲ−ｔ３２の暗号解析
このセクションでは、ＳＯＢＥＲ−ｔ３２の採用している非線形変換に基づく構成の弱点を指摘し、また、ＧＦ（２３２）上でのＬＦＳＲの適切な選択の重要性の指摘を目的としてモディファイＳＯＢＥＲ−ｔ３２の説明と暗号解析を行なう。
【００５３】
Ａ−２−１  モディファイＳＯＢＥＲ−ｔ３２
ＳＯＢＥＲ−ｔ３２のＬストリームは、以下の漸化式によって生成されることを思いおこされたい。
【００５４】
【数３】
2004158899.tif 000005
【００５５】
乗算は、ＧＦ（２３２）上において実行され、α＝０ＸＣ２ＤＢ２ＡＡ３である。
【００５６】
モディファイＳＯＢＥＲ−ｔ３２においては、Ｌストリームは、以下の漸化式によって生成されると仮定する。
【００５７】
【数４】
Ｓｔ＋１７＝Ｓｔ＋１５＋（ｍｏｄ）Ｓｔ＋４＋（ｍｏｄ）Ｓｔ，…（３’）
【００５８】
上記式において、＋（ｍｏｄ）は、２つの３２ビットワードのｍｏｄｕｌｏ２３２加算を示す。
【００５９】
他の要素は、オリジナルのＳＯＢＥＲ−ｔ３２とモディファイＳＯＢＥＲ−ｔ３２とにおいて同一である。
【００６０】
Ａ−２−２  モディファイＳＯＢＥＲ−ｔ３２の内部状態のリカバリ方法
各時間間隔ｔにおいて、内部状態に依存するＳＯＢＥＲ秘密鍵は、現在のＬＦＳＲ状態とＫｏｎｓｔに従ったものとなる。
【００６１】
このセクションでは、生成装置からの十分長い出力が利用可能であるとの仮定の下に、全ての可能性のある内部状態の完全なサーチよりはるかに簡略化した手法によって内部状態をリカバーするアルゴリズムを提案する。
【００６２】
基本アイディア
内部状態のリカバリアルゴリズムの基本となるアイディアは、前述の定理１、定理２の説明、および以下の考察を含んだものである。
【００６３】
ＬＦＳＲからの出力シーケンスを｛ｘｉ｝ｉ≧１とし、ＬＦＳＲ初期状態が、ｘ０，ｘ−１，・・ｘ−１６，ｘｉ∈ＧＦ（２ｍ）とする。各ｉについて、（ｘｉ（ｍ−１），ｘｉ（ｍ−２），・・，ｘｉ（０））がｘｉのバイナリ表現を示すものとする。最上位ビットがｘｉ（ｍ−１）である。従って、｛ｘｉ（ｋ）｝ｉ，ｋ＝０，１，・・，ｍ−１は、シーケンス｛ｘｉ｝ｉのｋ番目のバイナリ・レイヤを示す。
【００６４】
さらなる解析における重要な特徴は、以下の通りである。任意のｋ，０≦ｋ≦ｍ−１，について、｛ｘｉ（ｋ）｝ｉは、ｊ≦ｋとしたときのＬＦＳＲの初期状態ビット：ｘ０（ｊ），ｘ−１（ｊ），・・，ｘ−１６（ｍ−１）のみに依存する。例えば、ｋ≦ｍ−２としたとき、ｊ＞ｋのときのＬＦＳＲ初期状態ビット：ｘ０（ｊ），ｘ−１（ｊ），・・，ｘ−１５（ｊ）には無関係となる。
【００６５】
これは、ＬＦＳＲにおいて適用されるｍｏｄｕｌｏ加算に従って導かれる特徴である。
【００６６】
ＧＦ（ｑ）上の回帰性のある特徴について以下に説明する。すなわち、開発した暗号処理解析アプローチに関するＧＦ（ｑ）上のある回帰的特徴の例証である。
【００６７】
無作為に選択した回帰処理としての、
ｘｉ＝ｘｉ−２＋（ｍｏｄ）ｘｉ−５，について考察する。
ただし、ｘｉ∈ＧＦ（２３），＋（ｍｏｄ）は、ｍｏｄｕｌｏ８加算を意味する。ＧＦ（８）要素の基本的バイナリ表現を、
ｘｉ＝２２ｘｉ（２）＋２１ｘｉ（１）＋２０ｘｉ（０）とする。
【００６８】
図３に示すリストは、所定の初期状態（ｉ＝１，２，・・５に対応）において想定し得る回帰処理によって生成されるシーケンス例を示している。
【００６９】
図３の例は、シーケンス｛ｘｉ（０）｝ｉが、シーケンス｛ｘｉ（１）｝ｉおよび｛ｘｉ（２）｝ｉに依存することなく生成され得る例を示している。シーケンス｛ｘｉ（１）｝ｉの生成には、｛ｘｉ（０）｝ｉが与えられたとき、回帰順位に等しい長さのセグメントのみが要求される。
【００７０】
従って、このシンプルな例は、ＬＦＳＲの初期状態のレイヤ毎のリカバリ処理の原形を示したものであるといえる。
【００７１】
モディファイＳＯＢＥＲ−ｔ３２の暗号解析アルゴリズムの基本的考え方を以下に説明する。
【００７２】
（１）前述の定理１、定理２に基づいた適切な想定の下での検証を行なう。
（２）ＬＦＳＲおよびＫｏｎｓｔについてのビット・レイヤー・バイ・レイヤー（ｂｉｔ−ｌａｙｅｒ−ｂｙ−ｌａｙｅｒ）のリカバリ処理を行なう。
（３）生成装置出力の部分的出力を実行することによって、各仮説の検証を行なう。
【００７３】
内部状態のリカバリ・アルゴリズム
以下に説明する１に近い確率をともなったアルゴリズムは、モディファイＳＯＢＥＲ−ｔ３２から出力される利用可能な出力シーケンス｛Ｚｔ｝（シーケンスは１６・２３６より長いものと仮定している）を生成したＬＦＳＲ状態を再現（リカバー）するものである。
【００７４】
モディファイＳＯＢＥＲ−ｔ３２の暗号解析アルゴリズム
【００７５】
＊入力
利用可能な生成装置の出力シーケンスとしての、｛Ｚｔ｝ｎｔ＝１、および鍵ストリーム生成装置構成情報。
【００７６】
＊初期化処理
ｔ＝０
【００７７】
＊生成装置の利用可能な出力シーケンスを適用した仮説のテストおよび検証によるＬＦＳＲ状態とＫｏｎｓｔのリカバリ。
【００７８】
−セット  ｔ→ｔ＋１；もし現在のｔが、ｔ＞ｎであるなら、出力（ｂ）に進む。
−すべての各スタッタ制御ワード（ＳＣＷ）と次の１つが、生成装置出力シンボル：ｚｉ（ｉ＝ｔ，ｔ＋１，．．，ｔ＋１７）を生成したと仮定する。ただし最下位２ディビットは“１１”である。
【００７９】
１．ＳＢＯＸ入力ビットに仮定状態をセット
ＳＢＯＸ（１８・８＝１４４ビットの仮定）の１８個の連続入力バイト（８ビット単位）についての事前に考慮されたものではない仮定状態をセット。
【００８０】
２．ＧＦ（ｑ）上において線形式システムを解く。なお、ここで未知数は、ＬＦＳＲの状態、およびＫｏｎｓｔであり、ビット・レイヤー・バイ・レイヤー（ｂｉｔ−ｌａｙｅｒ−ｂｙ−ｌａｙｅｒ）のリカバリ処理を適用する。各ｋ，ｋ＝０，１，．．，３１について以下の処理を実行。
【００８１】
（ａ）もし、ｋ＝０であるなら、以下を実行する。
−ＳＢＯＸの入力が正しいものであるとの仮定のもとに、１８の未知数を持つ１８の式からなる対応システムを解き、１７の連続ＬＦＳＲ出力ビット｛ｘｔ＋ｊ（０）｝１７ｊ＝１、およびビットＫｏｎｓｔ（０）をリカバーする。
【００８２】
（ｂ）もし、ｋ＞０であるなら、以下を実行する。
−ＳＢＯＸの入力が正しいものであり、ｊ＜ｋである先のｊ番目のＬＦＳＲのビットレイヤおよびＫｏｎｓｔが正しくリカバーされたとの仮定のもとに、１８の未知数を持つ１８の式からなる対応システムを解き、１７の連続ＬＦＳＲ出力ビット｛ｘｔ＋ｊ（０）｝１７ｊ＝１、およびビットＫｏｎｓｔ（０）をリカバーする。
【００８３】
３．先にリカバーされたＬＦＳＲ状態とＫｏｎｓｔを適用して１７の連続生成装置出力を生成する。
【００８４】
【数５】
2004158899.tif 000006
【００８５】
＊出力
（ａ）リカバーされたＬＦＳＲ状態：ｘｔ＋ｊ，ｊ＝０，１，．．，１６、およびＫｏｎｓｔ。
（ｂ）完全なＬＦＳＲ状態のリカバリ（再現）あるいは、Ｋｏｎｓｔのフェイル。
【００８６】
Ａ−２−３
ここでの提案に係るアルゴリズム構成によって、以下に説明することが事実として示される。
【００８７】
＊アルゴリズム複雑性の度合いは、２３４・２１４４＝２１７８の仮定のチェツクに比例したものとなることが予測される。
【００８８】
＊各仮定を検証する時間複雑性（Ｔｉｍｅ  ｃｏｍｐｌｅｘｉｔｙ）は、１８の線形式を持つシステムを解くために必要な時間の複雑性に比例する。
【００８９】
＊アルゴリズムのスペース複雑性（Ｓｐａｃｅ  ｃｏｍｐｌｅｘｉｔｙ）は、２３６に比例する。
【００９０】
＊暗号解析において必要となるＳＯＢＥＲからの出力シーケンスの予測長は、１６・２３６＝２４０に比例する。
【００９１】
Ａ−２−４  モディファイＳＯＢＥＲ−ｔ３２の実効キーサイズの上限
ここで提案する前述の定理１，２に基づいたアルゴリズムに基づいて以下に説明する法則が導かれる。
【００９２】
法則１
モディファイされた鍵ストリーム生成装置ＳＯＢＥＲ−ｔ３２における実効キーサイズの上限は、１７８ビットに等しい。
【００９３】
ＳＯＢＥＲ−ｔ３２は、２５６ビット長までの秘密鍵用として構成されているが、法則１に基づいて、以下の結論を導くことができる。
【００９４】
結論１
モディファイＳＯＢＥＲ−ｔ３２の実効キーサイズは、その形式的サイズより小さい７８ビットにすることができる。
【００９５】
［パートＢ：ＳＯＢＥＲ−ｔ３２の改良］
パートＡにおいて説明したセキュリティ評価は、ＳＯＢＥＲ−ｔ３２の内在する弱点を明らかにするものである。この弱点は、採用している非線形フィルター関数に起因する。
【００９６】
さらに詳細に説明すれば、検証された弱点はｆ（・）マッピングの一部として実行される｛０，１｝８→｛０，１｝３２の非線形マッピングの適用、および、非線形フィルタの出力部において、＋（ｍｏｄ），および（ＸＯＲ）の演算処理のみを実行する構成とした結果として発生したものである。
【００９７】
従って、検出された弱点を克服するため、本セクションでは、開発されているアタック（攻撃）に対する耐性の高い新規なフィルタ関数を提案する。オリジナルのフィルタ（上述したＳＯＢＥＲ−ｔ３２）の代わりにこのフィルタ関数を適用することで、改良されたＳＯＢＥＲ−ｔ３２（Ｉ−ＳＯＢＥＲ−ｔ３２）のアルゴリズムが生成される。
【００９８】
この改良、すなわち例えば新ブロック（非線形関数ｆ（・）２０２、および非線形処理手段２０５）を含むブロック図を図４に示す。
【００９９】
図４に示すように、Ｉ−ＳＯＢＥＲ−ｔ３２は、以下の４つの主要コンポーネントを持つ。
【０１００】
ＧＦ（２３２）上の処理を行なう線形フィードバックシフトレジスタ（ＬＦＳＲ）２０１、非線形関数２０２、非線形処理手段２０５、およびスタッタリング手段２０３と呼ばれる不規則なデシメーション（ｄｅｃｉｍａｔｉｏｎ）処理構成である。
【０１０１】
ＬＦＳＲ２０１の初期状態、およびＫｏｎｓｔ２０４と呼ばれる３２ビット鍵依存定数は、鍵ロード処理によってロードされる鍵に基づいて初期化される。
【０１０２】
ＬＦＳＲ２０１は、Ｌストリームと呼ばれる３２ビットワードのストリームＳｔを生成する。これは、下記の漸化式によって生成される。
【０１０３】
【数６】
2004158899.tif 000007
【０１０４】
乗算は、ＧＦ（２３２）上において実行され、α＝０ＸＣ２ＤＢ２ＡＡ３である。
【０１０５】
ここで提案するＩ−ＳＯＢＥＲ−ｔ３２の非線形関数ｆ（・）２０２の詳細構成を図５に示す。
【０１０６】
図５に示すように、非線形関数ｆ（・）２０２は、３２ビットワードに対する処理を実行し、非線形処理により３２ビット入力３０１を、３２ビット出力３１４にマッピングする。このマッピングは、以下に説明する処理によって実行される。
【０１０７】
３２ビット入力データブロック：Ｄ＝［ｄ３１，ｄ３０，．．．，ｄ０］において、ｄ３１は、最重要（最上位）ビットを示し、ｄ０は、最下位ビットを示す。これは、８ビット・バイト３０３に分割される。
Ｄ３＝［ｄ３１，ｄ３０，．．．，ｄ２４］であり、Ｄ２，Ｄ１，Ｄ０は、
Ｄ２＝［ｄ２３，ｄ２２，．．．，ｄ１６］
Ｄ１＝［ｄ１５，ｄ１４，．．．，ｄ８］
Ｄ０＝［ｄ７，ｄ６，．．．，ｄ０］
となる。これらは、２４ビットサブブロック３０４として設定される。
【０１０８】
Ｄ３は、スキップジャックＳ−ＢＯＸ３０８に対して入力される。また、ビット・バイ・ビット（ｂｉｔ−ｂｙ−ｂｉｔ）ｍｏｄ２加算として、Ｄ３（ＸＯＲ）Ｄ２、Ｄ３（ＸＯＲ）Ｄ２（ＸＯＲ）Ｄ１、および、Ｄ３（ＸＯＲ）Ｄ２（ＸＯＲ）Ｄ１（ＸＯＲ）Ｄ０がそれぞれ演算手段３０５，３０６，３０７において計算される。これらの各結果は、ＩＳＲＣ，ＱＵＴ，Ｓ−ｂｏｘ３０９，３１０，３１１に対する入力値とされる。
【０１０９】
ｆ（・）出力の最上位８ビットは、スキップジャックＳ−ｂｏｘ３０８の出力に等しい。また、残りの２４ビットは、ＩＳＲＣ，ＱＵＴ，Ｓ−ｂｏｘ３０９，３１０，３１１の出力を演算手段３１２，３１３において実行するビット・バイ・ビット（ｂｉｔ−ｂｙ−ｂｉｔ）ｍｏｄ２加算結果から取得される。
【０１１０】
スキップジャックＳＢＯＸは、スキップジャック置換ボックス（Ｓ−ｂｏｘ）と、ブリスベン、クイーンズランド工科大学の情報セキュリティ研究所（ＩＳＲＣ）のデザインによるＳ−ＢＯＸとの組み合わせにより構成される。
【０１１１】
スキップジャックについては、”ＮＩＳＴ  Ｆｅｄｅｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｔａｎｄａｒｄ  Ｐｕｂｌｉｃａｔｉｏｎ  １８５  ”Ｅｓｃｒｏｗｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ”．  ＵＳ  Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｆｏｒ  Ｓｔａｎｄａｒｄｓ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ，  ＵＳ  Ｄｅｐａｒｔｍｅｎｔ  ｏｆ  Ｃｏｍｍｅｒｃｅ，  Ｆｅｂｒｕａｒｙ  １９９４”を参照されたい。
【０１１２】
ＳＢＯＸの最上位８ビット（ＭＳＢ）は、スキップジャックＳ−ｂｏｘの出力に等しい。
【０１１３】
Ｉ−ＳＯＢＥＲ−ｔ３２において、新規なｆ（・）を持つ完成されたＮＬＦから取得される出力ワードｖｔは、スタッタリング手段に対する入力とされる新しいワードｖ＊ｔを生成するため非線形処理が施される。
【０１１４】
ＬＳ１〜ＬＳ８は、８つのラテンスクェアテーブルを示している。ラテンスクェアテーブルについては、例えば、”Ａ．  Ｍｅｎｅｚｅｓ，  Ｐ．Ｃ．  ｖａｎ  Ｏｏｒｓｃｈｏｔ  ａｎｄ  Ｓ．Ａ．  Ｖａｎｓｔｏｎｅ，  Ｈａｎｄｂｏｏｋ  ｏｆ  Ａｐｐｌｉｅｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ．  Ｂｏｃａ  Ｒａｔｏｎ：  ＣＲＣ  Ｐｒｅｓｓ，  １９９７”，を参照されたい。各ラテンスクェアテーブルは、｛０，１｝８→｛０，１｝４のマッピング処理を実行する。
【０１１５】
非線形処理手段２０５において実行する最後の非線形処理について、図６を参照して説明する。
【０１１６】
図６に示すように、非線形処理手段２０５は、複数（８つ）のラテンスクェアテーブル４０２−１〜８を有している。これらのルックアップテーブル４０２−１〜８を適用して、入力ワードＶ４０１が出力ワードＶ＊４０３にマップされる。
【０１１７】
第１ワードＶ０を生成する前に初期化を目的として、ＬＳ１−ＬＳ８の出力がすべて０アドレスを持つようにセットされる。各Ｖｔについて、ＬＳ１−ＬＳ８４０２−１〜８を適用して以下に説明する処理が８回繰り返して実行される。
【０１１８】
＊現サイクルの入力として、前サイクルにおけるＬＳ１−ＬＳ８の出力を適用する。
＊８回の繰り返し処理の結果として、ＬＳ１−ＬＳ８はｖ＊ｔを出力する。
【０１１９】
｛０，１｝８→｛０，１｝４のマッピング処理を実行するラテンスクェアテーブルの一例を図７に示す。
【０１２０】
上述の付加した非線形処理構成は、簡易かつ高速なルックアップテーブル処理を適用したものであり、必要となるメモリスペース（ＲＯＭ）は、８・２８バイトの小さなもので十分となる。
【０１２１】
最後に、図４に示すスタッタリング（Ｓｔｕｔｔｅｒｉｎｇ）手段２０３においてシーケンス｛ｖ＊ｔ｝が処理される。
【０１２２】
スタッタリング（Ｓｔｕｔｔｅｒｉｎｇ）手段２０３は、｛ｖ＊ｔ｝の所定ワード適用処理によるシーケンス｛ｖ＊ｔ｝のデシメート（ｄｅｃｉｍａｔｅ）を行なう。これは、これらのシーケンスから次の複数ワードのいずれを鍵ストリーム中に出力すべきかを選択するために行われる。非線形処理手段２０５の第１出力は、第１スタッタ制御ワード（ＳＣＷ）である。スタッタリングは以下の説明に示すように実行される。
【０１２３】
ＳＣＷは、ディビット（ｄｉｂｉｔ）と呼ばれる１６個のビット組に分割される。最下位ディビットを始まりとして、スタッタリング手段が、ディビット値を読み取り、ディビット値に基づいて４つの処理の１つを実行する。ディビット値に対応するアクションは図２の表に示した通りである。
【０１２４】
全てのディビットが読み取られると、ＬＦＳＲ２０１はクロック出力を行ない、非線形処理手段２０５の出力は、次のＳＣＷに移行し、前の処理と同様の処理が実行される。この処理は、鍵ストリームワードナンバーｎが生成されるまで実行される。
【０１２５】
ある特定の鍵ストリーム生成装置出力における生成処理のための初期化処理期間において、Ｋｏｎｓｔ２０４が処理手段２０５の出力に従って所定値にセットされる。同様の秘密鍵および異なるセッション鍵に対して、｛０，１｝３２から異なる値が取得される。
【０１２６】
Ｉ−ＳＯＢＥＲ−ｔ３２の主要な特徴について、以下説明する。
【０１２７】
プロパティ１．
Ｉ−ＳＯＢＥＲ−ｔ３２における実効秘密鍵サイズは名目サイズに等しいという主張を否定する証拠はない。
【０１２８】
プロパティ２
Ｉ−ＳＯＢＥＲ−ｔ３２は、ＳＯＢＥＲ−ｔ３２と同様の処理を実行するが、適切なＩ−ＳＯＢＥＲ−ｔ３２の実行における時間複雑性は、ＳＯＢＥＲ−ｔ３２の時間複雑性に比べてわずかしか大きくならない。
【０１２９】
本発明構成を適用したプライバシー保護構成例
ここで提案している鍵ストリーム生成装置Ｉ−ＳＯＢＥＲ−ｔ３２をプライバシー保護のための暗号処理のコア部分として適用した構成例を図８に示す。
【０１３０】
図８は、サーバ装置５１０と、クライアント装置５２０とを有するデータ通信システムを示している。サーバ装置５１０は、上述した暗号処理アルゴリズムに従って暗号化したデータを送信する。クライアント装置５２０は、データを受信し、上述した復号アルゴリズムに従って受信データを復号する。
【０１３１】
データは、パブリック通信チャネル（例えばインターネット）５３０を介して転送される。
【０１３２】
サーバ装置５１０は、鍵ストリーム生成装置５１５を含むデータ暗号処理手段５１２を有する。このデータ暗号処理手段５１２は、上述したＩ−ＳＯＢＥＲ−ｔ３２鍵ストリーム生成装置５１５に基づくストリーム暗号処理を実行する。この暗号処理において、秘密鍵Ｋ５１３が適用される。
【０１３３】
一方、クライアント装置５２０は、暗号化データ５２１を受信する。クライアント装置５２０は、鍵ストリーム生成装置５１５と同様の鍵ストリーム生成装置５２５を含むデータ復号処理手段５２２を有する。このデータ復号処理手段５２２は、上述したＩ−ＳＯＢＥＲ−ｔ３２鍵ストリーム生成装置５２５に基づくストリーム暗号処理を実行する。この暗号処理において、秘密鍵Ｋ５１３と同様の秘密鍵Ｋ５２３が適用される。
【０１３４】
［パートＣ：結論］
ＳＯＢＥＲ−ｔ３２は、不規則なデシメーション（ｄｅｃｉｍａｔｉｏｎ）を実行し、かつＧＦ（ｑ）上での一般的な非線形フィルタ鍵ストリーム生成装置を実現したものである。
【０１３５】
ここでは、適用されているフィルタの解析結果に基づいて、現存のものに基づいた改良された鍵ストリーム生成装置を実現する新規な構成を提案した。
【０１３６】
モディファイＳＯＢＥＲ−ｔ３２の内部状態を再現（リカバー）する本発明に係るアルゴリズム、およびＳＯＢＥＲ−ｔ３２の改良されたバージョンは、ＳＯＢＥＲ−ｔ３２の解析に基づいて実現したものである。
【０１３７】
モディファイＳＯＢＥＲ−ｔ３２の暗号解析アルゴリズムは、鍵ストリーム生成装置における数学的弱点を探索するものである。
【０１３８】
モディファイされたＳＯＢＥＲ−ｔ３２と、オリジナルのＳＯＢＥＲ−ｔ３２の違いは、モディファイされたものは、多少異なる線形フィードバックシフトレジスタ（ＬＦＳＲ）を適用している点である。しかし、これは、長さが１７である点で同一であり、また同一のＧＦ（２３２）フィールド上での処理を行なうものである。
【０１３９】
モディファイＳＯＢＥＲ−ｔ３２における内部状態の不確定性の上限解析により、２１７８の仮定に対する消耗的なサーチを行なうことなく、生成装置からの２４０の出力を提供することが示された。
【０１４０】
従って、実効キーサイズは、１７８ビットの上限であり、モディファイＳＯＢＥＲ−ｔ３２における実効キーサイズが、その形式的サイズより７８ビットまで小さいものであることが明らかになった。
【０１４１】
ここでの検証の結果、ＳＯＢＥＲ−ｔ３２の構成における弱点はマッピングとして実行される｛０，１｝８→｛０，１｝３２の非線形マッピングの適用、および、非線形フィルタの出力部において、＋（ｍｏｄ），および（ＸＯＲ）の演算処理のみを実行する構成とした結果として発生したものであることが明らかになった。
【０１４２】
さらに、ＧＦ（２３２）上での適切なＬＦＳＲを適用することの重要性が示され、ＳＯＢＥＲ−ｔ３２において適用された非線形フィルタの弱点に基づいて、新規な非線形フィルタが提案された。
【０１４３】
これは、説明した既存の構成における弱点に対する耐性を有するものであり、実行処理における複雑性は、既存のものとほぼ同様である。
【０１４４】
ここで提案した新規な非線形フィルタ鍵ストリーム生成装置は、Ｉ−ＳＯＢＥＲ−ｔ３２と呼ばれる。Ｉ−ＳＯＢＥＲ−ｔ３２における実効秘密鍵サイズは名目サイズに等しいという主張を否定する証拠はない。
【０１４５】
Ｉ−ＳＯＢＥＲ−ｔ３２は、ＳＯＢＥＲ−ｔ３２と同様の処理を実行するが、適切なＩ−ＳＯＢＥＲ−ｔ３２の実行における時間複雑性は、ＳＯＢＥＲ−ｔ３２の時間複雑性に比べてわずかしか大きくならない。
【０１４６】
以上、特定の実施例に基づいて、本発明を説明してきたが、本発明は、実施例に限定されるものではない。当業者が該実施例の修正や代用を成し得ることは自明である。本発明の要旨、すなわち、特許請求の範囲の欄の記載を逸脱しない範囲で実施例の修正や代用は成し得るものである。
【０１４７】
【発明の効果】
本発明によれば、考察されたアタック（攻撃）に対して耐性を有する改良されたＳＯＢＥＲ−ｔ３２が実現される。
【０１４８】
さらに、本発明の構成によれば、考察されたアタック（攻撃）に対して耐性を有する非線形関数を適用した暗号処理鍵の生成方法および装置が提供される。
【図面の簡単な説明】
【図１】ＳＯＢＥＲ−ｔ３２の構成を示すブロック図である。
【図２】スタッタリング処理におけるディビット対応アクションについて説明する図である。
【図３】ＧＦ（ｑ）上での怪奇処理により生成されるシーケンス例を示す図すである。
【図４】鍵ストリーム生成装置を基本構成とした改良されたＳＯＢＥＲ−ｔ３２を示すブロック図である。
【図５】鍵ストリーム生成装置を基本構成とした改良されたＳＯＢＥＲ−ｔ３２における非線形関数構成を示すブロック図である。
【図６】鍵ストリーム生成装置を基本構成とした改良されたＳＯＢＥＲ−ｔ３２における非線形処理手段構成を示すブロック図である。
【図７】ラテンスクェアルックアップテーブルの一例を示す図である。
【図８】鍵ストリーム生成装置を基本構成とした改良されたＳＯＢＥＲ−ｔ３２を適用したデータ通信システム構成を示すブロック図である。
【符号の説明】
１０１  線形フィードバックシフトレジスタ（ＬＦＳＲ）
１０２  非線形フィルタ（ＮＬＦ）
１０３  スタッタリング手段
１０４  ３２ビット鍵依存定数（Ｋｏｎｓｔ）
２０１  線形フィードバックシフトレジスタ（ＬＦＳＲ）
２０２  非線形フィルタ（ＮＬＦ）
２０３  スタッタリング手段
２０４  ３２ビット鍵依存定数（Ｋｏｎｓｔ）
２０５  非線形処理手段
３０８  スキップジャックＳ−ｂｏｘ
３０９，３１０，３１１  ＩＳＲＣ，ＱＵＴ  Ｓ−ｂｏｘ
４０２  ラテンスクェアルックアップテーブル
５１０  サーバ装置
５１１  データ
５１２  暗号化処理手段
５１３  秘密鍵Ｋ
５１５  鍵ストリーム生成装置
５２０  クライアント装置
５２１  暗号化データ
５２２  復号処理手段
５２３  秘密鍵
５２４  平文データ
５２５  鍵ストリーム生成装置
５３０  パブリック通信チャネル
【図１】
2004158899.tif 000008
【図２】
2004158899.tif 000009
【図３】
2004158899.tif 000010
【図４】
2004158899.tif 000011
【図５】
2004158899.tif 000012
【図６】
2004158899.tif 000013
【図７】
2004158899.tif 000014
【図８】
2004158899.tif 000015
【外国語明細書】
2004158899.tif 000016
2004158899.tif 000017
2004158899.tif 000018
2004158899.tif 000019
2004158899.tif 000020
2004158899.tif 000021
2004158899.tif 000022
2004158899.tif 000023
2004158899.tif 000024
2004158899.tif 000025
2004158899.tif 000026
2004158899.tif 000027
2004158899.tif 000028
2004158899.tif 000029
2004158899.tif 000030
2004158899.tif 000031
2004158899.tif 000032
2004158899.tif 000033
2004158899.tif 000034
2004158899.tif 000035
2004158899.tif 000036
2004158899.tif 000037
2004158899.tif 000038
2004158899.tif 000039
2004158899.tif 000040
2004158899.tif 000041
2004158899.tif 000042
2004158899.tif 000043
2004158899.tif 000044
2004158899.tif 000045
2004158899.tif 000046
2004158899.tif 000047
2004158899.tif 000048
2004158899.tif 000049
2004158899.tif 000050
2004158899.tif 000051
2004158899.tif 000052
2004158899.tif 000053
2004158899.tif 000054
2004158899.tif 000055
2004158899.tif 000056
2004158899.tif 000057
2004158899.tif 000058
2004158899.tif 000059
2004158899.tif 000060
2004158899.tif 000061
2004158899.tif 000062
2004158899.tif 000063
2004158899.tif 000064
2004158899.tif 000065
2004158899.tif 000066
2004158899.tif 000067
2004158899.tif 000068
2004158899.tif 000069
【図７】2004158899.tif 000070
2004158899.tif 000071
2004158899.tif 000072