JPH11242436A - 演算装置 - Google Patents
演算装置Info
- Publication number
- JPH11242436A JPH11242436A JP4322898A JP4322898A JPH11242436A JP H11242436 A JPH11242436 A JP H11242436A JP 4322898 A JP4322898 A JP 4322898A JP 4322898 A JP4322898 A JP 4322898A JP H11242436 A JPH11242436 A JP H11242436A
- Authority
- JP
- Japan
- Prior art keywords
- remainder
- integer
- time
- value
- modp
- 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
Links
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
- G06F7/725—Finite field arithmetic over elliptic curves
Abstract
演算を高速にコンパクトに実現する演算装置を提供す
る。 【解決手段】 剰余乗算手段と算術演算手段を備え、並
列して動作させる。剰余乗算手段の1回の処理がmクロ
ックの場合、1回の処理が1クロックとなる算術演算手
段を複数回所定の手順に従って動作させ、楕円曲線上の
加算、2倍点演算を高速に処理する。剰余乗算手段は出
力を0からp-1までの値に補正する前段階で出力すること
により、剰余乗算手段の制御ゲートを削減し、処理時間
mクロックを最小にする。mクロックを1単位としてカウ
ンタNoで制御する場合、出力値の補正は次のNo以降で算
術演算器で行う。剰余乗算器の出力は入力した次Noのタ
イミングで使用し、剰余乗算器の処理時間mクロックを
最小にする。このパイプラインを切らないように手順を
定める。
Description
る加算点演算および2倍点演算を高速にコンパクトに実
現する演算装置に関する。
により考案された、楕円曲線上の離散対数問題を拠り所
とする公開鍵暗号である。楕円曲線上の点の間に「加
算」演算を定義し、楕円曲線上の点をP、これを整数k倍
した点をQとしたとき(Q=kP)、P,Qから整数kを求める
こと(これを楕円曲線上の離散対数問題という)が困難
であるということを利用している。ところで、この楕円
曲線暗号を実現するためにはこのQ=kP=P+..+P (楕円曲
線上のk-1回の「加算」演算)、すなわち「加算」演算
をできるだけ高速にコンパクトに実現する必要がある。
いて説明する。楕円曲線をEp:y^2=x^3+ax+b (a,b∈有限
体Fp,4a^3+27b^2≠0)とするとき、この式を満たす(x,y)
∈Fp×Fpの元に無限遠点0を加えた点の集合を考え、こ
こに次の「加算」演算を定める。この演算により楕円曲
線上に可換群を構成し、上記楕円曲線上の離散対数問題
を利用した公開鍵暗号を構成できる。なおここでFpは整
数pを法とする剰余体とする。
算で行う。以下では整数pは2^159≦p<2^160であると
し、「modp」はpを法とする剰余体上の演算であること
を示す。
曲線上の加算における剰余体上の除算には一般に多くの
計算量を要する。そこで、除算を回避する方法として、
さまざまな「軸変換」手法が提案されている。
説明する。Jacobian軸では上記楕円曲線上の点にz軸を
付加し、x=X/Z^2, y=X/Z^3と変換する。その結果、楕円
曲線と加算、2倍点演算は次のようになる。
p, z3=z1z2H modp U1=x1z2^2 modp, U2=x2z1^2 modp, S1=y1z2^3 modp, S2
=y2z1^3 modp H=U2-U1 modp, r=S2-S1 modp 2倍点(P=±Q): x3= T, y3=M×(S-T)-8y1^4 modp, z3=2y1×z1 modp s=4x1×y1^2 modp, M=3x1^2+a×z1^4 modp, T=-2s+M^2
modp 上記式よりJacobian軸を利用すると楕円曲線上の加算と
2倍点演算に、pを法とする剰余体上の除算は使用しな
くてもよいが、剰余体上の乗算と加算、減算等が複雑に
組み合わされている演算を効率よく行う必要がある。そ
の上、楕円曲線演算では暗号を安全に構成するため、16
0ビット程度の大きな値を扱う必要がある。
ハードウェアは提案されていなかった。
ソフトで実現しようとすると、多倍長の剰余乗算演算に
非常に時間がかかる。また、RSA暗号を実現するために
多倍長のべき乗剰余演算を実現するハードウェアはいく
つか提案されているが、これを用いて上記演算を実現す
ることは途中に複雑な加算、減算演算が含まれているた
め困難である。
特255867号公報、特1996261号公報、特開
昭63−304289号公報に記載されたものが知られ
ている。これらの公報では剰余乗算値をシフト演算器と
加算器を繰り返し用いて計算する手段が開示されてい
る。しかしながら、これら剰余乗算器においても、最後
の出力を0からp-1の剰余値に補正するのに余分な制御ゲ
ートと処理時間がかかっていた。そのため、この剰余乗
算装置を用いて上記楕円曲線基本演算を実現することも
得策ではない。
乗算、加算、減算等が混在する楕円曲線基本演算を高速
・コンパクトに実現する演算装置を提供することを目的
とする。
ける演算装置は、整数pを格納するp格納手段と、複数の
レジスタを備えるレジスタ群と、前記レジスタ群のうち
2つのレジスタの格納値をA,Bとしたとき、これらレジ
スタを入力として、前記整数pによる剰余体において積A
×Bと同値の値を、前記レジスタ群の1つのレジスタに
出力する剰余乗算手段と、前記レジスタ群のうち2つの
レジスタの格納値を入力として、加算、減算、比較の演
算を行い、その結果を前記レジスタ群の1つのレジスタ
に出力する算術演算手段と、前記剰余乗算手段と算術演
算手段を所定の手順に基づいて並列に動作させて制御を
行う制御手段を備えている。
第1の構成における前記剰余乗算手段の処理時間をm、
前記算術演算手段の処理時間をnとするとき、mがnより
大であるとし、剰余乗算手段を1回動作する間に、所定
の手順に基づいて前記算術部演算手段を複数回動作させ
る制御を行うことを特徴とする。
第1の構成における前記算術演算手段を用いて、前記剰
余乗算手段の出力を、前記整数pを法とする剰余値に補
正することを特徴とする。
第1の構成における前記制御手段において、整数pを法
とする剰余乗算と算術演算を、所定の手順で組み合わせ
て実現する有限体上の楕円曲線の加算演算を、前記剰余
乗算手段と前記算術演算手段を並列に動作させて実現す
ることを特徴とす。
整数pを法とする有限体上の楕円曲線y^2=x^3+ax+b (mod
p)の点(x1,y1,z1)を入力とし、この楕円曲線上の2倍
点(x3,y3,z3)を出力する演算装置であって、"modp"を
整数pにおける剰余とすると、各x3,y3,z3は、 x3=T, y3=M×(S-T)-8y1^4 modp, z3=2y1×z1 modp S=4x1×y1^2 modp, M=3x1^2+a×z1^4 modp, T=-2S+M^2
modp の演算で求められるとき、これらの演算を、前記剰余乗
算手段の処理時間mを時間の単位としたときに、時間1
では、剰余乗算手段でz1×z1の整数pによる剰余体にお
いて同値の値Aを求め、時間2では、剰余乗算手段でy1
×z1の整数pによる剰余体において同値の値Bを求め、時
間3では、剰余乗算手段でA×Aの整数pによる剰余体に
おいて同値の値Cを求め、同時に算術演算手段でBの2倍
値の整数pによる剰余を求めこれをz3として出力し、ま
たx1の4倍値の整数pによる剰余を求めこれを4x1とし、
時間4では、剰余乗算手段でx1×x1の整数pによる剰余
体において同値の値Dを求め、時間5では、剰余乗算手
段でC×aの整数pによる剰余体において同値の値Eを求
め、同時に算術演算手段でDの3倍値の整数pによる剰余
を求めこれを3x1^2とし、時間6では、剰余乗算手段でy
1×y1の整数pによる剰余体において同値の値Fを求め、
同時に算術演算手段でEと前記3x1^2の加算値の整数pに
よる剰余を求めこれをMとし、時間7では、剰余乗算手
段でM×Mの整数pによる剰余体において同値の値Gを求
め、時間8では、剰余乗算手段で4x1×Fの整数pによる
剰余体において同値の値Sを求め、時間9では、剰余乗
算手段でF×Fの整数pによる剰余体において同値の値Hを
求め、同時に算術演算手段でGからSの2倍値を減算した
減算値の整数pによる剰余を求めこれをTとしさらにこれ
をx3として出力し、SからTを減算した減算値の整数pに
よる剰余S-Tを求め、時間10では、剰余乗算手段で(S-
T)×Mの整数pによる剰余体において同値の値Iを求め、
同時にHの8倍値の整数pによる剰余を求めこれを8y1^4
とし、時間11では、算出演算手段でIから8y1^4を減算
した減算値の整数pによる剰余を求めこれをy3として出
力し、以上の制御手順で出力値x3,y3,z3を求める制御手
段を備えたことを特徴とする。
有限体Fp上の楕円曲線y^2=x^3+ax+b(modp)の点(x1,y1,
z1)と(x2,y2,z2=1)を入力とし、この楕円曲線上の加
算点(x3,y3,z3)を出力する演算装置であって、"modp"
を整数pにおける剰余とすると、各x3,y3,z3は、 x3=-H^3-2U+r^2 modp, y3=-y1×H^3+r×(U-x3) modp, z
3=z1×H modp H=x2×z1^2-x1 modp, r=y2×z1^3-y1 modp, U=x1×H^2
modp の演算で求められるとき、これらの演算を、前記剰余乗
算手段の処理時間mを時間の単位としたときに、時間1
では、剰余乗算手段でz1×z1の整数pによる剰余体にお
いて同値の値Aを求め、時間2では、剰余乗算手段でy2
×z1の整数pによる剰余体において同値の値Bを求め、時
間3では、剰余乗算手段でx2×Aの整数pによる剰余体に
おいて同値の値Cを求め、時間4では、剰余乗算手段でB
×Aの整数pによる剰余体において同値の値Dを求め、同
時に算術演算手段でCからx1を減算した減算値の整数pに
よる剰余を求めこれをHとし、時間5では、剰余乗算手
段でH×Hの整数pによる剰余体において同値の値Eを求
め、同時に算術演算手段でDからy1を減算した減算値の
整数pによる剰余を求めこれをrとし、時間6では、剰余
乗算手段でz1×Hの整数pによる剰余体において同値の値
Fを求め、時間7では、剰余乗算手段でE×Hの整数pによ
る剰余体において同値の値Gを求め、同時に算術演算手
段でFの整数pによる剰余を求めこれをz3として出力し、
時間8では、剰余乗算手段でx1×Eの整数pによる剰余体
において同値の値Uを求め、時間9では、剰余乗算手段
でr×rの整数pによる剰余体において同値の値Hを求め、
時間10では、剰余乗算手段でy1×Gの整数pによる剰余
体において同値の値Iを求め、同時に算術演算手段でHか
らGおよびUの2倍を減算した減算値の整数pによる剰余
を求めこれをx3として出力し、さらにUからx3を減算し
た減算値の整数pによる剰余を求めこれを(U-x3) とし、
時間11では、剰余乗算手段でr×(U-x3)の整数pによる
剰余体において同値の値Jを求め、時間12では、算出
演算手段でJからIを減算した減算値の整数pによる剰余
を求めこれをy3として出力し、以上の制御手順で出力値
x3,y3,z3を求めることを特徴とする。
第1から第6の構成において前記整数pを素数とするこ
とを特徴とする。
第1から第6の構成において前記整数pを素数のべき乗
とすることを特徴とする。
図である。1〜8はそれぞれ162ビットのレジスタR1,R
2,Ax,Ay,Az,Bx,By,Bzを示す。符号を含んで162ビットの
2の補数表現値を格納する。9は前記レジスタR1に格納
されている正の値A(符号なし161ビット)とR2に格納さ
れている正の値B(符号なし160ビット)を入力としてA
×Bの法pにおける同値の剰余乗算値C(符号なし161ビッ
ト)を10で示すレジスタOMULに出力する剰余乗算器で
ある。11は前記レジスタ群の2入力値を加算または減
算(比較も含む)を行う算術演算器である。12は前記
剰余体の法pを格納するレジスタp、13は楕円曲線の式
における1次の係数aを格納するレジスタaを示す。14
は剰余乗算器の演算、算術演算器の入出力レジスタや演
算を制御する制御部である。
り、2^159≦p<2^160とする。また、剰余乗算器は従来
例のシフト演算器と加算器を繰り返し用いて計算するも
のでよい。ただし、演算途中のビット数の上限だけを16
1ビットと設定し、出力値の0からp-1までの剰余補正は
行わないものとする。このことにより、余分な制御ゲー
ト数と処理時間を削減することができる。
曲線演算の加算点を求める場合の概略動作フローを示
す。
点、レジスタBx,By,Bzに第2の点を設定する初期設定
部、21は剰余乗算器処理部、22は算術演算器処理部であ
る。剰余乗算器処理部は1回の処理にmクロック(m≧2
0)かかるとし、それと並行して算術演算器処理部では
複数回の処理を行う。そしてこれら剰余乗算器処理と算
術演算器の並行動作は繰り返して行われ、23において最
終的にレジスタAx,Ay,Azに楕円曲線の加算点が出力され
る。以降では、mクロックを1つの単位時間とし、Noを
カウンタとして説明を行う。
剰余乗算器処理の出力値(これは0からp-1までの剰余補
正はまだ行っていない)をNo=i+1以降の算術演算器処理
において、剰余補正を行う等の制御を行う。
算点を求める場合の制御動作を説明する。ここでは、楕
円曲線上の入力座標(x1,y1,z1)(x2,y2,z2)のうち、z2が
1の場合について説明する。暗号処理に用いる楕円曲線
上のべき乗演算を、2倍点と加算点の繰り返し演算で実
現する右向き高速バイナリ法では、加算点の片側入力が
固定となる。そのため、片側入力のz座標を"1"に固定す
ることが可能となり、この仮定は妥当である。
うになる。 x3=-H^3-2U+r^2 modp, y3=-y1×H^3+r×(U-x3) modp, z
3=z1×H modp ここで、H=x2×z1^2-x1 modp, r=y2×z1^3 modp, U=x1
×H^2 modp 図3および図4に、楕円曲線加算制御手順に示す。同図
において、「レジスタR1,R2,Ax,Ay,Az,Bx,By,Bz,a,p」
の各行には対応するNoにおける各レジスタの格納値を記
している。同図において、「剰余乗算器」の行はそのNo
における剰余乗算器での処理内容を示している。剰余乗
算器ではそのNoにおけるレジスタR1,R2の格納値を入力
として剰余乗算値を求める。「(p)」の記述は、法pと同
値の161ビット値を求めることを示している。この出力
が必ずしもpを法とする剰余値とはならないことに注
意。そしてこの剰余乗算値の結果は次のNo+1においてOM
ULに格納される。また算術演算器の行は、そのNoにおけ
る算術演算器の動作手順を示している。算術演算器は1
クロックに1回の加算または減算(比較を含む)、レジ
スタ転送を実行できるものとする。
する。まず、No=0では、初期状態としてレジスタAx,Ay,
Azにそれぞれ楕円曲線の第1の点(x1,y1,z1)、レジスタ
Bx,By,Bzに第2の点(x2,y2,z2)が格納されている。それ
ぞれは正の160ビットの値でありレジスタの上位に符号
の0を追加して格納されているとする。算術演算部によ
り、Axに格納されているz1をレジスタR1,R2に格納す
る。
1,z1を入力とする処理が行われる。同時に算術演算部に
より、Byに格納されているy2をレジスタR1に格納する。
2,z1を入力とする処理を行う。なお、図中「→」は、1
つ前の格納値から変わっていないことを示す。また1つ
前での剰余乗算部での結果である符号なし正の161ビッ
ト値(z1^2のpを法とする剰余体での同値)がOMULに出
力される。剰余乗算器では、処理時間を削減するため出
力値を法p以下にするための補正はせず、161ビット値と
して出力する。なお、この161ビット値は具体的には、2
^159≦p<2^160の制限により、0から2p-1までの値にな
る。同時に算術演算部において、OMULに格納されている
値のmodpの補正を行いその結果はR2に格納される。この
値をz1^2 modpと表す。なお、modpの補正の処理は、「R
2=OMUL<p?OMUL:OMUL-p」と表す。これは、OMULを法pと
比較し、OMULのほうが小さければOMULをR2に格納し、そ
うでなければOMUL-pをR2に格納することを示す。以降に
おいて、AからEをレジスタとする場合、「A=B<C?D:E」
はB<Cが成り立つ場合はDをAに格納し、そうでない場合
はEをAに格納するという意味を示すものとする。剰余乗
算器の入力となるレジスタR2の値は符号なし正の160ビ
ットでなることに注意する。また、算術演算部では、Bx
に格納されているx2をレジスタR1に格納する。
2, z1^2 modpを入力とする処理を行う。また1つ前のNo
=3での剰余乗算部での結果(y2×z1の法pを法とする剰
余体での同値)がOMULに格納され、算術演算部でこれが
さらにレジスタR1に格納される。剰余乗算器の入力とな
るレジスタR1の値は正の161ビットとなることに注意す
る。
力とする処理を行う。また1つ前の剰余乗算部での結果
がOMULに格納される。同時に算術演算部では、まずOMUL
の格納値からレジスタAxの格納値が減算されてレジスタ
R1に格納される。OMULは0から2p-1の値、レジスタAxに
は0からp-1までの値が格納されているので、この減算の
結果は-(p-1)から2p-1となり、レジスタR1に符号付きで
格納される。次に、「R1=R1<0?R1+p:R1」で示している
通り、この結果が負の時にはpを加算して正にしてR1に
格納される。この結果R1は0から2p-1となるため、次に
このR1を「R1=R1<p?R1:R1-p」により0からp-1の値に補
正している。
を所定の手続きで並列に動作させることにより、最終的
にレジスタAx,Ay,Azに楕円曲線の加算の結果(x3,y3,z3)
が格納される。
算手続について述べている。図の見方は加算の手続きと
同様であるためここでは省略する。初期状態でレジスタ
Ax,Ay,Azに楕円曲線上の点(x1,y1,z1)の2倍点が、結果
として同様にレジスタAx,Ay,Azに格納される。
る。
に補正する前段階で出力する。このことにより、剰余乗
算器の制御ゲートを削減するとともに、処理時間mクロ
ックを最小にしている。この出力値の補正は必要である
場合に、次のNo以降で算術演算器において行う。
術演算部を複数回定められた手順に従って動作させる。
ミングで使用することにより、剰余乗算器の処理時間m
クロックを最小にしている。そして、このパイプライン
を切らないように手順を定めている。なお、上記示した
楕円曲線の加算点と2倍点の演算では、中間的なレジス
タを少なくしている。
乗算器の処理時間mクロック)×(剰余乗算器が動作す
る回数だけの処理時間で、複雑な楕円曲線の演算を行う
ことができる。
円曲線基本演算を実現する場合について説明したが、他
のビット数においても同様に実現可能であることは明ら
かである。また法pを素数としたが、これは素数のべき
乗値であってもよい。
処理内容を説明したが、例えば射影軸などであってもよ
い。射影軸については、例えばK.Koyama and Y.Tsuruok
a, "Speeding up elliptic cryptosystems by using a
signed binary window method", Advances in Cryptolo
gy-Proceedings of Crypto'92, Lecture Notes in Comp
uter Science, 740 (1993), Springer-Verlag, pp345-3
57.などが参考になる。
従来例より最後の剰余補正を取り除いたものとしている
が、この構成自身は本発明の範囲外とする。
の剰余乗算手段と算術演算手段を並列に動作させること
により、複雑な剰余乗算、加算、減算等が混在する楕円
曲線基本演算を高速・コンパクトに実現するハードウェ
アを提供することができる。
回動作するバックグランドで複数の算術演算を所定の手
順で動作させることにより、実質的に算術演算の処理時
間を0にすることができる。
終的な法pによる剰余補正を行わないことにより、剰余
乗算手段の制御ゲートと処理時間を削減することができ
る。なお、剰余乗算手段の出力の補正は、その後の剰余
乗算手段と並列した算術演算手段で必要に行うことによ
り、実質的にこの処理時間を削減できる。
入力した次Noのタイミングで使用することにより、剰余
乗算器の処理時間mクロックを最小にしている。そし
て、このパイプラインを切らないで楕円曲線の加算と2
倍点演算の手順を示している。そのため、楕円曲線の加
算や2倍点演算に必要となる処理時間は、(剰余乗算器
の処理時間mクロック)×(剰余乗算器が動作する回
数)だけの処理時間となる。なお、示した手順では、中
間的なレジスタの数が最小となり実現ゲート数を削減で
きる。
点演算の詳細な処理手順を示す図
点演算の詳細な処理手順を示す図
点演算の詳細な処理手順を示す図
点演算の詳細な処理手順を示す図
OMUL, p,a 9 剰余乗算器 11 算術演算器 14 制御部 20 データ入力部(初期設定部) 21 剰余乗算器処理部 22 算術演算器処理部 23 データ出力部
Claims (8)
- 【請求項1】整数pを格納するp格納手段と、複数のレジ
スタを備えるレジスタ群と、前記レジスタ群のうち2つ
のレジスタの格納値をA,Bとしたとき、これらレジスタ
を入力として、前記整数pによる剰余体において積A×B
と同値な値を、前記レジスタ群の1つのレジスタに出力
する剰余乗算手段と、前記レジスタ群のうち2つのレジ
スタの格納値を入力として、加算、減算、比較の演算を
行い、その結果を前記レジスタ群の1つのレジスタに出
力する算術演算手段と、前記剰余乗算手段と算術演算手
段を所定の手順に基づいて並列に動作させて制御を行う
制御手段を備えた演算装置。 - 【請求項2】前記剰余乗算手段の処理時間をm、前記算
術演算手段の処理時間をnとするとき、mがnより大であ
るとし、剰余乗算手段を1回動作する間に、所定の手順
に基づいて前記算術部演算手段を複数回動作させる制御
を行うことを特徴とする請求項1記載の演算装置。 - 【請求項3】前記算術演算手段を用いて、前記剰余乗算
手段の出力を、前記整数pを法とする剰余値に補正する
ことを特徴とする請求項1記載の演算装置。 - 【請求項4】前記制御手段において、整数pを法とする
剰余乗算と算術演算を所定の手順で組み合わせて実現す
る、有限体上に構成された楕円曲線上の演算を、前記剰
余乗算手段と前記算術演算手段を並列に動作させて実現
することを特徴とする請求項1記載の演算装置。 - 【請求項5】整数pを法とする有限体上の楕円曲線y^2=x
^3+ax+b (modp)の点(x1,y1,z1)を入力とし、この楕円
曲線上の2倍点(x3,y3,z3)を出力する演算装置であっ
て、"modp"を整数pにおける剰余とすると、各x3,y3,z3
は、 x3=T, y3=M×(S-T)-8y1^4 modp, z3=2y1×z1 modp S=4x1×y1^2 modp, M=3x1^2+a×z1^4 modp, T=-2S+M^2
modp の演算で求められるとき、これらの演算を、前記剰余乗
算手段の処理時間mを時間の単位としたときに、 時間1では、剰余乗算手段でz1×z1の整数pによる剰余
体において同値の値Aを求め、 時間2では、剰余乗算手段でy1×z1の整数pによる剰余
体において同値の値Bを求め、 時間3では、剰余乗算手段でA×Aの整数pによる剰余体
において同値の値Cを求め、同時に算術演算手段でBの2
倍値の整数pによる剰余を求めこれをz3として出力し、
またx1の4倍値の整数pによる剰余を求めこれを4x1と
し、 時間4では、剰余乗算手段でx1×x1の整数pによる剰余
体において同値の値Dを求め、 時間5では、剰余乗算手段でC×aの整数pによる剰余体
において同値の値Eを求め、同時に算術演算手段でDの3
倍値の整数pによる剰余を求めこれを3x1^2とし、 時間6では、剰余乗算手段でy1×y1の整数pによる剰余
体において同値の値Fを求め、同時に算術演算手段でEと
前記3x1^2の加算値の整数pによる剰余を求めこれをMと
し、 時間7では、剰余乗算手段でM×Mの整数pによる剰余体
において同値の値Gを求め、 時間8では、剰余乗算手段で4x1×Fの整数pによる剰余
体において同値の値Sを求め、 時間9では、剰余乗算手段でF×Fの整数pによる剰余体
において同値の値Hを求め、同時に算術演算手段でGから
Sの2倍値を減算した減算値の整数pによる剰余を求めこ
れをTとしさらにこれをx3として出力し、SからTを減算
した減算値の整数pによる剰余S-Tを求め、 時間10では、剰余乗算手段で(S-T)×Mの整数pによる
剰余体において同値の値Iを求め、同時にHの8倍値の整
数pによる剰余を求めこれを8y1^4とし、 時間11では、算出演算手段でIから8y1^4を減算した減
算値の整数pによる剰余を求めこれをy3として出力し、 以上の制御手順で出力値x3,y3,z3を求める制御手段を備
えたことを特徴とする請求項1記載の演算装置。 - 【請求項6】整数pを法とする有限体上の楕円曲線y^2=x
^3+ax+b (modp)の点(x1,y1,z1)と(x2,y2,z2=1)を入
力とし、この楕円曲線上の加算点(x3,y3,z3)を出力す
る演算装置であって、"modp"を整数pにおける剰余とす
ると、各x3,y3,z3は、 x3=-H^3-2U+r^2 modp, y3=-y1×H^3+r×(U-x3) modp, z
3=z1×H modp H=x2×z1^2-x1 modp, r=y2×z1^3-y1 modp, U=x1×H^2
modp の演算で求められるとき、これらの演算を、前記剰余乗
算手段の処理時間mを時間の単位としたときに、 時間1では、剰余乗算手段でz1×z1の整数pによる剰余
体において同値の値Aを求め、 時間2では、剰余乗算手段でy2×z1の整数pによる剰余
体において同値の値Bを求め、 時間3では、剰余乗算手段でx2×Aの整数pによる剰余体
において同値の値Cを求め、 時間4では、剰余乗算手段でB×Aの整数pによる剰余体
において同値の値Dを求め、同時に算術演算手段でCから
x1を減算した減算値の整数pによる剰余を求めこれをHと
し、 時間5では、剰余乗算手段でH×Hの整数pによる剰余体
において同値の値Eを求め、同時に算術演算手段でDから
y1を減算した減算値の整数pによる剰余を求めこれをrと
し、 時間6では、剰余乗算手段でz1×Hの整数pによる剰余体
において同値の値Fを求め、 時間7では、剰余乗算手段でE×Hの整数pによる剰余体
において同値の値Gを求め、同時に算術演算手段でFの整
数pによる剰余を求めこれをz3として出力し、 時間8では、剰余乗算手段でx1×Eの整数pによる剰余体
において同値の値Uを求め、 時間9では、剰余乗算手段でr×rの整数pによる剰余体
において同値の値Hを求め、 時間10では、剰余乗算手段でy1×Gの整数pによる剰余
体において同値の値Iを求め、同時に算術演算手段でHか
らGおよびUの2倍を減算した減算値の整数pによる剰余
を求めこれをx3として出力し、さらにUからx3を減算し
た減算値の整数pによる剰余を求めこれを(U-x3) とし、 時間11では、剰余乗算手段でr×(U-x3)の整数pによる
剰余体において同値の値Jを求め、 時間12では、算出演算手段でJからIを減算した減算値
の整数pによる剰余を求めこれをy3として出力し、 以上の制御手順で出力値x3,y3,z3を求めることを特徴と
する請求項1記載の演算装置。 - 【請求項7】前記整数pを素数とすることを特徴とする
請求項1から6のいずれか1項に記載の演算装置。 - 【請求項8】前記整数pを素数のべき乗とすることを特
徴とする請求項1から6のいずれか1項に記載の演算装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4322898A JPH11242436A (ja) | 1998-02-25 | 1998-02-25 | 演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4322898A JPH11242436A (ja) | 1998-02-25 | 1998-02-25 | 演算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11242436A true JPH11242436A (ja) | 1999-09-07 |
Family
ID=12658066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4322898A Pending JPH11242436A (ja) | 1998-02-25 | 1998-02-25 | 演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11242436A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009008930A (ja) * | 2007-06-28 | 2009-01-15 | Renesas Technology Corp | 楕円曲線演算装置および楕円曲線演算方法 |
-
1998
- 1998-02-25 JP JP4322898A patent/JPH11242436A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009008930A (ja) * | 2007-06-28 | 2009-01-15 | Renesas Technology Corp | 楕円曲線演算装置および楕円曲線演算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7904498B2 (en) | Modular multiplication processing apparatus | |
Ors et al. | Hardware implementation of an elliptic curve processor over GF (p) | |
US6151393A (en) | Device and method for modular multiplication | |
Kawamura et al. | Cox-rower architecture for fast parallel montgomery multiplication | |
US6876745B1 (en) | Method and apparatus for elliptic curve cryptography and recording medium therefore | |
Yanık et al. | Incomplete reduction in modular arithmetic | |
US8862651B2 (en) | Method and apparatus for modulus reduction | |
US7826612B2 (en) | System, method and apparatus for an incremental modular process including modular multiplication and modular eduction | |
US20020126838A1 (en) | Modular exponentiation calculation apparatus and modular exponentiation calculation method | |
EP0952697B1 (en) | Elliptic curve encryption method and system | |
Großschädl | A bit-serial unified multiplier architecture for finite fields GF (p) and GF (2 m) | |
US20080114820A1 (en) | Apparatus and method for high-speed modulo multiplication and division | |
KR20040060445A (ko) | 4-2 컴프레서를 이용한 몽고메리 모듈러 승산기 및 그승산 방법 | |
JPH11242436A (ja) | 演算装置 | |
US8290151B2 (en) | Device and method for determining an inverse of a value related to a modulus | |
Gutub | Fast 160-bits GF (p) elliptic curve crypto hardware of high-radix scalable multipliers | |
Bos et al. | Efficient Modular Multiplication | |
KR20100062565A (ko) | 모듈러스의 음의 역원을 구하는 방법 | |
JP2000181347A (ja) | 素体上楕円曲線上の点の演算方法およびその装置 | |
US20080005209A1 (en) | System, method and apparatus for public key encryption | |
Okeya et al. | Use of montgomery trick in precomputation of multi-scalar multiplication in elliptic curve cryptosystems | |
JP3626315B2 (ja) | 剰余算装置、情報処理装置及び剰余算方法 | |
WO2000041068A1 (en) | Method for generating a value for a multiplicative inverse of an element of a galois field | |
Mohammadi et al. | A fast and secure RSA public key cryptosystem | |
KR20000009759A (ko) | 모듈러 곱셈기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20041208 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041216 |
|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20050124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070522 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071002 |