JP3129524B2 - Multiplication circuit on integer and multiplication method - Google Patents

Multiplication circuit on integer and multiplication method

Info

Publication number
JP3129524B2
JP3129524B2 JP04167078A JP16707892A JP3129524B2 JP 3129524 B2 JP3129524 B2 JP 3129524B2 JP 04167078 A JP04167078 A JP 04167078A JP 16707892 A JP16707892 A JP 16707892A JP 3129524 B2 JP3129524 B2 JP 3129524B2
Authority
JP
Japan
Prior art keywords
bit
integer
full adder
output
multiplication
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 - Fee Related
Application number
JP04167078A
Other languages
Japanese (ja)
Other versions
JPH0612233A (en
Inventor
恵市 岩村
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 JP04167078A priority Critical patent/JP3129524B2/en
Priority to EP93304879A priority patent/EP0576262B1/en
Priority to DE69329260T priority patent/DE69329260T2/en
Publication of JPH0612233A publication Critical patent/JPH0612233A/en
Priority to US08/512,620 priority patent/US5524090A/en
Application granted granted Critical
Publication of JP3129524B2 publication Critical patent/JP3129524B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は整数上の乗算回路に関
し、特に小さな桁数の乗算器を用いて大きな桁数の乗算
を行う回路に関するものである。本発明は、大きな桁数
の乗算を必要とするRSA暗号(池野信一,小山謙二:
“現代暗号学”,電子情報通信学会,1986,6章)
のような暗号化技術をはじめとして多くの整数演算に利
用することができる。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiplication circuit for integers, and more particularly to a circuit for multiplying a large number of digits using a multiplier of a small number of digits. The present invention provides an RSA cryptosystem that requires multiplication of a large number of digits (Shinichi Ikeno, Kenji Koyama:
“Modern Cryptography”, IEICE, 1986, Chapter 6)
It can be used for many integer operations including encryption techniques such as.

【0002】[0002]

【従来の技術】ゲートアレイの設計や基板設計におい
て、小さな桁数の整数上の乗算器は、セルライブラリや
TTL等が用意されているため手軽に構成することがで
きる。しかし、大きな桁数の乗算回路を実現しようとし
た場合には、セルライブラリ等がないので自分で設計し
なければならない。ところが、大きな桁数の乗算器を自
分で設計する場合、小さな桁数の乗算器の回路構成をそ
のまま拡張したのでは、回路構成が非常に複雑になり実
現が難しい。
2. Description of the Related Art In designing a gate array or a substrate, a multiplier on an integer having a small number of digits can be easily configured because a cell library, TTL, and the like are provided. However, when trying to realize a multiplication circuit with a large number of digits, there is no cell library or the like, so that the user has to design it by himself. However, when designing a multiplier with a large number of digits by itself, if the circuit configuration of the multiplier with a small number of digits is directly expanded, the circuit configuration becomes extremely complicated and difficult to realize.

【0003】また、入力値を所定ビツト毎に分割して複
数クロツクで乗算を行おうとする場合、入力値を多項式
と見なすと、ガロア体(宮川洋,原島博,今井秀樹:
“情報と符号の理論”,岩波講座,1982,6章)の
ような桁上がりのない演算系では、図2のような回路に
よつて乗算が行われることが知られている。図4中、*
i はBi(i=0,…,n−1)を乗数としたmビツ
ト*mビツトのガロア体上の乗算器、EXはmビツトの
EXOR、rはmビツトのレジスタである。
In the case where an input value is divided for each predetermined bit and multiplication is performed by a plurality of clocks, the Galois field (Yo Miyagawa, Hiroshi Harashima, Hideki Imai:
It is known that an arithmetic system having no carry, such as "Theory of Information and Codes", Iwanami Koza, 1982, Chapter 6, performs multiplication by a circuit as shown in FIG. In FIG. 4 , *
B i is B i (i = 0, ... , n-1) multiplier and the m bits * m bits of the Galois field on the multiplier, EX is EXOR of m bits, r is a register m bits.

【0004】しかし、整数上の乗算では、図4のような
分割演算を行うと分割演算した桁毎に桁上がりが生じる
ため、効率的な乗算器を実現することは難しい。
However, in multiplication on integers, if a division operation as shown in FIG. 4 is performed, a carry is generated for each digit obtained by the division operation, so that it is difficult to realize an efficient multiplier.

【0005】本発明は、上述の欠点を除去し、乗算回路
において大きな桁数の入力値を分割して演算する場合
に、小さな桁数の乗算器を用いて桁上がりを考慮した効
率的な整数上の乗算回路を提供することを目的とする。
SUMMARY OF THE INVENTION The present invention eliminates the above-mentioned drawbacks and, when dividing and calculating an input value having a large number of digits in a multiplication circuit, uses a multiplier having a small number of digits to efficiently perform an integer operation considering a carry. It is an object to provide the above multiplication circuit.

【0006】[0006]

【課題を解決するための手段】この課題を解決するため
に、本発明の整数上の乗算回路は、h,m,nを正の整
数とする場合に、(n×m)ビツトの整数Aと(h×
m)ビツトの整数Bとの乗算を行う整数上の乗算回路で
あつて、mビツト毎にnクロツクに分けて下位桁から入
力される整数Aの各mビツトに対して、各々が整数Bの
それぞれ異なる所定のmビツトを並列に乗算する複数の
mビツト×mビツトの乗算器と、各々が前記乗算器の1
つの出力と1つ上位桁のフルアダーの前回のクロツク時
の出力と前々回の自分からのキヤリーを下位ビツトに加
算する、前記乗算器に対応して1次元状に並べられた2
mビツトのフルアダーと、該フルアダーからのキヤリー
を保持し、2クロツク遅れて該フルアダーにフイードバ
ツクするバツフアと、各々が前記2mビツトフルアダー
の2mビツトの1つの出力を格納し、次のクロックで下
位の前記2mビツトフルアダーに出力する複数のレジス
タとを備え、クロツクに同期して最下位の前記2mビツ
トフルアダーから乗算結果A・Bを下位桁より出力する
ことを特徴とする。
In order to solve this problem, a multiplication circuit on an integer according to the present invention provides an integer A of (n × m) bits when h, m, and n are positive integers. And (h ×
m) A multiplication circuit on an integer for multiplying a bit by an integer B, wherein each m bits of an integer A input from the lower digit after being divided into n clocks for each m bits, each of which is an integer B A plurality of m-bit × m-bit multipliers for multiplying different predetermined m-bits in parallel;
Two outputs arranged one-dimensionally corresponding to the multiplier, adding the output of the last clock of the full adder of one upper digit and the output of the previous clock of the full adder to the lower bit.
An m-bit full adder, a buffer that holds the carrier from the full adder and feeds back to the full adder with a delay of two clocks, each stores one output of the 2 m bit of the 2 m bit full adder, and stores the lower output with the next clock. And a plurality of registers for outputting to the 2 m bit full adder, and multiplying results A and B are output from the least significant digit from the least significant 2 m bit full adder in synchronization with the clock.

【0007】ここで、整数Bの最上位桁のmビツトを乗
算する前記mビツト×mビツトの乗算器の出力を加算す
る2mビツトフルアダーを省略して、当該出力を前記複
数のレジスタの1つに格納する。
Here, the 2 m-bit full adder for adding the output of the m-bit × m-bit multiplier for multiplying the m-bit of the most significant digit of the integer B is omitted, and the output is stored in one of the plurality of registers. One to store.

【0008】又、本発明の整数上の乗算方法は、h,
m,nを正の整数とする場合に、(n×m)ビツトの整
数Aと(h×m)ビツトの整数Bとの乗算を行う整数上
の乗算方法であつて、mビツト×mビツトの乗算器と、
該乗算器の出力と所定アドレス位置のデータと所定アド
レス位置のキヤリーとを加算するフルアダーと、該フル
アダーの出力とキヤリーとを整数Bの桁に対応して記憶
する複数領域を有するメモリとを備えた乗算回路におい
て、(A) 整数Aのn分割されたmビツト(Ai)と整数
Bのh分割されたmビツト(Bj)とを前記mビツト×
mビツトの乗算器で乗算する行程と、(B) 乗算結果と前
記メモリの所定領域(Rj+1)のデータと所定領域(B
j)の2回前のキヤリーとを前記フルアダーで加算す
る行程と、(C) 前記フルアダーの加算結果を前記メモリ
の所定領域(Rj)に、キヤリーを前記メモリの所定領
域(BFj)に記憶する行程とを備え、前記行程(A) 〜
(C) を各Ai(i=0,1,…,n−1の順)について、
jのjにつき順にあるいは並列に実行し、各Aiについ
てB0の行程中の前記フルアダーの出力又は終了後の前
記メモリの所定領域(R0)のデータを乗算結果A・B
の下位桁よりの出力とすることを特徴とする。
Further, the multiplication method on integers according to the present invention comprises:
An integer multiplication method for multiplying an integer A of (n × m) bits and an integer B of (h × m) bits where m and n are positive integers, wherein m bits × m bits And a multiplier of
A full adder for adding the output of the multiplier, the data at the predetermined address position and the carry at the predetermined address position, and a memory having a plurality of areas for storing the output of the full adder and the carry corresponding to the integer B digit In the multiplication circuit, (A) the n-divided m-bits (A i ) of the integer A and the h-divided m-bits (B j ) of the integer B are divided into the m bits ×
(B) multiplication results, data of a predetermined area (R j + 1 ) of the memory and a predetermined area (B
A step for adding the the carry of two previous F j) in the full adder, (C) an addition result of the full adder in a predetermined region (R j) of the memory, a predetermined area of the memory the carry (BF j) And the step (A) ~
(C) for each A i (in the order of 0, 1,..., N−1)
B j is executed in order or in parallel with j, and the output of the full adder during the process of B 0 or the data of the predetermined area (R 0 ) of the memory after completion is multiplied by A · B for each A i.
Output from the lower digit.

【0009】[0009]

【実施例】本実施例ではn・mビツトの整数Aとh・m
ビツトの整数Bとの乗算器を想定するが、簡単のために
h=nとして説明する。この限定により一般性が失われ
ることはない。すなわち、n・mビツトの2つの整数を
A,Bとし、A・B=Cの演算を実行することを考え
る。ここで、mビツトの2つの整数a,bの乗算a・b
=cを実行する乗算器は公知の構成、例えばセルライブ
ラリやTTL等によつて簡単に実現できる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In this embodiment, an integer A and hm
It is assumed that a multiplier with a bit integer B is used. This limitation does not cause loss of generality. That is, it is assumed that two integers of nm bits are A and B, and an operation of AB = C is executed. Here, multiplication a · b of two integers a and b of m bits
= C can be easily realized by a known configuration such as a cell library or TTL.

【0010】整数A,Bを各々mビツト毎にn分割する
と、次のように表せる。
When the integers A and B are each divided into n for every m bits, the following expression can be obtained.

【0011】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は次のように表
すことができる。
A = A n-1 · X n-1 + A n-2 · X n-2 + ...
+ A 1 · X + A 0 B = B n-1 · X n-1 + B n-2 · X n-2 + ... + B 1 · X +
B 0 Here, X = 2 m−1, and bit sequences obtained by dividing A and B from the upper digit for each m bits are A i and B i (i
= N-1, ..., 0). In this case, since the integers A and B can be regarded as polynomials, AB can be expressed as follows.

【0012】[0012]

【数1】 従つて、図1のような回路で乗算器を構成できる。図1
はmビツトの乗算a・b=cを実行する乗算器n個(×
i ;i=n−1,…,0)と、2mビツトのキヤリー
付き加算器(フルアダー)n−1個(+i ;i=n−
2,…,0)と、2mビツトのレジスタn−1個(R
i ;i=n−1,…,1)と、キヤリーを2クロツク遅
らせるバツフア2n−1個(BFi ;i=n−2,…,
0)とから構成される。
(Equation 1) Therefore, a multiplier can be constituted by a circuit as shown in FIG. FIG.
Represents n multipliers (××) which execute m-bit multiplication a · b = c
B i ; i = n−1,..., 0) and n−1 adders (full adders) with carry of 2 m bits (+ i; i = n−
2,..., 0) and n-1 registers of 2 m bits (R
i ; i = n-1,..., 1) and 2n-1 buffers (BF i ; i = n-2,.
0).

【0013】図1において最初のクロツクでA0 が入力
されると、最下位桁であるC0 (=A0 ・B0 )が出力
され、各々のレジスタにA0 ・Bi (i=n,…,n−
2)が格納される。レジスタの初期状態はオール“0”
である。
In FIG. 1, when A 0 is inputted in the first clock, C 0 (= A 0 · B 0 ) which is the least significant digit is outputted, and A 0 · B i (i = n) is outputted to each register. , ..., n-
2) is stored. The initial state of the register is all "0"
It is.

