JP5266354B2 - ガロア拡大体・積算/積算加算・積和演算装置 - Google Patents

ガロア拡大体・積算/積算加算・積和演算装置 Download PDF

Info

Publication number
JP5266354B2
JP5266354B2 JP2011033194A JP2011033194A JP5266354B2 JP 5266354 B2 JP5266354 B2 JP 5266354B2 JP 2011033194 A JP2011033194 A JP 2011033194A JP 2011033194 A JP2011033194 A JP 2011033194A JP 5266354 B2 JP5266354 B2 JP 5266354B2
Authority
JP
Japan
Prior art keywords
polynomial
addition
product
integration
multiplication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011033194A
Other languages
English (en)
Other versions
JP2011146052A (ja
Inventor
ヨゼフ・ステイン
ハイム・プリモ
ヤニフ・サピール
Original Assignee
アナログ デバイシーズ インク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/051,533 external-priority patent/US6587864B2/en
Priority claimed from US10/060,699 external-priority patent/US6766345B2/en
Priority claimed from US10/170,267 external-priority patent/US7283628B2/en
Application filed by アナログ デバイシーズ インク filed Critical アナログ デバイシーズ インク
Publication of JP2011146052A publication Critical patent/JP2011146052A/ja
Application granted granted Critical
Publication of JP5266354B2 publication Critical patent/JP5266354B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)
  • Noodles (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Photoreceptors In Electrophotography (AREA)

Description

この発明は、1サイクルで積算/積算加算/積和演算操作を実行することができるガロア拡大体積算/積算加算/積和演算装置(Galois field multiply/multiply-add/multiply accumulate system)に関する。
ガロア拡大体の積算(Multiplication)、積算−加算(Multiply-Add)、及び積和演算(Multiply-Accumulate)操作は、多くの用途で用いられている。例えば、リードソロモンのような前進型誤信号制御(forwarded error control:FEC)符号体系を実行するときに、16の行動パターンをガロア拡大体の多項式を用いて計算しなければならない。これはホーナーの規則(Horner’s rule)を用いて再帰的に行われる。例えば、1+x+x+x+xは、一連の積算−加算操作を要求するx(x(x(x+1)+1)+1)+1と再帰的に書くこともできる。マトリックスがベクトルによって乗じられるMixColumn変換のための次期標準暗号(advance encryption standard:AES)の暗号化機能には積和演算操作が要求される。VLIW(very long instruction word)プロセッサには、多くの計算ユニット、例えば乗算器、加算器、及びシフタ(shifter)がある。このように一つの値が乗算を経ている間のどんなときでも、以前の乗算の積は加算操作を経ることができる。この同時演算又はパイプライニング(pipelining)は、n値のロングストリング(long string)を2nサイクルの代わりにn+1サイクルのみで完全に処理することができる。しかしながら、一つの計算ユニットが全ての機能を果たさなければならないより小さいプロセッサでは、各値は、乗算及び加算操作を成し遂げるために2サイクルを必要とし、それゆえにn値の集合を処理するために2nサイクルが要求される。
特開2001−56640号公報 特開2001−194996号公報
したがってこの発明の目的は、改善されたガロア拡大体積算/積算加算/積和演算装置を提供することにある。
この発明のさらなる目的は、1サイクルで積算/積算加算/積和演算操作を実行することができる改善されたガロア拡大体積算/積算加算/積和演算装置を提供することにある。
この発明のさらなる目的は、付加的な論理回路なしに性能を増大させることができるそのような改善されたガロア拡大体積算/積算加算/積和演算装置を提供することにある。
この発明のさらなる目的は、1サイクルで乗算、又は乗算及び加算、又は積和演算操作のどれかを実行することができるそのような改善されたガロア拡大体積算/積算加算/積和演算装置を提供することにある。
本発明は、わずかな論理回路を用いて又は付加的な論理回路を用いずに1サイクルで乗算、又は乗算及び加算、又は積和演算操作のどれかを実行する改善されたガロア拡大体積算/積算加算/積和演算装置が、シングルサイクルで乗算器からの第1及び第2多項式の積を第3多項式に加えるために、ガロア拡大体加算回路と、GF(2)の2元多項式(binary polynomial)を乗算する多項式乗算回路と、ガロア拡大体線形変換器回路と、記憶回路と、を用いて達成され得る、ということを実現したものである。
この発明は、ガロア拡大体線形変換器回路ガロア拡大体の係数を有する2つの多項式を乗算してこれら積を得るための乗算回路と、既約多項式に対する多項式の積のモジュロ剰余を予測するための、乗算回路に応答するガロア拡大体線形変換器回路と、を含むガロア拡大体積算/積算加算/積和演算装置を特徴とする。記憶回路は、所定の既約多項式に対するモジュロ剰余を予測するためにガロア拡大体線形変換器回路に一組の係数を供給する。ガロア拡大体加算回路は、シングルサイクルで乗算及び加算操作を実行するために、ガロア拡大体の係数を有する第3多項式に乗算回路の積を加える。
好ましい実施例では、第3多項式は加法単位元の多項式とすることができ、加算操作はゼロになることができる。乗算の積は、第3多項式として再帰的にフィードバックしてもよく、加算回路は、積和演算操作を実行してもよい。乗算の積は、第1出力レジスタに引き渡すことができ、積算加算/積和演算の結果は、第2出力レジスタに引き渡すことができる。ガロア拡大体加算回路は、1サイクルで第3多項式を第1及び第2の積と組み合わせるための、ガロア拡大体線形変換器回路に結びつけられた複数の加算セルを含むことができる。
他の目的、特徴、及び優位点は、次の好ましい実施例の記述、及び添付の図面から当業者に見出されよう。
この発明に係るガロア拡大体積算/積算加算/積和演算装置の簡単なブロック図である。 図1のガロア拡大体積算/積算加算/積和演算装置のより詳細な図である。 予測された結果を達成するための、セルのプログラミング、及び関連する記憶セルのプログラミングを示す図1のガロア拡大体線形変換器ユニットの概略図である。 図1の乗算回路のためのGF(2)の2元多項式を乗算する多項式乗算セルを示す概略図である。 図1の記憶回路のための記憶装置を示す概略図である。 図1のガロア拡大体線形変換器回路のセルを示す概略図である。 この発明に係るガロア拡大体積算/積算加算/積和演算装置の他の構成を示す図2と同様の図である。 この発明に係るガロア拡大体積算/積算加算/積和演算装置の他の構成を示す図2と同様の図である。 この発明に係る積和(multiply and accumulate:MAC)の例を示す図である。 この発明に係る積算及び加算(multiply and add:MPA)の例を示す図である。
以下に開示される一つ又は複数の好ましい実施例に加えて、この発明は、他の実施例とすることができ、かつ様々な方法で実行又は実施することができる。このように、本発明はその適用において、次の記述に説明されるか又は図面に図示された構成要素の構成及び配置の詳細に制限されない。
図1には、レジスタ14及び16内の値を選択的に乗じ、これらの積を出力レジスタ11へ供給するか、又は、レジスタ14及び16内の値を乗じ、これらの積をレジスタ15内の値と合計し、その結果を出力レジスタ11へ供給することのできるガロア拡大体積算/積算加算/積和演算装置10が示されている。
以下で図2において本発明の実施例を説明する前に、ガロア拡大体乗法及び加法の性質及び操作について次に簡単に述べる。
ガロア拡大体GF(n)は、2つの二項演算が実行され得る一組の元である。加法及び乗法は、交換法則、結合法則、及び分配法則を満足しなければならない。有限個の元を有する体は、有限体である。2元体の例は、モジュロ2の加算及びモジュロ2の乗算の下での集合{0,1}であり、GF(2)と表される。モジュロ2の加算及び乗算操作は、次の図に示された表に表される。第1行及び第1列は、ガロア拡大体加算器及び乗算器への入力を示す。例えば1+1=0であり、1*1=1である。
Figure 0005266354
Figure 0005266354
一般に、pが素数であるならば、GF(p)がp個の元を有する有限体であること、及びGF(p)がp個の元を有する有限体であること、を示すことができる。加えて、体のそれぞれ異なる元は、異なる数で累乗することによって、一の体の元αのそれぞれ異なる累乗として生成され得る。例えばGF(256)は、256の元を有し、原始元αに256の異なる数を累乗することによって全て生成され得る。
加えて、係数が二元である多項式はGF(2)に属する。m次のGF(2)の多項式は、mよりも小さいが0よりも大きい次数のGF(2)のどんな多項式によっても割り切れない場合には、既約であるといわれる。多項式F(X)=X+X+1は、X又はX+1のどちらでも割り切れないので、既約多項式である。X2m―1+1を割り切るm次の既約多項式は、原始多項式として知られている。一定のmに対しては、一つよりも多くの原始多項式があり得る。最も標準的な通信でしばしば用いられる、m=8に対する原始多項式の例は、F(X)=x+x+x+x+x+1である。
ガロア拡大体加算は、モジュロ加算と同じなのでソフトウェアで実行することが容易である。例えば、29及び16がGF(2)の2つの元である場合には、これらの加算は、次の[数1]のようにXOR演算として簡単に行われる。
Figure 0005266354
他方でガロア拡大体乗算は、次の例によって示されるようなより複雑なビットであり、原始元αを繰り返し乗算することによってGF(2)の全ての元を計算する。GF(2)に対する体の元を生成するために、次数m=4の原始多項式G(x)が、次の通りにG(x)=X+X+1と選択される。乗算の結果がなお体の元となるように乗算をモジュロさせるために、5番目のビットセットを有するあらゆる元は、次の恒等式F(α)=α+α+1=0を用いて4ビットとなる。この恒等式は、α=1+αとセットすることによって、体の異なる元を形成するために繰り返し用いられる。このように体の元は次のように列挙することができる:
{0,1,α,α,α,1+α,α+α,α+α,1+α+α,...1+α
αはGF(2)に対する原始元なので、αは、GF(2)の体の元を{0,1,2,4,8,3,6,12,11...9}として生成するために2に設定することができる。
ガロア拡大体多項式乗算は2つの基本ステップで実行することができるということを理解することができる。第1は、代数的に拡大された多項式の積c(x)=a(x)*b(x)の計算であり、同様の冪がc(x)を与えるために収集される(加算は対応する項の間のXOR演算に対応する)。例えばc(x)=(a+a+a+a)*(b+b+b+b
C(x)=c+c+c+c+c+c+c ここで
Figure 0005266354
である。
第2は、d(x)=c(x) mod p(x)の計算であり、ここでp(x)は既約多項式である。
説明のため、多項式の積を既約多項式で除算した余りを用いて乗算が実行される。例えば、(もしp(x)=x+x+x+x+1ならば)
{57}*{83}={c1}
である。なぜならば、これら{*}バイトのそれぞれは、{b7,b6,b5,b4,b3,b2,b1,b0}の順番の個々のビット値(0又は1)の連続であり、多項式表現:b+b+b+b+b+b+b+b=Σbを用いて有限の要素として解釈されるからである。
Figure 0005266354
Figure 0005266354
この発明に係る図2の改善されたガロア拡大体乗算装置10は、レジスタ14内の2つの2元多項式(binary polynomial)をレジスタ16内の多項式と乗算して、チャート2のように定められた16項の多項式c(x)によって与えられるこれらの積を得るための、2元多項式乗算回路12を含む。乗算回路12は実際には、複数の乗算セル12a,12b,12c...12nを含む。
Figure 0005266354
Figure 0005266354
各項は、*で表されるように論理積の機能を含み、項の各対は、[数6]によって示されるような論理的な排他的論理和と結合される。この積は、それぞれが16x8のセル35から構成された多くのガロア拡大体線形変換器ユニット18a,18b,18c...18nを含むことができるガロア拡大体線形変換器回路18へ送られ、所定の既約多項式に対する多項式の積のモジュロ剰余を1サイクルで予測するために乗算回路12によって生成される積に応答する。ユニット18a,18b,18c...18nで乗算が実行される。このガロア拡大体線形変換器回路の構成及び操作と、ガロア拡大体変換器ユニットのそれぞれと、ガロア拡大体乗算機能とは、参照によって全体が本願に組み入れられる2002年1月18日に出願されたSteinらによるGALOIS FIELD LINEAR TRANSFORMERというタイトルのシリアル番号10/051,533(AD−239J)、及び2001年11月30日に出願されたSteinらによるGALOIS FIELD MULTIPLIER SYSTEMというタイトルのシリアル番号60/334,510(AD−240J)の米国特許出願に、より完全に説明されている。ガロア拡大体線形変換器ユニットのそれぞれは、多項式を既約多項式で割ることによって1サイクルでモジュロ剰余を予測する。この既約多項式は、例えば[数7]に示されたどのようなものとすることもできる。
Figure 0005266354
Figure 0005266354
Figure 0005266354
GF(2)が全ての累乗2及びそれよりも下の累乗を用いて実行することのできる、与えられたガロア拡大体の乗算器がチャート3に示されている。次数のより低い多項式に対して、選択された累乗よりも大きい箇所の係数はゼロとなる。例えば、GF(2)が実行される場合にはGF(2)とGF(2)との間の係数はゼロとなる。それゆえ、そのレベルよりも上では予測が行われない。
この特定の実施例に対しては、群GF(2)の既約多項式又は原始多項式0x11Dが選択された。記憶セル26を有する記憶回路20は、特定の原始多項式又は既約多項式に対するモジュロ剰余を予測するために、ガロア拡大体線形変換器回路に一組の係数を供給する。原始多項式0x11Dを有するガロア拡大体GF(2)に対しては、記憶回路20は図3に示されたようなマトリックス設定値を生み出す。ここでライン例えば22の各交差点は、線形変換器ユニット18a,18b,...18nのセル35を表す。それぞれの拡大された丸い点24は、記憶回路20内の関連する記憶セル26に1が存在することによって使用可能にされたセルを示す。既約多項式の1サイクルのモジュロ演算で予測を生み出すために1の適切なパターンを与える回路20の記憶セル26のプログラミングは、列28に示されている。図3に示されたマトリックスは、17の入力と8の出力とのアレイである。
この発明に係るGF乗算の例は、次のように見出される。
Figure 0005266354
図2のこの発明によれば、ガロア拡大体の係数を有する第3多項式を含む第3レジスタ15がある。通常、レジスタ14,16,及び15のそれぞれは、各レジスタが4バイト、すなわちトータルで32ビットを含むように、8ビットからなる4つのバイト区分を含むことができる。レジスタ15からの出力は、この実施例ではバス17と、バス17の各ビットに対して一つである多くの排他的論理和ゲート19と、を含むガロア拡大体加算回路19へ引き渡される。積算及び加算、又は積和の結果を出力レジスタ回路11のMpaレジスタ25に提供するために、バス21上の積と第3多項式との組み合わせが、排他的論理和回路19′を含む加算回路19で組み合わされる一方で、乗算の単純な積が出力レジスタ回路11内のMpyレジスタ23で利用できるように、ガロア拡大体線形変換器回路18で得られる積はバス21へ引き渡される。例えば図9で、2つの新しい値が入力レジスタ回路14及び16へ送られる間、ガロア拡大体乗算装置10の出力が入力レジスタ回路15に再帰的にフィードバックされるならば、積和(Multiply and accumulate:MAC)が実行される。他方図10で、2つの新しい値が入力レジスタ回路15及び16へ送られる間、ガロア拡大体乗算装置10の出力が入力レジスタ回路14で再帰的にフィードバックされるならば、積算及び加算(Multiply and add:MPA)が実行される。このように、レジスタ14及び16における多項式と、レジスタ15内の多項式とのこれらの加算と、の乗算全体は全て、1サイクルの操作で達成される。
図2における多項式乗算回路12の各セル29は、図4における多くの論理積ゲート30を含み、一つは多項式の積と排他的論理和ゲート32との各項に対するものであり、一つは多項式の積における項の各対に対するものである。排他的論理和ゲート32が加算に影響を与える一方で、論理積ゲート30は乗算を実行する。ガロア拡大体線形変換器回路18における図2の各セル35は、前のセルから入力を受け、次のセルに出力を与える。第1セルの入力は図3に示されるように31でアースされる。図5における記憶回路20の各セル33は、データDの入力、Wrクロックの入力、及びQの出力を容易にするフリップフロップ34を含む。その全体が本願に組み入れられる、2002年1月18日に出願されたSteinらによるGALOIS FIELD LINEAR TRANSFORMERというタイトルのシリアル番号10/051,533の米国特許出願(AD−239J)にも説明されているように、ガロア拡大体線形変換器回路の各セル35と、ガロア拡大体線形変換器回路の一つ又は複数のユニットのそれぞれとは、図6の論理積ゲート36と排他的論理和ゲート38とを有する図4のセル35を含む。セル29,33,及び35のそれぞれにおいて、示された特定の装置は、本発明を制限するものではない。例えば記憶装置33はフリップフロップによって実行される必要はなく、あらゆる他の記憶装置を用いることができる。図2及び図4では、セル29及び35はそれぞれ、論理積の機能と排他的論理和の機能とを必要とするが、これらは、排他的論理和ゲート及び論理積ゲートのようなブールの意味(Boolean sense)で機能する論理回路がある限り、特定の排他的論理和ゲート又は論理積ゲートを必要としない多くの異なる方法で実行することができる。例えば、論理積の機能は、論理積の機能を実行するための2:1の入力マルチプレクサを用いる特定の論理積ゲートなしに達成することができる。
図2では示された実施例は、実際の論理回路、すなわち排他的論理和回路19′を含む加算回路19を使用するが、本発明に必須の制限ではない。本発明は、レジスタ15内の多項式の値がガロア拡大体線形変換器回路18のセル35の最初へライン17a上で直接送られる図7に示すように、いっそうより単純に行うことができる。
この場合、図3のアースされた接続31は除去され、代わりに加算回路が1サイクルで積算及び加算、又は積和の全てを実行するために単純なライン17a及び接続19aを含むように、ライン17a上の入力を有する19aで接続が行われる。しかしながら、加算のない連続した乗算(straight multiplication)が望まれる場合には、入力レジスタ回路15は、加算「0」に対する加法的単位元の特性を保つべきであり、加算操作はゼロにされる。僅かばかりさほど単純でない図8の装置では、加算回路19bは、入力ライン17bに加えて、ライン17bからの入力を受けるとともに順にそれぞれがガロア拡大体線形変換器回路18における第1セル35の異なる入力へ接続された多くのゲート19′bを含む。ライン50上の信号は、各ゲートがレジスタ15内に格納された多項式からの値を通す又は通さないよう調整する。加算のない連続した乗算が望まれる場合には、ゲート19′bの全ての割り込みを抑制することができる。使用可能にされたゲートを用いるとレジスタ15内の多項式は、レジスタ14及び16内の多項式の乗算の積に加えられる。ガロア拡大体線形変換器回路18におけるこの第1セル35の使用は、参照によって本願に組み入れられる2002年6月12日に出願されたSteinらによるPROGRAMMABLE DATA ENCRYPTION ENGINEにより完全に示されかつ説明されている。
本発明の特定の特徴はいくつかの図面に示されており、他には示されていないが、それぞれの特徴は本発明に係る他の特徴のいくつか又は全てと組み合わせることができるので、これは便利のためのみである。ここで用いられたような「含む」、「有する」、及び「備える」との語は、広範囲にかつ包括的に解釈されるべきであり、あらゆる物理的な相互接続に制限されない。その上、本明細書に開示されたあらゆる実施例は、唯一可能な実施例と解されるべきではない。
他の実施例は当業者に見出され、特許請求の範囲内にある。
この出願は、2001年11月30日に出願されたSteinらによるGF2−ALUというタイトルのシリアル番号60/334,662(AD−239J)、2001年12月18日に出願されたSteinらによるGALOIS FIELD MULTIPLY ADD (MPA) USING GF2-ALUというタイトルのシリアル番号60/341,635(AD−229J)、2001年12月18日に出願されたSteinらによるMETHOD FOR DATA ENCRYPTION STANDARD (DES) USING GF2-ALU AND 8 WAY PARALLEL LUTというタイトルのシリアル番号60/341,711(AD−297J)、2001年11月30日に出願されたSteinらによるGALOIS FIELD MULTIPLIER SYSTEMというタイトルのシリアル番号60/334,510(AD−240J)の米国仮出願の優先権を主張する。
11 出力レジスタ
12 乗算回路
18 ガロア拡大体線形変換器回路
19 ガロア拡大体加算回路
20 記憶回路

Claims (6)

  1. ガロア拡大体の係数を有する第1多項式および第2多項式の乗算である出力多項式の各係数を出力するために使用される複数の係数乗算手段(30)および係数加算手段(32)を有する乗算回路(12)と、
    各セルが使用可能にされるか否かを示す使用可否値を記憶する記憶回路(20)と、
    複数のセル(35)を有し、前記出力多項式の各係数と、ガロア拡大体の係数を有する第3多項式の各係数と、前記使用可否値とを受信し、かつ、前記出力多項式を既約多項式で割ることによって結果として生じる剰余と前記第3多項式との和の係数を決定するガロア拡大体線形変換器回路(18)と
    を具備し、
    係数乗算手段(30)の各々は、第1多項式の係数と第2多項式の係数とを、予め決定された組み合わせで乗算し、
    係数加算手段(32)の各々は、前記出力多項式の各係数を決定するために、前記係数乗算手段(30)の出力値を加算し、
    各セル(35)は、前記出力多項式における各係数の順番で連結され、かつ、イネーブル手段(36)と乗算値加算手段(38)とを有し、
    各イネーブル手段(36)は、前のセルの出力値とセルが使用可能にされるか否かを示す使用可否値とに関して、AND演算操作を実行し、
    各乗算値加算手段(38)は、該乗算値加算手段のセルと同じセル内のイネーブル手段(36)の出力値と該乗算値加算手段を有するセルと結合された前のセルの出力値とを加算し、それによって、加算結果を次のセルへ提供し、
    前記各セルの最終段から前記剰余又は該剰余と前記第3多項式の和の係数を出力する
    ことを特徴とするガロア拡大体積算/積算加算/積和演算装置。
  2. 前記第3多項式は加法単位元の多項式であることを特徴とする請求項1に記載のガロア拡大体積算/積算加算/積和演算装置。
  3. 前記乗算回路の積は、前記第3多項式として再帰的にフィードバックされ、前記加算回路は、積和演算操作を実行することを特徴とする請求項1に記載のガロア拡大体積算/積算加算/積和演算装置。
  4. 前記乗算の積は、第1出力レジスタに引き渡され、積算加算/積和演算の結果は、第2出力レジスタに引き渡されることを特徴とする請求項1に記載のガロア拡大体積算/積算加算/積和演算装置。
  5. 前記ガロア拡大体線形変換器回路は、1サイクルで前記第3多項式を第1及び第2の積と組み合わせるための、前記乗算値加算手段に結びつけられた複数の加算セルを含むことを特徴とする請求項1に記載のガロア拡大体積算/積算加算/積和演算装置。
  6. 前記ガロア拡大体線形変換器回路は、加算操作を無効にするために前記第3多項式を前記第1及び第2多項式の積へ加えることを阻止するための、前記加算セルのそれぞれに結びつけられたゲートを含むことを特徴とする請求項5に記載のガロア拡大体積算/積算加算/積和演算装置。
JP2011033194A 2001-11-30 2011-02-18 ガロア拡大体・積算/積算加算・積和演算装置 Expired - Fee Related JP5266354B2 (ja)

Applications Claiming Priority (16)

Application Number Priority Date Filing Date Title
US33466201P 2001-11-30 2001-11-30
US33451001P 2001-11-30 2001-11-30
US60/334,662 2001-11-30
US60/334,510 2001-11-30
US34163501P 2001-12-18 2001-12-18
US34171101P 2001-12-18 2001-12-18
US60/341,635 2001-12-18
US60/341,711 2001-12-18
US10/051,533 US6587864B2 (en) 2001-11-30 2002-01-18 Galois field linear transformer
US10/051,533 2002-01-18
US10/060,699 2002-01-30
US10/060,699 US6766345B2 (en) 2001-11-30 2002-01-30 Galois field multiplier system
US10/170,267 US7283628B2 (en) 2001-11-30 2002-06-12 Programmable data encryption engine
US10/170,267 2002-06-12
US10/228,526 US7082452B2 (en) 2001-11-30 2002-08-26 Galois field multiply/multiply-add/multiply accumulate
US10/228,526 2002-08-26

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003550046A Division JP4732688B2 (ja) 2001-11-30 2002-12-02 ガロア拡大体・積算/積算加算・積和演算

Publications (2)

Publication Number Publication Date
JP2011146052A JP2011146052A (ja) 2011-07-28
JP5266354B2 true JP5266354B2 (ja) 2013-08-21

Family

ID=27539940

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003550046A Expired - Fee Related JP4732688B2 (ja) 2001-11-30 2002-12-02 ガロア拡大体・積算/積算加算・積和演算
JP2011033194A Expired - Fee Related JP5266354B2 (ja) 2001-11-30 2011-02-18 ガロア拡大体・積算/積算加算・積和演算装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2003550046A Expired - Fee Related JP4732688B2 (ja) 2001-11-30 2002-12-02 ガロア拡大体・積算/積算加算・積和演算

Country Status (7)

Country Link
US (1) US7082452B2 (ja)
EP (1) EP1456745B1 (ja)
JP (2) JP4732688B2 (ja)
CN (1) CN100480986C (ja)
AT (1) ATE475136T1 (ja)
DE (1) DE60237108D1 (ja)
WO (1) WO2003048921A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269615B2 (en) * 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
US7283628B2 (en) * 2001-11-30 2007-10-16 Analog Devices, Inc. Programmable data encryption engine
US6766345B2 (en) 2001-11-30 2004-07-20 Analog Devices, Inc. Galois field multiplier system
US7177891B2 (en) * 2002-10-09 2007-02-13 Analog Devices, Inc. Compact Galois field multiplier engine
US7895253B2 (en) 2001-11-30 2011-02-22 Analog Devices, Inc. Compound Galois field engine and Galois field divider and square root engine and method
US7508937B2 (en) * 2001-12-18 2009-03-24 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
US6941446B2 (en) * 2002-01-21 2005-09-06 Analog Devices, Inc. Single instruction multiple data array cell
US7000090B2 (en) * 2002-01-21 2006-02-14 Analog Devices, Inc. Center focused single instruction multiple data (SIMD) array system
US6865661B2 (en) 2002-01-21 2005-03-08 Analog Devices, Inc. Reconfigurable single instruction multiple data array
US7447310B2 (en) * 2002-08-06 2008-11-04 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Lean multiplication of multi-precision numbers over GF(2m)
US7401109B2 (en) * 2002-08-06 2008-07-15 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Multiplication of multi-precision numbers having a size of a power of two
US7421076B2 (en) * 2003-09-17 2008-09-02 Analog Devices, Inc. Advanced encryption standard (AES) engine with real time S-box generation
CN1333331C (zh) * 2004-01-29 2007-08-22 海信集团有限公司 8位模多项式乘法器电路
KR100640601B1 (ko) * 2004-10-05 2006-11-01 삼성전자주식회사 수직 자기 기록매체가 재생하는 코드 워드의 에러 이벤트발생 유무 검출방법 및 장치
US20060107027A1 (en) * 2004-11-12 2006-05-18 Inching Chen General purpose micro-coded accelerator
US7512647B2 (en) * 2004-11-22 2009-03-31 Analog Devices, Inc. Condensed Galois field computing system
WO2006120691A1 (en) * 2005-05-06 2006-11-16 Analog Devices Inc. Galois field arithmetic unit for error detection and correction in processors
CN101739233B (zh) * 2008-11-11 2012-08-29 财团法人工业技术研究院 半循序输入的伽罗瓦乘法器与其执行方法
CN101650644B (zh) * 2009-04-10 2012-07-04 北京邮电大学 一种伽罗华域乘法器实现装置
RU2475810C2 (ru) * 2011-02-17 2013-02-20 Российская Федерация в лице Министерства промышленности и торговли РФ УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ КОЭФФИЦИЕНТОВ БУЛЕВЫХ ПРЕОБРАЗОВАНИЙ НАД ПОЛЕМ ГАЛУА GF(2n)
US8504845B2 (en) 2011-03-30 2013-08-06 Apple Inc. Protecting states of a cryptographic process using group automorphisms
GB2490914B (en) * 2011-05-17 2015-12-09 Aptcore Ltd Signal processing apparatus
CN103853523B (zh) * 2012-11-30 2017-05-31 北京兆易创新科技股份有限公司 一种伽罗瓦域的加法乘法器
US9804840B2 (en) 2013-01-23 2017-10-31 International Business Machines Corporation Vector Galois Field Multiply Sum and Accumulate instruction
US9715385B2 (en) 2013-01-23 2017-07-25 International Business Machines Corporation Vector exception code
US9513906B2 (en) 2013-01-23 2016-12-06 International Business Machines Corporation Vector checksum instruction
US9471308B2 (en) 2013-01-23 2016-10-18 International Business Machines Corporation Vector floating point test data class immediate instruction
US9778932B2 (en) 2013-01-23 2017-10-03 International Business Machines Corporation Vector generate mask instruction
US9823924B2 (en) 2013-01-23 2017-11-21 International Business Machines Corporation Vector element rotate and insert under mask instruction
US9417848B2 (en) * 2014-03-28 2016-08-16 Storart Technology Co. Ltd. Serial multiply accumulator for galois field
CN107381555B (zh) * 2017-08-09 2018-09-25 华中科技大学 一种结构可控的三维石墨烯及其复合材料的制备方法
US20210279055A1 (en) * 2020-03-03 2021-09-09 Nvidia Corporation Technique for performing bit-linear transformations
US20230305846A1 (en) * 2022-03-24 2023-09-28 Intel Corporation Processor hardware and instructions for vectorized fused and-xor

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1181461B (de) 1963-10-08 1964-11-12 Telefunken Patent Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
US3805037A (en) 1972-02-22 1974-04-16 J Ellison N{40 th power galois linear gate
JPS54151339A (en) * 1978-05-19 1979-11-28 Nec Corp Exclusive logical sum array
JPH0680491B2 (ja) * 1983-12-30 1994-10-12 ソニー株式会社 有限体の演算回路
JPH0778748B2 (ja) * 1984-04-11 1995-08-23 三菱電機株式会社 ガロア体演算ユニット
JPS62500326A (ja) * 1984-09-28 1987-02-05 モトロ−ラ・インコ−ポレ−テッド 単サイクル乗算/累算用デジタル信号処理装置
US4722050A (en) 1986-03-27 1988-01-26 Hewlett-Packard Company Method and apparatus for facilitating instruction processing of a digital computer
US4918638A (en) 1986-10-15 1990-04-17 Matsushita Electric Industrial Co., Ltd. Multiplier in a galois field
FR2605769B1 (fr) 1986-10-22 1988-12-09 Thomson Csf Operateur polynomial dans les corps de galois et processeur de traitement de signal numerique comportant un tel operateur
JPS63132532A (ja) * 1986-11-25 1988-06-04 Ricoh Co Ltd 拡張ガロア体上の多項式除算回路
JPS63282777A (ja) * 1987-03-04 1988-11-18 株式会社リコー モジュロ演算プロセッサチップ
US4847801A (en) 1987-10-26 1989-07-11 Cyclotomics, Inc. Compact galois field multiplier
FR2628862B1 (fr) * 1988-03-17 1993-03-12 Thomson Csf Multiplieur-additionneur parametrable dans les corps de galois, et son utilisation dans un processeur de traitement de signal numerique
US5101338A (en) 1988-04-27 1992-03-31 Nec Corporation Memory access control device which can be formed by a reduced number of lsi's
US5095525A (en) 1989-06-26 1992-03-10 Rockwell International Corporation Memory transformation apparatus and method
US5214763A (en) 1990-05-10 1993-05-25 International Business Machines Corporation Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism
JPH0659686B2 (ja) 1990-10-29 1994-08-10 ダイアホイルヘキスト株式会社 コンデンサー用二軸配向ポリエステルフィルム
US5446850A (en) 1991-01-15 1995-08-29 International Business Machines Corporation Cross-cache-line compounding algorithm for scism processors
US5386523A (en) 1992-01-10 1995-01-31 Digital Equipment Corporation Addressing scheme for accessing a portion of a large memory space
US5379243A (en) 1992-08-31 1995-01-03 Comstream Corporation Method and apparatus for performing finite field division
KR0135846B1 (ko) 1994-02-02 1998-06-15 김광호 룩-업-테이블장치
US5642367A (en) * 1994-02-07 1997-06-24 Mitsubishi Semiconductor America, Inc. Finite field polynomial processing module for error control coding
US5832290A (en) 1994-06-13 1998-11-03 Hewlett-Packard Co. Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems
US5689452A (en) 1994-10-31 1997-11-18 University Of New Mexico Method and apparatus for performing arithmetic in large galois field GF(2n)
US5754563A (en) 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
US5768168A (en) 1996-05-30 1998-06-16 Lg Semicon Co., Ltd. Universal galois field multiplier
US5996066A (en) 1996-10-10 1999-11-30 Sun Microsystems, Inc. Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions
US6078937A (en) 1996-12-19 2000-06-20 Vlsi Technology, Inc. Barrel shifter, circuit and method of manipulating a bit pattern
GB9627069D0 (en) 1996-12-30 1997-02-19 Certicom Corp A method and apparatus for finite field multiplication
US6199096B1 (en) * 1997-03-14 2001-03-06 Efusion, Inc. Method and apparatus for synchronizing information browsing among multiple systems
US6002728A (en) 1997-04-17 1999-12-14 Itt Manufacturing Enterprises Inc. Synchronization and tracking in a digital communication system
GB9707861D0 (en) 1997-04-18 1997-06-04 Certicom Corp Arithmetic processor
JP3850511B2 (ja) * 1997-05-07 2006-11-29 日本テキサス・インスツルメンツ株式会社 リードソロモン復号装置
US6199086B1 (en) 1997-12-24 2001-03-06 Motorola, Inc. Circuit and method for decompressing compressed elliptic curve points
US6223320B1 (en) 1998-02-10 2001-04-24 International Business Machines Corporation Efficient CRC generation utilizing parallel table lookup operations
US5999959A (en) 1998-02-18 1999-12-07 Quantum Corporation Galois field multiplier
US6138208A (en) 1998-04-13 2000-10-24 International Business Machines Corporation Multiple level cache memory with overlapped L1 and L2 memory access
US5996057A (en) 1998-04-17 1999-11-30 Apple Data processing system and method of permutation with replication within a vector register file
KR100296958B1 (ko) 1998-05-06 2001-09-22 이석우 블록 데이터 암호화 장치
US6199087B1 (en) 1998-06-25 2001-03-06 Hewlett-Packard Company Apparatus and method for efficient arithmetic in finite fields through alternative representation
JP2001055640A (ja) * 1999-06-09 2001-02-27 Toray Ind Inc ポリフェニレンサルファイドよりなる繊維資材および衣料
FR2796736B1 (fr) * 1999-07-20 2001-11-30 St Microelectronics Sa Procede pour effectuer une multiplication avec accumulation dans un corps de galois
JP3534004B2 (ja) * 1999-08-25 2004-06-07 馨 黒澤 演算装置
US6434662B1 (en) 1999-11-02 2002-08-13 Juniper Networks, Inc. System and method for searching an associative memory utilizing first and second hash functions
JP2001194996A (ja) * 2000-01-11 2001-07-19 Toyo Commun Equip Co Ltd 多項式の除算装置
US6384713B1 (en) 2000-04-21 2002-05-07 Marvell International, Ltd. Serial comparator
GB0023409D0 (en) 2000-09-22 2000-11-08 Integrated Silicon Systems Ltd Data encryption apparatus
ATE286636T1 (de) 2001-03-27 2005-01-15 Amphion Semiconductor Ltd Vorrichtung zur wählbaren ver- bzw. entschlüsselung von daten
US6738794B2 (en) 2001-04-10 2004-05-18 Analog Devices, Inc. Parallel bit correlator
US6766345B2 (en) 2001-11-30 2004-07-20 Analog Devices, Inc. Galois field multiplier system
US7283628B2 (en) 2001-11-30 2007-10-16 Analog Devices, Inc. Programmable data encryption engine
US6587864B2 (en) 2001-11-30 2003-07-01 Analog Devices, Inc. Galois field linear transformer
US7177891B2 (en) * 2002-10-09 2007-02-13 Analog Devices, Inc. Compact Galois field multiplier engine
US7269615B2 (en) 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
US7508937B2 (en) 2001-12-18 2009-03-24 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
US6865661B2 (en) 2002-01-21 2005-03-08 Analog Devices, Inc. Reconfigurable single instruction multiple data array
US7000090B2 (en) 2002-01-21 2006-02-14 Analog Devices, Inc. Center focused single instruction multiple data (SIMD) array system
US6941446B2 (en) 2002-01-21 2005-09-06 Analog Devices, Inc. Single instruction multiple data array cell
US6829694B2 (en) 2002-02-07 2004-12-07 Analog Devices, Inc. Reconfigurable parallel look up table system

Also Published As

Publication number Publication date
CN1608244A (zh) 2005-04-20
EP1456745B1 (en) 2010-07-21
US20030110196A1 (en) 2003-06-12
JP2005512184A (ja) 2005-04-28
ATE475136T1 (de) 2010-08-15
US7082452B2 (en) 2006-07-25
WO2003048921A1 (en) 2003-06-12
DE60237108D1 (de) 2010-09-02
JP4732688B2 (ja) 2011-07-27
EP1456745A4 (en) 2006-09-27
CN100480986C (zh) 2009-04-22
EP1456745A1 (en) 2004-09-15
JP2011146052A (ja) 2011-07-28

Similar Documents

Publication Publication Date Title
JP5266354B2 (ja) ガロア拡大体・積算/積算加算・積和演算装置
JP5866128B2 (ja) 算術プロセッサ
EP1449063B1 (en) Galois field multiplier system
JP4870932B2 (ja) 多重精度を支援する拡張型モンゴメリモジュラ掛け算器
EP2283417B1 (en) Implementation of arbitrary galois field arithmetic on a programmable processor
CN110351087B (zh) 流水线型的蒙哥马利模乘运算方法
US7599981B2 (en) Binary polynomial multiplier
JP4408712B2 (ja) 多倍長データ積和演算処理回路及びモンゴメリ積和剰余演算回路
Javeed et al. FPGA based high speed SPA resistant elliptic curve scalar multiplier architecture
Niasar et al. Optimized architectures for elliptic curve cryptography over Curve448
Imran et al. An area aware accelerator for elliptic curve point multiplication
JP4180024B2 (ja) 乗算剰余演算器及び情報処理装置
US7240204B1 (en) Scalable and unified multiplication methods and apparatus
JP4823467B2 (ja) ガロア体からの二つの係数を乗算するための方法及びこの方法を遂行するための乗算器
Zeghid et al. Speed/area-efficient ECC processor implementation over GF (2 m) on FPGA via novel algorithm-architecture co-design
JP2006023647A (ja) 乗算剰余演算器及び情報処理装置
JP2001034167A (ja) 演算装置及び暗号処理装置
JP2000207387A (ja) 演算装置及び暗号処理装置
TW201802666A (zh) 非模數乘法器、用於非模數乘法的方法及計算裝置
KR20040045152A (ko) 모듈러 곱셈 장치
Gopi et al. 128 Bit unsigned multiplier design and implementation using an efficient SQRT-CSLA
Shirase et al. An architecture for elliptic curve cryptograph computation
Yang et al. An optimized scalable and unified hardware structure of Montgomery multiplier
Tanimura et al. Scalable unified dual-radix architecture for Montgomery multiplication in GF (P) and GF (2 n)
JPH0612236A (ja) 整数上の乗算回路及び乗算方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130502

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees