小型ガロア体乗算器エンジン
【課題】
【解決手段】 小型ガロア体並列乗算器エンジンは、乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路と、ガロア体線形変換回路であって、既約多項式について前記多項式の積の剰余を予測するため、前記乗算回路からの乗算入力を有するガロア体線形変換回路と、第1の多項式入力および第2の多項式入力とを含み、前記ガロア体線形変換回路は、行列部および単位行列部で設定された複数のセルを含んでよく、前記単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表す。
【解決手段】 小型ガロア体並列乗算器エンジンは、乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路と、ガロア体線形変換回路であって、既約多項式について前記多項式の積の剰余を予測するため、前記乗算回路からの乗算入力を有するガロア体線形変換回路と、第1の多項式入力および第2の多項式入力とを含み、前記ガロア体線形変換回路は、行列部および単位行列部で設定された複数のセルを含んでよく、前記単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表す。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は小型ガロア体乗算器エンジンに関し、具体的にはガロア体上で乗算と乗加算と乗累算とを行える小型ガロア体乗算器エンジンに関するものである。
【0002】
本出願は、2003年3月24日出願済み米国特許出願第10/395,620号、Steinら、表題COMPACT GALOIS FIELD MULTIPLIER(AD−337J)と、2002年10月9日出願済み米国仮出願第60/417,384号、Steinら、表題A COMPACT GALOIS FIELD MULTIPLIER(AD−337J)と、2001年11月30日出願済み米国仮出願第60/334,662号、Steinら、表題GF2−ALU(AD−239J)と、2001年11月20日出願済み米国仮出願第60/334,510号、Steinら、表題PARALLEL GALOIS FIELD MULTIPLIER(AD−240J)と、2001年12月18日出願済み米国仮出願第60/341,635号、Steinら、表題GALOIS FIELD MULTIPLY ADD (MPA) USING GF2−ALU(AD−299J)と、2001年12月18日出願済み米国仮出願第60/341,737号、Steinら、表題PROGRAMMABLE GF2−ALU LINEAR FEEDBACK SHIFT REGISTER-INCOMING DATA SELECTION(AD−300J)とに対して優先権を主張するものである。本出願は、さらに、2002年1月18日出願済み米国特許出願第10/051,533号、Steinら、表題GALOIS FIELD LINEAR TRANSFORMERER(AD−239J)と、2002年1月30日出願済み米国特許出願第10/060,699号、Steinら、表題GALOIS FIELD MULTIPLIER SYSTEM(AD−240J)と、2002年8月26日出願済み米国特許出願第10/228,526号、Steinら、表題GALOIS FIELD MULTIPLY/MULTIPLY - ADD/MULTIPLY ACCUMULATE(AD−299J)と、2002年5月1日出願済み米国特許出願第10/136,170号、Steinら、表題RECONFIG.URABLE INPUT GALOIS FIELD LINEAR TRANSFORMERER SYSTEM(AD−300J)とに対して優先権を主張するものである。
【背景技術】
【0003】
ガロア体(Galois field、略称GF)での係数付き多項式の乗算は、リードソロモン(Reed Solomon、略称RS)コーディング用の通信システムにおいて、また高度な暗号化規格(AES)において広く行われている。一部の場合では、基本的なガロア体乗算だけでは不十分で、より高度なガロア体演算、例えばガロア体乗累算(Galois fields multiply and accumulate、略称GF−MAC)またはガロア体乗加算(Galois fields multiply and add、略称GF−MPA)が必要とされる。ガロア体乗算は、従来のデジタル信号プロセッサ(digital signal processor、略称DSP)での実行は困難で時間がかかる。DSPは、有限インパルス応答(finite impulse response、略称FIR)フィルタリング、および他の乗累算(multiply accumulate、略称MAC)の多い演算用に最適化されているが、ガロア体タイプの演算を効率的に処理することはできない。アプローチの1つに、1ビットずつ処理を行う線形フィードバックシフトレジスタ(linear feedback shift registers、略称LFSR)を使ってガロア体上で単純な多項式乗除算を行うというものがあるが、これは非常に緩慢な処理である。例えば、ブロードバンド通信におけるAESタイプの応用ではビットレートが最高40メガビット/秒で、最高5百万GF乗算/秒(GF multiplications per second、略称GF−MPS)となり、各乗算が60〜100演算などの多数になる。別のアプローチでは、ルックアップテーブルを使ってガロア体乗算が実行される。典型的に、このアプローチは10〜20サイクル以上を要し、5 GF−MPSではやや低めではあるが非常に多数の演算、例えば20×5=100 MIPS以上の結果が得られる。リードソロモン符号は、ブロードバンドネットワーク用の好適なエラー制御コーディングスキームとして広く受け入れられてきている。リードソロモン式エンコーダおよびデコーダをプログラム可能に実施するアプローチは、チャネル条件に基づいて望まれるデータ帯域幅とエラー補正能力とをトレードオフできるという独自の柔軟性をシステム設計者に提供するため、魅力的な解決法である。リードソロモンデコーディングの第1のステップは、シンドロームの計算である。シンドロームは、Si=R mod Gの公式で定義できる。ここで、i=(0,1…15)である。受信された符号語は、多項式形式でRi=roXN−1+r1XN−2+…rN−1と表現される。ここで、受信語の長さはNである。最終的には、ガロア体上におけるシンドローム計算は、生成多項式のi’番目の根のj’乗で定義される根の多項式評価につながると見なすことができる。各受信語につき、リードソロモンアルゴリズムには計算すべきシンドロームが16あり、これにより現行のマイクロプロセッサでの演算数は16倍の16億/秒(billion operations per second、略称BOPS)となる。ルックアップテーブルの代わりに単純な乗算を使用すると、演算率は6.4 BOPSまで増加する。通信分野の拡張と、通信データの暗号化要件とにより、ガロア体乗算の必要性は劇的に増加しており、各ドメインエラーチェックおよび暗号化は、異なるルックアップテーブルのセットを要する異なるガロア体上のガロア体乗算を必要とするため、さらに状況を複雑にしている。ガロア体乗算器システムまたはガロア体乗算器エンジンの近年の改善により演算は高速化し格納要件も低められてはきているが、依然、より高速で低電力、小型設計のものへの需要が高い。
【発明の開示】
【課題を解決するための手段】
【0004】
従って、本発明の目的は、新規で改善された小型ガロア体乗算器エンジンを提供することである。
【0005】
本発明の更なる目的は、このような新規で改善された小型ガロア体乗算器エンジンを提供することにより、サイズがさらに縮小され伝搬経路がさらに短縮された結果、より小型化、単純化、および高速化した設計になることである。
【0006】
本発明の更なる目的は、このような新規で改善された小型ガロア体乗算器エンジンを提供することにより、必要な格納量をさらに削減することである。
【0007】
本発明の更なる目的は、このような新規で改善された小型ガロア体乗算器エンジンを提供することにより、必要な外部バスの数を削減し、付随するDSPのレジスタなどの資源(リソース)をより少量使用することである。
【0008】
本発明の更なる目的は、このような新規で改善された小型ガロア体乗算器エンジンを提供することにより、新規多項式用の再設定に必要な時間を短縮できることである。
【0009】
本発明の更なる目的は、このような改善された新規な小型ガロア体乗算器エンジンを提供することにより、1サイクルの乗算を実行するだけでなく、乗加算および乗累算の演算も実行するという観点で、より多くの機能を提供することである。
【0010】
本発明は、ガロア体における入力多項式の乗算機能、乗加算機能、および乗累算機能のうち1若しくはそれ以上を取得でき、軽減された外部バスおよびDSP資源の要件を有する、小型ガロア体乗算器エンジンが、乗算回路および加算器入力選択回路を使用し、ガロア体線形変換ユニットの前記乗算回路および加算器入力に適切な入力多項式を供給することによりもたらされるということと、また、行列および単位行列であって、そのセルが、前記乗算回路の出力が前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表す、行列および単位行列で、ガロア体線形変換回路を設定することにより格納要件が軽減されるということと、さらに、前記乗算器エンジンを単一用途(例えば乗算、乗加算、乗累算)専用にした場合、前記加算器入力選択回路および乗算入力選択回路が排除可能になりうること、という知見に基づいている。
【0011】
本発明は、小型ガロア体並列乗算器エンジンであって、ガロア体上の係数を伴う2つの多項式を乗算しその積を取得する乗算回路を含む小型ガロア体並列乗算器エンジンを特徴とする。また、ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有するガロア体線形変換回路が提供される。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、乗算モードでは前記第2の多項式を、乗加算モードでは前記ガロア体線形変換回路の出力を、そして乗累算モードでは前記第2の多項式を、前記乗算回路に提供する乗算器入力選択回路とが提供される。加算器入力選択回路は、前記入力多項式のガロア体乗算関数、ガロア体乗加算関数、およびガロア体乗累算関数を取得するため、前記乗算モードでは加法単位元を、前記乗加算モードでは前記第2の多項式入力を、そして前記乗累算モードでは前記ガロア体線形変換回路の出力を、前記ガロア体線形変換回路の加算入力に提供する。
【0012】
好適な実施形態では、前記乗算回路は、ガロア乗算器を実現するため、前記多項式の積の各項用にAND論理回路を含んでよい。前記乗算回路は、ガロア体における総和をもたらすため、前記多項式の積における項の各対に排他的OR論理回路を含んでよい。前記ガロア体線形変換回路は、セルの行列であって、各セルが排他的OR論理回路と、前記排他的OR論理回路に接続された出力を有するAND論理回路と、入力データビットを受信するための入力とを含む、セルの行列を含んでよい。前記ガロア体線形変換回路の出力は、前記エンジンのローカルバス経由で前記乗算器入力選択回路および前記加算器入力選択回路に戻される。前記乗算器入力選択回路は、前記ガロア体線形変換回路の出力からの入力と、前記第2の多項式からの入力とを含んでよい。前記加算器入力選択回路は、前記ガロア体線形変換回路の出力からの入力と、前記第2の多項式からの入力と、制御入力とを含んでよい。各前記排他的OR論理回路は、出力が前記行列の出力に接続された最後の排他的OR論理回路と、入力が加法単位元レベルに接続された最初の排他的OR論理回路とを除いて、次に続く排他的OR論理回路の入力に接続された出力を有してよい。再設定可能な制御回路であって、所定の既約多項式に関する剰余を予測するための係数のセットを、前記ガロア体線形変換回路に供給する再設定可能な制御回路があってもよい。前記ガロア体線形変換回路は複数のガロア体変換ユニットを含んでよく、前記再設定可能な制御回路は、前記係数を並行して前記ガロア体変換ユニットに供給してよい。前記ガロア体線形変換回路は、行列部および単位行列部で設定された複数のセルを含んでよく、前記単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表す。前記ガロア体線形変換回路は複数のガロア体変換ユニットを含んでよく、前記再設定可能な制御回路は、前記係数を並行して前記ガロア体変換ユニットに供給してよい。前記ガロア体線形変換回路は複数のガロア体変換ユニットを含んでよく、前記再設定可能な制御回路は、それぞれが各前記ガロア体線形変換ユニットに関連付けられた複数の再設定可能な制御ユニットを含んでよい。前記加法単位元レベルはヌルレベルであってよく、前記入力多項式の前記関数は1サイクルで取得されてよい。
【0013】
また本発明は、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路を含む小型ガロア体乗算器エンジンを特徴とする。ガロア体線形変換回路は、前記乗算回路からの乗算入力を有し、既約多項式について前記多項式の積の剰余を予測する。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、入力多項式のガロア体乗算関数を取得するため前記ガロア体線形変換回路の加算入力に乗算モードで加法単位元レベルを提供する乗算器入力選択回路とが提供される。
【0014】
また本発明は、小型ガロア体乗算器エンジンであって、ガロア体上の係数を伴う2つの多項式を乗算しその積を取得する乗算回路を含む小型ガロア体乗算器エンジンを特徴とする。ガロア体線形変換回路は、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、入力多項式のガロア体乗加算関数を取得するため前記ガロア体線形変換回路の加算入力に乗加算モードで前記第2の多項式入力を提供する乗算器入力選択回路とが提供される。
【0015】
本発明は、小型ガロア体乗算器エンジンであって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路を含む小型ガロア体乗算器エンジンを特徴とする。ガロア体線形変換回路は、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、入力多項式のガロア体乗累算関数を取得するため前記ガロア体線形変換回路の加算入力に乗累算モードで前記ガロア体線形変換回路の出力を提供する乗算器入力選択回路とが提供される。
【0016】
また本発明は、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路を含む小型ガロア体乗算器エンジンを特徴とする。ガロア体線形変換回路は、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、入力多項式のガロア体乗算関数およびガロア体乗加算関数を取得するため、乗算器入力選択回路であって、乗算モードでは前記第2の多項式を、そして乗加算モードでは前記ガロア体線形変換回路の出力を、前記乗算回路に提供する乗算器入力選択回路と、加算器入力選択回路であって、前記乗算モードでは加法単位元レベルを、そして前記乗加算モードでは前記第2の多項式入力を、前記ガロア体線形変換回路の加算入力に提供する加算器入力選択回路とが提供される。
【0017】
また本発明は、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路を含む小型ガロア体乗算器エンジンを特徴とする。ガロア体線形変換回路は、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、入力多項式のガロア体乗算関数およびガロア体乗累算関数を取得するため、乗算器入力選択回路であって、乗算モードでは前記第2の多項式を、そして乗累算モードでは前記第2の多項式を、前記乗算回路に提供する乗算器入力選択回路と、加算器入力選択回路であって、前記乗算モードでは加法単位元レベルを、そして前記乗累算モードでは前記ガロア体線形変換回路の出力を、前記ガロア体線形変換回路の加算入力に提供する加算器入力選択回路とが提供される。
【0018】
また本発明は、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路を含む小型ガロア体乗算器エンジンを特徴とする。ガロア体線形変換回路は、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、入力多項式のガロア体乗算関数およびガロア体乗累算関数を取得するため、乗算器入力選択回路であって、乗加算モードでは前記ガロア体線形変換回路の出力を、そして乗累算モードでは前記第2の多項式を、前記乗算回路に提供する乗算器入力選択回路と、加算器入力選択回路であって、乗加算モードでは前記第2の多項式入力を、そして乗累算モードでは前記ガロア体線形変換回路の出力を、前記ガロア体線形変換回路の加算入力に提供する加算器入力選択回路とが提供される。
【0019】
また本発明は、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路を含む小型ガロア体線形乗算回路と、既約多項式に関する多項式の積の剰余を予測するためのガロア体線形変換回路であって、行列部および単位行列部で設定された複数のセルを含み、前記単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表す、ガロア体線形変換回路とを特徴とする。
【0020】
好適な実施形態では、各セルはプログラム可能な排他的ORセルを含んでよい。このプログラム可能な排他的ORセルは、排他的OR回路およびAND回路を含んでよい。再設定可能な制御回路であって、所定の既約多項式に関する剰余を予測するための係数のセットを、前記ガロア体線形変換回路に供給する再設定可能な制御回路があってもよい。前記ガロア体線形変換回路は、複数のガロア体線形変換回路ユニットを含んでよい。前記再設定可能な制御回路は、前記係数を並行して前記ガロア体変換ユニットに供給してよく、あるいは、前記再設定可能な制御回路は、それぞれが各前記ガロア体線形変換ユニットに関連付けられた複数の再設定可能な制御ユニットを含んでよい。
【0021】
本発明はまた、より単純なガロア体乗算器エンジンであって、加算器入力選択回路および乗算器入力選択回路を使用することなく、乗算演算、乗加算演算、および乗累算演算から選択された演算に適合する、より単純なガロア体乗算器エンジンを特徴とする。
【発明を実施するための最良の形態】
【0022】
本発明では、以下に開示する好適な実施形態以外の他の実施形態が可能であり、種々の方法で実施または実行することができる。このように、本発明はその用途において、以下の説明に記載され図面に例示された構造の詳細およびコンポーネントの配置に限定されるものではないことは言うまでもない。
【0023】
ガロア体GF(n)は、2つの2項演を実行できる算元(要素)のセットである。加算および乗算は、交換法則、結合法則、および分配法則を満たさなければならない。有限数の元を伴う体は、有限体である。2元体の例には法2(mod 2)の加算および法2の乗算におけるセット{0,1}があり、これはGF(2)と表される。この法2の加算演算と乗算演算とは、次の表により定義される。第1行および第1列は、ガロア体加算器およびガロア体乗算器への入力を示している。ここでは例えば1+1=0および1*1=1が成り立つ。
【0024】
【数1】
【0025】
【数2】
【0026】
一般に、pが任意の素数である場合、GF(p)はp個の元を伴う有限体であり、GF(pm)はpm個の元を伴う拡大体であると示すことができる。また、体の種々の元は、その体の元の1つであるαに種々の指数を伴わせ、この指数を異なる値に増加させることにより生成できる。例えば、GF(256)は256個の元を有し、これらはすべて原始元αの指数を256まで増加させることにより生成できる。
【0027】
また、二項係数を伴う多項式はGF(2)に属する。GF(2)上のm次多項式は、GF(2)上のm次未満の任意多項式で割り切れず、且つゼロより大きい場合、既約であると言うことができる。多項式F(X)=X2+X+1はXでもX+1でも割り切れないため、既約多項式である。X2m−1+1を除算するm次の既約多項式は、原始多項式として知られている。所与のmに対しては、原始多項式が2つ以上ある可能性がある。大部分の通信規格で頻繁に使われるm=8の原始多項式の例は、F(X)=0x11d=x8+x4+x3+x2+1である。
【0028】
ガロア体の加算は、モジュロ(剰余)加算と同じであるためソフトウェアでの実施が容易である。例えば、29および16がGF(28)における2つの元である場合、これらの加算は単に次のXOR演算を行うだけでよい。
【0029】
【数3】
【0030】
他方、ガロア体の乗算は以下の例に示すとおりやや複雑になり、原始元αの乗算を反復してGF(24)のすべての元を計算する。体GF(24)の元を生成するため、次数m=4の原始多項式G(x)がG(x)=X4+X+1と選ばれる。乗算をモジュロ(剰余)形式で行うため、乗算の結果はこの体の元となり、5桁目のビットセットを有する任意の元は、単位元F(α)=α4+α+1=0を使って桁数を減らし、4ビットにする。この単位元は繰り返し使われ、α4=1+αの設定により前記体の異なる元を形成する。このように、この体の元は次のように列挙される。
【0031】
【数4】
【0032】
αはGF(24)の原始元であるため、2と設定して、この体GF(24)の元を{0,1,2,4,8,3,6,12,11…9}として生成することができる。
【0033】
ガロア体の多項式乗算は、2つの基本ステップで実施できると見なせる。その第1は多項式の積c(x)=a(x)*b(x)の計算で、これを代数的に展開し、同じ次数のものをまとめると(加算は対応する項同士のXOR演算に対応する)c(x)が得られる。
【0034】
【数5】
【0035】
【表1】
【0036】
第2のステップは、d(x)=c(x) mod(modulo) p(x)の計算である。
【0037】
例示のため、既約多項式を法とする多項式の乗算を行う。例えば、(m(x)=x8+x4+x3+x+1の場合)
{57}*{83}={c1}であり、これは以下の理由による。
【0038】
【数6】
【0039】
【数7】
【0040】
このアプローチを採用した、改善されたガロア体乗算器システム10は、ガロア体上の係数を伴う2つの多項式、Aレジスタ内の多項式a0〜a7およびBレジスタ内の多項式b0〜b7を乗算し、その積を取得する乗算回路を含み、この積はチャートIIで定義される15項多項式c(x)で与えられる。この乗算回路は、実際には複数の乗算器セルを含む。
【0041】
【表2】
【0042】
ガロア体乗算器システムの演算は、2002年1月30日出願済み米国特許出願第10/060,699号、Steinら、表題GALOIS FIELD MULTIPLIER SYSTEM [AD−240J]に説明されており、この参照によりその全体が本明細書に組み込まれるものである。
【0043】
前記多項式c(x)の15項は、それぞれ「*」(アスタリスク記号)で表されるAND関数を含み、項の各対は
【0044】
【数8】
【0045】
(円内にプラスのある記号)で表される論理排他的ORと組み合わされる。チャートIIで表した積は、それぞれ15×8セルからなる複数のガロア体線形変換ユニットを含んでよいガロア体線形変換回路へ送信され、このガロア体線形変換回路は、前記乗算回路により生成された前記積に応答して所定の既約多項式について多項式の積の剰余を予測する。A0およびB0の乗算は第1のユニットで、A1およびB1の乗算は第2のユニットで、A2およびB2の乗算は第3ユニットで、そしてAnおよびBnの乗算は最後のユニットで実行される。ガロア体線形変換回路と、その各変換ユニットとの演算は、2002年1月18日出願済み米国特許出願第10/051,533号、Steinら、表題GALOIS FIELD LINEAR TRANSFORMER[AD−239J]に説明されており、この参照によりその全体が本明細書に組み込まれるものである。各前記ガロア体線形変換ユニットは、前記多項式の積を既約多項式で除算することにより前記剰余を予測する。その既約多項式は、例えば、チャートIIIに示したもののいずれでもよい。
【0046】
【表3】
【0047】
【表4】
【0048】
本明細書で開示するガロア体乗算器GF(28)では、チャートIIIに示すとおり指数8(28)および指数4(24)以下を実行できる。
【0049】
本発明に係るGF乗算の例は、以下のように実行される。
【0050】
【数9】
【0051】
図1aは、本発明に従う小型ガロア体乗算器エンジン10と、それに伴うA入力レジスタ12と、B入力レジスタ14と、出力レジスタ16とを示したものである。小型ガロア体エンジン10は、乗算と、乗加算と、乗累算とを含む複数の異なる演算を行うことができる。
【0052】
図2の従来のガロア体乗算器エンジン10aでは、3つのレジスタ、Aレジスタ12aと、Bレジスタ14aと、Cレジスタ26aとが必要である。これらのレジスタによる負荷は、付随するデジタル信号プロセッサ(digital signal processor、略称DSP)のコア28にかかり、多大な外部バス作業が必要とされる。Aレジスタ12aにデータを供給するバス30と、Bレジスタ14aにデータを供給するバス34と、Cレジスタ26aにデータを供給するバス36とに加え、レジスタ16aからの出力を前記デジタル信号プロセッサ28に戻すバス32と、デジタル信号プロセッサ28からの出力をBレジスタ14aまたはCレジスタ26aへ戻すバス34またはバス36とが必要である。バス31は、ガロア体線形変換回路20の出力と、出力レジスタ16aとを接続する。これにより、多項式乗算回路18は、Cレジスタ26aから行列22の加算器入力42に供給される値とともに、ガロア体線形変換回路20の行列22の乗算入力40に適切な値を供給でき、乗算、乗加算、および乗累算の演算を実行することができる。8×15の行列としてここに示した行列22は、8次多項式の乗算をサポートするものであるが、扱う多項式の次数に応じてこれより大きくても小さくてもよく、また多数または少数のセル24を含んでよい。
【0053】
本発明によれば、図3のエンジン10bにおけるガロア体線形変換回路20bの行列22bの1行あたりのセル24bの数は、行列22bを2つの行列部と、行列部50と、単位行列部52とで設定することにより、ほぼ半数にまで減らし得る。前記単位行列部にはセル54が1セットだけ必要で、これらの単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に、剰余の予測を表す。これにより、図3において、前記既約多項式が次数8を有する場合、8次未満の任意の多項式は法を超えることがなく、前記行列を素通りするため、単位行列部52内の空のセルは不要となる。これにより、前記行列22bに必要なセルのほぼ半数が節約され、その結果より小型、単純、高速なエンジンが得られる。
【0054】
図4の各セル24bは、AND回路100および排他的OR回路102を含んでよい。データ入力104および有効化入力106が提供される。排他的OR回路102は、出力が前記行列の出力に接続された最後の排他的OR回路と、入力が前記加算器入力、図3の42bまたは図9の42gに接続された最初の排他的OR回路とを除き、次の排他的OR回路の入力に線108で出力を提供し、前の排他的OR回路からの出力を入力110で受信する。線106上の許可信号により、線104上のデータはANDゲート100を通過できるようになり、排他的OR回路102により線110上の入力と排他的論理和が取得される。線106上に許可信号がない場合、線110上の入力は、単に前記排他的ORゲート102を通過し線108へ出力される。線106上の許可信号は、セル24を有効にする。このように、前記行列全体はいかなる特定の既約多項式にも再設定できる。
【0055】
図3のエンジン10bの有効性は、チャートIII(上記参照)から既約多項式を選択し、必要なセルを有効化することにより選択した既約多項式を導入するステップにより理解できる。例えば、既約多項式x8+x4+x3+x2+1を表す0x11dで表された8次の第1の多項式を導入する際は、総括的に24ccで示された有効化されたセルが、図3に示した一列のセル54cが図5の単位行列52cを形成する。第2の既約多項式をチャートIIIから選ぶ際は、既約多項式x8+x5+x3+x+1である0x12bが図6の行列部50dおよび単位行列52dで有効化されたセル24ddのパターンを生成し、ここでも前記単位行列部52dが再び一列に並んだ有効化されたセル54dを形成する。
【0056】
必要なセルの数の削減は、前記既約多項式と同じ次数を有する多項式だけに制限されない。これは、前記既約多項式の次数の半分以下の次数を有する任意の多項式にも適用される。例えば、図3に示し図5および図6の説明で言及している8×15の行列22bは、前記既約多項式の次数が16で、これをサポートする行列が最高8次の多項式まではサポートしても9〜15次の多項式はサポートしない場合、次数1、2、3、または4の多項式もサポートできるが、次数5、6、および7の多項式はサポートしない。これが次数32の場合は、次数32の多項式と次数16までの多項式をサポートするが、次数17〜31の多項式はサポートしない。例えば図7に示したように、4次の既約多項式の場合、行列部50eおよび単位行列部52eは縮小し、行列22e内で実施可能になる。ここで、前記行列部50eは、複数の有効化されたセル24eeとともに、単位行列52e内にも上記より短い列の有効化されたセルを有し、単位行列部52eを形成している。
【0057】
次数5、6、および7の中間体多項式に対応することが望ましい場合は、前記単位行列部を図8の疎行列部52fで置換できる。ここで、次数7、6、および5の多項式をサポートするため、有効化されたセル54ff、54fff、および54ffffを追加行として使用できる。ただし、行列サイズおよび必要なセル数の節約の度合いは落ちる。
【0058】
本発明の別の特徴によれば、入力レジスタの数は3から2に削減でき、図9のデジタル信号プロセッサ(DSP)28gとの通信に必要な外部バスの数を削減し、エンジン10g自体の内部へと局在化できる。これにより、図9に示したように、入力レジスタはA 12gおよびB 14gの2つだけになり、出力31gからのフィードバックはDSP 28gを通過する必要がなくなり、その代わり直接ローカルにエンジン10g上において内部バス60経由で乗算器入力選択回路62および加算器入力選択回路64へ送信されるようになる。デジタル信号プロセッサ28gは、乗算器入力選択回路62へは線66で、加算器入力選択回路64へは線68で、制御信号を提供するだけで済むようになる。このように、乗算モードでは、乗算器入力選択回路62は、Bレジスタ14gから多項式乗算回路18gへ入力を渡す一方、加算器入力選択回路64は、加法単位元レベル、この場合アースレベル70をガロア体線形変換回路20gの前記加算器入力42gに提供する。乗加算モードにおいて、デジタル信号プロセッサ28は、行列22gからの出力を線60で多項式乗算回路18gに戻すよう乗算器入力選択回路62に命令し、Bレジスタ14g内の多項式をガロア体線形変換回路20gの前記加算器入力42gへ渡すよう加算入力選択回路64に命令する。乗累算モードにおいて、デジタル信号プロセッサ28gは、多項式をBレジスタ14gから多項式乗算回路18gへ送信するよう乗算器入力選択回路62に命令し、ガロア体線形変換回路20gの出力を線60で戻すよう加算入力選択回路64に命令する。
【0059】
本発明の更なる特徴は、セル24gの選択的有効化によるガロア体線形変換回路20gの再設定可能性である。再設定可能な制御回路80は、セル24gのうち選択された既約多項式の係数の実施に必要なものを選択的に有効にし、制御に必要なセル数は本発明に従い低減済みであるため、それ自体サイズが縮小可能である。
【0060】
再設定可能なガロア体線形変換回路の演算は、2002年5月1日出願済み米国特許出願第10/136,170号、Steinら、表題RECONFIG.URABLE INPUT GALOIS FIELD LINEAR TRANSFORMERER SYSTEM(AD−300J)に説明されており、そのすべての優先権出願および文書はこの参照によりその全体が本明細書に組み込むまれるものである。
【0061】
上記では本発明についてエンジン1つだけに関し簡略化した説明をしてきたが、図10に示したように複数のエンジンをまとめて使用してもよい。この図では、各エンジンが乗算回路10h、10i、10j、10k…10nと、ガロア体線形変換回路20h、20i、20j、20k…20nとを有し、これらすべてを再設定可能な単一の中央制御回路80’が制御している。これらのエンジンは、同じビット数の多い(ワイドビット)[32,64,128]のAレジスタおよびBレジスタを共有し、それぞれ異なる8ビット(1バイト)セグメント上で動作するか、あるいはそれぞれ独自の再設定可能な制御ユニット80h、80i、80j、80k…80nにより制御され、それぞれ独自のAレジスタおよびBレジスタの対A0およびB0(12hおよび14h)、A1およびB1(2iおよび14i)、A2およびB2(12jおよび14j)、A3およびB3(12kおよび14k)などにより制御されることができる。
【0062】
本明細書で示した出力c0〜c14を提供する実施形態で使用可能な図11の多項式乗算回路18lは、複数のANDゲート120であって、排他的ORゲート122と組み合わせることにより、図12の表(チャート)124に例示したように、Aレジスタ12lおよびBレジスタ14lからの任意の多項式の対、例えば多項式a0〜a7、多項式b0〜b7を乗算できる複数のANDゲート120を含む。
【0063】
この乗算器エンジンを乗算、乗加算、乗累算など単一用途専用にする場合、前記乗算器入力選択回路および加算器入力選択回路は、図13、図14、および図15に示したように構造簡略化のため省略できる。
【0064】
図13のこのようなガロア体乗算器エンジン100は、多項式乗算器回路18pと、ガロア体変換回路20pであって、前記乗算回路18pから多項式の積を受信し、それを加算器入力42pに加算して102で出力を生成する、ガロア体変換回路20pとを含むが、ここでは加法単位元レベルが加算器入力に供給されている。
【0065】
図14のガロア体乗累算エンジン104は、多項式乗算回路18qと、ガロア体変換回路20qであって、乗算回路18qから多項式の積を受信し、それを加算器入力42qに加算して102qで出力を生成する、ガロア体変換回路20qとを含む。ただし、ここでは前記出力102qは加算器入力42pに戻されている。
【0066】
図15のガロア体乗加算エンジン108は、多項式乗算回路18rと、ガロア体変換回路20rであって、乗算回路18rから多項式の積を受信し、それを加算器入力42rに加算して102rで出力を生成する、ガロア体変換回路20rとを含む。ただし、ここでは前記出力102rは乗算回路18rに戻されている。
【0067】
各特徴は、図面の一部のみで本発明の具体的な特徴を示しているが、これは単に便宜上のものであり、本発明に従って他の特徴のいずれか、またはすべてと組み合わせてもよい。本明細書における用語「含む」と「有する」と「伴う」とは、広義かつ包括的に解釈されるべきものであり、いかなる物理的相互接続にも限定されるものではない。さらに、掲題の用途に開示したいかなる実施形態も、考えうる唯一の実施形態として解釈されるべきではない。
【0068】
当業者であれば、他の実施形態も以下の特許請求の範囲内であることが理解されるであろう。
【図面の簡単な説明】
【0069】
当業者であれば、他の目的、特徴、および優位性が、以下の好適な実施形態の説明および添付の図面から理解されるであろう。
【図1】図1は、本発明に従う小型ガロア体乗算器エンジンの機能ブロック図。
【図2】図2は、本発明に従う従来の小型ガロア体乗算器エンジンの、より詳細な機能ブロック図。
【図3】図3は、本発明の特徴である小型化されたガロア体線形変換ユニット行列を示した、図1の小型ガロア体乗算器エンジンの、より詳細な機能ブロック図。
【図4】図4は、図2および図3のガロア体線形変換回路(乗算器エンジン)の前記行列用の典型的プログラム可能なXOR(またはX−OR)回路セルの概略図。
【図5】図5は、次数8の特定の多項式について、本発明による行列部および単位行列部のセルのプログラミングを例示した、図3および図9のガロア体線形変換回路の簡略化した模式図。
【図6】図6は、次数8の別の多項式について、本発明に係る行列部および単位行列部のセルのプログラミングを例示した、図3および図9のガロア体線形変換回路の簡略化した模式図。
【図7】図7は、次数4のさらに別の多項式について、本発明に従う行列部および単位行列部のセルのプログラミングを例示した、図3および図9のガロア体線形変換回路の簡略化した模式図。
【図8】図8は、この特定の実施形態において、半分の(4)次数および完全な(8)次数の間の多項式次数をサポートする疎行列としての第2行列部のプログラミングを例示した、図3および図9のガロア体線形変換回路の簡略化した模式図。
【図9】図9は、本発明の特徴である縮小サイズの行列と、縮小したハードウェアおよびローカルバスとの双方を組み込んだ、図1の小型ガロア体乗算器エンジンの、より詳細な機能ブロック図。
【図10】図10は、複数のガロア体線形変換ユニットを使用した、本発明に従うガロア体乗算器エンジンのブロック図。
【図11】図11は、図2、3、5、および9で使用可能な多項式乗算器の概略図。
【図12】図12は、図11の多項式乗算器の伝達関数を例示した図。
【図13】図13は、本発明に従う乗算演算専用のガロア体乗算器エンジンの簡略化した模式図。
【図14】図14は、本発明に従う乗累算演算専用のガロア体乗算器エンジンの簡略化した模式図。
【図15】図15は、本発明に従う乗加算演算専用のガロア体乗算器エンジンの簡略化した模式図。
【技術分野】
【0001】
本発明は小型ガロア体乗算器エンジンに関し、具体的にはガロア体上で乗算と乗加算と乗累算とを行える小型ガロア体乗算器エンジンに関するものである。
【0002】
本出願は、2003年3月24日出願済み米国特許出願第10/395,620号、Steinら、表題COMPACT GALOIS FIELD MULTIPLIER(AD−337J)と、2002年10月9日出願済み米国仮出願第60/417,384号、Steinら、表題A COMPACT GALOIS FIELD MULTIPLIER(AD−337J)と、2001年11月30日出願済み米国仮出願第60/334,662号、Steinら、表題GF2−ALU(AD−239J)と、2001年11月20日出願済み米国仮出願第60/334,510号、Steinら、表題PARALLEL GALOIS FIELD MULTIPLIER(AD−240J)と、2001年12月18日出願済み米国仮出願第60/341,635号、Steinら、表題GALOIS FIELD MULTIPLY ADD (MPA) USING GF2−ALU(AD−299J)と、2001年12月18日出願済み米国仮出願第60/341,737号、Steinら、表題PROGRAMMABLE GF2−ALU LINEAR FEEDBACK SHIFT REGISTER-INCOMING DATA SELECTION(AD−300J)とに対して優先権を主張するものである。本出願は、さらに、2002年1月18日出願済み米国特許出願第10/051,533号、Steinら、表題GALOIS FIELD LINEAR TRANSFORMERER(AD−239J)と、2002年1月30日出願済み米国特許出願第10/060,699号、Steinら、表題GALOIS FIELD MULTIPLIER SYSTEM(AD−240J)と、2002年8月26日出願済み米国特許出願第10/228,526号、Steinら、表題GALOIS FIELD MULTIPLY/MULTIPLY - ADD/MULTIPLY ACCUMULATE(AD−299J)と、2002年5月1日出願済み米国特許出願第10/136,170号、Steinら、表題RECONFIG.URABLE INPUT GALOIS FIELD LINEAR TRANSFORMERER SYSTEM(AD−300J)とに対して優先権を主張するものである。
【背景技術】
【0003】
ガロア体(Galois field、略称GF)での係数付き多項式の乗算は、リードソロモン(Reed Solomon、略称RS)コーディング用の通信システムにおいて、また高度な暗号化規格(AES)において広く行われている。一部の場合では、基本的なガロア体乗算だけでは不十分で、より高度なガロア体演算、例えばガロア体乗累算(Galois fields multiply and accumulate、略称GF−MAC)またはガロア体乗加算(Galois fields multiply and add、略称GF−MPA)が必要とされる。ガロア体乗算は、従来のデジタル信号プロセッサ(digital signal processor、略称DSP)での実行は困難で時間がかかる。DSPは、有限インパルス応答(finite impulse response、略称FIR)フィルタリング、および他の乗累算(multiply accumulate、略称MAC)の多い演算用に最適化されているが、ガロア体タイプの演算を効率的に処理することはできない。アプローチの1つに、1ビットずつ処理を行う線形フィードバックシフトレジスタ(linear feedback shift registers、略称LFSR)を使ってガロア体上で単純な多項式乗除算を行うというものがあるが、これは非常に緩慢な処理である。例えば、ブロードバンド通信におけるAESタイプの応用ではビットレートが最高40メガビット/秒で、最高5百万GF乗算/秒(GF multiplications per second、略称GF−MPS)となり、各乗算が60〜100演算などの多数になる。別のアプローチでは、ルックアップテーブルを使ってガロア体乗算が実行される。典型的に、このアプローチは10〜20サイクル以上を要し、5 GF−MPSではやや低めではあるが非常に多数の演算、例えば20×5=100 MIPS以上の結果が得られる。リードソロモン符号は、ブロードバンドネットワーク用の好適なエラー制御コーディングスキームとして広く受け入れられてきている。リードソロモン式エンコーダおよびデコーダをプログラム可能に実施するアプローチは、チャネル条件に基づいて望まれるデータ帯域幅とエラー補正能力とをトレードオフできるという独自の柔軟性をシステム設計者に提供するため、魅力的な解決法である。リードソロモンデコーディングの第1のステップは、シンドロームの計算である。シンドロームは、Si=R mod Gの公式で定義できる。ここで、i=(0,1…15)である。受信された符号語は、多項式形式でRi=roXN−1+r1XN−2+…rN−1と表現される。ここで、受信語の長さはNである。最終的には、ガロア体上におけるシンドローム計算は、生成多項式のi’番目の根のj’乗で定義される根の多項式評価につながると見なすことができる。各受信語につき、リードソロモンアルゴリズムには計算すべきシンドロームが16あり、これにより現行のマイクロプロセッサでの演算数は16倍の16億/秒(billion operations per second、略称BOPS)となる。ルックアップテーブルの代わりに単純な乗算を使用すると、演算率は6.4 BOPSまで増加する。通信分野の拡張と、通信データの暗号化要件とにより、ガロア体乗算の必要性は劇的に増加しており、各ドメインエラーチェックおよび暗号化は、異なるルックアップテーブルのセットを要する異なるガロア体上のガロア体乗算を必要とするため、さらに状況を複雑にしている。ガロア体乗算器システムまたはガロア体乗算器エンジンの近年の改善により演算は高速化し格納要件も低められてはきているが、依然、より高速で低電力、小型設計のものへの需要が高い。
【発明の開示】
【課題を解決するための手段】
【0004】
従って、本発明の目的は、新規で改善された小型ガロア体乗算器エンジンを提供することである。
【0005】
本発明の更なる目的は、このような新規で改善された小型ガロア体乗算器エンジンを提供することにより、サイズがさらに縮小され伝搬経路がさらに短縮された結果、より小型化、単純化、および高速化した設計になることである。
【0006】
本発明の更なる目的は、このような新規で改善された小型ガロア体乗算器エンジンを提供することにより、必要な格納量をさらに削減することである。
【0007】
本発明の更なる目的は、このような新規で改善された小型ガロア体乗算器エンジンを提供することにより、必要な外部バスの数を削減し、付随するDSPのレジスタなどの資源(リソース)をより少量使用することである。
【0008】
本発明の更なる目的は、このような新規で改善された小型ガロア体乗算器エンジンを提供することにより、新規多項式用の再設定に必要な時間を短縮できることである。
【0009】
本発明の更なる目的は、このような改善された新規な小型ガロア体乗算器エンジンを提供することにより、1サイクルの乗算を実行するだけでなく、乗加算および乗累算の演算も実行するという観点で、より多くの機能を提供することである。
【0010】
本発明は、ガロア体における入力多項式の乗算機能、乗加算機能、および乗累算機能のうち1若しくはそれ以上を取得でき、軽減された外部バスおよびDSP資源の要件を有する、小型ガロア体乗算器エンジンが、乗算回路および加算器入力選択回路を使用し、ガロア体線形変換ユニットの前記乗算回路および加算器入力に適切な入力多項式を供給することによりもたらされるということと、また、行列および単位行列であって、そのセルが、前記乗算回路の出力が前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表す、行列および単位行列で、ガロア体線形変換回路を設定することにより格納要件が軽減されるということと、さらに、前記乗算器エンジンを単一用途(例えば乗算、乗加算、乗累算)専用にした場合、前記加算器入力選択回路および乗算入力選択回路が排除可能になりうること、という知見に基づいている。
【0011】
本発明は、小型ガロア体並列乗算器エンジンであって、ガロア体上の係数を伴う2つの多項式を乗算しその積を取得する乗算回路を含む小型ガロア体並列乗算器エンジンを特徴とする。また、ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有するガロア体線形変換回路が提供される。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、乗算モードでは前記第2の多項式を、乗加算モードでは前記ガロア体線形変換回路の出力を、そして乗累算モードでは前記第2の多項式を、前記乗算回路に提供する乗算器入力選択回路とが提供される。加算器入力選択回路は、前記入力多項式のガロア体乗算関数、ガロア体乗加算関数、およびガロア体乗累算関数を取得するため、前記乗算モードでは加法単位元を、前記乗加算モードでは前記第2の多項式入力を、そして前記乗累算モードでは前記ガロア体線形変換回路の出力を、前記ガロア体線形変換回路の加算入力に提供する。
【0012】
好適な実施形態では、前記乗算回路は、ガロア乗算器を実現するため、前記多項式の積の各項用にAND論理回路を含んでよい。前記乗算回路は、ガロア体における総和をもたらすため、前記多項式の積における項の各対に排他的OR論理回路を含んでよい。前記ガロア体線形変換回路は、セルの行列であって、各セルが排他的OR論理回路と、前記排他的OR論理回路に接続された出力を有するAND論理回路と、入力データビットを受信するための入力とを含む、セルの行列を含んでよい。前記ガロア体線形変換回路の出力は、前記エンジンのローカルバス経由で前記乗算器入力選択回路および前記加算器入力選択回路に戻される。前記乗算器入力選択回路は、前記ガロア体線形変換回路の出力からの入力と、前記第2の多項式からの入力とを含んでよい。前記加算器入力選択回路は、前記ガロア体線形変換回路の出力からの入力と、前記第2の多項式からの入力と、制御入力とを含んでよい。各前記排他的OR論理回路は、出力が前記行列の出力に接続された最後の排他的OR論理回路と、入力が加法単位元レベルに接続された最初の排他的OR論理回路とを除いて、次に続く排他的OR論理回路の入力に接続された出力を有してよい。再設定可能な制御回路であって、所定の既約多項式に関する剰余を予測するための係数のセットを、前記ガロア体線形変換回路に供給する再設定可能な制御回路があってもよい。前記ガロア体線形変換回路は複数のガロア体変換ユニットを含んでよく、前記再設定可能な制御回路は、前記係数を並行して前記ガロア体変換ユニットに供給してよい。前記ガロア体線形変換回路は、行列部および単位行列部で設定された複数のセルを含んでよく、前記単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表す。前記ガロア体線形変換回路は複数のガロア体変換ユニットを含んでよく、前記再設定可能な制御回路は、前記係数を並行して前記ガロア体変換ユニットに供給してよい。前記ガロア体線形変換回路は複数のガロア体変換ユニットを含んでよく、前記再設定可能な制御回路は、それぞれが各前記ガロア体線形変換ユニットに関連付けられた複数の再設定可能な制御ユニットを含んでよい。前記加法単位元レベルはヌルレベルであってよく、前記入力多項式の前記関数は1サイクルで取得されてよい。
【0013】
また本発明は、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路を含む小型ガロア体乗算器エンジンを特徴とする。ガロア体線形変換回路は、前記乗算回路からの乗算入力を有し、既約多項式について前記多項式の積の剰余を予測する。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、入力多項式のガロア体乗算関数を取得するため前記ガロア体線形変換回路の加算入力に乗算モードで加法単位元レベルを提供する乗算器入力選択回路とが提供される。
【0014】
また本発明は、小型ガロア体乗算器エンジンであって、ガロア体上の係数を伴う2つの多項式を乗算しその積を取得する乗算回路を含む小型ガロア体乗算器エンジンを特徴とする。ガロア体線形変換回路は、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、入力多項式のガロア体乗加算関数を取得するため前記ガロア体線形変換回路の加算入力に乗加算モードで前記第2の多項式入力を提供する乗算器入力選択回路とが提供される。
【0015】
本発明は、小型ガロア体乗算器エンジンであって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路を含む小型ガロア体乗算器エンジンを特徴とする。ガロア体線形変換回路は、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、入力多項式のガロア体乗累算関数を取得するため前記ガロア体線形変換回路の加算入力に乗累算モードで前記ガロア体線形変換回路の出力を提供する乗算器入力選択回路とが提供される。
【0016】
また本発明は、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路を含む小型ガロア体乗算器エンジンを特徴とする。ガロア体線形変換回路は、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、入力多項式のガロア体乗算関数およびガロア体乗加算関数を取得するため、乗算器入力選択回路であって、乗算モードでは前記第2の多項式を、そして乗加算モードでは前記ガロア体線形変換回路の出力を、前記乗算回路に提供する乗算器入力選択回路と、加算器入力選択回路であって、前記乗算モードでは加法単位元レベルを、そして前記乗加算モードでは前記第2の多項式入力を、前記ガロア体線形変換回路の加算入力に提供する加算器入力選択回路とが提供される。
【0017】
また本発明は、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路を含む小型ガロア体乗算器エンジンを特徴とする。ガロア体線形変換回路は、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、入力多項式のガロア体乗算関数およびガロア体乗累算関数を取得するため、乗算器入力選択回路であって、乗算モードでは前記第2の多項式を、そして乗累算モードでは前記第2の多項式を、前記乗算回路に提供する乗算器入力選択回路と、加算器入力選択回路であって、前記乗算モードでは加法単位元レベルを、そして前記乗累算モードでは前記ガロア体線形変換回路の出力を、前記ガロア体線形変換回路の加算入力に提供する加算器入力選択回路とが提供される。
【0018】
また本発明は、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路を含む小型ガロア体乗算器エンジンを特徴とする。ガロア体線形変換回路は、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する。前記乗算回路には、第1の多項式入力と、第2の多項式入力と、入力多項式のガロア体乗算関数およびガロア体乗累算関数を取得するため、乗算器入力選択回路であって、乗加算モードでは前記ガロア体線形変換回路の出力を、そして乗累算モードでは前記第2の多項式を、前記乗算回路に提供する乗算器入力選択回路と、加算器入力選択回路であって、乗加算モードでは前記第2の多項式入力を、そして乗累算モードでは前記ガロア体線形変換回路の出力を、前記ガロア体線形変換回路の加算入力に提供する加算器入力選択回路とが提供される。
【0019】
また本発明は、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路を含む小型ガロア体線形乗算回路と、既約多項式に関する多項式の積の剰余を予測するためのガロア体線形変換回路であって、行列部および単位行列部で設定された複数のセルを含み、前記単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表す、ガロア体線形変換回路とを特徴とする。
【0020】
好適な実施形態では、各セルはプログラム可能な排他的ORセルを含んでよい。このプログラム可能な排他的ORセルは、排他的OR回路およびAND回路を含んでよい。再設定可能な制御回路であって、所定の既約多項式に関する剰余を予測するための係数のセットを、前記ガロア体線形変換回路に供給する再設定可能な制御回路があってもよい。前記ガロア体線形変換回路は、複数のガロア体線形変換回路ユニットを含んでよい。前記再設定可能な制御回路は、前記係数を並行して前記ガロア体変換ユニットに供給してよく、あるいは、前記再設定可能な制御回路は、それぞれが各前記ガロア体線形変換ユニットに関連付けられた複数の再設定可能な制御ユニットを含んでよい。
【0021】
本発明はまた、より単純なガロア体乗算器エンジンであって、加算器入力選択回路および乗算器入力選択回路を使用することなく、乗算演算、乗加算演算、および乗累算演算から選択された演算に適合する、より単純なガロア体乗算器エンジンを特徴とする。
【発明を実施するための最良の形態】
【0022】
本発明では、以下に開示する好適な実施形態以外の他の実施形態が可能であり、種々の方法で実施または実行することができる。このように、本発明はその用途において、以下の説明に記載され図面に例示された構造の詳細およびコンポーネントの配置に限定されるものではないことは言うまでもない。
【0023】
ガロア体GF(n)は、2つの2項演を実行できる算元(要素)のセットである。加算および乗算は、交換法則、結合法則、および分配法則を満たさなければならない。有限数の元を伴う体は、有限体である。2元体の例には法2(mod 2)の加算および法2の乗算におけるセット{0,1}があり、これはGF(2)と表される。この法2の加算演算と乗算演算とは、次の表により定義される。第1行および第1列は、ガロア体加算器およびガロア体乗算器への入力を示している。ここでは例えば1+1=0および1*1=1が成り立つ。
【0024】
【数1】
【0025】
【数2】
【0026】
一般に、pが任意の素数である場合、GF(p)はp個の元を伴う有限体であり、GF(pm)はpm個の元を伴う拡大体であると示すことができる。また、体の種々の元は、その体の元の1つであるαに種々の指数を伴わせ、この指数を異なる値に増加させることにより生成できる。例えば、GF(256)は256個の元を有し、これらはすべて原始元αの指数を256まで増加させることにより生成できる。
【0027】
また、二項係数を伴う多項式はGF(2)に属する。GF(2)上のm次多項式は、GF(2)上のm次未満の任意多項式で割り切れず、且つゼロより大きい場合、既約であると言うことができる。多項式F(X)=X2+X+1はXでもX+1でも割り切れないため、既約多項式である。X2m−1+1を除算するm次の既約多項式は、原始多項式として知られている。所与のmに対しては、原始多項式が2つ以上ある可能性がある。大部分の通信規格で頻繁に使われるm=8の原始多項式の例は、F(X)=0x11d=x8+x4+x3+x2+1である。
【0028】
ガロア体の加算は、モジュロ(剰余)加算と同じであるためソフトウェアでの実施が容易である。例えば、29および16がGF(28)における2つの元である場合、これらの加算は単に次のXOR演算を行うだけでよい。
【0029】
【数3】
【0030】
他方、ガロア体の乗算は以下の例に示すとおりやや複雑になり、原始元αの乗算を反復してGF(24)のすべての元を計算する。体GF(24)の元を生成するため、次数m=4の原始多項式G(x)がG(x)=X4+X+1と選ばれる。乗算をモジュロ(剰余)形式で行うため、乗算の結果はこの体の元となり、5桁目のビットセットを有する任意の元は、単位元F(α)=α4+α+1=0を使って桁数を減らし、4ビットにする。この単位元は繰り返し使われ、α4=1+αの設定により前記体の異なる元を形成する。このように、この体の元は次のように列挙される。
【0031】
【数4】
【0032】
αはGF(24)の原始元であるため、2と設定して、この体GF(24)の元を{0,1,2,4,8,3,6,12,11…9}として生成することができる。
【0033】
ガロア体の多項式乗算は、2つの基本ステップで実施できると見なせる。その第1は多項式の積c(x)=a(x)*b(x)の計算で、これを代数的に展開し、同じ次数のものをまとめると(加算は対応する項同士のXOR演算に対応する)c(x)が得られる。
【0034】
【数5】
【0035】
【表1】
【0036】
第2のステップは、d(x)=c(x) mod(modulo) p(x)の計算である。
【0037】
例示のため、既約多項式を法とする多項式の乗算を行う。例えば、(m(x)=x8+x4+x3+x+1の場合)
{57}*{83}={c1}であり、これは以下の理由による。
【0038】
【数6】
【0039】
【数7】
【0040】
このアプローチを採用した、改善されたガロア体乗算器システム10は、ガロア体上の係数を伴う2つの多項式、Aレジスタ内の多項式a0〜a7およびBレジスタ内の多項式b0〜b7を乗算し、その積を取得する乗算回路を含み、この積はチャートIIで定義される15項多項式c(x)で与えられる。この乗算回路は、実際には複数の乗算器セルを含む。
【0041】
【表2】
【0042】
ガロア体乗算器システムの演算は、2002年1月30日出願済み米国特許出願第10/060,699号、Steinら、表題GALOIS FIELD MULTIPLIER SYSTEM [AD−240J]に説明されており、この参照によりその全体が本明細書に組み込まれるものである。
【0043】
前記多項式c(x)の15項は、それぞれ「*」(アスタリスク記号)で表されるAND関数を含み、項の各対は
【0044】
【数8】
【0045】
(円内にプラスのある記号)で表される論理排他的ORと組み合わされる。チャートIIで表した積は、それぞれ15×8セルからなる複数のガロア体線形変換ユニットを含んでよいガロア体線形変換回路へ送信され、このガロア体線形変換回路は、前記乗算回路により生成された前記積に応答して所定の既約多項式について多項式の積の剰余を予測する。A0およびB0の乗算は第1のユニットで、A1およびB1の乗算は第2のユニットで、A2およびB2の乗算は第3ユニットで、そしてAnおよびBnの乗算は最後のユニットで実行される。ガロア体線形変換回路と、その各変換ユニットとの演算は、2002年1月18日出願済み米国特許出願第10/051,533号、Steinら、表題GALOIS FIELD LINEAR TRANSFORMER[AD−239J]に説明されており、この参照によりその全体が本明細書に組み込まれるものである。各前記ガロア体線形変換ユニットは、前記多項式の積を既約多項式で除算することにより前記剰余を予測する。その既約多項式は、例えば、チャートIIIに示したもののいずれでもよい。
【0046】
【表3】
【0047】
【表4】
【0048】
本明細書で開示するガロア体乗算器GF(28)では、チャートIIIに示すとおり指数8(28)および指数4(24)以下を実行できる。
【0049】
本発明に係るGF乗算の例は、以下のように実行される。
【0050】
【数9】
【0051】
図1aは、本発明に従う小型ガロア体乗算器エンジン10と、それに伴うA入力レジスタ12と、B入力レジスタ14と、出力レジスタ16とを示したものである。小型ガロア体エンジン10は、乗算と、乗加算と、乗累算とを含む複数の異なる演算を行うことができる。
【0052】
図2の従来のガロア体乗算器エンジン10aでは、3つのレジスタ、Aレジスタ12aと、Bレジスタ14aと、Cレジスタ26aとが必要である。これらのレジスタによる負荷は、付随するデジタル信号プロセッサ(digital signal processor、略称DSP)のコア28にかかり、多大な外部バス作業が必要とされる。Aレジスタ12aにデータを供給するバス30と、Bレジスタ14aにデータを供給するバス34と、Cレジスタ26aにデータを供給するバス36とに加え、レジスタ16aからの出力を前記デジタル信号プロセッサ28に戻すバス32と、デジタル信号プロセッサ28からの出力をBレジスタ14aまたはCレジスタ26aへ戻すバス34またはバス36とが必要である。バス31は、ガロア体線形変換回路20の出力と、出力レジスタ16aとを接続する。これにより、多項式乗算回路18は、Cレジスタ26aから行列22の加算器入力42に供給される値とともに、ガロア体線形変換回路20の行列22の乗算入力40に適切な値を供給でき、乗算、乗加算、および乗累算の演算を実行することができる。8×15の行列としてここに示した行列22は、8次多項式の乗算をサポートするものであるが、扱う多項式の次数に応じてこれより大きくても小さくてもよく、また多数または少数のセル24を含んでよい。
【0053】
本発明によれば、図3のエンジン10bにおけるガロア体線形変換回路20bの行列22bの1行あたりのセル24bの数は、行列22bを2つの行列部と、行列部50と、単位行列部52とで設定することにより、ほぼ半数にまで減らし得る。前記単位行列部にはセル54が1セットだけ必要で、これらの単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に、剰余の予測を表す。これにより、図3において、前記既約多項式が次数8を有する場合、8次未満の任意の多項式は法を超えることがなく、前記行列を素通りするため、単位行列部52内の空のセルは不要となる。これにより、前記行列22bに必要なセルのほぼ半数が節約され、その結果より小型、単純、高速なエンジンが得られる。
【0054】
図4の各セル24bは、AND回路100および排他的OR回路102を含んでよい。データ入力104および有効化入力106が提供される。排他的OR回路102は、出力が前記行列の出力に接続された最後の排他的OR回路と、入力が前記加算器入力、図3の42bまたは図9の42gに接続された最初の排他的OR回路とを除き、次の排他的OR回路の入力に線108で出力を提供し、前の排他的OR回路からの出力を入力110で受信する。線106上の許可信号により、線104上のデータはANDゲート100を通過できるようになり、排他的OR回路102により線110上の入力と排他的論理和が取得される。線106上に許可信号がない場合、線110上の入力は、単に前記排他的ORゲート102を通過し線108へ出力される。線106上の許可信号は、セル24を有効にする。このように、前記行列全体はいかなる特定の既約多項式にも再設定できる。
【0055】
図3のエンジン10bの有効性は、チャートIII(上記参照)から既約多項式を選択し、必要なセルを有効化することにより選択した既約多項式を導入するステップにより理解できる。例えば、既約多項式x8+x4+x3+x2+1を表す0x11dで表された8次の第1の多項式を導入する際は、総括的に24ccで示された有効化されたセルが、図3に示した一列のセル54cが図5の単位行列52cを形成する。第2の既約多項式をチャートIIIから選ぶ際は、既約多項式x8+x5+x3+x+1である0x12bが図6の行列部50dおよび単位行列52dで有効化されたセル24ddのパターンを生成し、ここでも前記単位行列部52dが再び一列に並んだ有効化されたセル54dを形成する。
【0056】
必要なセルの数の削減は、前記既約多項式と同じ次数を有する多項式だけに制限されない。これは、前記既約多項式の次数の半分以下の次数を有する任意の多項式にも適用される。例えば、図3に示し図5および図6の説明で言及している8×15の行列22bは、前記既約多項式の次数が16で、これをサポートする行列が最高8次の多項式まではサポートしても9〜15次の多項式はサポートしない場合、次数1、2、3、または4の多項式もサポートできるが、次数5、6、および7の多項式はサポートしない。これが次数32の場合は、次数32の多項式と次数16までの多項式をサポートするが、次数17〜31の多項式はサポートしない。例えば図7に示したように、4次の既約多項式の場合、行列部50eおよび単位行列部52eは縮小し、行列22e内で実施可能になる。ここで、前記行列部50eは、複数の有効化されたセル24eeとともに、単位行列52e内にも上記より短い列の有効化されたセルを有し、単位行列部52eを形成している。
【0057】
次数5、6、および7の中間体多項式に対応することが望ましい場合は、前記単位行列部を図8の疎行列部52fで置換できる。ここで、次数7、6、および5の多項式をサポートするため、有効化されたセル54ff、54fff、および54ffffを追加行として使用できる。ただし、行列サイズおよび必要なセル数の節約の度合いは落ちる。
【0058】
本発明の別の特徴によれば、入力レジスタの数は3から2に削減でき、図9のデジタル信号プロセッサ(DSP)28gとの通信に必要な外部バスの数を削減し、エンジン10g自体の内部へと局在化できる。これにより、図9に示したように、入力レジスタはA 12gおよびB 14gの2つだけになり、出力31gからのフィードバックはDSP 28gを通過する必要がなくなり、その代わり直接ローカルにエンジン10g上において内部バス60経由で乗算器入力選択回路62および加算器入力選択回路64へ送信されるようになる。デジタル信号プロセッサ28gは、乗算器入力選択回路62へは線66で、加算器入力選択回路64へは線68で、制御信号を提供するだけで済むようになる。このように、乗算モードでは、乗算器入力選択回路62は、Bレジスタ14gから多項式乗算回路18gへ入力を渡す一方、加算器入力選択回路64は、加法単位元レベル、この場合アースレベル70をガロア体線形変換回路20gの前記加算器入力42gに提供する。乗加算モードにおいて、デジタル信号プロセッサ28は、行列22gからの出力を線60で多項式乗算回路18gに戻すよう乗算器入力選択回路62に命令し、Bレジスタ14g内の多項式をガロア体線形変換回路20gの前記加算器入力42gへ渡すよう加算入力選択回路64に命令する。乗累算モードにおいて、デジタル信号プロセッサ28gは、多項式をBレジスタ14gから多項式乗算回路18gへ送信するよう乗算器入力選択回路62に命令し、ガロア体線形変換回路20gの出力を線60で戻すよう加算入力選択回路64に命令する。
【0059】
本発明の更なる特徴は、セル24gの選択的有効化によるガロア体線形変換回路20gの再設定可能性である。再設定可能な制御回路80は、セル24gのうち選択された既約多項式の係数の実施に必要なものを選択的に有効にし、制御に必要なセル数は本発明に従い低減済みであるため、それ自体サイズが縮小可能である。
【0060】
再設定可能なガロア体線形変換回路の演算は、2002年5月1日出願済み米国特許出願第10/136,170号、Steinら、表題RECONFIG.URABLE INPUT GALOIS FIELD LINEAR TRANSFORMERER SYSTEM(AD−300J)に説明されており、そのすべての優先権出願および文書はこの参照によりその全体が本明細書に組み込むまれるものである。
【0061】
上記では本発明についてエンジン1つだけに関し簡略化した説明をしてきたが、図10に示したように複数のエンジンをまとめて使用してもよい。この図では、各エンジンが乗算回路10h、10i、10j、10k…10nと、ガロア体線形変換回路20h、20i、20j、20k…20nとを有し、これらすべてを再設定可能な単一の中央制御回路80’が制御している。これらのエンジンは、同じビット数の多い(ワイドビット)[32,64,128]のAレジスタおよびBレジスタを共有し、それぞれ異なる8ビット(1バイト)セグメント上で動作するか、あるいはそれぞれ独自の再設定可能な制御ユニット80h、80i、80j、80k…80nにより制御され、それぞれ独自のAレジスタおよびBレジスタの対A0およびB0(12hおよび14h)、A1およびB1(2iおよび14i)、A2およびB2(12jおよび14j)、A3およびB3(12kおよび14k)などにより制御されることができる。
【0062】
本明細書で示した出力c0〜c14を提供する実施形態で使用可能な図11の多項式乗算回路18lは、複数のANDゲート120であって、排他的ORゲート122と組み合わせることにより、図12の表(チャート)124に例示したように、Aレジスタ12lおよびBレジスタ14lからの任意の多項式の対、例えば多項式a0〜a7、多項式b0〜b7を乗算できる複数のANDゲート120を含む。
【0063】
この乗算器エンジンを乗算、乗加算、乗累算など単一用途専用にする場合、前記乗算器入力選択回路および加算器入力選択回路は、図13、図14、および図15に示したように構造簡略化のため省略できる。
【0064】
図13のこのようなガロア体乗算器エンジン100は、多項式乗算器回路18pと、ガロア体変換回路20pであって、前記乗算回路18pから多項式の積を受信し、それを加算器入力42pに加算して102で出力を生成する、ガロア体変換回路20pとを含むが、ここでは加法単位元レベルが加算器入力に供給されている。
【0065】
図14のガロア体乗累算エンジン104は、多項式乗算回路18qと、ガロア体変換回路20qであって、乗算回路18qから多項式の積を受信し、それを加算器入力42qに加算して102qで出力を生成する、ガロア体変換回路20qとを含む。ただし、ここでは前記出力102qは加算器入力42pに戻されている。
【0066】
図15のガロア体乗加算エンジン108は、多項式乗算回路18rと、ガロア体変換回路20rであって、乗算回路18rから多項式の積を受信し、それを加算器入力42rに加算して102rで出力を生成する、ガロア体変換回路20rとを含む。ただし、ここでは前記出力102rは乗算回路18rに戻されている。
【0067】
各特徴は、図面の一部のみで本発明の具体的な特徴を示しているが、これは単に便宜上のものであり、本発明に従って他の特徴のいずれか、またはすべてと組み合わせてもよい。本明細書における用語「含む」と「有する」と「伴う」とは、広義かつ包括的に解釈されるべきものであり、いかなる物理的相互接続にも限定されるものではない。さらに、掲題の用途に開示したいかなる実施形態も、考えうる唯一の実施形態として解釈されるべきではない。
【0068】
当業者であれば、他の実施形態も以下の特許請求の範囲内であることが理解されるであろう。
【図面の簡単な説明】
【0069】
当業者であれば、他の目的、特徴、および優位性が、以下の好適な実施形態の説明および添付の図面から理解されるであろう。
【図1】図1は、本発明に従う小型ガロア体乗算器エンジンの機能ブロック図。
【図2】図2は、本発明に従う従来の小型ガロア体乗算器エンジンの、より詳細な機能ブロック図。
【図3】図3は、本発明の特徴である小型化されたガロア体線形変換ユニット行列を示した、図1の小型ガロア体乗算器エンジンの、より詳細な機能ブロック図。
【図4】図4は、図2および図3のガロア体線形変換回路(乗算器エンジン)の前記行列用の典型的プログラム可能なXOR(またはX−OR)回路セルの概略図。
【図5】図5は、次数8の特定の多項式について、本発明による行列部および単位行列部のセルのプログラミングを例示した、図3および図9のガロア体線形変換回路の簡略化した模式図。
【図6】図6は、次数8の別の多項式について、本発明に係る行列部および単位行列部のセルのプログラミングを例示した、図3および図9のガロア体線形変換回路の簡略化した模式図。
【図7】図7は、次数4のさらに別の多項式について、本発明に従う行列部および単位行列部のセルのプログラミングを例示した、図3および図9のガロア体線形変換回路の簡略化した模式図。
【図8】図8は、この特定の実施形態において、半分の(4)次数および完全な(8)次数の間の多項式次数をサポートする疎行列としての第2行列部のプログラミングを例示した、図3および図9のガロア体線形変換回路の簡略化した模式図。
【図9】図9は、本発明の特徴である縮小サイズの行列と、縮小したハードウェアおよびローカルバスとの双方を組み込んだ、図1の小型ガロア体乗算器エンジンの、より詳細な機能ブロック図。
【図10】図10は、複数のガロア体線形変換ユニットを使用した、本発明に従うガロア体乗算器エンジンのブロック図。
【図11】図11は、図2、3、5、および9で使用可能な多項式乗算器の概略図。
【図12】図12は、図11の多項式乗算器の伝達関数を例示した図。
【図13】図13は、本発明に従う乗算演算専用のガロア体乗算器エンジンの簡略化した模式図。
【図14】図14は、本発明に従う乗累算演算専用のガロア体乗算器エンジンの簡略化した模式図。
【図15】図15は、本発明に従う乗加算演算専用のガロア体乗算器エンジンの簡略化した模式図。
【特許請求の範囲】
【請求項1】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力と、
乗算器入力選択回路であって、乗算モードでは前記第2の多項式を、乗加算モードでは前記ガロア体線形変換回路の出力を、そして乗累算モードでは前記第2の多項式を前記乗算回路に提供する、乗算器入力選択回路と、
加算器入力選択回路であって、前記乗算モードでは加法単位元を、前記乗加算モードでは前記第2の多項式入力を、そして前記乗累算モードでは前記ガロア体線形変換回路の出力を、前記ガロア体線形変換回路の加算入力に提供し、前記入力多項式のガロア体乗算関数と、ガロア体乗加算関数と、ガロア体乗累算関数とを取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項2】
請求項1の小型ガロア体乗算器エンジンにおいて、前記乗算回路は、前記多項式の積の各項用にAND論理回路を含み、ガロア体乗算器を実現するものである。
【請求項3】
請求項1の小型ガロア体乗算器エンジンにおいて、前記乗算回路は、ガロア体における総和をもたらすため、前記多項式の積における項の各対に排他的OR論理回路を含むものである。
【請求項4】
請求項1の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は、セルの行列であって、各セルが排他的OR論理回路と、前記排他的OR論理回路に接続された出力を有するAND論理回路と、入力データビットを受信するための入力とを含む、セルの行列を含むものである。
【請求項5】
請求項1の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路の出力は、前記エンジンのローカルバス経由で前記乗算器入力選択回路および前記加算器入力選択回路に戻されるものである。
【請求項6】
請求項1の小型ガロア体乗算器エンジンにおいて、前記乗算器入力選択回路は、前記ガロア体線形変換回路の出力からの入力と、前記第2の多項式からの入力とを含むものである。
【請求項7】
請求項1の小型ガロア体乗算器エンジンにおいて、前記加算器入力選択回路は、前記ガロア体線形変換回路の出力からの入力と、前記第2の多項式からの入力と、加法単位元入力とを含むものである。
【請求項8】
請求項4の小型ガロア体乗算器エンジンにおいて、各前記排他的OR論理回路は、出力が前記行列の出力に接続された最後の排他的OR論理回路と、入力が前記加算器入力選択回路に接続された最初の排他的OR論理回路とを除き、次に続く排他的OR論理回路の入力に接続された出力を有するものである。
【請求項9】
請求項1の小型ガロア体乗算器エンジンにおいて、この小型ガロア体乗算器エンジンは、さらに、
所定の既約多項式に関する剰余を予測するための係数のセットを前記ガロア体線形変換回路に供給する再設定可能な制御回路を含むものである。
【請求項10】
請求項9の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は複数のガロア体変換ユニットを含み、前記再設定可能な制御回路は、前記係数を並行して前記ガロア体変換ユニットに供給するものである。
【請求項11】
請求項1の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は、行列部および単位行列部で設定された複数のセルを含み、前記単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表すものである。
【請求項12】
請求項9の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は複数のガロア体変換ユニットを含み、前記再設定可能な制御回路は、それぞれが各前記ガロア体線形変換ユニットに関連付けられた複数の再設定可能な制御ユニットを含むものである。
【請求項13】
請求項1の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項14】
請求項9の小型ガロア体乗算器エンジンにおいて、前記加法単位元はヌルレベルである。
【請求項15】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力を有し、既約多項式について前記多項式の積の剰余を予測する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力と、
加算器入力選択回路であって、前記ガロア体線形変換回路の加算入力に乗算モードで加法単位元レベルを提供し、入力多項式のガロア体乗算関数を取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項16】
請求項15の小型ガロア体乗算器エンジンにおいて、前記乗算回路は、前記多項式の積の各項用にAND論理回路を含み、ガロア乗算器を実現するものである。
【請求項17】
請求項15の小型ガロア体乗算器エンジンにおいて、前記乗算回路は、前記多項式の積における項の各対に排他的OR論理回路を含み、ガロア体における総和をもたらすものである。
【請求項18】
請求項15の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は、セルの行列であって、各セルが排他的OR論理回路と、前記排他的OR論理回路に接続された出力を有するAND論理回路と、入力データビットを受信するための入力とを含む、セルの行列を含むものである。
【請求項19】
請求項15の小型ガロア体乗算器エンジンにおいて、前記加算器入力選択回路は、前記ガロア体線形変換回路の出力からの入力と、前記第2の多項式からの入力と、加法単位元入力とを含むものである。
【請求項20】
請求項18の小型ガロア体乗算器エンジンにおいて、各前記排他的OR論理回路は、出力が前記行列の出力に接続された最後の排他的OR論理回路と、入力が前記加算器入力選択回路に接続された最初の排他的OR論理回路とを除き、次に続く排他的OR論理回路の入力に接続された出力を有するものである。
【請求項21】
請求項15の小型ガロア体乗算器エンジンにおいて、この小型ガロア体乗算器エンジンは、さらに、
所定の既約多項式に関する剰余を予測するための係数のセットを前記ガロア体線形変換回路に供給する再設定可能な制御回路を含むものである。
【請求項22】
請求項21の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は複数のガロア体変換ユニットを含み、前記再設定可能な制御回路は、前記係数を並行して前記ガロア体変換ユニットに供給するものである。
【請求項23】
請求項15の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は、行列部および単位行列部で設定された複数のセルを含み、前記単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表すものである。
【請求項24】
請求項21の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は複数のガロア体変換ユニットを含み、前記再設定可能な制御回路は、それぞれが各前記ガロア体線形変換ユニットに関連付けられた複数の再設定可能な制御ユニットを含むものである。
【請求項25】
請求項15の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項26】
請求項15の小型ガロア体乗算器エンジンにおいて、前記加法単位元レベルはヌルレベルである。
【請求項27】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力 前記ガロア体線形変換回路の出力
加算器入力選択回路であって、前記ガロア体線形変換回路の加算入力に、乗加算モードで前記第2の多項式入力を提供し、入力多項式のガロア体乗加算関数を取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項28】
請求項27の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項29】
請求項27の小型ガロア体乗算器エンジンにおいて、前記加法単位元レベルはヌルレベルである。
【請求項30】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力と、
加算器入力選択回路であって、前記ガロア体線形変換回路の加算入力に、乗累算モードで前記ガロア体線形変換回路の出力を提供し、入力多項式のガロア体乗累算関数を取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項31】
請求項30の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項32】
請求項30の小型ガロア体乗算器エンジンにおいて、前記加法単位元レベルはヌルレベルである。
【請求項33】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力と、
乗算器入力選択回路であって、乗算モードでは前記第2の多項式を、そして乗加算モードでは前記ガロア体線形変換回路の出力を、前記乗算回路に提供する乗算器入力選択回路と、
加算器入力選択回路であって、前記乗算モードでは加法単位元レベルを、そして前記乗加算モードでは前記第2の多項式入力を、前記ガロア体線形変換回路の加算入力に提供し、入力多項式のガロア体乗算関数およびガロア体乗加算関数を取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項34】
請求項33の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項35】
請求項33の小型ガロア体乗算器エンジンにおいて、前記加法単位元レベルはヌルレベルである。
【請求項36】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力と、
乗算器入力選択回路であって、乗算モードでは前記第2の多項式を、そして乗累算モードでは前記第2の多項式を、前記乗算回路に提供する乗算器入力選択回路と、
加算器入力選択回路であって、前記乗算モードでは加法単位元レベルを、前記乗累算モードでは前記ガロア体線形変換回路の出力を、前記ガロア体線形変換回路の加算入力に提供し、入力多項式のガロア体乗算関数およびガロア体乗累算関数を取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項37】
請求項36の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項38】
請求項36の小型ガロア体乗算器エンジンにおいて、前記加法単位元レベルはヌルレベルである。
【請求項39】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力と、
乗算器入力選択回路であって、乗加算モードでは前記ガロア体線形変換回路の出力を、そして乗累算モードでは前記第2の多項式を、前記乗算回路に提供する乗算器入力選択回路と、
加算器入力選択回路であって、前記乗加算モードでは前記第2の多項式入力を、前記乗累算モードでは前記ガロア体線形変換回路の出力を、前記ガロア体線形変換回路の加算入力に提供し、入力多項式のガロア体乗加算関数およびガロア体乗累算関数を取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項40】
請求項39の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項41】
請求項39の小型ガロア体乗算器エンジンにおいて、前記加法単位元レベルはヌルレベルである。
【請求項42】
小型ガロア体並列乗算回路であって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
既約多項式に関する多項式の積の剰余を予測するためのガロア体線形変換回路であって、行列部および単位行列部で設定された複数のセルを含み、前記単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表す、ガロア体線形変換回路と
を有する小型ガロア体並列乗算回路。
【請求項43】
請求項42の小型ガロア体並列乗算回路において、各前記セルは、プログラム可能な排他的ORセルを含むものである。
【請求項44】
請求項43の小型ガロア体並列乗算回路において、前記プログラム可能な排他的ORセルは、排他的OR回路およびAND回路を含むものである。
【請求項45】
請求項42の小型ガロア体並列乗算回路において、この小型ガロア体並列乗算回路は、さらに、
所定の既約多項式について剰余を予測するための係数のセットを前記ガロア体線形変換回路に供給する再設定可能な制御回路を含むものである。
【請求項46】
請求項45の小型ガロア体並列乗算回路において、前記ガロア体線形変換回路は、複数のガロア体線形変換ユニットを含むものである。
【請求項47】
請求項45の小型ガロア体並列乗算回路において、前記再設定可能な制御回路は、前記係数を並行して前記ガロア体線形変換ユニットに供給するものである。
【請求項48】
請求項45の小型ガロア体並列乗算回路において、前記再設定可能な制御回路は、それぞれが各前記ガロア体線形変換ユニットに関連付けられた複数の再設定可能な制御ユニットを含むものである。
【請求項49】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路と、
前記乗算回路への第1の多項式入力と、
前記乗算回路への第2の多項式入力と、
ガロア体線形変換回路であって、既約多項式について前記多項式の積の剰余を予測する目的で、前記乗算回路からの乗算入力を有し、前記入力多項式のガロア体乗算関数を取得する、ガロア体線形変換回路と
を有する小型ガロア体乗算器エンジン。
【請求項50】
請求項49の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は、セルの行列であって、各セルが排他的OR論理回路と、前記排他的OR論理回路に接続された出力を有するAND論理回路と、入力データビットを受信するための入力とを含む、セルの行列を含むものである。
【請求項51】
請求項50の小型ガロア体乗算器エンジンにおいて、各前記排他的OR論理回路は、出力が前記行列の出力に接続された最後の排他的OR論理回路と、前記入力多項式のガロア体乗算関数を取得するため入力が加法単位元レベルに接続された最初の排他的OR論理回路とを除き、次に続く排他的OR論理回路の入力に接続された出力を有するものである。
【請求項52】
小型ガロア体乗加算エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、それらの多項式の積を取得する乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの前記多項式の積と、前記ガロア体線形変換回路の加算入力における多項式入力とに応答し、入力多項式のガロア体乗加算関数を取得するため、既約多項式に関する前記多項式の積の予測剰余を前記加算入力に加算することにより前記多項式入力の1つを前記乗算器に提供する、ガロア体線形変換回路と
を有する小型ガロア体乗加算エンジン。
【請求項53】
請求項52の小型ガロア体乗加算エンジンにおいて、前記ガロア体線形変換回路は、セルの行列であって、各セルが排他的OR論理回路と、前記排他的OR論理回路に接続された出力を有するAND論理回路と、入力データビットを受信するための入力とを含む、セルの行列を含むものである。
【請求項54】
請求項53の小型ガロア体乗加算エンジンにおいて、各前記排他的OR論理回路は、出力が前記行列の出力に接続された最後の排他的OR論理回路と、前記入力多項式のガロア体乗加算関数を取得するため入力が第2の多項式入力に接続された最初の排他的OR論理回路とを除き、次に続く排他的OR論理回路の入力に接続された出力を有するものである。
【請求項55】
小型ガロア体乗累算エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、それらの多項式の積を取得する乗算回路と、
前記乗算回路への第1の多項式入力と、
前記乗算回路への第2の多項式入力と、
ガロア体線形変換回路であって、前記乗算回路からの前記多項式の積と、多項式加算入力であって、既約多項式に関する前記多項式の積の予測剰余を前記加算入力に加算するための多項式加算入力とに応答し、入力多項式のガロア体乗累算関数を取得する、ガロア体線形変換回路と
を有し、
前記出力が、前記ガロア体線形変換回路の加算入力に前記多項式を提供する
小型ガロア体乗累算エンジン。
【請求項56】
請求項55の小型ガロア体乗累算エンジンにおいて、前記ガロア体線形変換回路は、セルの行列であって、各セルが排他的OR論理回路と、前記排他的OR論理回路に接続された出力を有するAND論理回路と、入力データビットを受信するための入力とを含む、セルの行列を含むものである。
【請求項57】
請求項5の小型ガロア体乗算器エンジンにおいて、各前記排他的OR論理回路は、出力が前記行列の出力に接続された最後の排他的OR論理回路と、前記入力多項式のガロア体乗累算関数を取得するため入力が前記ガロア体線形変換回路の出力に接続された最初の排他的OR論理回路とを除き、次に続く排他的OR論理回路の入力に接続された出力を有するものである。
【請求項1】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力と、
乗算器入力選択回路であって、乗算モードでは前記第2の多項式を、乗加算モードでは前記ガロア体線形変換回路の出力を、そして乗累算モードでは前記第2の多項式を前記乗算回路に提供する、乗算器入力選択回路と、
加算器入力選択回路であって、前記乗算モードでは加法単位元を、前記乗加算モードでは前記第2の多項式入力を、そして前記乗累算モードでは前記ガロア体線形変換回路の出力を、前記ガロア体線形変換回路の加算入力に提供し、前記入力多項式のガロア体乗算関数と、ガロア体乗加算関数と、ガロア体乗累算関数とを取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項2】
請求項1の小型ガロア体乗算器エンジンにおいて、前記乗算回路は、前記多項式の積の各項用にAND論理回路を含み、ガロア体乗算器を実現するものである。
【請求項3】
請求項1の小型ガロア体乗算器エンジンにおいて、前記乗算回路は、ガロア体における総和をもたらすため、前記多項式の積における項の各対に排他的OR論理回路を含むものである。
【請求項4】
請求項1の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は、セルの行列であって、各セルが排他的OR論理回路と、前記排他的OR論理回路に接続された出力を有するAND論理回路と、入力データビットを受信するための入力とを含む、セルの行列を含むものである。
【請求項5】
請求項1の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路の出力は、前記エンジンのローカルバス経由で前記乗算器入力選択回路および前記加算器入力選択回路に戻されるものである。
【請求項6】
請求項1の小型ガロア体乗算器エンジンにおいて、前記乗算器入力選択回路は、前記ガロア体線形変換回路の出力からの入力と、前記第2の多項式からの入力とを含むものである。
【請求項7】
請求項1の小型ガロア体乗算器エンジンにおいて、前記加算器入力選択回路は、前記ガロア体線形変換回路の出力からの入力と、前記第2の多項式からの入力と、加法単位元入力とを含むものである。
【請求項8】
請求項4の小型ガロア体乗算器エンジンにおいて、各前記排他的OR論理回路は、出力が前記行列の出力に接続された最後の排他的OR論理回路と、入力が前記加算器入力選択回路に接続された最初の排他的OR論理回路とを除き、次に続く排他的OR論理回路の入力に接続された出力を有するものである。
【請求項9】
請求項1の小型ガロア体乗算器エンジンにおいて、この小型ガロア体乗算器エンジンは、さらに、
所定の既約多項式に関する剰余を予測するための係数のセットを前記ガロア体線形変換回路に供給する再設定可能な制御回路を含むものである。
【請求項10】
請求項9の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は複数のガロア体変換ユニットを含み、前記再設定可能な制御回路は、前記係数を並行して前記ガロア体変換ユニットに供給するものである。
【請求項11】
請求項1の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は、行列部および単位行列部で設定された複数のセルを含み、前記単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表すものである。
【請求項12】
請求項9の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は複数のガロア体変換ユニットを含み、前記再設定可能な制御回路は、それぞれが各前記ガロア体線形変換ユニットに関連付けられた複数の再設定可能な制御ユニットを含むものである。
【請求項13】
請求項1の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項14】
請求項9の小型ガロア体乗算器エンジンにおいて、前記加法単位元はヌルレベルである。
【請求項15】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力を有し、既約多項式について前記多項式の積の剰余を予測する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力と、
加算器入力選択回路であって、前記ガロア体線形変換回路の加算入力に乗算モードで加法単位元レベルを提供し、入力多項式のガロア体乗算関数を取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項16】
請求項15の小型ガロア体乗算器エンジンにおいて、前記乗算回路は、前記多項式の積の各項用にAND論理回路を含み、ガロア乗算器を実現するものである。
【請求項17】
請求項15の小型ガロア体乗算器エンジンにおいて、前記乗算回路は、前記多項式の積における項の各対に排他的OR論理回路を含み、ガロア体における総和をもたらすものである。
【請求項18】
請求項15の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は、セルの行列であって、各セルが排他的OR論理回路と、前記排他的OR論理回路に接続された出力を有するAND論理回路と、入力データビットを受信するための入力とを含む、セルの行列を含むものである。
【請求項19】
請求項15の小型ガロア体乗算器エンジンにおいて、前記加算器入力選択回路は、前記ガロア体線形変換回路の出力からの入力と、前記第2の多項式からの入力と、加法単位元入力とを含むものである。
【請求項20】
請求項18の小型ガロア体乗算器エンジンにおいて、各前記排他的OR論理回路は、出力が前記行列の出力に接続された最後の排他的OR論理回路と、入力が前記加算器入力選択回路に接続された最初の排他的OR論理回路とを除き、次に続く排他的OR論理回路の入力に接続された出力を有するものである。
【請求項21】
請求項15の小型ガロア体乗算器エンジンにおいて、この小型ガロア体乗算器エンジンは、さらに、
所定の既約多項式に関する剰余を予測するための係数のセットを前記ガロア体線形変換回路に供給する再設定可能な制御回路を含むものである。
【請求項22】
請求項21の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は複数のガロア体変換ユニットを含み、前記再設定可能な制御回路は、前記係数を並行して前記ガロア体変換ユニットに供給するものである。
【請求項23】
請求項15の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は、行列部および単位行列部で設定された複数のセルを含み、前記単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表すものである。
【請求項24】
請求項21の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は複数のガロア体変換ユニットを含み、前記再設定可能な制御回路は、それぞれが各前記ガロア体線形変換ユニットに関連付けられた複数の再設定可能な制御ユニットを含むものである。
【請求項25】
請求項15の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項26】
請求項15の小型ガロア体乗算器エンジンにおいて、前記加法単位元レベルはヌルレベルである。
【請求項27】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力 前記ガロア体線形変換回路の出力
加算器入力選択回路であって、前記ガロア体線形変換回路の加算入力に、乗加算モードで前記第2の多項式入力を提供し、入力多項式のガロア体乗加算関数を取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項28】
請求項27の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項29】
請求項27の小型ガロア体乗算器エンジンにおいて、前記加法単位元レベルはヌルレベルである。
【請求項30】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力と、
加算器入力選択回路であって、前記ガロア体線形変換回路の加算入力に、乗累算モードで前記ガロア体線形変換回路の出力を提供し、入力多項式のガロア体乗累算関数を取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項31】
請求項30の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項32】
請求項30の小型ガロア体乗算器エンジンにおいて、前記加法単位元レベルはヌルレベルである。
【請求項33】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力と、
乗算器入力選択回路であって、乗算モードでは前記第2の多項式を、そして乗加算モードでは前記ガロア体線形変換回路の出力を、前記乗算回路に提供する乗算器入力選択回路と、
加算器入力選択回路であって、前記乗算モードでは加法単位元レベルを、そして前記乗加算モードでは前記第2の多項式入力を、前記ガロア体線形変換回路の加算入力に提供し、入力多項式のガロア体乗算関数およびガロア体乗加算関数を取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項34】
請求項33の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項35】
請求項33の小型ガロア体乗算器エンジンにおいて、前記加法単位元レベルはヌルレベルである。
【請求項36】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力と、
乗算器入力選択回路であって、乗算モードでは前記第2の多項式を、そして乗累算モードでは前記第2の多項式を、前記乗算回路に提供する乗算器入力選択回路と、
加算器入力選択回路であって、前記乗算モードでは加法単位元レベルを、前記乗累算モードでは前記ガロア体線形変換回路の出力を、前記ガロア体線形変換回路の加算入力に提供し、入力多項式のガロア体乗算関数およびガロア体乗累算関数を取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項37】
請求項36の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項38】
請求項36の小型ガロア体乗算器エンジンにおいて、前記加法単位元レベルはヌルレベルである。
【請求項39】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの乗算入力と、加算入力と、既約多項式に関する多項式の積の予測剰余を前記加算入力に加算するための出力とを有する、ガロア体線形変換回路と、
前記乗算回路への第1の多項式入力と、
第2の多項式入力と、
乗算器入力選択回路であって、乗加算モードでは前記ガロア体線形変換回路の出力を、そして乗累算モードでは前記第2の多項式を、前記乗算回路に提供する乗算器入力選択回路と、
加算器入力選択回路であって、前記乗加算モードでは前記第2の多項式入力を、前記乗累算モードでは前記ガロア体線形変換回路の出力を、前記ガロア体線形変換回路の加算入力に提供し、入力多項式のガロア体乗加算関数およびガロア体乗累算関数を取得する、加算器入力選択回路と
を有する小型ガロア体乗算器エンジン。
【請求項40】
請求項39の小型ガロア体乗算器エンジンにおいて、前記入力多項式の前記関数は1サイクルで生成されるものである。
【請求項41】
請求項39の小型ガロア体乗算器エンジンにおいて、前記加法単位元レベルはヌルレベルである。
【請求項42】
小型ガロア体並列乗算回路であって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する、乗算回路と、
既約多項式に関する多項式の積の剰余を予測するためのガロア体線形変換回路であって、行列部および単位行列部で設定された複数のセルを含み、前記単位行列部のセルは、前記乗算回路の出力が、前記既約多項式の次数未満の次数を伴う多項式である場合に剰余の予測を表す、ガロア体線形変換回路と
を有する小型ガロア体並列乗算回路。
【請求項43】
請求項42の小型ガロア体並列乗算回路において、各前記セルは、プログラム可能な排他的ORセルを含むものである。
【請求項44】
請求項43の小型ガロア体並列乗算回路において、前記プログラム可能な排他的ORセルは、排他的OR回路およびAND回路を含むものである。
【請求項45】
請求項42の小型ガロア体並列乗算回路において、この小型ガロア体並列乗算回路は、さらに、
所定の既約多項式について剰余を予測するための係数のセットを前記ガロア体線形変換回路に供給する再設定可能な制御回路を含むものである。
【請求項46】
請求項45の小型ガロア体並列乗算回路において、前記ガロア体線形変換回路は、複数のガロア体線形変換ユニットを含むものである。
【請求項47】
請求項45の小型ガロア体並列乗算回路において、前記再設定可能な制御回路は、前記係数を並行して前記ガロア体線形変換ユニットに供給するものである。
【請求項48】
請求項45の小型ガロア体並列乗算回路において、前記再設定可能な制御回路は、それぞれが各前記ガロア体線形変換ユニットに関連付けられた複数の再設定可能な制御ユニットを含むものである。
【請求項49】
小型ガロア体乗算器エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、その積を取得する乗算回路と、
前記乗算回路への第1の多項式入力と、
前記乗算回路への第2の多項式入力と、
ガロア体線形変換回路であって、既約多項式について前記多項式の積の剰余を予測する目的で、前記乗算回路からの乗算入力を有し、前記入力多項式のガロア体乗算関数を取得する、ガロア体線形変換回路と
を有する小型ガロア体乗算器エンジン。
【請求項50】
請求項49の小型ガロア体乗算器エンジンにおいて、前記ガロア体線形変換回路は、セルの行列であって、各セルが排他的OR論理回路と、前記排他的OR論理回路に接続された出力を有するAND論理回路と、入力データビットを受信するための入力とを含む、セルの行列を含むものである。
【請求項51】
請求項50の小型ガロア体乗算器エンジンにおいて、各前記排他的OR論理回路は、出力が前記行列の出力に接続された最後の排他的OR論理回路と、前記入力多項式のガロア体乗算関数を取得するため入力が加法単位元レベルに接続された最初の排他的OR論理回路とを除き、次に続く排他的OR論理回路の入力に接続された出力を有するものである。
【請求項52】
小型ガロア体乗加算エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、それらの多項式の積を取得する乗算回路と、
ガロア体線形変換回路であって、前記乗算回路からの前記多項式の積と、前記ガロア体線形変換回路の加算入力における多項式入力とに応答し、入力多項式のガロア体乗加算関数を取得するため、既約多項式に関する前記多項式の積の予測剰余を前記加算入力に加算することにより前記多項式入力の1つを前記乗算器に提供する、ガロア体線形変換回路と
を有する小型ガロア体乗加算エンジン。
【請求項53】
請求項52の小型ガロア体乗加算エンジンにおいて、前記ガロア体線形変換回路は、セルの行列であって、各セルが排他的OR論理回路と、前記排他的OR論理回路に接続された出力を有するAND論理回路と、入力データビットを受信するための入力とを含む、セルの行列を含むものである。
【請求項54】
請求項53の小型ガロア体乗加算エンジンにおいて、各前記排他的OR論理回路は、出力が前記行列の出力に接続された最後の排他的OR論理回路と、前記入力多項式のガロア体乗加算関数を取得するため入力が第2の多項式入力に接続された最初の排他的OR論理回路とを除き、次に続く排他的OR論理回路の入力に接続された出力を有するものである。
【請求項55】
小型ガロア体乗累算エンジンであって、
乗算回路であって、ガロア体上の係数を伴う2つの多項式を乗算し、それらの多項式の積を取得する乗算回路と、
前記乗算回路への第1の多項式入力と、
前記乗算回路への第2の多項式入力と、
ガロア体線形変換回路であって、前記乗算回路からの前記多項式の積と、多項式加算入力であって、既約多項式に関する前記多項式の積の予測剰余を前記加算入力に加算するための多項式加算入力とに応答し、入力多項式のガロア体乗累算関数を取得する、ガロア体線形変換回路と
を有し、
前記出力が、前記ガロア体線形変換回路の加算入力に前記多項式を提供する
小型ガロア体乗累算エンジン。
【請求項56】
請求項55の小型ガロア体乗累算エンジンにおいて、前記ガロア体線形変換回路は、セルの行列であって、各セルが排他的OR論理回路と、前記排他的OR論理回路に接続された出力を有するAND論理回路と、入力データビットを受信するための入力とを含む、セルの行列を含むものである。
【請求項57】
請求項5の小型ガロア体乗算器エンジンにおいて、各前記排他的OR論理回路は、出力が前記行列の出力に接続された最後の排他的OR論理回路と、前記入力多項式のガロア体乗累算関数を取得するため入力が前記ガロア体線形変換回路の出力に接続された最初の排他的OR論理回路とを除き、次に続く排他的OR論理回路の入力に接続された出力を有するものである。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公表番号】特表2006−503382(P2006−503382A)
【公表日】平成18年1月26日(2006.1.26)
【国際特許分類】
【出願番号】特願2005−501127(P2005−501127)
【出願日】平成15年10月9日(2003.10.9)
【国際出願番号】PCT/US2003/031886
【国際公開番号】WO2004/034207
【国際公開日】平成16年4月22日(2004.4.22)
【出願人】(502111112)アナログ デバイシーズ インク (31)
【Fターム(参考)】
【公表日】平成18年1月26日(2006.1.26)
【国際特許分類】
【出願日】平成15年10月9日(2003.10.9)
【国際出願番号】PCT/US2003/031886
【国際公開番号】WO2004/034207
【国際公開日】平成16年4月22日(2004.4.22)
【出願人】(502111112)アナログ デバイシーズ インク (31)
【Fターム(参考)】
[ Back to top ]