【0014】次のクロツクでA1 が入力されたとき、右
端のレジスタ出力A0 ・B1 と乗算器の出力であるA1
・B0 の和C1 (=A0 ・B1 +A1 ・B0 )が出力さ
れる。これは次の桁であるXの係数に当たる。A0 ・B
1 +A1 ・B0 のキヤリーは右端の2ビツトのバツフア
BF0 に蓄えられ、桁上がりとして2クロツク後の加算
において用いられる。これは、A0 ・B1 +A1 ・B0
は2mビツト、即ちX 2 分の値を表すのに対し、図1の
回路からの出力は1クロツク当りXづつ桁が上がってい
くので、桁上がりを表すキヤリーは2クロツク遅れで計
算されるためである。
In the next clock, A1 Is entered, right
End register output A0 ・ B1 And the output of the multiplier, A1 
・ B0 Sum C1 (= A0 ・ B1 + A1 ・ B0 ) Is output
It is. This is the coefficient of the next digit, X. A0 ・ B
1 + A1 ・ B0 Is a two-bit buffer on the far right
BF0 And added after 2 clocks as carry
Used in This is A0 ・ B1 + A1 ・ B0 
Is a 2 m bit, ie X Two In contrast to the value of minutes,
The output from the circuit has the digit raised by X per clock.
Therefore, carry representing carry is counted two clocks later.
It is because it is calculated.

【0015】また、各々のレジスタRi とバツフアBF
i には前段のレジスタRi+1 からの出力と乗算器からの
出力を加えた(A0 ・Bi +A1 ・Bi )とそのキヤリ
ーとが格納される。
Further, each register R i and buffer BF
In i , (A 0 · B i + A 1 · B i ), which is the sum of the output from the previous-stage register R i + 1 and the output from the multiplier, and the carry thereof are stored.

【0016】以上の動作をnクロツク繰り返してAn-1
まで入力すれば、Xn-1 までの桁の乗算結果がフルアダ
ー+0 から出力されることが判る。以後、“0”をnク
ロツク入力し同じ動作を繰り返すことによつて、各レジ
スタの中の値が順次出力され乗算結果の全てが出力され
る。
The above operation is repeated for n clocks, and A n-1
If the input to the digits of the multiplication result to X n-1 is known to be outputted from the full adder + 0. Thereafter, by inputting "0" for n clocks and repeating the same operation, the values in the respective registers are sequentially output, and all of the multiplication results are output.

【0017】また、以上の実施例は図3のようなそれぞ
れ1つの乗算器Bi とフルアダー+ i とバツフアBFi
とレジスタRi とから成る演算素子(プロセツシング・
エレメント;PE)を考えると、図2に示すようにPE
の並列処理によつても実現できることは明かである。
Further, the above embodiment is different from the embodiment shown in FIG.
One multiplier Bi And full adder + i And buffer BFi 
And register Ri An arithmetic element consisting of
Element; PE), as shown in FIG.
It is clear that this can be realized by the parallel processing.

