JP2006301513A - マルチペアリング演算方法、ペアリング比較方法、それらを用いた装置、およびプログラム - Google Patents

マルチペアリング演算方法、ペアリング比較方法、それらを用いた装置、およびプログラム Download PDF

Info

Publication number
JP2006301513A
JP2006301513A JP2005126573A JP2005126573A JP2006301513A JP 2006301513 A JP2006301513 A JP 2006301513A JP 2005126573 A JP2005126573 A JP 2005126573A JP 2005126573 A JP2005126573 A JP 2005126573A JP 2006301513 A JP2006301513 A JP 2006301513A
Authority
JP
Japan
Prior art keywords
pairing
unit
calculation
finite field
rational function
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.)
Granted
Application number
JP2005126573A
Other languages
English (en)
Other versions
JP4630117B2 (ja
Inventor
Tetsutaro Kobayashi
鉄太郎 小林
Kazumaro Aoki
和麻呂 青木
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 JP2005126573A priority Critical patent/JP4630117B2/ja
Publication of JP2006301513A publication Critical patent/JP2006301513A/ja
Application granted granted Critical
Publication of JP4630117B2 publication Critical patent/JP4630117B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】楕円曲線のマルチペアリングの演算量を少なくし、マルチペアリング方法およびペアリング比較方法の高速化を図る。
【解決手段】本発明は、複数の有限体GF(p)上の元の積Πe(P,Q)を出力するマルチペアリング演算方法に関する。(f)=m(P)−m(O)を満たす有理関数fに前記の入力の組(P,Q)を代入した結果をFとすると、本発明では、個別のFを求めることなく、divisor有理式の評価を行う演算でΠFを直接求める。
また、もう1つの発明は、ペアリングの結果e(P,Q)とe(P,Q)とが等しいかを判定するペアリング比較方法では、(P,Q)と(P,−Q)を入力とし、積e(P,Q)・e(P,−Q)を出力するマルチペアリング演算を行う。このマルチペアリング演算の結果と1とを比較することで、ペアリング結果が等しいことを確認する。
【選択図】図12

Description

本発明は、楕円曲線上の演算、特にセキュリティ技術を実現するための演算を利用した装置、方法、およびプログラムに関する。
楕円曲線のペアリングを用いたID-base暗号や短署名長デジタル署名を実現する方法が提案されている。楕円曲線のペアリングには、TateペアリングとWeilペアリングなどがある。
有限体GF(p)上で定義される楕円をE/GF(p)とする。楕円E/GF(p)上のGF(p)有理点をP(x、y)、楕円E/GF(p)上のGF(p)有理点をQ(x、y)とする。TateペアリングとWeilペアリングなどでは、(f)=m(P)−m(O)を満たす有理関数fに、(P,Q)を代入した結果を求める有理関数演算が利用される。この有理関数演算をdivisor有理式の評価を行う演算という。また、GF(p)の元のべき乗や乗算に、ほとんどの処理時間を費やしている。以下の説明では、高速演算が実現しやすいTateペアリングを中心に説明する。
Tateペアリングによる暗号や署名の概要を図1に示す。Tateペアリングでは、PとQを入力とし、Millerのアルゴリズムや修正Duursma-Leeのアルゴリズムなどのdivisor有理式の評価を行う演算によって、有限体GF(p)上の元fを出力し、さらにべき乗演算によってfを(p−1)/m乗することで有限体GF(p)上の元eへ写像し、出力する。ここで、pは素数または素数のべき乗、mは素数かつP、Q、eの位数、kはm|(p−1)を満足する最小の整数、mは(p−1)の約数ではない、かつpとmの最大公約数は1である。
図2はTateペアリングを用いたペアリング演算装置1000の機能構成例を示している。図1に示した処理を行うため、Millerアルゴリズムや修正Duursma-Leeのアルゴリズムなどを用いて、入力PとQを有限体GF(p)上の元fに変換して出力する有理関数演算装置10と、べき乗演算によって入力fを有限体GF(p)上の元eに写像して出力するべき乗演算装置20から構成されている。
Tateペアリングでの演算量のほとんどを占める有理関数演算装置10の代表的な例として、Millerのアルゴリズムを用いたMiller演算装置30の内部構成例を図3に示す。また、処理フロー例を図4に示す。Miller演算装置30は、制御部100、代入部200、楕円上点生成部400、楕円加算部500、入出力部600、GF(p)乗算部700、GF(p)逆元部850、および記録部190から構成される。制御部100は、以下に示す処理フローに沿った処理を実行するために他の構成部を制御する。また、記録部190はハードディスク等の不揮発性のメモリでもよいし、一連の計算を行う間だけ一時的に記録する揮発性のメモリでもよい。また、組み合わせてもよい。
入出力部600にm、P、Qが入力されると、m、P、Qを記録部190に記録する(S700)。次に代入部200で、TにPを、Fに1を代入し、記録部190に記録する(S710)。楕円上点生成部400で、S≠PかつS≠Qの条件を満足する有限体GF(p)上で定義される楕円上の点S(∈E/GF(p))を生成し、記録部190に記録する(S720)。Sは条件を満足する点であれば、あらかじめ定めてもいいし、ランダムに生成してもよい。楕円加算部500で、記録部190からQとSを読み取り、Q’(=Q+S)を計算し、記録部190に記録する(S730)。代入部200で、log(m)−1の小数点以下を切り上げた整数をnに代入し、記録部190に記録する(S740)。制御部100は、記録部190からnを読み取り、n<0か否かを確認し、Yesの場合にはステップS910に進み、Noの場合にはステップS760に進む(S750)。Yesの場合、入出力部600は、記録部190からFを読み取り、出力し(S910)、Millerアルゴリズムによる演算が終了する。Noの場合、楕円加算部500は、記録部190からTを読み取り、2Tを計算し、記録部190に記録する(S760)。GF(p)乗算部700は、Q’、S、T、2Tを記録部190から読み取り、l(x,y)=0をTと2Tとを結ぶ直線、l(x,y)=0を2TとOとを結ぶ直線として、l(Q’)、l(Q’)、l(S)、l(S)を計算し、記録部190に記録する(S770)。ただし、l(Q’)とは、Q’のx座標とy座標とを、l(x,y)に代入した値である。なお、Sを有限体GF(p)の元から選定すると(この場合、残りのk−1個の有限体GF(p)の元は0である。)、l(S)、l(S)の計算は省略でき、以降のステップでl(S)、l(S)を省略できる。次に、代入部200は、記録部190から2Tを読み取り、Tに2Tの値を代入し、Tを記録部190に記録する(S780)。GF(p)逆元部850で、記録部190からl(Q’)、l(S)を読み取り、l(Q’)−1、l(S)−1を計算し、記録部190に記録する(S790)。GF(p)乗算部700は、記録部190からF、l(Q’)、l(S)、l(Q’)−1、l(S)−1を読み取り、
Figure 2006301513
を計算し、Fの値として記録部190に記録する(S810)。制御部100は、記録部190からmとnを読み取り、mのn番目のビットが1かを確認し、Yesの場合にはステップS830へ進み、Noの場合にはステップS900へ進む(S820)。Yesの場合、楕円加算部500で、記録部190からT、Pを読み取り、T+Pを計算し、記録部190に記録する(S830)。GF(p)乗算部700は、Q’、S、T、P,T+Pを記録部190から読み取り、l(x,y)=0をTとPとを結ぶ直線、l(x,y)=0をT+PとOとを結ぶ直線とし、l(Q’)、l(Q’)、l(S)、l(S)を計算して、記録部190に記録する(S840)。代入部200は、記録部190からT+Pを読み取り、TにT+Pを代入し、Tを記録部190に記録する(S850)。GF(p)逆元部850は、記録部190からl(Q’)、l(S)を読み取り、l(Q’)−1、l(S)−1を計算し、記録部190に記録する(S860)。GF(p)乗算部700は、記録部190からF、l(Q’)、l(S)、l(Q’)−1、l(S)−1を読み取り、
Figure 2006301513
を計算し、Fの値として記録部190に記録する(S890)。ステップS820でNoと判断した場合とステップS890が終了した場合、代入部200は、記録部190からnを読み取り、n−1をnに代入し、nを記録部190に記録する(S900)。次にステップS750に戻り、ステップS750の判断がYesとなるまで処理が繰り返される。
なお、Millerのアルゴリズムでは、ステップS810とS880とが、演算量の多い処理である。以下では、ステップS810やS880のように、Fの値を用いて計算した結果をFに代入するステップを、「Fの更新演算」という。
有理関数演算装置10の代表的なもう1つの例として、修正Duursma-Leeのアルゴリズムを用いた修正Duursma-Lee演算装置40の内部構成例を図5に示す。また、その処理フロー例を図6に示す。修正Duursma-Lee演算装置40は、制御部110、代入部210、GF(p)乗算部310、GF(p)乗算部410、GF(p)べき乗演算部510、入出力部610、および記録部710から構成される。制御部110は、以下に示す処理フローに沿った処理を実行するために、他の構成部を制御する。また、記録部710はハードディスク等の不揮発性のメモリでもよいし、一連の計算を行う間だけ一時的に記録する揮発性のメモリでもよい。また、組み合わせてもよい。
修正Duursma-Leeでは、zは6との最大公約数が1となる正の整数、pは3、楕円曲線Eを表す式をy=x+aX+b、ただしbは±1とする。また、σは有限体GF(p)上の元であり、かつ有限体GF(p)上の2次既約多項式f(x)の根である。ρは有限体GF(p)上の元であり、かつ有限体GF(p)上の3次既約多項式g(x)の根である。σとρとは、前記の条件を満足する値であり、あらかじめ定めて記録部710に記録される。
入出力部610にz、P(x,y)、Q(x,y)が入力されると、z、P、Qを記録部710に記録する(S920)。次に代入部210で、nにz−1を、Fに1を、dにzbを代入し、記録部710に記録する。また、GF(p)べき乗演算部510では、記録部710からxとyを読み出し、x とy を計算し、代入部210でxにx を、yにy を代入し、記録部710に記録する(S930)。GF(p)乗算部310では、記録部710からxとyを読み出し、xP 9とyP 9が計算され、代入部210でxPにxP を、yPにyP を代入し、記録部710に記録する(S940)。次に制御部110では、記録部710からx,y,x,y,d,σを読み出し、μ=xP+x+d、γ=σyP−μを記録部710に記録する(S950)。GF(p)乗算部410では、記録部710からF,γ,μ,ρを読み出し、F(γ−μρ−ρ)を計算し、代入部210でFにF(γ−μρ−ρ)を代入し、記録部710に記録する(S960)。次に代入部210で、yに−yを、dにd−bを代入し、記録部710に記録する(S970)。さらに、代入部210でnにn−1を代入し、記録部710に記録する(S980)。n>0ならばステップS940に戻り、違う場合はステップS1000に進む(S990)。ステップS1000では、記録部710に記録されているFを出力する(S1000)。
なお、修正Duursma-Leeのアルゴリズムでは、ステップS960が、Fの更新演算であり、演算量が多い。
Millerのアルゴリズムの高速化に関しては特許文献1、修正Duursma-Leeのアルゴリズムに関しては非特許文献1などの提案がある。しかし、これらの提案は、単一のペアリング演算を高速化することを目的としている。したがって、複数のペアリング演算結果を乗じたもの(「マルチペアリング」という。)を求める場合には、それぞれのペアリング演算を行った上で、各ペアリング演算の結果を乗じなければならない。したがって、従来の方法では、次のような構成と手順となる。図7に従来のマルチTateペアリング演算装置2000の機能構成例を示す。また、処理フローを図8に示す。マルチTateペアリング演算装置2000は、Millerのアルゴリズムや修正Duursma-Leeのアルゴリズムなどの演算を行う有理関数演算装置10、べき乗演算装置20、および乗算装置25から構成される。マルチペアリングを行う対象である、複数の有限体GF(p)上の楕円曲線上の点Pと有限体GF(p)上の楕円曲線上の点Qとの組(P,Q)が、マルチTateペアリング演算装置に入力される(S1010)。ただし、i=1,…,I(Iは2以上の整数)とする。まずiに1を代入する(S1020)。有理関数演算装置10では個別の入力の組(P,Q)ごとに演算を行い(S1030)、演算結果をべき乗演算装置20でべき乗演算し、個々のペアリングe(P,Q)を得る(S1040)。この処理をI回行い(S1050、S1060)、乗算装置25でΠe(P,Q)を計算する(S1070)ことで、マルチペアリング結果が得られる。
特開2004-177673号公報 P.Barreto, H.Kim, B.Lynn and M.Scott, "Efficient Algorithm for Pairing-Based Cryptosystems," Advances in Cryptology - Crypto 2002, LNCS 2442, Springer-Verlag, pp.354-368 (2002).
楕円曲線のマルチペアリングの演算量を少なくし、マルチペアリング方法およびペアリング比較方法の高速化を図る。
本発明は、複数の有限体GF(p)上の楕円曲線上の点Pと有限体GF(p)上の楕円曲線上の点Qとの組(P,Q)を入力とし、有限体GF(p)上の元e(P,Q)の積Πe(P,Q)を出力するマルチペアリング演算方法に関する。ここで、pは素数または素数のべき乗、kは偶数、Iは2以上の整数、iは1からIの整数である。(f)=m(P)−m(O)を満たす有理関数fに前記の入力の組(P,Q)を代入した結果をFとすると、本発明では、個別のFを求めるのではなく、divisor有理式の評価を行う演算で直接ΠFを求める。この際に、i=1,…,Iで共通の演算を1回で行うことができる。また、マルチTateペアリングでは、前記のΠFにべき乗演算を行い、マルチペアリングの結果を得る。
さらに、もう1つの発明は、ペアリングの結果である有限体GF(p)上の2つの元e(P,Q)とe(P,Q)とが等しいかを判定するペアリング比較方法に関する。この発明では、(P,Q)と(P,−Q)を入力とし、積e(P,Q)・e(P,−Q)を出力するマルチペアリング演算を行い、前記マルチペアリング演算の結果と1とを比較することで、e(P,Q)とe(P,Q)とが等しいことを確認する。
本発明によれば、複数の楕円曲線上のペアリング演算結果を乗算する場合に、共通する演算であり、かつ演算量の多い演算を、まとめて行うことができる。また、マルチTateペアリングの場合には、個別にべき乗計算した後に乗算するのではなく、乗算した上でべき乗することができる。したがって、乗算に比べて演算量の多いべき乗計算の回数を少なくすることができ、演算量を大幅に削減することができる。
また、ペアリング結果を比較する場合には、前記のマルチペアリング演算方法を利用し、一方のペアリング結果の逆数とのマルチペアリング演算結果を1と比較することで、2つのペアリングが等しいことを確認できる。したがって、認証などで使用するペアリング結果の比較でも、演算量を大幅に削減することができる。
以下に本発明の実施形態を説明する。なお、説明の重複を避けるため、同一の機能を有する構成部には同じ番号を付して重複説明を省略する。
[第1実施形態]
図9に本発明のマルチTateペアリング演算装置の機能構成例を示す。また、その処理フローを図10に示す。マルチTateペアリング演算装置3000は、有理演算装置50とべき乗演算装置20から構成される。有理演算装置50は、Millerアルゴリズムや修正Duursma-Leeのアルゴリズムなどを用いて、複数の入力の組(P,Q)をΠFに変換する装置である。ただし、i=1,…,I(Iは2以上の整数)、Pは有限体GF(p)上の楕円曲線上の点、Qは有限体GF(p)上の楕円曲線上の点、FはMillerアルゴリズムや修正Duursma-Leeのアルゴリズムなどを用いてPとQとが変換される有限体GF(p)上の元である。従来技術では、有理演算装置10が個別のFを出力し、べき乗演算装置20がべき乗演算を行って個別のペアリング結果e(P,Q)を求め、その後で乗算装置25で乗算を行ってマルチペアリングΠe(P,Q)を求めた(図7,8参照)。一方、本発明では、P,Qが入力されると(S10)、有理演算装置50で個別のFを求めることなく、ΠFを出力し(S20)、べき乗演算装置20でΠFを((p−1)/m)乗して、マルチペアリングΠe(P,Q)を求める。
本発明の第1の特徴は、後述するdivisor有理式の評価を行う演算を行う有理演算装置50である。有理演算装置50では、個別のFを求めることなく、ΠFを求めることで演算量を削減している。この方法は、Tateペアリングに限らず、Weilペアリングなどの他のアルゴリズムでマルチペアリングを行う場合にも用いることができる。第2の特徴はTateペアリング特有の特徴であって、個別にFのべき乗演算するのではなく、ΠFに対してべき乗計算することである。言い換えると、Millerのアルゴリズムの場合には、Fを((p−1)/m)乗した後で乗算するのではなく、各Fを乗算した後で((p−1)/m)乗している。また、修正Duursma-Leeのアルゴリズムの場合には、Fを(p−1)乗した後で乗算するのではなく、各Fを乗算した後で(p−1)乗している。このことによって、演算量の多いべき乗計算を、I回から1回に削減できる。
以下に第1の特徴である有理関数演算装置50とステップS20の詳細について説明する。
図11に、有理関数演算装置50のアルゴリズムとして、Millerのアルゴリズムを用いたMiller演算装置60の機能構成例を示す。また、その処理フローを図12に示す。Miller演算装置60は、制御部101、代入部200、楕円上点生成部400、楕円加算部500、入出力部601、GF(p)乗算部700、GF(p)逆元部850、および記録部191から構成される。図3に示した従来のMiller演算装置30とは、制御部、入出力部と記録部が異なる。これは、処理フロー、入力データ、記録するデータが異なるためである。
入出力部601にm、P、Qが入力されると、m、P、Qを記録部191に記録する(S100)。楕円上点生成部400で、S≠PかつS≠Qの条件を満足する有限体GF(p)上で定義される楕円上の点S(∈E/GF(p))を生成し、記録部191に記録する(S110)。Sは条件を満足する点であれば、あらかじめ定めてもよいし、ランダムに生成してもよい。次に代入部200で、iに1を、Fに1を代入し、記録部191に記録する(S120)。また、代入部200で、TにPを代入し、記録部191に記録する(S130)。楕円加算部500では、記録部191からQとSを読み取り、Q’(=Q+S)を計算し、記録部191に記録する(S140)。ステップ130とステップ140の処理をi=1,…,Iに対して繰り返し行う(S150、S160)。代入部200で、log(m)−1の小数点以下を切り上げた整数をnに代入し、記録部191に記録する(S170)。制御部101は、記録部191からnを読み取り、n<0か否かを確認し、Yesの場合にはステップS370に進み、Noの場合にはステップS190に進む(S180)。Yesの場合、入出力部601は、記録部191からFを読み取り、出力し(S370)、Millerアルゴリズムによる演算が終了する。Noの場合、代入部200は、iに1を代入し、記録部191に記録する(S190)。楕円加算部500は、記録部191からTを読み取り、2Tを計算し、記録部191に記録する(S200)。GF(p)乗算部700は、Q’、S、T、2Tを記録部191から読み取り、l1i(x,y)=0をTと2Tとを結ぶ直線、l2i(x,y)=0を2TとOとを結ぶ直線として、l1i(Q’)、l2i(Q’)、l1i(S)、l2i(S)を計算し、記録部191に記録する(S210)。ただし、l1i(Q’)とは、Q’のx座標とy座標とを、l1i(x,y)に代入した値である。なお、Sを有限体GF(p)の元から選定すると(この場合、残りのk−1個の有限体GF(p)の元は0である。)、l1i(S)、l2i(S)の計算は省略でき、以降のステップでもl1i(S)、l2i(S)を省略できる。次に、代入部200は、記録部191から2Tを読み取り、Tに2Tの値を代入し、Tを記録部191に記録する(S220)。GF(p)逆元部850で、記録部191からl2i(Q’)、l1i(S)を読み取り、l2i(Q’)−1、l1i(S)−1を計算し、記録部191に記録する(S230)。ステップS200からS230までの処理をi=1,…,Iまで繰り返す(S240、S250)。なお、図12の処理フローでは、各iの値に対して、ステップS200からS230を行い、次のiの処理を行っている。しかし、ステップS200をI回繰り返した後、ステップS210をI回繰り返すように、各ステップをI回繰り返しながら処理を進めてもよい。GF(p)乗算部700は、記録部191からF、l1i(Q’)、l2i(S)、l2i(Q’)−1、l1i(S)−1を読み取り、
Figure 2006301513
を計算し、Fの値として記録部191に記録する(S260)。なお、本ステップがFの更新演算である。制御部101は、記録部191からmとnを読み取り、mのn番目のビットが1かを確認し、Yesの場合にはステップS280へ進み、Noの場合にはステップS360へ進む(S270)。Yesの場合、代入部200は、iに1を代入し、記録部191に記録する(S280)。楕円加算部500で、記録部191からT、Pを読み取り、T+Pを計算し、記録部191に記録する(S290)。GF(p)乗算部700は、Q’、S、T、P,T+Pを記録部191から読み取り、l1i(x,y)=0をTとPとを結ぶ直線、l2i(x,y)=0をT+PとOとを結ぶ直線とし、l1i(Q’)、l2i(Q’)、l1i(S)、l2i(S)を計算して、記録部191に記録する(S300)。代入部200は、記録部191からT+Pを読み取り、TにT+Pを代入し、Tを記録部191に記録する(S310)。GF(p)逆元部850は、記録部191からl2i(Q’)、l1i(S)を読み取り、l2i(Q’)−1、l1i(S)−1を計算し、記録部191に記録する(S320)。ステップS290からS320までの処理をi=1,…,Iまで繰り返す(S330、S340)。なお、図12の処理フローでは、各iの値に対して、ステップS290からS320を行い、次のiの処理を行っている。しかし、ステップS290をI回繰り返した後、ステップS300をI回繰り返すように、各ステップをI回繰り返しながら処理を進めてもよい。GF(p)乗算部700は、記録部191からF、l1i(Q’)、l2i(S)、l2i(Q’)−1、l1i(S)−1を読み取り、
Figure 2006301513
を計算し、Fの値として記録部191に記録する(S350)。なお、本ステップもFの更新演算である。ステップS270でNoと判断した場合とステップS350が終了した場合、代入部200は、記録部191からnを読み取り、n−1をnに代入し、nを記録部191に記録する(S360)。次にステップS180に戻り、ステップS180の判断がYesとなるまで処理が繰り返される。なお、出力されたFが、ΠFの値となっている。このように、Fの更新演算(ステップS260、S350)で、おのおののFを求めることなく、F(=ΠF)を求めることが特徴である。
I個の入力の組み(P,Q)を個別にMillerのアルゴリズムで演算した場合、図7、図8に示した従来の構成では、演算量の多いFの更新演算(図4のステップS810、S880)をnI回行うことになる。一方、本発明によれば、演算量の多いFの更新演算(図12のステップS260、S350)をn回行うだけでよい。したがって、演算量を大幅に削減することができる。
[変形例]
第1実施形態では、Millerのアルゴリズムを用いた場合を説明したが、変形例として、有理関数演算装置50に修正Duursma-Leeのアルゴリズムを用いた場合を以下に説明する。
図9の有理関数演算装置50の変わりに、図13の修正Duursma-Lee演算装置70を用いる。図14に修正Duursma-Lee演算装置70の処理フローを示す。修正Duursma-Lee演算装置70は、制御部111、代入部210、GF(p)乗算部310、GF(p)乗算部410、GF(p)べき乗演算部510、入出力部611、および記録部711から構成される。図5に示した修正Duursma-Lee演算装置40との違いは、制御部、入出力部、記録部である。これは、処理手順、入力データ、記録データが異なるためである。
従来技術と同様に、zは6との最大公約数が1となる正の整数、pは3、楕円曲線Eを表す式をy=x+aX+b、ただしbは±1である。また、σは有限体GF(p)上の元であり、かつ有限体GF(p)上の2次既約多項式f(x)の根である。ρは有限体GF(p)上の元であり、かつ有限体GF(p)上の3次既約多項式g(x)の根である。σとρとは、前記の条件を満足する値であり、あらかじめ定めて記録部711に記録される。
入出力部611にz、P(xPi,yPi)、Q(xQi,yQi)が入力されると、z、P、Qを記録部710に記録する(S400)。ただし、i=1,…,I(Iは2以上の整数)である。代入部210で、nにz−1を、Fに1を、dにzbを代入し、記録部711に記録する(S410)。次に代入部210で、iに1を代入し、記録部711に記録する(S420)。GF(p)べき乗演算部510では、記録部711からxQiとyQiを読み出し、xQi とyQi を計算し、代入部210でxQiにxQi を、yQiにyQi を代入し、記録部711に記録する(S430)。ステップS430は、iが1,…,Iまで繰り返す(S440、S450)。代入部210で、iに1を代入し、記録部711に記録する(S460)。GF(p)乗算部310では、記録部710からxPiとyPiを読み出し、xPi 9とyPi 9が計算され、代入部210でxPiにxPi を、yPiにyPi を代入し、記録部711に記録する(S470)。次に制御部111では、記録部711からxPi,yPi,xQi,yQi,d,σを読み出し、μ=xPi+xQi+d、γ=σyPiQi−μ とて記録部711に記録する(S480)。ステップS470とS480とは、i=1,…,Iまで繰り返す(S490、S500)。なお、図14の処理フローでは、各iの値に対して、ステップS470とS480を行い、次のiの処理を行っている。しかし、ステップS470をI回繰り返した後、ステップS480をI回繰り返してもよい。GF(p)乗算部410では、記録部711からF,γ,μ,ρを読み出し、FΠ(γ−μρ−ρ)を計算し、代入部210でFにFΠ(γ−μρ−ρ)を代入し、記録部711に記録する(S510)。なお、ステップS510が、Fの更新演算である。再度、代入部210で、iに1を代入し、記録部711に記録する(S520)。代入部210で、記録部711からyQiを読み出し、yQiに−yQiを代入し、記録部711に記録する(S530)。ステップS530は、i=1,…,Iまで繰り返す(S540、S550)。さらに、代入部210で、記録部711からd,b,nを読み出し、dにd−bを、nにn−1を代入し、記録部711に記録する(S560)。n>0ならばステップS460に戻り、違う場合はステップS580に進む(S570)。ステップS570では、入出力部611が、記録部711に記録されているFを出力する(S580)。なお、出力されたFが、ΠFの値となっている。このように、Fの更新演算(ステップS510)で、おのおののFを求めることなく、F(=ΠF)を求めることが特徴である。
I個の入力の組み(P,Q)を個別にMillerのアルゴリズムで演算した場合、図7、図8に示した従来の構成では、演算量の多いFの更新演算(図6のステップS960)をnI回行うことになる。一方、本発明によれば、演算量の多いFの更新演算(図14のステップS510)をn回行うだけでよい。したがって、演算量を大幅に削減することができる。
[第2実施形態]
第1実施形態では、マルチペアリング方法とその装置について説明したが、本実施形態では、第1実施形態で示したマルチペアリング装置を用いた応用例として、ペアリング比較装置を示す。図15にペアリング比較装置の構成例を、図16にその処理フローを示す。ペアリング比較装置4000は、マルチTateペアリング演算装置3000、入力生成装置3010、GF(p)比較装置3020から構成される。マルチTateペアリング演算装置3000は、図9に示したマルチTateペアリング演算装置3000である。
2つのペアリング結果e(P,Q)とe(P,Q)との比較を行う場合の処理フローを以下に示す。P,Q,P,Qをペアリング比較装置4000が受け取ると(S600)、入力生成装置3010が、−Qを求め、P,Q,P,−QをマルチTateペアリング演算装置3000に入力する(S610)。マルチTateペアリング演算装置3000では、e(P,Q)・e(P,−Q)を計算し、出力する(S620)。ここで、ペアリングの特性から、e(P,−Q)は、e(P,Q)の逆数となっている。したがって、e(P,Q)・e(P,−Q)が1に等しければ、e(P,Q)とe(P,Q)とは等しいことになる。そこで、GF(p)比較装置3020では、マルチTateペアリング演算装置3000が出力したe(P,Q)e(P,−Q)と1とを比較する(S630)。ペアリング比較装置4000は、ステップS630の結果が等しければ、e(P,Q)とe(P,Q)とは等しいことを出力し、等しくなければ、等しくないことを出力する。
このように、2つのペアリング結果が等しいか否かの確認方法としても、本発明のマルチペアリング方法が使用できる。したがって、2つのペアリングを比較するような認証装置内部に、本実施形態のペアリング比較装置を組み込むことで、演算量を削減することができる。
なお、本実施形態ではマルチTateペアリング演算装置を用いたペアリング比較装置を説明したが、マルチペアリング演算装置であれば、Weilペアリングなどの他のアルゴリズムを用いてもよい。
また、第1実施形態および第2実施形態で示した各装置は、読み取り可能な記録媒体に記録したプログラムを、コンピュータで読み取り、実行してもよい。
Tateペアリングによる暗号や署名の概要を示す図。 Tateペアリングを用いたペアリング演算装置の機能構成例を示す図。 従来のMiller演算装置の内部構成例を示す図。 従来のMiller演算装置の処理フローを示す図。 従来の修正Duursma-Lee演算装置の内部構成例を示す図。 従来の修正Duursma-Lee演算装置の処理フローを示す図。 従来のマルチTateペアリング演算装置の機能構成例を示す図。 従来のマルチTateペアリング演算装置の処理フローを示す図。 本発明のマルチTateペアリング演算装置の機能構成例を示す図。 本発明のマルチTateペアリング演算装置の処理フローを示す図。 本発明のMiller演算装置の内部構成例を示す図。 本発明のMiller演算装置の処理フローを示す図。 本発明の修正Duursma-Lee演算装置の内部構成例を示す図。 本発明の修正Duursma-Lee演算装置の処理フローを示す図。 本発明のペアリング比較装置の構成例を示す図。 本発明のペアリング比較装置の処理フローを示す図。

Claims (15)

  1. pは素数または素数のべき乗、kは偶数、Iは2以上の整数、iは1からIの整数、Pは有限体GF(p)上の楕円曲線上の点、Qは有限体GF(p)上の楕円曲線上の点、e(P,Q)はPとQのペアリング結果の有限体GF(p)上の元、Fは(f)=m(P)−m(O)を満たす有理関数fにPとQを代入した結果とするときに、
    入力が複数の組(P,Q)、出力がペアリング結果の積Πe(P,Q)であるマルチペアリング演算装置において、
    divisor有理式の評価を行う演算でΠFを計算することを特徴とし、繰り返し計算によって最終的なΠFを求める有理関数演算部
    を備えるマルチペアリング演算装置。
  2. 請求項1記載のマルチペアリング演算装置であって、
    前記有理関数演算部からの出力に対して、べき乗有限体演算を行うべき乗演算部
    を備えるマルチペアリング演算装置。
  3. 請求項2記載のマルチペアリング演算装置であって、
    Millerのアルゴリズムに従う処理を行うことを特徴とする前記有理関数演算部
    を備えるマルチペアリング演算装置。
  4. 請求項2記載のマルチペアリング演算装置であって、
    修正Duursma-Leeのアルゴリズムに従う処理を行うことを特徴とする前記有理関数演算部
    を備えるマルチペアリング演算装置。
  5. pは素数または素数のべき乗、kは偶数、iは1または2の整数、Pは有限体GF(p)上の楕円曲線上の点、Qは有限体GF(p)上の楕円曲線上の点、e(P,Q)はPとQのペアリング結果の有限体GF(p)上の元、Fは(f)=m(P)−m(O)を満たす有理関数fにPとQを代入した結果とするときに、
    (P1,Q)と(P,Q)を入力とし、ペアリング結果のe(P,Q)とe(P,Q)とが等しいかの判定結果を出力とするペアリング比較装置において、
    (P,Q)と(P,−Q)を入力とし、divisor有理式の評価を行う演算でF・Fを計算し、繰り返し計算によって最終的なF・Fを求める有理関数演算部を有し、積e(P,Q)・e(P,−Q)を出力するマルチペアリング演算部と、
    前記マルチペアリング演算部の出力と1とを比較するGF(p)比較部と
    を備えるペアリング比較装置。
  6. 請求項5記載のペアリング比較装置であって、
    前記有理関数演算部からの出力に対して、べき乗有限体演算を行うべき乗演算部を有することを特徴とする前記マルチペアリング演算部
    を備えるペアリング比較装置。
  7. 請求項6記載のペアリング比較装置であって、
    Millerのアルゴリズムに従う処理を行う前記有理関数演算部を、有することを特徴とする前記マルチペアリング演算部
    を備えるペアリング比較装置。
  8. 請求項6記載のペアリング比較装置であって、
    修正Duursma-Leeのアルゴリズムに従う処理を行う前記有理関数演算部を、有することを特徴とする前記マルチペアリング演算部
    を備えるペアリング比較装置。
  9. pは素数または素数のべき乗、kは偶数、Iは2以上の整数、iは1からIの整数、Pは有限体GF(p)上の楕円曲線上の点、Qは有限体GF(p)上の楕円曲線上の点、e(P,Q)はPとQのペアリング結果の有限体GF(p)上の元、Fは(f)=m(P)−m(O)を満たす有理関数fにPとQを代入した結果とするときに、
    複数の(P,Q)の組を入力とし、e(P,Q)の積Πe(P,Q)を出力するマルチペアリング演算方法において、
    有理関数演算部で、divisor有理式の評価を行う演算でΠFを計算し、繰り返し計算によって最終的なΠFを求める有理関数演算過程
    を含むことを特徴とするマルチペアリング演算方法。
  10. 請求項9記載のマルチペアリング演算方法であって、
    前記有理関数演算過程からの出力に対して、べき乗演算部で、べき乗有限体演算を行うべき乗有限体演算過程
    を含むことを特徴とするマルチペアリング演算方法。
  11. 請求項10記載のマルチペアリング演算方法であって、
    Millerのアルゴリズムに従う処理を行う前記有理関数演算過程
    を含むことを特徴とするマルチペアリング演算方法。
  12. 請求項10記載のマルチペアリング演算方法であって、
    修正Duursma-Leeのアルゴリズムに従う処理を行う前記有理関数演算過程
    を含むことを特徴とするマルチペアリング演算方法。
  13. pは素数または素数のべき乗、kは偶数、iは1または2の整数、Pは有限体GF(p)上の楕円曲線上の点、Qは有限体GF(p)上の楕円曲線上の点、e(P,Q)はPとQのペアリング結果の有限体GF(p)上の元、Fは(f)=m(P)−m(O)を満たす有理関数fにPとQを代入した結果とするときに、
    (P1,Q)と(P,Q)を入力とし、ペアリング結果のe(P,Q)とe(P,Q)とが等しいかを判定するペアリング比較方法において、
    マルチペアリング演算部で、(P,Q)と(P,−Q)を入力とし、divisor有理式の評価を行う演算でF・Fを計算し、繰り返し計算によって最終的なF・Fを求め、積e(P,Q)・e(P,−Q)を出力するマルチペアリング演算過程と、
    GF(p)比較部で、前記マルチペアリング演算過程の出力と1とを比較するGF(p)比較過程と
    を含むことを特徴とするペアリング比較方法。
  14. 請求項13記載のペアリング比較方法であって、
    前記有理関数演算過程からの出力に対して、べき乗演算部でべき乗有限体演算を行う前記マルチペアリング演算過程
    を含むことを特徴とするペアリング比較方法。
  15. 請求項1から8のいずれかに記載の装置をコンピュータにより実現するペアリングプログラム。
JP2005126573A 2005-04-25 2005-04-25 マルチペアリング演算方法、ペアリング比較方法、それらを用いた装置、およびプログラム Active JP4630117B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005126573A JP4630117B2 (ja) 2005-04-25 2005-04-25 マルチペアリング演算方法、ペアリング比較方法、それらを用いた装置、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005126573A JP4630117B2 (ja) 2005-04-25 2005-04-25 マルチペアリング演算方法、ペアリング比較方法、それらを用いた装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP2006301513A true JP2006301513A (ja) 2006-11-02
JP4630117B2 JP4630117B2 (ja) 2011-02-09

Family

ID=37469832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005126573A Active JP4630117B2 (ja) 2005-04-25 2005-04-25 マルチペアリング演算方法、ペアリング比較方法、それらを用いた装置、およびプログラム

Country Status (1)

Country Link
JP (1) JP4630117B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010123117A1 (ja) * 2009-04-24 2010-10-28 日本電信電話株式会社 有限体演算装置、有限体演算方法、プログラム及び記録媒体
CN102308326B (zh) * 2008-08-29 2014-08-13 国立大学法人冈山大学 配对运算装置、配对运算方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05150722A (ja) * 1991-11-27 1993-06-18 Matsushita Electric Ind Co Ltd べき積演算装置
JP2004177673A (ja) * 2002-11-27 2004-06-24 Fujitsu Ltd ペアリング暗号装置、ペアリング暗号演算プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05150722A (ja) * 1991-11-27 1993-06-18 Matsushita Electric Ind Co Ltd べき積演算装置
JP2004177673A (ja) * 2002-11-27 2004-06-24 Fujitsu Ltd ペアリング暗号装置、ペアリング暗号演算プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN7010002553, 小林鉄太郎,斉藤泰一,今井秀樹, ""Pairing演算の高速化"", 2004年暗号と情報セキュリティシンポジウム(SCIS2004)予稿集CD−ROM, 20040127, 2B2 計算手法・数理応用, 2B2−2, JP *
JPN7010002554, Iwan Duursma and Hyang−Sook Lee, ""Tate Pairing Implementation for Hyperelliptic Curves y^2 = x^p − x + d"", LNCS, 20031204, Vol.2894, p.111−123 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102308326B (zh) * 2008-08-29 2014-08-13 国立大学法人冈山大学 配对运算装置、配对运算方法
WO2010123117A1 (ja) * 2009-04-24 2010-10-28 日本電信電話株式会社 有限体演算装置、有限体演算方法、プログラム及び記録媒体
US8488780B2 (en) 2009-04-24 2013-07-16 Nippon Telegraph And Telephone Corporation Finite field calculation apparatus, finite field calculation method and recording medium
JP5269188B2 (ja) * 2009-04-24 2013-08-21 日本電信電話株式会社 有限体演算装置、有限体演算方法、プログラム及び記録媒体
KR101301139B1 (ko) 2009-04-24 2013-09-03 니뽄 덴신 덴와 가부시키가이샤 유한체 연산장치, 유한체 연산방법, 프로그램 및 기록매체

Also Published As

Publication number Publication date
JP4630117B2 (ja) 2011-02-09

Similar Documents

Publication Publication Date Title
CN101061526B (zh) 密码处理运算装置
US20010024501A1 (en) Method and apparatus for shuffle with proof, method and apparatus for shuffle verification, method and apparatus for generating input message sequence and program for same
US11373098B2 (en) Processing apparatus, learning apparatus, processing method, and nonvolatile recording medium
JP4630117B2 (ja) マルチペアリング演算方法、ペアリング比較方法、それらを用いた装置、およびプログラム
JP6916770B2 (ja) 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム
JPWO2006030496A1 (ja) 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム
CN112434269A (zh) 文件的零知识证明方法、验证方法、计算设备和存储介质
TWI784406B (zh) 採用迭代計算的模數運算電路
JP4960894B2 (ja) 楕円曲線の点圧縮装置、楕円曲線の点展開装置、それらの方法及びプログラム
JP7016457B2 (ja) 最終べき計算装置、ペアリング演算装置、暗号処理装置、最終べき計算方法及び最終べき計算プログラム
JP4644039B2 (ja) ペアリング演算方法、その方法を用いた装置およびプログラム
JP4580274B2 (ja) ペアリング演算装置、ペアリング演算方法、およびペアリング演算プログラム
JP4585372B2 (ja) ペアリング演算装置、ペアリング演算方法、およびペアリング演算プログラム
KR101707334B1 (ko) 효율적인 타원곡선 암호화 연산 장치 및 그 방법
CN117118637B (zh) 数据处理方法、装置、设备及计算机可读存储介质
JP3145368B2 (ja) 楕円曲線演算装置、演算方法及びその方法を実施するプログラムを記録した記録媒体
US7664258B2 (en) Randomized sparse formats for efficient and secure computation on elliptic curves
KR102595938B1 (ko) 다항식을 이용하여 데이터의 암복호화를 수행하는 암호화 시스템을 위한 다항식 역원 생성 장치 및 방법
KR102637234B1 (ko) 격자 기반 공개키 암호 시스템 및 이에 포함된 전자장치
US20240121076A1 (en) Apparatus and method with homomorphic encryption
JP4629972B2 (ja) ベクトル演算装置及び分割値演算装置及び楕円曲線スカラー倍演算装置及び楕円暗号演算装置及びベクトル演算方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2011095284A (ja) パラメータ設定装置、離散対数計算装置、事前計算装置、パラメータ設定方法、離散対数計算方法、事前計算方法、プログラム
JP3638493B2 (ja) 楕円曲線自乗演算装置、およびこのプログラム記録媒体
JP5596835B2 (ja) 離散対数計算装置、事前計算装置、離散対数計算方法、事前計算方法、プログラム
Yadav et al. Design of Modified RNS-PPA Based FIR Filter for High-Speed Application

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070323

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101014

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

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

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

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4630117

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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