JP2001265218A - 楕円曲線上の演算方法及び装置と、演算プログラムを記録した記録媒体 - Google Patents

楕円曲線上の演算方法及び装置と、演算プログラムを記録した記録媒体

Info

Publication number
JP2001265218A
JP2001265218A JP2000082112A JP2000082112A JP2001265218A JP 2001265218 A JP2001265218 A JP 2001265218A JP 2000082112 A JP2000082112 A JP 2000082112A JP 2000082112 A JP2000082112 A JP 2000082112A JP 2001265218 A JP2001265218 A JP 2001265218A
Authority
JP
Japan
Prior art keywords
point
coordinates
elliptic curve
calculation
represented
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
Application number
JP2000082112A
Other languages
English (en)
Inventor
Hiroki Shudo
啓樹 首藤
Tadao Takeda
忠雄 竹田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000082112A priority Critical patent/JP2001265218A/ja
Publication of JP2001265218A publication Critical patent/JP2001265218A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 本発明は、素体上の楕円曲線の上のアフィン
座標表示された第1の点を同じ楕円曲線上のアフィン座
標表示された第2の点に整数倍する楕円k倍演算が、精
度の低下を伴わずにより高速に処理される楕円曲線上の
演算計算方法の提供を目的とする。 【解決手段】 本発明では、楕円k倍演算中に行われる
楕円加算演算を、モンゴメリ演算域においてアフィン座
標系と同次座標系を混在させた形式で計算する。これに
より、乗算剰余演算の実行回数が削減され、楕円k倍演
算の処理時間が高速化される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報セキュリティ
技術、特に、楕円曲線を用いた暗号技術やディジタル署
名技術において、素体Fp上の楕円曲線上での点の楕円
k倍演算の方法、かかる方法を実施する装置、並びに、
楕円k倍演算を実行するプログラムを記録した記録媒体
に関する。
【0002】
【従来の技術】従来、公開鍵暗号やディジタル署名の代
表的な方式として普及しているRSA法は、十分な安全
性を確保するため、暗号鍵の鍵長をかなり大きくする必
要があることが知られている。そのため、楕円曲線暗号
系が近年注目され始めている。楕円曲線暗号系は、楕円
曲線の離散対数問題を解くことが特に困難であることに
依拠している。また、楕円曲線暗号系による公開鍵暗号
方式の場合、RSA方式と同じ程度の安全性がより少な
い鍵長で実現できる点で優れている。
【0003】楕円曲線上の離散対数問題とは、楕円曲線
上の点をP及びTとし、 T=kP と表わされる場合に、kとPからTを求めることは容易
であるのに対し、PとTからkを求めることが極めて困
難であるという問題である。ここで、 T=kP は、いわゆる楕円曲線のk倍演算である。このように、
楕円曲線のk倍演算は楕円曲線暗号系において重要な演
算であり、この演算を高速に実現できることが楕円曲線
暗号系の実用化のため要請されている。
【0004】次に、従来技術において行われている楕円
曲線のk倍演算のアルゴリズムを説明する。
【0005】そのため、素数pを用いて表わされる素体
をFpとし、 E:y=x+ax+b a,b∈Fp 4a3+27b2 ≠0 で定義される素体Fp上の楕円曲線E/Fpを考える。楕
円k倍演算は、素体Fp上の楕円曲線E/Fp:y2≡x3
+ax+b (mod p)上の点をP(x1,y1)と
し、kを整数としたときに、 T(x2,y2)=kP(x1,y1) で表わされる値x2,y2を求める演算である。ここで、
T(x2,y2)も楕円曲線E/Fp上の点である。 以
下、図7に示された従来技術による楕円k倍演算のフロ
ーチャートを参照して、従来技術によるアルゴリズムを
説明する。
【0006】ステップ1:楕円曲線のパラメータa及び
pと、正整数kと、点P(x1,y1)とを入力する。
【0007】ステップ2:パラメータa及び点P
(x1,y1)を、モンゴメリ演算域における表示am
びPm(x1m,y1m)に変換する。
【0008】ここで、モンゴメリ演算域への変換とは、
正整数Nを2進表現したときのビット長をLとし、m≧
Lなる整数mを用いて表わされるR=2に対して、正
整数Aを AR mod N に対応させることを意味する。また、モンゴメリ演算域
で表示された値Bを BR-1 mod N に対応させることをモンゴメリ演算域に制限されていな
い値への還元と呼ぶ。
【0009】ステップ3:次に、モンゴメリ演算域にお
けるアフィン座標表示された点Pm(x1m,y1m)を、
モンゴメリ演算域における同次座標表示Ppm(X1m
1m,Z1m)に変換する。 ここで、アフィン座標表示
と同次座標表示の関係を説明する。
【0010】任意の有理数Z(Z≠0)を用いて、 X=xZ, Y=yZ と定義したとき、点P(X,Y,Z)はアフィン座標
表示の点P(x,y)を同次座標表示に変換した点と呼
ばれる。
【0011】ステップ4:モンゴメリ演算域において同
次座標系で楕円k倍演算 Tpm(X2m,Y2m,Z2m)=kPpm(X1m,Y1m,Z
1m) を実行する。
【0012】ステップ5:次に、モンゴメリ演算域にお
いて同次座標表示された点Tpm(X2m,Y2m,Z2m
を、モンゴメリ演算域においてアフィン座標表示された
点T m(x2m,y2m)に変換する。
【0013】ステップ6:さらに、モンゴメリ演算域に
おいてアフィン座標表示した点Tm(x2m,y2m)を通
常のアフィン座標表示の点T(x2,y2)に還元する。
【0014】ステップ7:以上の演算によって得られた
通常のアフィン座標表示の点T(x 2,y2)を、ステッ
プ1で入力された点P(x1,y1)の楕円k倍演算の結
果として出力する。
【0015】このように従来技術における楕円k倍演算
のアルゴリズムでは、モンゴメリ演算域において同次座
標表示された点に対し楕円k倍演算が適用される。
【0016】図8は、従来技術において適用されるモン
ゴメリ演算域において同次座標系での楕円k倍演算 Tpm(X2m,Y2m,Z2m)=kPpm(X1m,Y1m,Z
1m) の計算処理フローチャートであり、図7のステップ4の
詳細なフローチャートである。
【0017】ステップ11:最初に、モンゴメリ演算域
において同次座標表示された点P m(X1m,Y1m,Z
1m)の座標値X1m,Y1m及びZ1mを、Tpm(X2m,Y
2m,Z 2m)のX2m,Y2m及びZ2mに各々代入し、変数i
にn−2を代入する。ただし、kは、
【0018】
【数1】 のように2進表現できるnビットの整数であり、kの第
i+1ビット目の係数をki(∈{0,1})とする。
以下、iとkiの値に応じて楕円2倍演算と楕円加算演
算が繰り返し行われ、モンゴメリ演算域において同次座
標表示された点P m(X1m,Y1m,Z1m)の楕円k倍
演算の結果として、モンゴメリ演算域において同次座標
表示された点Tpm(X2m,Y2m,Z2m)として得られ
出力される。
【0019】より具体的には、ステップ12でi≧0が
検査され、ステップ13でki=1が検査される。
【0020】i≧0かつki=1の場合には、ステップ
14において、楕円2倍演算 Tpm(X2m,Y2m,Z2m)←2Tpm(X2m,Y2m,Z
2m) が行われ、ステップ15において、楕円加算演算 Tpm(X2m,Y2m,Z2m)←Tpm(X2m,Y2m
2m)+Ppm(X2m,Y2 m,Z2m) が行われ、ステップ17に進む。尚、←は代入演算を表
わす。
【0021】i≧0かつki≠1の場合には、ステップ
16において、楕円2倍演算 Tpm(X2m,Y2m,Z2m)←2Tpm(X2m,Y2m,Z
2m) が行われ、ステップ17に進む。
【0022】ステップ17では、iがデクリメント(i
←i−1)され、ステップ12に戻る。
【0023】また、ステップ12において、i≧0では
ないならば、ステップ18に進み、楕円k倍演算の結果
として、この時点でモンゴメリ演算域において同次座標
表示された点Tpm(X2m,Y2m,Z2m)が出力され
る。
【0024】図9は、従来技術の楕円k倍演算で利用さ
れるモンゴメリ演算域において同次座標表示された点の
楕円2倍演算の計算処理フローチャートであり、図8の
ステップ14の処理がより詳細に表わされている。
【0025】ステップ21: モンゴメリ演算域におい
て同次座標表示された点Tpm(X2m,Y2m,Z2m)の
2mの値が0と比較され、Y2m=0の場合には、ステッ
プ22に進み、Y2m≠0の場合には、ステップ23に進
む。
【0026】ステップ22: (X2m,Y2m,Z2m)に
(0,0,R mod p)を代入して、ステップ24に
進む。
【0027】ステップ23:この場合、以下に示すよう
にX3m、Y3m及びZ3mが計算され、Tpm(X2m
2m,Z2m)のX2m,Y2m,Z2mに代入された後、ステ
ップ24に進む。
【0028】X3m←−16X2m2m 2m -5+2
(3X2m 2-1+am2m -222m2m-3mo
d p Y3m←−8Y2m 42m -5+12X2m2m 2m(3
2m 2-1+am2m -2)R-4−(3X2m 2-1
m2m -2-2 mod p Z3m←8Y2m 2m -5 mod p X2m←X3m 2m←Y3m 2m←Z3m ステップ24:モンゴメリ演算域において同次座標表示
された点の楕円2倍演算の結果Tpm(X2m,Y2m,Z
2m)が出力される。
【0029】図10は、従来技術の楕円k倍演算で利用
されるモンゴメリ演算域において同次座標表示された点
の楕円加算演算の計算処理フローチャートであり、図8
のステップ15がより詳細に示されている。
【0030】Tpm(X2m,Y2m,Z2m)←T
pm(X2m,Y2m,Z2m)+Ppm(X1m,Y 1m,Z
1m) の計算は、以下の手順で行われる。
【0031】ステップ31:(X2m,Y2m)=(0,
0)かどうかが検査され、(X2m,Y 2m)=(0,0)
であるならば、ステップ32に進み、さもなければ、ス
テップ33に進む。
【0032】ステップ32:(X2m,Y2m,Z2m)に
(X1m,Y1m,Z1m)を代入して、ステップ38に進
む。
【0033】ステップ33:次式 X2m1m-1−X1m2m-1≡0 (mod p) が成立するかどうかを検査し、結果が肯定的な場合、ス
テップ34に進み、さもなければ、ステップ37に進
む。
【0034】ステップ34:次式 Y2m1m-1−Y1m2m-1≡0 (mod p) が成立するかどうかを検査し、結果が肯定的な場合、ス
テップ36に進み、さもなければ、ステップ35に進
む。
【0035】ステップ35:(X2m,Y2m,Z2m)に
(0,0,Z2m)を代入して、ステップ38に進む。
【0036】ステップ36:図9に関して説明した楕円
2倍演算 Tpm(X2m,Y2m,Z2m)←2Tpm(X2m,Y2m,Z
2m) を行い、ステップ38に進む。
【0037】ステップ37:この場合、以下に示すよう
にX3m、Y3m及びZ3mが計算され、Tpm(X2m
2m,Z2m)のX2m,Y2m,Z2mに代入された後、ステ
ップ38に進む。
【0038】X3m←(X2m1m-1−X1m2m-1
(Z1m2m(Y2m1m-1−Y1m2m-12-3
(X2m1m-1−X1m2m-1-2−2X1m
2m(X2m1m-1−X1m2m-1-3)R-1
mod p Y3m←−Y1m2m(X2m1m-1−X1m2m-13
-4+(Y2m1m- −Y1m2m-1)(3X1m
2m(X2m1m-1−X1m2m-12-3−Z1m2m
(Y2m1m-1−Y1m2m-12-3+(X2m1m
-1−X1m2 m-13-2)R-1 mod p Z3m←Z1m2m(X2m1m-1−X1m2m-13
-4 mod p X2m←X3m 2m←Y3m 2m←Z3m ステップ38:モンゴメリ演算域において同次座標表示
された点の楕円加算演算の結果Tpm(X2m,Y2m,Z
2m)が出力される。
【0039】図7乃至10を参照して説明した従来技術
による楕円k倍演算の手順に従って、式(1)で定義さ
れたkを用いて、 Tpm(X2m,Y2m,Z2m)=kPpm(X1m,Y1m,Z1m) (2) を算出する場合、楕円加算演算は、モンゴメリ演算域に
おいて同次座標系だけに基づいて計算される。このよう
な従来技術による楕円k倍演算に必要なモンゴメリ演算
域における乗算剰余演算と加算剰余演算/減算剰余演算
の演算回数は図11に示されている。従来技術の楕円k
倍演算の手順の場合、式(2)の計算は、図8乃至10
に示されているように、モンゴメリ演算域における乗算
剰余演算と、加算剰余演算/減算剰余演算とのみで算出
できる。
【0040】
【発明が解決しようとする課題】しかしながら、上記の
従来技術の楕円k倍演算は、モンゴメリ演算域における
乗算剰余演算回数が多いため、多くの処理時間を要する
という問題がある。また、このような従来技術の楕円k
倍演算を用いて楕円曲線暗号系を構築するためには非常
に高性能、したがって、高価格の演算処理装置が必要で
ある。
【0041】そのため、本発明は、素体Fp上の楕円曲
線E/Fp上の点をP(x1,y1)とし、任意の整数を
kとした場合に、楕円曲線E/Fp上での楕円k倍演算
kP(x1,y1)が従来技術の演算手順よりも高速に処
理され得る楕円曲線上の演算方法、演算装置、並びに、
演算プログラムを記録した記録媒体の提供を目的とす
る。
【0042】
【課題を解決するための手段】上記本発明の目的を達成
するため、本発明では、処理時間の高速化を図るため、
従来技術の場合よりも少ない演算回数の乗算剰余演算を
用いて楕円k倍演算を実現するアルゴリズムを提案す
る。
【0043】そのため、本発明によれば、楕円加算をモ
ンゴメリ演算域においてアフィン座標系と同次座標系と
を混在させた形式で計算することにより、乗算剰余演算
の実行回数が削減され、処理時間が短くなる。
【0044】請求項1に係る発明は、素体上の楕円曲線
の上のアフィン座標表示された第1の点の座標値及び上
記楕円曲線を定めるパラメータ値をモンゴメリ演算域に
おける値に変換する工程と、モンゴメリ演算域におい
て、上記第1の点のアフィン座標表示された座標値を楕
円k倍演算して上記第1の点と同じ楕円曲線の上にある
第2の点の同次座標表示された座標値を獲得する工程
と、モンゴメリ演算域において、上記第2の点の同次座
標表示された座標値をアフィン座標表示された座標値に
変換する工程と、モンゴメリ演算域における上記第2の
点のアフィン座標表示された座標値をモンゴメリ演算域
から還元して上記アフィン座標表示された上記第2の点
の座標値を得る工程とを有し、上記素体上の楕円曲線の
上のアフィン座標表示された第1の点を同じ楕円曲線上
のアフィン座標表示された第2の点に整数倍する、計算
機で使用される楕円曲線上の演算方法であって、モンゴ
メリ演算域において、上記第1の点のアフィン座標表示
された座標値を楕円k倍演算する計算は、モンゴメリ演
算域においてアフィン座標表示された座標値と同次座標
表示された座標値とを混在した形式で行われることを特
徴とする。
【0045】また、上記楕円曲線上の演算方法、すなわ
ち、上記モンゴメリ演算域において第1の点のアフィン
座標表示された座標値を楕円k倍演算する計算は、アフ
ィン座標表示された座標値を楕円2倍演算して同次座標
表示された座標値を得る工程と、同次座標表示された座
標値とアフィン座標表示された座標値を楕円加算演算し
て同次座標表示された別の座標値を得る工程と、アフィ
ン座標表示された座標値を同次座標表示された座標値に
変換する工程と、同次座標表示された座標値を楕円2倍
演算して同次座標表示された別の座標値を得る工程と
を、上記第1の点の座標値と整数倍の倍数の値とに応じ
て組み合わせることにより行われることを特徴とする。
【0046】好ましくは、上記素体上の楕円曲線の上の
アフィン座標表示された第1の点、同じ楕円曲線上のア
フィン座標表示された第2の点、及び、上記整数倍の倍
数は、楕円曲線暗号系の暗号化情報に対応している。
【0047】請求項4に係る発明は、素数pによって表
わされる素体をFpとし、 E:y2=x3+ax+b a,b∈Fp 4a3+27b2 ≠0 で定義される素体Fp上の楕円曲線E/Fp上の点でアフ
ィン座標表示された点をPとし、正整数をkとした場合
に、楕円曲線E/Fp上での点Pのk倍算 T=kP を計算機により自動的に計算する楕円曲線上の演算方法
であって、楕円曲線E/Fp上のアフィン座標表示され
た点、及び楕円曲線E/Fpを定義するパラメータ値を
モンゴメリ演算域に変換するステップと、モンゴメリ演
算域において、アフィン座標表示された点を同次座標表
示された点に変換するステップと、モンゴメリ演算域に
おいて、楕円曲線E/Fp上のアフィン座標表示された
点を楕円2倍演算し、楕円2倍演算された点を同次座標
表示するステップと、モンゴメリ演算域において、楕円
曲線E/Fp上の同次座標表示された点を楕円2倍演算
するステップと、モンゴメリ演算域において、楕円曲線
E/Fp上でアフィン座標表示された第1の点と上記第
1の点とは異なる同次座標表示された第2の点を楕円加
算演算するステップと、モンゴメリ演算域において、同
次座標表示された点をアフィン座標表示された点に変換
するステップと、モンゴメリ演算域におけるアフィン座
標表示の点を、モンゴメリ演算域に制限されていないア
フィン座標表示の点に還元するステップと、倍数kの値
と楕円曲線E/Fp上の点Pの値とに応じて、点Pのk
倍算が計算されるように上記の演算のためのステップの
実行手順を定め、上記実行手順に基づいてk倍算の途中
結果の値を順次更新するステップとを有することを特徴
とする。
【0048】請求項5に係る発明は、素数pによって表
わされる素体をFpとし、 E:y2=x3+ax+b a,b∈Fp 4a3+27b2 ≠0 で定義される素体Fp上の楕円曲線E/Fp上の点でアフ
ィン座標表示された点をPとし、正整数をkとした場合
に、楕円曲線E/Fp上での点Pのk倍算 T=kP を計算する楕円曲線上の演算装置であって、楕円曲線E
/Fp上のアフィン座標表示された点、及び楕円曲線E
/Fpを定義するパラメータ値をモンゴメリ演算域に変
換する演算部と、モンゴメリ演算域において、アフィン
座標表示された点を同次座標表示された点に変換する演
算部と、モンゴメリ演算域において、楕円曲線E/Fp
上のアフィン座標表示された点を楕円2倍演算し、楕円
2倍演算された点を同次座標表示する演算部と、モンゴ
メリ演算域において、楕円曲線E/Fp上の同次座標表
示された点を楕円2倍演算する演算部と、モンゴメリ演
算域において、楕円曲線E/Fp上でアフィン座標表示
された第1の点と上記第1の点とは異なる同次座標表示
された第2の点を楕円加算演算し、同次座標表示する演
算部と、モンゴメリ演算域において、同次座標表示され
た点をアフィン座標表示された点に変換する演算部と、
モンゴメリ演算域におけるアフィン座標表示の点を、モ
ンゴメリ演算域に制限されていないアフィン座標表示の
点に還元する演算部と、倍数kの値と楕円曲線E/Fp
上の点Pの値とに応じて、点Pのk倍算が計算されるよ
うに上記の各演算部を作動させる制御部と、上記の各演
算部によって生成される演算結果を格納する記憶部とを
有することを特徴とする。
【0049】請求項6に係る発明は、素数pによって表
わされる素体をFpとし、 E:y2=x3+ax+b a,b∈Fp 4a3+27b2 ≠0 で定義される素体Fp上の楕円曲線E/Fp上の点でアフ
ィン座標表示された点をPとし、正整数をkとした場合
に、楕円曲線E/Fp上での点Pのk倍算 T=kP を計算する楕円曲線上の演算計算プログラムを記録した
計算機が読み取り可能な記録媒体であって、楕円曲線E
/Fp上のアフィン座標表示された点、及び楕円曲線E
/Fpを定義するパラメータ値をモンゴメリ演算域に変
換させるプロセスと、モンゴメリ演算域において、アフ
ィン座標表示された点を同次座標表示された点に変換さ
せるプロセスと、モンゴメリ演算域において、楕円曲線
E/Fp上のアフィン座標表示された点を楕円2倍演算
し、楕円2倍演算された点を同次座標表示させるプロセ
スと、モンゴメリ演算域において、楕円曲線E/Fp
の同次座標表示された点を楕円2倍演算させるプロセス
と、モンゴメリ演算域において、楕円曲線E/Fp上で
アフィン座標表示された第1の点と上記第1の点とは異
なる同次座標表示された第2の点を楕円加算演算させる
プロセスと、モンゴメリ演算域において、同次座標表示
された点をアフィン座標表示された点に変換させるプロ
セスと、モンゴメリ演算域におけるアフィン座標表示の
点を、モンゴメリ演算域に制限されていないアフィン座
標表示の点に還元させるプロセスと、倍数kの値と楕円
曲線E/Fp上の点Pの値とに応じて、上記の演算のた
めの各プロセスの実行手順を定め、上記実行手順に基づ
いてk倍算の途中結果を順次更新させるプロセスとが記
録されていることを特徴とする。
【0050】
【発明の実施の形態】以下、本発明の一実施例の形態に
ついて説明する。そのため、素数pを用いて表わされる
素体をFpとし、 E:y=x+ax+b a,b∈Fp 4a3+27b2 ≠0 で定義される素体Fp上の楕円曲線E/Fpを考える。楕
円k倍演算は、素体Fp上の楕円曲線E/Fp:y2≡x3
+ax+b上のアフィン座標表示された点をP(x1
1)とし、正整数をkとしたときに、 T(x2,y2)=kP(x1,y1) で表わされる値x2,y2を求める演算である。T
(x2,y2)も楕円曲線E/F p上の点である。ただ
し、kは、
【0051】
【数2】 のように2進表現できるnビットの整数であり、kの第
i+1ビット目の係数をki(∈{0,1})とする。
【0052】図1は、本発明の一実施例による楕円曲線
上の楕円k倍演算装置の構成図である。同図に示される
ように、楕円k倍演算装置は、制御部1と記憶部2と演
算部3とにより構成される。
【0053】制御部1は、楕円k倍演算装置の全体の動
作の制御を司る。制御部1は、式(3)で表わされた倍
数kを保持するレジスタ及び変数iをカウントするカウ
ンタを含む(図示しない)。
【0054】制御部1は、i=n−1,n−
2,...,2,1,0の順番に、順次kiの値に応じ
て、記憶部2に対して所定のデータの読み出しを指示
し、演算部3に対し、演算の種類と実行順序を指示す
る。また、制御部1は、所定データに関して、モンゴメ
リ演算域への変換、アフィン座標から同次座標への変
換、アフィン座標表示の点の楕円2倍演算、同次座標表
示の点の楕円2倍演算、アフィン座標表示の点と同次座
標表示の点との楕円加算演算、同次座標からアフィン座
標への変換、及びモンゴメリ演算域からの還元を実行す
るため、記憶部2に対して所定データの読み出しを指示
し、演算部3に対して個々の演算に対応した演算ユニッ
ト、すなわち、モンゴメリ演算域変換部11、アフィン
・同次座標変換部12、アフィン座標楕円2倍演算部1
3、同次座標楕円2倍演算部14、アフィン・同次座標
楕円加算演算部15、同次・アフィン座標変換部16、
及びモンゴメリ演算域還元部17の選択、実行順序を指
示する。
【0055】記憶部2は、上記のP(x1,y1)及びT
(x2,y2)等のデータを格納し、制御部1によって指
示されたデータを演算部3の各演算ユニット11,1
2,...,17に与える。
【0056】演算部3は、楕円曲線E/Fp上のアフィ
ン座標表示された点及び楕円曲線E/Fpを定義するパ
ラメータ値をモンゴメリ演算域に変換するモンゴメリ演
算域変換部11と、モンゴメリ演算域において、アフィ
ン座標表示された点を同次座標表示された点に変換する
アフィン・同次座標変換部12と、モンゴメリ演算域に
おいて、楕円曲線E/Fp上のアフィン座標表示された
点を楕円2倍演算し、楕円2倍演算された点を同次座標
座標表示するアフィン座標楕円2倍演算部13と、モン
ゴメリ演算域において、楕円曲線E/Fp上の同次座標
表示された点を楕円2倍演算する同次座標楕円2倍演算
部14と、モンゴメリ演算域において、楕円曲線E/F
p上でアフィン座標表示された第1の点と上記第1の点
とは異なる同次座標表示された第2の点を楕円加算演算
するアフィン・同次座標楕円加算演算部15と、モンゴ
メリ演算域において、同次座標表示された点をアフィン
座標表示された点に変換する同次・アフィン座標変換部
16と、モンゴメリ演算域におけるアフィン座標表示の
点を、モンゴメリ演算域からアフィン座標表示の点に還
元するモンゴメリ演算域還元部17とを有し、記憶部2
から与えられたデータを入力として、制御部1によって
指示された演算を指示された順序で実行し、演算結果で
あるT(x2,y2)を記憶部2に格納する。
【0057】図2は、本発明の一実施例による楕円k倍
演算装置の動作を概略的に示す計算処理フローチャート
である。
【0058】ステップ101:制御部1の制御下で、素
体Fp上の楕円曲線E/Fpを定義するパラメータa,p
と、楕円曲線E/Fp上の点P(x1,y1)及び楕円k
倍演算の倍数kを入力し、記憶部2、又は、制御部1の
内部レジスタに格納する。
【0059】ステップ102:制御部1により記憶部2
及び演算部3のモンゴメリ演算域変換部11の動作を制
御して、パラメータa及び楕円曲線上の点P(x1
1)を、それぞれ、モンゴメリ演算域での表示am及び
m(x1m,y1m)に変換し、その変換結果を記憶部2
に格納する。
【0060】ステップ103:次に、制御部1により記
憶部2及び演算部3の動作を制御して、モンゴメリ演算
域においてアフィン座標表示と同次座標表示を混在させ
た形式で、楕円k倍演算 Tpm(X2m,Y2m,Z2m)=kPm(x1m,y1m) の計算を実行し、計算結果を記憶部2に格納する。
【0061】ステップ104:制御部1により記憶部2
及び演算部3の動作を制御して、モンゴメリ演算域にお
ける同次座標表示の点Tpm(X2m,Y2m,Z2m)をモ
ンゴメリ演算域におけるアフィン座標表示の点Tm(x
2m,y2m)に変換して、その変換結果を記憶部2に格納
する。
【0062】ステップ105:次に、制御部1により記
憶部2及び演算部3の動作を制御して、モンゴメリ演算
域におけるアフィン座標表示の点Tm(x2m,y2m)を
通常のアフィン座標表示の点T(x2,y2)に還元し
て、還元結果を記憶部2に格納する。
【0063】ステップ106:最後に、記憶部2に格納
された演算結果の点T(x2,y2)を出力する。
【0064】図3は、図2のステップ103で行われる楕
円k倍演算 Tpm(X2m,Y2m,Z2m)=kPm(x1m,y1m) の計算の処理フローチャートである。以下、図3を参照
して、本発明の一実施例による楕円k倍演算の計算につ
いて説明する。
【0065】ステップ111:最初に、モンゴメリ演算
域においてアフィン座標表示された点Pm(x1m
1m)のx1m及びy1mをTm(x2m,y2m)のx2m及び
2mに代入し、変数iにn−2を代入する。
【0066】ステップ112:i≧0であるかどうかが
検査され、i≧0であるならば、ステップ113に進
み、さもなければ、ステップ117に進む。
【0067】ステップ113:ki=1であるかどうか
か検査され、ki=1であるならば、ステップ114に
進み、さもなければ、ステップ116に進む。
【0068】ステップ114:計算Tpm(X2m
2m,Z2m)←2Tm(x2m,y2m)が行われる。この
計算は、モンゴメリ演算域においてアフィン座標表示さ
れた点Tm(x2m,y2m)を楕円2倍演算し、その演算
結果をモンゴメリ演算域において同次座標表示された点
pm(X2m,Y2m,Z2m)で表わす。
【0069】ステップ115:計算Tpm(X2m
2m,Z2m)←Tpm(X2m,Y2m,Z2m)+P
m(x1m,y1m)が行われる。この計算は、モンゴメリ
演算域において同次座標表示された点Tpm(X2m,Y
2m,Z2m)と、モンゴメリ演算域においてアフィン座標
表示された点Pm(x1m,y1m)を楕円加算演算し、そ
の演算結果をモンゴメリ演算域において同次座標表示さ
れた点Tpm(X2m,Y2m,Z2m)で表わす。続いてス
テップ118に進む。 ステップ116:ステップ114と同様の計算T
pm(X2m,Y2m,Z2m)←2Tm(x2m,y2m)が行わ
れる。
【0070】ステップ117:計算Tpm(X2m
2m,Z2m)←Tm(x2m,y2m)が行われる。この計
算は、モンゴメリ演算域においてアフィン座標表示され
た点Tm(x2m,y2m)をモンゴメリ演算域において同
次座標表示された点Tpm(X2m,Y2m,Z2m)に変換
し、ステップ125に進む。
【0071】ステップ118:iがデクリメント(i←
i−1)され、ステップ119に進む。
【0072】ステップ119:i≧0であるかどうかが
検査され、i≧0であるならば、ステップ120に進
み、さもなければ、ステップ125に進む。
【0073】ステップ120:ki=1であるかどうか
が検査され、ki=1であるならば、ステップ121に
進み、さもなければ、ステップ123に進む。
【0074】ステップ121:計算Tpm(X2m
2m,Z2m)←2Tpm(X2m,Y2m,Z 2m)が行われ
る。この計算は、モンゴメリ演算域において同次座標表
示された点Tpm(X2m,Y2m,Z2m)を楕円2倍演算
し、その演算結果をモンゴメリ演算域において同次座標
表示された点Tpm(X2m,Y2m,Z2m)で表す。
【0075】ステップ122: ステップ115と同様
に計算Tpm(X2m,Y2m,Z2m)←Tpm(X2m
2m,Z2m)+Pm(x1m,y1m)が行われる。続いて
ステップ124に進む。
【0076】ステップ123:ステップ121と同様に
計算Tpm(X2m,Y2m,Z2m)←2Tpm(X2m
2m,Z2m)が行われる。
【0077】ステップ124:iがデクリメント(i←
i−1)され、ステップ119に戻る。
【0078】ステップ125:楕円2倍演算の結果がモ
ンゴメリ演算域において同次座標表示された点T
pm(X2m,Y2m,Z2m)の形で出力される。
【0079】このように、本発明の一実施例による楕円
k倍演算の計算処理は、iとkiの値に応じて楕円2倍
演算と楕円加算演算を繰り返し行うことにより、モンゴ
メリ演算域においてアフィン座標表示された点Pm(x
1m,y1m)を楕円k倍演算し、モンゴメリ演算域におい
て同次座標表示された点Tpm(X2m,Y2m,Z2m)を
得る。
【0080】図4は、図3のステップ114に示された
モンゴメリ演算域においてアフィン座標表示された点T
m(x2m,y2m)を楕円2倍演算し、その演算結果をモ
ンゴメリ演算域において同次座標表示された点T
pm(X2m,Y2m,Z2m)で表す計算、すなわち、 Tpm(X2m,Y2m,Z2m)←2Tm(x2m,y2m) の計算処理フローチャートである。
【0081】ステップ131:y2m=0であるかどうか
が判定され、y2m=0であるならば、ステップ132に
進み、さもなければ、ステップ133に進む。
【0082】ステップ132:(X2m,Y2m,Z2m)に
(0,0,R mod p)を代入して、ステップ134
に進む。
【0083】ステップ133:以下の通り、X3m、Y3m
及びZ3mが計算され、Tpm(X2m,Y2m,Z2m)のX
2m、Y2m及びZ2m に代入された後、ステップ134に
進む。
【0084】X3m←−16x2m2m -3+2(3x
2m 2-1+am22m-2mod pY3m←−8y2m 4
-3+12x2m2m (3x2m 2-1+am)R-3−(3
2m 2-1+am-2mod p Z3m←8y2m -2 mod p X2m←X3m 2m←Y3m 2m←Z3m ステップ134:モンゴメリ演算域においてアフィン座
標表示された点の楕円2倍演算の結果Tpm(X2m,Y
2m,Z2m)が出力される。
【0085】図5は、図3のステップ115に示された
モンゴメリ演算域において同次座標表示された点Tpm
(X2m,Y2m,Z2m)と、モンゴメリ演算域においてア
フィン座標表示された点Pm(x1m,y1m)を楕円加算
し、その演算結果をモンゴメリ演算域において同次座標
表示された点Tpm(X2m,Y2m,Z2m)で表す計算、
すなわち、 Tpm(X2m,Y2m,Z2m)←Tpm(X2m,Y2m
2m)+Pm(x1m,y1m) の計算処理フローチャートである。
【0086】ステップ141:(X2m,Y2m)=(0,
0)かどうかが検査され、(X2m,Y2m)=(0,0)
であるならば、ステップ142に進み、さもなければ、
ステップ143に進む。
【0087】ステップ142:(X2m,Y2m,Z2m)に
(x1m,y1m,R mod p)を代入して、ステップ1
48に進む。
【0088】ステップ143:次式 X2m−x1m2m-1≡0 (mod p)が成立するか
どうかが検査され、結果が肯定的な場合、ステップ14
4に進み、さもなければ、ステップ147に進む。
【0089】ステップ144:次式 Y2m−y1m2m-1≡0(mod p)が成立するかど
うかが検査され、結果が肯定的な場合、ステップ146
に進み、さもなければ、ステップ145に進む。
【0090】ステップ145:(X2m,Y2m,Z2m)に
(0,0,Z2m)を代入して、ステップ148に進む。
【0091】ステップ146:図9に関して説明したモ
ンゴメリ演算域における同次座標表示された点の楕円2
倍演算 Tpm(X2m,Y2m,Z2m)←2Tpm(X2m,Y2m,Z
2m) を行い、ステップ148に進む。
【0092】ステップ147:この場合、以下のように
3m、Y3m及びZ3mが計算され、T pm(X2m,Y2m
2m)のX2m,Y2m,Z2mに代入された後、ステップ1
48に進む。
【0093】X3m←(X2m−x1m2m-1)(Z
2m(Y2m−y1m2m-12-2−(X 2m−x1m2m
-1-2−2x1m2m(X2m−x1m2m-1
-3)R-1 mod p Y3m←−y1m2m(X2m−x1m2m-13-4
(Y2m−y1m2m-1)(3x1m2m(X2m−x1m
2m-12-3−Z2m(Y2m−y1m2m-12-2
+(X2m−x1m2m-13-2)R-1 mod p Z3m←Z2m(X2m−x1m2m-13-3 mod p X2m←X3m 2m←Y3m 2m←Z3m ステップ148:モンゴメリ演算域において同次座標表
示された点とモンゴメリ演算域においてアフィン座標表
示された点の楕円加算演算の結果Tpm(X2m,Y2m
2m)が出力される。
【0094】図6は、図3のステップ117に示された
モンゴメリ演算域においてアフィン座標表示された点T
m(x2m,y2m)をモンゴメリ演算域において同次座標
表示された点Tpm(X2m,Y2m,Z2m)に変換する計
算、Tpm(X2m,Y2m,Z2m)←Tm(x2m,y2m)の
処理のフローチャートである。同図に示されるように、
この変換は、 X2m←x2m 2m←y2m 2m←R mod p のように行われる。
【0095】また、図3においてステップ121及びス
テップ123に示されているモンゴメリ演算域において
同次座標表示された点を楕円2倍算する処理は、従来技
術に関して図9を参照して説明した手順に従って行われ
るので、これ以上の説明は行わない。
【0096】図12は、図3乃至6及び図9に示した処
理手順に従って式(3)に定義されたkを用いて本発明
の一実施例における楕円k倍演算を実施するために必要
な乗算剰余演算と加算剰余演算/減算剰余演算の演算回
数を示す図であり、図11に示された従来技術の場合の
演算回数の図と対応している。本発明の一実施例の場合
に、図3、4、5、及び9に示されているように、 Tpm(X2m,Y2m,Z2m)=kPm(x1m,y1m) の計算は、モンゴメリ演算域における乗算剰余演算と、
加算剰余演算/減算剰余演算とのみで算出される。図1
1と図12に示された演算回数を比較することにより、
本発明の一実施例によれば、乗算剰余演算回数が低減さ
れることが解る。
【0097】また、上記の本発明の一実施例による楕円
k倍演算装置の構成は、上記の実施例で説明された例に
限定されることなく、楕円k倍演算装置の演算部の各々
の構成要件をソフトウェア(プログラム)で構築し、デ
ィスク装置等に記録しておき、必要に応じて楕円k倍演
算を行うコンピュータにインストールして楕円k倍演算
を行うことも可能である。さらに、構築されたプログラ
ムをフロッピー(登録商標)ディスク、メモリカード、
CD−ROM等の可搬記録媒体に格納し、このような楕
円k倍演算を用いる場面で汎用的に使用することも可能
である。例えば、楕円k倍演算装置の制御部がこのよう
な記録媒体に格納されたプログラムを読み出し、このプ
ログラムを実行することによって、上記本発明の一実施
例における楕円k倍演算計算処理が実行される。あるい
は、制御部はこのようなプログラムを記録したROMを
予め保持していても構わない。
【0098】本発明は、上記の実施例に限定されること
なく、特許請求の範囲内で種々変更・応用が可能であ
る。
【0099】
【発明の効果】上記説明の通り、本発明によれば、楕円
k倍演算は、従来技術と同様に素体F p上の演算として
実現されるので、演算結果の精度を低下させることな
く、演算を高速化することができる。つまり、演算結果
はいずれの場合でもすべて整数で表現されるので演算結
果の精度が低下することがない。
【0100】本発明によれば、楕円k倍演算の処理が高
速化されるので、高い安全性が期待できる楕円曲線暗号
系を、情報セキュリティ技術、公開鍵暗号系、あるい
は、ディジタル署名技術により容易に適用できるように
なる。
【図面の簡単な説明】
【図1】本発明の一実施例による楕円k倍演算装置の構
成図である。
【図2】本発明の一実施例による楕円k倍演算装置の動
作を概略的に示す計算処理フローチャートである。
【図3】本発明の一実施例によるモンゴメリ演算域にお
ける楕円k倍演算の計算処理フローチャートである。
【図4】本発明の一実施例によるモンゴメリ演算域にお
いてアフィン座標表示された点の楕円2倍演算の計算処
理フローチャートである。
【図5】本発明の一実施例によるモンゴメリ演算域にお
いて同次座標表示された点とアフィン座標表示された点
の楕円加算演算の計算処理フローチャートである。
【図6】本発明の一実施例によるモンゴメリ演算域にお
いてアフィン座標表示された点をモンゴメリ演算域にお
いて同次座標表示された点に変換する処理のフローチャ
ートである。
【図7】従来技術による楕円k倍演算の動作を概略的に
示す計算処理フローチャートである。
【図8】従来技術において適用されるモンゴメリ演算域
において同次座標系での楕円k倍演算の計算処理フロー
チャートである。
【図9】従来技術の楕円k倍演算で利用されるモンゴメ
リ演算域において同次座標表示された点の楕円2倍演算
の計算処理フローチャートである。
【図10】従来技術の楕円k倍演算で利用されるモンゴ
メリ演算域において同次座標表示された点の楕円加算演
算の計算処理フローチャートである。
【図11】従来技術による楕円k倍演算の性能を示す図
表である。
【図12】本発明の一実施例による楕円k倍演算の性能
を示す図表である。
【符号の説明】
1 制御部 2 記憶部 3 演算部 11 モンゴメリ演算域変換部 12 アフィン・同次座標変換部 13 アフィン座標楕円2倍演算部 14 同次座標楕円2倍演算部 15 アフィン・同次座標楕円加算演算部 16 同次・アフィン座標変換部 17 モンゴメリ演算域還元部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 素体上の楕円曲線の上のアフィン座標表
    示された第1の点の座標値及び上記楕円曲線を定めるパ
    ラメータ値をモンゴメリ演算域における値に変換する工
    程と、 モンゴメリ演算域において、上記第1の点のアフィン座
    標表示された座標値を楕円k倍演算して上記第1の点と
    同じ楕円曲線の上にある第2の点の同次座標表示された
    座標値を得る工程と、 モンゴメリ演算域において、上記第2の点の同次座標表
    示された座標値をアフィン座標表示された座標値に変換
    する工程と、 モンゴメリ演算域における上記第2の点のアフィン座標
    表示された座標値をモンゴメリ演算域から還元して上記
    アフィン座標表示された上記第2の点の座標値を得る工
    程とを有し、 上記素体上の楕円曲線の上のアフィン座標表示された第
    1の点を同じ楕円曲線上のアフィン座標表示された第2
    の点に整数倍する、計算機で使用される楕円曲線上の演
    算計算方法であって、 モンゴメリ演算域において上記第1の点のアフィン座標
    表示された座標値を楕円k倍演算する計算は、モンゴメ
    リ演算域においてアフィン座標表示された座標値と同次
    座標表示された座標値とを混在した形式で行われること
    を特徴とする楕円曲線上の演算方法。
  2. 【請求項2】 上記モンゴメリ演算域において上記第1
    の点のアフィン座標表示された座標値を楕円k倍演算す
    る計算は、 アフィン座標表示された座標値を楕円2倍演算して同次
    座標表示された座標値を得る工程と、 同次座標表示された座標値とアフィン座標表示された座
    標値を楕円加算演算して同次座標表示された別の座標値
    を得る工程と、 アフィン座標表示された座標値を同次座標表示された座
    標値に変換する工程と、 同次座標表示された座標値を楕円2倍演算して同次座標
    表示された別の座標値を得る工程とを、 上記第1の点の座標値と整数倍の倍数の値とに応じて組
    み合わせることにより行われることを特徴とする請求項
    1記載の楕円曲線上の演算方法。
  3. 【請求項3】 上記素体上の楕円曲線の上のアフィン座
    標表示された第1の点、同じ楕円曲線上のアフィン座標
    表示された第2の点、及び、上記整数倍の倍数は、楕円
    曲線暗号系の暗号化情報に対応している請求項1又は2
    記載の楕円曲線上の演算方法。
  4. 【請求項4】 素数pによって表わされる素体をFp
    し、 E:y2=x3+ax+b a,b∈Fp 4a3+27b2 ≠0 で定義される素体Fp上の楕円曲線E/Fp上の点でアフ
    ィン座標表示された点をPとし、正整数をkとした場合
    に、楕円曲線E/Fp上での点Pのk倍算 T=kP を計算機により自動的に計算する楕円曲線上の演算方法
    において、 楕円曲線E/Fp上のアフィン座標表示された点、及び
    楕円曲線E/Fpを定義するパラメータ値をモンゴメリ
    演算域に変換するステップと、 モンゴメリ演算域において、アフィン座標表示された点
    を同次座標表示された点に変換するステップと、 モンゴメリ演算域において、楕円曲線E/Fp上のアフ
    ィン座標表示された点を楕円2倍演算し、楕円2倍演算
    された点を同次座標表示するステップと、 モンゴメリ演算域において、楕円曲線E/Fp上の同次
    座標表示された点を楕円2倍演算するステップと、 モンゴメリ演算域において、楕円曲線E/Fp上でアフ
    ィン座標表示された第1の点と上記第1の点とは異なる
    同次座標表示された第2の点を楕円加算演算するステッ
    プと、 モンゴメリ演算域において、同次座標表示された点をア
    フィン座標表示された点に変換するステップと、 モンゴメリ演算域におけるアフィン座標表示の点を、モ
    ンゴメリ演算域に制限されていないアフィン座標表示の
    点に還元するステップと、 倍数kの値と楕円曲線E/Fp上の点Pの値とに応じ
    て、点Pのk倍算が計算されるように上記の演算のため
    のステップの実行手順を定め、上記実行手順に基づいて
    k倍算の途中結果の値を順次更新するステップとを有す
    ることを特徴とする楕円曲線上の演算方法。
  5. 【請求項5】 素数pによって表わされる素体をFp
    し、 E:y2=x3+ax+b a,b∈Fp 4a3+27b2 ≠0 で定義される素体Fp上の楕円曲線E/Fp上の点でアフ
    ィン座標表示された点をPとし、正整数をkとした場合
    に、楕円曲線E/Fp上での点Pのk倍算 T=kP を計算する楕円曲線上の演算装置において、 楕円曲線E/Fp上のアフィン座標表示された点、及び
    楕円曲線E/Fpを定義するパラメータ値をモンゴメリ
    演算域に変換する演算部と、 モンゴメリ演算域において、アフィン座標表示された点
    を同次座標表示された点に変換する演算部と、 モンゴメリ演算域において、楕円曲線E/Fp上のアフ
    ィン座標表示された点を楕円2倍演算し、楕円2倍演算
    された点を同次座標表示する演算部と、 モンゴメリ演算域において、楕円曲線E/Fp上の同次
    座標表示された点を楕円2倍演算する演算部と、 モンゴメリ演算域において、楕円曲線E/Fp上でアフ
    ィン座標表示された第1の点と上記第1の点とは異なる
    同次座標表示された第2の点を楕円加算演算する演算部
    と、 モンゴメリ演算域において、同次座標表示された点をア
    フィン座標表示された点に変換する演算部と、 モンゴメリ演算域におけるアフィン座標表示の点を、モ
    ンゴメリ演算域に制限されていないアフィン座標表示の
    点に還元する演算部と、 倍数kの値と楕円曲線E/Fp上の点Pの値とに応じ
    て、点Pのk倍算が計算されるように上記の各演算部を
    作動させる制御部と、 上記の各演算部によって生成される演算結果を格納する
    記憶部とを有することを特徴とする楕円曲線上の演算装
    置。
  6. 【請求項6】 素数pによって表わされる素体をFp
    し、 E:y2=x3+ax+b a,b∈Fp 4a3+27b2 ≠0 で定義される素体Fp上の楕円曲線E/Fp上の点でアフ
    ィン座標表示された点をPとし、正整数をkとした場合
    に、楕円曲線E/Fp上での点Pのk倍算 T=kP を計算する楕円曲線上の演算プログラムを記録した計算
    機が読み取り可能な記録媒体であって、 楕円曲線E/Fp上のアフィン座標表示された点、及び
    楕円曲線E/Fpを定義するパラメータ値をモンゴメリ
    演算域に変換させるプロセスと、 モンゴメリ演算域において、アフィン座標表示された点
    を同次座標表示された点に変換させるプロセスと、 モンゴメリ演算域において、楕円曲線E/Fp上のアフ
    ィン座標表示された点を楕円2倍演算し、楕円2倍演算
    された点を同次座標表示の点に変換させるプロセスと、 モンゴメリ演算域において、楕円曲線E/Fp上の同次
    座標表示された点を楕円2倍演算させるプロセスと、 モンゴメリ演算域において、楕円曲線E/Fp上でアフ
    ィン座標表示された第1の点と上記第1の点とは異なる
    同次座標表示された第2の点を楕円加算演算させるプロ
    セスと、 モンゴメリ演算域において、同次座標表示された点をア
    フィン座標表示された点に変換させるプロセスと、 モンゴメリ演算域におけるアフィン座標表示の点を、モ
    ンゴメリ演算域に制限されていないアフィン座標表示の
    点に還元させるプロセスと、 倍数kの値と楕円曲線E/Fp上の点Pの値とに応じ
    て、上記の演算のための各プロセスの実行手順を定め、
    上記実行手順に基づいてk倍算の途中結果を順次更新さ
    せるプロセスとが記録されていることを特徴とする楕円
    曲線上の演算プログラムを記録した記録媒体。
JP2000082112A 2000-03-23 2000-03-23 楕円曲線上の演算方法及び装置と、演算プログラムを記録した記録媒体 Pending JP2001265218A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000082112A JP2001265218A (ja) 2000-03-23 2000-03-23 楕円曲線上の演算方法及び装置と、演算プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000082112A JP2001265218A (ja) 2000-03-23 2000-03-23 楕円曲線上の演算方法及び装置と、演算プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2001265218A true JP2001265218A (ja) 2001-09-28

Family

ID=18598958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000082112A Pending JP2001265218A (ja) 2000-03-23 2000-03-23 楕円曲線上の演算方法及び装置と、演算プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2001265218A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100414492C (zh) * 2005-11-04 2008-08-27 北京浦奥得数码技术有限公司 一种椭圆曲线密码系统及实现方法
CN101782845A (zh) * 2009-01-20 2010-07-21 北京华大信安科技有限公司 一种椭圆曲线密码的高速运算装置和方法
CN110046321A (zh) * 2019-04-26 2019-07-23 武汉轻工大学 曲线积分的计算方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100414492C (zh) * 2005-11-04 2008-08-27 北京浦奥得数码技术有限公司 一种椭圆曲线密码系统及实现方法
CN101782845A (zh) * 2009-01-20 2010-07-21 北京华大信安科技有限公司 一种椭圆曲线密码的高速运算装置和方法
CN110046321A (zh) * 2019-04-26 2019-07-23 武汉轻工大学 曲线积分的计算方法、装置、设备及存储介质
CN110046321B (zh) * 2019-04-26 2022-12-27 武汉轻工大学 曲线积分的计算方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
TW550498B (en) Method and apparatus for modular multiplying and calculating unit for modular multiplying
Renes et al. qDSA: small and secure digital signatures with curve-based Diffie–Hellman key pairs
JP3785044B2 (ja) べき乗剰余計算装置、べき乗剰余計算方法及び記録媒体
JP3542278B2 (ja) モンゴメリ・リダクション装置及び記録媒体
JP4351987B2 (ja) モンゴメリ変換装置、演算装置、icカード、暗号装置、復号装置及びプログラム
KR101154845B1 (ko) 스칼라 배산기 및 스칼라 배산프로그램
US20070053506A1 (en) Elliptic curve encryption processor, processing method of the processor using elliptic curves, and program for causing a computer to execute point scalar multiplication on elliptic curves
JP2011512556A (ja) 楕円曲線上の多数の点を計算する装置及び方法
JP2001265218A (ja) 楕円曲線上の演算方法及び装置と、演算プログラムを記録した記録媒体
US7003537B1 (en) Apparatus and method to compute in Jacobian of hyperelliptic curve defined over Galois field of characteristic 2
JP2007286380A (ja) 有限可換群演算方法、装置およびそのプログラム
JP2001265219A (ja) 楕円曲線上の演算方法及び装置と、演算プログラムを記録した記録媒体
JP2001318598A (ja) 楕円曲線上の演算方法及び装置と、演算プログラムを記録した記録媒体
JP4479135B2 (ja) 演算装置及び演算方法及び演算プログラム
JP2001194995A (ja) 楕円曲線上の演算計算方法及び装置と、演算計算プログラムを記録した記録媒体
JP4550232B2 (ja) 演算装置及び演算方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3390966B2 (ja) 平方数を法とした剰余演算装置及びそのプログラム記録媒体
JP3460798B2 (ja) 楕円積和演算計算方法、楕円積和演算計算装置及び楕円積和演算計算プログラムを記録した記録媒体
JP4341889B2 (ja) 楕円積和演算計算方法、楕円積和演算計算装置、プログラム及び記録媒体
JP3992883B2 (ja) 演算装置及び演算方法
JPH076025A (ja) 冪剰余演算方法および装置
JP6023728B2 (ja) マルチペアリング演算装置、マルチペアリング演算方法、マルチペアリング演算プログラム
JP3277220B2 (ja) 剰余乗算装置の演算方法
JP2001202019A (ja) 並列楕円演算装置及びそのプログラム記録媒体
JP2003271055A (ja) ウインドウ処理装置、ウインドウ処理プログラムおよびその記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040420

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040817