(57)【特許請求の範囲】
【請求項１】
標数が２でビットサイズが２ｍの有限体（以下「ＧＦ（２2m）」という）のデータであってビットサイズがｍの部分体（以下「ＧＦ（２m ）」という）上の解の一つであるΓ2mが条件Γ2m×Γ2m＝δm ＋Γ2m（ただし、δm ∈ＧＦ（２m ））を満たすものに対し、データＺ2m（∈ＧＦ（２2m））とδ2m（＝Γ2m×δm ）との乗算をビットサイズｍの有限体に対する演算回路の組合せにより行うデータ演算装置であって、
前記データＺ2mの下位ｍビット（Ｘm ）と上位ｍビット（Ｙm ）とを加算して出力するｍビット加算回路と、
このｍビット加算回路の出力に定数δm を乗算してこのデータ演算装置による演算結果の上位ｍビットとして出力するｍビット定数乗算回路と、
前記上位ｍビット（Ｙm ）に前記定数δm の２乗を乗算してこのデータ演算装置による演算結果の下位ｍビットとして出力するｍビット乗算回路と
を備えたことを特徴とするデータ演算装置。
【請求項２】
標数が２でビットサイズが２ｍの有限体（以下「ＧＦ（２2m）」という）のデータであってビットサイズがｍの部分体（以下「ＧＦ（２m ）」という）上の解の一つであるΓ2mが条件Γ2m×Γ2m＝δm ＋Γ2m（ただし、δm ∈ＧＦ（２m ））を満たすものに対し、データＺ2m（∈ＧＦ（２2m））の２乗の演算をビットサイズｍの有限体に対する演算回路の組合せによって行うデータ演算装置であって、
前記データＺ2mの下位ｍビット（Ｘm ）を２乗し出力する第１のｍビット２乗回路と、 前記データＺ2mの上位ｍビット（Ｙm ）を２乗してこの演算装置による演算結果の上位ｍビットとして出力する第２のｍビット２乗回路と、
この第２のｍビット２乗回路の出力の上位ｍビットに定数δm を乗算して出力するｍビット定数乗算回路と、  前記第１のｍビット２乗回路の出力と前記定数乗算回路の出力を加算してこの演算装置による演算結果の下位ｍビットとして出力するｍビット加算回路とを備えたことを特徴とするデータ演算装置。
【請求項３】
標数が２でビットサイズが２ｍの有限体（以下「ＧＦ（２2m）」という）のデータであってビットサイズがｍの部分体（以下「ＧＦ（２m ）」という）上の解の一つであるΓ2mが条件Γ2m×Γ2m＝δm ＋Γ2m（ただし、δm ∈ＧＦ（２m ））を満たすものに対し、データＺ2m（∈ＧＦ（２2m）），Ｗ2m（∈ＧＦ（２2m））について両者の乗算をビットサイズｍの有限体に対する演算回路の組合せによって行うデータ演算装置であって、
前記データＺ2mの下位ｍビット（Ｘm ）と前記データＷ2mの下位ｍビット（Ｕm ）とを乗算して出力する第１のｍビット乗算回路と、
前記データＺ2mの上位ｍビット（Ｙm ）と前記データＷ2mの上位ｍビット（Ｖm ）とを乗算して出力する第２のｍビット乗算回路と、
前記データＺ2mの下位ｍビット（Ｘm ）と上位ｍビット（Ｙm ）とを加算して出力する第１のｍビット加算回路と、
前記データＷ2mの下位ｍビット（Ｕm ）と上位ｍビット（Ｖm ）とを加算して出力する第２のｍビット加算回路と、
前記第１のｍビット加算回路の出力と前記第２のｍビット加算回路の出力とを乗算して出力する第３のｍビット乗算回路と、
この第３のｍビット乗算回路の出力と前記第１のｍビット乗算回路とを加算してこの演算装置による演算結果の上位ビットとして出力する第３のｍビット加算回路と、
前記第２のｍビット乗算回路の出力に定数δm を乗算して出力するｍビット定数乗算回路と、
このｍビット定数乗算回路の出力と前記第１のｍビット乗算回路の出力とを加算してこの演算装置による演算結果の下位ビットとして出力する第４のｍビット加算回路と
を備えたことを特徴とするデータ演算装置。
【請求項４】
標数が２でビットサイズが２ｍの有限体（以下「ＧＦ（２2m）」という）のデータであってビットサイズがｍの部分体（以下「ＧＦ（２m ）」という）上の解の一つであるΓ2mが条件Γ2m×Γ2m＝δm ＋Γ2m（ただし、δm ∈ＧＦ（２m ））を満たすものに対し、データＺ2m（∈ＧＦ（２2m）≠０）の逆数演算をビットサイズｍの有限体に対する演算回路の組合せによって行う演算装置であって、
前記データＺ2mの下位ｍビット（Ｘm ）と上位ｍビット（Ｙm ）とを加算して出力する第１のｍビット加算回路と、
前記上位ｍビット（Ｙm ）を２乗して出力するｍビット２乗回路と、
前記下位ｍビット（Ｘm ）と前記第１のｍビット加算回路の出力とを乗算して出力する第１のｍビット乗算回路と、
前記ｍビット２乗回路の出力に定数δm を乗算して出力するｍビット定数乗算回路と、 このｍビット定数乗算回路の出力と前記第１のｍビット乗算回路の出力とを加算して出力する第２のｍビット加算回路と、
この第２のｍビット加算回路の出力の逆数を演算するｍビット逆数算回路と、
このｍビット逆数算回路の出力と前記第１のｍビット加算回路の出力とを乗算しこの演算装置による演算結果の下位ｍビットとして出力する第２のｍビット乗算回路と、
前記ｍビット逆数算回路の出力と前記上位ｍビット（Ｙm ）とを乗算しこの演算装置による演算結果の上位ｍビットとして出力する第３のｍビット乗算回路と
を備えたことを特徴とするデータ演算装置。
【請求項５】
標数が２でビットサイズが２ｍの有限体（以下「ＧＦ（２2m）」という）のデータであってビットサイズがｍの部分体（以下「ＧＦ（２m ）」という）上の解の一つであるΓ2mが条件Γ2m×Γ2m＝δm ＋Γ2m（ただし、δm ∈ＧＦ（２m ））を満たすものに対し、データＺ2m（∈ＧＦ（２2m）），Ｗ2m（∈ＧＦ（２2m）≠０）についてＺ2m／Ｗ2mの除算をビットサイズｍの有限体に対する演算回路の組合せによって行うデータ演算装置であって、
前記データＺ2mの下位ｍビット（Ｘm ）と上位ｍビット（Ｙm ）とを加算して出力する第１のｍビット加算回路と、
前記データＺ2mの上位ｍビット（Ｙm ）を２乗して出力するｍビット２乗回路と、
前記データＷ2mの下位ｍビット（Ｕm ）と前記データＺ2mの上位ｍビット（Ｙm ）とを乗算して出力する第１のｍビット乗算回路と、
前記データＷ2mの下位ｍビット（Ｕm ）と前記第１のｍビット加算回路の出力とを乗算して出力する第２のｍビット乗算回路と、
前記データＷ2mの上位ｍビット（Ｖm ）と前記データＺ2mの上位ｍビット（Ｙm ）とを乗算して出力する第３のｍビット乗算回路と、
前記データＷ2mの上位ｍビット（Ｖm ）と前記データＺ2mの下位ｍビット（Ｘm ）とを乗算して出力する第４のｍビット乗算回路と、
前記データＺ2mの下位ｍビット（Ｘm ）と前記第１のｍビット加算回路の出力とを乗算して出力する第５のｍビット乗算回路と、
前記ｍビット２乗回路の出力に定数δm を乗算して出力する第１のｍビット定数乗算回路と、
前記第３のｍビット乗算回路の出力に前記定数δm を乗算して出力する第２のｍビット定数乗算回路と、
前記第５のｍビット乗算回路の出力と前記第１のｍビット定数乗算回路の出力とを加算して出力する第２のｍビット加算回路と、
前記第２のｍビット乗算回路の出力と前記第２のｍビット定数乗算回路の出力とを加算して出力する第３のｍビット加算回路と、
前記第１のｍビット乗算回路の出力と前記第４のｍビット乗算回路の出力とを加算して出力する第４のｍビット加算回路と、
前記第２のｍビット加算回路の出力の逆数を演算して出力するｍビット逆数算回路と、 前記第３のｍビット加算回路の出力と前記ｍビット逆数算回路の出力とを乗算してこの演算装置による演算結果の下位ｍビットとして出力する第６のｍビット乗算回路と、
前記第４のｍビット加算回路の出力と前記ｍビット逆数算回路の出力とを乗算してこの演算装置による演算結果の上位ｍビットとして出力する第７のｍビット乗算回路と
を備えたことを特徴とするデータ演算装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
ｍが２の巾である場合において、前記ビットサイズｍの有限体のデータに対する演算回路を請求項１乃至５のいずれかに記載の構成に従ってビットサイズｍ／２の有限体のデータに対する演算回路の組合せによって実現し、次いで、これらビットサイズｍ／２の有限体のデータに対する演算回路のそれぞれを請求項１乃至５のいずれかに記載の構成に従ってビットサイズｍ／４の有限体のデータに対する演算回路の組合せによって実現し、さらに、これらビットサイズｍ／４の有限体のデータに対する演算回路のそれぞれを請求項１乃至５のいずれかに記載の構成に従ってビットサイズｍ／８の有限体のデータに対する演算回路の組合せによって実現するという、演算回路についてのビットサイズの低減をビットサイズが１になるまで反復したことを特徴とするデータ演算装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はディジタルのデータ処理装置やデータ通信装置などに利用されるデータ演算装置に関するものである。
【０００２】
【従来の技術】
誤り訂正符号の符号器や復号器、あるいは、暗号器やその復号器などにおいては、有限体（ガロア体：ＧＦ）と称される特別なデータ構造における四則演算が必要になる。このような有限体の構造を特徴付けるパラメータの一つとして標数がある。ここで、標数とは、ゼロでない同一のデータを加算してゆきこの加算値がはじめてゼロになるその加算回数をいう。例えば、標数が２のデータをＸとすれば、Ｘ＋Ｘ＝２Ｘ＝０となる。
【０００３】
【発明が解決しようとする課題】
上記標数が２の有限体の場合には、そのデータ構造がディジタル計算機やディジタル通信系の構成とも合致し、その点で、特に広く使用されている。しかしながら、従来の演算装置では、ビットサイズが２ｍのデータを、そのままのビットサイズで処理しているため、処理対象のデータのビットサイズの増大と共に演算回路の規模が増加し、製造費用がかさむという問題がある。
従って、本発明の目的は、回路規模の小さな安価な演算装置を提供することにある。
【０００４】
【課題を解決するための手段】
上記従来技術の課題を解決する本発明のデータ演算回路は、標数が２でビットサイズが２ｍの有限体（ｍは２以上の自然数）に属するデータに対する演算を、指標が２でビットサイズがｍの有限体に属するデータを対象とする演算回路の組合せによって実現するように構成されている。
【０００５】
【発明の実施の形態】
本発明の好適な実施の形態によれば、上記ビットサイズがｍの有限体に属するデータを対象とする演算は、ビットサイズがｍ／２（ｍは偶数とする）の有限体に属するデータを対象とする演算回路の組合せによって実現される。
【０００６】
本発明の更に好適な実施の形態によれば、上記ビットサイズがｍ／２の有限体に属するデータを対象とする演算は、ビットサイズがｍ／４の有限体に属するデータを対象とする演算回路の組合せによって実現され、以下同様にして、任意のビットサイズの有限体に属するデータを対象とする演算は順次半分のビットサイズ、ｍ／８，ｍ／１６，ｍ／３２・・・・・の有限体に属するデータを対象とする演算回路の組合せによって実現される。
【０００７】
本発明の他の好適な実施の形態によれば、上記ビットサイズがｍ、ｍ／２、ｍ／４，ｍ／８・・・・・の有限体に属するデータを対象とする演算回路の組合せは、定数倍演算回路、２乗演算回路、乗算回路、逆数算回路及び除算回路の組合せから構成される。
【０００８】
【本発明の原理の説明】
本発明によれば、標数が２で、好適には、ビットサイズが２の巾乗となる有限体に属するデータを演算対象とし、その加減乗除算を実行するのに必要な演算装置が従来技術に比べて大幅に少ないゲート数で実現される。
【０００９】
標数が２の有限体のデータのサイズは、通常、簡単にビット数で表現される。ここで取り扱う有限体の一例として、ビット数が２1 ，２2 ，２3 ，２4 ・・・というように２の巾乗となるものとする。この場合には、例えば１６ビットの乗除算装置は、以下に示すように、１６ビットの半分、すなわち８ビットの演算装置の簡単な組合せによって実現できる。
【００１０】
さらに、８ビットの演算装置は４ビットの演算装置の組合せによって、また、４ビットの演算装置は２ビットの演算装置の組合せによって、さらに、２ビットの演算装置は１ビットの演算装置の組合せによって、それぞれ実現可能である。この結果、従来技術に比較して大幅に少ないゲート数で所望の有限体を対象とする演算装置が実現可能になる。
【００１１】
ここで、演算の過程で必要となる特別な定数の系列（δ1 ，δ2 ，δ4 ，δ8 ，δ16・・・・）を次のように定義しておく。ただし、δm （ｍ＝１，２，４，８，１６・・・・）は、ビットサイズｍのデータである。
まず、
δ1 ＝１                                        ・・・（１）
とする。
【００１２】
次に、δm と次の漸化式からδ2mを漸化的に求める。
δ2m  ＝Γ2m×δm                                 ・・・（２）
ただし、Γ2mは、次の２次方程式の解の一つである。
Γ2m×Γ2m＝δm ＋Γ2m                          ・・・（３）
【００１３】
なお、Γ2mはビットサイズ２ｍの有限体に属する特定のデータであるが、ビットサイズｍの有限体に属するデータではない。また、（Γ2 ，Γ4 ，Γ8 ，Γ16・・・・）は定義されるが、Γ1 は定義されない。
【００１４】
基本演算装置としては、
１）定数倍（δ倍）演算
２）２乗演算
３）乗算
４）逆数演算
５）除算
がある。
【００１５】
さて、ビットサイズが２ｍの有限体に属するデータＺ2mを、ビットサイズがｍの有限体に属する二つの部分Ｘm ，Ｙm に分解し、
Ｚ2m＝Ｘm ＋Γ2m×Ｙm                             ・・・（４）
と表現する。ただし、Γ2mは前述したビットサイズ２ｍの有限体に属する特定のデータである。Γ2mは複素数におけるｉと類似の機能を有する。
【００１６】
基本演算式の一つであるδ倍演算は、（２）式、（３）式、（４）式の関係を代入すると、次のようになる。
δ2m×Ｚ2m
0003626611.tif 000002
【００１７】
（５）式から、δ倍演算の結果は、ベクトル表示に従えば、〔δm ×δm ×Ｙm ，δm （Ｘm ＋Ｙm ）〕となる。すなわち、ビットサイズが２ｍのデータに対するδ倍演算は、ビットサイズがｍのデータに対するδ倍演算と加算との組合せで実現できることになる。このδ倍演算を実現するための回路の構成の一例を図１に示す。
【００１８】
２ｍビットサイズのデータＺ2mの２乗演算は、次のようになる。
0003626611.tif 000003
【００１９】
ここで、Ｘm は標数２のデータであるから、２Ｘm ＝０となる。従って、
0003626611.tif 000004
あるいは、ベクトルと類似の表現を利用すれば、
Ｚ2m×Ｚ2m＝〔Ｘm ×Ｘm ＋δm ×（Ｙm ×Ｙm ），Ｙm ×Ｙm 〕
【００２０】
このように、ビットサイズが２ｍのデータに対する２乗演算は、ビットサイズがｍのデータに対する２乗演算と、δ倍演算と、ｍビットサイズの加算で実現できることになる。これを実現するための２乗演算回路は、図２に示するような構成となる。
【００２１】
次に、ビットサイズが２ｍのデータＺ2mとＷ2mとの乗算は、以下のように表される。
0003626611.tif 000005
【００２２】
（８）式をさらに変形すると、
0003626611.tif 000006
【００２３】
（９）式に示されるように、ビットサイズが２ｍのデータどうしの乗算は、ビットサイズがｍのデータどうしの加算、乗算、δ倍演算などで実現できることになる。上記乗算を実現するための乗算回路を図３に示す。
【００２４】
次に、２ｍビットサイズのデータＺ2mの逆数演算は、以下のように表現される。
0003626611.tif 000007
【００２５】
（１１）式に示されるように、ビットサイズが２ｍのデータに対する逆数演算は、ビットサイズがｍのデータに対する逆数算、乗算、δ倍演算などで実現できることになる。上記逆数算を実現するための演算回路は、図４に示すような構成となる。
【００２６】
ビットサイズが２ｍのデータどうしの除算は、以下のように表現される。
0003626611.tif 000008
ここで、Δは、（11) 式で定義された量である。
【００２７】
（１２）式に示されるように、２ｍビットサイズのデータの除算は、ｍビットサイズの除算と、ｍビットサイズの乗算と、ｍビットサイズのδ倍演算と、ｍビットサイズの加算との組合せによって実現できる。これを実現するため演算回路は、図５に示すように構成される。
【００２８】
演算のために最終的に必要とされる基本ゲート（１ビット加算素子と、１ビット乗算素子）の個数は、ほぼ、
１）乗算装置で（ビット数の1.58乗）×（１／３）
２）逆算装置で（ビット数の1.58乗）×（１／２）
３）除算装置で（ビット数の1.58乗）×（５／６）
となる。
【００２９】
上記概算結果から、除算装置の回路規模は乗算装置の回路規模のほぼ1.5 倍で実現できることになる。なお、加算装置は、ビット数に比例したゲート数で実現できるので、より基本的な演算の組合せに分解する必要はない。また、減算装置と加算装置は、標数２の有限体では同一となる。
【００３０】
以上、ビットサイズが２ｍのデータの演算をビットサイズがｍのデータの演算回路の組合せによって実現する例を示した。しかしながら、このようなビットサイズがｍのデータの演算回路を、更にビットサイズがｍ／２のデータの演算回路で実現したり、このようなビットサイズがｍ／２のデータの演算回路を、更にビットサイズがｍ／４の演算回路の組合せによって実現することもできる。
【００３１】
【発明の効果】
以上詳細に説明したように、本発明のデータ演算装置は、ビットサイズが２ｍのデータに対する演算を、ビットサイズが半分のｍのデータの演算回路の組合せによって実現する構成であるから、回路規模が小さく安価な演算装置が提供できるという効果が奏される。
【図面の簡単な説明】
【図１】本発明の演算装置を構成するδ倍演算回路の構成を示すブロック図である。
【図２】本発明の演算装置を構成する２乗演算回路の構成を示すブロック図である。
【図３】本発明の演算装置を構成する乗算回路の構成を示すブロック図である。
【図４】本発明の演算装置を構成する逆数演算回路の構成を示すブロック図である。
【図５】本発明の演算装置を構成する除算回路の構成を示すブロック図である。
【図１】
0003626611.tif 000009
【図２】
0003626611.tif 000010
【図３】
0003626611.tif 000011
【図４】
0003626611.tif 000012
【図５】
0003626611.tif 000013