JPH05307465A - 乗算剰余演算装置 - Google Patents

乗算剰余演算装置

Info

Publication number
JPH05307465A
JPH05307465A JP4091312A JP9131292A JPH05307465A JP H05307465 A JPH05307465 A JP H05307465A JP 4091312 A JP4091312 A JP 4091312A JP 9131292 A JP9131292 A JP 9131292A JP H05307465 A JPH05307465 A JP H05307465A
Authority
JP
Japan
Prior art keywords
input
intermediate value
output
bit
value
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.)
Withdrawn
Application number
JP4091312A
Other languages
English (en)
Inventor
Hiroyuki Masumoto
裕幸 桝本
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 JP4091312A priority Critical patent/JPH05307465A/ja
Publication of JPH05307465A publication Critical patent/JPH05307465A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【構成】レジスタ101,102の乗数をレジスタ10
6,107に被乗数をレジスタ105に2のn乗から除
数を減した値を格納し、レジスタ106,107に0を
格納する。ビット抽出手段108は第1〜nステップ毎
にレジスタ101,102のビットを第n−1〜0ビッ
トまで取り出し2つのビットの和を出力する。乗算手段
113,114は2つのビットの和にレジスタ103,
104で乗した値をそれぞれ出力し、遅延加算109,
110で第n−3ビット以上の部分121,122を近
似除算回路116と遅延加算器111とに出力する。補
正回路112は、遅延加算器111からの入力を補正し
てレジスタ106,107に書き込む。以上の動作を第
1ステップから第n+5ステップまでn+5回繰り返
す。 【効果】小規模なハードウェアと少ない実行ステップ
で、暗号などで有用な乗算剰余演算を高速に演算するこ
とができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は乗算剰余演算装置に関
し、特に暗号装置などにおける大きな整数の乗算剰余演
算を行う乗算剰余演算装置に関する。
【0002】
【従来の技術】従来の乗算剰余演算装置において、大き
な整数の乗算剰余演算には多くの方法が提案されている
が、ブリッケル(E.F.Brickell)の方法と
ギブソン(J.K.Gibson)の方法とがある。前
者は1982年のクリプト82(CRYPTO’82)
のプロシーディングスに掲載のブリッケルの論文“AF
AST MODULAR MULTIPLICATIO
N ALGORITHM WITH APPLICAT
IONS TO TWO KEY CRYPTGRAP
HY”に記載され、簡単なハードウェアと少ない実行ス
テップで乗算剰余を計算する演算アルゴリズムである。
後者のギブソンは、1988年のビット第28号に記載
の論文、“A GENERALISATION OF
BRICKELL’S ALGORITHM FOR
FAST MODULAR MULTIPLICATI
ON”においてアルゴリズムに新たに補正手段を導入
し、実行ステップ数とハードウェア規模の縮小を行っ
た。ギブソンは、この装置の実現に、n+8ビットのレ
ジスタと、n+8回の実行ステップを用いていた。
【0003】
【発明が解決しようとする課題】上述した従来の乗算剰
余演算装置において、ギブソンは、装置の実現にはレジ
スタ長と実行ステップ数ともにn+8を使用したが、詳
細な解析により、これがn+5で十分であり、不必要な
構成を含んでいたため、実行ステップ数とハードウェア
規模の両方に無駄が生じていた。
【0004】また、従来例では第2の遅延加算の出力か
ら近似除算を行っていたため、近似除算を行う間、他の
回路がその結果待ち状態になって無駄が生じてしまうと
いう問題がある。
【0005】本発明の目的は、不要であったレジスタ長
の一部を取り除くことにより、より少ない実行ステップ
数とハードウェア規模で同等の演算を行い、更に遅延零
加算回路を導入することにより、第1及び第2の遅延加
算の実行中に、平行して近似除算を行うことを可能と
し、1ステップに要する通過回路数を削減し、演算の高
速化をはかった乗算剰余演算装置を提供することにあ
る。
【0006】
【課題を解決するための手段】本発明の乗算剰余演算装
置は、5つのnビットの整数の入力と2つのnビットの
整数の出力とを有し第4の入力整数と第5の入力整数が
ともに2のn−1乗以下であるとき第1出力と第2出力
との和が第1の入力整数と第2の入力整数の和と第3の
入力整数と前記第4の入力整数の和との積を2のn乗と
前記第5の入力整数との差で除した剰余あるいは前記剰
余に2のn乗と前記第5の入力整数との差を加算した値
のどちらかに等しくなるような乗算剰余演算装置であっ
て、前記第1,第2,第3,第4および第5の入力整数
をそれぞれ格納するnビットの第1,第2,第3,第4
および第5の記憶手段と、作業用および演算結果の格納
に使用するn+5ビットの第6および第7の記憶手段
と、第1回ステップから第n回ステップまで前記第1の
記憶手段および第2の記憶手段それぞれから最上位の第
n−1ビットから最下位の第0ビットまでの1ビットず
つ順次取り出してこの2つのビットの値を和を出力し第
n+1ステップ以降は0を出力するビット抽出手段と、
前記ビット抽出手段の出力が0のとき0を、1のとき前
記第4の記憶手段の値を、2のとき前記第4の手段の値
を1ビット左シフトした値をそれぞれ出力する第1の演
算手段と、前記ビット抽出手段の出力が0のとき0を、
1のとき前記第3の記憶手段の値を、2のとき前記第3
の記憶手段の値を1ビット左シフトした値をそれぞれ出
力する第2の乗算手段と、前記第6の記憶手段の内容を
1ビット左シフトした値を第1入力とし前記第7の記憶
手段の内容を1ビット左シフトした値を第2入力とし前
記第1の乗算手段の出力を第3入力とし前記第1入力と
第2入力との排他的論理和を第1中間値とし前記第1入
力と第2入力との論理積を1ビット左シフトした値を第
2中間値とし、前記第2中間値と第3入力との論理和を
第3中間値とし前記1中間値と第3中間値との排他的論
理和を第1出力に出力し、前記第1中間値と第3中間値
との論理積を1ビット左シフトした値を第2出力として
出力する第1の遅延加算手段と、前記第1の遅延加算手
段の第1出力を第1入力とし前記第1の遅延加算手段の
第2出力を第2入力とし前記第2の乗算手段の出力を第
3入力とし前記第1入力と第2入力との排他的論理和を
第1中間値とし前記第1入力と第2入力との論理積を1
ビット左シフトした値を第2中間値とし前記第2中間値
と第3入力との論理和を第3中間値とし前記第1中間値
と第3中間値との排他的論理和を第1出力に出力し前記
第1中間値と第3中間値との論理席を1ビット左シフト
した値を第2出力として出力する第2の遅延加算手段
と、前記第2の遅延加算手段の第1出力の第n−3ビッ
ト以上の部分を第1入力とし前記第2の遅延加算手段の
第2出力の第n−3ビット以上の部分を第2入力とし前
記第5の記憶手段の第n−3ビット以上の部分を第3入
力とし前記第1入力と第3入力との排他的論理和を1ビ
ット左シフトした値を第1中間値とし前記第1入力と第
3入力との論理積を第2中間値とし前記第2中間値と第
2入力との論理和を第3中間値とし前記第1中間値と第
3中間値との排他的論理和を1ビット右シフトした値を
第4中間値とし前記第1中間値と第3中間値との論理積
を第5中間値とし前記第4中間値と第5中間値との和を
1ビット右シフトした値を第6中間値とし前記第3入力
を1ビット左シフトした値を第10中間値とし前記第1
入力と第10中間値との排他的論理和を1ビット右シフ
トした値を第11中間値とし前記第1入力と第3入力と
の論理積を第12中間値とし前記第12中間値と第2入
力との論理和を第13中間値とし前記第11中間値と第
13中間値との排他的論理和を1ビット右シフトした値
を第14中間値とし、前記第11中間値と第13中間値
との論理積を第15中間値とし前記第14中間値と第1
5中間値との和を1ビット右シフトした値を第16中間
値とし第16中間値が2に等しいとき2を前記第16中
間値が1に等しいとき1をどちらでもないとき0を出力
する近似除算手段と、前記近似除算手段の出力が0のと
きは0を1のときは第5の記憶手段の値を5ビット左シ
フトした値を2のときは第5の記憶手段の値を6ビット
左シフトした値をそれぞれ出力する第3の乗算手段と、
前記第2の遅延加算手段の第1出力を第1入力とし前記
第2の遅延加算手段の第2出力を第2入力とし前記第3
の乗算手段の出力を第3入力とし前記第1入力と第2入
力との排他的論理和を第1中間値とし前記第1入力と第
2入力との論理積を1ビット左シフトした値を第2中間
値とし前記第2中間値と第3入力との論理和を第3中間
値とし前記第1中間値と第3中間値との排他的論理和を
第1出力に出力し前記第1中間値と第3中間値との論理
積を1ビット左シフトした値を第2出力に出力する第3
の遅延加算手段と、前記第3の遅延加算手段の第1出力
の第n+4ビットとの排他的論理和を中間値とし前記第
3の遅延加算器の第1出力の下位n+5ビットの第n+
4ビットのみ前記中間値で置き換えた値を第1出力と
し、前記第3の遅延加算器の第2出力の下位n+5ビッ
トの第n+4ビットのみを0に置き換えた値を第2出力
とする補正手段とを具備し、演算の開始時において、前
記第1の記憶手段に第1の入力整数を第2の記憶手段に
第2の入力整数を第3の記憶手段に第3の入力整数を第
4の記憶手段に第4の入力整数を第5の記憶手段に第5
の入力整数を第6の記憶手段に0を第7の記憶手段に0
をそれぞれ格納し前記第6の記憶手段と第7の記憶手段
への値の格納により前記補正手段の第1の出力と第2の
出力とをそれぞれ前記第6の記憶手段と第7の記憶手段
に格納することをn+5回繰り返し第n+5ステップが
終了した時点で前記第6の記憶手段の内容を第1の出力
とし前記第7の記憶手段の内容を第2の出力とすること
を特徴とする。また、前記第6の記憶手段の第n−6ビ
ット以上の部分を第1入力とし前記第7の記憶手段の第
n−6ビット以上の部分を第2入力とし前記第1入力と
第2入力の排他的論理和を1ビット右シフトしたものを
第1中間値とし前記第1入力と第2入力の論理積を第2
中間値とし前記第1中間値と第2中間値の排他的論理和
を1ビット右シフトしたものを第1出力とし前記第1中
間値と第2中間値の論理積を第2出力とする遅延零加算
手段を具備し、前記近似除算手段の第1入力と第2入力
を前記遅延零加算手段のそれぞれ第1出力と第2出力と
で置き換えることを特徴とする。
【0007】
【実施例】次に本発明について図面を参照して説明す
る。図1は本発明の第1の実施例のブロック図、図2は
本発明の第2の実施例のブロック図、図3は本実施例の
遅延加算回路のブロック図、図4は本実施例の近似除算
回路のブロック図、図5は本実施例の遅延零加算回路の
ブロック図である。
【0008】本実施例において、2つの整数の組から成
り、第1の整数と、第2の整数を1ビット左シフトした
値との論理積が0であるような整数を遅延キャリー整数
と呼ぶ。これらの2つの整数の和を、その遅延キャリー
整数の値とする。遅延加算では、遅延キャリー整数1組
と、通常の整数を1つ入力し、遅延キャリー整数を1組
出力する。図3の遅延加算回路では、遅延キャリー整数
の第1整数,第2整数,通常整数をそれぞれ第1入力,
第2入力,第3入力に入力すると、第1出力と第2出力
に、それぞれ遅延キャリー整数の第1整数と第2整数が
出力され、出力された遅延キャリー整数の値は、入力さ
れた遅延キャリー整数と値と、入力された通常の整数の
値の和に等しくなる。すなわち、入力である通常整数と
遅延キャリー整数の第1整数と第2整数の3つの和は、
出力の遅延キャリー整数の第1整数と第2整数の和に等
しいということである。通常の加算器では、キャリー
(繰り上がり)の伝搬があるため、入力信号は最悪の場
合ビット数nに比例する回路を通過して出力される。し
かし遅延加算器では、入力信号は出力までたかだか3つ
の回路しか通過しない。
【0009】さて、基本的な乗算の方法は、乗数のビッ
トを1ビットずつ取り出し、該ビットの値と被乗数との
積を、レジスタを2倍にしながら累加算していくという
一般の二進数の筆算と同じやりかたである。ただ、乗算
を2本に分割しているため、ビットの取り出しでは2本
から1ビットずつ取り出して加算する手段を要し、同じ
く被乗数も2本に分割しているため、第1の遅延加算回
路109と第2の遅延加算回路110とを用いて2回に
分けて加算を行っている。なお、乗数、被乗数を2本に
分割している理由は、本装置の出力をそのまま入力に還
元することを容易にするためである。これは乗算剰余演
算を組み合わせた演算を行う場合に都合がよい。
【0010】第1,第2,第3,第4,第5,第6およ
び第7の記憶手段としてのレジスタ101〜107に格
納されている値をそれぞれAL,AH,BH,K,D
L,DHとする。また、剰余演算の除数となるのは2の
n乗からKを減じた差であり、この値をCとおく。D
L,DHには最初に0が格納され、以後部分積が順次累
加算されていく。第2の遅延加算回路110の出力は、
乗数AL,AHの対応ビットの和と、2つの被乗数BL
とBHのそれぞれとの積を、DL,DHを2倍した値に
遅延加算した結果の遅延キャリー整数表現となってい
る。ここで、遅延キャリー整数の第1整数,第2整数を
それぞれWL,WHとする。第3の遅延加算回路111
では、WL+WHをCで除した剰余を求める。剰余を求
めるために、近似除算回路116から出力される商を用
いる。この商は0,1,2のいずれかとなることが、数
学的に証明されている。そこで、近似除算回路116が
商を求めるための基本的な考え方は、WL+WHからC
の2倍を減じた差の符号を調べ、それが正であれば商は
2、でなければWL+WHからCを減じた差の符号を調
べ、それが正であれば商は1、でなければ商は0である
とするのである。遅延加算の性質により、下位ビットの
値が上位に伝搬しないため、これらの検査は上位数ビッ
トのみを用いて行うことができる。実際には2n乗から
除数Cを減じた差を用いて、減算の代わりに加算をもっ
て前記検査を行い、第3の遅延加算手段111によっ
て、出力された商とCとの積をWL,WHに遅延加算す
るという処理を行うことになる。
【0011】これにより、第3の遅延加算回路111の
出力は、DLとDHを2倍した値に、被乗数BL,BH
のそれぞれに、乗数ALとAHの部分ビットを乗じた積
を加算し、それをCで除した剰余か、あるいは該剰余に
Cを加えた値のどちらかとなる。これらの処理を、最初
にDL,DHに0を格納して、AL,AHのビットを上
位から順に取り出しながら、第3の遅延加算回路111
の出力をDL,DHに戻すというステップをn+5回繰
り返せば、AL+AHとBL+BHの積をCで除した剰
余あるいはその剰余にCを加えた値のどちらかがDLと
DHの和として得られる。
【0012】また遅延零加算回路217は、基本的には
0を2回遅延加算するものである。第1及び第2の遅延
加算回路109,110では、第3入力の上位5ビット
は常に0である。この時、この2段の遅延加算回路10
9,110は、図5のように簡略化され、通常は2段で
6つの回路を通過していた信号が、2つの回路を通過す
るのみで得られることになり、近似除算回路116への
入力が第2の遅延加算回路110の出力を持つよりも早
く入力される。このため、近似除算回路116と第2の
遅延加算回路110の処理の並列かが可能となり、1ス
テップに要する時間の短縮ができる。
【0013】次に第1の実施例の動作について図1を参
照して説明する。演算の実行に先だって、各レジスタに
入力整数を格納する。レジスタ101,102に乗数
を、レジスタ103,104に被乗数を、レジスタ10
5に2のn乗から除数を減じた値を格納する。また、レ
ジスタ106,107に0を格納する。以後、ビット抽
出回路108は、第1ステップから第nステップまで、
1ステップ毎に、nビットのレジスタ101,102の
ビットを、最上位ビットである第n−1ビットから始め
て、最下位ビットである第0ビットまで、それぞれ1ビ
ットずつ取り出し、2つのビットの和を出力する。第n
+1ステップ以降は0を出力する。
【0014】各ステップでの処理は、レジスタ106,
107の値をそれぞれ1ビット左シフトした値と、レジ
スタ103とビット抽出回路108の出力を乗算回路1
13で乗じた値を、遅延加算回路109に入力し、遅延
加算回路109の2つの出力と、レジスタ104にビッ
ト抽出回路108の出力を乗算回路114で乗じた値
を、遅延加算回路110に入力し、遅延加算回路110
の2つの出力およびレジスタ106のそれぞれ第n−3
ビット以上の部分121,122を近似除算回路116
に入力し、遅延加算回路110の2つの出力と、レジス
タ105に近似除算回路116の出力を乗算回路115
で乗じた値を、遅延加算回路111に入力し、遅延加算
回路111の2つの出力を、補正回路112に入力し、
補正回路112の2つの出力をレジスタ106,107
に書き込む動作を第1ステップから第n+5ステップま
で、n+5回繰り返す。この繰り返しが終了した時点
で、レジスタ106と107には、レジスタ101と1
02の和と、レジスタ103と104の和との積を、2
のn乗からレジスタ105の値を減じた差で除した剰余
であるか、あるいは、この剰余に2のn乗からレジスタ
105の値を減じた差を加えた値のどちらかが格納され
る。
【0015】次に第2の実施例について図2を参照して
説明する。第2の実施例は、近似除算回路116の入力
を除いて、第1の実施例と同じであり、異なる点は、遅
延零加算回路217を具備し、レジスタ106,107
のそれぞれの第n−6ビット以上の部分221,222
を遅延零加算回路217に入力し、該遅延加算回路21
7の2つの出力を近似除算回路116の入力に置き換え
ている。
【0016】図3は本実施例の遅延加算回路のブロック
図である。図3の遅延加算回路では、第1入力と、第3
入力を排他的論理和回路301と論理積回路302に入
力し、排他的論理和回路301の出力を第1中間値と
し、論理積回路302の出力を1ビット左シフトした値
を第2中間値とし、第2中間値と第2入力を論理和回路
303に入力し、その出力を第3中間値とし、第1中間
値と第3中間値を排他的論理和回路304と論理積回路
305に入力し、排他的論理和回路304の出力を第1
出力とし、論理積回路305の出力を1ビット左シフト
した値を第2出力としている。
【0017】図4は本実施例の近似除算回路のブロック
図である。図4の近似除算回路では、第1入力と第3入
力を排他的論理和回路401および論理積回路402に
入力し、排他的論理和回路401を1ビット左シフトし
た値を第1中間値とし、論理積回路402の出力を第2
中間値とし、第2中間値と第2入力とを論理和回路40
3に入力し、その出力を第3中間値とし、第1中間値と
第3中間値を排他的論理和回路404と論理積回路40
5に入力し、排他的論理和回路404の出力を1ビット
左シフトした値を第4中間値とし、論理積回路405の
出力を第5中間値とし、第4中間値と第5中間値を加算
右シフト回路406に入力し、その出力を1ビット右シ
フトした値を第6中間値とし、第3入力を1ビット左シ
フトした値を第10中間値とし、第1入力と第10中間
値を排他的論理和回路411および論理積回路412に
入力し、排他的論理和回路411を1ビット右シフトし
た値を第11中間値とし、論理積回路412の出力を第
2中間値とし、第12中間値と第2入力とを論理和回路
413に入力し、その出力を第13中間値とし、第11
中間値と第13中間値を排他的論理和回路414と論理
積回路415に入力し、排他的論理和回路414の出力
を1ビット右シフトした値を第14中間値とし、論理積
回路415の出力を第15中間値とし、第14中間値と
第15中間値を加算右シフト回路416に入力し、その
出力を1ビット右シフトした値を第16中間値とし、第
16中間値が2に等しいとき2を、そうでなくて、第6
中間値が1に等しいとき1を、どちらでもないとき0を
近似商判断手段420により出力する。
【0018】図5は本実施例の遅延零加算回路のブロッ
ク図である。図5の遅延零加算回路では、第1入力と第
2入力を排他的論理和回路501と論理積回路502に
入力し、排他的論理和回路501の出力を1ビット右シ
フトした値を第1中間値とし、論理積回路502の出力
を第2中間値とし、第1中間値と第2中間値を排他的論
理和回路503と論理積回路504に入力し、排他的論
理和回路502の出力を1ビット右シフトした値を第1
出力とし、論理積回路504の出力を第2出力としてい
る。
【0019】
【発明の効果】以上説明したように本発明によれば、n
ビットの整数入力を格納する記憶手段の無駄な部分を取
り除くことにより、実行ステップ数とハードウェア規模
の両方を削減することができる。また、遅延零加算回路
により、近似除算を遅延加算と並列に行うことにより、
1ステップの実行に要する遅延時間を短縮することがで
きる。
【図面の簡単な説明】
【図1】本発明の第1の実施例のブロック図である。
【図2】本発明の第2の実施例のブロック図である。
【図3】本実施例の遅延加算回路のブロック図である。
【図4】本実施例の近似除算回路のブロック図である。
【図5】本実施例の遅延零加算回路のブロック図であ
る。
【符号の説明】
101〜107 レジスタ 108 ビット抽出回路 109〜111 遅延加算回路 112 補正回路 113〜115 乗算回路 116 近似除算回路 217 遅延零加算回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 5つのnビットの整数の入力と2つのn
    ビットの整数の出力とを有し第4の入力整数と第5の入
    力整数がともに2のn−1乗以下であるとき第1出力と
    第2出力との和が第1の入力整数と第2の入力整数の和
    と第3の入力整数と前記第4の入力整数の和との積を2
    のn乗と前記第5の入力整数との差で除した剰余あるい
    は前記剰余に2のn乗と前記第5の入力整数との差を加
    算した値のどちらかに等しくなるような乗算剰余演算装
    置であって、前記第1,第2,第3,第4および第5の
    入力整数をそれぞれ格納するnビットの第1,第2,第
    3,第4および第5の記憶手段と、作業用および演算結
    果の格納に使用するn+5ビットの第6および第7の記
    憶手段と、第1回ステップから第n回ステップまで前記
    第1の記憶手段および第2の記憶手段それぞれから最上
    位の第n−1ビットから最下位の第0ビットまでの1ビ
    ットずつ順次取り出してこの2つのビットの値を和を出
    力し第n+1ステップ以降は0を出力するビット抽出手
    段と、前記ビット抽出手段の出力が0のとき0を、1の
    とき前記第4の記憶手段の値を、2のとき前記第4の手
    段の値を1ビット左シフトした値をそれぞれ出力する第
    1の演算手段と、前記ビット抽出手段の出力が0のとき
    0を、1のとき前記第3の記憶手段の値を、2のとき前
    記第3の記憶手段の値を1ビット左シフトした値をそれ
    ぞれ出力する第2の乗算手段と、 前記第6の記憶手段の内容を1ビット左シフトした値を
    第1入力とし前記第7の記憶手段の内容を1ビット左シ
    フトした値を第2入力とし前記第1の乗算手段の出力を
    第3入力とし前記第1入力と第2入力との排他的論理和
    を第1中間値とし前記第1入力と第2入力との論理積を
    1ビット左シフトした値を第2中間値とし、前記第2中
    間値と第3入力との論理和を第3中間値とし前記1中間
    値と第3中間値との排他的論理和を第1出力に出力し、
    前記第1中間値と第3中間値との論理積を1ビット左シ
    フトした値を第2出力として出力する第1の遅延加算手
    段と、前記第1の遅延加算手段の第1出力を第1入力と
    し前記第1の遅延加算手段の第2出力を第2入力とし前
    記第2の乗算手段の出力を第3入力とし前記第1入力と
    第2入力との排他的論理和を第1中間値とし前記第1入
    力と第2入力との論理積を1ビット左シフトした値を第
    2中間値とし前記第2中間値と第3入力との論理和を第
    3中間値とし前記第1中間値と第3中間値との排他的論
    理和を第1出力に出力し前記第1中間値と第3中間値と
    の論理席を1ビット左シフトした値を第2出力として出
    力する第2の遅延加算手段と、 前記第2の遅延加算手段の第1出力の第n−3ビット以
    上の部分を第1入力とし前記第2の遅延加算手段の第2
    出力の第n−3ビット以上の部分を第2入力とし前記第
    5の記憶手段の第n−3ビット以上の部分を第3入力と
    し前記第1入力と第3入力との排他的論理和を1ビット
    左シフトした値を第1中間値とし前記第1入力と第3入
    力との論理積を第2中間値とし前記第2中間値と第2入
    力との論理和を第3中間値とし前記第1中間値と第3中
    間値との排他的論理和を1ビット右シフトした値を第4
    中間値とし前記第1中間値と第3中間値との論理積を第
    5中間値とし前記第4中間値と第5中間値との和を1ビ
    ット右シフトした値を第6中間値とし前記第3入力を1
    ビット左シフトした値を第10中間値とし前記第1入力
    と第10中間値との排他的論理和を1ビット右シフトし
    た値を第11中間値とし前記第1入力と第3入力との論
    理積を第12中間値とし前記第12中間値と第2入力と
    の論理和を第13中間値とし前記第11中間値と第13
    中間値との排他的論理和を1ビット右シフトした値を第
    14中間値とし、前記第11中間値と第13中間値との
    論理積を第15中間値とし前記第14中間値と第15中
    間値との和を1ビット右シフトした値を第16中間値と
    し第16中間値が2に等しいとき2を前記第16中間値
    が1に等しいとき1をどちらでもないとき0を出力する
    近似除算手段と、 前記近似除算手段の出力が0のときは0を1のときは第
    5の記憶手段の値を5ビット左シフトした値を2のとき
    は第5の記憶手段の値を6ビット左シフトした値をそれ
    ぞれ出力する第3の乗算手段と、前記第2の遅延加算手
    段の第1出力を第1入力とし前記第2の遅延加算手段の
    第2出力を第2入力とし前記第3の乗算手段の出力を第
    3入力とし前記第1入力と第2入力との排他的論理和を
    第1中間値とし前記第1入力と第2入力との論理積を1
    ビット左シフトした値を第2中間値とし前記第2中間値
    と第3入力との論理和を第3中間値とし前記第1中間値
    と第3中間値との排他的論理和を第1出力に出力し前記
    第1中間値と第3中間値との論理積を1ビット左シフト
    した値を第2出力に出力する第3の遅延加算手段と、前
    記第3の遅延加算手段の第1出力の第n+4ビットとの
    排他的論理和を中間値とし前記第3の遅延加算器の第1
    出力の下位n+5ビットの第n+4ビットのみ前記中間
    値で置き換えた値を第1出力とし、前記第3の遅延加算
    器の第2出力の下位n+5ビットの第n+4ビットのみ
    を0に置き換えた値を第2出力とする補正手段とを具備
    し、 演算の開始時において、前記第1の記憶手段に第1の入
    力整数を第2の記憶手段に第2の入力整数を第3の記憶
    手段に第3の入力整数を第4の記憶手段に第4の入力整
    数を第5の記憶手段に第5の入力整数を第6の記憶手段
    に0を第7の記憶手段に0をそれぞれ格納し前記第6の
    記憶手段と第7の記憶手段への値の格納により前記補正
    手段の第1の出力と第2の出力とをそれぞれ前記第6の
    記憶手段と第7の記憶手段に格納することをn+5回繰
    り返し第n+5ステップが終了した時点で前記第6の記
    憶手段の内容を第1の出力とし前記第7の記憶手段の内
    容を第2の出力とすることを特徴とする乗算剰余演算装
    置。
  2. 【請求項2】 前記第6の記憶手段の第n−6ビット以
    上の部分を第1入力とし前記第7の記憶手段の第n−6
    ビット以上の部分を第2入力とし前記第1入力と第2入
    力の排他的論理和を1ビット右シフトしたものを第1中
    間値とし前記第1入力と第2入力の論理積を第2中間値
    とし前記第1中間値と第2中間値の排他的論理和を1ビ
    ット右シフトしたものを第1出力とし前記第1中間値と
    第2中間値の論理積を第2出力とする遅延零加算手段を
    具備し、前記近似除算手段の第1入力と第2入力を前記
    遅延零加算手段のそれぞれ第1出力と第2出力とで置き
    換えることを特徴とする請求項1記載の乗算剰余演算装
    置。
