JP4184120B2 - Oval curve scalar multiplication device and elliptic curve scalar multiplication program - Google Patents

Oval curve scalar multiplication device and elliptic curve scalar multiplication program Download PDF

Info

Publication number
JP4184120B2
JP4184120B2 JP2003061083A JP2003061083A JP4184120B2 JP 4184120 B2 JP4184120 B2 JP 4184120B2 JP 2003061083 A JP2003061083 A JP 2003061083A JP 2003061083 A JP2003061083 A JP 2003061083A JP 4184120 B2 JP4184120 B2 JP 4184120B2
Authority
JP
Japan
Prior art keywords
elliptic curve
constant
scalar multiplication
mapping
variable
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
Application number
JP2003061083A
Other languages
Japanese (ja)
Other versions
JP2004271792A (en
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.)
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 JP2003061083A priority Critical patent/JP4184120B2/en
Publication of JP2004271792A publication Critical patent/JP2004271792A/en
Application granted granted Critical
Publication of JP4184120B2 publication Critical patent/JP4184120B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、楕円曲線上でのスカラー倍演算を行う楕円曲線上スカラー倍演算装置、及びその機能をコンピュータ上で実行させる楕円曲線上スカラー倍演算プログラムに関し、特に、標数2の有限体におけるツイスト楕円曲線上でのスカラー倍演算を行う楕円曲線上スカラー倍演算装置、及びその機能をコンピュータ上で実行させる楕円曲線上スカラー倍演算プログラムに関する。
【0002】
【従来の技術】
情報通信ネットワークの進展が進む昨今、電子情報の秘匿や認証に必要な暗号技術は不可欠な要素である。そして、この暗号技術の安全性と高速化の向上が今後の重大な課題となっている。
そのような中、電子商取引の時代を担う次世代暗号として楕円曲線暗号が注目を集めている。楕円曲線暗号は、楕円曲線上の離散対数問題の求解困難性を根拠に安全性を確保する暗号方式の一種であり、素因数分解の困難性を安全性の根拠にするRSA暗号等と比べ、遥かに短い鍵長で同等の安全性強度を実現することができるものである。
しかし、この楕円曲線暗号も、処理能力が制限されるスマートカードや、大量の暗号処理が行われるサーバ装置等においては、処理速度や安全性の面で課題があり、その高速化・安全性の研究が世界中で展開されている。
【0003】
一般に、楕円曲線暗号を実現する場合、その処理時間のほとんどは楕円曲線上のスカラー倍演算に費やされる。すなわち、楕円曲線暗号に用いられる「楕円曲線上の離散対数問題」とは、楕円曲線上の点Pとそのスカラー倍の点kPが与えられた時、スカラー値kを求める問題をいい、「楕円曲線上の点」とは、楕円曲線の定義方程式をみたす数の組をいうが、この楕円曲線上の離散対数問題生成時に行われるスカラー倍演算kPを高速化することが、楕円曲線暗号の高速化を実現することとなる。
通常、スカラー倍演算kPは、楕円曲線上の加法や2倍算を繰り返すことによって行われる。ここで、「楕円曲線上の加法」とは、楕円曲線上の点全体で定義された、無限遠点を単位元とした加法演算をいい、「楕円曲線上の2倍算」とは、同じ点同士の楕円曲線上の加法をいう。そして、この楕円曲線上の2点の加法は、これら2点を通る直線が再び楕円曲線と交わる他の点と、x軸に関して対称な点を加法結果の点とする演算であり、楕円曲線上の点の2倍算は、この点の楕円曲線上の接線が再び楕円曲線と交わる他の点と、x軸に関して対称な点を2倍算結果の点とする演算である。
【0004】
また、スカラー倍演算kPを高速演算する方法として、フロベニウス(Frobenius)写像を用いる方法がある。ここで、「フロベニウス写像」とは、要素数qの有限体Fq上で定義された楕円曲線上の点P=(x,y)に対する自己準同型写像((x,y) → (xq,yq))をいう。そして、このフロベニウス写像をπqとすると、(πq 2-wπq+q)P=O (-2√q≦w≦2√q)を満たすことが知られており、この場合、スカラー倍演算kPは、kP=(d0+d1πq+…+dm-1 q)m-1)Pと展開(フロベニウス展開)できることが知られている(非特許文献1参照。)。なお、Oは無限遠点を示す。この場合、スカラー倍演算kPの演算は、展開式(d0+d1πq+…+dm-1 q)m-1)Pの各要素の置き換えのみによって行うことができ、楕円曲線上の加法や2倍算によって演算を行う場合に比べ、一般に処理を高速化することができる。
また、非特許文献2では、標数5以上の場合において、Fq n上で定義された有理点の数が素数となる楕円曲線上で、高速演算可能な自己準同型の写像を求め、ツイスト楕円曲線上でのスカラー倍算に、このフロベニウス展開を用いる方法が開示されている。以下に、その内容を概説する。なお、「標数」とは、有限体Fqの要素数qがq=βmと表される場合におけるβの値をいい、一般にその数は素数である。
【0005】
この非特許文献2の場合、Fq上で楕円曲線E:y2=x3+ax+bが定義され、Fq n上でツイスト楕円曲線Et:y2=x3+ac2x+bc3が定義されている(a,b∈Fq、c∈Fq nはFq nで非平方)。ここで、「ツイスト楕円曲線」とは、Fq n上では楕円曲線Eと非同型であるが、Fq 2n上では楕円曲線Eと同型となる曲線をいい、各楕円曲線Eにそれぞれ対応する関係にあるものである。
そして、写像πq tを、
【数5】

