JP4058152B2 - 楕円曲線演算装置 - Google Patents

楕円曲線演算装置 Download PDF

Info

Publication number
JP4058152B2
JP4058152B2 JP01374898A JP1374898A JP4058152B2 JP 4058152 B2 JP4058152 B2 JP 4058152B2 JP 01374898 A JP01374898 A JP 01374898A JP 1374898 A JP1374898 A JP 1374898A JP 4058152 B2 JP4058152 B2 JP 4058152B2
Authority
JP
Japan
Prior art keywords
elliptic curve
result
doubling
addition
calculation
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 - Lifetime
Application number
JP01374898A
Other languages
English (en)
Other versions
JPH11212458A (ja
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP01374898A priority Critical patent/JP4058152B2/ja
Publication of JPH11212458A publication Critical patent/JPH11212458A/ja
Application granted granted Critical
Publication of JP4058152B2 publication Critical patent/JP4058152B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves

Description

【0001】
【発明の属する技術分野】
本発明は情報セキュリテイ技術としての暗号技術に関するものであり、特に、楕円曲線を用いて実現する暗号及びデジタル署名技術に関するものである。
【0002】
【従来の技術】
秘密通信方式とは、特定の通信相手以外に通信内容を漏らすことなく通信を行なう方式である。またデジタル署名方式とは、通信相手に通信内容の正当性を示したり、本人であることを証明する通信方式である。この署名方式には公開鍵暗号とよばれる暗号方式を用いる。公開鍵暗号は通信相手が多数の時、通信相手ごとに異なる暗号鍵を容易に管理するための方式であり、多数の通信相手と通信を行なうのに不可欠な基盤技術である。簡単に説明すると、これは暗号化鍵と復号化鍵が異なり、復号化鍵は秘密にするが、暗号化鍵を公開する方式である。この公開鍵暗号の安全性の根拠に用いられるものに離散対数問題がある。離散対数問題には代表的に、有限体上定義されるもの及び楕円曲線上定義されるものがある。これはニイルコブリッツ著 ”ア コウス イン ナンバア セオリイ アンド クリプトグラヒイ”(Neal Koblitz , " A Course in Number theory and Cryptography", Spinger-Verlag,1987)に詳しく述べられている。楕円曲線上の離散対数問題を以下に述べる。
【0003】
楕円曲線上の離散対数問題
E(GF(p))を有限体GF(p)上定義された楕円曲線Eとし、Eの位数が大きな素数で割れる元Gをベースポイントとする。このとき、Eの与えられた元Yに対して、
Y=xG
となる整数xが存在するならばxを求めよ。
【0004】
以下に上記楕円曲線上の離散対数問題を応用したエルガマル署名をまず述べる。
【0005】
(従来例1)
図6は従来例である楕円曲線上のエルガマル署名方式の構成をしめすものである。
【0006】
以下同図を参照しながら従来例の手順を説明する。
(1) センタの設定
pを素数、GF(p)上の楕円曲線をEとし、その素数位数qの元をGとする。ユーザAの公開鍵をYa=xaGとし、秘密鍵をxaとする。センターは素数p及び楕円曲線E及びベースポイントGをシステムパラメータとして公開するとともに、Aの公開鍵Yaを公開する。
【0007】
(2) 署名生成
1 乱数kを生成する。
【0008】
2 R1=kG=(rx,ry)
sk = m + rxxa (mod q)を計算する
3 (R1、s)を署名としてmとともに送信する。
【0009】
(3) 署名検証
s1 = mG + rxYa
が成り立つかチェックする。
【0010】
上記従来例1でわかるように、楕円曲線を用いた署名方式では、固定点Gの冪倍の演算 kG 及び任意点 P(従来例では公開鍵Yaに相当)の冪倍の演算 kPの計算が必要である。このうち、固定点の演算は、以下の文献に知られるように、予めテーブルを用意しておくことが可能なので、高速に実現できる。
【0011】
E. F. Brickell, D.M. Gordon, K. S. McCurley and D.B. Wilson
"Fast exponentiation with precomputation",
Advances in cryptology-proceedings of Eurocrypt'92,
Lecture notes in computer science, 1993, Springer-verlag, 200-207.
一方、任意点Pの冪倍を計算する方法であるが、これは以下の文献が詳しい。
【0012】
Miyaji, Ono, and Cohen,
"Efficient elliptic curve exponentiation",
Advances in cryptology-proceedings of ICICS'97,
Lecture notes in computer science, 1997, Springer-verlag, 282-290.
ここで簡単に、この従来例について説明する。
【0013】
図7は従来例である楕円曲線演算装置の構成を示すものである。
以下同図を参照しながら従来例の手順を説明する。
【0014】
(従来例2)
pを160ビットの素数とし、有限体GF(p)上の楕円曲線を E とし、E(GF(p)) の任意の元 P に対して、 k*P の計算をする。ここで、kの2進表現を、
k = k0 + k1*2+ k2*2^2 + ・・・ + k159*2^159=[k159,....,k2,k1,k0]
(k0,・・・,k159 = 0,1)
とする。
【0015】
step1. ウインドウ幅 w=4 をもつ addition-subtraction 表現への変換
k=2^k0(2^k1(・・・ (2^kvW[v] +W[v-1])・・・)+W[0])
ここで、W[i] は奇数,かつ1 ≦ W[i] ≦ 2^4-1 である。
【0016】
W[i] への変換方法は、
奇数 0 ≦ t ≦ 2^5-1 を -2^4+1 ≦ t ≦ 2^4-1
に変換する自然な変換である。
【0017】
step2. 予備計算テーブルの作成
sP(s=3,5,..,15)をヤコビアン座標で計算し、予備計算テーブルとする。
【0018】
step3. kP の計算
Tを上位ビットより探索し、ウインドウがある毎に、予備計算テーブルの値との加算をヤコビアン座標で求めて、その結果をヤコビアン座標で2冪倍することを繰り返す。
【0019】
従来例では、一つの座標を利用するため全体の乗算回数が多くなるという問題がある。
【0020】
トータルの計算量を乗算回数で表すと、1882Mul になる。ここで、Mul は1回のGF(p)での乗算を表す。任意点の冪倍点の演算は、2倍点の演算が加算に比べて数多く必要になる。ところが、従来利用されていたプロジェクティブ座標、ヤコビアン座標、チャドノブスキヤコビアン座標の2倍点は、必要な乗算回数が多いので、kPの計算の全体の計算量が大きくなるという問題がある。
【0021】
【発明が解決しようとする課題】
楕円曲線を用いた暗号方式や署名方式では、固定点の冪倍点や任意点の冪倍点を求める楕円曲線演算装置が必須である。特に、任意点の冪倍点の演算には、時間がかかるので、これを高速に行なう研究がされている。
【0022】
従来例の冪倍点を求める方法は、各座標系を用いた際のトータルの計算量が
最も小さくなる座標を一つだけ利用する方法で、トータルの乗算回数が多いという欠点がある。
【0023】
本発明は、この従来例における問題点を鑑みて行なわれたもので、楕円曲線の加算、2倍点の計算時間を鑑みて、楕円曲線演算装置を構成し、これにより高速な暗号及び署名方式を提供することを目的とする。
【0024】
【課題を解決するための手段】
上述の問題点を解決するため、
本発明ではp を素数とし、有限体GF(p)上の楕円曲線を E:y^2=x^3+ax+b とし、E(GF(p)) の元を P = (x,y) を Z=1, X=x*Z^2, Y=y*Z^3 により変換した射影座標 (X,Y,Z) において、加算公式の内部点を修正ヤコビアンを特徴とする楕円曲線演算装置としている。
【0025】
本発明では、pを素数とし、rを正整数とするとき、有限体GF(p^r)上の楕円曲線を E とし、E(GF(p^r)) の元を
P = (x,y) を Z=1, X=x*Z^2, Y=y*Z^3
により変換した射影座標 (X,Y,Z) において、加算公式の内部点を修正ヤコビアンを特徴とする楕円曲線演算装置としている。
【0026】
本発明では、上記楕円曲線演算装置において、E(GF(p)) の元を修正ヤコビアン座標
P=(X1, Y1, Z1, a*Z1^4), Q=(X2, Y2, Z2, a*Z2^4) (P ≠ Q)
で表すとき,
P+Q=R=(X3, Y3, Z3, a*Z3^4)を、
U1=X1*Z2^2, U2=X2*Z1^2, S1=Y1*Z2^3,
S2=Y2*Z1^3, H=U2-U1, r=S2-S1
を計算し、
X3 = -H^3 -2U1*H^2+ r^2,
Y3 = -S1*H^3 + r(U1*H^2 -X3),
Z3 = Z1*Z2*H,
a*Z3^4 = a(Z3^2)^2
により求めることを特徴とした楕円曲線演算装置としている。
【0027】
本発明では、上記楕円曲線演算装置において、E(GF(p)) の元を、修正ヤコビアン座標
P=(X1, Y1, Z1, a*Z1^4)
とするとき、2P=R=(X3, Y3, Z3, a*Z3^4)を、
S=4X1*Y1^2, M=3X1^2+a*Z1^4, T=-2S+M^2
を計算し、
X3 = T,
Y3 = -8Y1^4 + M(S-T),
Z3 = 2Y1*Z1,
a*Z3^4 = 2^4*(Y1^4)*(a*Z1^4)
により求めることを特徴とした楕円曲線演算装置としている。
【0028】
本発明では、pを素数とし、kを正整数とするとき、有限体 GF(p) 上の楕円曲線を
E:y^2=x^3+ax+b
とし、
E(GF(p)) の元 P = (x,y) の冪倍点 kP= P + ... + P(k回の加算)
の計算を、座標を2個以上組み合わせて行なうことを特徴とした楕円曲線演算装置を特徴とする楕円曲線演算装置としている。
【0029】
本発明では、p を素数とし、r,k を正整数とし、有限体GF(p^r)上の楕円曲線を E とし、E(GF(p^r)) の元 P= (x,y) の冪倍点 kP = P + ... +P(k回の加算)の計算を、座標を2個以上組み合わせて行なうことを特徴とした楕円曲線演算装置としている。
【0030】
本発明では、pを素数、kを正整数、有限体GF(p)上の楕円曲線を
E:y^2=x^3+ax+b とし、
E(GF(p)) の元 P = (x,y) の冪倍点 kP= P + ... + P(k回の加算)
を計算する上記楕円曲線演算装置において、wを正整数とし、kを
k=2^k0(2^k1(・・・ (2^kvW[v] +W[v-1])・・・)+W[0])
(W[i] は奇数, かつ1 ≦ W[i] ≦2^w-1)
と表すとき、テーブル
iP = Pi=(xi,yi) (i は奇数,かつ 1 ≦ i ≦ 2^w-1)
をアフィン座標で計算し、kP の計算を、(ki-1) 回の2倍点の計算は、本発明の座標(X, Y, Z, a*Z^4) で行い、ki 回目の2倍点の結果は、ヤコビアン座標 (X, Y, Z) で求め、(X,Y,Z)とテーブルの点Piとの加算は、本発明の座標 (X, Y, Z,a*Z^4)で求めることを、繰り返すことによって得ることを特徴とした楕円曲線演算装置としている。
【0031】
本発明では、p を素数、kを正整数、有限体GF(p)上の楕円曲線を
E:y^2=x^3+ax+b
とし、E(GF(p)) の元 P = (x,y) の冪倍点 kP= P + ... + P(k回の加算)
を計算する上記楕円曲線演算装置において、wを正整数とし、kを
k=2^k0(2^k1(・・・ (2^kvW[v] +W[v-1])・・・)+W[0])
(W[i] は奇数, かつ1 ≦ W[i] ≦2^w-1)
と表すとき、テーブル
iP = Pi=(Xi,Yi,Zi,Zi^2,Zi^3) (iは奇数,かつ 1 ≦ i ≦ 2^w-1)
をチャドノブスキヤコビアン座標で求め、kP の計算を、(ki-1) 回の2倍点の計算は、本発明の修正ヤコビアン座標(X,Y, Z, a*Z^4) で行い、ki 回目の2倍点の結果は、ヤコビアン座標 (X, Y, Z)で求め、(X,Y,Z)とテーブルの点Piとの加算は、本発明の修正ヤコビアン座標(X, Y, Z,a*Z^4)で求めることを、繰り返すことによって得ることを特徴とした楕円曲線演算装置としている。
【0032】
本発明では、pを素数、kを正整数、有限体GF(p)上の楕円曲線を
E:y^2=x^3+ax+b とし、
E(GF(p)) の元 P = (x,y) の冪倍点 kP= P + ... + P(k回の加算)
を計算する上記楕円曲線演算装置において、wを正整数とし、kを
k=2^k0(2^k1(・・・ (2^kvW[v] +W[v-1])・・・)+W[0])
(W[i] は奇数,かつ1 ≦ W[i] ≦2^w-1)
と表すとき、テーブル
iP = Pi=(Xi,Yi,Zi,Zi^2,Zi^3) (iは奇数,かつ 1 ≦ i ≦ 2^w-1)
をチャドノブスキヤコビアン座標で求めるとき、はじめに、2P=(x,y) をアフィン座標で求めることを特徴とした楕円曲線演算装置としている。
【0033】
本発明では、pを素数、kを正整数、有限体GF(p)上の楕円曲線を
E:y^2=x^3+ax+b とし、
E(GF(p)) の元 P = (x,y) の冪倍点 kP= P + ... + P(k回の加算)
を計算する上記楕円曲線演算装置において、wを正整数とし、kを
k=2^k0(2^k1(・・・ (2^kvW[v] +W[v-1])・・・)+W[0])
(W[i] は奇数, かつ1 ≦ W[i] ≦2^w-1)
と表すとき、テーブル
iP = Pi=(Xi,Yi,Zi,Zi^2,Zi^3) (iは奇数,かつ 1 ≦ i ≦ 2^w-1)
をチャドノブスキヤコビアン座標で求めるとき、はじめに、2P=(x,y) をチャドノブスキヤコビアン座標で求めることを特徴とした楕円曲線演算装置としている
【0034】
【発明の実施の形態】
以下、本発明の実施の形態について図を用いて説明する。
【0035】
(実施の形態1)
図1は楕円曲線演算装置における修正ヤコビアンによる加算点の方法を示すものである。以下同図を参照しながら加算方法を説明する。
【0036】
ここでは、pを160ビット
の素数とし、GF(p)上の楕円曲線 E:y^2 = x^3 +ax+b,
その元を P=(X1, Y1, Z1, a*Z1^4), Q=(X2, Y2, Z2, a*Z2^4) (P ≠ Q)で表すとき、
P+Q = R= (X3, Y3, Z3, a*Z3^4)
を以下のステップで求める。
【0037】
step 1. 中間値の計算
U1=X1*Z2^2, U2=X2*Z1^2, S1=Y1*Z2^3,
S2=Y2*Z1^3, H=U2-U1, r=S2-S1
を計算する。
【0038】
step 2. R = (X3, Y3, Z3, a*Z3^4) を求める。
X3 = -H^3 -2U1*H^2+ r^2,
Y3 = -S1*H^3 + r(U1*H^2 -X3),
Z3 = Z1*Z2*H,
a*Z3^4 = a(Z3^2)^2
(実施の形態2)
図2は楕円曲線演算装置における修正ヤコビアンによる2倍点の方法を示すものである。以下同図を参照しながら加算方法を説明する。
【0039】
ここでも実施の形態1と同様に、pを160ビットの素数とし、GF(p)上の楕円曲線 E:y^2 = x^3 +ax+b,
その元 P=(X1, Y1, Z1, a*Z1^4) で表すとき、
2P = (X3, Y3, Z3, a*Z3^4)
を以下のステップで求める。
【0040】
step 1. 中間値の計算
S=4X1*Y1^2, M=3X1^2+a*Z1^4, T=-2S+M^2
を計算する。
【0041】
step 2. 2P = (X3, Y3, Z3, a*Z3^4) を求める。
X3 = T,
Y3 = -8Y1^4 + M(S-T),
Z3 = 2Y1*Z1,
a*Z3^4 = 2^4*(Y1^4)*(a*Z1^4)
上記の実施の形態1、2の計算量について述べる。GF(p)上の1回の乗算をMul、逆元演算をInv、2乗算をSqで表す。InvとMulの比率は、実装方法により異なるが、SqとMulの比率は、約 Sq=0.8Mul である。
【0042】
実施の形態1、2を用いて楕円曲線上の加算、2倍点を実現すると、加算が13Mul+6Sq で、2倍算は、4Mul+4Sq回で実現できる。加算は、従来から知られているプロジェクティブ座標、ヤコビアン座標、チャドノブスキヤコビアン座標に比較すると計算量が多いが、2倍算は、従来の座標系のどれよりも少ない計算量で実現できる。
【0043】
楕円曲線の冪倍点 kP (k=160ビット)の演算は、加算に比べ2倍算の繰り返し回数が多い。このため、従来例2にヤコビアン座標の代わりに、実施の形態1、2の修正ヤコビアン座標を用いると、高速化ができる。実際、従来例2が1882Mulで合ったのに対し、実施の形態1、2の修正ヤコビアン座標を適用すると、1722Mulで実現できる。よって、2倍算が高速な修正ヤコビアンの効果は大きい。
【0044】
(実施の形態3)
図3は本発明の実施の形態3における楕円曲線演算装置の構成を示すものである。
【0045】
以下同図を参照しながら実施の形態の手順を説明する。
p を160ビットの素数とし、有限体GF(p)上の楕円曲線を E とし、E(GF(p)) の任意の元を P , k*P の計算をする。ここで、kが従来例2のように、以下で表されているとする。
【0046】
k=2^k0(2^k1(・・・ (2^kvW[v] +W[v-1])・・・)+W[0])
step 1. 予備計算テーブルの作成
sP(s=3,5,..,15)をアフィン座標で計算し、予備計算テーブルとする。
【0047】
step 2. kP の計算
Tを上位ビットより探索し、ウインドウがある毎に、予備計算テーブルの値 (アフィン座標)との加算を修正ヤコビアン座標で求めて、その結果を修正ヤコビアン座標で2冪倍するが、最終結果はヤコビアン座標で得ることを繰り返す。
【0048】
すなわち、2^kP1 +W[2]Pを、(P1は途中の計算結果で修正ヤコビアン座標)
step 2-1. (k-1)回 、P1を修正ヤコビアン座標により2倍算する。
【0049】
step 2-2. 2^(k-1)P1 を2倍し、結果をヤコビアン座標で与える。
step 2-3. W[2]P をテーブルから参照する(アフィン座標)
step 2-4. ヤコビアン座標の 2^kP1 とアフィン座標の W[2]Pを加算し、結果は修正ヤコビアン座標で与える。
【0050】
上記実施の形態3の楕円演算装置は、2倍算においては最も計算量の少ない修正ヤコビアン座標を、加算においては、ヤコビアン座標とアフィン座標の結果を修正ヤコビアン座標で得るという混合座標を用いることにより、全体の乗算の回数を減らすことができる。実際、トータルの計算量は、8Inv+1456Mulである。従来例の1882Mulに比較して、Inv<53.3Mul であれば実施の形態3の方が高速になる。一般に、Inv<30Mulであることより、従来例よりはるかに高速に実現出来る。
【0051】
(実施の形態4)
図4は本発明の実施の形態4における楕円曲線演算装置の構成を示すものである。
【0052】
以下同図を参照しながら本実施の形態の手順を説明する。
p を160ビットの素数とし、有限体GF(p)上の楕円曲線を E とし、
E(GF(p)) の任意の元を P , k*P の計算をする。ここで、kが従来例2のように以下で表されているとする。
【0053】
k=2^k0(2^k1(・・・ (2^kvW[v] +W[v-1])・・・)+W[0])
step 1. 予備計算テーブルの作成
sP(s=3,5,..,15)を、2Pは、アフィン座標で計算し、2P+sP をチャドノブスキヤコビアン座標で求めることにより、予備計算テーブルを作成する。
【0054】
(予備計算テーブルはチャドノブスキヤコビアン座標)
step 2. kP の計算
Tを上位ビットより探索し、ウインドウがある毎に、予備計算テーブルの値(チャドノブスキヤコビアン座標)との加算を修正ヤコビアン座標で求めて、
その結果を修正ヤコビアン座標で2冪倍するが、最終結果はヤコビアン座標で得ることを繰り返す。
【0055】
すなわち、2^kP1 +W[2]Pを、(P1は途中の計算結果で修正ヤコビアン座標)
step 2-1. (k-1)回 、P1を修正ヤコビアン座標により2倍算する。
【0056】
step 2-2. 2^(k-1)P1 を2倍し、結果をヤコビアン座標で与える。
step 2-3. W[2]P をテーブルから参照する(チャドノブスキヤコビアン座標)
step 2-4. ヤコビアン座標の 2^kP1 とチャドノブスキヤコビアン座標のW[2]Pを加算し、結果は修正ヤコビアン座標で与える。
【0057】
上記実施の形態4の楕円演算装置は、2倍算においては最も計算量の少ない修正ヤコビアン座標を、加算においては、ヤコビアン座標とチャドノブスキヤコビアン座標の結果を修正ヤコビアン座標で得るという混合座標を用いることにより、全体の乗算の回数を減らすことができる。実際、トータルの計算量は、Inv+1593Mulである。従来例の1882Mulに比較して、Inv<289Mul であれば実施の形態4の方が高速になる。一般に、Inv<30Mulであることより、従来例よりはるかに高速に実現出来る。
【0058】
(実施の形態5)
図5は本発明の実施の形態5における楕円曲線演算装置の構成を示すものである。
【0059】
以下同図を参照しながら本実施の形態の手順を説明する。
pを160ビットの素数とし、有限体GF(p)上の楕円曲線を E とし、E(GF(p)) の任意の元を P , k*P の計算をする。ここで、kが従来例2のように以下で表されているとする。
【0060】
k=2^k0(2^k1(・・・ (2^kvW[v] +W[v-1])・・・)+W[0])
step 1. 予備計算テーブルの作成
sP(s=3,5,..,15)を、チャドノブスキヤコビアン座標で求めることにより、
予備計算テーブルを作成する。
【0061】
(予備計算テーブルはチャドノブスキヤコビアン座標)
step2. kP の計算
Tを上位ビットより探索し、ウインドウがある毎に、予備計算テーブルの値 (チャドノブスキヤコビアン座標)との加算を修正ヤコビアン座標で求めて、
その結果を修正ヤコビアン座標で2冪倍するが、最終結果はヤコビアン座標で得ることを繰り返す。
【0062】
すなわち、2^kP1 +W[2]Pを、(P1は途中の計算結果で修正ヤコビアン座標)
step 2-1. (k-1)回 、P1を修正ヤコビアン座標により2倍算する。
【0063】
step 2-2. 2^(k-1)P1 を2倍し、結果をヤコビアン座標で与える。
step 2-3. W[2]P をテーブルから参照する(チャドノブスキヤコビアン座標)
step 2-4. ヤコビアン座標の 2^kP1 とチャドノブスキヤコビアン座標のW[2]Pを加算し、結果は修正ヤコビアン座標で与える。
【0064】
上記実施の形態5の楕円演算装置は、2倍算においては最も計算量の少ない修正ヤコビアン座標を、加算においては、ヤコビアン座標とチャドノブスキヤコビアン座標の結果を修正ヤコビアン座標で得るという混合座標を用いることにより、全体の乗算の回数を減らすことができる。実際、トータルの計算量は、1619Mulである。従来例の1882Mulに比較して、はるかに高速に実現出来る。
【0065】
【発明の効果】
以上に説明したように本発明は、従来例における問題点を鑑みて行なわれたもので、高速な暗号方式や署名方式を可能にする楕円曲線演算装置を提供することができ、その実用的価値は大きい。
【図面の簡単な説明】
【図1】本発明における実施の形態1の楕円曲線演算装置の構成図
【図2】本発明における実施の形態2の楕円曲線の演算装置の構成図
【図3】本発明における実施の形態3の楕円曲線演算装置の構成図
【図4】本発明における実施の形態4の楕円曲線の演算装置の構成図
【図5】本発明における実施の形態5の楕円曲線演算装置の構成図
【図6】従来例1のエルガマル署名の構成図
【図7】従来例2の楕円曲線演算装置を示す図

Claims (2)

  1. 楕円曲線上の元Pのべき倍演算を用いて、情報の秘密通信又はデジタル署名を行う楕円曲線演算装置であって、
    楕円曲線上の元のべき倍演算と等価であり、途中演算結果に対する1個以上の2倍算及び前記2倍算の結果と加算対象との1個の加算の組合せを複数個含んで構成される組合せ演算を行うべき倍演算手段を含み、
    前記べき倍演算手段は、
    アフィン座標において、予め定められた複数の係数と元Pとのそれぞれのべき倍算の算出結果を含むテーブルと、
    アフィン座標と比較して演算量の少ない修正ヤコビアン座標において、前記途中結果に対する1個以上の2倍算を行って2倍算結果を算出する2倍算手段と、
    前記加算対象を前記テーブルに保持されている複数の算出結果から参照するテーブル参照手段と、
    参照により得られた前記加算対象と、前記2倍算結果とを加算して、加算結果を算出する加算手段とを含む
    ことを特徴とする楕円曲線演算装置。
  2. 楕円曲線上の元Pのべき倍演算を用いて、情報の秘密通信又はデジタル署名を行う楕円曲線演算装置で用いられる楕円曲線演算方法であって、
    前記楕円曲線演算装置は、アフィン座標において、予め定められた複数の係数と元Pとのそれぞれのべき倍算の算出結果を含むテーブルと、楕円曲線上の元のべき倍演算と等価であり、途中演算結果に対する1個以上の2倍算及び前記2倍算の結果と加算対象との1個の加算の組合せを複数個含んで構成される組合せ演算を行うべき倍演算手段とを含み、
    前記べき倍演算方法は、
    べき倍演算手段により、アフィン座標と比較して演算量の少ない修正ヤコビアン座標において、前記途中結果に対する1個以上の2倍算を行って2倍算結果を算出する2倍算ステップと、
    べき倍演算手段により、前記加算対象を前記テーブルに保持されている複数の算出結果から参照するテーブル参照ステップと、
    べき倍演算手段により、参照により得られた前記加算対象と、前記2倍算結果とを加算して、加算結果を算出する加算ステップとを含む
    ことを特徴とする楕円曲線演算方法。
JP01374898A 1998-01-27 1998-01-27 楕円曲線演算装置 Expired - Lifetime JP4058152B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01374898A JP4058152B2 (ja) 1998-01-27 1998-01-27 楕円曲線演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01374898A JP4058152B2 (ja) 1998-01-27 1998-01-27 楕円曲線演算装置

Publications (2)

Publication Number Publication Date
JPH11212458A JPH11212458A (ja) 1999-08-06
JP4058152B2 true JP4058152B2 (ja) 2008-03-05

Family

ID=11841882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01374898A Expired - Lifetime JP4058152B2 (ja) 1998-01-27 1998-01-27 楕円曲線演算装置

Country Status (1)

Country Link
JP (1) JP4058152B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3833412B2 (ja) 1999-04-09 2006-10-11 富士通株式会社 有限体演算における表現データ生成装置および方法
US7702098B2 (en) * 2005-03-15 2010-04-20 Microsoft Corporation Elliptic curve point octupling for weighted projective coordinates
US7680268B2 (en) * 2005-03-15 2010-03-16 Microsoft Corporation Elliptic curve point octupling using single instruction multiple data processing
EP2090978A1 (en) * 2008-02-15 2009-08-19 Thomson Licensing An apparatus and a method for calculating a multiple of a point on an elliptic curve

Also Published As

Publication number Publication date
JPH11212458A (ja) 1999-08-06

Similar Documents

Publication Publication Date Title
Galbraith Elliptic curve Paillier schemes
Jurišic et al. Elliptic curves and cryptography
Koblitz et al. The state of elliptic curve cryptography
US6243467B1 (en) Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form
US6266688B1 (en) Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed
Stam et al. Efficient subgroup exponentiation in quadratic and sixth degree extensions
US6480606B1 (en) Elliptic curve encryption method and system
US6993136B2 (en) Cryptographic key exchange method using efficient elliptic curve
US7062043B1 (en) Method of elliptic curve digital signature using coefficient splitting
Ma et al. Attribute-based blind signature scheme based on elliptic curve cryptography
Pandey et al. An RNS implementation of the elliptic curve cryptography for IoT security
US7024559B1 (en) Method of elliptic curve digital signature using expansion in joint sparse form
JP4058152B2 (ja) 楕円曲線演算装置
Sakai et al. Algorithms for efficient simultaneous elliptic scalar multiplication with reduced joint Hamming weight representation of scalars
Stogbauer Efficient Algorithms for pairing-based cryptosystems
Reaz et al. FPGA implementation of elliptic curve cryptography engine for personal communication systems
Tsaur et al. Efficient algorithms for speeding up the computations of elliptic curve cryptosystems
Frey et al. Fast bilinear maps from the Tate-Lichtenbaum pairing on hyperelliptic curves
KR100341507B1 (ko) 빠른 유한체 연산을 이용한 타원곡선 암호화 방법 및 전자서명 방법
Frey et al. Mathematical background of public key cryptography
Qingxian The application of elliptic curves cryptography in embedded systems
Liu et al. Efficient Septuple Formula for Elliptic Curve and Efficient Scalar Multiplication Using a Triple-Base Chain Representation
Rao et al. A novel modular multiplication algorithm and its application to RSA decryption
Álvarez et al. Applying quick exponentiation for block upper triangular matrices
Okeya et al. A scalar multiplication algorithm with recovery of the y-coordinate on the montgomery form and analysis of efficiency for elliptic curve cryptosystems

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050119

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: 20070605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071030

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: 20071120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071217

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131221

Year of fee payment: 6

EXPY Cancellation because of completion of term