JP2744091B2 - 有限体の乗法的逆数元を計算するデータ処理方法及び装置 - Google Patents

有限体の乗法的逆数元を計算するデータ処理方法及び装置

Info

Publication number
JP2744091B2
JP2744091B2 JP1269241A JP26924189A JP2744091B2 JP 2744091 B2 JP2744091 B2 JP 2744091B2 JP 1269241 A JP1269241 A JP 1269241A JP 26924189 A JP26924189 A JP 26924189A JP 2744091 B2 JP2744091 B2 JP 2744091B2
Authority
JP
Japan
Prior art keywords
reciprocal
vector
quadratic
finite
input
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 - Lifetime
Application number
JP1269241A
Other languages
English (en)
Other versions
JPH02148225A (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
Application filed by フィリップス エレクトロニクス ネムローゼ フェンノートシャップ filed Critical フィリップス エレクトロニクス ネムローゼ フェンノートシャップ
Publication of JPH02148225A publication Critical patent/JPH02148225A/ja
Application granted granted Critical
Publication of JP2744091B2 publication Critical patent/JP2744091B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • 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
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7209Calculation via subfield, i.e. the subfield being GF(q) with q a prime power, e.g. GF ((2**m)**n) via GF(2**m)

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明はガロア体元GF(qm)をベクトル表現で供給す
る際このガロア体元の乗法逆数を計算する方法、特にデ
ータ処理方法に関するものである。
(従来の技術) 上記ガロア体元GF(qm)のqは指数乗された素数であ
り、通常絶対的ではないがQ=21=2とする。多くの用
途に対し、mは偶数とし、しばしばm=8とする。従っ
て、かかる計算は、リードソロモン符号、高速フーリエ
変換等による如き、暗号、誤り防護の目的バイト状デー
タ処理を表わす。従って、このデータは、“コンパクト
ディスク”又は“ディジタルオーディオテープ”記録サ
ンプルを2バイト又は測定結果により構成するビデオデ
ータ又はオーディオデータに相当する。この種の方法の
文献としては米国特許第4578627号明細書がある。
(発明が解決しようとする課題) 以下ガロア体における基本的特性及び計算演算は通常
既知であるものとする。一般に、任意のガロア体元は、
28の種々の可能な入力組合せの各々に対して8ビット出
力が必要であるものとする限りではGF(28)のような相
当な体に対してハードウエアの著しく拡大された量を必
要とする変換テーブル(PROM又はROM)によって反転さ
せることができる。例えばプログラムされたプロセッサ
を用いる他の方法は、大きなパイプライン処理、従って
著しく計算遅延を必要とする。
本発明は部分体の概念を用い、特に主有限体の部分体
の逆数によって有限体、主有限体のベクトル表現された
元の乗法的逆数を計算する。この有限体GF(qm)には、
m=rn(本発明では1例としてr=2とする)の場合
に、部分体としてGF((qn)を含むようにする。しか
し、本発明の原理はrを他の値に適用し得ることであ
る。部分体上の主有限体の指標をrとする。主有限体の
部分体の関連する演算よりも少いベクトル係数で部分体
の計算を行う限りにおいては、部分体の計算は容易及び
/又は迅速となる。
本発明は縮小の1部分を成す二次形式を標準形式に有
効に組合せることにより部分体、特に指標2の部分体に
逆数を用いることにより制限されたハードウエアの要求
で迅速に作動する有限体で乗法的逆数元を計算するデー
タ処理方法及び装置を提供することを目的とする。
(課題を解決するための手段) 本発明は有限主体が部分体よりも二次的に大きな数の
元を含むように指標2の部分体を含む有限主体の入力元
の乗法的逆数を計算するに当り、 a)第1集合のベクトル成分(X0,X1,…X2n-1)、
(nは有限主体の大きさを示す)で表わされる入力元X
を受け、 b)この第1集合のベクトル成分から第2集合の一次形
式Lij(X)(ここにi=0,…,n−1,及びj=1,…,2n)
と、第3集合のマトリックス構成一次形式Wlk(X)、
(ここにl=0,2n-1,k=0…,n−1)とをこれら成分の
選択排他的OR処理によって発生し、 c)第3集合の二次形式を発生する体状乗算によって前
記第2集合の元を対状に組合せると共に排他的OR処理に
よりかかる二次形式を組合せて前記部分体の関連する他
のベクトル係数Q0(X),…,Qn-1(X)を表わすもの
として第4集合の二次形式を発生させ、 d)前記部分体において前記他のベクトル係数により表
わされる部分ベクトルを逆数部分ベクトルに変換し、 e)前記逆数部分ベクトルの元を前記第3集合の一次形
式の個別の元により乗算してこの乗数により得られた積
の加算と相俟って乗法逆数の成分を発生することを特徴
とする。
又、本発明はベクトル表現で受信された主ガロア体の
入力元の乗法的逆数を計算する装置に関するものであ
る。斯る装置によって“コンパクトディスク”デコーダ
その他データ処理装置のサブシステムを表わすことがで
きる。
本発明装置は、指標2の部分体を含み、前記有限主体
の大きさ2nが前記部分体よりも二次的に大きな数の元を
含み、前記入力元からその乗法逆数元を計算する主有限
体の入力元を受信する装置において、 a)ベクトル表現(X0,…,X2n-1)の入力元を受信す
る入力端子(20)と、 b)この入力端子により供給されベクトル表現に基き、
2進一次形式Lij(X)(i=0,…,n−1及びj=1,…,
2n)の第1アレイを第1出力端子(24)に発生すると共
に2進一次形式Wlk(X)の第2マトリックスアレイを
第2出力端子(26)に発生する一次形式発生器(22)
と、 c)前記第1出力端子により供給され、体乗法で前記第
1アレイの元を合成アレイに対状に組合せると共にこの
合成アレイを排他的OR処理して前記部分体において第2
ベクトル表現された二次形式Q0(X),…,Qn-1(X)
の第3アレイを発生する二次形式発生器(28)と、 d)この二次形式発生器により供給され、前記第2ベク
トル表現の二次形式の第3アレイを受けてこれを前記部
分体で逆数部分ベクトルに反転する反転器(30)と、 e)この反転器により供給される逆数部分ベクトルを受
けると共に前記一次形式発生器の第2出力端子により供
給される第2マトリックスアレイを受けて前記逆数部分
ベクトルの成分を前記一次形式の第3集合の各元で乗算
し、且つ前記乗算逆数の前記乗算成分により得られた積
と加算して前記乗法逆数の元を発生するマトリックスエ
バリュエータ(32)とを具えることを特徴とする。
(実施例) 以下、本発明を先ずはその数学的見地について、つい
で順次の演算課程及びハードウェア回路について、最後
に図面を参照して特定例について詳細に説明する。
本発明の数学的形式化 簡単なために、本発明を有限体GF(2m)(ここにm=
2n)について説明する。この場合にはq=3によってビ
ットの代りに3値元となり、これらの元は原則として従
来の論理回路によって実現することができる。有限主体
GF(2m)はm=8の場合に例えば生成多項式g(X)=
X8+X4+X3+X2+1を有する。この多項式の元は標準基
数(1,d,…d7)に対して表わされ、g(d)=0の解に
よって与えられる。本発明の出発点は式、即ちX-1=(X
2n+1)-1・X2nを用いてX・X-1によりGF(2m)にて求め
た元Xの乗法逆数元X-1を計算することにある。なお、
上式の( )内は部分体の元であるが、Xは有限主体の
元である。
GF(2m)からGF(2)までのGF(2m)にわたる一次形
式L(X)の関数をL(X)=L0・X0+L1・X1+…+L
m-1・Xm-1と規定する。ここに規定したような一次形式
はXのベクトル表現の選択係数のモジュロ2加算値であ
る。GF(2m)〜GF(2)までのGF(2m)における二次形
式Q(X)はつぎのような関数として規定される。即
ち、 ここにCi,aij E GF(2)である。なお、−E−は
「或る元」を意味する。従って、上述したように規定さ
れる二次形式はXのベクトル表現の選択係数と、選択し
たANDED係数対とのモジュロ2加算値である。概略同じ
ような方法で高次形式を規定することができる。
そこで、L(X)=X2n及びQ(X)=X2n+1(ここに
X E GF(2m=2n)である)に対するL(X)は、或る標
準化協定に従って固定化した標準基数を必要としないGF
(2m)における或る基数に対しL(X)=(L0(X),
…Lm-1(X))として書き表わすことができる。ここ
に、各係数Li(X)は一次形式である。実際上、X,YE G
F(2m)に対してはXY+XY=0であり、又(X+Y)2n=X2n
+Y2nであるため、(X+Y)2=X2+2XY+Y2=X2+Y2であ
る。従って、XからL(X)までの遷移部は一次演算と
なり、各Li(X)は一次形式である。
そこで、X E GF(2m)に対して、Q(X)はGF(2n
内にある。実際上、GF(2m)の成分XはX2m=Xを満足
する。さらに、GF(2n)=GF(2m)の元YはY2n=Yを
満足する元そのものである。ところで、(Q(X))2n=X
2 2n+2n=X2 2n・X2n=X・X2n=Q(X)である。GF
(2n)における基数b0,b1…bn-1に対するQ(X)はQ
(X)=(Q0(X),Q1(X),…Qn-1(X))と書き
表わすことができ、これから係数の値に影響を及ぼす基
数を選定する。
この場合の各係数Qj(X)は二次形式のものである。
実際上、B(X,Y)=Q(X+Y)+Q(X)+Q
(Y)に対する係数はB(X,Y)=(X2n+Y2n)(X+
Y)+X2n+1+Y2n+1=X2n・Y+X・Y2n=L(X)・Y
+X・L(Y)となるため、B(X,Y)は正に双線形演
算を規定する。このことはQj(X)についての先の説明
を立証明することになる。
一次及び二次形式Lj(X),Qk(X)の表現の求め方 GF(2m)における所定の基数α0…αm-1及びGF(2n
における基数β0…βn-1に対する先に述べた一次形式Li
(X),i=0…m−1及び二次形式Qj(X),j=0…n
−1の表現を計算するには簡単な方法がある。従って、
このような計算はコンピュータプログラムによって自動
的に行なうことができる。
全てのi,jに対し、αi・αj 2n+αi 2n・αj E GF
(2n);αi 2n+1E GF(2n);αi 2nE GF(2m)となる。
これに対して、全てのi,jに対する所定数Cij,bij,aij
k E GF(2)に対しては、 及び となる。これがためつぎのようになる。
及び この結果としてつぎのようになる。
(k=0,…n−1) 上式からして、そのように規定される二次形式はより
一層取扱い易い表現で書き表わすことができる。この
際、M(X,Y)を考察するに、これは(X2n・Y)として
規定され、ここにX E GF(2m)及びY E GF(2n)であ
る。又、 である。従って、 となり、 と表わすことができる。従って、次式が成立する。
とすると、 Wlk(X)がGF(2m)全体にて一次形式となることを証
明することができる。従って、M(X,Y)は成分(0…
m−1)、即ち を有する。この際、GF(2m)からGF(2)までの関数L
(X)は、L(X)そのものか、又は1+L(X)が一
次形式のものである場合には本来一次関数であると称す
る。従って、つぎのようなことが成立することがわか
る。GF(2m)における二次形式とすべきQ(X)に対し
ては、このQ(X)に必要とされるような一次形式の必
要数2kをGF(2m)におけるQ(X)の0の数だけで決定
する場合の Q(X)=L1(X)・L2(X)+L2(X)・L3(X)+
…+ L2k-1(X)・L2k(X),又はL1(X)…L2k(X)
+1のような本来一次形式Li(X)を求めることができ
る。二次形式Qi(X)の数は1+(2n+1)(2n-1
1)に等しくなり、しかもその数は実際に用いるGF(2
2n)における基数(αj)及びGF(22)における基数
(βj)に無関係であることを確かめた。実際上、この
ような0はx2n+1=y2n+1の場合に生成され、この場合に
はX=Y=0か、又は(X/Y)2n+1=1のいずれかであ
る。GF(2m)における原始元をαとする場合には、式Z
2n+1=1はj=0,…2nに対して確実に2n+1個の解Zj
αj(2n-1)を有する。従って、Q(X)=X2n+1は0の2
n+1倍正確に異なる各値をとる。
Q(X)E GF(2n)であるため、GF(22n)は22n個の元
を有し、又GF(2n)は2n個の元を有し、Q(X)は0の
2n+1倍確実に異なるGF(2n)における各値をとり、一旦
は正確に値0Jなる。そこで、YがGF(2n)の全ての元に
及ぶ場合には或る固定の基数に対するYの各係数は対称
性の理由からして、事例の数の半分は確実に0となる。
従って、GF(2n)における全ての非ゼロ元のいずれの特
定係数も確実に0の2n-1−1倍となる。
二元形式Qi(X)の表現に必要な本質的な一次形式の
数2KはGF(2n)上の1つの二次形式Q(X)内の零の
数、即ち1+(2k+1)+(2k-1−1)により決まる。
これがため本質的な一次形式は次の如き二次形式を与え
る。Qi(X)=Li,1(X)・Li,2(X)+…+Li,2n-1
(X)・Li,2n(X) 一連の課程として公式化された結果の要約 以上に従って、乗法逆数は次のように計算する。
X-1=X2n+1・X2n ここに、L(X)=X2nE GF(2m) Q(X)=X2n+1E GF(2n) 最初に、2つの基数、即ち GF(2m):α0,α1,…α2n-1 GF(2n):β0,β1,…βn-1 を選択する。特に、第2の基数の選択は任意である。第
1の基数で表わすと、L(X)=((L0(X),…,L
2n-1(X))になり、ここで係数は一次形式であるが、
明確に計算されない。更に、Q(X)=(Q0(X),
…,Qn-1(X))になり、ここで係数は二次形式であ
る。基数は第2ガロア体に対し自由に選択することがで
きる点に注意されたい。
今、第1の目的は部分体GF(2n)内のQ(X)の逆数
であるR(X)=(R0(X),…,Rn-1(X))を計算
することにある。この場合には次の積を計算する。
一次形式 を定義する。これらは特に計算する必要のある一次形式
である。
要するに、求めるべき逆数量の第k成分は で与えられる。ここでRj(X)(j)からQj(X)
(j)を発生させる必要がある。前述したところから、 であること明らかである。ここにおいて、量Lj,…は一
次形式である。次に、次の量を発生させる必要がある。
s=0…2n-1,j=0…n−1に対するLjs(X) k=0…2n-1,j=0…n−1に対するWjk(X) 後記の実施例に示すように、これらの計算の所定の部
分を結合することができる。次に、量Qj(X)を形成
し、これと一緒に量Q(x)を発生させる。斯る後に、
Q(X)の逆数(R(X)と称す)を部分体内でその係
数Rj(X)を用いて計算する。この計算は一般に古典的
方法で行なわれる。或は又、逆数の部分体を二次部分体
内の他の逆数に分割することができる。最後に、主体内
の逆数の係数はX -1Kの表示により与えられる。
ハードウエアの実施例の説明 第1図は本発明装置の基本ブロック図である。第1レ
ベルでは種々のサブシステムがブロックとして示されて
いるにすぎない。これらのサブシステムは、HIFIオーデ
ィオコンパクトディスクシステムに対し定義されてい
る、クロスインターリーブリードソロモン符号に基づく
誤り訂正を行なう単一ガロア体を超高速演算するハード
ウエアロジックとしても、或いは他の信号処理用のハー
ドウエアロジックとしても実現することができる。或は
又、種々のブロックを8ビットマイクロプロセッサのよ
うな一般に応用し得るプロセッサブロックのプログラム
制御によって実現することができる。後者の場合には複
数の機能の間で種々のブロックの時分割使用を実行し、
チップ面積を減少させることができると共に、他の利点
も得ることができる。処理能力対演算速度は矛盾すると
考えられること勿論である。後者の実現法は更に主体内
の直接逆数に必要とされる長いパイプライン方式に改善
を示す。更に、単一主ガロア体のみにおける演算に対す
るあらからさまな制限が存在せず、種々の体の交換及び
/又は対応する体に対する種々の基数の交換を完全に実
行することができる。簡単のために、斯る標準構成ブロ
ックのこれ以上の説明は省略する。
さて、第1図の回路において、入力端子20は2nビット
の入力量を並列に搬送する。ブロック22において一次形
式Lij(X)及びWlk(X)の計算が行なわれ、2n2個の
一次形式を発生する。ワイルドロジックの場合には、装
置のゲート深さを最大で(1+K)とする(ここでK=
21ogn又はその次の整数)。従ってコンパクトディスク
に対してはK=3である。以上では量L及びWの計算を
結合する効果は考えてない。一次形式Lij(X)はブロ
ック24に至る相互接続ライン24に出力され、一次形式W
lk(X)はブロック32へと直接至る相互接続ライン26に
出力される。相互接続ライン24,26のビット幅は明示し
てない。
ブロック28において、一次形式がペアに組合わされ、
加算されて量Qi(X)を発生し(ここでi=0…n−
1)、すべての加算はモジュロ2加算で実行される。こ
れは1+Kのロジックゲート深さに対し全部でn2のAND
演算とn(n−1)のXOR演算を必要とする。その結果
はnビット幅量としてブロック30に出力される。
ブロック30において逆数量R(X)=Q(X)-1が部
分体GF(2n)内で、例えばプログラムドテーブルメモリ
を用いて計算される。その結果はnビット幅量としてブ
ロック32に出力される。
ブロック32は部分体内の逆数を受信すると共に一次形
式Wlk(X)も受信して次式:X -1 l=Wl(X)・R0(X)=R0(X)・Wlo(X)+… +Rn-1(X)・Wln-1(X) を計算する(ここでl=0…2n-1)。この演算は(K+
1)の総合ロジックゲート深さに対して全部で2n2のAND
演算と2n(n−1)のXOR演算を必要とする。従ってXOR
演算の総数は8n3−n2−3nであり、これはnの合理的な
値(4)に対しては約8n3になる。更に3n2のAND演算
の構造が著しく簡単であるためにかなり無視することが
できる。総合ロジックゲート深さは3+3Kである。
上述の変換の構造は固定することができるが、精密な
実現に関してはなおかなりの自由度がある。主体内の基
数が既に指定されている場合でも、次のオプションが存
在する。
a)GF(2n)内の基数β0…βn-1の選択。この選択は一
次形式Wlk(X)、二次形式Qi(X)及び従って一次形
式Lij(X)に影響を与える。
b)GF(2n)内の基数(β0…βn-1)の選択を定めた後
でも、本質的な一次形式の積としてのQi(X)の表現、
即ち一次形式Lij(X)の精密な公式化が選択のために
開放されている。
特に、上述した第2の方法を選択するのが有利であ
る。多くの場合、一次形式Lij(X)を選択し、各々が
(2n個の代わりに)係数の多くともn個のみを含むよう
にすることができる。この場合、論理深度が1だけ減少
され、Lij(X)を計算するXOR演算の回数が半分とな
る。更に、種々の中間結果を、量Lij(X)およびXOR演
算を更に減少させる量Wlk(X)の双方の計算に対しそ
れぞれの間で共有することができる。実際にはXOR演算
の回数は1…11/2)・n3にする必要がある。双方の基数
α及びβを自由に選択しうる場合には、正規基数を選択
することが提案される。この場合、逆数の係数の各々を
計算するのに同じハードウェアを用いることができる。
またこの場合ハードウェアの構造全体が一層規則的とな
る。或いはまた、逆数の係数を順次に計算しうる場合に
は、これら係数の各々に対し同じハードウェアを順次に
用いうる。
方法の実施例 以下に一例としてGF(24)における逆数(m=2 n
=4)を説明する。有限体GF(24)はGF(2)に亘る既
約多項式g(X)=X4+X+1によって発生させる。α
をg(X)の形式的な零とすると、α4=α+1とな
る。GF(24)における基数として(1,α,α2,α3)を
取る。この際、GF(24)はGF(22)を含む。実際GF
(22)の元は{0,1,α5,α10}として書き表わすこと
ができる。GF(22)におけるベースとして正規基数(α
5,α10)を選択する。
この際、逆数とすべきベクトルは X=(X0,X1,X2,X3)=X0+X1α+X2α2+X3α3であ
る。またQ(X)=Q0(X)α5+Q1(X)α10と書
く。これにより今必要とする2つのみの二次形式に対す
る以下の式が得られる。
Q0(X)=X0+X1+X3+X0X1+X0X2+X1X2+X1X3 Q1(X)=X0+X2+X3+X0X1+X0X2+X0X3+X2X3 ここで式Q(X)=X2+1を用い、次にこの式をその基数
元に対して解く。
この簡単な部分体では元Y1α5+Y2α10の逆数を直接Y
2α5+Y1α10として書き表わすことができる為、R
1(X)=Q0(X)及びR0(X)=Q1(X)となる。よ
り大きな部分体では逆数自体が表−ROMにより一般的な
ものとなる。ここで形式Wlk(X)を計算すると、以下
のものが得られる。
X0 -1=R0・(X2)+R1・(X0+X1+X3) Xn-1=R0・(X0+X1)+R1・(X0+X3) X2-1=R0・(X0+X2+X3)+R1・(X0) X3-1=R0・(X1+X2)+R1・(X1+X2+X3) Q0(X),Q1(X)に対する代りの式は以下の通りであ
る。
Q0(X)=1+(X0+X1)・(X2)+(▲
3)・▲▼ Q1(X)=1+▲▲)・▲▼+
(▲▼3)・(X1+X2) ここに、かっこ内の式は実質的に一次形式を表わし、上
側の横線は反転論理値を表わす。部分項は数回用いら
れ、 a1=X0+X1 a4=a1+X3=X0+X1+X3 a2=X0+X3 a5=a2+X2=X0+X2+X3 a3=X1+X2 a6=a3+X3=X1+X2+X3 によって共有しうる。
必要とするEXOR−加算の回数は前に特定した上界より
も著しく少なくなる(4n2(2n−1)=48)。
より大きな主体では、従ってより大きな関連の部分体
では、計算により多くの量が含まれ、従って必要とする
ゲートの入力端子が一層多くなり、論理深度も大きくな
る。すべてをひとまとめにして考えると、計算の原理は
同じであり、この計算は前述した一般的な処理を沿って
行なう。
好適実施例の説明 明細書末尾に示す表1A〜1Eはコンパクトディスクガロ
ア体GF(28)における逆数に対する好適実施例を表で表
わすものである。ゲートの標準の個数は4n2(2n−1)
=448個程度である。ゲートは3列で示してある。第1
例はゲートの名前を挙げており、この名前はゲートの出
力信号の名前としても用いられる。第2列はゲートの機
能を挙げている。第3列は関連のゲートの入力信号を挙
げている。表1Aの一番上の2行は入力ベクトルの8つの
成分(I7〜I0)と、入力ベクトルの乗法逆数である出力
ベクトルの8つの成分(J7〜J0)とをそれぞれ規定して
いる。
35個のD−ゲートは部分体における反転を行なう。こ
の反転はそれ自体で実際にテーブルルックアップに対応
する。この反転は入力信号として、後に説明する種々の
C信号を用い且つ反転アレイ自体で生ぜしめられる種々
の中間信号をも用いる。ゲートライブラリは本発明で用
いる以下の素子を有する。
QNOR2:2入力NORゲート QNAND2:2入力NANDゲート QIN1:1入力インバータ QIN2:大きなファンアウトを有する1入力インバータ QAND3:3入力ANDゲート QNOR3:3入力NORゲート QAND4:4入力ANDゲート QNAND3:3入力NANDゲート QXNOR:2入力排他的NORゲート QOR3:3入力ORゲート QIN3:更に大きなファンアウトを有する1入力インバー
タ QF06:4つの入力信号a1〜a4の列に対し(a1+a2+a3
a4)として表現される第1特別関数 QF08:5つの入力信号a1〜a5の列に対し(a1+a2・a3+a4
・a5)として表現される第2特別関数 ライブラリの他の素子は簡単には特定できない。
第1図のブロック22では、種々の一次形式が計算され
る。この計算はゲートN47から開始しゲートB256(或い
はゲートN5)までのゲートの組によって行なう。これら
の一次形式は排他的ORゲート、排他的NORゲート及びイ
ンバータのみである。ブロック28では、二次形式が計算
される。この計算はゲートNC01から開始しゲートC3まで
のゲートの組によって行われる。その後、必要とするベ
クトル成分C0〜C3がブロック30において処理準備完了状
態となる。部分体における反転が行なわれてベクトル成
分D0〜D3を生ぜしめた後、ブロック32において乗算が行
なわれる。この乗算はゲートNJ01から開始するゲートに
よって行なわれる。
合計のゲート数は以下の通りである。
ブロック22:76 ブロック28:32 ブロック30:35 ブロック32:64 合計:207 概説 前述した方法を以下に概説する。
最終結果はX -1kとすべきである。すなわち逆ベクト
ルのk番目の成分は となる。Rj(X)(j=0〜n−1)を得るためには、
二次形式Qj(X)(j=0〜n−1)を計算する必要が
あった。
この効果のために、 を書いた。双方のLは一次形式である。実際には一次形
式 Ljs(X) s=0〜2n−1,j=0〜n−1 WJK(X) k=0〜2n−1,j=0〜n−1 を計算した。
Qj(X)は式(B)から得られ、これによりQ(X)
を得る。Rj(X)(j=0〜n−1)はQ(X)を反転
させることにより得られる。最後にX -1kを式(A)か
ら得る。
【図面の簡単な説明】
第1図は本発明装置の構成を示すブロック回路図であ
る。 20…入力端子 22…一次形式発生器 24…第1出力端子 26…第2出力端子 28…二次形式発生器 30…反転器 32…マトリックスエバリュエータ

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】有限主体が部分体よりも二次的に大きな数
    の元を含むように指標2の部分体を含む有限主体の入力
    元の乗法的逆数を計算するに当り、 a)第1集合のベクトル成分(X0,X1,…X2n-1)、
    (nは有限主体の大きさを示す)で表わされる入力元X
    を受け、 b)この第1集合のベクトル成分から第2集合の一次形
    式Lij(X)(ここにi=0,…,n−1,及びj=1,…,2n)
    と、第3集合のマトリックス構成一次形式Wlk(X)、
    (ここにl=0,2n-1,k=0…,n−1)とをこれら成分の
    選択排他的OR処理によって発生し、 c)第3集合の二次形式を発生する体状乗算によって前
    記第2集合の元を対状に組合せると共に排他的OR処理に
    よりかかる二次形式を組合せて前記部分体の関連する他
    のベクトル係数Q0(X),…,Qn-1(X)を表わすもの
    として第4集合の二次形式を発生させ、 d)前記部分体において前記他のベクトル係数により表
    わされる部分ベクトルを逆数部分ベクトルに変換し、 e)前記逆数部分ベクトルの元を前記第3集合の一次形
    式の個別の元により乗算してこの乗算により得られた積
    の加算と相俟って乗法逆数の成分を発生することを特徴
    とする有限主体の入力元の乗法的逆数を計算する方法。
  2. 【請求項2】指標2の部分体を含み、前記有限主体の大
    きさ2nが前記部分体よりも二次的に大きな数の元を含
    み、前記入力元からその乗法逆数元を計算する主有限体
    の入力元を受信する装置において、 a)ベクトル表現(X0,…,X2n-1)の入力元を受信す
    る入力端子(20)と、 b)この入力端子により供給されベクトル表現に基き、
    2進一次形式Lij(X)(i=0,…,n−1及びj=1,…,
    2n)の第1アレイを第1出力端子(24)に発生すると共
    に2進一次形式Wlk(X)の第2マトリックスアレイを
    第2出力端子(26)に発生する一次形式発生器(22)
    と、 c)前記第1出力端子により供給され、体乗法で前記第
    1アレイの元を合成アレイに対状に組合せると共にこの
    合成アレイを排他的OR処理して前記部分体において第2
    ベクトル表現された二次形式Q0(X),…,Qn-1(X)
    の第3アレイを発生する二次形式発生器(28)と、 d)この二次形式発生器により供給され、前記第2ベク
    トル表現の二次形式の第3アレイを受けてこれを前記部
    分体で逆数部分ベクトルに反転する反転器(30)と、 e)この反転器により供給される逆数部分ベクトルを受
    けると共に前記一次形式発生器の第2出力端子により供
    給される第2マトリックスアレイを受けて前記逆数部分
    ベクトルの成分を前記一次形式の第3集合の各元で乗算
    し、且つ前記乗算逆数の前記乗算成分により得られた積
    と加算して前記乗法逆数の元を発生するマトリックスエ
    バリュエータ(32)とを具えることを特徴とする主有限
    体の入力元を受信する装置。
  3. 【請求項3】前記入力端子を2nビットの広さとし、前記
    マトリックスエバリュエータの他の出力端子を2nビット
    の広さとしたことを特徴とする請求項2に記載の装置。