【0018】これによつて、Aの値が分割入力されると
きA・Bの演算が効率的に行われる。以上によつて、入
力値がmビツト毎にn分割されて入力されるとき、mビ
ツトの乗算器を用いてn・mビツトの乗算回路が効率的
に実現できることが示せた。h≠nの場合にも同様の回
路で乗算が実行できることは明かである。
Thus, when the value of A is divided and input, the calculation of AB is efficiently performed. As described above, it has been shown that when an input value is input after being divided into n units of m bits, an m-bit multiplication circuit can be efficiently realized using an m-bit multiplier. It is clear that multiplication can be performed by a similar circuit even when h ≠ n.

【0019】この方式はフルアダーによる桁上がりがバ
ツフアをもちいたフイードバツクによつて閉じた形にな
るので、整数上の乗算において問題になる桁上がりに関
する遅延などの問題がない。
In this method, since the carry by the full adder is closed by the feedback using the buffer, there is no problem such as a delay related to the carry which becomes a problem in the multiplication on the integer.

【0020】また、図1,図2の回路からの出力は2m
ビツト単位であるが、このバツフア付きフルアダーを用
いることによつて、mビツトの出力にできることも明か
である。即ち、2mビツトの上位mビツトをmビツトの
レジスタに入力し、それをmビツトのフルアダーに入力
し、下位mビツトを直接そのフルアダーに入力し、キヤ
リーを1ビツト遅延させてそのフルアダーにフイードバ
ツクさせればよい。
The output from the circuits shown in FIGS. 1 and 2 is 2 m
It is a bit unit, but it is clear that m-bit output can be achieved by using this buffered full adder. That is, the upper m bits of the 2 m bits are input to the m bit register, which is input to the m bit full adder, the lower m bits are directly input to the full adder, the carry is delayed by one bit, and the full adder is fed back to the full adder. Just do it.