Figure 0004184120
のように定義し、この定義より、ツイスト楕円曲線Et上の点P(x,y)∈Fq nの写像πq tによる像は、Pπq t=(c1-qxq,c3(1-q)/2yq)となる。ここで、σ1はFq 2n上で同型となるツイスト楕円曲線Etから楕円曲線EへのFq 2n上での写像であり、フロベニウス写像πqは、楕円曲線E上での自己準同型の写像であり、σ2はFq 2n上で同型となる楕円曲線Eからツイスト楕円曲線EtへのFq 2n上での写像である。従って、この写像πq tは、ツイスト楕円曲線Et上の点をツイスト楕円曲線Et上に写す自己準同型の写像である。なお、E(Fq 2n)、Et(Fq 2n)は、Fq 2n上で定義された楕円曲線E、ツイスト楕円曲線Etをそれぞれ示す。
また、この写像πq tは、((πq t)2-wπq t+q)R=O (-2√q≦w≦2√q)を満たすため、ツイスト楕円曲線Et上のスカラー倍演算kPは、kP=(d0+d1πq t+…+dm-1q)m-1)Pとフロベニウス展開でき(非特許文献1参照。)、前述のような高速演算が可能となる。なお、Rはツイスト楕円曲線Et上の任意の点を意味する。
【0006】
【非特許文献1】
J.A.Solinas, "An Improved Algorithm for Arithmetic on a Family of Elliptic Curves", Advances in Cryptology-CRYPTO'97, Lecture Notes in Computer Science 1294, pp.357-371, Springer, 1997.
【非特許文献2】
T.Iijima, K.Matsuo, J.Chao, S.Tsujii, "Construction of Frobenius maps of twists elliptic curves and its application to elliptic scalar multiplication", scis2002.
【0007】
【発明が解決しようとする課題】
しかし、非特許文献2の方法は、標数5以上であることを前提としており、標数2の場合に適用できないという問題点がある。
つまり、非特許文献2の方法は、標数5以上であることを前提に定義されたツイスト楕円曲線上でのスカラー倍演算の高速化を目的としたものであり、この方法を標数2であることを前提に定義されたツイスト楕円曲線上でのスカラー倍演算に適用することはできない。そのため、非特許文献2の方法を、2進数としての取扱いが必要なワイヤードロジック等によって直接的に実現することはできない。
この発明はこのような点に鑑みてなされたものであり、標数2の場合において、ツイスト楕円曲線上のスカラー倍演算を高速化することが可能な楕円曲線上スカラー倍演算装置を提供することを目的とする。
また、この発明の他の目的は、標数2の場合において、ツイスト楕円曲線上のスカラー倍演算を高速化する機能をコンピュータ上で実行させるための楕円曲線上スカラー倍演算プログラムを提供することである。
【0008】
【課題を解決するための手段】
この発明では上記課題を解決するために、まず、有理点入力手段において、Fq n上の有理点P(xp,yp)∈Etの入力を受け付ける。なお、ここでは、Fqを要素数qの有限体とし、q=2mとし、mを自然数とし、Fq上で定義された楕円曲線Eをy2+xy=x3+ax2+bとし、この楕円曲線Eに対応してFq n上で定義されたツイスト楕円曲線Etをy2+xy=x3+(a+c)x2+bとし、nを自然数とし、a,b∈Fqとし、cをc∈Fq nであってFq nにおける非平方としている。
次に、自己準同写像演算手段において、有理点入力手段において入力された有理点P(xp,yp)∈Etの写像πq tによる像(πq t)Pを算出する。なお、ここでは、α∈Fq 2nがα2+α+c=0を満たすものとし、σ1をFq 2n上の(x,y)∈Etから(x,y+αx)∈Eへ移す写像とし、πqをFq上の(x,y)∈Eから(xq,yq)∈Eへ移すフロベニウス写像とし、σ2をFq 2n上の(x,y)∈Eから(x,y+αx)∈Etへ移す写像とし、πq tを、Fq 2n上の(x,y)∈Etを写像σ1によって移し、その像をフロベニウス写像πqによって移し、さらにその像を写像σ2によって移す写像としている。
そして、有理点入力手段において入力された有理点P(xp,yp)∈Etのk倍点であるkPのフロベニウス展開式(d0+d1πq t+…+dm-1 q t)m-1)Pに、自己準同写像演算手段によって算出された像(πq t)Pを代入し、kPを算出する。
【0009】
ここで、σ1はFq 2n上で同型となるツイスト楕円曲線Etから楕円曲線EへのFq 2n上での写像であり、フロベニウス写像πqは、楕円曲線E上での自己準同型の写像であり、σ2はFq 2n上で同型となる楕円曲線Eからツイスト楕円曲線EtへのFq 2n上での写像である。従って、この写像πq tは、ツイスト楕円曲線Et上の点をツイスト楕円曲線Et上に写す自己準同型の写像である。
また、この写像πq tは、((πq t)2-wπq t+q)R=O (-2√q≦w≦2√q)を満たすため、ツイスト楕円曲線Et上のスカラー倍演算kPは、この写像πq tを用い、kP=(d0+d1πq t+…+dm-1 q)m-1)Pとフロベニウス展開できる(非特許文献1参照。)。なお、Rはツイスト楕円曲線Et上の任意の点を意味し、Oは無限遠点を意味する。
従って、このスカラー倍演算kPの演算は、展開式(d0+d1πq t+…+dm-1 q)m-1)Pの各要素の置き換えのみによって行うことができ、楕円曲線上の加法や2倍算によって演算を行う場合に比べ、一般に処理を高速化することができる。
【0010】
【発明の実施の形態】
以下、この発明の実施の形態を図面を参照して説明する。
なお、以下では、まず、この形態の全体について説明し、その後、その詳細について説明を行っていく。
図1は、公知のコンピュータに所定のプログラムが実行されることによって構成される、楕円曲線上スカラー倍演算装置1の全体構成を例示した機能ブロック図である。以下、この図に沿って、楕円曲線上スカラー倍演算装置1の全体構成及び処理動作を説明する。なお、以下の説明では、Fqは要素数qの有限体を表すものとし、この例では、標数2の場合を取り上げるためq=2mとする(mは自然数)。また、標数2においてFq上で定義された楕円曲線Eをy2+xy=x3+ax2+bとし、この楕円曲線Eに対応してFq n上で定義されたツイスト楕円曲線Etをy2+xy=x3+(a+c)x2+bとする(nは自然数、a,b∈Fq、cはc∈Fq nであってFq nにおける非平方の数)。さらに、α∈Fq 2nはα2+α+c=0を満たすものとし、kはスカラー値を表すものとし、E(Fq)、Et(Fq)は、Fq上で定義された楕円曲線E、ツイスト楕円曲線Etをそれぞれ示すものとする。
【0011】
楕円曲線上スカラー倍演算装置1によってスカラー倍演算を行う場合、まず、有理点入力部10によって、Fq n上の有理点P(xp,yp)∈Etの入力を受け付け、入力された有理点P(xp,yp)を自己準同写像演算部20に送る。
有理点P(xp,yp)が送られた自己準同写像演算部20は、この有理点P(xp,yp)の以下の写像πq tによる像(πq t)Pを算出する。
【数6】
Figure 0004184120
ここで、写像πq tは、Fq 2n上の(x,y)∈Etを写像σ1によって移し、その像をフロベニウス写像πqによって移し、さらにその像を写像σ2によって移す写像である。また、σ1は、Fq 2n上の(x,y)∈Etを(x,y+αx)∈Eへ移す写像であり、πqは、Fq上の(x,y)∈Eを(xq,yq)∈Eへ移すフロベニウス写像であり、σ2は、Fq 2n上の(x,y)∈Eを(x,y+αx)∈Etへ移す写像である。そして、σ1はFq 2n上で同型となるツイスト楕円曲線Etから楕円曲線EへのFq 2n上での写像であり、フロベニウス写像πqは、楕円曲線E上での自己準同型の写像であり、σ2はFq 2n上で同型となる楕円曲線Eからツイスト楕円曲線EtへのFq 2n上での写像である。従って、この写像πq tは、ツイスト楕円曲線Et上の点をツイスト楕円曲線Et上に写す自己準同型の写像である。
【0012】
この写像πq tにおける有理点P(xp,yp)の像(πq t)Pを求めるために、まず、有理点P(xp,yp)の写像σ1による像を求めると、(xp,yp+αxp)となる。そして、そのフロベニウス写像πqによる像は((xp)q,(yp)qq(xp)q)となり、さらにその写像σ2による像は((xp)q,(yp)q+(αq+α)・(xp)q)となる。
ここで、q=2mであるため、emq+αおくと、em
【数7】
Figure 0004184120
のように変換できる。そして、このemを用い、像(πq t)P=((xp)q,(yp)q+em・(xp)q)…(1)と表すことができる。
また、有理点P(xp,yp)に写像πq tをj回適用すると、その像(πq t)jPは、
【数8】
Figure 0004184120
となる。以下に、その証明を示す。
【0013】
j=1のときは、その代入結果は(πq t)P=((xp)q,(yp)q+em・(xp)q)となるため、成立することは自明である。また、j=Lで成立すると仮定すると
【数9】
Figure 0004184120
が成立し、式(1)より
【数10】
Figure 0004184120
が成立する。これによりj=L+1でも成立することがいえるため、全ての自然数jについて成立することがいえる〔証明終わり〕。
自己準同写像演算部20では、式(2)を用いて、1≦j≦m-1を満たす全ての自然数jについて像(πq t)jPを演算し、その結果をスカラー倍演算部30に送る。
【0014】
この演算結果を受け取ったスカラー倍演算部30は、有理点入力部10において入力された有理点P(xp,yp)∈Etのk倍点であるkPのフロベニウス展開式(d0+d1πq t+…+dm-1 q t)m-1)Pに、自己準同写像演算部20によって算出された像(πq t)jPを代入し、kPを算出する。
すなわち、式(2)で表される像(πq t)jPは、((πq t)2-wπq t+q)R=O (-2√q≦w≦2√q)、及び ((πq t)n+1)R=O を満たすことになるが(R:ツイスト楕円曲線Et上の任意の点、O:無限遠点)、この場合、非特許文献1に示したように、ツイスト楕円曲線Et上のスカラー倍演算kPは、kP=(d0+d1πq t+…+dm-1 q)m-1)Pとフロベニウス展開できる。そのため、自己準同写像演算部20から受け取った(πq t)jP (1≦j≦m-1)の演算結果と、後述するアルゴリズムで求めた定数di(0≦i≦m-1)とを用いてdiq t) i P (1≦j≦m-1)を計算し、それらを足し合わせることによりkPを高速に求めることができる。
【0015】
次に、この形態の詳細について説明する。
図2の(a)は、この形態の楕円曲線上スカラー倍演算装置1のハードウェア構成を例示したブロック図である。
図2の(a)に例示するように、この例の楕円曲線上スカラー倍演算装置1は、キーボード等の入力装置1a、液晶ディスプレイ等の出力装置1b、CPU(Central Processing Unit)1c、ハードディスク等の記憶装置1d、及び入力装置1a、出力装置1b、CPU1c、記憶装置1d間をデータのやり取りが可能なように接続するバス1eを有しており、記憶装置1dに記憶された所定のプログラムをCPU1cで実行することにより、その処理機能を実現する。
図2の(b)は、図2の(a)に例示したハードウェア上で所定のプログラムを実行させることにより実現される自己準同写像演算部20の機能構成の詳細を、図3は、スカラー倍演算部30の機能構成の詳細を、それぞれ例示した図であり、図4は、楕円曲線上スカラー倍演算装置1の処理機能を説明するためのフローチャートである。以下、これらの図を用いて、楕円曲線上スカラー倍演算装置1の構成、及び処理機能の説明を行っていく。
【0016】
楕円曲線上スカラー倍演算装置1においてスカラー倍演算を行う場合、まず、有理点入力部10において、Fq n上の有理点P(xp,yp)∈Etの入力を受け付け、入力された有理点P(xp,yp)を自己準同写像演算部20の写像演算部24に送る(ステップS1)。
次に、自己準同写像演算部20の定数演算部22において、レジスタ21からパラメータc,mを読み出す。なお、このパラメータcは、ツイスト楕円曲線Et(y2+xy=x3+(a+c)x2+b)の定数cであり、パラメータmは、有限体Fqの要素数q=2mを特定する自然数mであり、これらは予めレジスタ21に格納されたデータである。パラメータc,mを読み出した定数演算部22は、これらのパラメータc,mを
【数11】
Figure 0004184120
に代入して定数emを算出し、算出した定数emを定数演算部23に送る(ステップS2)。
【0017】
定数emを受け取った定数演算部23は、レジスタ21からパラメータqを読み出す。なお、このパラメータqは、有限体Fqの要素数qであり、予めレジスタ21に格納されたデータである。パラメータqを読み出した定数演算部23は、受け取った定数emと、読み出したパラメータqとを
【数12】
Figure 0004184120
に代入して定数hを演算し、その演算結果である定数hを、パラメータqとともに写像演算部24に送る(ステップS3)。
写像演算部24では、ステップS1で有理点入力部10から送られた有理点P(xp,yp)と、ステップS3で定数演算部23から送られた定数h、及びパラメータqを
【数13】
Figure 0004184120
に代入して演算を行い、1≦j≦m-1を満たす全ての自然数jについて像(πq t)jPを算出する(ステップS4)。なお、この演算は、1≦j≦m-1を満たす全ての自然数jについて、定数演算部22によって算出された定数emを用いて
【数14】
Figure 0004184120
の演算を行い、Fq n上の有理点P(xp,yp)∈Etの写像(πq t)jによる像(πq t)jPを算出することに該当する。また、写像演算部24で算出された像(πq t)jPは、スカラー倍演算部30の展開式演算部31に送られる。
【0018】
次に、スカラー倍演算部30のパラメータ入力部32aにおいて、Rをツイスト楕円曲線Et上の任意の点とし、Oを無限遠点とした場合における((πq t)2-w(πq t)+q)R=Oを満たすw、スカラー値k、要素数qの入力を受け付け、入力したこれらの情報をレジスタ32bに格納する(ステップS5)。
その後、変数初期化部32cにおいて、レジスタ32bから、変数i1,di2,z1,z2、及び定数kを読み出し、変数z1にkを代入し、変数i1、変数z2、及びすべて変数di2(∀i2)に0を代入する(ステップS6)。なお、レジスタ32bには、変数z1,z2,z3,z4,i1,i2,di1、前述の定数q,m,k,w、有限体Fq nの要素数を特定し、((πq t)n+1)R=Oを満たす自然数nが格納されているものとする。
次に、比較部32dにおいて、レジスタ32bから変数z1,z2を読み出し、読み出した変数がz1=z2となるか否かを判断し(ステップS7)、z1,z2となっていなかった場合、ステップS8の処理に進む。
【0019】
ステップS8では、変数代入部32eにおいて、まず、レジスタ32bから定数q,m,di1、及び変数i1,z1,z3を読み出し、m≦i1≦2m-1を満たすか否かを判断する。そして、m≦i1≦2m-1を満たした場合、z3に(z1mod q)-qを、d(i1 mod n)にd(i1 mod n)-z3を代入し(ステップS9)、満たさなかった場合、z3に(z1mod q)を、d(i1 mod n)にd(i1 mod n)+z3を代入する(ステップS10)。
これらの代入結果z3,d(i1 mod n)はレジスタ32bに格納され、次に、変数代入部32gにおいて、レジスタ32bから定数q,n,w、及び変数di1,i1,z1,z2,z3,z4を読み出し、変数z4に(z1-z3)/qを代入し、変数z1にwz4+z2を代入し、z2に-z4を代入し、i1にi1+1を代入する(ステップS11)。代入結果i1,z1,z2,z4は、レジスタ32bに格納され、再び、ステップS7の処理に戻る。
【0020】
ステップS7の処理において、比較部32dがz1=z2であると判断した場合、比較部32dは、その旨の情報を定数出力部32hに送り、定数出力部32hは、レジスタ32bに格納されている変数di1を読み出し、各di1の値を定数diとして展開式演算部31に出力する(ステップS12)。なお、以上で説明したパラメータ入力部32a、レジスタ32b、変数初期化部32c、比較部32d、変数代入部32e、32g、及び定数出力部32hは、kPのフロベニウス展開(d0+d1πq t+…+dm-1 q t)m-1)Pの各定数diを0≦i≦m-1について算出する定数演算部32を構成することになる。
定数演算部32において算出され、出力された定数di(ステップS5〜ステップS12)と、自己準同像算出部20の写像演算部24において算出された像(πq t)jP(ステップS4)とを受け取った展開式演算部31は、これらのデータを用い、(d0+d1πq t+…+dm-1 q t)m-1)Pの演算を行ってkPを算出し、その演算結果kPを出力する(ステップS13)。
【0021】
このように、本形態では、有理点入力手段である有理点入力部10において、Fq n上の有理点P(xp,yp)∈Etの入力を受け付け、自己準同写像演算手段である自己準同写像演算部20において、α∈Fq 2nがα2+α+c=0を満たすものとし、σ1をFq 2n上の(x,y)∈Etから(x,y+αx)∈Eへ移す写像とし、πqをFq上の(x,y)∈Eから(xq,yq)∈Eへ移すフロベニウス写像とし、σ2をFq 2n上の(x,y)∈Eから(x,y+αx)∈Etへ移す写像とし、πq tを、Fq 2n上の(x,y)∈Etを写像σ1によって移し、その像をフロベニウス写像πqによって移し、さらにその像を写像σ2によって移す写像とした場合における、有理点入力部10において入力された有理点P(xp,yp)∈Etの写像πq tによる像(πq t)Pを算出する。そして、スカラー倍演算手段であるスカラー倍演算部30において、有理点入力部10において入力された有理点P(xp,yp)∈Etのk倍点であるkPのフロベニウス展開式(d0+d1πq t+…+dm-1 q t)m-1)Pに、自己準同写像演算部20によって算出された像(πq t)Pを代入し、kPを算出することとした。
【0022】
ここで、前述のように、この写像πq tは、ツイスト楕円曲線Et上の点をツイスト楕円曲線Et上に写す自己準同型の写像である。また、この写像πq tは、((πq t)2-wπq t+q)R=O (-2√q≦w≦2√q)を満たすため、ツイスト楕円曲線Et上のスカラー倍演算kPは、この写像πq tを用い、kP=(d0+d1πq t+…+dm-1 q)m-1)Pとフロベニウス展開できる。従って、この標数2におけるスカラー倍演算kPの演算は、展開式(d0+d1πq t+…+dm-1 q)m-1)Pの各要素の置き換えのみによって行うことができ、楕円曲線上の加法や2倍算によって演算を行う場合に比べ、一般に処理を高速化することができる。
【0023】
また、この形態では、自己準同写像演算部20は、式(3)の演算を行って定数emを算出する第1の定数演算手段である定数演算部22、及び、1≦j≦m-1を満たす全ての自然数jについて、第1の定数演算部によって算出された定数emを用いて式(6)の演算を行い、Fq n上の有理点P(xp,yp)∈Etの写像(πq t)jによる像(πq t)jPを算出する写像演算部24を有することとした。さらに、スカラー倍演算部30は、kPのフロベニウス展開(d0+d1πq t+…+dm-1 q t)m-1)Pの各定数diを、0≦i≦m-1について算出する第2の定数演算手段である定数演算部32、及び、定数演算部32において算出された定数diと、写像演算部において算出された像(πq t)jPとを用い、(d0+d1πq t+…+dm-1 q t)m-1)Pの演算を行ってkPを算出する展開式演算手段である展開式演算部31を有することとした。そのため、定数演算部32において算出された定数di、及び写像演算部において算出された像(πq t)jPを展開式(d0+d1πq t+…+dm-1 q)m-1)Pへの各要素に代入するのみで、標数2におけるツイスト楕円曲線Et上のスカラー倍kPを高速に求めることができる。
【0024】
さらに、自己準同写像演算部20は、写像演算部24による処理の前に、式(4)の演算によって定数hを算出する第3の定数演算手段である定数演算部23を有し、写像演算部24は、定数演算部23によって算出された定数hを用いて式(5)の演算を行い、像(πq t)jPを算出することとした。この場合、式(5)に示すように、(πq t)j写像の演算コストは、Fq n上のq乗の演算を2j回(xp qをj回、yp qをj回)、乗算1回、加算1回のみである。そして、Fq n上のq乗は一般に高速に演算できる。そのため、(πq t)j写像の演算コストは、楕円曲線上の加算等に比べると誤差の範囲となり、標数2におけるツイスト楕円曲線Et上のスカラー倍kPの演算をより高速に行うことが可能となる。
【0025】
また、第2の定数演算部32は、Rをツイスト楕円曲線Et上の任意の点、Oを無限遠点とした場合における((πq t)2-w(πq t)+q)R=Oを満たすw、前述したk及び要素数qの入力を受け付けるパラメータ入力手段であるパラメータ入力部32a、変数z1にkを代入し、変数i1、変数z2、及びすべてのi2の変数di2に0を代入する変数初期化手段である変数初期化部32c、m≦i1≦2m-1を満たした場合、変数z3に(x mod q)-qの演算結果を代入し、d(i1 mod n)にd(i1 mod n)-z3の演算結果を代入し、m≦i1≦2m-1を満たさなかった場合、変数z3に(x mod q)の演算結果を代入し、d(i1 mod n)にd(i1 mod n)+z3の演算結果を代入する第1の変数代入手段である変数代入部32e、変数z4に(z1-z3)/qを代入し、変数z1にwz4+z2を代入し、z2に-z4を代入し、i1にi1+1を代入する第2の変数代入手段である変数代入部32g、及びz1=z2となった場合に、各di1の値を定数diとして出力する定数出力手段である定数出力部32hを有することとした。そのため、これらを用いたステップS5〜S13の処理により、kPのフロベニウス展開(d0+d1πq t+…+dm-1 q t)m-1)Pの各定数diを容易に求めることができ、標数2におけるツイスト楕円曲線Et上のスカラー倍kPを高速に求めることができる。
【0026】
なお、この発明は上述の実施の形態に限定されるものではない。例えば、この形態では、ステップS3において式(4)を用いて定数hを算出し、その定数hを式(5)に代入することによって像(πq t)jPを算出したが(ステップS4)、定数hを求めず、式(3)と式(6)の演算のみで像(πq t)jPを算出することとしてもよい。
また、この実施の形態では、楕円曲線上スカラー倍演算装置の処理機能を、コンピュータに所定のプログラムを実行させることにより実現する構成としたが、これらの処理機能の少なくとも一部を電子回路によってハードウェア的に実現することとしてもよい。
また、上述の実施の形態で述べたように、上記の処理機能は、コンピュータによって実現することができる。この場合、楕円曲線上スカラー倍演算装置が有すべき機能の処理内容はプログラムによって記述され、このプログラムをコンピュータで実行することにより、上記処理機能をコンピュータ上で実現することができる。
【0027】
また、この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0028】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
なお、上記におけるプログラムとは、電子計算機に対する指令であって、一の結果を得ることができるように組合されたものをいい、その他電子計算機による処理の用に供する情報であってプログラムに準ずるものをも含むものとする。
【0029】
【発明の効果】
以上説明したようにこの発明では、有理点入力部において、Fqを要素数qの有限体とし、q=2mとし、mを自然数とし、Fq上で定義された楕円曲線Eをy2+xy=x3+ax2+bとし、この楕円曲線Eに対応してFq n上で定義されたツイスト楕円曲線Etをy2+xy=x3+(a+c)x2+bとし、nを自然数とし、a,b∈Fqとし、cをc∈Fq nであってFq nにおける非平方とした場合における、Fq n上の有理点P(xp,yp)∈Etの入力を受け付ける。次に、自己準同写像演算部において、α∈Fq 2nがα2+α+c=0を満たすものとし、σ1をFq 2n上の(x,y)∈Etから(x,y+αx)∈Eへ移す写像とし、πqをFq上の(x,y)∈Eから(xq,yq)∈Eへ移すフロベニウス写像とし、σ2をFq 2n上の(x,y)∈Eから(x,y+αx)∈Etへ移す写像とし、πq tを、Fq 2n上の(x,y)∈Etを写像σ1によって移し、その像をフロベニウス写像πqによって移し、さらにその像を写像σ2によって移す写像とした場合における、有理点入力部において入力された有理点P(xp,yp)∈Etの写像πq tによる像(πq t)Pを算出する。そして、有理点入力部において入力された有理点P(xp,yp)∈Etのk倍点であるkPのフロベニウス展開式(d0+d1πq t+…+dmq t)m-1)Pに、自己準同写像演算部によって算出された像(πq t)Pを代入し、kPを算出する。
【0030】
ここで、写像πq tは、標数2の場合において、ツイスト楕円曲線Et上の点をツイスト楕円曲線Et上に写す自己準同型の写像であり、((πq t)2-wπq t+q)R=O (-2√q≦w≦2√q)を満たすものである。従って、標数2の場合におけるツイスト楕円曲線Et上のスカラー倍演算kPは、kP=(d0+d1πq t+…+dmq)m-1)Pとフロベニウス展開でき、この各要素の置き換えのみによって、このスカラー倍演算kPを行うことができる。その結果、標数2の場合において、ツイスト楕円曲線上のスカラー倍演算を高速化することができる。
【図面の簡単な説明】
【図1】楕円曲線上スカラー倍演算装置の全体構成を例示した機能ブロック図。
【図2】(a)は、この形態の楕円曲線上スカラー倍演算装置1のハードウェア構成を例示したブロック図であり、(b)は、自己準同写像演算部の機能構成の詳細を例示した図である。
【図3】スカラー倍演算部の機能構成の詳細を例示した図。
【図4】楕円曲線上スカラー倍演算装置の処理機能を説明するためのフローチャート。
【符号の説明】
1 楕円曲線上スカラー倍演算装置
10 有理点入力部
20 自己準同像算出部
30 スカラー倍算出部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an elliptic curve scalar multiplication device for performing scalar multiplication on an elliptic curve, and an elliptic curve scalar multiplication program for executing the function on a computer, and more particularly to a twist in a finite field of characteristic 2 The present invention relates to an elliptic curve on-curve multiplication device for performing scalar multiplication on an elliptic curve, and an elliptic curve on-curve multiplication program for executing the function on a computer.
[0002]
[Prior art]
With the progress of information and communication networks, encryption technology necessary for secrecy and authentication of electronic information is an indispensable element. And the improvement of the security and speeding up of this encryption technology will become a serious problem in the future.
Under such circumstances, elliptic curve cryptography is attracting attention as a next-generation cryptosystem that will lead the era of electronic commerce. Elliptic curve cryptography is a kind of cryptographic scheme that secures security based on the difficulty of solving discrete logarithm problems on elliptic curves, and is far more than RSA cryptography that makes difficulty of prime factorization the basis of security. The same security strength can be realized with a short key length.
However, this elliptic curve cryptography also has problems in terms of processing speed and security in smart cards with limited processing capabilities and server devices that perform a large amount of cryptographic processing. Research is being developed around the world.
[0003]
Generally, when implementing elliptic curve cryptography, most of the processing time is spent on scalar multiplication on the elliptic curve. In other words, the “discrete logarithm problem on an elliptic curve” used in elliptic curve cryptography refers to the problem of obtaining a scalar value k when given a point P on an elliptic curve and a point kP that is a scalar multiple thereof. `` Points on the curve '' refers to a set of numbers that satisfy the elliptic curve definition equation.The speedup of the scalar multiplication kP performed at the time of generating the discrete logarithm problem on this elliptic curve is the speed of elliptic curve cryptography. Will be realized.
Usually, the scalar multiplication operation kP is performed by repeating addition or doubling on an elliptic curve. Here, “addition on an elliptic curve” means an addition operation defined by the whole point on the elliptic curve with an infinite point as the unit element, and the same as “doubling on an elliptic curve”. An addition on an elliptic curve between points. The addition of two points on the elliptic curve is an operation in which a point passing through these two points again intersects with the elliptic curve and a point symmetric with respect to the x-axis is the addition result point. The doubling of this point is an operation in which the tangent on the elliptic curve of this point again intersects with the elliptic curve and a point symmetric with respect to the x axis is the point of the doubling result.
[0004]
  Further, as a method for performing high-speed scalar multiplication kP, there is a method using a Frobenius map. Here, the "Frobenius map" is a finite field F with q elementsqAutomorphism map ((x, y) → (x for the point P = (x, y) on the elliptic curve defined above)q, Yq)). And this Frobenius map is πqThen (πq 2-wπq+ q) P = O (-2√q ≦ w ≦ 2√q) is known, and in this case, the scalar multiplication kP is kP = (d0+ d1πq+… + Dm -1 q)m-1) It is known that it can be expanded with P (Frobenius expansion) (see Non-Patent Document 1). O represents an infinite point. In this case, the scalar multiplication operation kP is calculated using the expansion formula (d0+ d1πq+… + Dm -1 q)m-1) This can be done only by replacing each element of P, and in general, the processing can be speeded up as compared with the case where computation is performed by addition or doubling on an elliptic curve.
  In Non-Patent Document 2, when the characteristic is 5 or more, Fq nDisclosed is a method that uses this Frobenius expansion to find a self-homogeneous mapping that can be computed at high speed on an elliptic curve with the number of rational points defined above as prime numbers, and to perform scalar multiplication on the twisted elliptic curve. ing. The contents are outlined below. “Characteristic” means finite field FqThe number of elements q is q = βmThe value of β in the case where it is expressed is generally a prime number.
