(57)【要約】  暗号化システムは、ブロック暗号生成器（１３０）及びストリーム暗号生成器（１５０）の組み合わせを含むよう構成される。ブロック暗号生成器（１３０）は、１つ又は複数のストリーム暗号生成器（１５０）の鍵を周期的に変更するために使用する、変更する鍵（１４９）を提供する。好ましくは、ＡＥＳブロック暗号器（１３５）は、１つ又は複数のＳＮＯＷ−２のうちの１つの鍵を周期的に変更するために使用される５７６ビット鍵（１４９）のストリームを供給するために使用される１２８ビットの暗号（１３９）の組を行う。ストリーム暗号生成器（１５０）の出力（１５９）は、前述の複数レーンのデータ（２６３‐２６４）に対する、ブロック暗号（１３０）及びストリーム暗号（１５０）の最適化された編成を用いて複数の入力データ・ストリーム（２６３−２６４）、又はデータの「レーン」を暗号化するために使用される。
2009516976.tif 000002
【特許請求の範囲】
【請求項１】
データを暗号化するシステムであって、
少なくとも１つの暗号鍵を生成するよう構成されたブロック暗号装置と、
前記少なくとも１つの暗号鍵に基づいて暗号語の系列を生成するよう構成されたストリーム暗号装置と、
前記暗号語それぞれの複数ビット及びデータ入力項目の複数ビットを並列に組み合わせるよう構成された混合器装置とを備えるシステム。
【請求項２】
請求項１記載のシステムであって、
各暗号語は「ｎ」ビットを備え、
前記混合器装置は、前記データ入力項目の「ｎ」ビットの並列暗号化を容易にするよう前記データ入力項目を編成するよう構成されたシステム。
【請求項３】
請求項１記載のシステムであって、
各データ入力項目は、入力データ・レートで到着する「ｍ」ビットを備え、
前記混合器装置は、前記入力データ・レートで前記データ入力項目の前記「ｍ」ビットの並列暗号化を容易にするよう前記暗号語を編成するよう構成されるシステム。
【請求項４】
請求項１記載のシステムであって、
前記ストリーム暗号装置は、反復サイクル・レートによって特徴付けられ、
前記ブロック暗号装置は、前記反復サイクル・レート以下の暗号鍵レートにおいて別の暗号鍵を供給するよう構成され、
前記ストリーム暗号装置は、前記暗号鍵レート以下の鍵変更レートにおいて前記別の暗号鍵によって鍵が変更されるよう構成されたシステム。
【請求項５】
請求項４記載のシステムであって、
前記暗号鍵レートが、前記反復サイクル・レートに等しいシステム。
【請求項６】
請求項４記載のシステムであって、
前記鍵変更レートが、前記暗号鍵レートに等しいシステム。
【請求項７】
請求項４記載のシステムであって、
前記ブロック暗号装置は、別々の暗号鍵それぞれを構成する複数のブロック暗号出力を生成するよう構成されたシステム。
【請求項８】
請求項７記載のシステムであって、
少なくとも１つの別の暗号鍵は、先行暗号鍵の前記ブロック暗号出力の１つ又は複数を含むシステム。
【請求項９】
請求項１記載のシステムであって、
前記ブロック暗号装置は、別々の暗号鍵それぞれを構成する複数のブロック暗号出力を生成するよう構成されたシステム。
【請求項１０】
請求項８記載のシステムであって、
少なくとも１つの別の暗号鍵は、先行暗号鍵の前記ブロック暗号出力の１つ又は複数を含むシステム。
【請求項１１】
請求項１記載のシステムであって、
前記ブロック暗号装置はＡＥＳ暗号器を備えるシステム。
【請求項１２】
請求項１１記載のシステムであって、
前記ストリーム暗号装置は、ＳＮＯＷ−２ストリーム暗号生成器を備えるシステム。
【請求項１３】
データを暗号化する方法であって、
少なくとも１つのブロック暗号鍵を生成する工程と、
前記少なくとも１つの暗号鍵に基づいて暗号語の系列を生成する工程と、
前記暗号語それぞれの複数ビットを使用して、データ入力項目の複数のビットを並列暗号化する工程とを備える方法。
【請求項１４】
請求項１３記載の方法であって、
前記データ入力項目の「ｎ」ビットの前記並列暗号化を容易にするよう前記データ入力項目を編成する工程を含む方法。
【請求項１５】
請求項１３記載の方法であって、
前記暗号語の系列の反復サイクル・レート以下の暗号鍵レートで他のブロック暗号鍵を生成する工程と、
前記他のブロック暗号鍵に基づいて暗号語の更なる系列を生成する工程とを含む方法。
【請求項１６】
請求項１３記載の方法であって、
複数のブロック暗号出力を生成して、前記少なくとも１つのブロック暗号鍵を供給する工程を含む方法。
【請求項１７】
請求項１３記載の方法であって、
前記少なくとも１つのブロック暗号鍵を生成する工程は、ＡＥＳ暗号を生成する工程を含む方法。
【請求項１８】
請求項１３記載の方法であって、
前記暗号語の系列を生成する工程は、ＳＮＯＷ−２暗号を生成する工程を含む方法。
【請求項１９】
コンピュータ読み取り可能な媒体上に備えられたコンピュータ・プログラムであって、
処理システム上で実行されると、
少なくとも１つのブロック暗号鍵を生成する機能と、
前記少なくとも１つの暗号鍵に基づいて暗号語の系列を生成する機能と、
前記暗号語それぞれの複数ビットを使用して複数のデータ入力項目ビットを並列に暗号化する機能とを前記処理システムに行わせるよう構成されたコンピュータ・プログラム。
【請求項２０】
請求項１９のコンピュータ・プログラムであって、
ＡＥＳ暗号を使用して前記少なくとも１つのブロック暗号鍵を生成する機能と、
ＳＮＯＷ−２暗号を使用して前記暗号語の系列を生成する機能とを前記処理システムに行わせるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、西暦２００５年１１月２３日付出願の米国特許仮出願第６０／７３９２１９号の利益を主張する。
【０００２】
本発明は、通信及びデータ・セキュリティの分野に関し、特に、高速マルチレーン並列データ・チャネルの暗号化及び復号を容易にする方法及びシステムに関する。
【背景技術】
【０００３】
ストリーム暗号は、入力ストリームが順次（一般に、一度に一データ単位（ワード／バイト／ビット））暗号化され、後続データ単位の変換が暗号化中に変わる暗号である。一方、ブロック暗号は、変わらない固定の変換によって大容量のデータ・ブロックを処理する暗号である。すなわち、特定のデータ・ブロックのブロック暗号、及び特定の暗号鍵は常に、同じ暗号化出力ブロックをもたらす。一方、ストリーム暗号の出力は、データ単位が暗号化される時点での暗号システムの状態に依存する。
【０００４】
一般に、ストリーム暗号は、入力ストリームを、生成された鍵ストリームと合成する。鍵ストリームは、特定の暗号鍵又は暗号鍵組に基づいて疑似乱数的に生成される。鍵ストリームの順次生成は一般に、データ・ブロックのブロック暗号化よりも複雑でない動作であるので、ストリーム暗号は、ブロック暗号よりもかなり高速であり、必要なハードウェア構成部分はかなり少なくなる。
【０００５】
ストリーム暗号は、長さが未知のデ―タのストリーム（電話の会話、ストリーミング・ビデオ等）の高速暗号化／復号によく適している。前述のデータに対してブロック暗号が使用される場合、ブロックを埋める前に終結する入力ストリームのパディングを設けなければならない。
【０００６】
多くのストリーム暗号は、クロック・サイクル毎にマルチビット出力を生成するよう構成される。例えば、Ｅｋｄａｈｌ及びＪｏｈａｎｓｓｏｎ  （Ｌｕｎｄ  Ｕｎｉｖｅｒｓｉｔｙ）によるＳＮＯＷ暗号及びそれに取って代わるＳＮＯＷ−２は、サイクル毎に３２ビット語を出力するよう構成された状態機械を駆動させる線形フィードバック・シフト・レジスタを使用する。前述のマルチビット暗号出力を効果的に利用するために、並列暗号化をしばしば用いる。並列暗号化では、入力ストリームは、出力暗号と同じビット数を有するデータ組に逆多重化される。データ組は、マルチビット暗号を用いて暗号化され、次いで、入力ストリームと同じ形式の出力ストリームに多重化される。例えば、入力ストリームが、８ビット幅のバス上にデータ・バイトを有し、３２ビット暗号語が利用可能な場合、バス上の４つの８ビット・バイトの各組は３２ビット語に拡散させられ、３２ビット語は、３２ビット暗号語を用いて暗号化され、結果として生じる３２ビット出力語は、４つの入力バイトの暗号化に対応する４つの出力バイトに逆拡散させられる。前述の実施例では、暗号生成器は、暗号生成の最大４倍の速度の、入力ストリームのスループット・レートをサポートすることが可能である。
【０００７】
場合によっては、入力データ・レートは、特定の暗号生成器がサポートすることが可能な最大速度よりもかなり低いことがあり得る。前述の場合、複数のデータ・ストリームを単一の暗号生成器によってサポートすることができる。前述の例では、８ビット幅の入力データ・ストリームの速度が３２ビット暗号生成器の速度の２倍である場合、前述の２つの８ビット・データ・ストリームをこの３２ビット暗号生成器によってサポートすることが可能である。８ビット幅の入力データ・ストリームの速度が３２ビット暗号生成器の速度に等しい場合、前述の４つの入力データ・ストリームを暗号生成器によってサポートすることが可能である等である。
【０００８】
しかし、全数探索に至らない探索を使用する識別攻撃を受ける可能性がより高いので、ストリーム暗号はブロック暗号よりもセキュアでないことが一般に知られている。更に、鍵ストリームが反復された場合、ストリーム暗号は全て、攻撃に対して脆弱である。理想的には、１２８ビット鍵の場合、鍵ストリームの反復長は２１２８ビットである（大半のアプリケーションでは許容可能である）が、毎秒１００Ｍｂの暗号化レートでは、前述の暗号のリサイクル時間は、２５分未満になり、これにより、長時間にわたるアプリケーション（ストリーム・ビデオなど）の場合、暗号が不適切になる。一方、ブロック暗号の計算量により、前述の消費者向アプリケーションの場合、費用がかかりすぎるか、又は遅すぎることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ストリーム暗号の速度及びブロック暗号のセキュリティを備える暗号を提供することが効果的になる。
【課題を解決するための手段】
【００１０】
本発明の一実施例によれば、暗号システムは、ブロック暗号及びストリーム暗号の組み合わせを備える。ブロック暗号は、１つ又は複数のストリーム暗号の鍵を周期的に変更するために使用する、変更する鍵を提供する。好ましくは、ＡＥＳ（米国標準技術研究所（ＮＩＳＴ）による次世代標準暗号化方式）ブロック暗号は、１つ又は複数のＳＮＯＷ−２ストリーム暗号の鍵を変更するために使用する５７６ビット鍵ストリームを供給するために使用される１２８ビット鍵の組を提供する。ストリーム暗号の出力は、前述の複数レーンのデータに対する、ブロック暗号及びストリーム暗号の最適化された編成を用いて複数の入力データ・ストリーム、又はデータの「レーン」を暗号化するために使用される。
【発明を実施するための最良の形態】
【００１１】
本発明は、添付図面を参照して、例として更に詳細に説明する。添付図面を通して、同じ参照符号は同じ構成要素、又は実質的に同じ機能を行う構成要素を表す。添付図面は、例証の目的で含めており、本発明の範囲を限定することを意図するものでない。
【００１２】
以下の説明では、限定ではなく説明の目的で、特定のアーキテクチャ、インタフェース、手法等などの特定の詳細を表して、本発明が徹底的に分かるようにしている。しかし、前述の特定の詳細から逸脱する他の実施例において本発明を実施することが可能であることが当業者には明らかとなろう。話を単純かつ明瞭にする目的で、周知の装置、回路及び手法の詳細な説明を割愛して、不必要な詳細で本発明の説明をわかりにくくすることがないようにしている。
【実施例】
【００１３】
図１Ａは、ストリーム暗号生成器１５０の語長よりも小さい語長を有する入力ストリーム１６３のマルチビット並列暗号化のための、本発明の一実施例による例示的なブロック暗号及びストリーム暗号システムを示す。例えば、入力ストリームは、８ビット・データ・バイトを含み、ＳＮＯＷ−２ストリーム暗号生成器を用いてストリーム暗号を供給する。当該技術分野において知られているように、ＳＮＯＷ−２処理は、３２ビット幅の暗号出力語１５９の系列を生成するための初期状態として５７６ビット鍵１４９を用いる。
【００１４】
混合装置１６０は、ストリーム暗号生成器１５０の暗号出力語１５９を入力ストリーム１６３と混合することにより、入力ストリーム１６３の暗号化を行うために使用される。ストリーム暗号生成器１５０からの３２ビット幅の暗号語１５９の系列の使用を最適化するために、８ビット入力バイト１６３を、１入力４出力逆多重化器１６４で「拡散」させて４つの８ビット・チャネルを形成する。３２ビット暗号語１５９は、同様に、４つの８ビット暗号バイト（チャネル毎に一暗号バイト）に区分される。各チャネルでは、混合器１６５が、チャネル上の８ビット・データ・バイトを、チャネルに割り当てられた暗号バイトと合成して暗号化バイトを生成する。好ましくは、混合器１６５は、排他的ＯＲ演算を行ってデータ・バイト及び暗号バイトを合成する。４つのチャネルの暗号化バイトを４入力１出力多重化器１６４’に供給して、入力ストリーム１６３における各バイトに対応する暗号化出力バイト１６９の系列を形成する。
【００１５】
図１Ｂは、図１Ａの暗号化システムの動作に対応するタイミング図を示す。第１の行は、入力ストリーム１６３におけるバイトの系列を示す。第２の行は、ストリーム暗号生成器１５０の暗号出力語１５９の系列を示す。各暗号出力語１５９を用いて入力ストリーム１６３の４バイトを符号化するので、ストリーム暗号生成器からの出力語の系列は、入力バイト・レートの１／４の周波数を有する。すなわち、図１Ａでは、各暗号語を供給するために使用される暗号クロックＣＬＫ−２  １５１は、各入力データ・バイトを入力するために使用されるクロックＣＬＫ−３  １６１の１／４の周波数で動作させる。
【００１６】
図１Ａの暗号化チャネル構造は、参照を簡単にするために表されているに過ぎず、他の構造を用いることもできることが当業者により、認識されよう。例えば、入力ストリーム１６３が１６ビット語を備える場合、逆多重化器１６４は、２つの１６ビット・チャネルを設けるよう構成される。この場合、暗号クロックＣＬＫ−２  １５１は、各入力データ語を入力するために使用されるクロックＣＬＫ３  １６１の周波数の半分で動作させる。同様に、図４及び図５に関して以下に更に説明する例証的な多重化器構造の代わりに、直列レジスタ構成や他の構造を使用することができる。
【００１７】
本発明の一局面によれば、ストリーム暗号生成器１５０は、その５７６ビット鍵１４９をブロック暗号生成器１３０から受け取る。好ましくは、ブロック暗号生成器１３０は、ユーザが暗号化セッションを起動させる都度、別の鍵を生成するセッション鍵生成器１１０からその鍵を受け取る。好ましくは、セッション鍵は、セキュリティを向上させるために定期的に更新される。
【００１８】
図１Ａの例示的な暗号化システムでは、ＡＥＳ暗号器１３５は、制御クロックＣＬＫ−１  １３１の各サイクルにおいて、ランニング・カウンタ１３２の現在の内容の暗号化である１２８ビットのブロック暗号出力１３９を生成する。前述の通り、例示的なＳＮＯＷ−２ストリーム暗号生成器は５７６ビット鍵を使用する。そういうものとして、制御クロックＣＬＫ−１  １３１の５サイクルが、この鍵を形成するために十分なビット数を供給するために必要である。５７６ビット鍵は、ＡＥＳ暗号器１３５からの４  １／２の１２８ビット暗号語に対応し、ブロック暗号生成器１３０は、前述の暗号語のうちの３  １／２を記憶するよう構成されたレジスタ１４０を含む。第５の１２８ビット暗号語が生成されると、この現在の語、及びレジスタ１４０に先行して記憶されている３  １／２語を用いて５７６ビット出力が供給される。
【００１９】
前述の通り、ストリーム暗号生成器は一般に、ブロック暗号生成器よりもかなり速いが、ストリーム暗号は、それ自体が反復するので、ブロック暗号よりもセキュアでない。攻撃者が、生成された暗号系列の一部又は全てを求めることができる場合、攻撃者は、求められた系列の各反復において暗号化マテリアルを復号することが可能になる。好ましくは、ストリーム暗号生成器１５０のこの脆弱性を避けるために、新たな５７６ビット鍵１４９が、ブロック暗号生成器１３０によって生成され、新たな５７６ビット鍵１４９は、ストリーム暗号生成器１５０自体が反復する前にストリーム暗号生成器１５０の鍵を変更するために使用される。このようにして、ストリーム暗号符号化された出力の先行セグメントの復号は、将来のセグメントの復号を容易にするために使用することが可能でない。
【００２０】
図１Ｃは、図１Ａの例示的な実施例における鍵１４９の生成及び使用の例示的なタイミング系列を示す。各クロック・サイクルＣＬＫ−１におけるＡＥＳ暗号器１３５の１２８ビット・ブロック暗号出力１３９は、暗号語Ａ０、Ａ１、Ａ２等として識別される。図１Ａのレジスタ１４０の内容は、図１Ｃにおいて、参照を容易にするためにストリーム１４２として識別している。第４の出力Ａ３後のサイクルでは、現時の出力Ａ４及びストリーム１４２が、ストリーム暗号生成器１５０の鍵の変更に利用可能である。その後、別の５つの暗号語Ａ５乃至Ａ９が、生成され、ストリーム暗号生成器１５０の鍵を変更するために使用される。前述の通り、この鍵の変更は好ましくは、ストリーム暗号生成器１５０自体が反復する状態になる前に行われる。
【００２１】
当該技術分野における当業者は、５つの暗号語の最初の生成後、新たな暗号語それぞれが生成されるにつれ、新たな鍵をストリーム暗号生成器１５０に利用可能にすることが可能であり、新たな暗号語は、先行鍵のビットの部分集合を置き換える。しかし、先行鍵のビット全てが、新たな暗号語によって置き換えられた後に鍵を変更することにより、最適なセキュリティが得られる。
【００２２】
図２Ａは、「デュアルライン」暗号化システムの例示的な実施例を示す。このシステムでは、前述のセッション鍵生成器１１０、ブロック暗号生成器１３０及びストリーム暗号生成器１５０を備える単一のブロックストリーム暗号システムを使用して２つの入力ストリーム２６３、２６４が暗号化される。
【００２３】
図２Ａの実施例では、クロックＣＬＫ−２  ２５１のレートが２倍にされている。よって、デュアルレーン混合装置２６０の２つの入力ストリーム２６３、２６４の暗号化に２つの暗号語２５９が利用可能である。しかし、各語を各レーンに交互に施す（不必要なレーテンシを各レーンにおいてもたらし得る）代わりに、各暗号語２５９は、入力ストリーム２６３、２６４に対応するそれぞれのレーンにわたって逆多重化される。１入力２出力逆多重化器２２０は、各偶数暗号語２５９を入力ストリーム２６３、２６４それぞれの最初の２バイトに与え、各奇数暗号語２５９を入力ストリーム２６３、２６４それぞれの次の２バイトに与える。
【００２４】
図２Ｂは、図２Ａの実施例の例示的なタイミング構成を示す。例証するように、各暗号語２５９は、入力ストリーム２６３、２６４それぞれの１対の入力データ・バイトに施される。前述の通り、ブロック暗号生成器１３０は好ましくは、ストリーム・サイクル自体が反復する前に、５つの新たなＡＥＳ語（図１Ａの参照符号１３９によって表す）を用いてストリーム暗号生成器の新たな鍵２４９を生成するようクロッキングされる。
【００２５】
別の構成は、特定のアプリケーションのタイミング及び構造上の制約に応じて、本発明の単一のブロックストリーム符号器を使用して入力データの２つのストリームを暗号化することが可能である。例えば、図１Ａ及び図２Ａの４バイト・レーンと比較して、各レーンは２バイト・レーンとして構成することが可能である。前述の実施例では、奇数／偶数逆多重化器２２０は必要でなくなる。一方、図２Ａの４バイトレーンの実施例の利点は、本発明のブロックストリーム暗号化システムを使用して１つ若しくは２つの（又は、以下に詳細を説明するように４つの）入力ストリームが暗号化されるか否かとは無関係に同じレーン構造を使用するという点である。
【００２６】
図３Ａは、例えば、４レーンの入力データを符号化するために複数のストリーム暗号生成器を単一のブロック暗号生成器とともに使用することを示す。
【００２７】
前述の通り、種々のアプリケーションにおいて共通の回路を使用／再使用することがしばしば効果的である。この例では、図２Ａのデュアルレーン混合装置２６０を使用して４レーンの入力データの各対を暗号化し、２つのストリーム暗号生成器１５０、１５０’を使用してストリーム暗号を前述の２つの混合装置２６０に供給する。デュアル構造が理由で、４つのレーンの暗号化は、図２Ａの２つのレーンの暗号化と同じレート（ＣＬＫ−２  ２５１）で行うことが可能である。しかし、ストリーム暗号生成器１５０、１５０’それぞれの鍵の変更は、ストリーム暗号の生成のレートよりもずっと低いレートで行われるので、デュアル構造は、ストリーム暗号生成器の対に鍵を供給するために、ブロック暗号生成器対を備えなくてよい。
【００２８】
やはり前述の通り、ストリーム暗号生成器１５０に使用される５７６ビット鍵３４９は、ＡＥＳ暗号器１３５からの４  １／２の１２８ビット暗号語３３９を必要とする。図３Ａの例示的な実施例では、多重化器３４２を使用して交互の半語３４４をレジスタ３４０に供給する。このようにして、２つの完全な鍵３４９を、１０個の語３３９からでなく９個の暗号語３３９から生成することができる。すなわち、２つのストリーム暗号生成器１５０、１５０’をサポートするためにＣＬＫ−１  ３３１のレートを倍にすることを必要とする代わりに、ＣＬＫ−１  ３３１のレートは、１．８倍だけ増加させればよい。電力消費は一般に速度に関係するので、ＡＥＳ構成部分の速度のこの１０％の削減は大きいものであり得る。あるいは、ＡＥＳ暗号器１３５の速度が、ブロックストリーム暗号化システムの全体速度において制約要因である場合、速度におけるこの１０％の事実上の増加も大きいものであり得る。更に、各ストリーム暗号システム１５０、１５０’の鍵の変更を交互にすることにより、単一の５７６ビット幅のレジスタ３４０を使用して５７６ビット鍵３４９を、ストリーム暗号システム１５０、１５０’の両方に供給し、それにより、かなりの量の回路及び配置領域を節減することが可能である。
【００２９】
図３Ｂは、図３Ａの実施例の例示的なタイミング図を示す。前述の実施例と同様に、５つの１２８ビット暗号語３３９が生成されると、前述の語のうちの４つ、及びレジスタ３４１に記憶された暗号語のうちの半語３４４を用いて５７６ビット鍵３４９を生成することが可能である。この第１の鍵を使用して「偶数」ストリーム暗号生成器１５０に鍵をかける。４つの更なる暗号語３３９が生成されると、前述の４つの新たな語、及び第１の鍵に用いられなかった暗号語３４４の半分を使用して別の鍵３４９を生成することが可能である。この第２の鍵を使用して「奇数」ストリーム暗号生成器１５０’に鍵をかける。この５語／４語系列は、ＣＬＫ−１  ３３１の９サイクル毎に暗号生成器１５０、１５０’毎に交互の一意の鍵を供給するよう反復する。
【００３０】
本開示に鑑みて別の構造が実現可能であることを当業者は認識するであろう。例えば、９個の暗号語３３９を使用して２つの鍵３４９を供給することは、図１Ａ、図２Ａの実施例にも適用することが可能である。しかし、ブロック暗号生成器及びストリーム暗号生成器の相対速度は一般に、ブロック暗号生成器が、単一のストリーム暗号生成器に結合される場合、前述の効率性を要求しない。同様に、単一の３２ビット・ストリーム暗号生成器は単に、４つのデータの４ビット入力ストリームそれぞれを直接暗号化するよう構成することが可能である。しかし、これは、ストリーム暗号生成器が、図３Ａの生成器の速度の２倍で動作するか、又は、図３Ａの入力データのデータ・レートを半分に削減することを必要とする。
【００３１】
本明細書及び特許請求の範囲記載の概念は、本願記載の例に限定されず、より一般的な意味合いで適用することが可能であることも当業者は認識するであろう。例えば、入力データ、ストリーム暗号レート、及びブロック暗号レートの相対速度に応じて、単一のブロック暗号生成器を使用して３つ以上のストリーム暗号生成器に鍵を供給することができる。単一のストリーム暗号生成器を使用して５つ以上のデータ・レーンを暗号化することができる等である。
【００３２】
図４Ａ乃至４Ｂは、３２ビット暗号語を８ビット・データ語レーンに加える混合システムの例示的な別の実施例を示す。
【００３３】
図４Ａでは、４つのシフト・レジスタＲ１−Ｒ４  ４２０を使用して、入力データ・クロックＣＬＫ−３によってクロックインされたデータ入力ストリームの８ビット語を順次受け取る。３２ビット暗号出力４５０は、４つの８ビット・セグメントに区分され、４つの８ビット・セグメントは、暗号化多重化器４１０を介してレジスタＲ１乃至Ｒ４  ４２０に供給される。各暗号化多重化器４１０は、各レジスタが、先行段から、暗号化されていないデータ入力を受け取るか、先行段からデータ入力の暗号を受け取るかを判定する。各暗号化多重化器４１０は、８ビット幅のＸＯＲゲート４１２と、このＸＯＲゲートの入力の１つを判定する入力スイッチ４１１とを備える。暗号化なしで入力データのパススルーを行うために、スイッチ４１１は、固定の「０」出力を供給するので、ＸＯＲゲート４１２の入力データへの影響はない。「暗号」信号がイネーブルされると、入力スイッチ４１１は、暗号の８ビットをＸＯＲゲート４１２に供給して入力データの暗号化を行う。３つの入力データ語がレジスタＲ１−Ｒ３  ４２０にクロックインされた後に暗号化信号はイネーブルされ、第４のデータ語は、第１の暗号化多重化器４１０の入力において利用可能である。レジスタは次に、暗号化信号がイネーブルされている間にクロッキングされ、各レジスタＲ１−Ｒ４  ４２０には、暗号化データ語がロードされる。暗号化信号が次いでディセーブルされ、処理が繰り返される。各後続データ入力語がレジスタにクロッキングされるにつれ、暗号化データ語がクロックアウトされ、それにより、最小のレーテンシで、連続した暗号化が行われる。前述の通り、暗号化信号は、４つのデータ・クロックＣＬＫ−３サイクル毎に一度イネーブルされ、よって、想定通り、暗号出力４５０は、データ入力レートの１／４で供給すればよい。
【００３４】
図４Ｂでは、スイッチ４４０を使用して、暗号出力４５０の４つの８ビット・セグメントそれぞれを順次選択する。選択された暗号セグメントは、現在の８ビット・データ入力語とＸＯＲされる。好ましくは、選択された暗号セグメントをレジスタ４２０にクロッキングしてスイッチング過渡を回避する。この実施例では、ＸＯＲゲート４１２及びレジスタ４２０を備える単一の８ビット暗号化段は、クロックＣＬＫ−３のデータ入力レートで暗号化出力を供給する。暗号出力４５０は好ましくは、データ入力クロックＣＬＫ−３の４サイクル毎に更新され、よって、スイッチ４４０からの８ビット暗号セグメントは再使用されない。
【００３５】
別の暗号化手法を使用して、ストリーム暗号生成器によって供給される暗号ビットそれぞれの最適／効率的な使用を保証することができることを当業者は認識するであろう。
【００３６】
前述では、本発明の原理を例証しているに過ぎない。よって、本明細書及び特許請求の範囲に明示的に説明されているものでないか、又は示されているものでないが、本発明の原理を実施し、よって、特許請求の範囲の趣旨及び範囲内に含まれる種々の構成を当業者は考え出すことができるであろう。
【００３７】
特許請求の範囲を解釈するうえで、以下のことを理解すべきである。
【００３８】
ａ）「ｃｏｍｐｒｉｓｉｎｇ」の語は、特定の請求項に列挙されたもの以外の他の構成要素又は動作の存在を排除しない。
【００３９】
ｂ）構成要素に先行する語「ａ」又は「ａｎ」は、そうした構成要素が複数あることを排除しない。
【００４０】
ｃ）請求項における参照符号は何れもその範囲を限定するものでない。
【００４１】
ｄ）いくつかの「ｍｅａｎｓ」を、同じアイテム若しくはハードウェア、又は、ソフトウェアによって実施される構造又は機能によって表すことができる。
【００４２】
ｅ）開示された構成要素それぞれは、ハードウェア部分（例えば、個別電子回路及び集積電子回路をはじめとする）、ソフトウェア部分（例えば、コンピュータ・プログラミング）、並びにそれらの組み合わせを備え得る。
【００４３】
ｆ）ハードウェア部分は、アナログ部分及びディジタル部分の一方又は両方を含み得る。
【００４４】
ｇ）別途明記しない限り、本願に開示された装置、若しくはその部分の何れかを組み合わせるか、又は、更なる部分に分離することができる。
【００４５】
ｈ）別途明記しない限り、特定の動作順序が必要であることは意図していない。
【００４６】
ｉ）構成要素の「複数の」の語は、特許請求の範囲記載の構成要素のうちの２つ以上を含み、特定の範囲の構成要素数を示唆するものでない。すなわち、複数の構成要素は、最小で２個の構成要素であり得る。
【図面の簡単な説明】
【００４７】
【図１Ａ】ブロック暗号生成器によって供給される鍵を用いて体系的に鍵が変更される、本発明の一実施例による例示的なマルチビット・ストリーム暗号化システムを示す図である。
【図１Ｂ】ブロック暗号生成器によって供給される鍵を用いて体系的に鍵が変更される、本発明の一実施例による例示的なマルチビット・ストリーム暗号化システムを示す図である。
【図１Ｃ】ブロック暗号生成器によって供給される鍵を用いて体系的に鍵が変更される、本発明の一実施例による例示的なマルチビット・ストリーム暗号化システムを示す図である。
【図２Ａ】ブロック暗号生成器によって供給される鍵を用いて体系的に鍵が変更される、本発明の他の実施例による他の例示的なマルチビット・ストリーム暗号化システムを示す図である。
【図２Ｂ】ブロック暗号生成器によって供給される鍵を用いて体系的に鍵が変更される、本発明の他の実施例による他の例示的なマルチビット・ストリーム暗号化システムを示す図である。
【図３Ａ】ブロック暗号生成器によって供給される鍵を用いて体系的に鍵が変更される、本発明の他の実施例による他の例示的なマルチビット・ストリーム暗号化システムを示す図である。
【図３Ｂ】ブロック暗号生成器によって供給される鍵を用いて体系的に鍵が変更される、本発明の他の実施例による他の例示的なマルチビット・ストリーム暗号化システムを示す図である。
【図４Ａ】複数のバイトにまたがる暗号出力を用いてデータ・バイトを暗号化する、本発明の種々の実施例による混合システムを示す図である。
【図４Ｂ】複数のバイトにまたがる暗号出力を用いてデータ・バイトを暗号化する、本発明の種々の実施例による混合システムを示す図である。
【図１Ａ】
2009516976.tif 000003
【図１Ｂ】
2009516976.tif 000004
【図１Ｃ】
2009516976.tif 000005
【図２Ａ】
2009516976.tif 000006
【図２Ｂ】
2009516976.tif 000007
【図３Ａ】
2009516976.tif 000008
【図３Ｂ】
2009516976.tif 000009
【図４Ａ】
2009516976.tif 000010
【図４Ｂ】
2009516976.tif 000011
【国際調査報告】
2009516976.tif 000012
2009516976.tif 000013
2009516976.tif 000014