【0021】また、図2,図3のような同一の演算素子
の繰り返しによる構成はVSLI等の大規模回路を構成
しやすいという利点もある。
Further, the configuration by repeating the same arithmetic element as shown in FIGS. 2 and 3 has an advantage that a large-scale circuit such as VSLI can be easily configured.

【0022】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器から成る装置に適用
しても良い。また、本発明はシステム或は装置にプログ
ラムを供給することによつて達成される場合にも適用で
きることは言うまでもない。
The present invention may be applied to a system constituted by a plurality of devices or to an apparatus constituted by a single device. It is needless to say that the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or an apparatus.

【0023】[0023]

【発明の効果】本発明により、乗算回路において大きな
桁数の入力値を分割して演算する場合に、小さな桁数の
乗算器を用いて桁上がりを考慮した効率的な整数上の乗
算回路を提供できる。
According to the present invention, when an input value having a large number of digits is divided and operated in a multiplication circuit, an efficient multiplication circuit on an integer taking into account a carry is used by using a multiplier having a small number of digits. Can be provided.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本実施例の整数上の乗算回路を示す図である。FIG. 1 is a diagram illustrating a multiplication circuit on an integer according to an embodiment.

【図2】PEによつて構成された本実施例の整数上の乗
算回路を示す図である。
FIG. 2 is a diagram showing a multiplication circuit on integers according to the present embodiment constituted by PEs.

【図3】図2に示されたPEの内部構成を示す図であ
る。
FIG. 3 is a diagram showing an internal configuration of a PE shown in FIG. 2;

【図4】公知のガロア体上の多項式の乗算回路を示す図
である。
FIG. 4 is a diagram showing a known polynomial multiplication circuit on a Galois field.

【符号の説明】[Explanation of symbols]

