JP3626611B2 - データ演算装置 - Google Patents
データ演算装置 Download PDFInfo
- Publication number
- JP3626611B2 JP3626611B2 JP33508598A JP33508598A JP3626611B2 JP 3626611 B2 JP3626611 B2 JP 3626611B2 JP 33508598 A JP33508598 A JP 33508598A JP 33508598 A JP33508598 A JP 33508598A JP 3626611 B2 JP3626611 B2 JP 3626611B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- circuit
- data
- bits
- output
- 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
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Complex Calculations (AREA)
- Error Detection And Correction (AREA)
Description
【産業上の利用分野】
本発明はディジタルのデータ処理装置やデータ通信装置などに利用されるデータ演算装置に関するものである。
【0002】
【従来の技術】
誤り訂正符号の符号器や復号器、あるいは、暗号器やその復号器などにおいては、有限体(ガロア体:GF)と称される特別なデータ構造における四則演算が必要になる。このような有限体の構造を特徴付けるパラメータの一つとして標数がある。ここで、標数とは、ゼロでない同一のデータを加算してゆきこの加算値がはじめてゼロになるその加算回数をいう。例えば、標数が2のデータをXとすれば、X+X=2X=0となる。
【0003】
【発明が解決しようとする課題】
上記標数が2の有限体の場合には、そのデータ構造がディジタル計算機やディジタル通信系の構成とも合致し、その点で、特に広く使用されている。しかしながら、従来の演算装置では、ビットサイズが2mのデータを、そのままのビットサイズで処理しているため、処理対象のデータのビットサイズの増大と共に演算回路の規模が増加し、製造費用がかさむという問題がある。
従って、本発明の目的は、回路規模の小さな安価な演算装置を提供することにある。
【0004】
【課題を解決するための手段】
上記従来技術の課題を解決する本発明のデータ演算回路は、標数が2でビットサイズが2mの有限体(mは2以上の自然数)に属するデータに対する演算を、指標が2でビットサイズがmの有限体に属するデータを対象とする演算回路の組合せによって実現するように構成されている。
【0005】
【発明の実施の形態】
本発明の好適な実施の形態によれば、上記ビットサイズがmの有限体に属するデータを対象とする演算は、ビットサイズがm/2(mは偶数とする)の有限体に属するデータを対象とする演算回路の組合せによって実現される。
【0006】
本発明の更に好適な実施の形態によれば、上記ビットサイズがm/2の有限体に属するデータを対象とする演算は、ビットサイズがm/4の有限体に属するデータを対象とする演算回路の組合せによって実現され、以下同様にして、任意のビットサイズの有限体に属するデータを対象とする演算は順次半分のビットサイズ、m/8,m/16,m/32・・・・・の有限体に属するデータを対象とする演算回路の組合せによって実現される。
【0007】
本発明の他の好適な実施の形態によれば、上記ビットサイズがm、m/2、m/4,m/8・・・・・の有限体に属するデータを対象とする演算回路の組合せは、定数倍演算回路、2乗演算回路、乗算回路、逆数算回路及び除算回路の組合せから構成される。
【0008】
【本発明の原理の説明】
本発明によれば、標数が2で、好適には、ビットサイズが2の巾乗となる有限体に属するデータを演算対象とし、その加減乗除算を実行するのに必要な演算装置が従来技術に比べて大幅に少ないゲート数で実現される。
【0009】
標数が2の有限体のデータのサイズは、通常、簡単にビット数で表現される。ここで取り扱う有限体の一例として、ビット数が21 ,22 ,23 ,24 ・・・というように2の巾乗となるものとする。この場合には、例えば16ビットの乗除算装置は、以下に示すように、16ビットの半分、すなわち8ビットの演算装置の簡単な組合せによって実現できる。
【0010】
さらに、8ビットの演算装置は4ビットの演算装置の組合せによって、また、4ビットの演算装置は2ビットの演算装置の組合せによって、さらに、2ビットの演算装置は1ビットの演算装置の組合せによって、それぞれ実現可能である。この結果、従来技術に比較して大幅に少ないゲート数で所望の有限体を対象とする演算装置が実現可能になる。
【0011】
ここで、演算の過程で必要となる特別な定数の系列(δ1 ,δ2 ,δ4 ,δ8 ,δ16・・・・)を次のように定義しておく。ただし、δm (m=1,2,4,8,16・・・・)は、ビットサイズmのデータである。
まず、
δ1 =1 ・・・(1)
とする。
【0012】
次に、δ m と次の漸化式からδ2mを漸化的に求める。
δ2m =Γ2m×δm ・・・(2)
ただし、Γ2mは、次の2次方程式の解の一つである。
Γ2m×Γ2m=δm +Γ2m ・・・(3)
【0013】
なお、Γ2mはビットサイズ2mの有限体に属する特定のデータであるが、ビットサイズmの有限体に属するデータではない。また、(Γ2 ,Γ4 ,Γ8 ,Γ16・・・・)は定義されるが、Γ1 は定義されない。
【0014】
基本演算装置としては、
1)定数倍(δ倍)演算
2)2乗演算
3)乗算
4)逆数演算
5)除算
がある。
【0015】
さて、ビットサイズが2mの有限体に属するデータZ2mを、ビットサイズがmの有限体に属する二つの部分Xm ,Ym に分解し、
Z2m=Xm +Γ2m×Ym ・・・(4)
と表現する。ただし、Γ2mは前述したビットサイズ2mの有限体に属する特定のデータである。Γ2mは複素数におけるiと類似の機能を有する。
【0016】
基本演算式の一つであるδ倍演算は、(2)式、(3)式、(4)式の関係を代入すると、次のようになる。
δ2m×Z2m
【0017】
(5)式から、δ倍演算の結果は、ベクトル表示に従えば、〔δm ×δm ×Ym ,δm (Xm +Ym )〕となる。すなわち、ビットサイズが2mのデータに対するδ倍演算は、ビットサイズがmのデータに対するδ倍演算と加算との組合せで実現できることになる。このδ倍演算を実現するための回路の構成の一例を図1に示す。
【0018】
2mビットサイズのデータZ2mの2乗演算は、次のようになる。
【0019】
ここで、Xm は標数2のデータであるから、2Xm =0となる。従って、
あるいは、ベクトルと類似の表現を利用すれば、
Z2m×Z2m=〔Xm ×Xm +δm ×(Ym ×Ym ),Ym ×Ym 〕
【0020】
このように、ビットサイズが2mのデータに対する2乗演算は、ビットサイズがmのデータに対する2乗演算と、δ倍演算と、mビットサイズの加算で実現できることになる。これを実現するための2乗演算回路は、図2に示するような構成となる。
【0021】
次に、ビットサイズが2mのデータZ2mとW2mとの乗算は、以下のように表される。
【0022】
(8)式をさらに変形すると、
【0023】
(9)式に示されるように、ビットサイズが2mのデータどうしの乗算は、ビットサイズがmのデータどうしの加算、乗算、δ倍演算などで実現できることになる。上記乗算を実現するための乗算回路を図3に示す。
【0024】
次に、2mビットサイズのデータZ2mの逆数演算は、以下のように表現される。
【0025】
(11)式に示されるように、ビットサイズが2mのデータに対する逆数演算は、ビットサイズがmのデータに対する逆数算、乗算、δ倍演算などで実現できることになる。上記逆数算を実現するための演算回路は、図4に示すような構成となる。
【0026】
ビットサイズが2mのデータどうしの除算は、以下のように表現される。
ここで、Δは、(11) 式で定義された量である。
【0027】
(12)式に示されるように、2mビットサイズのデータの除算は、mビットサイズの除算と、mビットサイズの乗算と、mビットサイズのδ倍演算と、mビットサイズの加算との組合せによって実現できる。これを実現するため演算回路は、図5に示すように構成される。
【0028】
演算のために最終的に必要とされる基本ゲート(1ビット加算素子と、1ビット乗算素子)の個数は、ほぼ、
1)乗算装置で(ビット数の1.58乗)×(1/3)
2)逆算装置で(ビット数の1.58乗)×(1/2)
3)除算装置で(ビット数の1.58乗)×(5/6)
となる。
【0029】
上記概算結果から、除算装置の回路規模は乗算装置の回路規模のほぼ1.5 倍で実現できることになる。なお、加算装置は、ビット数に比例したゲート数で実現できるので、より基本的な演算の組合せに分解する必要はない。また、減算装置と加算装置は、標数2の有限体では同一となる。
【0030】
以上、ビットサイズが2mのデータの演算をビットサイズがmのデータの演算回路の組合せによって実現する例を示した。しかしながら、このようなビットサイズがmのデータの演算回路を、更にビットサイズがm/2のデータの演算回路で実現したり、このようなビットサイズがm/2のデータの演算回路を、更にビットサイズがm/4の演算回路の組合せによって実現することもできる。
【0031】
【発明の効果】
以上詳細に説明したように、本発明のデータ演算装置は、ビットサイズが2mのデータに対する演算を、ビットサイズが半分のmのデータの演算回路の組合せによって実現する構成であるから、回路規模が小さく安価な演算装置が提供できるという効果が奏される。
【図面の簡単な説明】
【図1】本発明の演算装置を構成するδ倍演算回路の構成を示すブロック図である。
【図2】本発明の演算装置を構成する2乗演算回路の構成を示すブロック図である。
【図3】本発明の演算装置を構成する乗算回路の構成を示すブロック図である。
【図4】本発明の演算装置を構成する逆数演算回路の構成を示すブロック図である。
【図5】本発明の演算装置を構成する除算回路の構成を示すブロック図である。
Claims (6)
- 標数が2でビットサイズが2mの有限体(以下「GF(2 2m )」という)のデータであってビットサイズがmの部分体(以下「GF(2 m )」という)上の解の一つであるΓ 2m が条件Γ 2m ×Γ 2m =δ m +Γ 2m (ただし、δ m ∈GF(2 m ))を満たすものに対し、データZ 2m (∈GF(2 2m ))とδ 2m (=Γ 2m ×δ m )との乗算をビットサイズmの有限体に対する演算回路の組合せにより行うデータ演算装置であって、
前記データZ 2m の下位mビット(X m )と上位mビット(Y m )とを加算して出力するmビット加算回路と、
このmビット加算回路の出力に定数δ m を乗算してこのデータ演算装置による演算結果の上位mビットとして出力するmビット定数乗算回路と、
前記上位mビット(Y m )に前記定数δ m の2乗を乗算してこのデータ演算装置による演算結果の下位mビットとして出力するmビット乗算回路と
を備えたことを特徴とするデータ演算装置。 - 標数が2でビットサイズが2mの有限体(以下「GF(2 2m )」という)のデータであってビットサイズがmの部分体(以下「GF(2 m )」という)上の解の一つであるΓ 2m が条件Γ 2m ×Γ 2m =δ m +Γ 2m (ただし、δ m ∈GF(2 m ))を満たすものに対し、データZ 2m (∈GF(2 2m ))の2乗の演算をビットサイズmの有限体に対する演算回路の組合せによって行うデータ演算装置であって、
前記データZ 2m の下位mビット(X m )を2乗し出力する第1のmビット2乗回路と、 前記データZ 2m の上位mビット(Y m )を2乗してこの演算装置による演算結果の上位mビットとして出力する第2のmビット2乗回路と、
この第2のmビット2乗回路の出力の上位mビットに定数δ m を乗算して出力するmビット定数乗算回路と、 前記第1のmビット2乗回路の出力と前記定数乗算回路の出力を加算してこの演算装置による演算結果の下位mビットとして出力するmビット加算回路とを備えたことを特徴とするデータ演算装置。 - 標数が2でビットサイズが2mの有限体(以下「GF(2 2m )」という)のデータであってビットサイズがmの部分体(以下「GF(2 m )」という)上の解の一つであるΓ 2m が条件Γ 2m ×Γ 2m =δ m +Γ 2m (ただし、δ m ∈GF(2 m ))を満たすものに対し、データZ 2m (∈GF(2 2m )),W 2m (∈GF(2 2m ))について両者の乗算をビットサイズmの有限体に対する演算回路の組合せによって行うデータ演算装置であって、
前記データZ 2m の下位mビット(X m )と前記データW 2m の下位mビット(U m )とを乗算して出力する第1のmビット乗算回路と、
前記データZ 2m の上位mビット(Y m )と前記データW 2m の上位mビット(V m )とを乗算して出力する第2のmビット乗算回路と、
前記データZ 2m の下位mビット(X m )と上位mビット(Y m )とを加算して出力する第1のmビット加算回路と、
前記データW 2m の下位mビット(U m )と上位mビット(V m )とを加算して出力する第2のmビット加算回路と、
前記第1のmビット加算回路の出力と前記第2のmビット加算回路の出力とを乗算して出力する第3のmビット乗算回路と、
この第3のmビット乗算回路の出力と前記第1のmビット乗算回路とを加算してこの演算装置による演算結果の上位ビットとして出力する第3のmビット加算回路と、
前記第2のmビット乗算回路の出力に定数δ m を乗算して出力するmビット定数乗算回路と、
このmビット定数乗算回路の出力と前記第1のmビット乗算回路の出力とを加算してこ の演算装置による演算結果の下位ビットとして出力する第4のmビット加算回路と
を備えたことを特徴とするデータ演算装置。 - 標数が2でビットサイズが2mの有限体(以下「GF(2 2m )」という)のデータであってビットサイズがmの部分体(以下「GF(2 m )」という)上の解の一つであるΓ 2m が条件Γ 2m ×Γ 2m =δ m +Γ 2m (ただし、δ m ∈GF(2 m ))を満たすものに対し、データZ 2m (∈GF(2 2m )≠0)の逆数演算をビットサイズmの有限体に対する演算回路の組合せによって行う演算装置であって、
前記データZ 2m の下位mビット(X m )と上位mビット(Y m )とを加算して出力する第1のmビット加算回路と、
前記上位mビット(Y m )を2乗して出力するmビット2乗回路と、
前記下位mビット(X m )と前記第1のmビット加算回路の出力とを乗算して出力する第1のmビット乗算回路と、
前記mビット2乗回路の出力に定数δ m を乗算して出力するmビット定数乗算回路と、 このmビット定数乗算回路の出力と前記第1のmビット乗算回路の出力とを加算して出力する第2のmビット加算回路と、
この第2のmビット加算回路の出力の逆数を演算するmビット逆数算回路と、
このmビット逆数算回路の出力と前記第1のmビット加算回路の出力とを乗算しこの演算装置による演算結果の下位mビットとして出力する第2のmビット乗算回路と、
前記mビット逆数算回路の出力と前記上位mビット(Y m )とを乗算しこの演算装置による演算結果の上位mビットとして出力する第3のmビット乗算回路と
を備えたことを特徴とするデータ演算装置。 - 標数が2でビットサイズが2mの有限体(以下「GF(2 2m )」という)のデータであってビットサイズがmの部分体(以下「GF(2 m )」という)上の解の一つであるΓ 2m が条件Γ 2m ×Γ 2m =δ m +Γ 2m (ただし、δ m ∈GF(2 m ))を満たすものに対し、データZ 2m (∈GF(2 2m )),W 2m (∈GF(2 2m )≠0)についてZ 2m /W 2m の除算をビットサイズmの有限体に対する演算回路の組合せによって行うデータ演算装置であって、
前記データZ 2m の下位mビット(X m )と上位mビット(Y m )とを加算して出力する第1のmビット加算回路と、
前記データZ 2m の上位mビット(Y m )を2乗して出力するmビット2乗回路と、
前記データW 2m の下位mビット(U m )と前記データZ 2m の上位mビット(Y m )とを乗算して出力する第1のmビット乗算回路と、
前記データW 2m の下位mビット(U m )と前記第1のmビット加算回路の出力とを乗算して出力する第2のmビット乗算回路と、
前記データW 2m の上位mビット(V m )と前記データZ 2m の上位mビット(Y m )とを乗算して出力する第3のmビット乗算回路と、
前記データW 2m の上位mビット(V m )と前記データZ 2m の下位mビット(X m )とを乗算して出力する第4のmビット乗算回路と、
前記データZ 2m の下位mビット(X m )と前記第1のmビット加算回路の出力とを乗算して出力する第5のmビット乗算回路と、
前記mビット2乗回路の出力に定数δ m を乗算して出力する第1のmビット定数乗算回路と、
前記第3のmビット乗算回路の出力に前記定数δ m を乗算して出力する第2のmビット定数乗算回路と、
前記第5のmビット乗算回路の出力と前記第1のmビット定数乗算回路の出力とを加算して出力する第2のmビット加算回路と、
前記第2のmビット乗算回路の出力と前記第2のmビット定数乗算回路の出力とを加算して出力する第3のmビット加算回路と、
前記第1のmビット乗算回路の出力と前記第4のmビット乗算回路の出力とを加算して出力する第4のmビット加算回路と、
前記第2のmビット加算回路の出力の逆数を演算して出力するmビット逆数算回路と、 前記第3のmビット加算回路の出力と前記mビット逆数算回路の出力とを乗算してこの演算装置による演算結果の下位mビットとして出力する第6のmビット乗算回路と、
前記第4のmビット加算回路の出力と前記mビット逆数算回路の出力とを乗算してこの演算装置による演算結果の上位mビットとして出力する第7のmビット乗算回路と
を備えたことを特徴とするデータ演算装置。 - 請求項1乃至5のいずれかにおいて、
mが2の巾である場合において、前記ビットサイズmの有限体のデータに対する演算回路を請求項1乃至5のいずれかに記載の構成に従ってビットサイズm/2の有限体のデータに対する演算回路の組合せによって実現し、次いで、これらビットサイズm/2の有限体のデータに対する演算回路のそれぞれを請求項1乃至5のいずれかに記載の構成に従ってビットサイズm/4の有限体のデータに対する演算回路の組合せによって実現し、さらに、これらビットサイズm/4の有限体のデータに対する演算回路のそれぞれを請求項1乃至5のいずれかに記載の構成に従ってビットサイズm/8の有限体のデータに対する演算回路の組合せによって実現するという、演算回路についてのビットサイズの低減をビットサイズが1になるまで反復したことを特徴とするデータ演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33508598A JP3626611B2 (ja) | 1998-11-26 | 1998-11-26 | データ演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33508598A JP3626611B2 (ja) | 1998-11-26 | 1998-11-26 | データ演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000165257A JP2000165257A (ja) | 2000-06-16 |
JP3626611B2 true JP3626611B2 (ja) | 2005-03-09 |
Family
ID=18284610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33508598A Expired - Lifetime JP3626611B2 (ja) | 1998-11-26 | 1998-11-26 | データ演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3626611B2 (ja) |
-
1998
- 1998-11-26 JP JP33508598A patent/JP3626611B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000165257A (ja) | 2000-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102136911B1 (ko) | 스칼라 또는 멱수와의 곱셈 연산을 포함하는 암호화 방법 | |
EP2283417B1 (en) | Implementation of arbitrary galois field arithmetic on a programmable processor | |
US20070083585A1 (en) | Karatsuba based multiplier and method | |
KR101326078B1 (ko) | 모듈러 곱셈 방법, 모듈러 곱셈기 및 모듈러 곱셈기를구비하는 암호 연산 시스템 | |
Kanhe et al. | Design and implementation of floating point multiplier based on vedic multiplication technique | |
CN114341892A (zh) | 具有用于高效参数更新的降低精度参数分量的机器学习硬件 | |
US20200272419A1 (en) | Compressing like-magnitude partial products in multiply accumulation | |
JPH0728782A (ja) | 演算回路および演算方法 | |
US6763366B2 (en) | Method for calculating arithmetic inverse over finite fields for use in cryptography | |
Mahakalkar et al. | Design of High Performance IEEE754 Floating point multiplier using Vedic mathematics | |
US10057064B2 (en) | Computational method, computational device and computer software product for montgomery domain | |
JP2006060703A5 (ja) | ||
JP3626611B2 (ja) | データ演算装置 | |
US20140270152A1 (en) | Efficient hardware architecture for a s1 s-box in a zuc cipher | |
Mirhosseini et al. | A reduced-bias approach with a lightweight hard-multiple generator to design a radix-8 modulo $2^{n}+ 1$ multiplier | |
CN113672196B (zh) | 一种基于单数字信号处理单元的双乘法计算装置和方法 | |
CN113467752B (zh) | 用于隐私计算的除法运算装置、数据处理系统及方法 | |
US6684236B1 (en) | System of and method for efficiently performing computations through extended booth encoding of the operands thereto | |
JP3279462B2 (ja) | ディジタル乗算器、ディジタルトランスバーサル型等化器及びディジタル積和演算回路 | |
JPH0540605A (ja) | 浮動小数点乗算装置 | |
US6549924B1 (en) | Function generating interpolation method and apparatus | |
US20220308840A1 (en) | Reciprocal calculating method and reciprocal calculating apparatus | |
EP1465058A2 (en) | Method and apparatus for performing modular multiplication | |
KR100392370B1 (ko) | 유한체내에서 다단 구조의 역수 계산 장치 | |
AU2020425196B2 (en) | Secure computation apparatus, secure computation method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040831 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041029 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041104 |
|
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: 20041130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041203 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121210 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121210 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131210 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |