(57)【要約】先行技術の暗号化システムとの互換性を保ち且つ先行技術のキーの長さの２倍であるシークレットキー（Ｚ１およびＺ５）情報と自由に選択可能である制御情報に基づいて最初のブロック（Ｘ１）から最後のブロック（Ｙ１）に変換するデジタル通信を暗号化し且つ復号化することにおいて用いる方法および装置。
2004531778.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロック暗号装置を用いる暗号化によりセキュリティを確保するデジタル通信システムであって：
デジタル信号を暗号化し且つ復号化するために第１固定長の選択的可変キーに対応する少なくとも１つのブロック暗号装置；
デジタル信号を暗号化し且つ復号化するために第１固定長の選択的可変キーとは異なる第２固定長の選択的可変キーに対応する少なくとも１つのブロック暗号装置；並びに
前記第２ブロック暗号装置により暗号化されたデータを復号化するために前記第１ブロック暗号装置に選択的に適応させるための手段；
から構成されることを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムであって、前記第１キーの長さは前記第２キーの長さの２倍である、ことを特徴とする通信システム。
【請求項３】
請求項２に記載の通信システムであって、前記適応させるための手段は前記第１キーと
して前記第２キーを二重に使用し且つ反復するための手段を含む、ことを特徴とする通信システム。
【請求項４】
デジタル信号を暗号化し且つ復号化するために第１固定長の選択的可変キーに対応する少なくとも１つのブロック暗号装置、およびデジタル信号を暗号化し且つ復号化するために第１固定長の選択的可変キーとは異なる第２固定長の選択的可変キーに対応する少なくとも１つのブロック暗号装置を有する、複数のブロック暗号装置を用いる暗号化によりセキュリティを確保するデジタル通信システムにおいて、第１キーを有するブロック暗号装置におけるモジュロオペレータの最も下流の操作を効果的に抑制する段階から構成される第２キーを有するブロック暗号装置を用いる操作のための第２キーを有するブロック暗号装置に適応することを特徴とする方法。
【請求項５】
請求項４に記載の方法であって、効果的に抑制する段階は、第２ブロック暗号装置のキーの２つのシーケンシャル反復に適合する第１ブロック暗号装置のキーを修正する手順により得られる、ことを特徴とする方法。
【請求項６】
暗号化によりセキュリティを確保するデジタル通信システムにおいて、デジタル信号を暗号化し且つ復号化するための第１キーの長さの半分の長さに固定される第２選択的変数に対応するブロック暗号装置を用いる操作のためのデジタル信号を暗号化し且つ復号化するために第１固定長の選択的可変キーに対応する少なくとも１つのブロック暗号装置を有することを有するブロック暗号装置に選択的に適応する方法であって：
（ａ）２つの同等なセクション各々における第１キージェネレータに第２キージェネレータの機能をもつ複製を提供する段階；
（ｂ）第１キーのセクション両方に第２キーを複製する段階；
（ｃ）第１段階において信号を暗号化し且つ復号化するために２つのセクションの１つにより提供されるシンボルを用いる段階；並びに
（ｄ）第２段階に適用されるシンボルをキャンセルするために第１キージェネレータの２つのセクションにより提供されるシンボルを結合させる段階；
から構成されることを特徴とする方法。
【請求項７】
暗号化によりセキュリティを確保するデジタル通信システムにおいて情報を暗号化し且つ復号化するためのブロック暗号装置であって：
第１キーデータサブブロックを生成するためのキーデータブロックの第１部分に対応する第１関数ユニットと、第２キーデータサブブロックを生成するためのキーデータブロックの第２部分に対応する第２関数ユニットと、から構成される、キーデータブロックに対応するキースケジューラユニット；並びに
キーデータブロックの第１部分がキーデータブロックの第２部分と同等の場合に、暗号化段階がデータを暗号化しない第１キーデータサブブロックおよび第２キーデータサブブロックに対応する暗号化段階であって、第１関数ユニットは第２関数ユニットと同等である、暗号化段階；
から構成されることを特徴とするブロック暗号装置。
【請求項８】
入力データブロック、制御データブロック、キーデータサブブロック、およびキーデータサブブロックをランダム化するためのキースケジューラに対応する複数の暗号化段階を有する、暗号化によりセキュリティを確保するデジタル通信システムにおいて情報を暗号化し且つ復号化することを用いるブロック暗号装置であって、キースケジューラは：
第１シフトレジスタ；
前記第１シフトレジスタに対応するキーデータブロックの一部をランダム化するための第１手段；
第１結合データ出力を提供するために前記第１ランダム化手段からのシリアル出力と第１シフトレジスタからのシリアル出力とを連続的に結合するための第１モジュロ２加算コンバイナ；
前記第１シフトレジスタのコンテンツから導き出される第１キーデータサブブロック；
第２シフトレジスタ；
前記第２シフトレジスタに対応するキーデータブロックの一部をランダム化するための第２手段；
第２結合データ出力を提供するための前記第１ランダム化手段からのシリアル出力と第１シフトレジスタからのシリアル出力とを連続的に結合するための第１モジュロ２加算コンバイナ；
前記第２シフトレジスタのコンテンツから導き出される第２キーデータサブブロック；
第３キーデータサブブロックを生成するために前記第１キーデータサブブロックと前記第２キーデータサブブロックとを結合させるための第３モジュロ２加算コンバイナ；
第４キーデータサブブロックを生成するための第２キーデータサブブロックに対応する第１関数ユニット；並びに
前記複数の暗号化段階の異なる段階に前記第１、第３および第４キーデータサブブロックを提供するための回路手段；
から構成されることを特徴とするブロック暗号装置。
【請求項９】
請求項８に記載のブロック暗号装置であって、前記第１ランダム化手段および第２ランダム化手段の両方は選択的にカスタム化されたルックアップテーブルを含む、ことを特徴とするブロック暗号装置。
【請求項１０】
請求項１１に記載のブロック暗号装置であって、前記ランダム化第１手段およびランダム化第２手段のカスタム化されたルックアップテーブルは同じである、ことを特徴とするブロック暗号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルデータの暗号化ブロックおよび復号化ブロックに関し、さらに詳細には、２倍のキーの長さであって著しく増加された暗号強度をもつ改善ブロック暗号を用いる一方、従来技術のシステムとの相互運用性のためのモードをさらに提供する、少なくとも１つの自由に選択可能な制御ブロックを用いて第１デジタルブロックから第２デジタルブロックへのブロック毎の変換のための暗号方法および装置に関する。
【背景技術】
【０００２】
デジタル通信システムの利用はコマースにおいて急激に成長しており、このことは、少なくとも十分な期間において一般的な“暗号解読法”またはクラッキング技術に対して安全である暗号システムの必要性を喚起している。Ｍａｓｓａｙ等による米国特許第５，２１４，７０３号明細書に開示されているような先行技術のシステムは、平文ブロックの暗号化および暗号文ブロックの復号化の両方のために適切であるブロック暗号装置を用いている。
【０００３】
本出願と共通の発明者を有し且つ同一出願人による、Ｋｕｒｄｚｅｉｌ等による米国特許第６，１０８，４２１号明細書に開示されているような先行技術は、標準的な暗号解読技術に対して無防備でなく且つカスタマイズすることが可能である拡張可能なブロック暗号装置に関する。
【０００４】
堅牢でエンハンスされた暗号化データのセキュリティを提供するために複数の暗号化を用いることが知られている。しかしながら、そのような複数暗号化スキームは不利点を有する。複数暗号化スキームは、暗号解読システムによる複数回の繰り返しを必要とする。二重のハードウェアブロックの場合、これはハードウェアレンダリングにおけるゲートカウント（ｇａｔｅ  ｃｏｕｎｔ）および電力消費を二倍または三倍にする。単一ブロックの実行が繰り返される場合、暗号システムが機能することができる最大速度は、必要とされる繰り返し回数に応じて二分の一または三分の一に減少する。
【０００５】
さらに、複数暗号化スキームは、暗号方法は“群”のような数学関数でないことが要求される。暗号方法が群である場合、複数暗号化スキームにおいてそれを用いることによりセキュリティエンハンスメントは何ら得られない。このことの重要性は、暗号システムは群でないことを結果的に証明することがしばしば不可能であることである。実際には、群の挙動を近似する暗号システムは、複数の暗号化スキームにおいて用いられるとき、少なからずセキュリティのもろさを出すことである。
【０００６】
それ故、拡張可能であってカスタマイズ可能であり、複数暗号化スキームのエンハンスド暗号強度の全てを提供するが、複数暗号化に関連する厳しい不利点のないブロック暗号装置が求められている。
【発明の開示】
【課題を解決するための手段】
【０００７】
したがって、本発明の目的は、有効な暗号解読またはクラッキング技術に対して安全である、新規な拡張可能ブロック暗号装置を提供することである。
【０００８】
本発明の他の目的は、従来技術の暗号装置との互換性を保ちつつ、エンハンスドセキュリティを提供する新規な拡張可能ブロック暗号装置を提供することである。
【０００９】
本発明の他の目的は、ハードウェアレンダリングのゲートカウントが比例的に増加することなく、二倍の暗号強度を有する新規な拡張可能ブロック暗号装置を提供することである。
【００１０】
本発明のこれらのおよび多くの他の目的および優位性は、本発明の同時提出の請求項、添付図面および以下の本発明の好適な実施形態の詳細説明にあることが、当業者には容易に判明するであろう。
【発明を実施するための最良の形態】
【００１１】
図１を参照するに、ブロック暗号装置１００は、非再帰的であり、入力ユニット（図示せず）、９個の暗号化ステージ１乃至８および１２、出力ユニット（図示せず）およびキースケジューリングユニット９を含む。
【００１２】
入力ユニットおよび出力ユニットは、ブロック暗号装置１００におよびその装置から入力および出力データを集め、およびバッファリングする。入力ユニットおよび出力ユニットの構造は、一般に、アプリケーション（例えば、直列または並列）に依存する。入力ユニットおよび出力ユニットはブロック暗号装置１００に特異なものではない。
【００１３】
ブロック暗号装置は、３つの入力変数Ｘ、Ｚ１およびＺ９を受信し、出力変数Ｙを生成する。Ｘはブロック暗号装置１００への１次トラフィック入力であり、Ｙは１次トラフィック出力である。Ｚ１とＺ９は外部から適用される変数とすることが可能である。Ｚ９は、暗号化または復号化に先立ち、セキュアチャネル（例えば、シールドカバーをもつクーリエ）を経由してブロック暗号装置１００への入力である秘密“キー”変数とすることが可能である。Ｚ１（または、“顧客アルゴリズム修正”変数）とＺ１のサブユニット（即ち、Ｚ２、Ｚ３、Ｚ５およびＺ６）はブロック暗号装置１００の第１、第２、第３、第４および第５ユニットにおいて操作される。ブロック暗号装置１００の出力Ｙは、一次トラフィックＸ、キー変数Ｚ９および変数Ｚ１の唯一の関数である。
【００１４】
図１を継続して参照するに、各々の暗号化段階は少なくとも６４ビットＩ／Ｏ空間を有する。暗号化段階１、５、６および８は、モジュラ演算ロジックから成る。段階１、５および８はモジュラ加算を実行し、段階６はモジュラ３乗化操作を実行する。各々の段階は異なるモジュールを用いる。段階７は不可逆的な“中間変換”である。さらに、段階１、５、６、７および８は、より低いレベルの操作のセットへのセグメント化はできない。これらのデザインの特徴は、一般的な“暗号解読法”またはクラッキング技術に対して、ブロック暗号装置を安全にする。
【００１５】
段階２および４は“ニブルスワップ”ブロックである。これらのブロックは、アルゴリズムの構造が外部から適用される入力Ｚ１に基づいて変化されることを可能にする。段階３はカスタム化可能な代用／拡張ブロックである。これは、入力Ｗ２とＺ３および出力Ｗ３を伴うカスタム操作がブロック暗号装置構造に挿入されることを加納にする。これは唯一のアルゴリズム変数が実行されることを可能にする。ブロック３の構造は任意ではなく、安全な暗号デザインについての条件を満たさなければならない。カスタム代用／拡張ブロックのデザインは対象となるエンドユーザにのみに開示されている。
【００１６】
入力ユニット１０はブロック暗号装置１００への入力データをアセンブル且つバッファリングし、出力ユニットはブロック暗号装置１００からの出力データをアセンブル且つバッファリングする。
【００１７】
段階１、５および８のような暗号化段階１２はモジュラ加算操作を実行する。キースケジューリングユニット９は、外部から適用される入力変数Ｚ９を受け入れ、３つの擬似ランダムビットパターンＺ４、Ｚ７およびＺ８を決定論的に生成する。これらのパターンは、ブロック１２、５および８それぞれのための操作として用いられる。
【００１８】
説明を容易にするために、図２、３、４および５は６４ビットブロックの実行について示している。６４ビットブロックは例としてのみに用いることとする。一般に、６４ビットブロックの実行においては、各々のユニットは少なくとも６４ビットの入力／出力空間を有している。任意の入力または出力サイズを有する本発明のブロック暗号装置がブロック暗号装置の操作のサイズを適切にスケーリングすることによりデザインされることができる。
【００１９】
図２を参照するに、第１ユニット１は、第１ユニット１の出力Ｗ１を結果的にもたらす変数Ｚ１を１次トラフィック入力Ｘにおいてモジュロ（ｍｏｄｕｌｏ）２付加（排他的論理和）を実行する。
【００２０】
第２ユニット２はニブルスワップ操作を実行する。第２ユニット２は、第２ユニット２の出力Ｗ２を結果的にもたらすＺ２（例えば、Ｚ１のビット０乃至７）に基づく各々のセグメントを入れ替える。例えば、Ｚ２におけるビット“０”の値が二進数の“１”に等しいとき、ニブルペア“０”の順序は入れ替えられる。同様に、Ｚ２におけるビット“０”が二進数の“０”に等しいとき、その順序は変化しないまま保たれる。各々のニブルペアの順序は、対応するＺ２におけるビットの値により決定される。ビット０の値は、ニブルペア０の順序を制御し、ビット１の値は、ニブルペア７を制御するビット７まで通して続くニブルペア１の順序を制御する。
【００２１】
第３ユニット３は、カスタム代用および拡張ブロック操作を提供するカスタムユニットである。入力Ｗ２とＺ３および出力Ｗ３を用いるカスタム操作をルックアップテーブルの形式でブロック暗号装置１００に挿入することが可能である。カスタムユニットを提供することは、唯一のシステム変数がデザインされ且つ提供されることを可能にする一方、安全な暗号デザインの条件を満たす。例えば、ルックアップテーブルのカスタム化された代用または拡張操作は意図されたエンドユーザのみに対して開示される。
【００２２】
第４ユニットは、Ｗ８が１６ニブルに分割される他のニブルスワップ操作とすることが可能である。Ｚ５（例えば、Ｚ１のビット２４乃至３１）は、第２ユニット２について説明した方法と僅かに異なる方法でＷ８の並べ替えを制御する。例えば、Ｚ５におけるビット“８”の値が二進数の“０”に等しいとき、そのペアの第１ニブルはＷ４の高次のセグメントにおける第１位置に書かれ、第２ニブルはＷ４の低次のセグメントにおける第１位置に書かれる。Ｚ５におけるビット“８”の値が二進数の“１”に等しいとき、２つのニブルはＷ４に書かれる前に入れ替えられる。第２ユニットと同様に、各々のニブルペアの入れ替えはＺ５における対応するビットにより決定される。
【００２３】
第５ユニットはモジュロ付加操作を実行する。Ｗ４およびＺ７は第５ユニットのオペランドである。Ｗ４は第４ユニットの出力であり、Ｚ７はキースケジューラユニット９からの出力である。その操作のモジュラスｑは次式によりＺ６を用いることにより決定される。
【００２４】
ｑ＝２１２８−Ｚ６                                  （１）
ここで、Ｚ６はＺ１のビット３３乃至６４とすることが可能である。
【００２５】
第６ユニット６はモジュラ３乗化操作を実行する。換言すれば、Ｗ５は３乗モジュロｐにされ、その結果はＷ６として表される。モジュラスｐは次式により決定される。
【００２６】
ｐ＝２１２５−Ｘ                                  （２）
変数Ｘは、操作“３”の次数と（ｐ−１）との間の最大公約数が１に等しくなるように選択される。これは次式において得られる。
【００２７】
ＧＣＤ（３，ｐ−１）＝１                        （３）
第７ユニットは、例えば中間変換として知られる操作である不可逆操作を実行する。操作Ｗ６への入力は長さで１２８ビットであり、操作Ｗ７の出力は長さで６４ビットである。
その中間変換は入力の６４ビットを６４ビットの出力に単純にマッピングする。例えば、中間変換はＷ６の３０乃至９３のビットをＷ７の０乃至６３のビットにマッピングすることが可能である。Ｗ６の残りのビットは捨てられる。
【００２８】
第８ユニット８は他のモジュロ付加操作である。Ｗ７とＺ８はこのユニットのオペランドである。Ｗ７は第７ユニットからの出力であり、Ｚ８はキースケジューラ９からの出力である。その操作のモジュラスは２６４として選択される。この段階の出力はブロック暗号装置の出力であり、Ｙ１として指定される。
【００２９】
特定の値が第１、第５、第６および第８ユニット１、５、６および８のために指定されるが、ブロック暗号装置の目的はその選択範囲により満足される。しかしながら、式（３）の制限が満足され、唯一のモジュラスが各々の段階で用いられることが条件となる。“不可逆”ユニットと共に“モジュロ”ユニット１、５、６および８は、低いレベルの操作のセットへのセグメント化はできない。
【００３０】
図３を参照するに、キースケジューラユニット９は、第１関数ユニット１３、第２関数ユニット１６、第３関数ユニット１５、第４関数ユニット１８、第５関数ユニット２２、第１シフトレジスタ１４、第２シフトレジスタ１７、第１モジュロ２付加論理ゲート１９、第２モジュロ２付加論理ゲート２０および第３モジュロ２付加論理ゲートから構成される。
【００３１】
キースケジューリングユニット９は、変数Ｚ４、Ｚ７およびＺ８を生成するためにキー変数Ｚ９を処理する。これらの変数は、暗号化および復号化の間に用いられる。Ｚ１０およびＺ１１は、キー変数Ｚ９の大きい方の半分および小さい方の半分の決定論的関数ｈである。Ｚ１０およびＺ１１は、第３関数ユニット１５および第４関数ユニット１８それぞれの出力であり、シフトレジスタ１４およびシフトレジスタ１７それぞれへの入力である。これらのレジスタの各々は、コンテンツが完全に再循環されるまでに同時に右に１ビットシフトされる。各々のシフトに伴う、各々のレジスタの最も重要でないビットは、その関連するユニット、即ち第１関数ユニット１３または第２関数ユニット１６の出力にモジュロ２付加される。その結果、各々のレジスタの最も重要なビット位置に移動される。第１シフトレジスタ１４と第２シフトレジスタ１７のコンテンツが完全に処理されたとき、それぞれ、変数Ｚ７およびＺ１３として出力される。Ｚ７はキースケジューリングユニット９の３つの擬似ランダム出力の１つとなる。擬似ランダム出力Ｚ４を生成するために、Ｚ１３はＺ７にモジュロ２付加される。さらに、Ｚ１３は、擬似ランダム出力Ｚ８を生成するための第５関数ユニット２２への入力である。
【００３２】
第１関数ユニット１３と第２関数ユニット１６はカスタムルックアップテーブルである。それらは、少なくとも６つの１ビット入力を単一の１ビット出力に対してマッピングする。第１関数ユニット１３と第２関数ユニット１６への入力の各々は、第１シフトレジスタ１４および第２シフトレジスタ１７それぞれに接続される“タップ”である。タップの位置は、次の制限を用いて任意に選択されることができる。タップは何れも、シフトレジスタ１４およびシフトレジスタ１７における最も重要でないビット位置かまたは最も重要であるビット位置のどちらかに接続されることはない。第１関数ユニット１３および第２関数ユニット１６の構造は任意ではなく、安全な暗号デザインの条件を満たさなければならない。第１関数ユニット１３と第２関数ユニット１６は独立して指定されることができることに留意されたい。しかしながら、下で説明するように、ブロック暗号１００が米国特許第６，１０８，４２１号明細書に開示されている先行技術のブロック暗号と互換性があるモードで機能する場合、第１関数ユニットは、第２関数ユニットと同様に設定されなければならない。第１関数ユニット１３と第２関数ユニット１６は、意図されたエンドユーザのみにカスタマイズされ且つ開示されることが可能である。
【００３３】
第５関数ユニット２２は、Ｚ８を生成するために、Ｚ１３の高次の半分および低次の半分のキャリなしでビットワイズモジュロ２付加を実行する。
【００３４】
第３関数ユニット１５と第４関数ユニット１８は、同じ長さのカスタムビットパターンとキー変数Ｚ９の各々の半分の各々のキャリなしで、ビットワイズモジュロ２付加を実行し、変数Ｚ１０およびＺ１１を生成する。第３関数ユニット１５および第５関数ユニット１８は独立して指定されることができることに留意されたい。しかしながら、下で説明するように、ブロック暗号１００が米国特許第６，１０８，４２１号明細書に開示されている先行技術のブロック暗号と互換性があるモードで機能する場合、第３関数ユニット１５は第４関数ユニットに等しく設定されなければならない。カスタムビットパターンの値は意図されたエンドユーザのみに開示される。
【００３５】
図２を参照するに、第９ユニット１２はモジュロ付加段階である。それは、出力Ｗ８を生成するためにキースケジューリングユニット９からＺ４に第３ユニットの出力Ｗ３を付加する。出力Ｚ７およびＺ８は、第５ユニット５および第８ユニットそれぞれへの出力として用いられる。
【００３６】
キースケジューリングユニット９の重要な特徴は、それが米国特許第６，１０８，４２１号明細書に開示されている先行技術のキー変数の長さの２倍であるキー変数Ｚ９を用い、それ故、著しく増加された暗号強度を提供することである。さらに、対称的なキー変数（即ち、上位半分と下位半分が等しい）が入力されるとき、Ｚ４は０となる。これは、暗号化ブロック１２の何れかの効果が無効になる。実際、対照的なキー変数が入力されるとき、全ての操作は、ブロック暗号装置９が米国特許第６，１０８，４２１号明細書の先行技術のブロック暗号としての所定の入力のために同じ出力を生成するように評価する。重要なことには、著しくどうかした暗号強度を有する一方、先行技術のブロック暗号を用いる装置との相互操作のためのモードを尚も提供する２倍のキーの長さをもつブロック暗号１００の本発明の実施形態を用いるために装置をデザインすることができる。
【００３７】
条件付けられるとき、オリジナルのキー変数Ｚ９の値を回復することができる。変数Ｚ７およびＺ１３は、第１シフトレジスタ１４および第２シフトレジスタ１７それぞれにリロードされる。各々のレジスタは、コンテンツが完全に再循環されるまでに同時に１ビット左にシフトされる。各々のシフトに伴い、各々のレジスタにおける最も重要なビットは、第１関数ユニット１３および第２関数ユニット１６の出力にモジュロ２付加される。その結果は最も重要でないビット位置に移動される。第１シフトレジスタ１４および第２シフトレジスタ１７のコンテンツが完全に処理されたとき、各々は、第３関数ユニット１５および第４関数ユニット１８それぞれに入力される。第３関数ユニット１５および第４関数ユニット１８においては、同じカスタムパターンは、Ｚ９の上位半分および下位半分を再生するためにビットワイズモジュロ２付加される。
【００３８】
これは、オリジナルの暗号化キーが他の暗号処理、例えばキーラッピング（キー暗号化）のために再生せれることを可能にする。それに代えて、オリジナルのキーのコピーは補助レジスタに保たれることが可能である。しかしながら、これは、ハードウェアレンダリングのゲートカウントに付加される２５６ビットの補助記憶レジスタを必要とする。
【００３９】
ブロック暗号装置は、自己同期化暗号フィードバック（ＳＳＣＦＢ：Ｓｅｌｆ−ｓｙｎｃｈｒｏｎｉｚｉｎｇ  Ｃｉｐｈｅｒ  Ｆｅｅｄｂａｃｋ）モード、最小エラー伝搬（ＭＥＰ：Ｍｉｎｉｍｕｍ  Ｅｒｒｏｒ  Ｐｒｏｐａｇａｔｉｏｎ（またはＣｏｕｎｔｅｒ）モードまたはブロック暗号フィードバック（ＢＣＦＢ：Ｂｌｏｃｋ  Ｃｉｐｈｅｒ  Ｆｅｅｄｂａｃｋ）モードのような種々のモードにおいて処理されることが可能である。
【００４０】
ここで、ＢＣＦＢモードについて示す図４を参照するに、非暗号化データまたは、プレーンテキスト（ＰＴ）”のブロックがＰＴＥでラベリングされた暗号化部５００の入力に適用される。次いで、ＰＴＥは“キーストリーム（ＫＳ）”のブロックにモジュロ２付加される。ＫＳはブロック暗号装置１００−１の出力である。ＣＴは結果的に得られるブロック（即ち、暗号テキスト）を示す。ＣＴはＣＴＥでラベリングされたポートにおける出力であり、次いで、チャンネル２００を越えて送信される。次の反復においては、ＣＴはブロック暗号装置１００−１への入力としてフィードバックされる。ブロック暗号装置は、ＫＳの新しいブロックを生成するために、フィードバックブロックを処理する。次いで、ＫＳはＰＴの次のブロックと結合され、暗号化処理が継続する。復号化部６００においては、受信されたＣＴはＣＴＤで表される。ＣＴＤは、出力として再現プレーンテキストＰＴＤのブロックを生成するために、ＫＳのブロックと結合される。ＣＴＤブロックは、ブロック暗号装置１００−２の入力に同時に適用される。ブロック暗号装置１００−２は、他のＫＳのブロックを生成するための入力としてＣＴＤブロックを用いる。このＫＳブロックは次のＣＴＤのブロックを処理するために用いられる。このモードは比較的エラーのない通信チャンネルのために意図される。
【００４１】
ここで、ＭＥＰモードを示す図５を参照するに、非暗号化データまたは“プレーンテキスト（ＰＴ）”がＰＴＥでラベリングされた暗号化部５００の入力に適用される。次いで、ＰＴＥは、暗号テキストのブロックを生成するためにＫＳのブロックにモジュロ２付加される。ＣＴはＣＴＥでラベリングされたポートにおける出力であり、次いで、チャンネル２００を越えて送信される。次の反復のためには、暗号化部のカウンタ３００−１はインクリメントされ、カウンタ３００−１の出力はブロック暗号装置１００−１への入力である。ブロック暗号装置１００−１はＫＳの新しいブロックを生成するために処理される。次いで、ＫＳの新しいブロックは、次のＰＴのブロックと結合され、暗号化プロセスが継続する。復号化部６００においては、受信されたＣＴはＣＴＤで表される。ＣＴＤは、出力として再現プレーンテキストＰＴＤのブロックを生成するために、ＫＳのブロックと結合される。ＣＴＤブロックは、ブロック暗号装置１００−２の入力に同時に適用され、復号化部のカウンタ３００−２はインクリメントされる。ブロック暗号装置１００−２は、他のＫＳのブロックを生成するためにそのカウンタの出力を用いる。このＫＳブロックはＣＴＤの次のブロックを生成するために用いられる。そのチャンネルにおけるトグルされたビットエラーはＰＴＤにおける１ビットエラーのみを結果的にもたらす可能性がある。換言すれば、このモードにおける暗号システムはエラー拡張について１ビットのみを有する可能性がある。
【００４２】
ここで、ＳＳＣＦＢモードを示す図６を参照するに、非暗号化データまたは、プレーンテキスト（ＰＴ）”がＰＴＥでラベリングされた入力に同時に適用される。各々のＰＴＥビットは、暗号テキストＣＴのビットを生成するためにＫＳのビットにモジュロ２付加される。暗号化は他の反復が開始されるまで継続する。全体的なＫＳのブロックが結合されるときかまたはパターン検出器４００−１がトリガーされるときのどちらかにおいて、他の反復は開始することが可能である。パターン検出器４００−１は特定のビットシーケンスのためにＣＴを継続的にモニタリングし、そのシーケンスが検出されたとき、新しい反復がトリガーされる。ＣＴは統計的にランダムであるように現れるため、この機構は、擬似ランダムインターバルにおいて新しい反復を開始する。新しい反復が開始されるとき、全ての残りのＫＳはキーバッファ４０１−１およびＣＴの最新のビットブロックから消去される。ブロック暗号装置１００−１は、他のＫＳのブロックを生成するための入力として最新のブロックを用いる。そのＫＳの新しいブロックはキーバッファ４００−１に記憶され、暗号化プロセスを継続するために用いられる。復号化部６００においては、受信されたＣＴはＣＴＤでラベリングされた入力に同時に１ビットを適用される。各々のＣＴＤビットは、出力ＰＴＤとして再現された“プレーンテキスト”のビットを生成するためにＫＳのビットをモジュロ２付加される。ＣＴビットストリームは、ブロック暗号装置１００−２の入力バッファ４０２−２（ＣＢ１）に同時に適用される。入力バッファ４０２−２が一杯になったときまたはパターン検出器がトリガーするとき、次の事柄が生じる。
１）キーバッファが消去される。
２）ＣＴの最新のブロックＣＴＥがブロック暗号装置１００−２に入力される。
３）ブロック暗号装置はＫＳの新しいブロックを生成するためにＣＴの最新のブロックを用いる。
４）ＫＳの新しいブロックはキーバッファ４０１−２に記憶される。
ブロック暗号装置１００−２は処理を継続し、ＣＴＤは他の反復が開始されるまで入力バッファ４０２−２にシフトされることを継続する。このモードは、同期化エラーに陥る通信チャンネルのために意図されている。このモードにおいては、通信システムは、暗号の損失およびブロックの境界の同期化から自動的に復帰することを可能である。
【００４３】
図３乃至６に示した何れかのモードにおいて動作するために、暗号化部５００と復号化部６００は、それらの初期状態が全て一致するように、先ず初期化される必要がある。初期化は、暗号部の全ての内部状態を初期化するために用いられ且つ暗号部側に生成される初期化ベクトル“ＩＶ”を用いて得られる。次いで、ＩＶはチャンネル２００を越えて復号化部６００に送信される。ＩＶを用いることにより、復号化部６００の全ての内部状態は同じ値に初期化される。
【００４４】
本発明の方法は、ハードウェアレンダリングのゲートカウントにおける比例増加を伴うことなく、暗号強度を２倍に増加させる多くの優位性を提供する。これは、熱放散と電力消費のような操作上のパラメータがゲートカウントに比例して増加するという点で、きわめて重要である。データレートと製品歩留まりのような他のパラメータは、一般に、ゲートカウントに反比例する。
【００４５】
本発明の方法はまた、さらに強力な暗号法である。それは、代表的には複数の暗号化スキームのような他のアプローチに関連する強度の脆弱性に陥ることはない。
【００４６】
さらに、本発明の方法は、上で参照した米国特許第６，１０８，４２１号明細書において開示されているような先行技術の強力でないシステムと退歩的に互換性を維持する一方、上記および他の優位性を提供する。
【００４７】
本発明の好適な実施形態は上記のように説明したが、それらの実施形態は単に例示的なものであって、完全な一致が認められるときに本発明の範囲は同時提出の請求項によってのみ規定されるものであり、本明細書を精読することにより当業者には多くの変形または変更が容易に発想されることが理解されよう。
【図面の簡単な説明】
【００４８】
【図１】本発明のブロック暗号装置のハイレベルのブロック図である。
【図２】図１に示すブロック暗号装置の模式図である。
【図３】図２に示すブロック暗号を用いるキースケジューリングユニットの模式図である。
【図４】ブロック暗号フィードバック（ＢＣＦＢ）モードの状態で本発明の実施形態を用いる通信システムを示す図である。
【図５】最小エラー伝搬（ＭＥＰ）モードの状態で本発明の実施形態を用いる通信システムを示す図である。
【図６】自己同期化暗号フィードバック（ＳＳＣＦＢ）モードの状態で本発明の実施形態を用いる通信システムを示す図である。
【図１】
2004531778.tif 000003
【図２】
2004531778.tif 000004
【図３】
2004531778.tif 000005
【図４】
2004531778.tif 000006
【図５】
2004531778.tif 000007
【図６】
2004531778.tif 000008
【国際公開パンフレット】
2004531778.tif 000009
2004531778.tif 000010
2004531778.tif 000011
2004531778.tif 000012
2004531778.tif 000013
2004531778.tif 000014
2004531778.tif 000015
2004531778.tif 000016
2004531778.tif 000017
2004531778.tif 000018
2004531778.tif 000019
2004531778.tif 000020
2004531778.tif 000021
2004531778.tif 000022
2004531778.tif 000023
2004531778.tif 000024
2004531778.tif 000025
2004531778.tif 000026
2004531778.tif 000027
2004531778.tif 000028
2004531778.tif 000029
2004531778.tif 000030
2004531778.tif 000031
2004531778.tif 000032
2004531778.tif 000033
【手続補正書】
【提出日】平成15年6月26日(2003.6.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のブロック暗号装置を用いる暗号化によりセキュリティを確保するデジタル通信システムであって：
デジタル信号を暗号化し且つ復号化するために第１固定長の選択的可変キーに対応する少なくとも１つのブロック暗号装置；
デジタル信号を暗号化し且つ復号化するために第１固定長の選択的可変キーとは異なる第２固定長の選択的可変キーに対応する少なくとも１つのブロック暗号装置；並びに
前記第２ブロック暗号装置により暗号化されたデータを復号化するために前記第１ブロック暗号装置に選択的に適応させるための手段；
から構成されることを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムであって、前記第１キーの長さは前記第２キーの長さの２倍である、ことを特徴とする通信システム。
【請求項３】
請求項２に記載の通信システムであって、前記適応させるための手段は前
第１キーと
して前記第２キーを二重に使用し且つ反復するための手段を含む、ことを特徴とする通信システム。
【請求項４】
デジタル信号を暗号化し且つ復号化するために第１固定長の選択的可変キーに対応する少なくとも１つのブロック暗号装置、およびデジタル信号を暗号化し且つ復号化するために第１固定長の選択的可変キーとは異なる第２固定長の選択的可変キーに対応する少なくとも１つのブロック暗号装置を有する、複数のブロック暗号装置を用いる暗号化によりセキュリティを確保するデジタル通信システムにおいて、第１キーを有するブロック暗号装置におけるモジュロオペレータの最も下流の操作を効果的に抑制する段階から構成される第２キーを有するブロック暗号装置を用いる操作のための第１キーを有するブロック暗号装置に適応することを特徴とする方法。
【請求項５】
請求項４に記載の方法であって、効果的に抑制する段階は、第２ブロック暗号装置のキーの２つのシーケンシャル反復に適合する第１ブロック暗号装置のキーを修正する手順により得られる、ことを特徴とする方法。
【請求項６】
暗号化によりセキュリティを確保するデジタル通信システムにおいて、デジタル信号を暗号化し且つ復号化するための第１キーの長さの半分の長さに固定される第２選択的変数に対応するブロック暗号装置を用いる操作のためのデジタル信号を暗号化し且つ復号化するために第１固定長の選択的可変キーに対応する少なくとも１つのブロック暗号装置を有するブロック暗号装置に選択的に適応する方法であって：
（ａ）２つの同等なセクション各々における第１キージェネレータに第２キージェネレータの機能をもつ複製を提供する段階；
（ｂ）第１キーのセクション両方に第２キーを複製する段階；
（ｃ）第１段階において信号を暗号化し且つ復号化するために２つのセクションの１つにより提供されるシンボルを用いる段階；並びに
（ｄ）第２段階に適用されるシンボルをキャンセルするために第１キージェネレータの２つのセクションにより提供されるシンボルを結合させる段階；
から構成されることを特徴とする方法。
【請求項７】
暗号化によりセキュリティを確保するデジタル通信システムにおいて情報を暗号化し且つ復号化するためのブロック暗号装置であって：
第１キーデータサブブロックを生成するためのキーデータブロックの第１部分に対応する第１関数ユニットと、第２キーデータサブブロックを生成するためのキーデータブロックの第２部分に対応する第２関数ユニットと、から構成される、キーデータブロックに対応するキースケジューラユニット；
から構成されるブロック暗号装置であり、
暗号化段階は、キーデータブロックの第１部分がキーデータブロックの第２部分と同等の場合に、暗号化段階がデータを暗号化しない第１キーデータサブブロックおよび第２キーデータサブブロックに対応し、第１関数ユニットは第２関数ユニットと同等である；
ことを特徴とするブロック暗号装置。
【請求項８】
入力データブロック、制御データブロック、キーデータサブブロック、およびキーデータサブブロックをランダム化するためのキースケジューラに対応する複数の暗号化段階を有する、暗号化によりセキュリティを確保するデジタル通信システムにおいて情報を暗号化し且つ復号化することを用いるブロック暗号装置であって、キースケジューラは：
第１シフトレジスタ；
前記第１シフトレジスタに対応するキーデータブロックの一部をランダム化するための第１手段；
第１結合データ出力を提供するために前記第１ランダム化手段からのシリアル出力と第１シフトレジスタからのシリアル出力とを連続的に結合するための第１モジュロ２加算コンバイナ；
前記第１シフトレジスタのコンテンツから導き出される第１キーデータサブブロック；
第２シフトレジスタ；
前記第２シフトレジスタに対応するキーデータブロックの一部をランダム化するための第２手段；
第２結合データ出力を提供するための前記第１ランダム化手段からのシリアル出力と第１シフトレジスタからのシリアル出力とを連続的に結合するための第１モジュロ２加算コンバイナ；
前記第２シフトレジスタのコンテンツから導き出される第２キーデータサブブロック；
第３キーデータサブブロックを生成するために前記第１キーデータサブブロックと前記第２キーデータサブブロックとを結合させるための第３モジュロ２加算コンバイナ；
第４キーデータサブブロックを生成するための第２キーデータサブブロックに対応する第１関数ユニット；並びに
前記複数の暗号化段階の異なる段階に前記第１、第３および第４キーデータサブブロックを提供するための回路手段；
から構成されることを特徴とするブロック暗号装置。
【請求項９】
請求項８に記載のブロック暗号装置であって、前記第１ランダム化手段および第２ランダム化手段の両方は選択的にカスタム化されたルックアップテーブルを含む、ことを特徴とするブロック暗号装置。
【請求項１０】
請求項９に記載のブロック暗号装置であって、前記ランダム化第１手段およびランダム化第２手段のカスタム化されたルックアップテーブルは同じである、ことを特徴とするブロック暗号装置。
【国際調査報告】
2004531778.tif 000034