JPH05224889A - 乗算装置 - Google Patents

乗算装置

Info

Publication number
JPH05224889A
JPH05224889A JP4025489A JP2548992A JPH05224889A JP H05224889 A JPH05224889 A JP H05224889A JP 4025489 A JP4025489 A JP 4025489A JP 2548992 A JP2548992 A JP 2548992A JP H05224889 A JPH05224889 A JP H05224889A
Authority
JP
Japan
Prior art keywords
multiplier
output
circuit
bits
bit
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.)
Pending
Application number
JP4025489A
Other languages
English (en)
Inventor
Michio Shimada
道雄 島田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP4025489A priority Critical patent/JPH05224889A/ja
Publication of JPH05224889A publication Critical patent/JPH05224889A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 部分積を逐次的に加算する乗算装置の演算速
度を、加算器の数を増やすことなく高速化することを目
的とする。 【構成】 乗数の2ビットが10ならば被乗数を上位に
1ビットシフトした値を入力し、乗数の2ビットが[0
1]または[11]ならば被乗数を出力し、乗数の2ビ
ットが[00]ならば「0」を出力する部分積回路10
5と、1ビットまたは2ビットのシフト量を選択できる
可変シフタ109と、1ビットまたは2ビットのシフト
量を選択できる積和レジスタ107と、乗数の2ビット
が[11]であるか否かを判定するための論理積回路1
10を用いることで、乗数の2ビットが[11]ならば
1ビット単位に部分積を処理し、乗数の2ビットが[0
0][10]または[01]ならば2ビット単位に部分
積を処理することを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、暗号通信装置に利用す
る。特に、この装置に採用される乗算装置に関する。
【0002】
【従来の技術】RSA暗号などを用いる暗号通信装置で
は、乗算などの四則演算をして暗号化や復号化を行うの
で、整数の乗算を小規模な回路で高速に実行する必要が
ある。乗算の方式としては様々なものがあるが、暗号通
信装置では、例えば512ビットとか1024ビットも
の整数の乗算が必要なために乗数の1ビットと被乗数と
の部分積を逐次的に求めてそれらの総和を求めることが
一般的である。なお、1ビット単位で部分積を求めて乗
算するとは、Lビットの乗数X=(XL-1 ,XL-2
…,X1 ,X0 )と被乗数Y=(YL-1 ,YL-2 ,…,
1 ,Y0 )との乗算結果Z=(Z2L-1,Z2L-2, …,
1 ,Z0 )を、次式の操作で求めることである。
【0003】
【数1】 ただし、上式で*は整数の乗算を表すものとする。2進
数の整数を2倍することは、その整数を上位ビットの方
に1ビットだけシフトすることに他ならないから、上式
の操作は例えば次式のような逐次的な操作として書き換
えられる。なお、次式でA≫BはAを下位ビットの方に
Bビットだけシフトすることを意味し、Zの初期状態を
「0」としてj=0からj=L−1まで操作を繰り返す
ものとする。また、部分積の加算はZの上位ビット(Z
2L-1, …,ZL )に対して行うものとする。
【0004】Xj =0の場合: Z=Z≫1 Xj =1の場合: Z=(Z≫1)+Y 上式に示すように、1ビットずつ部分積を求めてそれら
の総和を求める乗算では、加算とシフトしか必要としな
いので装置化が容易である。
【0005】図5は従来の乗算装置を示す機能ブロック
図である。図に示すように、乗数は入力端子501から
入力されて乗数レジスタ502に保持される。乗数レジ
スタ502に保持された乗数のうち下位1ビットが論理
積回路505に供給され、演算が1ステップ進行するご
とに乗数レジスタ502に保持された乗数は下位方向に
1ビットずつシフトされる。被乗数は入力端子503か
ら供給されて被乗数レジスタ504に保持され、被乗数
レジスタ504に保持された被乗数は論理積回路505
に供給される。論理積回路505は被乗数レジスタ50
4から供給される被乗数のそれぞれのビットと乗数レジ
スタ502から供給される乗数の1ビットとの論理積を
それぞれ計算してその結果を出力する。積和レジスタ5
07は乗算結果を保持するためのレジスタで、保持され
た内容が1ビットシフタ509に供給され、1ビットシ
フタ509と論理積回路505の出力が加算器506で
加算され、加算結果が積和レジスタ507に供給されて
いる。積和レジスタ507は、乗算が1ステップ進行す
るごとに加算器106から供給される加算結果を記録す
るとともに、下位方向にシフトされる。そして、積和レ
ジスタ507に得られた乗算結果は出力端子508から
出力される。なお、制御回路511は、以上の操作を実
行するために必要な制御信号を乗数レジスタ502、被
乗数レジスタ504、積和レジスタ507、入力端子5
01、503および出力端子508に供給するもので、
例えば、制御信号のパターンがあらかじめ書き込まれた
リードオンリメモリの内容をカウンタによって順に読み
出してゆくことで実現できる。
【0006】なお、RSA暗号などの暗号通信方式は、
四則演算によって情報を暗号化する方法であり、例え
ば、平成3年に発行されたbit第23巻10号の14
23項から1432項に掲載の岡本著「明るい情報化社
会の実現をめざす暗号技術暗号アルゴリズム(2)−
非対称(公開鍵)暗号アルゴリズム」などに解説があ
る。
【0007】
【発明が解決しようとする課題】しかし、従来例で行わ
れる逐次的な乗算では、1ビットずつ部分積を求めるた
めに演算速度が遅い欠点があった。
【0008】本発明は、従来の乗算装置と加算器の数が
等しく、従来の乗算装置より高速な乗算装置を提供する
ことを目的とする。
【0009】
【課題を解決するための手段】本発明は、乗数を保持す
る乗数レジスタと、被乗数を保持する被乗数レジスタ
と、この被乗数とこの乗数との乗算結果が経由する出力
端子とを備えた乗算装置において、上記乗数レジスタに
保持された乗数の下位2ビットが[10]であるときに
上記被乗数レジスタに保持された被乗数を上位に1ビッ
トシフトした値を出力し、この乗数の下位2ビットが
[01]または[11]であるときにこの被乗数を出力
し、この乗数の下位2ビットが[00]であるときに
「0」を出力する部分積回路と、上記乗数レジスタに保
持された乗数の下位2ビットが[11]であるか否かを
判定する論理積回路と、供給される値を上記論理積回路
の出力に応じて1ビットまたは2ビットシフトして保持
し、この保持された値を上記出力端子に供給する積和レ
ジスタと、この積和レジスタから供給される値を上記論
理積回路の出力に応じて1ビットまたは2ビットシフト
して出力する可変シフタと、この可変シフタの出力と上
記部分積回路の出力とを加算してその結果を上記積和レ
ジスタに供給する加算器とを備えたことを特徴とする。
【0010】ここで、上記部分積回路は、上記被乗数レ
ジスタの出力に接続された1ビットシフタと、上記乗数
レジスタが保持する乗数の2ビットのうち上位ビットが
一方の入力に接続され、この乗数の2ビットのうち下位
ビットの反転出力が他方の入力に接続された第一論理積
回路と、上記1ビットシフタの出力とこの第一論理積回
路の出力とを入力する第二論理積回路と、上記被乗数レ
ジスタの出力と上記乗数レジスタが保持する乗数の2ビ
ットのうちの下位ビットとを入力する第三論理積回路
と、上記第二論理積回路の出力とこの第三論理積回路の
出力とを入力しその出力を上記可変シフタに与える論理
和回路とを備えても良い。
【0011】
【作用】本発明は、1ビット単位ではなく、2ビット単
位で部分積を求めることで演算速度を改善する。ここ
で、2ビット単位で部分積を求めて乗算するとは、Lビ
ットの乗数X=(XL-1 ,XL-2 ,…,X1 ,X0 )と
被乗数Y=(YL-1 ,YL-2 ,…,Y1 ,Y0 )との乗
算結果Z=(Z2L-1,Z2L-2,…,Z1 ,Z0 )を次式
のような操作で求めることである。ただし次式で、[X
2j+12j]は乗数Xの2j+1番目のビットと2j番目
のビットの計2ビットによって構成される2ビット整数
とし、*は整数の乗算を表すものとする。また、説明の
便宜上、Lは2で割り切れるものとする。
【0012】
【数2】 さて、[00]*Y=0,[01]*Y=Yであり、
[10]*Yは乗数Yを1ビットだけ上位にシフトさせ
ることに他ならないから、上式の操作は例えば次式のよ
うな逐次的な操作として書き換えられる。なお次式で
は、A≪BはAを上位にBビットシフトすることを、A
≫BはAを下位にBビットシフトすることをそれぞれ意
味し、Zの初期状態を「0」としてj=0からj=L/
2−1まで操作を繰り返すものとする。また、部分積の
加算はZの上位ビット(Z2L-1,…,ZL )に対して行
うものとする。
【0013】 [X2j+12j]=00の場合: Z=Z≫2 [X2j+12j]=01の場合: Z=(Z≫2)+Y [X2j+12j]=10の場合: Z=(Z≫2)+
(Y≪1) [X2j+12j]=11の場合: Z=(Z≫2)+
(Y≪1)+Y しかし、単に2ビットずつ部分積を求めるのでは演算速
度は改善しない。すなわち、上式に示すように、乗数の
2ビットが両方とも「1」の場合には、2回の加算が必
要となるが、これを2個の加算器を用いて処理すると1
ステップ当りの処理時間が約2倍になる。
【0014】そこで、本発明では、単に2ビットずつ部
分積をもとめるのではなく、乗数の2ビットが両方とも
「1」の場合には1ビットずつ部分積を処理し、それ以
外の場合には2ビットずつ部分積を処理する。すなわ
ち、次のような手順で乗算を行う。なお次式では、Zの
初期状態を「0」としてj=0からj=L/2−1まで
操作を繰り返すものとする。また、部分積の加算はZの
上位ビット(22L-1,…,ZL )に対して行うものとす
る。
【0015】 [X2j+12j]=00の場合: Z=Z≫2 [X2j+12j]=01の場合: Z=(Z≫2)+Y [X2j+12j]=10の場合: Z=(Z≫2)+
(Y≪1) [X2j+12j]=11の場合: Z=(Z≫1)+Y
を2回実行 すなわち、乗数の2ビットが[11]の場合には処理を
2ステップに分割して行うわけである。上式のような手
順では、どのステップも加算回数が1回なので、1ステ
ップの処理に要する時間は1ビット単位に部分積を求め
る方法では、2ビット分の部分積を計算するのに2ステ
ップ必要だったのに対して、上式の手順では平均すると
(1+1+1+2)/4=1.25ステップしか必要と
しない。したがって、上式にもとづく本発明の乗算装置
の演算速度は、従来の1ビットずつ部分積を求める方式
に比べて平均で2/1.25=1.6倍高速になる。
【0016】
【実施例】以下、本発明の一実施例を図面に基づき説明
する。図1はこの実施例を示す機能ブロック図である。
この実施例は、図1に示すように、乗数を保持する乗数
レジスタ102と、被乗数を保持する被乗数レジスタ1
04と、この被乗数とこの乗数との乗算結果が経由する
出力端子108とを備え、さらに、本発明の特徴とする
手段として、乗数レジスタ102に保持された乗数の下
位2ビットが[10]であるときに被乗数レジスタ10
4に保持された被乗数を上位に1ビットシフトした値を
出力し、この乗数の下位2ビットが[01]または[1
1]であるときにこの被乗数を出力し、この乗数の下位
2ビットが[00]であるときに「0」を出力する部分
積回路105と、乗数レジスタ102に保持された乗数
の下位2ビットが[11]であるか否かを判定する論理
積回路110と、供給される値を上記論理積回路110
の出力に応じて1ビットまたは2ビットシフトして保持
し、この保持された値を上記出力端子108に供給する
積和レジスタ107と、この積和レジスタ107から供
給される値を上記論理積回路110の出力に応じて1ビ
ットまたは2ビットシフトして出力する可変シフタ10
9と、この可変シフタ109の出力と部分積回路105
の出力とを加算してその結果を積和レジスタ107に供
給する加算器106とを備える。
【0017】次に、この実施例の動作を説明する。乗数
は入力端子101から入力されて乗数レジスタ102に
保持される。乗数レジスタ102に保持された乗数のう
ち下位2ビットが論理積回路110と部分積回路105
とに供給され、乗数の2ビットの処理が完了するごとに
乗数レジスタ102に保持された乗数は下位方向に2ビ
ットずつシフトされる。被乗数は入力端子103から供
給されて被乗数レジスタ104に保持され、被乗数レジ
スタ104に保持された被乗数は部分積回路105に供
給される。部分積回路105は被乗数レジスタ104か
ら供給される被乗数と乗数レジスタ102から供給され
る乗数の2ビットとの部分積を計算してその結果を出力
する。ただし、先に述べたように、乗数の2ビットが
[11]の場合には1ビットずつ部分積を処理し、それ
以外の場合には2ビットずつ部分積を処理するので、部
分積回路105は、乗数の2ビットが[00]のときに
は「00…0」を、乗数の2ビットが[10]のときは
入力を1ビットだけ上位方向にシフトした値を、乗数の
2ビットが[01]または[11]のときには入力され
た値をそれぞれ出力する。積和レジスタ107は乗算結
果を保持するためのレジスタで、保持された内容が可変
シフタ109に供給され、可変シフタ109と部分積回
路105との出力が加算器106で加算され、加算結果
が積和レジスタ107に供給されている。積和レジスタ
107は、乗算が1ステップ進行するごとに加算器10
6から供給される加算結果を記録するとともに、下位方
向にシフトされる。そして、積和レジスタ107に得ら
れた乗算結果は出力端子108から出力される。なお、
先に述べたように、乗数の2ビットが[11]の場合に
は1ビットずつ部分積を処理し、それ以外の場合には2
ビットずつ部分積を処理するので、可変シフタ109
は、乗数の2ビットが[00]、[01]、[10]の
ときには入力を2ビットだけ上位方向にシフトした値を
出力し、乗数の2ビットが[11]のときには入力を1
ビットだけ上位方向にシフトした値を出力する必要があ
り、また、積和レジスタ107は、乗数の2ビットが
[00]、[01]、[10]のときには1ステップご
とに下位方向に2ビットずつシフトし、乗数の2ビット
が[11]のときには1ステップごとに下位方向に1ビ
ットずつシフトする必要がある。このために、論理積回
路110の出力が積和レジスタ107と可変シフタ10
9とに供給されており、可変シフタ109は論理積回路
110の出力が「0」の場合には入力を上位方向に2ビ
ットシフトした値を出力し、論理積回路110の出力が
「1」の場合には入力を上位方向に1ビットシフトした
値を出力し、また、積和レジスタ107は論理積回路1
10の出力が「0」の場合には1ステップごとに下位方
向に2ビットずつシフトし、論理積回路110の出力が
「1」の場合には1ステップごとに下位方向に1ビット
ずつシフトする。なお、制御回路111は、論理積回路
110の出力に応じて積和レジスタ107に供給する制
御信号の数を「1」または「2」に選択することと発生
する制御信号の数が異なることとが従来の乗算器で使わ
れる制御回路511と異なり、それ以外の機能は従来の
乗算器で使われている制御回路511と同様であり、以
上の操作を実行するために必要な制御信号を乗数レジス
タ102、被乗数レジスタ104、積和レジスタ10
7、入力端子101、103および出力端子108に供
給する。
【0018】図2は、図1の乗算装置で使われる部分積
回路105の基本構成を示す機能ブロック図である。図
に示すように、入力端子201からは被乗数レジスタ1
04に保持された被乗数が入力され、1ビットシフタ2
02と論理積回路204とに供給される。入力端子20
7からは乗数レジスタ102から出力される乗数の2ビ
ットのうち上位のビットが入力され、論理積回路208
に供給される。入力端子210からは乗数レジスタ10
2から出力される乗数の2ビットのうち下位のビットが
入力され、否定回路209と論理積回路204とに供給
される。否定回路209の出力は論理積回路208に供
給される。論理積回路208は否定回路209の出力と
入力端子207から供給される乗数の1ビットとの論理
積を計算し、その結果を論理積回路203に供給する。
1ビットシフタ202は入力された数値を1ビットだけ
上位方向にシフトして出力するもので、実際には配線に
よって実現されるもので論理回路は必要としない。論理
積回路203は1ビットシフタ202の出力のそれぞれ
のビットと論理積回路208の出力との論理積をそれぞ
れ計算し、その結果を論理和回路205に供給する。論
理積回路204は入力端子201から供給される被乗数
のそれぞれのビットと入力端子210から供給される乗
数の1ビットとの論理積をそれぞれ計算し、その結果を
論理和回路205に供給する。論理和回路205は論理
積回路203と論理積回路204の出力のビットごとの
論理和をそれぞれ計算し、その結果を出力端子206か
ら出力する。論理積回路208の出力が「1」になるの
は、入力端子207および210から供給される乗数が
[10]の場合だけであるから、図2の部分積回路は、
乗数が[10]のときには入力端子201に供給される
被乗数を1ビットだけ上位方向にシフトした数値を出力
端子206から出力し、乗数が[00]の場合には「0
0…0」を出力端子206から出力し、それ以外の場合
には入力された被乗数をそのまま出力する。なお、常に
2ビットずつ部分積を処理する方法では、部分積回路に
加算器が必要であるが、本発明では乗数が[11]のと
きには1ビットずつ部分積を処理するので、図2のよう
に、加算器を使わないで部分積回路を実現できる。
【0019】図3は、図1の乗算装置で使われる可変シ
フタ109の基本構成を示す機能ブロック図である。図
に示すように、積和レジスタ107の内容が入力端子3
01から入力され、2ビットシフタ302と1ビットシ
フタ303とにそれぞれ供給されている。入力端子30
6からは論理積回路110の出力が入力され、セレクタ
304に供給される。2ビットシフタ302は入力され
た数値を2ビットだけ上位方向にシフトして出力するも
ので、実際には配線によって実現され論理回路を必要と
しない。1ビットシフタ303は入力された数値を1ビ
ットだけ上位方向にシフトして出力するもので、実際に
は配線によって実現され論理回路は必要としない。セレ
クタ304は、論理積回路110の出力が「1」ならば
1ビットシフタの出力を出力端子305から出力し、論
理積回路110の出力が「0」ならば2ビットシフタ3
02の出力を出力端子305から出力する。
【0020】さて、図1に示す乗算装置は、演算の中間
結果すなわちZの値のすべてを積和レジスタ107に保
持することもあるが、積和レジスタ107の回路規模を
節約するために、出力端子108から積和レジスタ10
7の内容を下位ビットから順に出力し、演算を行いなが
ら演算結果を外部の記憶装置に転送することもある。し
かし、この実施例では、乗数の値に応じて部分積を2ビ
ットずつ処理したり1ビットずつ処理するので、単に積
和レジスタ107の下位2ビットを出力端子108から
出力するのでは記憶装置に正しく転送できない。
【0021】図4は、演算を行いながら演算結果を記憶
装置に転送するために、図1の乗算装置と記憶装置との
間のデータ信号および制御信号を調整するインタフェー
ス回路の基本構成を示す機能ブロック図である。図に示
すように、積和レジスタ107の最下位ビットの値が入
力端子402から入力され、遅延回路405、セレクタ
408およびセレクタ409に供給され、積和レジスタ
107の下位から2ビット目の値が入力端子401から
入力され、セレクタ408に供給されている。入力端子
403から制御回路111の制御信号が入力され、遅延
回路405、406および論理和回路410に供給され
ている。この制御信号は積和レジスタ107にも供給さ
れ、通常は「1」で、積和レジスタ107の内容をシフ
トする際に「0」になって再び「1」に戻るようなパル
スが発生される。なお、論理積回路110の出力が
「0」の場合には2ビットの乗数を処理するのに1個の
パルスが発生され、論理積回路110の出力が「1」の
場合には2ビットの乗数を処理するのに2個のパルスが
発生される。入力端子404からは論理積回路110の
出力が入力され、遅延回路406、セレクタ408、セ
レクタ409および論理積回路411に供給される。セ
レクタ408は、入力端子404から供給される論理積
回路110の値が「0」であれば入力端子401から供
給される値をその出力に選び、論理積回路110の値が
「1」であれば入力端子402から供給される値をその
出力に選び、セレクタ408の出力は出力端子412か
ら出力される。セレクタ409は、入力端子404から
供給される論理積回路110の値が「0」であれば入力
端子402から供給される値をその出力に選び、論理積
回路110の値が「1」であれば遅延回路405の出力
をその出力に選び、セレクタ409の出力は出力端子4
13から出力される。遅延回路405は、入力端子40
3からパルスが供給されるごとに入力端子402の値を
その出力として保持する。出力端子412と出力端子4
13とは出力端子108に接続される。このようにすれ
ば、論理積回路110の出力が「0」の場合には積和レ
ジスタ107の下位2ビットが出力端子108からその
まま出力され、一方、論理積回路110の出力が「1」
の場合には入力端子403からパルスが1個入った後に
積和レジスタ107の下位2ビットが出力端子108に
出力される。
【0022】次に、出力端子108に接続される記憶装
置の書き込みを制御するためのパルスの制御について述
べる。図4に示すインタフェース回路では、遅延回路4
06に入力端子403からパルスが入力されるごとに入
力端子404から供給される論理積回路110の出力を
遅延回路406の出力として保持する。そして、遅延回
路406の出力を否定回路407で反転し、否定回路4
07の出力と入力端子404から供給される論理積回路
110の出力との論理積を論理積回路411でとる。論
理積回路411の出力は、論理積回路110の出力が
「1」になった直後から入力端子403からパルスが入
力されるまで「1」で、それ以外のときは「0」であ
る。そして、入力端子403から供給される制御信号と
論理積回路411の出力との論理和が論理和回路410
で計算され、その結果が出力端子414から出力され
る。したがって、論理積回路110の出力が「1」の場
合には2ビットの乗数を処理するために入力端子403
からパルスが2個入るが、最初のパルスは出力端子41
4から出力されずに2番目のパルスだけが出力される。
したがって、出力端子414を記憶装置の書き込み制御
端子に入力すれば積和レジスタ107の下位2ビットは
記憶装置に正しく転送される。
【0023】なお、図1に示す乗算装置では、入力端子
101から乗数レジスタ102へのデータ転送や、入力
端子103から被乗数レジスタ104へのデータ転送
や、積和レジスタ107から出力端子108へのデータ
転送をシリアルに行っているが、各レジスタを複数のブ
ロックに分割してそれぞれのレジスタに対するシリアル
なデータ転送を並列に行えばデータ転送速度を改善でき
る。また、図1に示す乗算装置は乗数レジスタ102を
内蔵しているが、外部の記憶装置から乗数の2ビットを
読み込んで論理積回路110と部分積回路105とに供
給すれば乗数レジスタ102は不要になる。また、加算
器106として任意の加算器が使える。
【0024】
【発明の効果】本発明は、以上述べたように、加算器を
増やさないで、従来の乗算装置より1.6倍高速な乗算
装置を実現できる効果がある。
【図面の簡単な説明】
【図1】本発明実施例の構成を示すブロック構成図。
【図2】図1に含まれる部分積回路の構成を示すブロッ
ク構成図。
【図3】図1に含まれる可変シフタの構成を示すブロッ
ク構成図。
【図4】本発明実施例と記憶装置との間のインタフェー
スの構成を示すブロック構成図。
【図5】従来例の構成を示すブロック構成図。
【符号の説明】
102 乗数レジスタ 104 被乗数レジスタ 105 部分積回路 106 加算器 107 積和レジスタ 109 可変シフタ 110 論理積回路 111 制御回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 乗数を保持する乗数レジスタと、被乗数
    を保持する被乗数レジスタと、この被乗数とこの乗数と
    の乗算結果が経由する出力端子とを備えた乗算装置にお
    いて、 上記乗数レジスタに保持された乗数の下位2ビットが
    [10]であるときに上記被乗数レジスタに保持された
    被乗数を上位に1ビットシフトした値を出力し、この乗
    数の下位2ビットが[01]または[11]であるとき
    にこの被乗数を出力し、この乗数の下位2ビットが[0
    0]であるときに「0」を出力する部分積回路と、 上記乗数レジスタに保持された乗数の下位2ビットが
    [11]であるか否かを判定する論理積回路と、 供給される値を上記論理積回路の出力に応じて1ビット
    または2ビットシフトして保持し、この保持された値を
    上記出力端子に供給する積和レジスタと、 この積和レジスタから供給される値を上記論理積回路の
    出力に応じて1ビットまたは2ビットシフトして出力す
    る可変シフタと、 この可変シフタの出力と上記部分積回路の出力とを加算
    してその結果を上記積和レジスタに供給する加算器とを
    備えたことを特徴とする乗算装置。
  2. 【請求項2】 上記部分積回路は、上記被乗数レジスタ
    の出力に接続された1ビットシフタと、上記乗数レジス
    タが保持する乗数の2ビットのうち上位ビットが一方の
    入力に接続され、この乗数の2ビットのうち下位ビット
    の反転出力が他方の入力に接続された第一論理積回路
    と、上記1ビットシフタの出力とこの第一論理積回路の
    出力とを入力する第二論理積回路と、上記被乗数レジス
    タの出力と上記乗数レジスタが保持する乗数の2ビット
    のうちの下位ビットとを入力する第三論理積回路と、上
    記第二論理積回路の出力とこの第三論理積回路の出力と
    を入力しその出力を上記可変シフタに与える論理和回路
    とを備えた請求項1記載の乗算装置。
JP4025489A 1992-02-12 1992-02-12 乗算装置 Pending JPH05224889A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4025489A JPH05224889A (ja) 1992-02-12 1992-02-12 乗算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4025489A JPH05224889A (ja) 1992-02-12 1992-02-12 乗算装置

Publications (1)

Publication Number Publication Date
JPH05224889A true JPH05224889A (ja) 1993-09-03

Family

ID=12167475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4025489A Pending JPH05224889A (ja) 1992-02-12 1992-02-12 乗算装置

Country Status (1)

Country Link
JP (1) JPH05224889A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527161A (ja) * 2006-02-17 2009-07-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 積和演算を実行する方法及び装置
JP2011118633A (ja) * 2009-12-02 2011-06-16 Nec Corp 浮動小数点除算器、及びそれを用いた情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527161A (ja) * 2006-02-17 2009-07-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 積和演算を実行する方法及び装置
JP2011118633A (ja) * 2009-12-02 2011-06-16 Nec Corp 浮動小数点除算器、及びそれを用いた情報処理装置

Similar Documents

Publication Publication Date Title
EP0976027B1 (en) ARITHMETIC PROCESSOR combining finite field arithmetic and modular integer arithmetic
US4754421A (en) Multiple precision multiplication device
US5764554A (en) Method for the implementation of modular reduction according to the Montgomery method
EP0801345B1 (en) Circuit for modulo multiplication and exponentiation arithmetic
CN110351087B (zh) 流水线型的蒙哥马利模乘运算方法
JP4201980B2 (ja) マルチプレシジョン整数演算用の装置
CN112070222A (zh) 用于联邦学习的处理架构、加速器及方法
JPH1021057A (ja) データ処理装置及びマイクロコンピュータ
JP3213628B2 (ja) Mを法として長い整数を乗算するための算術ユニット及びそのような乗算デバイスを具えるr.s.a.変換器
US6917956B2 (en) Apparatus and method for efficient modular exponentiation
US6963644B1 (en) Multi-word arithmetic device for faster computation of cryptosystem calculations
US4065666A (en) Multiply-divide unit
JP2000353077A (ja) 多倍長演算装置
US6341299B1 (en) Modular arithmetic coprocessor enabling the performance of non-modular operations at high speed
US6424987B1 (en) Method for the implementation of a specific modular multiplication operation relating to the montgomery method
EP1573510B1 (en) Multiplier with look up tables
EP0474246A2 (en) Image signal processor
JPH05224889A (ja) 乗算装置
JPH06175583A (ja) べき乗剰余演算回路
US5912904A (en) Method for the production of an error correction parameter associated with the implementation of modular operations according to the Montgomery method
US20030065694A1 (en) Montgomery multiplier with dual independent channels
US5999953A (en) Method for the production of a parameter Jo associated with the implementation of a modular operation according to the Montgomery method
US5650952A (en) Circuit arrangement for forming the sum of products
JP3166781B2 (ja) 加算回路
US6275837B1 (en) Method for the implementation of an elementary modular operation according to the Montgomery method