JP4091312A 1992-04-13 1992-04-13 乗算剰余演算装置 Withdrawn JPH05307465A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4091312A JPH05307465A (ja) 1992-04-13 1992-04-13 乗算剰余演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4091312A JPH05307465A (ja) 1992-04-13 1992-04-13 乗算剰余演算装置

Publications (1)

Publication Number Publication Date
JPH05307465A true JPH05307465A (ja) 1993-11-19

Family

ID=14022956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4091312A Withdrawn JPH05307465A (ja) 1992-04-13 1992-04-13 乗算剰余演算装置

Country Status (1)

Country Link
JP (1) JPH05307465A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366940B1 (en) 1998-03-02 2002-04-02 Matsushita Electric Industrial Co., Ltd. High-speed modular multiplication apparatus achieved in small circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366940B1 (en) 1998-03-02 2002-04-02 Matsushita Electric Industrial Co., Ltd. High-speed modular multiplication apparatus achieved in small circuit

Similar Documents

Publication Publication Date Title
US6026421A (en) Apparatus for multiprecision integer arithmetic
JPH0612229A (ja) 乗累算回路
US6018758A (en) Squarer with diagonal row merged into folded partial product array
US5177703A (en) Division circuit using higher radices
Stelling et al. Implementing multiply-accumulate operation in multiplication time
Tynymbayev et al. Devices for multiplying modulo numbers with analysis of the lower bits of the multiplier
US7136893B2 (en) Decimal multiplication using digit recoding
US7174015B1 (en) Methods and apparatus for variable radix scalable modular multiplication
US5289399A (en) Multiplier for processing multi-valued data
US5825681A (en) Divider/multiplier circuit having high precision mode
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JP3660075B2 (ja) 除算装置
US20020161810A1 (en) Method and apparatus for multiplication and/or modular reduction processing
JPH05307465A (ja) 乗算剰余演算装置
Shawl et al. Implementation of Area and Power efficient components of a MAC unit for DSP Processors
JPS6226723B2 (ja)
US20050246406A9 (en) Emod a fast modulus calculation for computer systems
JP3252954B2 (ja) 乗算方法および乗算回路
KR20040045152A (ko) 모듈러 곱셈 장치
Zhou et al. New algorithm and fast VLSI implementation for modular inversion in galois field GF (p)
JPS6259828B2 (ja)
JP3198868B2 (ja) 乗算処理装置
KR100386979B1 (ko) 갈로아체상에서 비트 직렬 승산기의 병렬화 방법 및 이를이용한 직병렬 승산기
JP2777265B2 (ja) 高基数開平演算装置
JPS63254525A (ja) 除算装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990706