JPH0612232A - 整数上の乗算回路 - Google Patents

整数上の乗算回路

Info

Publication number
JPH0612232A
JPH0612232A JP4167077A JP16707792A JPH0612232A JP H0612232 A JPH0612232 A JP H0612232A JP 4167077 A JP4167077 A JP 4167077A JP 16707792 A JP16707792 A JP 16707792A JP H0612232 A JPH0612232 A JP H0612232A
Authority
JP
Japan
Prior art keywords
bit
integer
multiplier
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.)
Withdrawn
Application number
JP4167077A
Other languages
English (en)
Inventor
Keiichi Iwamura
恵市 岩村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP4167077A priority Critical patent/JPH0612232A/ja
Priority to EP93304879A priority patent/EP0576262B1/en
Priority to DE69329260T priority patent/DE69329260T2/de
Publication of JPH0612232A publication Critical patent/JPH0612232A/ja
Priority to US08/512,620 priority patent/US5524090A/en
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【目的】大きな桁数を小さな桁数の乗算器を用いて桁上
がりを考慮して効率的な乗算を行う。 【構成】(n×m)ビツトの整数Aと(h×m)ビツト
の整数Bとの乗算を行う整数上の乗算回路であつて、整
数Aがmビツト毎にnクロツクに分けて上位桁から入力
され、該整数Aの各mビツトに整数Bの所定のmビツト
を乗算する前記整数Aに対して並列につながれるmビツ
ト×mビツトの乗算器と、該乗算器の出力と1つ下位桁
のフルアダーの前回のクロツク時の出力と2つ下位桁の
フルアダーからのキヤリーを下位ビツトに加算する、前
記乗算器に対応して1次元状に並べられた2mビツトの
フルアダーと、前記2mビツトフルアダーの2mビツト
の出力を同時に入出力する、前記2つの2mビツトフル
アダー間につながれるレジスタとを備え、クロツクに同
期して最上位の前記2mビツトフルアダーから乗算結果
を上位桁より出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は整数上の乗算回路に関
し、特に小さな桁数の乗算器を用いて大きな桁数の乗算
を行う回路に関するものである。本発明は、大きな桁数
の乗算を必要とするRSA暗号(池野信一,小山謙二:
“現代暗号学”,電子情報通信学会,1986,6章)
のような暗号化技術をはじめとして多くの整数演算に利
用することができる。
【0002】
【従来の技術】ゲートアレイの設計や基板設計におい
て、小さな桁数の整数上の乗算器は、セルライブラリや
TTL等が用意されているため手軽に構成することがで
きる。しかし、大きな桁数の乗算回路を実現しようとし
た場合には、セルライブラリ等がないので自分で設計し
なければならない。ところが、大きな桁数の乗算器を自
分で設計する場合、小さな桁数の乗算器の回路構成をそ
のまま拡張したのでは、回路構成が非常に複雑になり実
現が難しい。
【0003】また、入力値を所定ビツト毎に分割して複
数クロツクで乗算を行おうとする場合、入力値を多項式
と見なすと、ガロア体(宮川洋,原島博,今井秀樹:
“情報と符号の理論”,岩波講座,1982,6章)の
ような桁上がりのない演算系では、図2のような回路に
よつて乗算が行われることが知られている。図2中、*
i はBi (i=0,…,n−1)を乗数としたmビツ
ト*mビツトのガロア体上の乗算器、EXはmビツトの
EXOR、rはmビツトのレジスタである。
【0004】しかし、整数上の乗算では、図2のような
分割演算を行うと分割演算した桁毎に桁上がりが生じる
ため、効率的な乗算器を実現することは難しい。
【0005】本発明は、上述の欠点を除去し、乗算回路
において大きな桁数の入力値を分割して演算する場合
に、小さな桁数の乗算器を用いて桁上がりを考慮した効
率的な整数上の乗算回路を提供することを目的とする。
【0006】
【課題を解決するための手段】この課題を解決するため
に、本発明の整数上の乗算回路は、h,m,nを正の整
数とする場合に、(n×m)ビツトの整数Aと(h×
m)ビツトの整数Bとの乗算を行う整数上の乗算回路で
あつて、整数Aがmビツト毎にnクロツクに分けて上位
桁から入力され、該整数Aの各mビツトに整数Bの所定
のmビツトを乗算する前記整数Aに対して並列につなが
れるmビツト×mビツトの乗算器と、該乗算器の出力と
1つ下位桁のフルアダーの前回のクロツク時の出力と2
つ下位桁のフルアダーからのキヤリーを下位ビツトに加
算する、前記乗算器に対応して1次元状に並べられた2
mビツトのフルアダーと、前記2mビツトフルアダーの
2mビツトの出力を同時に入出力する、前記2つの2m
ビツトフルアダー間につながれるレジスタとを備え、ク
ロツクに同期して最上位の前記2mビツトフルアダーか
ら乗算結果を上位桁より出力する。
【0007】ここで、整数Bの最下位桁のmビツトを乗
算する前記mビツト×mビツトの乗算器に対応する2m
ビツトフルアダーが削除されてもよい。
【0008】
【実施例】本実施例ではn・mビツトの整数Aとh・m
ビツトの整数Bとの乗算器を想定するが、簡単のために
h=nとして説明する。この限定により一般性が失われ
ることはない。すなわち、n・mビツトの2つの整数を
A,Bとし、A・B=Cの演算を実行することを考え
る。ここで、mビツトの2つの整数a,bの乗算a・b
=cを実行する乗算器は公知の構成、例えばセルライブ
ラリやTTL等によつて簡単に実現できる。
【0009】整数A,Bを各々mビツト毎にn分割する
と、次のように表せる。
【0010】A=An-1 ・Xn-1 +An-2 ・Xn-2 +…
+A1 ・X+A0 B=Bn-1 ・Xn-1 +Bn-2 ・Xn-2 +…+B1 ・X+
0 ここで、X=2m-1 とし、A,Bについてmビツト毎に
上位桁から分割したビツト系列を、各々Ai ,Bi (i
=n−1,…,0)とする。この場合、整数A,Bは多
項式とみなすことができるので、A・Bは次のように表
すことができる。
【0011】
【数1】 従つて、図1のような回路で乗算器を構成できる。図1
はmビツトの乗算a・b=cを実行する乗算器n個(×
0 〜×Bn-1 )と、2mビツトのキヤリー付き加算器
n−1個(+1 〜+n-1 ;以下フルアダーとも言う)
と、2mビツトのレジスタn−1個(R0 〜Rn-2
と、1つおき加算器+i と+i+2 とをつなぐキヤリー線
とから構成される。
【0012】図1において、各レジスタの初期状態は全
て“0”とする。
【0013】最初のクロツクでAn-1 が入力されると、
最上位桁X2n-2の係数であるC2n-2(=An-1 ・B
n-1 )がフルアダー(+n-1 )から出力され、各々のレ
ジスタにAn-1 ・Bi (i=n−2,…,0)が格納さ
れる。
【0014】次のクロツクでAn-2 が入力されたとき、
右端のレジスタ(Rn-2 )の出力A n-1 ・Bn-2 と乗算
器×Bn-1 の出力であるAn-2 ・Bn-1 との和、C2n-3
(=An-1 ・Bn-2 +An-2 ・Bn-1 )が図1の回路の
フルアダー(+n-1 )から出力される。これは次の桁で
あるX2n-3の係数に当たる。そのとき、フルアダーのキ
ヤリーは1つおきのフルアダーにそれぞれ接続され、桁
上がりが計算される。尚、図1でキヤリーは2つ前のフ
ルアダーから最下位ビツトに加算される。これは、mビ
ツトのAi ,Bi に対して(An-1 ・Bn-2 +An-2
n-1 )の出力は2mビツト単位、即ちX2 分に当る
が、1クロツクはX単位であるため桁上がりは1つおき
のフルアダーに対して行われる。また、各々のレジスタ
には後ろのレジスタからの出力と乗算器からの出力を加
えた(An-1 ・Bi-1 +An-2 ・B i )が格納される。
【0015】以上の動作をnクロツク繰り返し、A0
で入力すればXn-1 までの桁の乗算結果が出力されるこ
とが判る。以後、“0”をnクロツク入力して同じ動作
を繰り返すことによつて、各レジスタの中の値が順次出
力され乗算結果の全てが出力される。これによつて、整
数Aの値が分割入力されるとき、整数AとBとの乗算A
・Bの演算が効率的に行われる。
【0016】尚、n,mの値は乗算回路の演算速度と回
路の複雑さとの兼ね合いから決定されるものであり、m
を大きくするとクロツク数が少なくなり演算は早くなる
が、回路は複雑となる。又、図1に、乗算器(×B0
に対応するフルアダー(+0)と、フルアダー(+
n-1 )の出力を記憶するレジスタ(Rn-1 )とを付加す
ると、乗算器(×Bi )とフルアダー(+i )とレジス
タ(Ri )とからなるプロセツサ・エレメント(PE)
の繰り返しにより本例が実現できることが解る。
【0017】以上によつて、入力値がmビツト毎にn分
割されて入力されるとき、mビツト×mビツトの乗算器
を用いて、n・mビツトの乗算回路が効率的に実現でき
ることが示せた。h≠nの場合にも同様の回路で乗算が
実行できることは明かである。ただし、本発明からの出
力はキヤリーも入れて2m+2ビツトとなつている。そ
のキヤリーは本来その前出力と加算されるべきである
が、それ以後の回路も乗算結果を数ビツト毎に分割して
扱う場合、それを認識して本回路からの出力を扱うなら
ば問題はなく、かえつて大きな桁の数を分割して扱える
ので、以後の回路構成も小型化が図れる。
【0018】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器から成る装置に適用
しても良い。また、本発明はシステム或は装置にプログ
ラムを供給することによつて達成される場合にも適用で
きることは言うまでもない。
【0019】
【発明の効果】本発明により、乗算回路において大きな
桁数の入力値を分割して演算する場合に、小さな桁数の
乗算器を用いて桁上がりを考慮した効率的な整数上の乗
算回路を提供できる。
【図面の簡単な説明】
【図1】本実施例の整数上の乗算回路を示す図である。
【図2】公知のガロア体上の多項式の乗算回路を示す図
である。
【符号の説明】
R…2mビツトのレジスタ、+…2mビツトのフルアダ
ー、XBi …Bi (i=0,…,n−1)を乗数とした
mビツト×mビツトの整数上の乗算器、*Bi…Bi
(i=0,…,n−1)を乗数としたmビツト×mビツ
トのガロア体上の乗算器、EX…mビツトのEXOR、
r…mビツトのレジスタ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 h,m,nを正の整数とする場合に、
    (n×m)ビツトの整数Aと(h×m)ビツトの整数B
    との乗算を行う整数上の乗算回路であつて、 整数Aがmビツト毎にnクロツクに分けて上位桁から入
    力され、該整数Aの各mビツトに整数Bの所定のmビツ
    トを乗算する前記整数Aに対して並列につながれるmビ
    ツト×mビツトの乗算器と、 該乗算器の出力と1つ下位桁のフルアダーの前回のクロ
    ツク時の出力と2つ下位桁のフルアダーからのキヤリー
    を下位ビツトに加算する、前記乗算器に対応して1次元
    状に並べられた2mビツトのフルアダーと、 前記2mビツトフルアダーの2mビツトの出力を同時に
    入出力する、前記2つの2mビツトフルアダー間につな
    がれるレジスタとを備え、 クロツクに同期して最上位の前記2mビツトフルアダー
    から乗算結果を上位桁より出力することを特徴とする整
    数上の乗算回路。
  2. 【請求項2】 整数Bの最下位桁のmビツトを乗算する
    前記mビツト×mビツトの乗算器に対応する2mビツト
    フルアダーが、削除されることを特徴とする請求項1記
    載の整数上の乗算回路。
JP4167077A 1992-06-25 1992-06-25 整数上の乗算回路 Withdrawn JPH0612232A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP4167077A JPH0612232A (ja) 1992-06-25 1992-06-25 整数上の乗算回路
EP93304879A EP0576262B1 (en) 1992-06-25 1993-06-23 Apparatus for multiplying integers of many figures
DE69329260T DE69329260T2 (de) 1992-06-25 1993-06-23 Gerät zum Multiplizieren von Ganzzahlen mit vielen Ziffern
US08/512,620 US5524090A (en) 1992-06-25 1995-08-08 Apparatus for multiplying long integers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4167077A JPH0612232A (ja) 1992-06-25 1992-06-25 整数上の乗算回路

Publications (1)

Publication Number Publication Date
JPH0612232A true JPH0612232A (ja) 1994-01-21

Family

ID=15842983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4167077A Withdrawn JPH0612232A (ja) 1992-06-25 1992-06-25 整数上の乗算回路

Country Status (1)

Country Link
JP (1) JPH0612232A (ja)

Similar Documents

Publication Publication Date Title
JP3784156B2 (ja) モジュラ掛け算方法
JP2004501396A (ja) 整数の計算フィールド範囲の拡張
US8862651B2 (en) Method and apparatus for modulus reduction
JPH0727458B2 (ja) 乗算器
Liu et al. High performance modular multiplication for SIDH
US6061706A (en) Systolic linear-array modular multiplier with pipeline processing elements
US5121429A (en) Digital signal processing
US3805043A (en) Serial-parallel binary multiplication using pairwise addition
Großschädl A bit-serial unified multiplier architecture for finite fields GF (p) and GF (2m)
JP4180024B2 (ja) 乗算剰余演算器及び情報処理装置
EP0447245A2 (en) Bit-serial division method and apparatus
CN107992283B (zh) 一种基于降维实现有限域乘法的方法和装置
Tynymbayev et al. Devices for multiplying modulo numbers with analysis of the lower bits of the multiplier
US7607165B2 (en) Method and apparatus for multiplication and/or modular reduction processing
KR100670780B1 (ko) 유한체 GF(2^m)에서의 하이브리드 곱셈 연산 장치및 연산 방법
EP1600852B1 (en) Method and apparatus for calculating a modular inverse
Arazi et al. On calculating multiplicative inverses modulo $2^{m} $
JP3129525B2 (ja) 整数上の乗算回路
JP3210420B2 (ja) 整数上の乗算回路
EP1455270B1 (en) Method and apparatus for basis conversion in finite field and a multiplier
JPH0612232A (ja) 整数上の乗算回路
WO2003096182A1 (en) “emod” a fast modulus calculation for computer systems
JP3129524B2 (ja) 整数上の乗算回路及び乗算方法
JPS58137045A (ja) 並列乗算器
JP3129526B2 (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: 19990831