JP2003228285A - 楕円曲線スカラ倍演算装置 - Google Patents

楕円曲線スカラ倍演算装置

Info

Publication number
JP2003228285A
JP2003228285A JP2002029937A JP2002029937A JP2003228285A JP 2003228285 A JP2003228285 A JP 2003228285A JP 2002029937 A JP2002029937 A JP 2002029937A JP 2002029937 A JP2002029937 A JP 2002029937A JP 2003228285 A JP2003228285 A JP 2003228285A
Authority
JP
Japan
Prior art keywords
elliptic curve
unit
signature
scalar multiplication
finite field
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
JP2002029937A
Other languages
English (en)
Inventor
Masashi Takahashi
昌史 高橋
Yoichi Seto
洋一 瀬戸
Shinichiro Harano
紳一郎 原野
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002029937A priority Critical patent/JP2003228285A/ja
Publication of JP2003228285A publication Critical patent/JP2003228285A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 楕円曲線上の点のスカラ倍演算の高速化を実
現する。 【解決手段】 有限体GF(p3)(pは3以上の素数
のべき乗)上定義される楕円曲線y2=x3+ax+b、
または、有限体GF(p3)(pは2のべき乗)上定義
される楕円曲線y2+xy=x3+ax+b上の任意の点
Pのスカラ倍演算kP(kは整数)を行なう楕円曲線ス
カラ倍演算装置であって、kを、前記楕円曲線上定義さ
れるフロベニウス写像φ、および、整数k0、k1、k2
を用いて、k=k0+k1φ+k2φ2とφ進展開する際
に、(k+1)φ=p−1の関係式を用いてφ進展開を
行ない、kP=k0P+k1φP+k2φ2Pを算出するス
カラ倍演算手段を備えることを特徴とする楕円曲線スカ
ラ倍演算装置を提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、楕円曲線暗号方式
に係り、特に楕円曲線暗号の情報処理装置への実装上必
要となる、楕円曲線上の点のスカラ倍演算を高速に行な
う装置に関する。
【0002】
【従来の技術】高い安全性が期待できる暗号化方法とし
て、楕円曲線上の離散対数問題に基づく公開鍵暗号方
式、いわゆる楕円曲線暗号が、「Neal Koblitz, A cours
e in Number theory and Cryptography, Springer Verl
ag, 1987」等において提案されている。
【0003】楕円曲線暗号は、楕円曲線における有理点
の加算を用いた暗号系である。暗号に用いられる楕円曲
線は、q(3以上の素数pのべき乗:q=pm)で決め
られる有限体(GF(q))上の楕円曲線とよばれ、以
下の式で表現される。
【0004】y2=x3+ax+b ここで、a,b∈GF(q)である。
【0005】なお、楕円曲線暗号は、qを2のべき乗と
した有限体(GF(q))上の楕円曲線についても実現
可能である。この場合、楕円曲線を表現する式は、 y2+xy=x3+ax+b となる。
【0006】楕円曲線上の有理点とは、上記方程式を満
たすGF(q)上の点であり、{a,b,q}が決まれ
ば、上記楕円曲線上の点の数は決まる。これを曲線の位
数とよぶ。有理点の集合全体は、加法(定義については
省略)について群をなすことが知られている。
【0007】ある決められた楕円曲線上の点Gがある場
合に、その点をk回加算した結果、点Qが得られたとす
る(これをGのスカラ倍とよぶ)。すなわち、 Q=kG が成り立っているとする。このとき、kとGとからQは
計算により容易に求まるが、一般に、GとQとからkを
求めることは困難である。このように、点Gと点Qが与
えられたときにkを求めることを楕円曲線上の離散対数
問題という。
【0008】楕円曲線暗号の安全性は、有限体(GF
(q))上の楕円曲線に対して、上記問題が非常に難し
いことに依存する。
【0009】上記楕円曲線暗号の適用の一例として、E
CDSA(Elliptic Curve DigitalSignature Algorith
m)署名における各処理、すなわち、(1)鍵生成処
理、(2)署名生成処理、(3)署名検証処理の概要に
ついて説明する。
【0010】なお、楕円曲線暗号では、システム共通の
パラメータとして、q(3以上の素数pのm乗)、有限
体(GF(q))上の楕円曲線Eを特定するためのパラ
メータ(a,b)、基準となる楕円曲線E上の点G
(x,y)、点Gの位数nがあらかじめ定められ、署名
者、検証者の双方が知っているものとする。
【0011】(1)鍵生成処理 ステップ1:ランダムに1<d<nを満たすdを選択
し、dを秘密鍵とする。 ステップ2:Q=dGを算出し、Qを公開鍵とする。
【0012】(2)署名生成処理 ステップ1:ランダムに1<k<nを満たすkを選択す
る。 ステップ2:R=kG=(xR,yR)を算出する。 ステップ3:r≡xR mod nを算出する。 ステップ4:ハッシュ関数Hashを用いて、メッセー
ジMのハッシュ値e=Hash(M)を算出する。 ステップ5:s≡k-1(e+dr) mod nを算出
する。 ステップ6:(r,s)をメッセージMの署名とする。
【0013】(3)署名検証処理 ステップ1:ハッシュ関数Hashを用いてハッシュ値
e=Hash(M)を算出する。 ステップ2:u1≡es-1 mod nを算出する。 ステップ3:u2≡rs-1 mod nを算出する。 ステップ4:R=(xR,yR)=u1G+u2Qを算出す
る。 ステップ5:v≡xR mod nを算出する。 ステップ6:v=rの場合は「署名有効」とし、v≠rの
場合は「署名無効」とする。
【0014】上記の例からわかるように、楕円曲線暗号
を適用した署名方式では、有限体(GF(q))上の点
(G、Q等)のスカラ倍の演算が必要である。この演算
を実現するための演算方法として、 (従来例1)加算、2倍算を組み合わせる方法 (従来例2)加算、2倍算に加えてフロベニウス写像を
用いる方法 が知られている。これについて簡単に説明する。
【0015】(従来例1)有限体GF(pm)上の楕円
曲線をE(GF(pm))とし、E(GF(pm))上の
点をPとして、Q=kP(kは整数)の計算を行なう場
合を例に、従来例1におけるスカラ倍演算処理の流れを
説明する。なお、pは3以上の素数であり、pm=qで
ある。 ステップ1:kを2進数展開し、k=k0+k1×2+・
・・kj-1×2j-1とする。ここで、kiは0または1で
ある。 ステップ2:P1=0、P2=P、i=0とする。 ステップ3:ki=1であれば、P1=P1+P2とする。 ステップ4:i=i+1とする。 ステップ5:i<jであればステップ6へ進み、そうで
なければステップ7に進む。 ステップ6:P2=2P2とし、ステップ3に戻る。 ステップ7:演算結果Q=P1を出力し、処理を終了す
る。
【0016】(従来例2)従来例2については、以下の
文献に詳しい。「Tetsutaro Kobayashi,Hikaru Morita,K
unio Kobayashi,and Fumitaka Hoshino, Fast Elliptic
Curve AlgorithmCombiining Frobenius Map and Table
Reference to Adapt to Highert Characteristic,Euro
crypt'99,LNCS 1592,pp.176-189,1999 Springer Verla
g」 従来例2は、従来例1が一般の定義体を用いた場合に有
効な手法であるのに対し、定義体を拡大体とした場合に
さらに演算の高速化を図ることができるという手法であ
る。
【0017】まず、従来例2で用いる楕円曲線上のフロ
ベニウス写像について簡単に説明する。有限体GF
(p)上の楕円曲線をE(GF(p))とし、(x、
y)をE(GF(p))の係数をGF(pm)の元とみ
なした楕円曲線E(GF(pm))上のGF(pm)有理
点とする。
【0018】このとき、フロベニウス写像φは次のよう
に定義される。
【0019】φ:(x,y)→(xp,yp) ここで、フロベニウス写像はGF(pm)上の楕円曲線
E(GF(pm))の自己同型写像となり、次に示す式
を満たす。
【0020】 φ2−tφ+p=0, −2√p≦t≦2√p ここで整数tは、楕円曲線に依存して決まる定数で、フ
ロベニウス写像のトレースと呼ばれる。
【0021】さらに、楕円曲線E(GF(pm))上で
は、次の式が成り立つ。
【0022】φm=1
【0023】任意の整数kは、フロベニウス写像φを用
いて、k=k0+k1φ+・・・+k m-1φm-1と表現でき
る。この表現を用いると、楕円曲線E(GF(pm))
上の点Pのk倍は、 kP=k0P+k1φP+・・・+km-1φm-1P と表すことができる。
【0024】以下、フロベニウス写像を用いた従来例2
の計算アルゴリズムを説明する。ここでは、係数をGF
(p)に制限したGF(pm)上の楕円曲線をE(GF
(pm))とし、E(GF(pm))上の点をPとして、
Q=kP(kは整数)の計算を行なう場合を例にする。
【0025】<ステップ1> kのφ進展開(フロベニ
ウス写像の満たす関係式(φ2−tφ+p=0)を用い
て、kのφ進展開を行う。)
【0026】ステップ1.1:i=0、x=k、y=
0、uj=0(∀j)とする。
【0027】ステップ1.2:x=0かつy=0であれ
ばステップ2へ進む。
【0028】ステップ1.3:ui≡x mod pを
算出する。
【0029】ステップ1.4:v=(x−ui)/p、
x=tv+y、y=−v、i=i+1とする。
【0030】ステップ1.5:ステップ1.2に戻る。
【0031】<ステップ2> φ進展開の最適化
【0032】ステップ2.1:di=ui+ui+m+u
i+2m (0≦i≦m)とする。
【0033】ステップ2.2:ci=di−z (0≦i
≦m)とする。ただし、zは、di(1≦i≦m)の最
小値である。
【0034】<ステップ3> kP=k0P+k1φP+
・・・+km-1φm-1Pの算出 ステップ3.1:Pi=φiP (0≦i≦m)とする。
【0035】ステップ3.2:Q=0、S=0、d=m
ax{ci}とする。ただし、0は、E(GF(pm)の
単位元である。
【0036】ステップ3.3:iを0からm−1まで変
化させ、d=ciならば、S=S+φiPとする。
【0037】ステップ3.4:Q=Q+S、d=d−1
とする。
【0038】ステップ3.5:d≠0ならばステップ
3.2に戻る。
【0039】ところで、楕円曲線暗号の情報処理装置へ
の高速実装に適した楕円曲線の定義体としてOEF(Op
timal Extension Fields)が提案されている。例えば、
「D.V.Bailey and C.Paar, Optimal Extension Fields f
or Fast Arithmetic in Public-Key Algorithms,CRYPT
O'98,LNCS 1462 Springer Verlag, 1998」である。
【0040】ここで、OEFとは、有限体GF(pm
で以下の3つの条件を満たしている。
【0041】(1)pは、情報処理装置が備えるプロセ
ッサーのワードサイズ以下であって、ほぼ同じ大きさで
あるビット長wの素数。 (2)p=2w±c(ただし、cはlog2c≦w/2を
満たす)。 (3)既約多項式f(x)=xm−ωが存在する(ただ
し、ωは整数値)。
【0042】楕円曲線の定義体にOEFを用いた場合に
おけるフロベニウス写像の作用の効率的な計算方法は、
上記文献に記述されており、上記従来例2は、楕円曲線
の定義体をOEFとした場合、特に有効であることが知
られている。
【0043】
【発明が解決しようとする課題】上述のように、楕円曲
線暗号方式では、楕円曲線上の点のスカラ倍の演算が必
要である。一般に、楕円曲線上の点のスカラ倍演算は、
一般に時間がかかるため、実用上、高速に行なわれるこ
とが望ましい。
【0044】従来例2で示したフロベニウス写像を用い
たスカラ倍演算では、φ進展開を行う際に、フロベニウ
ス写像の満たすp=tφ−φ2という性質を用いてい
る。ところが、この式にはφ2が含まれるため、φ進展
開アルゴリズムにおける演算回数が増えるという欠点が
ある。
【0045】本発明は上述の問題点を鑑みてなされたも
のであり、その目的は、楕円曲線上の点のスカラ倍演算
の高速化を実現することにある。
【0046】
【課題を解決するための手段】楕円曲線の定義体を有限
体GF(pm)とすると、m≠1の場合には、フロベニ
ウス写像φが、楕円曲線E(GF(pm))上、恒等写
像にはならないことが知られている。
【0047】本発明は、これに加え、m=3として、p
=tφ−φ2を、楕円曲線E上で成り立つ式φ3−1=0
より導かれる関係式φ2+φ+1=0を用いて変形した
p−1=(t+1)φを用いてφ進展開を行うことによ
り演算回数の削減を行ない、楕円曲線上の点のスカラ倍
演算の高速化を実現する。
【0048】これを具現化したものとして、本発明によ
れば、有限体GF(p3)(pは3以上の素数のべき
乗)上定義される楕円曲線y2=x3+ax+b、また
は、有限体GF(p3)(pは2のべき乗)上定義され
る楕円曲線y2+xy=x3+ax+b上の任意の点Pの
スカラ倍演算kP(kは整数)を行なう楕円曲線スカラ
倍演算装置であって、kを、前記楕円曲線上定義される
フロベニウス写像φ、および、整数k0、k1、k2を用
いて、k=k0+k1φ+k2φ2とφ進展開する際に、
(k+1)φ=p−1の関係式を用いてφ進展開を行な
い、kP=k0P+k1φP+k2φ2Pを算出するスカラ
倍演算手段を備えることを特徴とする楕円曲線スカラ倍
演算装置が提供される。
【0049】
【発明の実施の形態】本発明の実施の形態について、図
面を参照して説明する。
【0050】図1は本発明を適用した楕円曲線スカラ倍
演算装置(以下演算装置)101の機能構成を説明する
ためのブロック図である。
【0051】本図において演算装置101は、演算部1
02と、データ保持部103とを備えて構成される。
【0052】演算部102は、楕円曲線情報および演算
対象データの入力受け付け、演算結果の出力を行う入出
力部104、演算装置全体の制御を行う制御部105、
φ進展開を行うφ進展開部106、φ進展開結果を用い
てスカラ倍演算を行うスカラ倍演算部107を備えてい
る。
【0053】データ保持部103は、入出力部104に
入力された楕円曲線情報を保持する楕円曲線情報保持部
108、入出力部104に入力された演算対象データを
保持する演算対象データ保持部109、φ進展開結果等
の中間データを保持する中間データ保持部110、演算
結果を保持する演算結果保持部111を備えている。
【0054】次に制御部105が制御する演算部102
の動作の概要について説明する。
【0055】(1)入出力部104が、演算対象となる
楕円曲線情報および演算対象データの入力を受け付け
る。入力された情報は、それぞれ、楕円曲線情報保持部
108と演算対象データ保持部109とにおいて保持さ
れる。
【0056】(2)φ進展開部106において、整数k
のφ進展開を行う。φ進展開の結果は中間データ保持部
110において保持される。
【0057】(3)φ進展開結果を用いて、スカラ倍演
算部107がスカラ倍演算を行う。スカラ倍演算におい
て必要となる中間データは、必要に応じて中間データ保
持部110において保持され、演算結果は演算結果保持
部111において保持される。
【0058】(4)演算結果を入出力部104より出力
する。
【0059】なお、演算装置101は、例えば、中央処
理装置(CPU)と、主記憶装置と、ハードディスク装
置等の外部記憶装置と、CD−ROM、DVD−ROM
等の可搬性を有する記憶媒体からデータを読み取る読取
装置と、キーボード、マウス等の入力装置と、ディスプ
レイ等の表示装置と、上述した各構成要素間のデータ送
受信をつかさどるインタフェース等とを備えた、一般的
な構成を有するサーバコンピュータ、パーソナルコンピ
ュータ等の一般的な情報処理装置を用いて構成すること
ができる。もちろん、これに限られない。例えば、楕円
曲線スカラ倍演算のための専用装置として構成すること
もできる。
【0060】演算部102の各処理部104〜107
は、CPUが、メモリにロードされたプログラム(コー
ドモジュール)を実行することで、情報処理装置上に具
現化されるプロセスとして実現することができる。ま
た、メモリや外部記憶装置は、データ保持部103の各
保持部108〜111として機能することができる。
【0061】また、情報処理装置を演算装置101とし
て機能させるためのプログラムは、例えば、ハードディ
スク等の外部記憶装置に格納することができる。また、
これらのプログラムはCD−ROM、DVD−ROM等
の可搬性を有する記憶媒体に記録されることで市場に流
通することが可能である。記憶媒体に記録されたプログ
ラムは、読取装置を介して読み込ませることにより、情
報処理装置にインストールすることができる。また、通
信回線を通じて情報処理装置に読み込ませるようにする
ことができる。
【0062】後述する鍵生成装置501等の各装置につ
いても同様である。
【0063】次に、図2〜7を参照して本発明の第1の
実施形態における演算装置101の動作を詳細に説明す
る。
【0064】図2は、演算装置101の処理の流れを示
すためのフロー図である。以下、このフロー図にそっ
て、各処理の内容を説明する。
【0065】ここで、楕円曲線の定義体を有限体GF
(p3)とし、有限体(GF(p3))はOEFを用いた
ものとする。すなわち、 (1)pは、演算装置101が備えるCPUのワードサ
イズ以下であって、ほぼ同じ大きさであるビット長wの
素数。 (2)p=2w±c(ただし、cはlog2c≦w/2を
満たす)。 (3)既約多項式f(x)=x3−ωが存在する(ただ
し、ωは整数値)。を満たすものとする。
【0066】ただし、本発明は、OEFを用いることは
必須ではない。
【0067】また、楕円曲線を定義する方程式は、以下
のように表される(OEFを用いた場合は(1)の
み)。
【0068】(1)pを3以上の素数のべき乗としたと
き y2=x3+ax+b (a,b∈GF(p3)) (2)pを2のべき乗としたとき y2+xy=x3+ax2+b (a,b∈GF(p3)) ここで、楕円曲線を特定するためのパラメータ{a,
b}に加え、OEFを満たすように定められたp、f
(x)、および、{a,b}で特定される楕円曲線にお
けるフロベニウス写像φのトレースtを楕円曲線パラメ
ータと呼ぶことにする。
【0069】すなわち、楕円曲線パラメータは、[a,
b,p,f(x),t]で表される。なお、f(x)
は、以下のステップにおいて表面上は表われていない
が、体の演算を規定するために用いるものである。
【0070】<ステップ201>入出力部104が、楕
円曲線パラメータの入力を受け付ける。
【0071】<ステップ202>演算対象データである
楕円曲線上の点G(x0,y0)、および、整数kの入力
を受け付ける。
【0072】<ステップ203>フロベニウス写像φの
満たす性質(t+1)φ=p−1を用いて、整数kのφ
進展開、 k0+k1φ+k2φ2 を求める(詳細は後述する図3を参照)。
【0073】<ステップ204> kG=(k0+k1φ+k2φ2)G を求める。(詳細は後述する図4を参照)。
【0074】<ステップ205>ステップ204で得ら
れたスカラ倍演算の演算結果を出力する。
【0075】ここで、上記ステップ203について、図
3に示したφ進展開部106の動作説明のためのフロー
図を参照してさらに詳細に説明する。
【0076】<ステップ301>i=0、x=k、uj
=0(∀j)とする。
【0077】<ステップ302>ui≡x mod p
−1を算出する。
【0078】<ステップ303>v=(x−ui)/
(p−1)を算出する。
【0079】<ステップ304>x=(t+1)vを算
出する。
【0080】<ステップ305>x=0であればステッ
プ307に進み、そうでなければステップ306に進
む。
【0081】<ステップ306>i=i+1とし、、ス
テップ302に戻る。
【0082】<ステップ307>i=0とする。
【0083】<ステップ308>di=ui+ui+3+u
i+6を算出する。
【0084】<ステップ309>i=i+1とする。
【0085】<ステップ310>i<3を満たすかどう
かを判定し、満たす場合にはステップ308に戻り、そ
うでない場合にはステップ311に進む。
【0086】<ステップ311>i=0とする。
【0087】<ステップ312>ki=di−zを算出す
る。ここで、zはdi(1≦i≦3)の最小値とする。
【0088】<ステップ313>i=i+1とする。
【0089】<ステップ314>i<3を満たすかどう
かを判定し、満たす場合にはステップ312に戻り、そ
うでない場合にはステップ315に進む。
【0090】<ステップ315>ステップ312で算出
されたk0、k1、k2から、kのφ進展開結果であるk0
+k1φ+k2φ2を出力する。
【0091】次に、上記ステップ204を、図4に示し
たスカラ倍演算部107の動作説明のためのフロー図を
参照してさらに詳細に説明する。
【0092】<ステップ401>P0=P、P1=φP、
2=φ2Pとする。
【0093】<ステップ402>Q=0、S=0、d=
max{|ci|}、i=0とする。ただし、0はE
(GF(p3))の単位元、また、|ci|は、ciの絶
対値である。
【0094】<ステップ403>d=|ci|ならば、
S=S+sign(ci)Piとする。ただし、sign
(ci)は、ciの符号である。
【0095】<ステップ404>i=i+1とする。
【0096】<ステップ405>i<3を満たすかどう
かを判定し、満たす場合にはステップ403に戻り、そ
うでない場合にはステップ406に進む。
【0097】<ステップ406>d=d−1とする。
【0098】<ステップ407>Q=Q+Sとする。
【0099】<ステップ408>d=0を満たすかどう
かを判定し、満たす場合にはステップ410に進み、そ
うでない場合にはステップ409に進む。
【0100】<ステップ409>i=0とし、ステップ
403に戻る。
【0101】<ステップ410>演算結果としてQ(=
kG)を出力する。
【0102】このように、本発明の第1の実施形態によ
れば、楕円曲線E(GF(p3))上の点のスカラ倍演
算において、p−1=(t+1)φを用いてφ進展開を
行うことにより演算回数の削減を行ない、楕円曲線上の
点のスカラ倍演算の高速化を実現することができる。
【0103】次に、本発明の第2の実施形態として、第
1の実施形態における楕円曲線スカラ倍演算装置101
を利用した鍵生成装置について説明する。図5は、本発
明を適用した鍵生成装置の一例を説明するためのブロッ
ク図である。
【0104】本図において、鍵生成装置501は、制御
演算部502およびデータ保持部503とを備えて構成
される。
【0105】制御演算部502は、楕円曲線パラメータ
[a,b,p,f(x),t]、楕円曲線上の基準点G
(x,y)およびその位数nの入力を受け付け、生成さ
れた鍵情報を出力する入出力部504、鍵生成装置50
1全体を制御する制御部505、乱数を生成する乱数生
成部506、基準点Gの整数倍を計算する楕円曲線スカ
ラ倍演算部507を備えている。なお、楕円曲線スカラ
倍演算部507は、第1の実施形態における楕円曲線ス
カラ倍演算装置101を用いることができる。
【0106】データ保持部503は、入出力部により入
力された楕円曲線パラメータ、基準点Gおよびその位数
nを保持する楕円曲線情報保持部508、制御演算部で
生成された鍵情報および楕円曲線の情報を保持する鍵情
報保持部509を備えている。
【0107】次に、各々の動作は制御部505により制
御されているものとして動作の流れを説明する。
【0108】入出力手段504が入力を受け付けた楕円
曲線パラメータ、基準点Gおよびその位数nは、楕円曲
線情報保持部508に保持される。
【0109】乱数生成部506において、0<d<nを
満たす乱数dを生成し、これを秘密鍵として鍵情報保持
部509で保持する。
【0110】楕円曲線スカラ倍演算部507において、
基準点Gのd倍を計算し、計算結果を公開鍵Qとして鍵
情報保持部509で保持する。
【0111】最後に、鍵発行装置501は、入出力装置
504により楕円曲線パラメータ[a,b,p,f
(x),t]、基準点G、Gの位数n、秘密鍵d、およ
び、公開鍵Qを出力する。
【0112】次に、本発明の第3の実施形態として、第
1の実施形態における楕円曲線スカラ倍演算装置101
を利用した暗号化装置について説明する。図6は、本発
明を適用した暗号化装置の一例を説明するためのブロッ
ク図である。
【0113】本図において、暗号化装置601は、制御
演算部602およびデータ保持部603を備えて構成さ
れる。
【0114】制御演算部602は、楕円曲線情報の入力
を受け付け、生成された暗号文を出力する入出力部60
4、暗号化装置601全体を制御する制御部605、暗
号化処理を行う暗号処理部606を備えている。
【0115】ここで、暗号処理部606は、乱数を生成
する乱数生成部607、楕円曲線上の点の整数倍を計算
する楕円曲線スカラ倍演算部608を備えている。な
お、楕円曲線スカラ倍演算部608は第1の実施形態に
おける楕円曲線スカラ倍演算装置101を用いることが
できる。
【0116】また、データ保持部603は、入出力部6
04により入力を受け付ける暗号化の対象である平文情
報Mを保持する平文情報保持部609、同様に入出力部
により入力された楕円曲線パラメータ[a,b,p,f
(x),t]、基準点Gおよびその位数nを保持する楕
円曲線情報保持部610、暗号化に用いる公開鍵Qを保
持する鍵情報保持部611、制御演算部で生成された暗
号文を保持する暗号文保持部612を備えている。
【0117】次に、各々の動作は制御部605により制
御されているものとして、動作の流れを説明する。
【0118】入出力手段604により入力された平文情
報Mは、平文情報保持部609に保持される。
【0119】入出力手段604により入力された楕円曲
線パラメータ[a,b,p,f(x),t]、基準点G
およびその位数nは、楕円曲線情報保持部610に保持
される。
【0120】入出力手段604により入力された公開鍵
Qは、公開鍵情報保持部612に保持される。
【0121】暗号化処理部606は、平文情報保持部6
09、楕円曲線情報保持部610、公開鍵情報保持部6
11に保持されている情報を用いて暗号化処理を行い、
暗号文を作成する。暗号化処理は、後述するように、図
7に示すフロー図にしたがって行われる。
【0122】最後に、暗号化処理部606で作成された
暗号文を、暗号文情報保持部612に保持するととも
に、入出力部604より出力する。
【0123】図7は、図6に示した暗号処理部606で
行われる暗号化処理の流れを説明するためのフロー図で
ある。
【0124】<ステップ701>平文Mおよび公開鍵Q
の入力を受け付ける。
【0125】<ステップ702>0<r<nを満たす乱
数rを生成する。
【0126】<ステップ703>C1=rGおよびC2
=rQ+Mを算出する。
【0127】<ステップ704>(C1,C2)を暗号
文として出力する。
【0128】次に、本発明の第4の実施形態として、第
1の実施形態における楕円曲線スカラ倍演算装置101
を利用した復号化装置について説明する。図8は、本発
明を適用した復号化装置の一例を説明するためのブロッ
ク図である。
【0129】本図に示すように、復号化装置801は、
制御演算部802およびデータ保持部803を備えて構
成される。
【0130】制御演算部802は、楕円曲線情報および
復号化対象の暗号文を入力し、復号された平文Mを出力
する入出力部804、復号化装置801全体を制御する
制御部805、復号化処理を行う復号処理部806を備
えている。
【0131】ここで、復号処理部806は、楕円曲線上
の点の整数倍を計算する楕円曲線スカラ倍演算部807
を備えている。なお、楕円曲線スカラ倍演算部807
は、第1の実施形態における楕円曲線スカラ倍演算装置
101を用いることができる。
【0132】データ保持部803は、入出力部804に
より入力を受け付ける復号化の対象である暗号文情報を
保持する暗号文情報保持部808、入出力部804によ
り入力を受け付ける楕円曲線のパラメータ[a,b,
p,f(x),t]、基準点Gおよびその位数nを保持
する楕円曲線情報保持部809、復号化に用いる秘密鍵
dを保持する秘密鍵情報保持部810、復号化処理部8
06で復号された平文Mを保持する平文情報保持部81
1を備えている。
【0133】次に、各々の動作は制御部805により制
御されているものとして、動作の流れを説明する。
【0134】入出力手段804が入力を受け付けた暗号
文情報は、暗号文情報保持部808に保持される。
【0135】入出力手段804が入力を受け付けた楕円
曲線パラメータ[a,b,p,f(x),t]、基準点
Gおよびその位数nは、楕円曲線情報保持部809に保
持される。
【0136】入出力手段804が入力を受け付けた秘密
鍵dは、秘密鍵情報保持部810に保持される。
【0137】復号化処理部806は、暗号文情報保持部
808、楕円曲線情報保持部809、秘密鍵情報保持部
810で保持されている情報を用いて復号化処理を行
い、平文Mを作成する。復号化処理は、後述するよう
に、図9に示すフロー図にしたがって行われる。
【0138】最後に、復号化処理部806で復号された
平文Mを、平文情報保持部811に保持するとともに、
入出力部804より出力する。
【0139】図9は、図8に示した復号処理部806で
行われる復号化処理の流れを説明するためのフロー図で
ある。秘密鍵をd、復号化対象の暗号文を(C1,C
2)として、復号化処理の流れについて説明する。
【0140】<ステップ901>暗号文(C1,C2)
およびdから、M=C2−dC1を算出する。
【0141】<ステップ902>Mを平文として出力す
る。
【0142】次に、本発明の第5の実施形態として、第
1の実施形態における楕円曲線スカラ倍演算装置101
を利用した署名生成装置について説明する。図10は、
本発明を適用した署名生成装置の一例を説明するための
ブロック図である。
【0143】本図に示すように、署名生成装置1001
は、制御演算部1002およびデータ保持部1103を
備えて構成される。
【0144】制御演算部1002は、楕円曲線情報、秘
密鍵、署名対象データの入力を受け付け、生成されたデ
ジタル署名を出力する入出力部1004、署名生成装置
1001全体を制御する制御部1005、署名生成処理
を行う署名処理部1106を備えている。
【0145】ここで、署名処理部1106は、乱数を生
成する乱数生成部1007、ハッシュ値の生成を行うハ
ッシュ値生成部1008、楕円曲線上の点の整数倍を計
算する楕円曲線スカラ倍演算部1009を備えている。
なお、楕円曲線スカラ倍演算部1009は、第1の実施
形態における楕円曲線スカラ倍演算装置101を用いる
ことができる。
【0146】データ保持部1003は、入出力部100
4により入力を受け付ける署名の対象である署名対象デ
ータMを保持する署名対象情報保持部1010、入出力
部によりを受け付ける楕円曲線のパラメータ[a,b,
p,f(x),t]、基準点Gおよびその位数nを保持
する楕円曲線情報保持部1011、署名生成に用いる秘
密鍵dを保持する秘密鍵情報保持部1012、制御演算
部で生成された署名Sおよび署名対象データMを保持す
る署名保持部1013を備えている。
【0147】次に、各々の動作は制御部1005により
制御されているものとして、動作の流れを説明する。
【0148】入出力手段1004が入力を受け付けた署
名対象データMは、署名対象情報保持部1010に保持
される。
【0149】入出力手段1004が入力を受け付けた楕
円曲線パラメータ[a,b,p,f(x),t]、基準
点Gおよびその位数nは、楕円曲線情報保持部1011
に保持される。
【0150】入出力手段1004により入力された秘密
鍵dは、秘密鍵情報保持部1012に保持される。
【0151】署名処理部1006は、署名対象情報保持
部1010、楕円曲線情報保持部1011、秘密鍵情報
保持部1012で保持されている情報を用いて署名生成
処理を行い、署名Sを作成する。署名生成処理は、後述
するように、図11に示すフロー図にしたがって行われ
る。
【0152】最後に、署名処理部1006で作成された
署名Sおよび署名対象データMを、署名情報保持部10
13に保持するとともに、入出力部1004より出力す
る。
【0153】図11は、図10に示した署名処理部10
06で行われる署名生成処理の流れを説明するためのフ
ロー図である。署名対象データをM、秘密鍵をd、楕円
曲線の基準点をG、その位数をnとして、署名生成処理
の流れについて説明する。
【0154】<ステップ1101>署名対象データMと
秘密鍵dとの入力を受け付ける。
【0155】<ステップ1102>0<k<nを満たす
乱数kを生成する。
【0156】<ステップ1103>R=kG=(xR
R)を算出する。
【0157】<ステップ1104>r≡xR mod
n を算出する。
【0158】<ステップ1105>ハッシュ関数Has
hを用いてハッシュ値e=Hash(M)を算出する。
【0159】<ステップ1106>s≡k-1(e+d
r) mod n を算出する。
【0160】<ステップ1107>(r、s)を署名S
とし、出力する。
【0161】次に、本発明の第6の実施形態として、第
1の実施形態における楕円曲線スカラ倍演算装置101
を利用した署名検証装置について説明する。図12は、
本発明を適用した署名検証装置の一例を説明するための
ブロック図である。
【0162】本図に示すように、署名検証装置1201
は、制御演算部1202およびデータ保持部1203を
備えて構成される。
【0163】制御演算部1202は、楕円曲線情報、署
名検証対象データMおよび署名Sの入力を受け付け、署
名検証結果を出力する入出力部1204、署名検証装置
1201全体を制御する制御部1205、署名検証処理
を行う署名検証処理部1206を備えている。
【0164】ここで、署名検証処理部1206は、ハッ
シュ値の生成を行うハッシュ値生成部1207、楕円曲
線上の点の整数倍を計算する楕円曲線スカラ倍演算部1
208、署名の判定を行う署名判定部1209を備えて
いる。なお、楕円曲線スカラ倍演算部1208は、第1
の実施形態における楕円曲線スカラ倍演算装置101を
用いることができる。
【0165】データ保持部1203は、入出力部120
4が入力を受け付けた署名検証対象データMおよび署名
Sを保持する署名検証対象データ保持部1210、入出
力部1204が入力を受け付けた楕円曲線のパラメータ
[a,b,p,f(x),t]、基準点Gおよびその位
数nを保持する楕円曲線情報保持部1211、署名検証
に用いる公開鍵Qを保持する公開鍵情報保持部121
2、署名検証処理部1206で検証された署名検証結果
を保持する署名検証結果保持部1213を備えている。
【0166】次に、各々の動作は制御部1205により
制御されているものとして、動作の流れを説明する。
【0167】入出力手段1204が入力を受け付けた署
名検証対象データMは、署名検証対象データ保持部12
08に保持される。
【0168】入出力手段1204が入力を受け付けた楕
円曲線パラメータ[a,b,p,f(x),t]、基準
点Gおよびその位数nは、楕円曲線情報保持部1210
に保持される。
【0169】入出力手段1204が入力を受け付けた公
開鍵情報Qは、公開鍵情報保持部1211に保持され
る。
【0170】署名検証処理部1206は、署名検証対象
データ保持部1210、楕円曲線情報保持部1211、
公開鍵情報保持部1212で保持されている情報を用い
て署名検証を行う。署名検証処理は、後述するように、
図13に示すフロー図にしたがって行われる。
【0171】最後に、署名検証処理部1206で検証さ
れた検証結果を、署名検証結果保持部1213に保持す
るとともに、入出力部1204より出力する。
【0172】図13は、図12に示した署名検証処理部
1206で行われる署名検証処理の流れを説明するため
のフロー図である。公開鍵をQ、署名検証対象データを
M、署名データSを(r,s)として、署名検証処理の
流れについて説明する。
【0173】<ステップ1301>公開鍵Q、署名検証
対象データM、署名データS=(r,s)の入力を受け
付ける。
【0174】<ステップ1302>ハッシュ関数Has
hを用いてハッシュ値e=Hash(M)を算出する。
【0175】<ステップ1303>u1≡es-1 mo
d n を算出する。
【0176】<ステップ1304>u2≡rs-1 mo
d n を算出する。
【0177】<ステップ1305>R=(xR,yR)=
1G+u2Qを算出する。
【0178】<ステップ1306>v≡xR mod
n を算出する。
【0179】<ステップ1307>v=rの場合は「署
名有効」を出力し、v≠rの場合は「署名無効」を出力す
る。
【0180】
【発明の効果】上述のように、本発明によれば、楕円曲
線上の点のスカラ倍演算の高速化を実現することができ
る。
【図面の簡単な説明】
【図1】本発明のシステム機能構成図である。
【図2】本発明の動作説明フローチャートである。
【図3】本発明によるφ進展開動作説明フローチャート
である。
【図4】本発明によるスカラー倍演算動作説明フローチ
ャートである。
【図5】本発明を用いた鍵生成装置の構成図である。
【図6】本発明を用いた暗号化装置の構成図である。
【図7】本発明を用いた暗号化装置の動作説明フローチ
ャートである。
【図8】本発明を用いた復号化装置の構成図である。
【図9】本発明を用いた復号化装置の動作説明フローチ
ャートである。
【図10】本発明を用いた署名生成装置の構成図であ
る。
【図11】本発明を用いた署名生成装置の動作説明フロ
ーチャートである。
【図12】本発明を用いた署名検証装置の構成図であ
る。
【図13】本発明を用いた署名検証装置の動作説明フロ
ーチャートである。
【符号の説明】
101:楕円曲線高速スカラー倍演算装置、102:制
御演算部、103:データ保持部、104:入出力部、
105:制御部、106:φ進展開部、107:スカラ
ー倍演算部、108:楕円曲線情報保持部、109:演
算対象データ保持部、110:中間データ保持部、11
1:演算結果保持部 501:鍵生成装置、502:制御演算部、503:デ
ータ保持部、504:入出力部、505:制御部、50
6:乱数生成部、507:楕円曲線スカラー倍演算部、
508:楕円曲線情報保持部、509:鍵情報保持部 601:暗号化装置、602:制御演算部、603:デ
ータ保持部、604:入出力部、605:制御部、60
6:暗号処理部、607:乱数生成部、608:楕円曲
線スカラー倍演算部、609:平文情報保持部、61
0:楕円曲線情報保持部、611:公開鍵情報保持部、
612:暗号文情報保持部 801:復号化装置、802:制御演算部、803:デ
ータ保持部、804:入出力部、1305:制御部、1
306:復号処理部、807:楕円曲線スカラー倍演算
部、808:暗号文情報保持部、809:楕円曲線情報
保持部、810:公開鍵情報保持部、811:平文情報
保持部 1001:署名生成装置、1002:制御演算部、10
03:データ保持部、1004:入出力部、1005:
制御部、1006:署名処理部、1007:乱数生成
部、1008:ハッシュ値生成部、1009:楕円曲線
スカラー倍演算部、1010:平文情報保持部、101
1:楕円曲線情報保持部、1012:秘密鍵情報保持
部、1012:署名情報保持部 1201:署名検証装置、1202:制御演算部、12
03:データ保持部、1204:入出力部、1205:
制御部、1206:署名検証処理部、1207:ハッシ
ュ値生成部、1208:楕円曲線スカラー倍演算部、1
209:署名判定部、1210:平文情報保持部、12
11:楕円曲線情報保持部、1212:公開鍵情報保持
部、1213:署名検証結果保持部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 原野 紳一郎 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 Fターム(参考) 5J104 AA09 AA18 AA22 EA30 FA07 JA25 LA03 LA06 NA12 NA17

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】有限体GF(p3)(pは3以上の素数の
    べき乗)上定義される楕円曲線y2=x3+ax+b、ま
    たは、有限体GF(p3)(pは2のべき乗)上定義さ
    れる楕円曲線y2+xy=x3+ax+b上の任意の点P
    のスカラ倍演算kP(kは整数)を行なう楕円曲線スカ
    ラ倍演算装置であって、 kを、前記楕円曲線上定義されるフロベニウス写像φ、
    および、整数k0、k1、k2を用いて、k=k0+k1φ
    +k2φ2とφ進展開する際に、 (k+1)φ=p−1の関係式を用いてφ進展開を行な
    い、kP=k0P+k1φP+k2φ2Pを算出するスカラ
    倍演算手段を備えることを特徴とする楕円曲線スカラ倍
    演算装置。
  2. 【請求項2】楕円曲線暗号を利用した鍵生成装置であっ
    て、 有限体GF(p3)(pは3以上の素数のべき乗)上定
    義される楕円曲線y2=x3+ax+b、または、有限体
    GF(p3)(pは2のべき乗)上定義される楕円曲線
    2+xy=x3+ax+bに関する情報、基準となる楕
    円曲線E上の点G(x,y)およびその位数nの入力を
    受け付ける受付手段と、 0<d<nを満たすdを秘密鍵として生成する秘密鍵生
    成手段と、 請求項1に記載のスカラ倍演算手段と、 前記スカラ倍演算手段を用いてQ=dGを算出し、Qを
    公開鍵とする公開鍵生成手段とを備えることを特徴とす
    る鍵生成装置。
  3. 【請求項3】楕円曲線暗号を利用した暗号化装置であっ
    て、 有限体GF(p3)(pは3以上の素数のべき乗)上定
    義される楕円曲線y2=x3+ax+b、または、有限体
    GF(p3)(pは2のべき乗)上定義される楕円曲線
    2+xy=x3+ax+bに関する情報、基準となる楕
    円曲線E上の点G(x,y)およびその位数n、公開鍵
    Q、平文mの入力を受け付ける受付手段と、 0<r<nを満たす乱数rを生成する乱数生成手段と、 請求項1に記載のスカラ倍演算手段と、 前記スカラ倍演算手段を用いて、C1=rGおよびC2
    =rQ+mを計算し、(C1,C2)を暗号文とする暗
    号文生成手段とを備えることを特徴とする暗号化装置。
  4. 【請求項4】楕円曲線暗号を利用した復号化装置であっ
    て、 有限体GF(p3)(pは3以上の素数のべき乗)上定
    義される楕円曲線y2=x3+ax+b、または、有限体
    GF(p3)(pは2のべき乗)上定義される楕円曲線
    2+xy=x3+ax+bに関する情報、基準となる楕
    円曲線E上の点G(x,y)およびその位数n、秘密鍵
    d、暗号文(C1,C2)の入力を受け付ける受付手段
    と、 請求項1に記載のスカラ倍演算手段と、 前記スカラ倍演算手段を用いて、m=C2−dC1を計
    算し、mを平文とする平文生成手段とを備えることを特
    徴とする復号化装置。
  5. 【請求項5】楕円曲線暗号を利用した署名生成装置であ
    って、 有限体GF(p3)(pは3以上の素数のべき乗)上定
    義される楕円曲線y2=x3+ax+b、または、有限体
    GF(p3)(pは2のべき乗)上定義される楕円曲線
    2+xy=x3+ax+bに関する情報、基準となる楕
    円曲線E上の点G(x,y)およびその位数n、署名対
    象メッセージMの入力を受け付ける受付手段と、 0<k<nを満たす乱数kを生成する乱数生成手段と、 請求項1に記載のスカラ倍演算手段と、 前記スカラ倍演算手段を用いて、R=kG=(xR
    R)を算出し、r≡xRmod nを算出し、ハッシュ
    関数Hashを用いてe=Hash(M)を算出し、s
    ≡k-1(e+dr) mod nを算出し、(r,s)
    を署名とする署名処理手段とを備えることを特徴とする
    署名生成装置。
  6. 【請求項6】楕円局背暗号を利用した署名検証装置であ
    って、 有限体GF(p3)(pは3以上の素数のべき乗)上定
    義される楕円曲線y2=x3+ax+b、または、有限体
    GF(p3)(pは2のべき乗)上定義される楕円曲線
    2+xy=x3+ax+bに関する情報、基準となる楕
    円曲線E上の点G(x,y)およびその位数n、検証対
    象メッセージM、署名S=(r、s)の入力を受け付け
    る受付手段と、 請求項1に記載のスカラ倍演算手段と、 ハッシュ関数Hashを用いてe=Hash(M)を算
    出し、u1≡es-1 mod nを算出し、u2≡rs-1
    mod nを算出し、前記スカラ倍演算手段を用いて
    R=(xR,yR)=u1G+u2Gを算出し、v≡xR
    mod nを算出し、v=rの場合に署名が有効と判断
    し、v≠rの場合に署名が無効と判断する検証手段とを
    備えることを特徴とする署名検証装置。
JP2002029937A 2002-02-06 2002-02-06 楕円曲線スカラ倍演算装置 Pending JP2003228285A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002029937A JP2003228285A (ja) 2002-02-06 2002-02-06 楕円曲線スカラ倍演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002029937A JP2003228285A (ja) 2002-02-06 2002-02-06 楕円曲線スカラ倍演算装置

Publications (1)

Publication Number Publication Date
JP2003228285A true JP2003228285A (ja) 2003-08-15

Family

ID=27750277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002029937A Pending JP2003228285A (ja) 2002-02-06 2002-02-06 楕円曲線スカラ倍演算装置

Country Status (1)

Country Link
JP (1) JP2003228285A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005084657A (ja) * 2003-09-11 2005-03-31 Nippon Telegr & Teleph Corp <Ntt> 一方向性関数演算方法及び装置及びプログラム及び部分群上元判定方法及び装置及びプログラム
JP2005173301A (ja) * 2003-12-12 2005-06-30 Mitsubishi Electric Corp ベクトル演算装置及び分割値演算装置及び楕円曲線スカラー倍演算装置及び楕円暗号演算装置及びベクトル演算方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2007041461A (ja) * 2005-08-05 2007-02-15 Hitachi Ltd 楕円曲線暗号におけるスカラー倍計算方法およびスカラー倍計算装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005084657A (ja) * 2003-09-11 2005-03-31 Nippon Telegr & Teleph Corp <Ntt> 一方向性関数演算方法及び装置及びプログラム及び部分群上元判定方法及び装置及びプログラム
JP2005173301A (ja) * 2003-12-12 2005-06-30 Mitsubishi Electric Corp ベクトル演算装置及び分割値演算装置及び楕円曲線スカラー倍演算装置及び楕円暗号演算装置及びベクトル演算方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4629972B2 (ja) * 2003-12-12 2011-02-09 三菱電機株式会社 ベクトル演算装置及び分割値演算装置及び楕円曲線スカラー倍演算装置及び楕円暗号演算装置及びベクトル演算方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2007041461A (ja) * 2005-08-05 2007-02-15 Hitachi Ltd 楕円曲線暗号におけるスカラー倍計算方法およびスカラー倍計算装置
JP4690819B2 (ja) * 2005-08-05 2011-06-01 株式会社日立製作所 楕円曲線暗号におけるスカラー倍計算方法およびスカラー倍計算装置

Similar Documents

Publication Publication Date Title
US7308096B2 (en) Elliptic scalar multiplication system
US20060251247A1 (en) Encryption apparatus, decryption apparatus, key generation apparatus, program and method therefor
US11323255B2 (en) Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes
EP1296224A1 (en) Elliptic scalar multiplication system
JP4351987B2 (ja) モンゴメリ変換装置、演算装置、icカード、暗号装置、復号装置及びプログラム
JP2006259735A (ja) Simd処理を用いた楕円曲線点8倍化
US7177422B2 (en) Elliptic curve encryption processing method, elliptic curve encryption processing apparatus, and program
JP2004163687A (ja) 楕円曲線暗号装置、楕円曲線暗号プログラム
JP2003255831A (ja) 楕円曲線スカラー倍計算方法及び装置
US8731187B2 (en) Computing genus-2 curves using general isogenies
JP2003228285A (ja) 楕円曲線スカラ倍演算装置
JP2005316267A (ja) 楕円曲線ペアリング演算装置
JP4599859B2 (ja) 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム
JP4692022B2 (ja) 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム
JP4502817B2 (ja) 楕円曲線スカラー倍計算方法および装置
EP1705560A2 (en) Elliptic curve point octupling for weighted projective coordinates
JPH1152854A (ja) 有限体上の四則演算装置及び楕円曲線上の群演算装置
KR101763443B1 (ko) 집적된 역수 연산들을 이용한 곡선 상의 페어링 결정
JP4193176B2 (ja) 楕円曲線整数倍演算装置、ならびにその装置を利用可能な鍵生成装置、暗号化装置および復号装置
US20240195607A1 (en) Encryption device, key generation device, and computer program product for encryption
KR20090090881A (ko) 센서 모트에서의 효율적인 타원 곡선 암호 연산 방법, 그장치 및 이를 기록한 기록매체
JP2004205870A (ja) 超楕円曲線スカラー倍演算方法及び装置
JP2004053814A (ja) 楕円曲線暗号装置及び楕円曲線暗号演算方法
JP2005316038A (ja) 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびプログラム
JPH1152851A (ja) 楕円曲線上の群演算装置