[0005]
  In the case of this non-patent document 2, FqAbove elliptic curve E: y2= xThree+ ax + b is defined and Fq nAbove twisted elliptic curve Et: y2= xThree+ ac2x + bcThreeIs defined (a, b∈Fq, C∈Fq nIs Fq nIn non-square). Here, “twisted elliptic curve” means Fq nAbove, it is not isomorphic to the elliptic curve E, but Fq 2nIn the above, a curve having the same shape as the elliptic curve E is referred to, and has a relationship corresponding to each elliptic curve E.
  And the map πq tThe
[Equation 5]
Figure 0004184120
From this definition, twist elliptic curve EtUpper point P (x, y) ∈Fq nMap of πq tThe image by Pπq t= (c1-qxq, c3 (1-q) / 2yq). Where σ1Is Fq 2nTwisted elliptic curve E that is isomorphic abovetF to elliptic curve E fromq 2nThe above map, the Frobenius map πqIs a self-homomorphic mapping on the elliptic curve E, and σ2Is Fq 2nFrom elliptic curve E, which is the same shape above, to twisted elliptic curve EtF toq 2nThis is the map above. Therefore, this mapping πq tTwisted elliptic curve EtThe upper point is twisted elliptic curve EtIt is a self-homomorphic map that is projected above. E (Fq 2n), Et(Fq 2n) Is Fq 2nElliptic curve E defined above, twisted elliptic curve EtRespectively.
  This map πq t((Πq t)2-wπq t+ q) Twist elliptic curve E to satisfy R = O (-2√q ≦ w ≦ 2√q)tThe scalar multiplication kP above is kP = (d0+ d1πq t+… + Dm-1q)m-1) P and Frobenius expansion can be performed (see Non-Patent Document 1), and high-speed computation as described above is possible. R is twisted elliptic curve EtMean any point above.