JP1269241A 1988-10-18 1989-10-18 有限体の乗法的逆数元を計算するデータ処理方法及び装置 Expired - Lifetime JP2744091B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP88202324A EP0364627B1 (en) 1988-10-18 1988-10-18 Data processing apparatus for calculating a multiplicatively inverted element of a finite field
EP88202324.5 1988-10-18

Publications (2)

Publication Number Publication Date
JPH02148225A JPH02148225A (ja) 1990-06-07
JP2744091B2 true JP2744091B2 (ja) 1998-04-28

Family

ID=8199867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1269241A Expired - Lifetime JP2744091B2 (ja) 1988-10-18 1989-10-18 有限体の乗法的逆数元を計算するデータ処理方法及び装置

Country Status (5)

Country Link
US (1) US4989171A (ja)
EP (1) EP0364627B1 (ja)
JP (1) JP2744091B2 (ja)
KR (1) KR100202206B1 (ja)
DE (1) DE3855497T2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185711A (en) * 1989-12-08 1993-02-09 Sony Corporation Apparatus for dividing elements of a finite galois field and decoding error correction codes
US5210710A (en) * 1990-10-17 1993-05-11 Cylink Corporation Modulo arithmetic processor chip
KR940001147B1 (ko) * 1991-03-20 1994-02-14 삼성전자 주식회사 부분체 GF(2^m/2)을 이용한 GF(2^m)상의 연산방법 및 장치
JP3232602B2 (ja) * 1991-09-06 2001-11-26 ソニー株式会社 ユークリッドの互除回路
US5442578A (en) * 1991-12-12 1995-08-15 Sony Corporation Calculating circuit for error correction
US5379243A (en) * 1992-08-31 1995-01-03 Comstream Corporation Method and apparatus for performing finite field division
KR950010452B1 (ko) * 1992-11-30 1995-09-18 삼성전자 주식회사 유한체상의 역수 산출방법 및 장치
EP0804758B1 (en) * 1994-07-29 2005-11-09 Certicom Corp. Elliptic curve encryption systems
FR2723455B1 (fr) * 1994-08-05 1996-10-31 Sgs Thomson Microelectronics Circuit d'inversion d'elements d'un corps de galois
US6782100B1 (en) 1997-01-29 2004-08-24 Certicom Corp. Accelerated finite field operations on an elliptic curve
US6098192A (en) * 1997-09-17 2000-08-01 Cirrus Logic, Inc. Cost reduced finite field processor for error correction in computer storage devices
US6044389A (en) * 1997-12-29 2000-03-28 Quantum Corporation System for computing the multiplicative inverse of a field element for galois fields without using tables
US6199088B1 (en) * 1998-06-30 2001-03-06 Quantum Corp. Circuit for determining multiplicative inverses in certain galois fields
US7277540B1 (en) * 1999-01-20 2007-10-02 Kabushiki Kaisha Toshiba Arithmetic method and apparatus and crypto processing apparatus for performing multiple types of cryptography
US6779011B2 (en) * 2001-02-28 2004-08-17 Maxtor Corporation System for performing multiplication and division in GF(22M)
US20030065697A1 (en) * 2001-08-29 2003-04-03 Shimman Patel Fast, iterative system and method for evaluating a modulo operation without using division
GB2380370B (en) * 2001-09-28 2004-03-03 Motorola Inc Convolutional encoder and method of operation
US7167886B2 (en) * 2003-05-06 2007-01-23 Lsi Logic Corporation Method for constructing logic circuits of small depth and complexity for operation of inversion in finite fields of characteristic 2
KR100564599B1 (ko) * 2003-12-24 2006-03-29 삼성전자주식회사 역원 계산 회로, 역원계산 방법 및 상기 역원계산 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체
US7668895B2 (en) * 2004-12-01 2010-02-23 Integrated System Solution Corp. Galois field computation
US8467535B2 (en) * 2005-01-18 2013-06-18 Certicom Corp. Accelerated verification of digital signatures and public keys
WO2006076800A1 (en) 2005-01-18 2006-07-27 Certicom Corp. Accelerated verification of digital signatures and public keys
US8745376B2 (en) 2011-10-14 2014-06-03 Certicom Corp. Verifying implicit certificates and digital signatures

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4037093A (en) * 1975-12-29 1977-07-19 Honeywell Information Systems, Inc. Matrix multiplier in GF(2m)
US4162480A (en) * 1977-01-28 1979-07-24 Cyclotomics, Inc. Galois field computer
US4538240A (en) * 1982-12-30 1985-08-27 International Business Machines Corporation Method and apparatus for performing hashing operations using Galois field multiplication
JPH0680491B2 (ja) * 1983-12-30 1994-10-12 ソニー株式会社 有限体の演算回路
AU577089B2 (en) * 1984-01-21 1988-09-15 Sony Corporation Circuit for calculating finite fields
US4745568A (en) * 1986-12-16 1988-05-17 Onyszchuk Ivan M Computational method and apparatus for finite field multiplication
US4797848A (en) * 1986-04-18 1989-01-10 Hughes Aircraft Company Pipelined bit-serial Galois Field multiplier
US4975867A (en) * 1987-06-26 1990-12-04 Digital Equipment Corporation Apparatus for dividing elements of a Galois Field GF (2QM)

Also Published As

Publication number Publication date
KR900006851A (ko) 1990-05-09
EP0364627B1 (en) 1996-08-28
DE3855497D1 (de) 1996-10-02
US4989171A (en) 1991-01-29
DE3855497T2 (de) 1997-03-13
JPH02148225A (ja) 1990-06-07
KR100202206B1 (ko) 1999-06-15
EP0364627A1 (en) 1990-04-25

Similar Documents

Publication Publication Date Title
JP2744091B2 (ja) 有限体の乗法的逆数元を計算するデータ処理方法及び装置
US4873688A (en) High-speed real-time Reed-Solomon decoder
JP3970337B2 (ja) 大規模データ・ブロックのためのハードウェア最適化リード・ソロモン・デコーダ
Hariri et al. Concurrent error detection in montgomery multiplication over binary extension fields
EP0447245A2 (en) Bit-serial division method and apparatus
Ji et al. Fast parallel CRC algorithm and implementation on a configurable processor
US6687725B1 (en) Arithmetic circuit for finite field GF (2m)
El-Razouk et al. New architectures for digit-level single, hybrid-double, hybrid-triple field multiplications and exponentiation using Gaussian normal bases
US6745219B1 (en) Arithmetic unit using stochastic data processing
US6052704A (en) Exponentiation circuit and inverter based on power-sum circuit for finite field GF(2m)
JP3659320B2 (ja) 乗算モジュール、乗法逆元演算回路、乗法逆元演算制御方式、該乗法逆元演算を用いる装置、暗号装置、誤り訂正復号器
US20080140740A1 (en) Systems and methods for processing data sets in parallel
US6484192B1 (en) Root finding method and root finding circuit of quadratic polynomial over finite field
JP3913921B2 (ja) 有限フィールドでの任意要素の逆数具現回路
JP2641285B2 (ja) ガロア体除算回路及び乗除算共用回路
Li et al. Low-complexity versatile finite field multiplier in normal basis
JP2907138B2 (ja) 誤り訂正の演算処理方法及び処理回路
JP3210420B2 (ja) 整数上の乗算回路
JP3129526B2 (ja) 整数上の乗算回路
Guo et al. A low-complexity power-sum circuit for GF (2/sup m/) and its applications
JP2705162B2 (ja) 演算処理装置
JP2710176B2 (ja) 誤り位置及び誤りパターン導出回路
JPH0778748B2 (ja) ガロア体演算ユニット
JP3280470B2 (ja) 誤り訂正回路
KR101764343B1 (ko) 여분 기저 기반의 유한체상 곱셈 장치 및 방법