R…2mビツトのレジスタ、+…2mビツトのフルアダ
ー、×Bi …Bi (i=0…n−1)を乗数としたmビ
ツトの整数上の乗算器、*Bi …Bi (i=0…n−
1)を乗数としたmビツトのガロア上の乗算器、BF…
バツフア、PE…プロセツシング・エレメント(P
E)、EX…mビツトのEXOR、r…mビツトのレジ
スタ
R ... 2m bits of the register, + ... 2m bits of the full adder, × B i ... B i ( i = 0 ... n-1) was used as a multiplier the m bits of on integer multiplier, * B i ... B i ( i = 0 ... n-
Multiplier on m-bit Galois with multiplier 1), BF ...
Buffer, PE ... Processing element (P
E), EX ... m bit EXOR, r ... m bit register

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 h,m,nを正の整数とする場合に、
(n×m)ビツトの整数Aと(h×m)ビツトの整数B
との乗算を行う整数上の乗算回路であつて、 mビツト毎にnクロツクに分けて下位桁から入力される
整数Aの各mビツトに対して、各々が整数Bのそれぞれ
異なる所定のmビツトを並列に乗算する複数のmビツト
×mビツトの乗算器と、 各々が前記乗算器の1つの出力と1つ上位桁のフルアダ
ーの前回のクロツク時の出力と前々回の自分からのキヤ
リーを下位ビツトに加算する、前記乗算器に対応して1
次元状に並べられた2mビツトのフルアダーと、 該フルアダーからのキヤリーを保持し、2クロツク遅れ
て該フルアダーにフイードバツクするバツフアと、 各々が前記2mビツトフルアダーの2mビツトの1つの
出力を格納し、次のクロックで下位の前記2mビツトフ
ルアダーに出力する複数のレジスタとを備え、クロツク
に同期して最下位の前記2mビツトフルアダーから乗算
結果A・Bを下位桁より出力することを特徴とする整数
上の乗算回路。
1. When h, m, and n are positive integers,
(N × m) bit integer A and (h × m) bit integer B
A multiplying circuit on an integer for multiplying by an integer B. For each m bits of the integer A input from the lower digit, divided into n clocks for each m bits, each of the predetermined m bits of the integer B is different. A multiplicity of m-bit × m-bit multipliers, each of which multiplies the output of the multiplier and the output of the previous clock of the full-adder of one upper digit, and the low-order bit of the output from the previous clock and the previous two-time carry. , 1 corresponding to the multiplier.
A 2 m-bit full adder arranged in a dimension, a buffer that holds the carrier from the full adder and feeds back to the full adder with a delay of two clocks, and each stores one output of the 2 m bit of the 2 m bit full adder. A plurality of registers for outputting to the lower 2 m-bit full adder at the next clock, and multiplying results A and B are output from the lower-order digit from the lower 2 m-bit full adder in synchronization with the clock. Multiplying circuit on integer.
【請求項2】 整数Bの最上位桁のmビツトを乗算する
前記mビツト×mビツトの乗算器の出力を加算する2m
ビツトフルアダーを省略して、当該出力を前記複数のレ
ジスタの1つに格納することを特徴とする請求項1記載
の整数上の乗算回路。
2. The addition of the output of the m-bit × m-bit multiplier for multiplying the m-bit of the most significant digit of the integer B by 2m
2. The integer multiplication circuit according to claim 1, wherein a bit full adder is omitted, and the output is stored in one of the plurality of registers.
【請求項3】 h,m,nを正の整数とする場合に、
(n×m)ビツトの整数Aと(h×m)ビツトの整数B
との乗算を行う整数上の乗算方法であつて、 mビツト×mビツトの乗算器と、該乗算器の出力と所定
アドレス位置のデータと所定アドレス位置のキヤリーと
を加算するフルアダーと、該フルアダーの出力とキヤリ
ーとを整数Bの桁に対応して記憶する複数領域を有する
メモリとを備えた乗算回路において、 (A) 整数Aのn分割されたmビツト(Ai)と整数Bの
h分割されたmビツト(Bj)とを前記mビツト×mビ
ツトの乗算器で乗算する行程と、 (B) 乗算結果と前記メモリの所定領域(Rj+1)のデー
タと所定領域(BFj)の2回前のキヤリーとを前記フ
ルアダーで加算する行程と、 (C) 前記フルアダーの加算結果を前記メモリの所定領域
(Rj)に、キヤリーを前記メモリの所定領域(BFj
に記憶する行程とを備え、 前記行程(A) 〜(C) を各Ai(i=0,1,…,n−1の
順)について、Bjのjにつき順にあるいは並列に実行
し、各AiについてB0の行程中の前記フルアダーの出力
又は終了後の前記メモリの所定領域(R0)のデータを
乗算結果A・Bの下位桁よりの出力とすることを特徴と
する整数上の乗算方法。
3. When h, m, and n are positive integers,
(N × m) bit integer A and (h × m) bit integer B
An integer multiplication method for multiplying the multiplication by an m-bit × m-bit multiplier, a full adder for adding an output of the multiplier, data at a predetermined address position, and a carry at a predetermined address position, and a full adder. A multiplication circuit comprising a memory having a plurality of areas for storing the output of the integer A and the carrier corresponding to the digit of the integer B, wherein (A) m bits (A i ) of the integer A divided into n and h of the integer B Multiplying the divided m-bit (B j ) by the m-bit × m-bit multiplier; (B) multiplying result, data of a predetermined area (R j + 1 ) of the memory, and a predetermined area (BF) j ) a step of adding the carry two times before by the full adder in the full adder; and (C) adding the addition result of the full adder to a predetermined area (R j ) of the memory and carrying the carry to a predetermined area (BF j ) of the memory.
And executing the steps (A) to (C) for each A i (in the order of i = 0, 1,..., N−1) in order for j of B j or in parallel, For each A i , the output of the full adder during the process of B 0 or the data of a predetermined area (R 0 ) of the memory after completion is output from the lower digit of the multiplication result A · B. Multiplication method.
JP04167078A 1992-06-25 1992-06-25 Multiplication circuit on integer and multiplication method Expired - Fee Related JP3129524B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP04167078A JP3129524B2 (en) 1992-06-25 1992-06-25 Multiplication circuit on integer and multiplication method
EP93304879A EP0576262B1 (en) 1992-06-25 1993-06-23 Apparatus for multiplying integers of many figures
DE69329260T DE69329260T2 (en) 1992-06-25 1993-06-23 Device for multiplying integers by many digits
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
JP04167078A JP3129524B2 (en) 1992-06-25 1992-06-25 Multiplication circuit on integer and multiplication method

