IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ザイリンクス インコーポレイテッドの特許一覧

<>
  • 特許-スライス集約型暗号システムおよび方法 図1
  • 特許-スライス集約型暗号システムおよび方法 図2
  • 特許-スライス集約型暗号システムおよび方法 図3
  • 特許-スライス集約型暗号システムおよび方法 図4
  • 特許-スライス集約型暗号システムおよび方法 図5
  • 特許-スライス集約型暗号システムおよび方法 図6
  • 特許-スライス集約型暗号システムおよび方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-26
(45)【発行日】2024-10-04
(54)【発明の名称】スライス集約型暗号システムおよび方法
(51)【国際特許分類】
   G09C 1/00 20060101AFI20240927BHJP
   H03K 19/17732 20200101ALI20240927BHJP
   H03K 19/17768 20200101ALI20240927BHJP
   G06F 21/60 20130101ALI20240927BHJP
   G06F 21/64 20130101ALI20240927BHJP
【FI】
G09C1/00 610A
H03K19/17732
H03K19/17768
G06F21/60 320
G06F21/64
【請求項の数】 16
(21)【出願番号】P 2022502571
(86)(22)【出願日】2020-07-07
(65)【公表番号】
(43)【公表日】2022-09-22
(86)【国際出願番号】 US2020041061
(87)【国際公開番号】W WO2021011240
(87)【国際公開日】2021-01-21
【審査請求日】2023-06-14
(31)【優先権主張番号】16/513,218
(32)【優先日】2019-07-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591025439
【氏名又は名称】ザイリンクス インコーポレイテッド
【氏名又は名称原語表記】XILINX INCORPORATED
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】バルマー,アヌジャン
(72)【発明者】
【氏名】スン,ポーチン
(72)【発明者】
【氏名】パン,チュアン・チョン
(72)【発明者】
【氏名】ラビ,スチスラ
【審査官】行田 悦資
(56)【参考文献】
【文献】特表2005-507614(JP,A)
【文献】米国特許出願公開第2004/0128553(US,A1)
【文献】特開2006-041684(JP,A)
【文献】特開2005-322201(JP,A)
【文献】特開2011-250020(JP,A)
【文献】米国特許出願公開第2003/0081600(US,A1)
【文献】米国特許出願公開第2005/0220305(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G09C 1/00
H03K 19/17732
H03K 19/17768
G06F 21/60
G06F 21/64
(57)【特許請求の範囲】
【請求項1】
システムであって、
1つ以上の個々の暗号スライスを集約することによって、着信データ転送に対して第1の処理レートで複数の動作を行なうように各々構成された、1つ以上のスライス集約型暗号スライスを含み、各個々の暗号スライスは、前記着信データ転送の一部分に対して第2の処理レートで前記複数の動作を行なうように構成され、前記1つ以上の個々の暗号スライスの各々は、直列接続されたイングレスブロックと暗号エンジンとイーグレスブロックという構成要素を少なくとも含み、
前記イングレスブロックは、前記着信データ転送の前記一部分を前記第2の処理レートで取り出し、必要な前記動作を前記暗号エンジンに通知し、前記着信データ転送の前記一部分を前記暗号エンジンに供給するように構成され、
前記暗号エンジンは、前記着信データ転送の前記一部分に対して前記動作を行なうように構成され、
前記イーグレスブロックは、前記動作がいったん完了すると、前記着信データ転送の前記一部分のシグネチャを挿入または除去し、前記着信データ転送の前記一部分を出力するように構成され、
前記1つ以上のスライス集約型暗号スライスの各々の前記第1の処理レートは、前記スライス集約型暗号スライスにおける前記1つ以上の個々の暗号スライスの集約された第2の処理レートと等しい、システム。
【請求項2】
前記複数の動作は、完全性のために前記着信データ転送の前記シグネチャを生成またはチェックすること、および、機密性のために前記着信データ転送を暗号化または解読することのうちの1つ以上である、請求項1に記載のシステム。
【請求項3】
前記1つ以上のスライス集約型暗号スライスの各スライスは、
前記着信データ転送を分割して、前記着信データ転送の部分を、前記スライス集約型暗号スライスにおける前記1つ以上の個々の暗号スライスの前記イングレスブロックに供給し、
前記個々の暗号スライスが前記着信データ転送のそれぞれの部分を処理することをいったん完了すると、前記1つ以上の個々の暗号スライスの前記イーグレスブロックからの出力を、さらなる転送および/または処理のために、1つのデータ出力にまとめるように構成され、1つのスライス集約型暗号スライス上で処理される前記着信データ転送の前記一部分は、他のスライス集約型暗号スライス上で処理される前記着信データ転送の前記一部分から物理的に分離される、請求項1に記載のシステム。
【請求項4】
前記1つ以上のスライス集約型暗号スライスのうちの少なくとも1つは、2つ以上の個々の暗号スライスを含み、前記1つ以上のスライス集約型暗号スライスのうちの前記少なくとも1つの前記第1の処理レートは、前記1つ以上の個々の暗号スライスの前記第2の処理レートよりも高い、請求項1に記載のシステム。
【請求項5】
前記1つ以上のスライス集約型暗号スライスのうちの少なくとも1つは、個々の暗号スライスを1つだけ含み、前記1つ以上のスライス集約型暗号スライスは、前記着信データ転送の異なる部分に対して異なる処理レートで前記複数の動作を同時に行なうように構成される、請求項4に記載のシステム。
【請求項6】
前記スライス集約型暗号スライス間に1つ以上の交差スライスチャネルをさらに含み、前記1つ以上の交差スライスチャネルの各交差スライスチャネルは、スライス集約を達成するために、1つのスライス集約型暗号スライスから生成された情報を別のスライス集約型暗号スライスへ伝搬するように構成され、前記1つ以上の交差スライスチャネルの各交差スライスチャネルはさらに、一般的に使用される情報を、1つのスライス集約型暗号スライス内のすべての個々の暗号スライスへ同報通信するように構成され、スライスごとのリソースが、前記スライス集約型暗号スライスの構成に基づいて、前記個々の暗号スライス間でともにカスケードされ、共有され、動作される、請求項1に記載のシステム。
【請求項7】
前記1つ以上のスライス集約型暗号スライスのうちの1つは、前記1つ以上の個々の暗号スライスの一部のみを集約するように構成される、請求項1に記載のシステム。
【請求項8】
前記1つ以上の個々の暗号スライスを1つのスライス集約型暗号スライスへ集約することは、前記個々の暗号スライスの前記構成要素間で情報を共有することを含む、請求項1に記載のシステム。
【請求項9】
前記個々の暗号スライスの集約中、前記イングレスブロックの関連情報が、1つの個々の暗号スライスから次の暗号スライスへ伝搬され、前記個々の暗号スライスの前記イングレスブロックは、有限状態機械ベースのものである、請求項8に記載のシステム。
【請求項10】
前記個々の暗号スライスの集約中、前記暗号エンジンによる動作結果が、1つの個々の暗号スライスから次の個々の暗号スライスへ伝搬され、前記暗号エンジンは、数学論理ベースのものである、請求項8に記載のシステム。
【請求項11】
前記イーグレスブロックの関連情報が、1つの個々の暗号スライスから次の個々の暗号スライスへ伝搬され、前記個々の暗号スライスの前記イーグレスブロックは、有限状態機械ベースのものである、請求項8に記載のシステム。
【請求項12】
リソース共有のために、現在のデータフレーミング情報および最終結果が、すべての個々の暗号スライスへ同報通信される、請求項8に記載のシステム。
【請求項13】
前記1つ以上のスライス集約型暗号スライスの各スライスは、前記スライス集約型暗号スライスの構成に基づいて前記情報を扱って共有するように構成される、請求項8に記載のシステム。
【請求項14】
方法であって、
1つ以上の個々の暗号スライスをスライス集約型暗号スライスへ集約するステップを含み、各スライスは、着信データ転送に対して第1の処理レートで複数の動作を行なうように構成され、前記1つ以上の個々の暗号スライスの各個々の暗号スライスは、直列接続されたイングレスブロックと暗号エンジンとイーグレスブロックという構成要素を少なくとも含み、
前記イングレスブロックは、前記着信データ転送の一部分を第2の処理レートで取り出し、必要な前記動作を前記暗号エンジンに通知し、前記着信データ転送の前記一部分を前記暗号エンジンに供給するように構成され、
前記暗号エンジンは、前記着信データ転送の前記一部分に対して前記動作を行なうように構成され、
前記イーグレスブロックは、前記動作がいったん完了すると、前記着信データ転送の前記一部分のシグネチャを挿入または除去し、前記着信データ転送の前記一部分を出力するように構成され、前記方法はさらに、
前記着信データ転送を分割して、前記着信データ転送の部分を、前記スライス集約型暗号スライスにおける前記1つ以上の個々の暗号スライスの前記イングレスブロックに供給するステップを含み、前記1つ以上の個々の暗号スライスの各々は、前記着信データ転送の一部分に対して第2の処理レートで前記複数の動作を行なうように構成され、前記スライス集約型暗号スライスの前記第1の処理レートは、前記スライス集約型暗号スライスにおける前記1つ以上の個々の暗号スライスの集約された第2の処理レートと等しく、前記方法はさらに、
前記個々の暗号スライスが前記着信データ転送のそれぞれの部分を処理することをいったん完了すると、前記スライス集約型暗号スライスにおける前記1つ以上の個々の暗号スライスの前記イーグレスブロックからの出力を、さらなる転送および/または処理のために、1つのデータ出力にまとめるステップを含む、方法。
【請求項15】
1つのスライス集約型暗号スライス上で処理される前記着信データ転送の前記一部分を、他のスライス集約型暗号スライス上で処理される前記着信データ転送の前記一部分から物理的に分離するステップをさらに含む、請求項14に記載の方法。
【請求項16】
スライス集約を達成するために、1つの個々の暗号スライスから生成された情報を別の個々の暗号スライスへ伝搬するステップと、
一般的に使用される情報を、前記スライス集約型暗号スライス内のすべての個々の暗号スライスへ同報通信するステップとをさらに含み、
スライスごとのリソースが、前記スライス集約型暗号スライスの構成に基づいて、前記個々の暗号スライス間でともにカスケードされ、共有され、動作される、請求項15に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
この開示は一般に、通信ネットワーク上を通したデータ転送の保護のための暗号システムと、提案されるスライス集約型(slice-aggregated)暗号システムを実現するシステムおよび回路とに関する。
【背景技術】
【0002】
背景
現在のビッグデータの時代では、毎日、100京バイトのデータが、エッジデバイスから作成され、クラウドのストレージおよび/またはサーバにアップロードされる。企業またはサービスプロバイダのコアネットワークへのエントリポイントを提供するエッジデバイスは、非限定的な例のために、ルータ、スイッチ、マルチプレクサ、およびさまざまなネットワークアクセスデバイスを含み得る。データ保護のために、暗号法が、データがセキュアにエッジデバイスから送信されてクラウドに格納されることを確実にするために、そのようなデータのネットワーキングおよび格納においてしばしば使用される。異なるエッジデバイスは、異なる処理レートを必要とする場合がある。
【0003】
非限定的な例のために、400G(またはgbps)暗号エンジンが、100gbps(すなわちギガビット/秒)、200gbps、および400gbpsの処理レートでデータ転送を暗号化し解読するように構成される。4つの100G暗号エンジン、2つの200G暗号エンジン、および1つの400Gエンジンを含む例示的な暗号システムが次に、各データ転送の要求される処理レートに基づいて、暗号エンジンのうちの1つ以上を選ぶ。非限定的な例のために、以下を挙げる:
4つの100gbpsデータ転送のための、4つの100G暗号エンジン、または
2つの200gbpsデータ転送のための、2つの200G暗号エンジン、または
1つの400gbpsデータ転送のための、1つの400G暗号エンジン、または
1つの200gbpsデータ転送および2つの100gbpsデータ転送のための、1つの200G暗号エンジンおよび2つの100暗号エンジン。
【0004】
しかしながら、そのような暗号システムは、冗長な暗号エンジンが暗号システムに含まれるため、極めて高くつく。
【0005】
別の従来のアプローチは、各データ転送のためにイングレスおよびイーグレスバッファを有する1つの単一のたとえば400Gの暗号エンジンに対して、時分割多重化(time division multiplexing:TDM)を使用することである。要求される処理レートに基づいてバッファ間でデータ転送を切り替えるために、これらの追加のイングレスおよびイーグレスバッファをいくつかのオーバーヘッドメカニズムを用いて並べ替えることによって、構成可能性が達成される。しかしながら、このアプローチは、追加のイングレスおよびイーグレスバッファ、物理的分離の欠如、ならびに、1つの単一の暗号エンジンの共有によるパワーゲーティングのため、コストおよび待ち時間ペナルティを有する。
【発明の概要】
【課題を解決するための手段】
【0006】
概要
したがって、高速で構成可能な暗号システムの必要性がすでに生じている。新しい暗号システムが提案され、暗号システムは、複数の低処理レート(たとえば100G)スライスを含む。各スライスは、データ転送に対してある処理レートで暗号動作を行なうように構成されてもよい。暗号システムは、データ暗号化/解読の完全性および/または機密性のためにさまざまなより高い処理レートで処理ユニットを形成するために、複数の低レート処理スライス間のさまざまな集約/構成を可能にする。そのようなスライス集約型暗号システムは、再使用可能で構成可能な構成要素/スライスを採用することによってコスト効率を達成し、現在のデータ転送タスクにとって必要なスライスのみをオンにすることによって電力効率を達成し、また、データ転送のために使用されるスライスが物理的に分離されることによってデータ完全性のためのセキュアな設計を達成する。
【0007】
システムは1つ以上のスライス集約型暗号スライスを含み、各スライスは、1つ以上の個々の暗号スライスを集約することによって、着信データ転送に対して第1の処理レートで複数の動作を行なうように構成されてもよく、各個々の暗号スライスは、着信データ転送の一部分に対して第2の処理レートで複数の動作を行なうように構成されてもよい。個々の暗号スライスの各々は、直列接続されたイングレスブロックと暗号エンジンとイーグレスブロックとを含み、イングレスブロックは、着信データ転送の一部分を第2の処理レートで取り出すように構成され、暗号エンジンは、着信データ転送の一部分に対して動作を行なうように構成され、イーグレスブロックは、動作がいったん完了すると、着信データ転送の一部分のシグネチャを挿入または除去し、着信データ転送の一部分を出力するように構成される。各スライス集約型暗号スライスの第1の処理レートは、スライス集約型暗号スライスにおける個々の暗号スライスの集約された第2の処理レートと等しい。
【0008】
複数の動作は、完全性のためにデータ転送のシグネチャを生成またはチェックすること、および、機密性のためにデータ転送を暗号化または解読することのうちの1つ以上であるということが理解される。1つのスライス集約型暗号スライス上で処理される着信データ転送の一部分は、他のスライス集約型暗号スライス上で処理される着信データ転送の一部分から物理的に分離される。いくつかの実施形態では、システムは、スライス集約型暗号スライス間に1つ以上の交差スライスチャネルをさらに含み、1つ以上の交差スライスチャネルの各々は、スライス集約を達成するために、1つのスライス集約型暗号スライスから生成された情報を別のスライス集約型暗号スライスへ伝搬するように構成される。いくつかの実施形態では、1つ以上の交差スライスチャネルの各々はさらに、一般的に使用される情報を、1つのスライス集約型暗号スライス内のすべての個々の暗号スライスへ同報通信するように構成され、そのため、スライスごとのリソースが、スライス集約型暗号スライスの構成に基づいて、個々の暗号スライス間でともにカスケードされ、共有され、動作される。
【0009】
これらのおよび他の局面は、以下の詳細な説明を参照して理解され得る。
図面の簡単な説明
上述の特徴が詳細に理解され得る態様で、上に簡単に概説されたより特定的な説明が、例示的な実現化例を参照して得られ得る。それらのうちのいくつかを添付図面に示す。しかしながら、添付図面は典型的な実現化例を示すに過ぎず、したがってその範囲を限定するものとして考えられるべきではないということに留意されたい。
【図面の簡単な説明】
【0010】
図1】いくつかの例に従った、複数の個々の暗号スライスを含むスライス集約型暗号システムのアーキテクチャの一例を示す図である。
図2】いくつかの例に従った、各々2つの個々の100G暗号スライスをそれぞれ有する2つのスライス集約型暗号スライスを含むスライス集約型暗号システムのアーキテクチャの一例を示す図である。
図3】いくつかの例に従った、4つの個々の100G暗号スライスを有する1つのスライス集約型暗号スライスを含むスライス集約型暗号システムのアーキテクチャの一例を示す図である。
図4】いくつかの例に従った、1つの個々の100G暗号スライスと、2つの個々の100G暗号スライスを含む1つの2スライス集約型暗号スライスと、パワーオフされた1つの個々の100G暗号スライスとを含むハイブリッドスライス集約型暗号システムのアーキテクチャの一例を示す図である。
図5】いくつかの例に従った、暗号スライス間でのメタデータ共有のための動作の一例を示すシーケンス図である。
図6】いくつかの例に従ったプログラマブル集積回路(integrated circuit:IC)を示すブロック図である。
図7】いくつかの例に従った、プログラマブルICのフィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)実現化例を示す図である。
【発明を実施するための形態】
【0011】
理解を容易にするため、これらの図面に共通している同一の要素を示すために、可能であれば同一の参照符号が使用されている。ある例の要素が他の例に有益に組み込まれ得ることが考えられる。
【0012】
詳細な説明
ここに説明される例は、効率的で構成可能なスライス集約型暗号システムに関する。以下に、さまざまな特徴を、図面を参照して説明する。図面は縮尺通りに描かれても描かれなくてもよいこと、および、図面全体を通し、同様の構造または機能の要素は同じ参照符号によって表わされることに留意されたい。図面は、特徴の説明を容易にするようにのみ意図されていることに留意されたい。それらは、請求される発明の網羅的な説明として、または請求される発明の範囲に対する限定として意図されてはいない。たとえば、いくつかの例に従ったさまざまな方法は、より多いかまたはより少ない動作を含んでいてもよく、また、例に従ったさまざまな方法における動作のシーケンスは、ここに説明されるものと異なっていてもよい。加えて、図示された例は、示されたすべての局面または利点を有していなくてもよい。ある特定の例とともに説明された局面または利点は、必ずしもその例に限定されず、そのように図示されていなくても、またはそのように明示的に説明されていなくても、任意の他の例において実践され得る。
【0013】
以下に説明されるスライス集約型暗号システムは、要求される処理レートに基づいて各スライスを集約するための提案されるアプローチを示すために、4つの100G暗号エンジン(別名スライス)という非限定的な例を使用する。非限定的な例のために、システムは、2つの100G暗号スライスを集約して、集約された1つの200G暗号スライスを形成するように構成されるか、または、4つの100G暗号スライスを集約して、集約された1つの400G暗号スライスを形成するように構成される。システムは、コスト効率のために、冗長なスライスを有しておらず、また、電力効率のために、スライスごとの制御可能性を提供する。システムはまた、データセキュリティのために、集約された各スライスについて物理的分離を達成する。提案されるアプローチを示すための非限定的な例として4スライス暗号システムが使用されるが、同じアプローチは、さまざまなデータ処理レートでさまざまな数の暗号エンジンを有する暗号システムにも適用可能である。
【0014】
ここで、データ転送に対してさまざまな処理レートで暗号動作を行なうための構成可能なスライス集約型暗号システムの例を示すブロック図である図1~4を参照する。
【0015】
図1は、スライス集約型暗号システム100のアーキテクチャの一例を示す。スライス集約型暗号システム100は、図1に示すように、複数の個々の暗号スライス102_1、…、102_4、たとえばスライス#1~スライス#4を含む。各個々の暗号スライス102は、100Gまたは100gbpsで着信データ転送を処理するように構成されてもよいということが理解される。図1に示すように、各暗号スライス102は、イングレスブロック104と、それと直列接続された暗号エンジン106と、それと直列接続されたイーグレスブロック108という一連の構成要素を少なくとも含む。イングレスブロック104は、ある処理レート、たとえば100Gで着信データ転送を取り出し、データ転送のために必要な処理(たとえば暗号動作)を暗号エンジン106に通知し、それに応じて、そのような処理のためにデータを暗号エンジン106に供給するように構成される。イングレスブロック104からデータを受信すると、暗号エンジン106は、1つ以上の暗号処理および/または動作をデータに対して行なうように構成される。暗号動作は、完全性のためにデータ転送のシグネチャを生成またはチェックすること、ならびに/もしくは、機密性のためにデータを暗号化または解読することを含むものの、それらに限定されない。暗号動作が暗号エンジン106によっていったん完了されると、イーグレスブロック108は、さらなる処理または送信のために、データ転送のシグネチャを挿入または除去し、暗号化または解読されたデータを送信するように構成される。
【0016】
いくつかの実施形態では、スライス集約型暗号システムは、着信データ転送の要求される処理レートを満たすために、複数の個々の暗号スライス102sを1つのスライス集約型暗号スライスへ集約するように構成される。図2は、スライス集約型暗号システム200のアーキテクチャの一例を示す。スライス集約型暗号システム200は、各々2つの個々の100G暗号スライス102_1/102_2および102_3/102_4をそれぞれ含む2つのスライス集約型暗号スライス202_1および202_2を含む。その結果、各2スライス集約型暗号スライス202は、200Gまたは200gbps、すなわち、スライス集約型暗号スライス202における2つの個々の暗号スライス102sの集約された処理レートで、着信データ転送を処理するように構成される。200Gでのデータ転送がスライス集約型暗号スライス202によって受信されると、着信データ転送は分割されて、スライス集約型暗号スライス202の2つの個々の暗号スライス102sのイングレスブロック104sに供給され、上述のように個々の暗号スライス102sの各々における構成要素によって並列に処理される。2つの個々の暗号スライス102sが双方とも、データ転送のそれぞれの部分を処理することをいったん完了すると、スライス集約型暗号スライス202は、その2つの個々の暗号スライス102sのイーグレスブロック108sからの出力を、さらなる転送および/または処理のために、1つのデータ出力にまとめるように構成される。
【0017】
図3は、スライス集約型暗号システム400のアーキテクチャの一例を示す。スライス集約型暗号システム400は、4つの個々の100G暗号スライス102_1、…、102_4を含む1つのスライス集約型暗号スライス302を含む。その結果、4スライス集約型暗号スライス302は、400Gまたは400gbps、すなわち、スライス集約型暗号スライス302における4つの個々の暗号スライス102sの集約された処理レートで、着信データ転送を処理するように構成される。400Gでのデータ転送がスライス集約型暗号スライス302によって受信されると、着信データは分割されて、スライス集約型暗号スライス302の4つの個々の暗号スライス102sのイングレスブロック104sに供給され、上述のように個々の暗号スライス102sの各々における構成要素によって並列に処理される。4つの個々の暗号スライス102sがすべて、それぞれのデータを処理することをいったん完了すると、スライス集約型暗号スライス302は、その4つの個々の暗号スライス102sのイーグレスブロック108sからの出力を、さらなる転送および/または処理のために、1つのデータ出力にまとめるように構成される。
【0018】
いくつかの実施形態では、スライス集約型暗号システムは、異なる処理レートでの複数のデータ転送に対処するために、1つ以上の個々の暗号スライス102sと1つ以上のスライス集約型暗号スライスとの双方の混合物を含むように構成される。図4は、ハイブリッドスライス集約型暗号システム600のアーキテクチャの一例を示す。ハイブリッドスライス集約型暗号システム600は、2つの個々の100G暗号スライス102_1および102_4と、2つの個々の100G暗号スライス102_2および102_3を含む1つの2スライス集約型暗号スライス402とを含む。そのような構成下では、ハイブリッドスライス集約型暗号システム600は、複数の着信データ転送を、要求される異なる処理レートで、同時に処理するように構成される。たとえば、個々の100G暗号スライス102_1を介して、第1のデータ転送を100Gで処理し、2つの個々の100G暗号スライス102_2および102_3を含む2スライス集約型暗号スライス402を介して、第2のデータ転送を200Gで処理するように構成される。なお、図4の例における個々の暗号スライス102_4は使用されず、以下の図5のステップ512で説明されるように、電力効率のためにパワーオフされ得る(非アクティブになり得る)。
【0019】
いくつかの実施形態では、上述のスライス集約型暗号システムの各々は、個々のおよび/またはスライス集約型暗号スライス間に1つ以上の交差スライスチャネル110をさらに含む。各交差スライスチャネル110は、スライス集約を達成するために、生成されたメタデータを1つの暗号スライスから別の暗号スライスへ伝搬するように構成されるということが理解される。いくつかの実施形態では、各交差スライスチャネル110はさらに、一般的に使用されるメタデータを、1つのスライス集約型暗号スライス内のすべての個々の暗号スライスへ同報通信するように構成されてもよく、そのため、スライスごとのリソースが、スライス集約型暗号スライスの構成に基づいて、個々の暗号スライス間でともにカスケードされ、共有され、動作され得る。上述のようなスライス集約型暗号スライス内のリソース共有は、低処理レートの暗号スライスのリソースを他の暗号スライスによって再使用することができるため、コスト効率が高い。加えて、上述のようなスライス集約型暗号システムは、暗号スライスが単一の暗号スライスであるか、または、他の暗号スライスと集約されて1つのスライス集約型暗号スライスに形成するかどうかにかかわらず、時分割多重化に依拠しないため、そのようなスライス集約型暗号システムは、より良好なデータセキュリティを提供する。なぜなら、各暗号スライスまたはスライス集約型暗号スライス上で処理されるデータ部分は、他の暗号スライス上で処理されるデータ部分から物理的に分離されるためである。
【0020】
いくつかの実施形態では、複数の個々の暗号スライスを1つのスライス集約型暗号スライスへ集約することは、個々の暗号スライス102のさまざまな構成要素間で情報/メタデータを共有/伝搬することに関わる。個々の暗号スライス102sのイングレスブロック104sが有限状態機械ベースのものであるいくつかの実施形態では、個々の暗号スライス102の集約中、有限状態機械ベースのイングレスブロック104sの次の状態、内部フラグ、保存データ、および統計カウンタを含むもののそれらに限定されない、イングレスブロック104sの関連情報が、1つの個々の暗号スライス102から次の個々の暗号スライス102へ伝搬される。暗号エンジン106sが数学論理ベースのものであるいくつかの実施形態では、個々の暗号スライスの集約中、数学論理ベースの暗号エンジン106sのXOR結果、乗数結果、および他の暗号アルゴリズムに特有の結果を含むもののそれらに限定されない、暗号エンジン106sによる動作結果が、1つの個々の暗号スライスから次の個々の暗号スライスへ伝搬される。個々の暗号スライスのイーグレスブロック108sが同様に有限状態機械ベースのものであるいくつかの実施形態では、イーグレスブロック108sの関連情報が、イングレスブロック104sと同様のやり方で、1つの個々の暗号スライスから次の個々の暗号スライスへ伝搬される。いくつかの実施形態では、リソース共有のために、現在のデータフレーミング情報および最終結果が、すべての個々の暗号スライス102へ同報通信される。いくつかの実施形態では、個々の暗号スライス102の一部(たとえば、1つ以上の構成要素)のみが、スライス集約型暗号スライスのうちの1つによって集約される。たとえば、暗号エンジン106sのみが、個々の暗号スライス102を越えて集約される。
【0021】
いくつかの実施形態では、各スライス集約型暗号スライスは、スライス集約型暗号スライスの構成に基づいて情報/メタデータを扱うように構成される。図5は、暗号スライス間でのメタデータ共有のための動作の一例を示すシーケンス図である。この図は例示の目的のために機能ステップを特定の順序で示しているが、プロセスは、ステップの特定の順序または配列に限定されない。当業者であれば、この図に描かれたさまざまなステップがさまざまやり方で省略され、並べ替えられ、組合され、および/または適合され得るということを理解するであろう。
【0022】
図5の例によって示されるように、まず、ステップ502で、個々の暗号スライスがマスタースライスとして指定されたかどうかが判断される。個々の暗号スライスがマスタースライスである場合、ステップ504で、マスタースライスは、暗号スライスの現在のデータフレーミング情報を生成するように構成される。次に、ステップ506で、マスタースライスが唯一の暗号スライスであるか、または、スライス集約型暗号スライスの一部であるか、たとえば、図2のスライス集約型暗号スライス202_1における暗号スライス102_1、図3のスライス集約型暗号スライス302における暗号スライス102_1、および図4のスライス集約型暗号スライス402における暗号スライス102_2であるかが判断される。マスタースライスが唯一の暗号スライスである場合、それはあらゆる着信情報/メタデータを無視し、必ずしもメタデータを単独で生成しない。そうではなく、マスタースライスが、2つ以上の個々の暗号スライスを有するスライス集約型暗号スライスの一部であると判断された場合、それがマスタースライスでなくても(ステップ508)、ステップ510で、それは、スライス集約型暗号スライスにおける以前の個々の暗号スライスからメタデータを取り出し、それに応じてそれ自体のメタデータを生成する。スライス集約型暗号スライスの一部ではない非マスター暗号スライスは、無効の構成である。つまり、個々の暗号スライスは使用されず、ステップ512で電力効率のためにパワーオフされ得る。
【0023】
図6は、一例に従ったプログラマブル集積回路(IC)900を示すブロック図である。プログラマブルIC900は、図1~5のシステムの集積回路(IC)チップを全体的にまたは部分的に実現することができる。プログラマブルIC900は、処理システム902と、プログラマブルロジック904と、構成ロジック906と、構成メモリ908とを含む。プログラマブルIC900は、不揮発性メモリ910、RAM912、および他の回路914といった外部回路に結合され得る。
【0024】
処理システム902は、マイクロプロセッサ、メモリ、サポート回路、IO回路などを含み得る。プログラマブルロジック904は、ロジックセル916と、サポート回路918と、プログラマブルインターコネクト920とを含む。ロジックセル916は、複数の入力の一般的な論理関数を実現するように構成され得る回路を含む。サポート回路918は、トランシーバ、入力/出力ブロック、デジタル信号プロセッサ、メモリなどといった専用回路を含む。ロジックセルとサポート回路918とは、プログラマブルインターコネクト920を使用して相互接続され得る。ロジックセル916をプログラムするための、サポート回路918のパラメータを設定するための、およびプログラマブルインターコネクト920をプログラムするための情報が、構成ロジック906によって構成メモリ908に格納される。構成ロジック906は、不揮発性メモリ910または任意の他のソースから(たとえば、RAM912または他の回路914から)構成データを取得することができる。
【0025】
図7は、プログラマブルIC900のFPGA実現化例を示す。プログラマブルIC900は、構成可能論理ブロック(configurable logic block:CLB)930と、ランダムアクセスメモリブロック(random access memory block:BRAM)932と、信号処理ブロック(signal processing block:DSP)934と、入力/出力ブロック(input/output block:IOB)936と、構成およびクロッキングロジック(CONFIG/CLOCK)938と、デジタルトランシーバ940と、特殊入力/出力ブロック(I/O)942(たとえば、構成ポートおよびクロックポート)と、デジタルクロックマネージャ、システムモニタリングロジックなどといった他のプログラマブルロジック944とを含む多数の異なるプログラマブルタイルを含む。FPGAはまた、PCIeインターフェイス946、アナログ-デジタル変換器(analog-to-digital converter:ADC)948などを含み得る。
【0026】
いくつかのFPGAでは、各プログラマブルタイルは少なくとも1つのプログラマブル相互接続素子(interconnect element:INT)950を含んでいてもよく、それは、図に含まれる例によって示されるように、同じタイル内のプログラマブル論理素子の入力および出力端子952への接続部を有する。各プログラマブル相互接続素子950はまた、同じタイルまたは他のタイル内の隣接するプログラマブル相互接続素子の相互接続セグメント954への接続部を含み得る。各プログラマブル相互接続素子950はまた、論理ブロック(図示せず)間の一般的なルーティングリソースの相互接続セグメント956への接続部を含み得る。一般的なルーティングリソースは、相互接続セグメント(たとえば相互接続セグメント956)のトラックを含む論理ブロック(図示せず)と、相互接続セグメントを接続するためのスイッチブロック(図示せず)との間のルーティングチャネルを含み得る。一般的なルーティングリソースの相互接続セグメント(たとえば相互接続セグメント956)は、1つ以上の論理ブロックにまたがり得る。プログラマブル相互接続素子950は一般的なルーティングリソースとともに、図示されたFPGAのためのプログラマブル相互接続構造(プログラマブルインターコネクト)を実現する。
【0027】
例示的な一実現化例では、CLB930は、ユーザロジックを実現するようにプログラミングされ得る構成可能論理素子(configurable logic element:CLE)960と、単一のプログラマブル相互接続素子(INT)950とを含み得る。BRAM932は、1つ以上のプログラマブル相互接続素子に加えて、BRAM論理素子(BRAM logic element:BRL)962を含み得る。典型的には、1つのタイルに含まれる相互接続素子の数は、タイルの高さに依存する。図示された例では、BRAMタイルは5つのCLBと同じ高さを有するが、他の数(たとえば4つ)も使用されてもよい。信号処理ブロック934は、適切な数のプログラマブル相互接続素子に加えて、DSP論理素子(DSP logic element:DSPL)964を含み得る。IOB936は、たとえば、プログラマブル相互接続素子950の1つのインスタンスに加えて、入力/出力論理素子(input/output logic element:IOL)966の2つのインスタンスを含み得る。当業者には明らかであるように、たとえば入力/出力論理素子966に接続される実際のI/Oパッドは典型的には、入力/出力論理素子966の区域に制限されない。
【0028】
図示された例では、ダイの中心近くの水平区域は、構成、クロック、および他の制御ロジックのために使用される。この水平区域または列から延在する垂直列968は、FPGAの幅にわたってクロックおよび構成信号を分散させるために使用される。
【0029】
7に示すアーキテクチャを利用するいくつかのFPGAは、FPGAの大部分を構成する規則的な列状構造を乱す追加の論理ブロックを含む。追加の論理ブロックは、プログラマブルブロックおよび/または専用ロジックであり得る。
【0030】
なお、図7は、単に例示的なFPGAアーキテクチャを例示するよう意図されている。たとえば、1行における論理ブロックの数、行の相対的な幅、行の数および順序、行に含まれる論理ブロックのタイプ、論理ブロックの相対的なサイズ、ならびに、図7の上部に含まれる相互接続/ロジック実現化例は、単に例示的なものである。たとえば、実際のFPGAでは、CLBが現われる場所であればどこでも、CLBの2つ以上の隣接する行が典型的には含まれて、ユーザロジックの効率的な実現を容易にするが、隣接するCLB行の数はFPGAの全体サイズに応じて変化する。
【0031】
前述の事項は特定の例に向けられているが、その基本的範囲から逸脱することなく他の例およびさらに別の例が考案されてもよく、その範囲は請求項によって定められる。
図1
図2
図3
図4
図5
図6
図7