[0006]
[Non-Patent Document 1]
J.A.Solinas, "An Improved Algorithm for Arithmetic on a Family of Elliptic Curves", Advances in Cryptology-CRYPTO'97, Lecture Notes in Computer Science 1294, pp.357-371, Springer, 1997.
[Non-Patent Document 2]
T.Iijima, K. Matsuo, J. Chao, S. Tsujii, "Construction of Frobenius maps of twists elliptic curves and its application to elliptic scalar multiplication", scis2002.
[0007]
[Problems to be solved by the invention]
However, the method of Non-Patent Document 2 is based on the premise that the characteristic is 5 or more, and there is a problem that it cannot be applied to the case of characteristic 2.
In other words, the method of Non-Patent Document 2 aims at speeding up scalar multiplication on a twisted elliptic curve defined on the assumption that the characteristic is 5 or more. It cannot be applied to a scalar multiplication operation on a twisted elliptic curve defined on the assumption of a certain thing. Therefore, the method of Non-Patent Document 2 cannot be directly realized by wired logic or the like that requires handling as a binary number.
The present invention has been made in view of the above points, and provides an elliptic curve scalar multiplication device capable of speeding up a scalar multiplication operation on a twisted elliptic curve in the case of characteristic 2. With the goal.
Another object of the present invention is to provide an elliptic curve scalar multiplication program for causing a computer to execute a function for speeding up a scalar multiplication operation on a twisted elliptic curve in the case of characteristic 2. is there.
[0008]
[Means for Solving the Problems]
  In the present invention, in order to solve the above problem, first, in the rational point input means, Fq nRational point P (xp, yp) ∈EtAccepts input. Here, FqIs a finite field with q elements and q = 2mWhere m is a natural number and FqThe elliptic curve E defined above is y2+ xy = xThree+ ax2+ b and F corresponding to this elliptic curve Eq nTwisted elliptic curve E defined abovetY2+ xy = xThree+ (a + c) x2+ b, n is a natural number, a, b∈FqAnd c is c∈Fq nAnd Fq nIs non-square.
  Next, the rational point P (xp, yp) ∈EtMap of πq tImage (πq t) Calculate P. Here, α∈Fq 2nIs α2+ α + c = 0 and σ1Fq 2n(X, y) ∈E abovetFrom (x, y + αx) ∈E and πqFqFrom (x, y) ∈E above to (xq, yq) ∈F to Frobenius map, and σ2Fq 2nFrom (x, y) ∈E to (x, y + αx) ∈EtΠq tFq 2n(X, y) ∈E abovetΣ1And transfer the image to the Frobenius map πqAnd then the image is mapped to σ2The map is moved by.
  Then, the rational point P (xp, yp) ∈EtThe Frobenius expansion formula (d0+ d1πq t+… + Dm -1 q t)m-1) P, the image calculated by the self-quasi-mapping means (πq t) Substitute P and calculate kP.