Publications (2)

Publication Number Publication Date
JPH0612233A JPH0612233A (en) 1994-01-21
JP3129524B2 true JP3129524B2 (en) 2001-01-31

Family

ID=15843000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04167078A Expired - Fee Related JP3129524B2 (en) 1992-06-25 1992-06-25 Multiplication circuit on integer and multiplication method

Country Status (1)

Country Link
JP (1) JP3129524B2 (en)

Also Published As

Publication number Publication date
JPH0612233A (en) 1994-01-21

Similar Documents

Publication Publication Date Title
CN110351087B (en) Pipelined Montgomery modular multiplication operation method
JP3784156B2 (en) Modular multiplication method
US6209016B1 (en) Co-processor for performing modular multiplication
JPH11305996A (en) Method and device for increasing data processing speed of calculation device using multiplication
US20100146028A1 (en) Method and apparatus for modulus reduction
US3805043A (en) Serial-parallel binary multiplication using pairwise addition
US5121429A (en) Digital signal processing
JP4180024B2 (en) Multiplication remainder calculator and information processing apparatus
Imran et al. An area aware accelerator for elliptic curve point multiplication
JP3726966B2 (en) Multiplier and encryption circuit
Orup et al. A high-radix hardware algorithm for calculating the exponential ME modulo N.
Abdulrahman et al. High-speed hybrid-double multiplication architectures using new serial-out bit-level mastrovito multipliers
US7607165B2 (en) Method and apparatus for multiplication and/or modular reduction processing
CN108008934B (en) Composite finite field inversion device based on lookup table
KR100670780B1 (en) Apparatus for hybrid multiplier in GF2^m and Method for multiplying
JP3129524B2 (en) Multiplication circuit on integer and multiplication method
JP2002023999A (en) Multiplication module, multiplicative inverse computing circuit, multiplicative inverse computing control system, device using multiplicative inverse computing, encoding device and error correction decoder
JP3129525B2 (en) Multiplication circuit over integers
JP3129526B2 (en) Multiplication circuit over integers
Arazi et al. On calculating multiplicative inverses modulo $2^{m} $
JP3210420B2 (en) Multiplication circuit over integers
EP1504338B1 (en) "emod" a fast modulus calculation for computer systems
JPH0612232A (en) Multiplication circuit over integer
JPH0612235A (en) Circuit and method for multiplication over integer
Arunachalamani et al. High Radix Design for Montgomery Multiplier in FPGA platform

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001006

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081117

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081117

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091117

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees