JP4619657B2 - モンゴメリ乗算器のパイプライン型コア - Google Patents
モンゴメリ乗算器のパイプライン型コア Download PDFInfo
- Publication number
- JP4619657B2 JP4619657B2 JP2003553405A JP2003553405A JP4619657B2 JP 4619657 B2 JP4619657 B2 JP 4619657B2 JP 2003553405 A JP2003553405 A JP 2003553405A JP 2003553405 A JP2003553405 A JP 2003553405A JP 4619657 B2 JP4619657 B2 JP 4619657B2
- Authority
- JP
- Japan
- Prior art keywords
- time slot
- multiplier
- product
- calculated
- 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
Links
- 239000000047 product Substances 0.000 description 39
- 238000004364 calculation method Methods 0.000 description 27
- 238000007792 addition Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/728—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic using Montgomery reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
- G06F7/5338—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Molds, Cores, And Manufacturing Methods Thereof (AREA)
- Sink And Installation For Waste Water (AREA)
- Image Generation (AREA)
- External Artificial Organs (AREA)
- Escalators And Moving Walkways (AREA)
Description
パイプライン型乗算器は、全てのクロックサイクルで、乗算される2個の新しい数を受け入れるように設計されている。両者の積は、多数の段階で計算され、全ての段階を通ったときに作動可能となる。例えば、32*32ビット乗算の場合、段階の段数は17(乗算用の16段と最終加算用の1段)である。全てのクロックサイクルで、次の積が計算されるが、その結果は17クロックサイクル後になってようやく準備ができている。したがって、最大で17個の積が同一クロックサイクルに処理されている。
モンゴメリ乗算は、積P = x・y・R−1 mod pを計算する。ここで、xおよびyは乗算される入力であり、pは乗算の法である。さらに、R=2nであり、ここで、nはシステムのビット数であり、例えば、RSAのようなシステムでは1024であり、楕円曲線では160である。一例として、17段のステージをもつ32*32ビット乗算器が選択される。
この方法は、Nwが大きい値である場合、ならびに、RSAの場合に適している。
m'=−(p−1) mod B (32ビット幅)
素数p
入力:a mod p, b mod p
出力:モンゴメリ積:MonPro(a,b)=a・b・R−1 mod p
演算は次の通りである。
for i=0 to Nw−1
{ T = T + a[i]・b; // Nw回乗算
Ui = T[0]・m' mod B; // 1回乗算
T = (T + Ui・p)/B // Nw回乗算
}
If T > p then T = T−p
(4. 512ビットオペランドのための計算)
本例では、aおよびbは32ビットワードである。最初に、T=T+a[i]・bがi=0から計算される。
最初に、T=T+a[i]・bがi=0から計算される。
最初に、T=T+a'[i]・b'がi=0から計算される。
このアルゴリズムは、Nwの値が小さい場合、ならびに、楕円曲線の場合に適している。
m'=−(p−1) mod R (m'はNw32ビット幅である)
素数p
入力:a mod p, b mod p
出力:MonPro(a,b)=a・b・R−1 mod p
T = a・b
U = T・m' mod R
T' = T + U・p
T = T/R
if T>p then T = T−p
GF(2n)上のシステムに対し、全ての加算は2を法とする。ここで、m'は多項式B=α32の逆数である。
最初に、完全な積T=a・bが計算される。これは、Nw 2回の乗算を要する。最初のTの結果が既に存在するので、その直後に開始することができる。積T・m'の中で、Rよりも小さい積だけを計算すればよい。
修正ブースアルゴリズムは、部分積を実行するため被乗数の2ビットを利用するように設計される。これは部分積の回数を半分にする。
X=x31・231+x30・230+...x1・21+x0・20
Y=y31・231+y30・230+...y1・21+y0・20
W=w31・231+w30・230+...w1・21+w0・20
Z=X・Y+W
この点に関して、図1はパイプライン型乗算器の一実施形態のブロック図である。図中、アスタリスク付きの円は乗算を実行し、プラス記号付きの円は、桁上げ保存(carry-save)演算を含む加算のような加算を実行する。種々のブロックは、その中に示された量を一時的に保持する。よりわかり易くするため、種々の相互接続は、それに沿って転送されるビットのビット順位(bit rankings)を表す。右側では、1列のブロックが必要な補正項を導入するため使用される。
楕円曲線計算は、ガロア体GF(2n)上で定義することも可能である。ガロア体における全ての加算(ここでは「+」によって示されている)は、2を法とする剰余系である(排他的論理和)。ガロア体における多項式の次数は、最大で次数n−1である。したがって、n=32であるとき、多項式XおよびYは以下の通り定義される(全ての係数は0または1である。)。
Y=y31・α31+y30・α30+...y1・α1+y0・α0
さらに既約多項式が存在し、この多項式は次のように定義される。
積P = X・Y mod p は次式によって計算される。
積X・Yは、次に、多項式pによって除算され、その余りが結果である。余りの次数は常にpの次数よりも低い。
モンゴメリ乗算は、積が適当な因子R、例えば、α32またはα160によって割り切れるように、素数(既約多項式)の倍数を(部分)積に加算する。多項式を2進表現した場合には、代わりに232または2160が想定される。以下、m'は、m' = p−1 mod Rとして定義され、ここで、p−1はp・p−1 mod R = 1のように定義される。
定義:
X=xNw−1・BNw−1+...+x2・B2+x1・B1+x0・B0
Y=yNw−1・BNw−1+...+y2・B2+y1・B1+y0・B0
Pi=piNw・BNw−1+...+pi2・B2+pi1・B1+pi0・B0
P=pk・Bk+...+p2・B2+p1・B1+pi0・B0(ここで、k=2Nwー1)
B=232
m=Nw−1
多倍長整数乗算は、2個の32ビットワードの多数の乗算を含む。この実施形態は、パイプライン型32ビット乗算器(図1および4を参照)を使用し、この乗算器は、あらゆるタイムスロットで、3個の新しい32ビットオペランド(X*Y+Z)を受け取る。このような乗算器は非常に高速である。しかし、乗算器の出力は、17タイムスロット後にようやく準備ができている。したがって、最大で17の乗算が同時に計算される。しかし、進行中の乗算の結果を用いて乗算をしたいとき、結果の準備ができるまで待たなければならない。これは、待機サイクルを持ち込む可能性があり、性能を低下させるであろう。
Z = X・{Y0・B0 + Y1・B1 + .. Ym・Bm} + W
Z、XおよびWは、Nw−1個の32ビットワードのサイズをもつ。Yiは32ビットの幅である。
中間結果は、
Wi = Wi1・B0 + Wi2・B1 + .. Wi,m+1・Bm
である。
Pm = X・Ym + Wm−1が計算される。
したがって、Pi = X・Yi + Wiを計算する関数が必要である。
この計算は前述の計算の一部である。XおよびWのサイズは、m=(Nw−1)個の32ビットワードである。Yiは32ビットの幅である。
X=x31・231+x30・230+...x1・21+x0・20
Y=y31・231+y30・230+...y1・21+y0・20
W=w31・231+w30・230+...w1・21+w0・20
Z=X・Y+W
左辺は、Z = X・Y + W + y0・Xを計算する。この最後の項は、使用されたアルゴリズムの所産である。右辺は最後の項を減算する。
最初に、乗数Yが記録され、ここで、y'iは、−2、−1、0、+1および+2の値をとる(符号付き10進数表記)。
Y=y'30・230+y'28・228+...+y'0・20
例えば、y=29dec=011101binであるならば、y'=(2 1 1)sd=2・24−1・22+1=29decであり、ここで、1は−1を表す。
加算器の被加数および加数は冗長2進表記で表され、この表記は符号付き桁表記でもある。それは、固定基数2と、数字セット{1, 0, 1}とをもち、ここで、ここで、1は−1を表す。n桁の冗長2進整数Yの値は、yn−1・2n−1+yn−2・2n−2+...+y1・21+y0・20であり、ここで、yiの値は、−1、0または1である。
この表現は、起こり得る桁上げが次の桁で吸収され、次の桁上げに影響を与えないように選択される。したがって、このような加算器の速度は、32ビット全加算器の速度よりもかなり速い。
タイプ2a、5a: ci−1 ≠ 1、即ち、0または1であるので、ci−1 + siは、1または0である。
Y [1 1 1 0 0 1 1 1]sd2 = 101dec
−−−−−−−−−−−+
S 0 1 0 0 1 1 1 0
C 1 1 0 0 0 1 0 1
ー−−−−−−−−−−−+
Sum 1 1 1 0 0 0 1 0 0 = 188dec
(18. 通常の2進表記への変換)
最後のステージにおいて、結果は通常の2進表記へ変換される。X = X+ − X− であり、ここで、X+は全てのxi +により形成され、X−は全てのxi −により形成される。
次の桁が「1」であるとき、その桁が維持され、左への借りは無い。
次の桁が「1」であるとき、その「1」は「0」によって置換され、左への借りは無い。
X=x31・α31+x30・α30+...x1・α1+x0・α0
Y=y31・α31+y30・α30+...y1・α1+y0・α0
W=w31・α31+w30・α30+...w1・α1+w0・α0
上記ベクトルを表現するため、上記式の「α」を「2」と読んでも構わない。
ブース符号化に関してGF(2n)に等価なものはない。
加算は2個の変数の排他的論理和(exor)である。桁上げはない。
両方の乗算器ステージは、次の構造zj = ai・xj−1 bi・xjを使用する。
Si は、xi とyi との排他的論理和の演算によって計算される。
GF(p)システムにおける桁上げを抑えた場合、GF(p)の規則に従って生成されたSi、即ち、表2に従って符号化されたSiが正しい答えを与えることは明らかである。
入力は、xi = {1, 0, 1}となるベクトルXである。出力は、yi = {0, 1}となるベクトルYである。このベクトルXは、4ビットずつの8個のグループに分割され、i = 4m+n (n=0..3, m=0..7)である。
グループ借りgmは、このグループの最も左の非零の桁が「1」であるときに生成される。
借りbiは、桁が「1」であるときに生成される。
この変換は、借りが無いので簡単である。全ての借りを抑えた場合、GF(p)の回路は正しい答えを与える。
図1に示されたようなパイプライン型乗算器はGF(2n)のためにも使用可能であるが、−Y[0]を右辺で「0」にセットしなければならない。その他の全ての適合については上記の通りである。
Claims (4)
- 素数(p)を法とする剰余系で第1の多倍長整数エンティティ(X)に第2の多倍長整数エンティティ(Y)を乗算する乗算器装置であって、
前記乗算器装置は、パイプライン型乗算器コアを含み、修正ブースアルゴリズムと、(i)前記第2の多倍長整数エンティティ(Y)の最下位部分(y0)と(ii)前記第1の多倍長整数エンティティ(X)との積を前記アルゴリズムの結果から減算する減算ステップとを用いて、全体的な乗算をモンゴメリ形式で実行することが可能であることを特徴とする乗算器装置。 - 前記アルゴリズムの結果は、前記積X*Yと積y0*Xの合計値であることを特徴とする請求項1記載の乗算器装置。
- 前記乗算器装置は、並列的にy0*Xの積を減算することが可能である請求項1又は2記載の乗算器装置。
- 桁上げ伝播の無い加算器をさらに備えることを特徴とする請求項1乃至3のいずれか一に記載の乗算器装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01204908 | 2001-12-14 | ||
PCT/IB2002/005210 WO2003052584A2 (en) | 2001-12-14 | 2002-12-05 | Pipelined core in montgomery multiplier |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005513532A JP2005513532A (ja) | 2005-05-12 |
JP4619657B2 true JP4619657B2 (ja) | 2011-01-26 |
Family
ID=8181444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003553405A Expired - Fee Related JP4619657B2 (ja) | 2001-12-14 | 2002-12-05 | モンゴメリ乗算器のパイプライン型コア |
Country Status (8)
Country | Link |
---|---|
US (1) | US7395295B2 (ja) |
EP (1) | EP1459167B1 (ja) |
JP (1) | JP4619657B2 (ja) |
CN (1) | CN100382011C (ja) |
AT (1) | ATE316668T1 (ja) |
AU (1) | AU2002353282A1 (ja) |
DE (1) | DE60208926T2 (ja) |
WO (1) | WO2003052584A2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240204B1 (en) * | 2000-03-31 | 2007-07-03 | State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University | Scalable and unified multiplication methods and apparatus |
WO2003021423A2 (en) * | 2001-09-04 | 2003-03-13 | Microunity Systems Engineering, Inc. | System and method for performing multiplication |
DE60208926T2 (de) * | 2001-12-14 | 2006-08-31 | Koninklijke Philips Electronics N.V. | Fliessbandkern in einem montgomery-multiplizierer |
US7266577B2 (en) * | 2002-05-20 | 2007-09-04 | Kabushiki Kaisha Toshiba | Modular multiplication apparatus, modular multiplication method, and modular exponentiation apparatus |
FI115862B (fi) | 2002-11-06 | 2005-07-29 | Nokia Corp | Menetelmä ja järjestelmä kertolaskuoperaation suorittamiseksi ja laite |
US7532720B2 (en) * | 2003-10-15 | 2009-05-12 | Microsoft Corporation | Utilizing SIMD instructions within montgomery multiplication |
US7664810B2 (en) * | 2004-05-14 | 2010-02-16 | Via Technologies, Inc. | Microprocessor apparatus and method for modular exponentiation |
KR100670780B1 (ko) * | 2004-10-29 | 2007-01-17 | 한국전자통신연구원 | 유한체 GF(2^m)에서의 하이브리드 곱셈 연산 장치및 연산 방법 |
FR2884005B1 (fr) * | 2005-04-01 | 2007-06-01 | Thales Sa | Methode d'implementation de la multiplication modulaire de montgomery et son dispositif |
TWI489375B (zh) * | 2010-12-03 | 2015-06-21 | Via Tech Inc | 無進位乘法裝置及其處理方法 |
US8635262B2 (en) * | 2010-12-03 | 2014-01-21 | Via Technologies, Inc. | Carryless multiplication preformatting apparatus and method |
US8645448B2 (en) | 2010-12-03 | 2014-02-04 | Via Technologies, Inc. | Carryless multiplication unit |
US8667040B2 (en) | 2010-12-03 | 2014-03-04 | Via Technologies, Inc. | Mechanism for carryless multiplication that employs booth encoding |
CN105373366B (zh) * | 2015-10-12 | 2018-11-09 | 武汉瑞纳捷电子技术有限公司 | 一种生成大素数的方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5513133A (en) * | 1992-11-30 | 1996-04-30 | Fortress U&T Ltd. | Compact microelectronic device for performing modular multiplication and exponentiation over large numbers |
JP2000132376A (ja) * | 1998-10-27 | 2000-05-12 | Fujitsu Ltd | 剰余演算方法,乗算剰余演算方法,剰余演算装置,乗算剰余演算装置及び記録媒体 |
WO2000038047A1 (en) * | 1998-12-18 | 2000-06-29 | Motorola Inc. | Circuit and method of cryptographic multiplication |
JP2000353077A (ja) * | 1999-04-07 | 2000-12-19 | Matsushita Electric Ind Co Ltd | 多倍長演算装置 |
US7240204B1 (en) * | 2000-03-31 | 2007-07-03 | State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University | Scalable and unified multiplication methods and apparatus |
JP2001296993A (ja) * | 2000-04-12 | 2001-10-26 | Toyo Commun Equip Co Ltd | 有限体上の乗算回路 |
DE60208926T2 (de) * | 2001-12-14 | 2006-08-31 | Koninklijke Philips Electronics N.V. | Fliessbandkern in einem montgomery-multiplizierer |
DE10260655B3 (de) * | 2002-12-23 | 2004-06-24 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Berechnen einer Multiplikation mit einer Verschiebung des Multiplikanden, insbesondere bei der kryptographischen Berechnung |
DE10260660B3 (de) * | 2002-12-23 | 2004-06-09 | Infineon Technologies Ag | Modulare Multiplikation mit paralleler Berechnung der Look-Ahead-Parameter u.a. bei der kryptographischen Berechnung |
-
2002
- 2002-12-05 DE DE60208926T patent/DE60208926T2/de not_active Expired - Lifetime
- 2002-12-05 EP EP02788303A patent/EP1459167B1/en not_active Expired - Lifetime
- 2002-12-05 JP JP2003553405A patent/JP4619657B2/ja not_active Expired - Fee Related
- 2002-12-05 US US10/498,446 patent/US7395295B2/en active Active
- 2002-12-05 AU AU2002353282A patent/AU2002353282A1/en not_active Abandoned
- 2002-12-05 WO PCT/IB2002/005210 patent/WO2003052584A2/en active IP Right Grant
- 2002-12-05 AT AT02788303T patent/ATE316668T1/de not_active IP Right Cessation
- 2002-12-05 CN CNB028249496A patent/CN100382011C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1459167B1 (en) | 2006-01-25 |
CN1605059A (zh) | 2005-04-06 |
WO2003052584A3 (en) | 2004-05-21 |
US7395295B2 (en) | 2008-07-01 |
AU2002353282A8 (en) | 2003-06-30 |
EP1459167A2 (en) | 2004-09-22 |
DE60208926T2 (de) | 2006-08-31 |
WO2003052584A2 (en) | 2003-06-26 |
ATE316668T1 (de) | 2006-02-15 |
AU2002353282A1 (en) | 2003-06-30 |
CN100382011C (zh) | 2008-04-16 |
JP2005513532A (ja) | 2005-05-12 |
US20050033790A1 (en) | 2005-02-10 |
DE60208926D1 (de) | 2006-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Erdem et al. | A general digit-serial architecture for montgomery modular multiplication | |
EP2283417B1 (en) | Implementation of arbitrary galois field arithmetic on a programmable processor | |
JP4619657B2 (ja) | モンゴメリ乗算器のパイプライン型コア | |
KR100715770B1 (ko) | 연산을 수행하는 방법 및 시스템 및 장치 | |
KR100714358B1 (ko) | 연산을 수행하기 위한 방법, 시스템 및 장치 | |
US7181484B2 (en) | Extended-precision accumulation of multiplier output | |
TW550498B (en) | Method and apparatus for modular multiplying and calculating unit for modular multiplying | |
JP2004326112A (ja) | マルチプルモジュラス選択器、累算器、モンゴメリー掛け算器、マルチプルモジュラス発生方法、部分掛け発生方法、累算方法、掛け算方法、モジュラス選択器、およびブースレコーダ | |
Kaihara et al. | Bipartite modular multiplication method | |
JP3516503B2 (ja) | 電子乗算および加算装置および方法 | |
Omondi | Cryptography arithmetic | |
US7539720B2 (en) | Low latency integer divider and integration with floating point divider and method | |
JP2004258141A (ja) | モンゴメリ乗算剰余の多倍長演算のための演算装置 | |
WO2001076132A1 (en) | Scalable and unified multiplication methods and apparatus | |
Kuang et al. | An efficient radix-4 scalable architecture for Montgomery modular multiplication | |
JP2007500388A (ja) | 長整数乗算器 | |
KR20070062901A (ko) | 중국인 나머지 정리(crt)와 캐리 저장 가산 기반의모듈러 곱셈 장치 및 방법 | |
WO2002073395A2 (en) | A method and apparatus for multiplication and/or modular reduction processing | |
CN111064567B (zh) | 一种sidh特殊域快速模乘方法 | |
CN113434115B (zh) | 一种浮点数尾数域余数运算电路及方法 | |
CN101957739B (zh) | 基于分治的亚二次多项式乘法器 | |
KR100805272B1 (ko) | 부호화를 이용하는 곱셈 장치 및 그 방법 | |
Mirzaei-Teshnizi | Parallel Modular Multiplication Using Variable Length Algorithms | |
Pinckney et al. | Parallelized Booth-encoded radix-4 Montgomery multipliers | |
Wei | A Multiplicative Inverse Algorithm Based on Modulo (2 p-1) Signed-Digit Arithmetic for Residue to Weighted Number Conversion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051205 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100513 |
|
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: 20101001 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101027 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131105 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |