(57)【要約】  回路構成は暗号化回路と復号回路とを含む。暗号シェル回路は、送信チャネル、および送信チャネルに並列の受信チャネルを有する。送信チャネルは、暗号化回路に結合された暗号化インターフェース回路を含む。暗号化インターフェース回路は、プレーンテキスト入力パケット中のデータに基づいて第１の暗号パラメータを決定し、第１の暗号パラメータおよびプレーンテキスト入力パケットを暗号化回路に入力する。受信チャネルは、復号回路に結合された復号インターフェース回路を含む。復号インターフェース回路は、暗号文入力パケット中のデータに基づいて第２の暗号パラメータを決定し、第２の暗号パラメータおよび暗号文入力パケットを復号回路に入力する。暗号化回路は、第１の暗号パラメータに基づいてプレーンテキスト入力パケットを暗号化し、復号回路は、第２の暗号パラメータに基づいて暗号文入力パケットを復号する。【選択図】図１
2022502910.tif 000002
【特許請求の範囲】
【請求項１】
暗号化回路と、
復号回路と、
送信チャネルおよび前記送信チャネルに並列の受信チャネルを有する、暗号シェル回路と
を備える、回路構成であって、
前記送信チャネルが、前記暗号化回路に結合された暗号化インターフェース回路を含み、前記暗号化インターフェース回路が、プレーンテキスト入力パケット中のデータに基づいて第１の暗号パラメータを決定することと、前記第１の暗号パラメータおよび前記プレーンテキスト入力パケットを前記暗号化回路に入力することとを行うように構成され、
前記受信チャネルが、前記復号回路に結合された復号インターフェース回路を含み、前記復号インターフェース回路が、暗号文入力パケット中のデータに基づいて第２の暗号パラメータを決定することと、前記第２の暗号パラメータおよび前記暗号文入力パケットを前記復号回路に入力することとを行うように構成され、
前記暗号化回路が、前記第１の暗号パラメータに基づいて前記プレーンテキスト入力パケットを暗号化するように構成され、
前記復号回路が、前記第２の暗号パラメータに基づいて前記暗号文入力パケットを復号するように構成された、回路構成。
【請求項２】
前記暗号シェル回路がプログラマブル論理回路において実装されている、請求項１に記載の回路構成。
【請求項３】
前記暗号シェル回路がプロセッサを含み、前記プロセッサが、前記プロセッサに前記第１の暗号パラメータおよび前記第２の暗号パラメータを決定させる命令を実行するように構成された、請求項１に記載の回路構成。
【請求項４】
前記暗号シェル回路が、前記第１の暗号パラメータと前記第２の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含む、請求項１から３のいずれか一項に記載の回路構成。
【請求項５】
前記暗号シェル回路が、メディアアクセス制御セキュリティ、インターネットプロトコルセキュリティ、または、バルク暗号化およびバルク復号のうちの１つを実装する、請求項１から３のいずれか一項に記載の回路構成。
【請求項６】
前記暗号シェル回路が、前記第１の暗号パラメータと前記第２の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含む、請求項５に記載の回路構成。
【請求項７】
前記第１の暗号パラメータおよび前記第２の暗号パラメータが暗号選択コードおよび初期化ベクトルを含む、請求項１から３のいずれか一項に記載の回路構成。
【請求項８】
前記暗号シェル回路が、前記第１の暗号パラメータと前記第２の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含む、請求項７に記載の回路構成。
【請求項９】
前記送信チャネルが、前記第１の暗号パラメータを前記暗号化インターフェース回路から前記暗号化回路に搬送する信号線の第１のセットと、信号線の前記第１のセットから物理的に離れており、前記プレーンテキスト入力パケット中の前記データを前記暗号化回路に搬送する信号線の第２のセットとを含み、
前記受信チャネルが、前記第２の暗号パラメータを前記復号インターフェース回路から前記復号回路に搬送する信号線の第３のセットと、信号線の前記第３のセットから物理的に離れており、前記暗号文入力パケットのデータを前記復号回路に搬送する信号線の第４のセットとを含む、請求項１から３のいずれか一項に記載の回路構成。
【請求項１０】
前記暗号シェル回路が、前記第１の暗号パラメータと前記第２の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含む、請求項９に記載の回路構成。
【請求項１１】
前記第１の暗号パラメータおよび前記第２の暗号パラメータが暗号選択コードおよび初期化ベクトルを含む、請求項１０に記載の回路構成。
【請求項１２】
集積回路（ＩＣ）デバイスと、
前記ＩＣデバイス上に配設された暗号化回路および復号回路の複数のペアと、
それぞれ暗号化回路および復号回路の前記複数のペアに結合された複数の暗号シェル回路であって、各暗号シェル回路が、送信チャネルおよび前記送信チャネルに並列の受信チャネルを有する、複数の暗号シェル回路と
を備える回路構成であって、
前記送信チャネルが、前記ペアのうちの１つの前記暗号化回路に結合された暗号化インターフェース回路を含み、前記暗号化インターフェース回路が、プレーンテキスト入力パケット中のデータに基づいて第１の暗号パラメータを決定することと、前記第１の暗号パラメータおよび前記プレーンテキスト入力パケットを前記暗号化回路に入力することとを行うように構成され、
前記受信チャネルが、前記ペアのうちの前記１つの前記復号回路に結合された復号インターフェース回路を含み、前記復号インターフェース回路が、暗号文入力パケット中のデータに基づいて第２の暗号パラメータを決定することと、前記第２の暗号パラメータおよび前記暗号文入力パケットを前記復号回路に入力することとを行うように構成され、
前記ペアのうちの前記１つの前記暗号化回路が、前記第１の暗号パラメータに基づいて前記プレーンテキスト入力パケットを暗号化するように構成され、
前記ペアのうちの前記１つの前記復号回路が、前記第２の暗号パラメータに基づいて前記暗号文入力パケットを復号するように構成された、回路構成。
【請求項１３】
前記複数の暗号シェル回路が、メディアアクセス制御セキュリティ、インターネットプロトコルセキュリティ、またはバルク暗号法のうちの１つまたは複数を実装する、請求項１２に記載の回路構成。
【請求項１４】
前記複数の暗号シェル回路のうちの１つまたは複数がメディアアクセス制御セキュリティを実装し、前記複数の暗号シェル回路のうちの１つまたは複数がインターネットプロトコルセキュリティを実装する、請求項１２に記載の回路構成。
【請求項１５】
各暗号シェル回路が、前記第１の暗号パラメータと前記第２の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含み、前記第１の暗号パラメータおよび前記第２の暗号パラメータが暗号選択コードおよび初期化ベクトルを含む、請求項１２から１４のいずれか一項に記載の回路構成。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、プレーンテキストを暗号化し、暗号文（ciphertext）を復号するためのシステムに関する。
【背景技術】
【０００２】
フィールドプログラマブルゲートアレイ（ＦＰＧＡ）は、たとえば、ネットワーキング、ストレージ、およびブロックチェーンのアプリケーションにおいて、暗号法（cryptography）機能を実装するための普及しているプラットフォームである。ＦＰＧＡは、便利なソフトウェア制御と、機能を追加および／または改善することの容易さとを与える。
【０００３】
ＦＰＧＡは暗号法システムの実装のために有利であり得るが、ＦＰＧＡには設計課題がある。暗号法機能の実装は、ルックアップテーブル（ＬＵＴ）、フリップフロップ（ＦＦ）、ブロックランダムアクセスメモリ（ＢＲＡＭ）など、大量のＦＰＧＡリソースを消費し得る。たとえば、単一のメディアアクセス制御セキュリティ機能（ＭＡＣｓｅｃ）は、約１００，０００ＬＵＴと、約１００，０００ＦＦと、約１００ＢＲＡＭとを消費し得る。大量のＦＰＧＡリソースは、ターゲットクロック速度に応じて、回路設計上の閉鎖タイミングにおける課題を回路設計者に与え得る。タイミング問題を緩和するために、広範なパイプライン化が採用され得るが、そのことは、実装された回路が、望ましい電力よりも多い電力を消費することにつながり得る。
【発明の概要】
【０００４】
開示される回路構成（circuit arrangement）は暗号化回路と復号回路とを含む。暗号シェル（cryptographic shell）回路は、送信チャネル、および送信チャネルに並列の受信チャネルを有する。送信チャネルは、暗号化回路に結合された暗号化インターフェース回路を含む。暗号化インターフェース回路は、プレーンテキスト入力パケット中のデータに基づいて第１の暗号パラメータを決定することと、第１の暗号パラメータおよびプレーンテキスト入力パケットを暗号化回路に入力することとを行うように構成される。受信チャネルは、復号回路に結合された復号インターフェース回路を含む。復号インターフェース回路は、暗号文入力パケット中のデータに基づいて第２の暗号パラメータを決定することと、第２の暗号パラメータおよび暗号文入力パケットを復号回路に入力することとを行うように構成される。暗号化回路は、第１の暗号パラメータに基づいてプレーンテキスト入力パケットを暗号化するように構成され、復号回路は、第２の暗号パラメータに基づいて暗号文入力パケットを復号するように構成される。
【０００５】
別の開示される回路構成は集積回路（ＩＣ）デバイスを含む。暗号化回路および復号回路の複数のペアがＩＣデバイス上に配設される。複数の暗号シェル回路は、それぞれ暗号化回路および復号回路の複数のペアに結合される。各暗号シェル回路は、送信チャネル、および送信チャネルに並列の受信チャネルを有する。送信チャネルは、暗号化回路および復号回路のそれぞれのペアの暗号化回路に結合された暗号化インターフェース回路を含む。暗号化インターフェース回路は、プレーンテキスト入力パケット中のデータに基づいて第１の暗号パラメータを決定することと、第１の暗号パラメータおよびプレーンテキスト入力パケットを暗号化回路に入力することとを行うように構成される。受信チャネルは、暗号化回路および復号回路のそれぞれのペアの復号回路に結合された復号インターフェース回路を含む。復号インターフェース回路は、暗号文入力パケット中のデータに基づいて第２の暗号パラメータを決定することと、第２の暗号パラメータおよび暗号文入力パケットを復号回路に入力することとを行うように構成される。暗号化回路および復号回路のそれぞれのペアの暗号化回路は、第１の暗号パラメータに基づいてプレーンテキスト入力パケットを暗号化するように構成され、暗号化回路および復号回路のそれぞれのペアの復号回路は、第２の暗号パラメータに基づいて暗号文入力パケットを復号するように構成される。
【０００６】
他の特徴は、以下の発明を実施するための形態および特許請求の範囲の検討から認識されるであろう。
【０００７】
回路および方法の様々な態様および特徴は、以下の詳細な説明を検討し、図面を参照すると明らかになろう。
【図面の簡単な説明】
【０００８】
【図１】ＭＡＣｓｅｃアプリケーションについての例示的な一実装形態による回路構成を示す図である。
【図２】ＩＰｓｅｃアプリケーションについての例示的な一実装形態による回路構成を示す図である。
【図３】バルク暗号法（bulk cryptography）アプリケーションについての例示的な一実装形態による回路構成を示す図である。
【図４】１つまたは複数の実装形態による、送信チャネル内で実行される例示的なプロセスのフローチャートである。
【図５】１つまたは複数の実装形態による、受信チャネル内で実行される例示的なプロセスのフローチャートである。
【図６】複数の再構成可能な暗号シェル回路と、関連付けられたハードワイヤード暗号回路とを有する回路構成を示す図である。
【図７】開示される回路およびプロセスがその上に実装され得る、プログラマブル集積回路（ＩＣ）を示す図である。
【発明を実施するための形態】
【０００９】
以下の説明では、本明細書で提示される具体例について説明するために、多数の具体的な詳細が記載されている。しかしながら、１つまたは複数の他の例および／またはこれらの例の変形形態が、以下で与えられるすべての具体的な詳細なしに実践され得ることが当業者に明らかであろう。他の事例では、本明細書における例の説明を不明瞭にしないように、よく知られている特徴については詳細に説明していない。説明しやすいように、同じ要素、または同じ要素の追加の事例を指すために、同じ参照番号が異なるダイヤグラム中で使用され得る。
【００１０】
開示される回路および方法は、再構成可能な暗号シェルと組み合わせてハードワイヤード暗号回路を採用する。ハードワイヤード暗号回路は固定されており、再プログラム不可能であるが、構成可能な暗号シェルは再プログラム可能である。ハードワイヤード暗号回路の機能は固定されており、暗号シェルの機能は再プログラムされ得る。ハードワイヤード暗号回路は特定用途向け回路として実装され得、暗号シェルは、プログラマブル論理回路において、またはプログラムコードを実行するプロセッサとして実装され得る。ハードワイヤード暗号回路は、暗号化機能および復号機能の高速で効率的な実装を行い、再プログラム可能な／再構成可能な暗号シェルは、ＭＡＣｓｅｃ、インターネットプロトコル（ＩＰｓｅｃ）、およびバルク暗号法など、異なるアプリケーションのためのフレキシブルな実装を行う。
【００１１】
ハードワイヤード暗号回路は、並列チャネルを与える、暗号化回路と復号回路とを含む。送信チャネル、および送信チャネルに並列の受信チャネルを有する暗号シェル回路は、異なるセキュリティアプリケーションを実装するために再構成可能である。送信チャネルは、暗号化回路に結合された暗号化インターフェース回路を含む。暗号化インターフェース回路は、プレーンテキスト入力パケット中のデータに基づいて暗号パラメータのセットを決定することと、暗号パラメータのそのセットおよびプレーンテキスト入力パケットを暗号化回路に入力することとを行うように構成される。受信チャネルは、復号回路に結合された復号インターフェース回路を含む。復号インターフェース回路は、暗号文入力パケット中のデータに基づいて暗号パラメータの別のセットを決定することと、暗号パラメータのその他のセットおよび暗号文入力パケットを復号回路に入力することとを行うように構成される。ハードワイヤード暗号回路中の暗号化回路は、送信チャネル上で与えられた暗号パラメータのセットに基づいてプレーンテキスト入力パケットを暗号化するように構成され、復号回路は、受信チャネル上で与えられた暗号パラメータのセットに基づいて暗号文入力パケットを復号するように構成される。
【００１２】
図１は、ＭＡＣｓｅｃアプリケーションについての例示的な一実装形態による回路構成１００を示す。回路構成１００は、入力インターフェースおよび出力インターフェースを暗号回路１０２に与える、ＭＡＣｓｅｃ暗号シェル回路１０４を含む。暗号回路は、暗号化回路１０６と、復号回路１０８と、鍵拡大回路１１０と、アルゴリズム検証回路１３３と、統計ブロック１３６とを含む。暗号化回路は、ＭＡＣｓｅｃシェル回路１０４によって入力されたパラメータに基づいてプレーンテキストデータを暗号化する。同様に、復号回路は、ＭＡＣｓｅｃシェル回路によって入力されたパラメータに基づいて暗号文データを復号する。暗号化回路は、プレーンテキストデータを暗号化する際に、認識された鍵拡大回路１１０を使用することができる。アルゴリズム検証回路は、正しい動作を検証するために暗号化回路および復号回路の試験を実行する。
【００１３】
ＭＡＣｓｅｃシェル回路１０４は、同時の暗号化アクティビティおよび復号アクティビティをサポートする、並列の送信チャネルと受信チャネルとを実装する。送信チャネルは、イングレス（ingress）先入れ先出し（ＦＩＦＯ）回路１１２と、ヘッダ処理／セキュリティアソシエーション（security association）（ＳＡ）ルックアップ回路１１４と、イグレス（egress）処理回路１１８と、イグレスＦＩＦＯ回路１２０と、フロー制御回路１２２とを含む。
【００１４】
イングレスＦＩＦＯ回路１１２は、たとえば、イーサネットを介して送信された、ＭＡＣプロトコルと一致するプレーンテキストデータを受信する。イングレスＦＩＦＯ回路は、ヘッダ処理／ＳＡルックアップ回路１１４による処理のためにパケット形態で入力データをバッファする。ヘッダ処理／ＳＡルックアップ回路は、パケットのヘッダからパラメータを抽出し、それらのパラメータを使用して、メモリ回路１１６中の関連付けられたＭＡＣｓｅｃ属性およびパラメータをルックアップし、メモリ回路１１６は、再構成可能なシェル中にＭＡＣパケットヘッダパラメータとＳＡとを連想的に記憶し、より大きいＳＡ数に対するスケーラブルなサポートを可能にする。抽出されたＭＡＣパケットヘッダパラメータは、ＭＡＣレベルソースアドレス、ポート番号などを含み、関連付けられた属性およびパラメータは、ＳＡインデックスと、暗号選択パラメータと、暗号固有パラメータと、ＭＡＣｓｅｃ固有パラメータとを含む。暗号選択パラメータは、ＡＥＳ−ＧＣＭ−１２８ｂ、ＡＥＳ−ＧＣＭ−２５６ｂ、または別の暗号スイートを示すことができる。暗号固有パラメータは、ナンス（nonce）、初期化ベクトルなどを含むことができ、ＭＡＣｓｅｃ固有パラメータは、パケット数、セキュリティチャネル数などを含むことができる。
【００１５】
ヘッダ処理／ＳＡルックアップ回路は、信号線１３４上で暗号化回路１０６にプレーンテキストデータを入力し、信号線１３５上でシェルチャネルデータを入力する。シェルチャネルデータは、ＳＡインデックスと、暗号選択パラメータと、暗号固有パラメータとを含む。暗号化回路は、暗号選択パラメータおよび暗号固有パラメータに従ってプレーンテキストデータを暗号化し、暗号文をイグレス処理回路１１８に出力する。暗号化回路は、入力プレーンテキストを暗号化する際に使用されるべき鍵を選択するために、ＳＡインデックスを使用する。
【００１６】
イグレス処理回路１１８は、暗号化されたパケットのための新しいフレーム検査シーケンスを計算し、アペンドし、暗号化ブロックをバイパスする任意のパケットをデータストリーム中に挿入し、また、ＭＡＣｓｅｃに関係しないパケットに対して他の変換を実行し得る。
【００１７】
イグレス処理回路１１８からの出力データはイグレスＦＩＦＯ回路１２０に与えられ、イグレスＦＩＦＯ回路１２０は、イーサネットチャネルを介して送信する前に、そのデータをバッファする。イグレスＦＩＦＯ回路はフロー制御回路１２２にシグナリングし、フロー制御回路１２２は、イングレスＦＩＦＯ回路１１２への暗号文パケットの入力を可能にするか、またはバックプレッシャーする。たとえば、イグレスＦＩＦＯ回路が満杯である場合、フロー制御回路１２２は、イグレスＦＩＦＯ回路１２０中でスペースが利用可能になるまで、イングレスＦＩＦＯ回路１１２への入力をバックプレッシャーする。
【００１８】
受信チャネルは、イングレスＦＩＦＯ回路１２４と、ヘッダ処理／ＳＡルックアップ回路１２６と、イグレス処理回路１２８と、イグレスＦＩＦＯ回路１３０と、フロー制御回路１３２とを含む。
【００１９】
イングレスＦＩＦＯ回路１２４は、ＭＡＣプロトコルと一致する暗号文データを受信する。イングレス暗号文データは、たとえば、イーサネットを介して送信され得る。イングレスＦＩＦＯ回路１２４は、ヘッダ処理／ＳＡルックアップ回路１２６による処理のためにパケット形態で入力データをバッファする。ヘッダ処理／ＳＡルックアップ回路１２６は、パケットのヘッダからパラメータを抽出し、それらのパラメータを使用して、メモリ回路１１６中の関連付けられたＭＡＣｓｅｃ属性およびパラメータをルックアップする。
【００２０】
ヘッダ処理／ＳＡルックアップ回路１２６は、信号線１３８上で復号回路１０８に暗号文データを入力し、信号線１４０上でシェルチャネルデータを入力する。シェルチャネルデータは、ＳＡインデックスと、暗号選択パラメータと、暗号固有パラメータとを含む。復号回路は、暗号選択パラメータおよび暗号固有パラメータに従って暗号文データを復号し、プレーンテキストデータをイグレス処理回路１２８に出力する。
【００２１】
イグレス処理回路１２８は、復号されたパケットのための新しいフレーム検査シーケンスを計算し、アペンドし、復号ブロックをバイパスする任意のパケットをデータストリーム中に挿入し、また、ＭＡＣｓｅｃに関係しないパケットに対して他の変換を実行し得る。
【００２２】
イグレス処理回路１２８からの出力データはイグレスＦＩＦＯ回路１３０に与えられ、イグレスＦＩＦＯ回路１３０は、イーサネットチャネルを介して送信する前に、そのデータをバッファする。イグレスＦＩＦＯ回路１３０はフロー制御回路１３２にシグナリングし、フロー制御回路１３２は、イングレスＦＩＦＯ回路１２４へのプレーンテキストパケットの入力を可能にするか、またはバックプレッシャーする。たとえば、イグレスＦＩＦＯ回路１３０が満杯である場合、フロー制御回路１３２は、イグレスＦＩＦＯ回路１３０中でスペースが利用可能になるまで、イングレスＦＩＦＯ回路１２４への入力をバックプレッシャーする。
【００２３】
暗号シェル回路１０４は構成インターフェースをさらに含み、構成インターフェースを通して、ＳＡ、ならびに関連付けられた属性およびパラメータが変更され得る。構成インターフェースは、プログラマブル論理デバイス中の内部構成アクセスポートによって、またはジョイントテストアクセスグループ（ＪＴＡＧ）走査インターフェースによって実装され得、それらの両方が一般に利用可能である。構成インターフェースはまた、暗号回路の蓄積された動作統計を読み取るために統計ブロック１３６に接続され得る。統計ブロック１３６は、暗号化回路１０６および復号回路１０８の動作に関係する統計情報を蓄積し、その情報をメモリ回路１１６に記憶する。統計情報は、異なるＳＡ入力値の数およびセキュリティエンティティの数、およびＭＡＣｓｅｃ規格によって定義された他のデータを含むことができる。
【００２４】
図２は、ＩＰｓｅｃアプリケーションについての例示的な一実装形態による回路構成２００を示す。回路構成２００は、暗号回路１０２への入力インターフェースと出力インターフェースとを与えるＩＰｓｅｃ暗号シェル回路２０２を含む。暗号回路は、上記で説明した、図１に示されたサブ回路を含む。
【００２５】
ＩＰｓｅｃシェル回路２０２は、同時の暗号化アクティビティおよび復号アクティビティをサポートする、並列の送信チャネルと受信チャネルとを実装する。送信チャネルは、イングレス先入れ先出し（ＦＩＦＯ）回路１１２と、送信チャネルイングレス処理回路２０４と、送信チャネルイグレス処理回路２０８と、イグレスＦＩＦＯ回路１２０と、フロー制御回路１２２とを含む。
【００２６】
イングレスＦＩＦＯ回路１１２は、たとえば、イーサネットを介して送信される、直接メモリアクセスプロトコルまたはＭＡＣプロトコルと一致するプレーンテキストデータを受信する。イングレスＦＩＦＯ回路は、送信チャネルイングレス処理回路２０４による処理のためにパケット形態で入力データをバッファする。送信チャネルイングレス処理回路は、パケットのヘッダからパラメータを抽出し、それらのパラメータを使用して、メモリ回路１１６中の関連付けられたＩＰｓｅｃ属性およびパラメータをルックアップし、メモリ回路１１６は、再構成可能なシェル中にＩＰパケットヘッダパラメータとＳＡとを連想的に記憶し、より大きいＳＡ数に対するスケーラブルなサポートを可能にする。抽出されたＩＰパケットヘッダパラメータは、ＩＰレベルソースアドレス、宛先アドレスなどを含み、関連付けられた属性およびパラメータは、ＳＡインデックスと、暗号選択パラメータと、暗号固有パラメータと、ＩＰｓｅｃ固有パラメータとを含む。暗号選択パラメータは、ＡＥＳ−ＧＣＭ−１２８ｂ、ＡＥＳ−ＧＣＭ−２５６ｂ、または別の暗号スイートを示すことができる。暗号固有パラメータは、ナンス、初期化ベクトルなどを含むことができ、ＩＰｓｅｃ固有パラメータは、シーケンス番号、セキュリティパラメータインデックス（ＳＰＩ）などを含むことができる。
【００２７】
送信チャネルイングレス処理回路２０４は、信号線１３４上で暗号化回路１０６にプレーンテキストデータを入力し、信号線１３５上でシェルチャネルデータを入力する。シェルチャネルデータは、ＳＡインデックスと、暗号選択パラメータと、暗号固有パラメータとを含む。暗号化回路は、暗号選択パラメータおよび暗号固有パラメータに従ってプレーンテキストデータを暗号化し、暗号文を送信チャネルイグレス処理回路２０８に出力する。
【００２８】
送信チャネルイグレス処理回路２０８はＩＰｓｅｃ固有処理を実行し、ＩＰｓｅｃ固有処理は、パケットに新しいリンクヘッダを挿入すること、現在のリンクヘッダを交換すること、ソフトウェアによる検査のためのパケットをキャプチャするためにバッファを組み込むこと、またはソフトウェアからの暗号化されたデータストリームにパケットを挿入することを含むことができる。
【００２９】
送信チャネルイグレス処理回路２０８からの出力データはイグレスＦＩＦＯ回路１２０に与えられ、イグレスＦＩＦＯ回路１２０は、イーサネットチャネルを介して送信する前に、そのデータをバッファする。イグレスＦＩＦＯ回路はフロー制御回路１２２にシグナリングし、フロー制御回路１２２は、イングレスＦＩＦＯ回路１１２への暗号文パケットの入力を可能にするか、またはバックプレッシャーする。たとえば、イグレスＦＩＦＯ回路が満杯である場合、フロー制御回路１２２は、イグレスＦＩＦＯ回路１２０中でスペースが利用可能になるまで、イングレスＦＩＦＯ回路１１２への入力をバックプレッシャーする。
【００３０】
受信チャネルは、イングレスＦＩＦＯ回路１２４と、受信チャネルイングレス処理回路２１０と、受信チャネルイグレス処理回路２１２と、イグレスＦＩＦＯ回路１３０と、フロー制御回路１３２とを含む。
【００３１】
イングレスＦＩＦＯ回路１２４は、ＭＡＣプロトコルと一致する暗号文データを受信する。イングレス暗号文データは、たとえば、イーサネットを介して送信され得る。イングレスＦＩＦＯ回路１２４は、受信チャネルイングレス処理回路２１０による処理のためにパケット形態で入力データをバッファする。受信チャネルイングレス処理回路２１０は、パケットのヘッダからパラメータを抽出し、それらのパラメータを使用して、メモリ回路１１６中の関連付けられたＩＰｓｅｃ属性およびパラメータをルックアップする。
【００３２】
受信チャネルイングレス処理回路２１０は、信号線１３８上で復号回路１０８に暗号文データを入力し、信号線１４０上でシェルチャネルデータを入力する。シェルチャネルデータは、ＳＡインデックスと、暗号選択パラメータと、暗号固有パラメータとを含む。復号回路は、暗号選択パラメータおよび暗号固有パラメータに従って暗号文データを復号し、プレーンテキストデータを受信チャネルイグレス処理回路２１２に出力する。
【００３３】
受信チャネルイグレス処理回路２１２は、上述のようにＩＰｓｅｃ固有処理を実行する。
【００３４】
受信チャネルイグレス処理回路２１２からの出力データはイグレスＦＩＦＯ回路１３０に与えられ、イグレスＦＩＦＯ回路１３０は、ＤＭＡまたはイーサネットチャネルを介して送信する前に、そのデータをバッファする。イグレスＦＩＦＯ回路１３０はフロー制御回路１３２にシグナリングし、フロー制御回路１３２は、イングレスＦＩＦＯ回路１２４へのプレーンテキストパケットの入力を可能にするか、またはバックプレッシャーする。たとえば、イグレスＦＩＦＯ回路１３０が満杯である場合、フロー制御回路１３２は、イグレスＦＩＦＯ回路１３０中でスペースが利用可能になるまで、イングレスＦＩＦＯ回路１２４への入力をバックプレッシャーする。
【００３５】
図３は、バルク暗号法アプリケーションについての例示的な一実装形態による回路構成３００を示す。回路構成３００は、暗号回路１０２への入力インターフェースと出力インターフェースとを与えるバルク暗号法シェル回路３０２を含む。暗号回路は、上記で説明した、図１に示されたサブ回路を含む。
【００３６】
バルク暗号法シェル回路３０２は、同時の暗号化アクティビティおよび復号アクティビティをサポートする、並列の送信チャネルと受信チャネルとを実装する。送信チャネルは、送信チャネルイングレス処理回路３０４と、送信チャネルイグレス処理回路３０６とを含む。送信チャネルイングレス処理回路３０４は、ユーザインターフェースからプレーンテキストデータを受信し、メモリ回路１１６中のバルク暗号法属性およびパラメータをルックアップし、メモリ回路１１６は、再構成可能なシェル中にＳＡを連想的に記憶し、より大きいＳＡ数に対するスケーラブルなサポートを可能にする。
【００３７】
バルク暗号法シェル３０２に入力を与え、バルク暗号法シェル３０２から出力を受信するユーザインターフェースは、バルク暗号法シェルの入力信号線および出力信号線に接続された任意の特定用途向け回路であり得る。たとえば、ユーザインターフェースは、プレーンテキストまたは暗号化されたデータを移動するためにプログラマブル論理中に実装された回路であり得る。代替的に、ＤＭＡコントローラがバルク暗号法シェルの入力部または出力部に接続され得る。
【００３８】
バルク暗号法シェルは、特定用途向けインターフェースのために好適な最小のシェルであるので、メモリ１１６中のＳＡインデックスのルックアップは、入力プレーンテキストまたは他の特定用途向け基準に基づき得る。
【００３９】
メモリ１１６から取り出された情報は、ＳＡインデックスと、暗号選択パラメータと、暗号固有パラメータと、バルク暗号法固有パラメータとを含むことができる。暗号選択パラメータは、ＡＥＳ−ＧＣＭ−１２８ｂ、ＡＥＳ−ＧＣＭ−２５６ｂ、または別の暗号スイートを示すことができる。暗号固有パラメータは、ナンス、初期化ベクトルなどを含むことができる。
【００４０】
送信チャネルイングレス処理回路３０４は、信号線１３４上で暗号化回路１０６にプレーンテキストデータを入力し、信号線１３５上でシェルチャネルデータを入力する。シェルチャネルデータは、ＳＡインデックスと、暗号選択パラメータと、暗号固有パラメータとを含む。暗号化回路は、暗号選択パラメータおよび暗号固有パラメータに従ってプレーンテキストデータを暗号化し、暗号文を送信チャネルイグレス処理回路３０６に出力する。
【００４１】
送信チャネルイグレス処理回路３０６は、新しいメタデータをパケットに挿入するか、現在のメタデータを交換するか、暗号化ブロックをバイパスする任意のパケットをデータストリーム中に挿入するか、またはバルク暗号法に関係しないパケットに対して他の変換を実行することができる。
【００４２】
送信チャネルイグレス処理回路３０６からの出力データはユーザインターフェースに与えられる。イグレスユーザインターフェースは、アプリケーションに応じて、イングレスユーザインターフェースと同じであるか、またはイングレスユーザインターフェースとは異なり得る。
【００４３】
受信チャネルは、受信チャネルイングレス処理回路３０８と、受信チャネルイグレス処理回路３１０とを含む。受信チャネルイングレス処理回路３０８は、ユーザインターフェースを介して暗号文データを受信し、メモリ回路１１６中の属性およびパラメータをルックアップする。
【００４４】
受信チャネルイングレス処理回路３０８は、信号線１３８上で復号回路１０８に暗号文データを入力し、信号線１４０上でシェルチャネルデータを入力する。シェルチャネルデータは、ＳＡインデックスと、暗号選択パラメータと、暗号固有パラメータとを含む。復号回路は、暗号選択パラメータおよび暗号固有パラメータに従って暗号文データを復号し、プレーンテキストデータを受信チャネルイグレス処理回路３１０に出力する。
【００４５】
受信チャネルイグレス処理回路３１０は、イグレス処理回路３０６と同じ機能を実行することができる。
【００４６】
受信チャネルイグレス処理回路３１０からの出力データはユーザインターフェースに与えられる。
【００４７】
図４は、１つまたは複数の実装形態による、送信チャネル内で実行される例示的なプロセスのフローチャートである。ブロック４０２において、暗号シェル回路へのプレーンテキストデータの入力に応答して、暗号シェル回路は、いくつかのプロトコル中のパケットなど、入力データからパラメータを抽出する。抽出されたパラメータは、アプリケーションによって採用されたセキュリティ方式に依存し得る。たとえば、抽出されたパラメータは、ＭＡＣｓｅｃ、ＩＰｓｅｃ、またはバルク暗号法の実装形態用であり得る。
【００４８】
ブロック４０４において、暗号シェル回路は、メモリ回路中の抽出されたパラメータに関連するシェルチャネルパラメータをルックアップする。シェルチャネルパラメータは、セキュリティアプリケーションに応じて、ＳＡインデックスと、ＡＥＳ−ＧＣＭ−１２８ｂ、ＡＥＳ−ＧＣＭ−２５６ｂ、または別の暗号スイートを示す暗号選択パラメータと、ナンス、初期化ベクトル、パケット数、セキュリティチャネル数、シーケンス数、セキュリティパラメータインデックス（ＳＰＩ）などを含む、暗号固有パラメータとを含むことができる。
【００４９】
ハードワイヤード暗号回路は、上記のように、ＭＡＣｓｅｃ、ＩＰｓｅｃ、またはバルク暗号法など、様々なセキュリティアプリケーションにおいて採用され得る。暗号シェル回路は、プログラマブル論理において、またはソフトウェアを実行するプロセッサとして実装され得、所望のセキュリティアプリケーションに従って構成され得る。したがって、ハードワイヤード暗号回路は、シェルチャネルパラメータの入力とプレーンテキストの入力とのための信号線の別個のセットを有する。シェルチャネルパラメータは、信号線の１つのセット上で、ブロック４０６においてハードワイヤード暗号回路に入力され、プレーンテキストは、信号線の別のセット上で、ブロック４０８においてハードワイヤード暗号回路に入力される。
【００５０】
ブロック４１０において、ハードワイヤード暗号回路は入力シェルチャネルパラメータに従ってプレーンテキストを暗号化する。暗号文は、ブロック４１２において、セキュリティアプリケーションに従って暗号シェル回路によって出力される。
【００５１】
図５は、１つまたは複数の実装形態による、受信チャネル内で実行される例示的なプロセスのフローチャートである。ブロック５０２において、暗号シェル回路への暗号文を含んでいるデータの入力に応答して、暗号シェル回路は入力データからパラメータを抽出する。入力データはいくつかのプロトコルにおけるパケットフォーマットであり得る。抽出されたパラメータは、アプリケーションによって採用されたセキュリティ方式に依存し得る。たとえば、抽出されたパラメータは、ＭＡＣｓｅｃ、ＩＰｓｅｃ、またはバルク暗号法の実装形態用であり得る。
【００５２】
ブロック５０４において、暗号シェル回路は、送信チャネルのプロセスに関して上記で説明したように、メモリ回路中の抽出されたパラメータに関連するシェルチャネルパラメータをルックアップする。
【００５３】
ハードワイヤード暗号回路は、シェルチャネルパラメータの入力と暗号文の入力とのための信号線の別個のセットを有する。シェルチャネルパラメータは、信号線の１つのセット上で、ブロック５０６においてハードワイヤード暗号回路に入力され、暗号文は、信号線の別のセット上で、ブロック５０８においてハードワイヤード暗号回路に入力される。
【００５４】
ブロック５１０において、ハードワイヤード暗号回路は入力シェルチャネルパラメータに従って暗号文を復号する。得られたプレーンテキストは、ブロック５１２において、セキュリティアプリケーションに従って暗号シェル回路によって出力される。
【００５５】
図６は、複数の再構成可能な暗号シェル回路と、関連付けられたハードワイヤード暗号回路とを有する回路構成６００を示す。再構成可能な暗号シェル回路は、ブロック６０４、６０６、…、６０８として示されており、再構成可能な暗号シェル回路の各々はハードワイヤード暗号回路１０２の専用インスタンスを有する。再構成可能な暗号シェル回路は、ＭＡＣｓｅｃシェル回路１０４、ＩＰｓｅｃシェル回路２０２、バルク暗号法シェル回路３０２、および／または任意の他の同等のセキュリティプロトコルのための暗号シェル回路のインスタンスであり得る。
【００５６】
本回路構成は、複数の異なるセキュリティアプリケーションのための暗号化機能と復号機能とを与えることができる。したがって、単一のデバイスが、それぞれ、異なる暗号アプリケーションを必要とする複数のエンドポイントをサービスすることができる。たとえば、単一のデバイスが、ＭＡＣｓｅｃ機能、ＩＰｓｅｃ機能、および／またはバルク暗号法機能を与えることができる。暗号シェル回路６０４、６０６、…、６０８の再構成可能性により、処理ニーズが変化した際に、異なる暗号セキュリティアプリケーションにリソースをリダイレクトすることが可能になる。たとえば、ＭＡＣｓｅｃ暗号シェル回路を一度実装したプログラマブルリソースは、必要とされる場合、ＩＰｓｅｃ暗号シェル回路を実装するように再プログラムされ得る。また、同じ暗号シェル回路の複数のインスタンスが、特定のセキュリティアプリケーションのための帯域幅要件を満たすように構成され得る。
【００５７】
暗号デバイス６０２は、たとえば集積回路（ＩＣ）パッケージであり得る。暗号シェル回路６０４、６０６、…、６０８の各々は、入出力回路６１０のうちの少なくとも１つのインスタンスに結合される。各入出力回路は、デバイス６０２の外部の宛先にデータを送り、デバイス６０２の外部のソースからデータを受信する高速シリアルトランシーバであり得る。いくつかの実装形態では、プレーンテキストまたは暗号文のソースまたは宛先は、暗号デバイス６０２と同じＩＣチップまたはパッケージ上に実装された回路であり得、暗号シェル回路は、入出力回路６１０に結合される代わりに、デバイスのバスまたはプログラマブルルーティングリソースを介してオンチップ／パッケージのソース／宛先に結合され得る。
【００５８】
図７は、開示される回路およびプロセスがその上に実装され得る、プログラマブル集積回路（ＩＣ）７００を示す。プログラマブルＩＣは、他のプログラマブルリソースとともにフィールドプログラマブルゲートアレイ論理（ＦＰＧＡ）を含む、システムオンチップ（ＳｏＣ）と呼ばれることもある。ＦＰＧＡ論理は、アレイ中にいくつかの異なるタイプのプログラマブル論理ブロックを含み得る。たとえば、図７は、マルチギガビットトランシーバ（ＭＧＴ）７０１、構成可能論理ブロック（ＣＬＢ）７０２、ランダムアクセスメモリブロック（ＢＲＡＭ）７０３、入出力ブロック（ＩＯＢ）７０４、構成およびクロッキング論理（ＣＯＮＦＩＧ／ＣＬＯＣＫＳ）７０５、デジタル信号処理ブロック（ＤＳＰ）７０６、特殊化された入出力ブロック（Ｉ／Ｏ）７０７、たとえばクロックポート、およびデジタルクロックマネージャ、アナログデジタル変換器、システム監視論理など、他のプログラマブル論理７０８などを含む、多数の異なるプログラマブルタイルを含む、プログラマブルＩＣ７００を示す。ＦＰＧＡ論理を有するいくつかのプログラマブルＩＣはまた、専用プロセッサブロック（ＰＲＯＣ）７１０ならびに内部再構成ポートおよび外部再構成ポート（図示せず）を含む。
【００５９】
いくつかのＦＰＧＡ論理において、各プログラマブルタイルは、各隣接するタイル中の対応する相互接続要素へのおよび対応する相互接続要素からの標準化された接続を有するプログラマブル相互接続要素（ＩＮＴ）７１１を含む。したがって、一緒にされたプログラマブル相互接続要素は、図示されたＦＰＧＡ論理のためのプログラマブル相互接続構造を実装する。プログラマブル相互接続要素ＩＮＴ７１１はまた、図７の上部に含まれる例によって示されるように、同じタイル内のプログラマブル論理要素への接続と、同じタイル内のプログラマブル論理要素からの接続とを含む。
【００６０】
たとえば、ＣＬＢ７０２は、ユーザ論理を実装するようにプログラムされ得る構成可能論理要素ＣＬＥ７１２に加えて、単一のプログラマブル相互接続要素ＩＮＴ７１１を含むことができる。ＢＲＡＭ７０３は、１つまたは複数のプログラマブル相互接続要素に加えて、ＢＲＡＭ論理要素（ＢＲＬ）７１３を含むことができる。一般に、タイル中に含まれる相互接続要素の数はタイルの高さに依存する。図示されているＢＲＡＭタイルは５個のＣＬＢと同じ高さを有するが、他の数（たとえば４個）も使用され得る。ＤＳＰタイル７０６は、適切な数のプログラマブル相互接続要素に加えて、ＤＳＰ論理要素（ＤＳＰＬ）７１４を含むことができる。ＩＯＢ７０４は、たとえば、プログラマブル相互接続要素ＩＮＴ７１１の１つのインスタンスに加えて、入出力論理要素（ＩＯＬ）７１５の２つのインスタンスを含むことができる。当業者に明らかになるように、たとえばＩ／Ｏ論理要素７１５に接続される実際のＩ／Ｏボンドパッドは、様々な図示された論理ブロックの上に積層された金属を使用して製造され、一般に、入出力論理要素７１５の領域に閉じ込められない。
【００６１】
（図７において影付きで示されている）ダイの中心に近いカラム（columnar）領域は、構成、クロック、および他の制御論理のために使用される。このカラムから延びる水平領域７０９は、プログラマブルＩＣの幅にわたってクロックと構成信号とを分配するために使用される。「カラム」領域および「水平」領域に対する言及は、図面を縦方向に見ることに関するものであることに留意されたい。
【００６２】
図７に示されたアーキテクチャを利用するいくつかのプログラマブルＩＣは、プログラマブルＩＣの大きい部分を構成する通常のカラム構造を中断させる、追加の論理ブロックを含む。追加の論理ブロックはプログラマブルブロックおよび／または専用論理であり得る。たとえば、図７に示されたプロセッサブロックＰＲＯＣ７１０は、ＣＬＢおよびＢＲＡＭのいくつかのカラムにわたっている。
【００６３】
図７は、例示的なプログラマブルＩＣアーキテクチャのみを示すものであることに留意されたい。カラム中の論理ブロックの数、カラムの相対幅、カラムの数および順序、カラム中に含まれる論理ブロックのタイプ、それらの論理ブロックの相対サイズ、図７の上部に含まれる相互接続／論理の実装形態は例にすぎない。たとえば、実際のプログラマブルＩＣでは、ユーザ論理の効率的な実装を容易にするために、一般に、ＣＬＢが現れる場所にはどこでも、ＣＬＢの２つ以上の隣接するカラムが含まれる。
【００６４】
本明細書で説明したおよび／または図に示された動作およびアクティビティのうちの１つまたは複数を実行するために、様々なモジュールが実装され得る。これらの文脈において、「モジュール」、「エンジン」、または「ブロック」は、これらのまたは関係する動作／アクティビティ（たとえば暗号化および／または復号）のうちの１つまたは複数を実行する回路である。たとえば、１つまたは複数のモジュール／エンジンは、図１〜図３および図６に示されているように、これらの動作／アクティビティを実装するために構成および配置されたディスクリート論理回路またはプログラマブル論理回路である。プログラマブル回路は、命令（および／または構成データ）の１つのセット（または複数のセット）を実行するようにプログラムされた１つまたは複数のコンピュータ回路を含むことができる。命令（および／または構成データ）は、メモリ（回路）に記憶され、メモリ（回路）からアクセス可能なファームウェアまたはソフトウェアの形態であり得る。例として、第１のモジュールおよび第２のモジュールは、ＣＰＵハードウェアベース回路と、ファームウェアの形態の命令のセットとの組合せを含み、ここで、第１のモジュールは、命令の１つのセットをもつ第１のＣＰＵハードウェア回路を含み、第２のモジュールは、命令の別のセットをもつ第２のＣＰＵハードウェア回路を含む。
【００６５】
開示される回路構成は暗号化回路と復号回路とを含む。暗号シェル回路は、送信チャネル、および送信チャネルに並列の受信チャネルとを有する。送信チャネルは、暗号化回路に結合された暗号化インターフェース回路を含む。暗号化インターフェース回路は、プレーンテキスト入力パケット中のデータに基づいて第１の暗号パラメータを決定することと、第１の暗号パラメータおよびプレーンテキスト入力パケットを暗号化回路に入力することとを行うように構成される。受信チャネルは、復号回路に結合された復号インターフェース回路を含む。復号インターフェース回路は、暗号文入力パケット中のデータに基づいて第２の暗号パラメータを決定することと、第２の暗号パラメータおよび暗号文入力パケットを復号回路に入力することとを行うように構成される。暗号化回路は、第１の暗号パラメータに基づいてプレーンテキスト入力パケットを暗号化するように構成され、復号回路は、第２の暗号パラメータに基づいて暗号文入力パケットを復号するように構成される。暗号シェル回路はプログラマブル論理回路において実装され得る。暗号シェル回路はプロセッサを含むことができ、プロセッサは、そのプロセッサに第１の暗号パラメータおよび第２の暗号パラメータを決定させる命令を実行するように構成される。暗号シェル回路は、第１の暗号パラメータと第２の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含むことができる。暗号シェル回路はメディアアクセス制御セキュリティを実装することができる。暗号シェル回路はインターネットプロトコルセキュリティを実装することができる。暗号シェル回路はバルク暗号化およびバルク復号を実装することができる。第１の暗号パラメータおよび第２の暗号パラメータは暗号選択コード（cipher selection code）および初期化ベクトルを含むことができる。送信チャネルは、第１の暗号パラメータを暗号化インターフェース回路から暗号化回路に搬送する信号線の第１のセットと、信号線の第１のセットから物理的に離れており、プレーンテキスト入力パケット中のデータを暗号化回路に搬送する信号線の第２のセットとを含むことができる。受信チャネルは、第２の暗号パラメータを復号インターフェース回路から復号回路に搬送する信号線の第３のセットと、信号線の第３のセットから物理的に離れており、暗号文入力パケットのデータを復号回路に搬送する信号線の第４のセットとを含むことができる。送信チャネル中の信号線の第１および第２のセットはプログラマブル論理回路において実装され得る。
【００６６】
別の開示されている回路構成は集積回路（ＩＣ）デバイスを含む。暗号化回路および復号回路の複数のペアがＩＣデバイス上に配設される。複数の暗号シェル回路は、それぞれ暗号化回路および復号回路の複数のペアに結合される。各暗号シェル回路は、送信チャネル、および送信チャネルに並列の受信チャネルを有する。送信チャネルは、暗号化回路および復号回路のそれぞれのペアの暗号化回路に結合された暗号化インターフェース回路を含む。暗号化インターフェース回路は、プレーンテキスト入力パケット中のデータに基づいて第１の暗号パラメータを決定することと、第１の暗号パラメータおよびプレーンテキスト入力パケットを暗号化回路に入力することとを行うように構成される。受信チャネルは、暗号化回路および復号回路のそれぞれのペアの復号回路に結合された復号インターフェース回路を含む。復号インターフェース回路は、暗号文入力パケット中のデータに基づいて第２の暗号パラメータを決定することと、第２の暗号パラメータおよび暗号文入力パケットを復号回路に入力することとを行うように構成される。暗号化回路および復号回路のそれぞれのペアの暗号化回路は、第１の暗号パラメータに基づいてプレーンテキスト入力パケットを暗号化するように構成され、暗号化回路および復号回路のそれぞれのペアの復号回路は、第２の暗号パラメータに基づいて暗号文入力パケットを復号するように構成される。複数の暗号シェル回路は、メディアアクセス制御セキュリティ、インターネットプロトコルセキュリティ、またはバルク暗号法のうちの１つを実装することができる。複数の暗号シェル回路のうちの１つまたは複数はメディアアクセス制御セキュリティを実装することができ、複数の暗号シェル回路のうちの１つまたは複数はインターネットプロトコルセキュリティを実装することができる。複数の暗号シェル回路のうちの１つまたは複数はメディアアクセス制御セキュリティを実装することができ、複数の暗号シェル回路のうちの１つまたは複数はインターネットプロトコルセキュリティを実装することができ、複数の暗号シェル回路のうちの１つまたは複数はバルク暗号法を実装することができる。複数の暗号シェル回路はプログラマブル論理回路において実装され得る。複数の暗号シェル回路は１つまたは複数のプロセッサを含むことができ、１つまたは複数のプロセッサは、それらの１つまたは複数のプロセッサに第１の暗号パラメータおよび第２の暗号パラメータを決定させる命令を実行するように構成される。複数の暗号シェル回路の各暗号シェル回路は、第１の暗号パラメータと第２の暗号パラメータとを指定する複数のセキュリティアソシエーションを用いて構成されたメモリ回路を含むことができる。第１の暗号パラメータおよび第２の暗号パラメータは暗号選択コードおよび初期化ベクトルを含むことができる。送信チャネルは、第１の暗号パラメータを暗号化インターフェース回路から暗号化回路に搬送する信号線の第１のセットと、信号線の第１のセットから物理的に離れており、プレーンテキスト入力パケットのデータを暗号化回路に搬送する信号線の第２のセットとを含むことができる。受信チャネルは、第２の暗号パラメータを復号インターフェース回路から復号回路に搬送する信号線の第３のセットと、信号線の第３のセットから物理的に離れており、暗号文入力パケットのデータを復号回路に搬送する信号線の第４のセットとを含むことができる。
【００６７】
態様および特徴は、場合によっては、個々の図において説明され得るが、１つの図からの特徴は、その組合せが明示的に示されていないか、または組合せとして明示的に説明されなくても、別の図の特徴と組み合わせられ得ることが諒解されよう。
【００６８】
回路および方法は、暗号化および／または復号のための様々なシステムに適用可能であると考えられる。他の態様および特徴は本明細書の検討から当業者に明らかになろう。回路および方法は、ソフトウェアを実行するように構成された１つまたは複数のプロセッサとして、特定用途向け集積回路（ＡＳＩＣ）として、またはプログラマブル論理デバイス上の論理として実装され得る。本明細書および図面は例のみとして考えられるものであり、本発明の真の範囲は以下の特許請求の範囲によって示される。
【図１】
2022502910.tif 000003
【図２】
2022502910.tif 000004
【図３】
2022502910.tif 000005
【図４】
2022502910.tif 000006
【図５】
2022502910.tif 000007
【図６】
2022502910.tif 000008
【図７】
2022502910.tif 000009
【国際調査報告】
2022502910.tif 000010
2022502910.tif 000011