[0009]
  Where σ1Is Fq 2nTwisted elliptic curve E that is isomorphic abovetF to elliptic curve E fromq 2nThe above map, the Frobenius map πqIs a self-homomorphic mapping on the elliptic curve E, and σ2Is Fq 2nFrom elliptic curve E, which is the same shape above, to twisted elliptic curve EtF toq 2nThis is the map above. Therefore, this mapping πq tTwisted elliptic curve EtThe upper point is twisted elliptic curve EtIt is a self-homomorphic map that is projected above.
  This map πq t((Πq t)2-wπq t+ q) Twist elliptic curve E to satisfy R = O (-2√q ≦ w ≦ 2√q)tThe scalar multiplication kP above is the mapping πq tAnd kP = (d0+ d1πq t+… + Dm -1 q)m-1) P and Frobenius can be developed (see Non-Patent Document 1). R is twisted elliptic curve EtIt means any point above, O means infinity point.
  Therefore, the operation of the scalar multiplication kP is expressed by the expansion formula (d0+ d1πq t+… + Dm -1 q)m-1) This can be done only by replacing each element of P, and in general, the processing can be speeded up as compared with the case where computation is performed by addition or doubling on an elliptic curve.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
In the following, the whole of this embodiment will be described first, and then the details will be described.
FIG. 1 is a functional block diagram illustrating the overall configuration of an elliptic curve scalar multiplication unit 1 configured by executing a predetermined program on a known computer. The overall configuration and processing operation of the elliptic curve scalar multiplication unit 1 will be described below with reference to FIG. In the following explanation, FqRepresents a finite field with q elements, and in this example q = 2 to take the case of characteristic 2m(M is a natural number). In characteristic 2, FqThe elliptic curve E defined above is y2+ xy = xThree+ ax2+ b and F corresponding to this elliptic curve Eq nTwisted elliptic curve E defined abovetY2+ xy = xThree+ (a + c) x2+ b (n is a natural number, a, b∈Fq, C is c∈Fq nAnd Fq nNon-square number in). In addition, α∈Fq 2nIs α2+ α + c = 0 is satisfied, k represents a scalar value, and E (Fq), Et(Fq) Is FqElliptic curve E defined above, twisted elliptic curve EtRespectively.
[0011]
When performing scalar multiplication by the scalar multiplication unit 1 on the elliptic curve, first, the rational point input unit 10 performs Fq nRational point P (xp, yp) ∈EtAnd the rational point P (xp, yp) Is sent to the self-similar mapping operation unit 20.
Rational point P (xp, yp) Is sent to the self-quasi-mapping operation unit 20 and the rational point P (xp, yp)q tImage (πq t) Calculate P.
[Formula 6]
Figure 0004184120
Where πq tFq 2n(X, y) ∈E abovetΣ1And transfer the image to the Frobenius map πqAnd then the image is mapped to σ2Is a mapping transferred by. Also, σ1Fq 2n(X, y) ∈E abovetIs a mapping that shifts to (x, y + αx) ∈E, and πqFq(X, y) ∈E above (xq, yq) ∈F is a Frobenius map, and σ2Fq 2n(X, y) ∈E above (x, y + αx) ∈EtIt is a mapping to move to. And σ1Is Fq 2nTwisted elliptic curve E that is isomorphic abovetF to elliptic curve E fromq 2nThe above map, the Frobenius map πqIs a self-homomorphic mapping on the elliptic curve E, and σ2Is Fq 2nFrom elliptic curve E, which is the same shape above, to twisted elliptic curve EtF toq 2nThis is the map above. Therefore, this mapping πq tTwisted elliptic curve EtThe upper point is twisted elliptic curve EtIt is a self-homomorphic map that is projected above.
[0012]
This mapping πq tRational point P (xp, yp) Image (πq t) P, the rational point P (xp, yp)1The image byp, yp+ αxp). And the Frobenius map πqThe image by ((xp)q, (yp)q+ αq(xp)q) And the map σ2The image by ((xp)q, (yp)q+ (αq+ α) ・ (xp)q).
Where q = 2mBecause em= αq+ α, emIs
[Expression 7]
Figure 0004184120
Can be converted as follows. And this emAnd use the image (πq t) P = ((xp)q, (yp)q+ em・ (Xp)q) ... (1).
The rational point P (xp, yp) To map πq tIs applied j times, the image (πq t)jP is
[Equation 8]
Figure 0004184120
It becomes. The proof is shown below.
[0013]
When j = 1, the substitution result is (πq t) P = ((xp)q, (yp)q+ em・ (Xp)qTherefore, it is self-evident. Also, assuming that j = L holds
[Equation 9]
Figure 0004184120
From the formula (1)
[Expression 10]
Figure 0004184120
Is established. Thus, it can be said that even if j = L + 1, it can be said that all natural numbers j are satisfied [end of proof].
The self-similar mapping operation unit 20 uses the expression (2) to calculate the image (πq t)jP is calculated and the result is sent to the scalar multiplication unit 30.
[0014]
  The scalar multiplication unit 30 that has received the calculation result receives the rational point P (x input by the rational point input unit 10.p, yp) ∈EtThe Frobenius expansion formula (d0+ d1πq t+… + Dm -1 q t)m-1) P, an image (πq t)jSubstitute P and calculate kP.
  That is, the image represented by the expression (2) (πq t)jP is ((πq t)2-wπq t+ q) R = O (-2√q ≦ w ≦ 2√q), and ((πq t)n+1) R = O (R: Twist elliptic curve EtAny point above, O: point at infinity), in this case, as shown in Non-Patent Document 1, twisted elliptic curve EtThe scalar multiplication kP above is kP = (d0+ d1πq t+… + Dm -1 q)m-1) P and Frobenius can be developed. Therefore, it is received from the self-similar mapping operation unit 20 (πq t)jP (1 ≤ j ≤ m-1) calculation result and constant d obtained by the algorithm described lateri(0 ≦ i ≦ m-1) And diq t) i P (1≤j≤m-1) And adding them together, kP can be obtained at high speed.
[0015]
Next, details of this embodiment will be described.
FIG. 2A is a block diagram illustrating a hardware configuration of the elliptic curve scalar multiplication device 1 of this form.
As illustrated in FIG. 2A, an elliptic curve scalar multiplication device 1 of this example includes an input device 1a such as a keyboard, an output device 1b such as a liquid crystal display, a CPU (Central Processing Unit) 1c, a hard disk, and the like. Storage device 1d, input device 1a, output device 1b, CPU 1c, and bus 1e for connecting the storage devices 1d so that data can be exchanged between them, and a predetermined program stored in the storage device 1d is stored. The processing function is realized by executing it by the CPU 1c.
2B shows details of the functional configuration of the self-similar mapping operation unit 20 realized by executing a predetermined program on the hardware illustrated in FIG. 2A. FIG. FIG. 4 is a diagram illustrating details of the functional configuration of the scalar multiplication unit 30, and FIG. 4 is a flowchart for explaining the processing functions of the elliptic curve scalar multiplication unit 1. Hereinafter, the configuration and processing function of the elliptic curve scalar multiplication unit 1 will be described with reference to these drawings.
[0016]
When performing scalar multiplication on the elliptic curve scalar multiplication unit 1, first, in the rational point input unit 10, Fq nRational point P (xp, yp) ∈EtAnd the rational point P (xp, yp) Is sent to the mapping calculation unit 24 of the self-homogeneous mapping calculation unit 20 (step S1).
Next, the parameters c and m are read from the register 21 in the constant calculation unit 22 of the self-similar mapping operation unit 20. The parameter c is a twisted elliptic curve Et(Y2+ xy = xThree+ (a + c) x2+ b) constant c and the parameter m is a finite field FqNumber of elements q = 2mIs a natural number m that specifies data stored in the register 21 in advance. The constant calculation unit 22 that has read out the parameters c and m converts these parameters c and m into
[Expression 11]
Figure 0004184120
Assign to the constant emAnd the calculated constant emIs sent to the constant calculator 23 (step S2).
[0017]
Constant em, The constant calculator 23 reads the parameter q from the register 21. This parameter q is a finite field FqThe number of elements q is the data stored in the register 21 in advance. The constant calculation unit 23 that has read the parameter q receives the received constant emAnd the read parameter q
[Expression 12]
Figure 0004184120
And the constant h, which is the result of the calculation, is sent to the mapping calculation unit 24 together with the parameter q (step S3).
In the mapping operation unit 24, the rational point P (x sent from the rational point input unit 10 in step S1.p, yp), The constant h and the parameter q sent from the constant calculation unit 23 in step S3.
[Formula 13]
Figure 0004184120
For all natural numbers j satisfying 1 ≦ j ≦ m−1.q t)jP is calculated (step S4). This calculation is performed using the constant e calculated by the constant calculation unit 22 for all natural numbers j satisfying 1 ≦ j ≦ m−1.mUsing
[Expression 14]
Figure 0004184120
To calculate Fq nRational point P (xp, yp) ∈EtMap of (πq t)jImage (πq t)jThis corresponds to calculating P. In addition, the image (πq t)jP is sent to the unfolding type arithmetic unit 31 of the scalar multiplication unit 30.
[0018]
Next, in the parameter input unit 32a of the scalar multiplication unit 30, R is twisted elliptic curve E.t((Π in the case where O is an infinite point)q t)2-w (πq t) + q) Accepts an input of w satisfying R = O, a scalar value k, and the number of elements q, and stores the inputted information in the register 32b (step S5).
Thereafter, in the variable initialization unit 32c, the variable i is read from the register 32b.1, di2, z1, z2, And constant k, and variable z1Substituting k for the variable i1, Variable z2, And all variables di2(∀i2) Is substituted for 0 (step S6). The register 32b has a variable z.1, z2, zThree, zFour, i1, i2, di1, Constants q, m, k, w, finite field Fq nThe number of elements in ((πq t)n+1) It is assumed that a natural number n satisfying R = O is stored.
Next, in the comparison unit 32d, the variable z is transferred from the register 32b.1, z2And the read variable is z1= z2Whether or not (step S7), z1, z2If not, the process proceeds to step S8.
[0019]
In step S8, in the variable substitution unit 32e, first, constants q, m, d from the register 32b.i1, And variable i1,z1, zThree, M ≦ i1It is determined whether or not ≦ 2m−1 is satisfied. And m ≦ i1If ≤2m-1 is satisfied, zThree(Z1mod q) -q, d(i1 mod n)To d(i1 mod n)-zThreeIs substituted (step S9), and if not satisfied, zThree(Z1mod q), d(i1 mod n)To d(i1 mod n) +zThreeIs substituted (step S10).
These substitution results zThree, d(i1 mod n)Is stored in the register 32b, and then in the variable substitution unit 32g, constants q, n, w, and variable d from the register 32b are stored.i1, i1, z1, z2, zThree, zFourRead the variable zFour(Z1-zThree) / q and variable z1To wzFour+ z2Substituting z2To -zFourAnd i1I1+1 is substituted (step S11). Assignment result i1, z1, z2, zFourIs stored in the register 32b, and the process returns to step S7 again.
[0020]
  In the process of step S7, the comparison unit 32d performs z1= z2When the comparison unit 32d determines that it is, the comparison unit 32d sends information to that effect to the constant output unit 32h, and the constant output unit 32h displays the variable d stored in the register 32b.i1Read out each di1The value of the constant diIs output to the unfolding type arithmetic unit 31 (step S12). Note that the parameter input unit 32a, the register 32b, the variable initialization unit 32c, the comparison unit 32d, the variable substitution units 32e and 32g, and the constant output unit 32h described above are connected to the k Frobenius expansion (d0+ d1πq t+… + Dm -1 q t)m-1) P constant di0 ≦ i ≦ m-1The constant calculation part 32 which calculates about is comprised.
  Constant d calculated and output by constant calculator 32i(Step S5 to Step S12) and the image (π) calculated by the mapping calculation unit 24 of the self-similar image calculation unit 20q t)jThe expansion equation calculation unit 31 that has received P (step S4) uses these data and (d0+ d1πq t+… + Dm -1 q t)m-1) P is calculated to calculate kP, and the calculation result kP is output (step S13).
[0021]
  Thus, in this embodiment, in the rational point input unit 10 which is a rational point input means, Fq nRational point P (xp, yp) ∈EtIn the self-quasi-mapping operation unit 20 which is a self-quasi-mapping operation means.q 2nIs α2+ α + c = 0 and σ1Fq 2n(X, y) ∈E abovetFrom (x, y + αx) ∈E and πqFqFrom (x, y) ∈E above to (xq, yq) ∈F to Frobenius map, and σ2Fq 2nFrom (x, y) ∈E to (x, y + αx) ∈EtΠq tFq 2n(X, y) ∈E abovetΣ1And transfer the image to the Frobenius map πqAnd then the image is mapped to σ2The rational point P (xp, yp) ∈EtMap of πq tImage (πq t) Calculate P. Then, in the scalar multiplication unit 30 which is a scalar multiplication unit, the rational point P (xp, yp) ∈EtThe Frobenius expansion formula (d0+ d1πq t+… + Dm -1 q t)m-1) P, an image (πq t) P was substituted and kP was calculated.
[0022]
  Where, as mentioned above, this mapping πq tTwisted elliptic curve EtThe upper point is twisted elliptic curve EtIt is a self-homomorphic map that is projected above. This map πq t((Πq t)2-wπq t+ q) Twist elliptic curve E to satisfy R = O (-2√q ≦ w ≦ 2√q)tThe scalar multiplication kP above is the mapping πq tAnd kP = (d0+ d1πq t+… + Dm -1 q)m-1) P and Frobenius can be developed. Therefore, the scalar multiplication operation kP in characteristic 2 is expressed by the expansion formula (d0+ d1πq t+… + Dm -1 q)m-1) This can be done only by replacing each element of P, and in general, the processing can be speeded up as compared with the case where computation is performed by addition or doubling on an elliptic curve.
[0023]
  In this embodiment, the self-similar mapping operation unit 20 performs the operation of Expression (3) to obtain a constant emAnd constant e calculated by the first constant calculator for all natural numbers j satisfying 1 ≦ j ≦ m−1.mCalculate the expression (6) usingq nRational point P (xp, yp) ∈EtMap of (πq t)jImage (πq t)jThe mapping operation unit 24 for calculating P is included. Further, the scalar multiplication unit 30 performs the Frobenius expansion of kP (d0+ d1πq t+… + Dm -1 q t)m-1) P constant di0 ≦ i ≦ m-1A constant calculation unit 32 which is a second constant calculation means for calculating the constant d and a constant d calculated by the constant calculation unit 32iAnd the image (πq t)jP and (d0+ d1πq t+… + Dm -1 q t)m-1) It is assumed that it has an unfolding type arithmetic unit 31 which is an unfolding type calculating means for calculating kP by calculating P. Therefore, the constant d calculated by the constant calculation unit 32i, And the image (πq t)jExpand P (d0+ d1πq t+… + Dm -1 q)m-1) Twist elliptic curve E in characteristic 2 just by substituting for each element to PtThe above scalar multiplication kP can be obtained at high speed.
[0024]
Further, the self-similar mapping operation unit 20 includes a constant operation unit 23 which is a third constant operation unit that calculates the constant h by the operation of Expression (4) before the processing by the map operation unit 24. The calculation unit 24 performs the calculation of Expression (5) using the constant h calculated by the constant calculation unit 23, and the image (πq t)jP was calculated. In this case, as shown in equation (5), (πq t)jThe computational cost of the map is Fq nThe above power of q is calculated 2j times (xp qJ times, yp qJ times), 1 multiplication, and 1 addition. And Fq nThe upper q power can generally be calculated at high speed. Therefore, (πq t)jThe calculation cost of the mapping is within the error range compared to addition on the elliptic curve, and the twisted elliptic curve E in characteristic 2tThe above scalar multiplication kP can be performed at higher speed.
[0025]
  Further, the second constant calculation unit 32 converts R into a twisted elliptic curve EtAny point above, ((πq t)2-w (πq t) + q) w satisfying R = O, parameter input unit 32a which is a parameter input means for receiving input of k and the number of elements q described above, variable z1Substituting k for the variable i1, Variable z2And all i2Variable di2Variable initialization unit 32c, which is a variable initialization means for substituting 0 for n, m ≦ i1If ≤2m-1 is satisfied, variable zThreeSubstituting the result of (x mod q) -q for d(i1 mod n)To d(i1 mod n)-zThreeSubstituting the operation result of m ≦ i1If ≤2m-1 is not satisfied, variable zThreeSubstituting the result of (x mod q) for d(i1 mod n)To d(i1 mod n)+ zThreeA variable substitution unit 32e which is a first variable substitution means for substituting the calculation result ofFour(Z1-zThree) / q and variable z1To wzFour+ z2Substituting z2To -zFourAnd i1I1A variable substitution unit 32g which is a second variable substitution means for substituting +1, and z1= z2Each di1The value of the constant diThe constant output unit 32h is a constant output unit that outputs as For this reason, the Frobenius expansion of kP (d0+ d1πq t+… + Dm -1 q t)m-1) P constant diCan be easily obtained, and the twisted elliptic curve E in characteristic 2tThe above scalar multiplication kP can be obtained at high speed.
[0026]
The present invention is not limited to the embodiment described above. For example, in this embodiment, a constant h is calculated using equation (4) in step S3, and the constant (h) is substituted into equation (5) to obtain an image (πq t)jP is calculated (step S4), but the constant h is not obtained, and the image (π is calculated only by the calculation of the equations (3) and (6).q t)jP may be calculated.
In this embodiment, the processing function of the elliptic curve scalar multiplication unit is realized by causing a computer to execute a predetermined program. However, at least a part of these processing functions is implemented by an electronic circuit. It may be realized as a hardware.
Further, as described in the above embodiment, the above processing functions can be realized by a computer. In this case, the processing contents of the functions that the elliptic curve scalar multiplication unit should have are described by a program, and the processing functions can be realized on the computer by executing the program on the computer.
[0027]
The program describing the processing contents can be recorded on a computer-readable recording medium. The computer-readable recording medium may be any medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, or a semiconductor memory. Specifically, for example, the magnetic recording device may be a hard disk device or a flexible Discs, magnetic tapes, etc. as optical disks, DVD (Digital Versatile Disc), DVD-RAM (Random Access Memory), CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), etc. As the magneto-optical recording medium, MO (Magneto-Optical disc) or the like can be used, and as the semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory) or the like can be used. The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
[0028]
A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good.
The program in the above is an instruction to the electronic computer, which is combined so that one result can be obtained, and other information that is used for processing by the electronic computer and conforms to the program. Is also included.
[0029]
【The invention's effect】
As described above, in the present invention, in the rational point input unit, FqIs a finite field with q elements and q = 2mWhere m is a natural number and FqThe elliptic curve E defined above is y2+ xy = xThree+ ax2+ b and F corresponding to this elliptic curve Eq nTwisted elliptic curve E defined abovetY2+ xy = xThree+ (a + c) x2+ b, n is a natural number, a, b∈FqAnd c is c∈Fq nAnd Fq nF in the case of non-square inq nRational point P (xp, yp) ∈EtAccepts input. Next, in the self-similar mapping unit, α∈Fq 2nIs α2+ α + c = 0 and σ1Fq 2n(X, y) ∈E abovetFrom (x, y + αx) ∈E and πqFqFrom (x, y) ∈E above to (xq, yq) ∈F to Frobenius map, and σ2Fq 2nFrom (x, y) ∈E to (x, y + αx) ∈EtΠq tFq 2n(X, y) ∈E abovetΣ1And transfer the image to the Frobenius map πqAnd then the image is mapped to σ2The rational point P (xp, yp) ∈EtMap of πq tImage (πq t) Calculate P. Then, the rational point P (xp, yp) ∈EtThe Frobenius expansion formula (d0+ d1πq t+… + Dmq t)m-1) P, the image calculated by the self-similar mapping unit (πq t) Substitute P and calculate kP.
[0030]
Where πq tIs the twist elliptic curve E in the case of characteristic 2tThe upper point is twisted elliptic curve EtThis is a self-homomorphic mapping that is projected above ((πq t)2-wπq t+ q) R = O (-2√q ≦ w ≦ 2√q). Therefore, twisted elliptic curve E in the case of characteristic 2tThe scalar multiplication kP above is kP = (d0+ d1πq t+… + Dmq)m-1) P and Frobenius expansion, and this scalar multiplication kP can be performed only by replacing each element. As a result, in the case of characteristic 2, the scalar multiplication on the twisted elliptic curve can be speeded up.
[Brief description of the drawings]
FIG. 1 is a functional block diagram illustrating the overall configuration of an elliptic curve scalar multiplication unit.
FIG. 2A is a block diagram illustrating a hardware configuration of an elliptic curve scalar multiplication unit 1 in this form, and FIG. 2B illustrates details of a functional configuration of a self-quasi-mapping unit FIG.
FIG. 3 is a diagram illustrating details of a functional configuration of a scalar multiplication unit.
FIG. 4 is a flowchart for explaining processing functions of an elliptic curve scalar multiplication unit.
[Explanation of symbols]
1 Scalar multiplication unit on elliptic curve
10 Rational point input part
20 Self-similar image calculator
30 scalar multiplication calculator

Claims (5)

Fqを要素数qの有限体とし、q=2mとし、mを自然数とし、Fq上で定義された楕円曲線Eをy2+xy=x3+ax2+bとし、この楕円曲線Eに対応してFq n上で定義されたツイスト楕円曲線Etをy2+xy=x3+(a+c)x2+bとし、nを自然数とし、a,b∈Fqとし、cをc∈Fq nであってFq nにおける非平方とした場合における、Fq n上の有理点P(xp,yp)∈Etの入力を受け付ける有理点入力手段と、
α∈Fq 2nがα2+α+c=0を満たすものとし、σ1をFq 2n上の(x,y)∈Etから(x,y+αx)∈Eへ移す写像とし、πqをFq上の(x,y)∈Eから(xq,yq)∈Eへ移すフロベニウス写像とし、σ2をFq 2n上の(x,y)∈Eから(x,y+αx)∈Etへ移す写像とし、πq tを、Fq 2n上の(x,y)∈Etを写像σ1によって移し、その像をフロベニウス写像πqによって移し、さらにその像を写像σ2によって移す写像とした場合における、前記有理点入力手段において入力された前記有理点P(xp,yp)∈Etの写像πq tによる像(πq t)Pを算出する自己準同写像演算手段と、
前記有理点入力手段において入力された前記有理点P(xp,yp)∈Etのk倍点であるkPのフロベニウス展開式(d0+d1πq t+…+dm-1 q t)m-1)Pに、前記自己準同写像演算手段によって算出された前記像(πq t)Pを代入し、kPを算出するスカラー倍演算手段と、
を有することを特徴とする楕円曲線上スカラー倍演算装置。
F q is a finite field with q elements, q = 2 m , m is a natural number, and elliptic curve E defined on F q is y 2 + xy = x 3 + ax 2 + b. the F q n on twisted elliptic curve E t which is defined by a y 2 + xy = x 3 + (a + c) x 2 + b corresponds to E, the n is a natural number, a, and B∈F q , in case of the non-square in F q n a c a c∈F q n, and rational point input means for receiving an input of F q n rational points on P (x p, y p) ∈E t,
Let α∈F q 2n satisfy α 2 + α + c = 0, and let σ 1 be a mapping that moves from (x, y) ∈E t to (x, y + αx) ∈E on F q 2n , Let π q be a Frobenius map that moves from (x, y) ∈ E on F q to (x q , y q ) ∈ E, and σ 2 from (x, y) ∈ E on F q 2n to (x, y + αx) ∈E t , and π q t is moved from (x, y) ∈E t on F q 2n by map σ 1 , the image is moved by Frobenius map π q , and the image When the mapping is shifted by the mapping σ 2 , the image (π q t ) P by the mapping π q t of the rational point P (x p , y p ) ∈E t input in the rational point input means is calculated A self-similar mapping operation means;
Frobenius expansion equation (d 0 + d 1 π q t +... + D m −1 ) of kP which is a k-fold point of the rational point P (x p , y p ) ∈E t inputted in the rational point input means Substituting the image (π q t ) P calculated by the self-quasi-mapping operation means into (π q t ) m-1 ) P, and a scalar multiplication operation means for calculating kP;
A scalar multiplication unit on an elliptic curve, comprising:
前記自己準同写像演算手段は、
Figure 0004184120
の演算を行って定数emを算出する第1の定数演算手段と、
1≦j≦m-1を満たす全ての自然数jについて、前記第1の定数演算手段によって算出された定数emを用いて
Figure 0004184120
の演算を行い、Fq n上の有理点P(xp,yp)∈Etの写像(πq t)jによる像(πq t)jPを算出する写像演算手段と、
を有する手段であり、
前記スカラー倍演算手段は、
kPのフロベニウス展開(d0+d1πq t+…+dm-1 q t)m-1)Pの各定数diを、0≦i≦m-1について算出する第2の定数演算手段と、
前記第2の定数演算手段において算出された定数diと、前記写像演算手段において算出された前記像(πq t)jPとを用い、(d0+d1πq t+…+dm-1 q t)m-1)Pの演算を行ってkPを算出する展開式演算手段と、
を有することを特徴とする請求項1記載の楕円曲線上スカラー倍演算装置。
The self-similar mapping operation means includes
Figure 0004184120
A first constant calculating means for calculating the constants e m by performing the calculation of the,
1 ≦ For j ≦ m-1 all natural numbers j satisfying, with constant e m calculated by the first constant calculating means
Figure 0004184120
A mapping operation means for calculating an image (π q t ) j P by a mapping (π q t ) j of a rational point P (x p , y p ) ∈E t on F q n ,
Means having
The scalar multiplication means is
Frobenius expansion of kP (d 0 + d 1 π q t +... + d m −1 q t ) m−1 ) Second constant d i for calculating P ≦ 0 ≦ i ≦ m −1 Constant arithmetic means;
Using the constant d i calculated by the second constant calculating means and the image (π q t ) j P calculated by the mapping calculating means, (d 0 + d 1 π q t +... + D m −1 q t ) m−1 ) P to calculate kP by calculating kP,
The scalar multiplication unit on an elliptic curve according to claim 1.
前記自己準同写像演算手段は、
前記写像演算手段による処理の前に、
Figure 0004184120
の演算によって定数hを算出する第3の定数演算手段をさらに有し、
前記写像演算手段は、
前記第3の定数演算手段によって算出された定数hを用いて
Figure 0004184120
の演算を行い、前記像(πq t)jPを算出する手段であること、
を特徴とする請求項2記載の楕円曲線上スカラー倍演算装置。
The self-similar mapping operation means includes
Before the processing by the map calculation means,
Figure 0004184120
A third constant calculating means for calculating the constant h by the calculation of
The mapping calculation means includes
Using the constant h calculated by the third constant calculating means
Figure 0004184120
A means for calculating the image (π q t ) j P
The scalar multiplication unit on an elliptic curve according to claim 2.
前記第2の定数演算手段は、
Rを前記ツイスト楕円曲線Et上の任意の点とし、Oを無限遠点とした場合における((πq t)2-w(πq t)+q)R=Oを満たすw、前記k、及び前記要素数qの入力を受け付けるパラメータ入力手段と、
変数z1に前記kを代入し、変数i1、変数z2、及びすべてのi2 (i 2 =0,1,...,m-1)の変数di2に0を代入する変数初期化手段と、
m≦i1≦2m-1を満たした場合、変数z3に(x mod q)-qの演算結果を代入し、nを((πq t)n+1)R=Oを満たす自然数とした場合における、d(i1 mod n)にd(i1 mod n)-z3の演算結果を代入し、m≦i1≦2m-1を満たさなかった場合、変数z3に(x mod q)の演算結果を代入し、d(i1 mod n)にd(i1 mod n)+z3の演算結果を代入する第1の変数代入手段と、
変数z4に(z1-z3)/qを代入し、変数z1にwz4+z2を代入し、z2に-z4を代入し、i1にi1+1を代入する第2の変数代入手段と、
z1=z2となった場合に、各di1の値を前記定数diとして出力する定数出力手段と、
を有することを特徴とする請求項2又は3の何れかに記載の楕円曲線上スカラー倍演算装置。
The second constant calculation means includes:
The R is an arbitrary point on the twisted elliptic curve E t, O point at infinity and in the case where ((π q t) 2 -w (π q t) + q) satisfies the R = O w, wherein k And parameter input means for receiving input of the number of elements q,
Substitute variable k 1 and assign 0 to variable i 1 , variable z 2 , and variable d i2 of all i 2 (i 2 = 0,1, ..., m-1) And
When m ≦ i 1 ≦ 2m−1 is satisfied, the calculation result of (x mod q) -q is substituted for variable z 3 and n is a natural number satisfying ((π q t ) n +1) R = O. in the case where, d (i1 mod n) to d (i1 mod n) by substituting the calculation results of the -z 3, when not satisfied m ≦ i 1 ≦ 2m-1 , the variable z 3 (x mod q) substituting the calculation results, a first variable assignment means for assigning the operation result of d (i1 mod n) + z 3 to d (i1 mod n),
Into the variable z 4 a (z 1 -z 3) / q , substitutes wz 4 + z 2 to the variable z 1, substitutes the -z 4 to z 2, substituting i 1 +1 to i 1 A second variable substitution means;
constant output means for outputting the value of each d i1 as the constant d i when z 1 = z 2 ;
The scalar multiplication unit on an elliptic curve according to claim 2, wherein:
請求項1から4何れかに記載された楕円曲線上スカラー倍演算装置としてコンピュータを機能させるためのプログラム。  A program for causing a computer to function as an elliptic curve scalar multiplication device according to any one of claims 1 to 4.
JP2003061083A 2003-03-07 2003-03-07 Oval curve scalar multiplication device and elliptic curve scalar multiplication program Expired - Fee Related JP4184120B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003061083A JP4184120B2 (en) 2003-03-07 2003-03-07 Oval curve scalar multiplication device and elliptic curve scalar multiplication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003061083A JP4184120B2 (en) 2003-03-07 2003-03-07 Oval curve scalar multiplication device and elliptic curve scalar multiplication program

Publications (2)

Publication Number Publication Date
JP2004271792A JP2004271792A (en) 2004-09-30
JP4184120B2 true JP4184120B2 (en) 2008-11-19

Family

ID=33123394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003061083A Expired - Fee Related JP4184120B2 (en) 2003-03-07 2003-03-07 Oval curve scalar multiplication device and elliptic curve scalar multiplication program

Country Status (1)

Country Link
JP (1) JP4184120B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4752176B2 (en) * 2003-09-11 2011-08-17 日本電信電話株式会社 Unidirectional function calculation method, apparatus and program
EP1993086B1 (en) * 2006-01-11 2012-09-05 Mitsubishi Electric Corporation Elliptical curve encryption parameter generation device, elliptical curve encryption calculation device, elliptical curve encryption parameter generation program, and elliptical curve encryption calculation program
JP4521503B2 (en) 2008-02-25 2010-08-11 国立大学法人 岡山大学 Scalar multiplication operation program and power multiplication operation program
EP2369568B1 (en) 2008-11-28 2016-08-31 National University Corporation Okayama University Scalar multiplier and scalar multiplication program
JP6228940B2 (en) * 2015-01-07 2017-11-08 日本電信電話株式会社 SAMPLE DEVICE, SAMPLE METHOD, AND PROGRAM

Also Published As

Publication number Publication date
JP2004271792A (en) 2004-09-30

Similar Documents

Publication Publication Date Title
JP2004279784A (en) Arithmetic unit on finite field and arithmetic program on finite field
EP0917047B1 (en) Apparatus for modular inversion for information security
US7486789B2 (en) Device and method for calculation on elliptic curve
JP2001526416A (en) Conversion method for optimization of elliptic curve encryption operation
KR20070076440A (en) Encryption processing apparatus, encryption processing method, and computer program
JP2006145945A (en) Encryption processing operation method, encryption processing apparatus and computer program
JP4184120B2 (en) Oval curve scalar multiplication device and elliptic curve scalar multiplication program
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
JP4690819B2 (en) Scalar multiplication calculation method and scalar multiplication calculation apparatus in elliptic curve cryptography
JP3833412B2 (en) Expression data generation apparatus and method in finite field operation
JP4922139B2 (en) Key sharing method, first device, second device, and program thereof
US20240171395A1 (en) Encryption method using fixed-base comb method
JP5038868B2 (en) Key sharing method, first device, second device, and program thereof
JP4692022B2 (en) Scalar multiplication apparatus and program for elliptic curve cryptography
JP4676873B2 (en) Parameter generating device, encryption key generating device, method and program thereof
JP3540852B2 (en)   Encryption method including exponentiation operation in encryption system and apparatus therefor
JP4861272B2 (en) Elliptic curve cryptographic operation apparatus, method, and program
JP2004177673A (en) Pairing ciphering device, pairing ciphering calculation program
KR100257124B1 (en) High-speed exponentiation method using common-multiplicand modular multiplication
JP4752176B2 (en) Unidirectional function calculation method, apparatus and program
Fan et al. Constructing hyperelliptic covers for elliptic curves over quadratic extension fields
JP4836676B2 (en) Prime number generator
US7337203B2 (en) Exponent calculation apparatus and method, and program
JP4629972B2 (en) Vector computing device, divided value computing device, elliptic curve scalar multiplication device, elliptic cryptography computing device, vector computing method, program, and computer-readable recording medium recording the program
JP2001194996A (en) Division device for polynomial

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050126

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080111

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

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

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130912

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees