JP6040052B2 - ペアリング演算装置、ペアリング演算方法、およびプログラム - Google Patents
ペアリング演算装置、ペアリング演算方法、およびプログラム Download PDFInfo
- Publication number
- JP6040052B2 JP6040052B2 JP2013035966A JP2013035966A JP6040052B2 JP 6040052 B2 JP6040052 B2 JP 6040052B2 JP 2013035966 A JP2013035966 A JP 2013035966A JP 2013035966 A JP2013035966 A JP 2013035966A JP 6040052 B2 JP6040052 B2 JP 6040052B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- value
- pairing
- finite field
- power
- 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.)
- Active
Links
Images
Description
<双線型性>任意のg∈G1,h∈G2および任意のa,b∈Frに対して、e(ag,bh)=e(g,h)abが成立する。
<非退化性>任意のg∈G1に対しe(g,y)=1Tであればy=12、同様に任意のh∈G2に対しe(x,h)=1Tであればx=11である。ここで、11,12,1TはそれぞれG1,G2,GTの単位元である。
<計算可能性>任意のg∈G1,h∈G2に対して、e(g,h)を多項式時間で計算可能である。
上付き添字はべき乗を表す。例えば、abはaのb乗である。
<基本的なアイデア>
定義体の標数が大きい素数pの場合、超特異楕円曲線(supersingular楕円曲線)には、定義体が素体の場合と拡大体の場合の二通りがある。定義体が素体の場合はηTペアリングあるいはAteペアリングを適用できても効果が全くなく、既存方法のTateペアリングとほぼ同等の計算時間である。定義体が拡大体の場合については、今のところ報告が知られていない。
楕円曲線Eb/Fqは埋込み次数kの値が3である。この楕円曲線のFq有理点がなす群の群位数r、有限体の位数q、そしてトレースと呼ばれる量tの間には、式(2)に示す関係がある。
ηTペアリングを適用するには有限体の埋込み次数kが偶数でなければならない。上述のように有限体Fq上の楕円曲線Eb/Fqは埋込み次数kが3であるためηTペアリングは適用できない。一方、Ateペアリングは埋込み次数に対する制限がないため、有限体Fq上の楕円曲線Eb/Fqに対して適用できる。また、AteペアリングはTateペアリングと比較して計算量が少なくなるためペアリング演算を高速にする効果がある。具体的には、Ateペアリングの計算量はTateペアリングの計算量の約半分と見積もられる。その理由は、ペアリングを計算する標準的なアルゴリズム「Millerのアルゴリズム」を用いたときに繰り返される特定の反復操作の回数が、rをペアリングの入出力の群の位数としてlog2(r)であるのに対し、Ateペアリングを適用したときの回数は、tをトレースと呼ばれる量としてlog2|t-1|となるからである。Millerのアルゴリズムについての詳細は「V.S. Miller, “Short programs for functions on curves”, [online], 1986, インターネット<URL:http://crypto.stanford.edu/miller/miller.pdf>(参考文献2)」または「V.S. Miller, “The Weil pairing and its efficient calculation”, Journal of Cryptology, Vol. 17, No. 4, pp. 235-261, 2004.(参考文献3)」を参照されたい。
(補題1:ディストーション写像の存在)uをu6=b-(p-1)であり、q3を位数とする有限体Fq^3内の解とする。このとき、式(4)は楕円曲線Eb上のディストーション写像ιを与える。
ペアリング高速計算に有用なテクニックである「分母消去」も実現可能である。通常ペアリングの実装で用いられる楕円曲線の多くは偶数の埋込み次数を持つが、この楕円曲線Rb/Fqは埋込み次数kが3であり、通常の分母消去をそのままでは用いることができない。しかし、Y2=X3+b型の楕円曲線の特性を利用した以下の方法を用いることが可能である。計算により直ちに示される以下の補題を用いる。
(補題2)Y2=X3+b型楕円曲線に対して以下の式(5)が成り立つ。ここで、xPは点Pのx座標、yPは点Pのy座標、xQは点Qのx座標、yQは点Qのy座標を表す。
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
図1を参照して、実施形態のペアリング演算装置1の構成例を説明する。ペアリング演算装置1は、制御部101、メモリ102、入力部11、Miller演算部12、べき乗演算部13、出力部14を有する。ペアリング演算装置1は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。ペアリング演算装置1は制御部101の制御のもとで各処理を実行する。ペアリング演算装置1に入力されたデータや各処理で得られたデータはメモリ102に格納され、メモリ102に格納されたデータは必要に応じて読み出されて他の処理に利用される。
この実施形態では以下の条件を満たさなければならない。
・有限体の標数pは6を法として5と合同な素数でなければならない。
・楕円曲線の式はE/b:Y2=X3+b型で、bは有限体Fp^2nの元でなければならない。
・ペアリング演算装置1への入力は、楕円曲線Eb上の2点P,Qである。点P,Qは、以下の条件を満たさなければならない。(1)点P,Qのx,y座標がp2nを位数とする有限体Fp^2nの元である。(2)点P,Qの位数がr’である。
・ペアリング演算装置1からの出力は、ペアリング値e(P,Q)である。具体的には、p6nを位数とする有限体Fp^6nの非ゼロの元であり、その乗法に関する位数がr’である。
図2を参照して、この実施形態のMillerのアルゴリズムの動作例を説明する。
(ステップS1-1)入力部11からMiller演算部12へ整数T=t-1、楕円曲線Eb上の有理点P,Q∈Eb(Fq)が入力される。ここでtはトレースである。
(ステップS1-2)点Qに上述の補題1を利用して点Pと交わりを持たない点Q’=ι(Q)∈Eb(Fq^3)を式(6)のように計算する。ここで、xQは点Qのx座標、yQは点Qのy座標を表す。
(ステップS1-4)Tを二進展開し式(7)を満たす値s0,…,sL-1を得る。ここで、LはTのビット長である。
(ステップS1-6)lV,Vに点Q’を代入した値を計算し値gとする。ここで、lV,Vは点Vの接線である。
(ステップS1-7)点Vの2倍点を計算し点Vとする。
(ステップS1-8)νV(Q’)=xP-xQの逆元を上記式(5)に従って計算し値hとする。ここで、νVは点Vを通る垂線である。補題2に示す通り式(5)の右辺の分母は後述の最終べき乗処理で1になるため、h=xP 2+xPxQ+xQ 2だけを計算すればよい。
(ステップS1-9)f2・g・hを計算し値fとする。
(ステップS1-10)si=1が成り立つか検証する。もしsi=1ならば(ステップS1-11)〜(ステップS1-14)を実行する。もしsi≠1ならば(ステップS1-15)へ進む。
(ステップS1-11)lV,Pに点Q’を代入した値を計算し値gとする。ここで、lV,Pは点V,Pを通る直線である。
(ステップS1-12)点Vに点Pを加え点Vとする。
(ステップS1-13)νV(Q’)=xP-xQの逆元を上記式(5)に従って計算し値hとする。ここで、νVは点Vを通る垂線である。(ステップS1-8)と同様に、ここでもh=xP 2+xPxQ+xQ 2だけを計算すればよい。
(ステップS1-14)f・g・hを計算し値fとする。
(ステップS1-15)i=i-1を実行する。
(ステップS1-16)i<0が成り立つか検証する。i<0ならば(ステップS1-17)へ進む。i≧0ならば(ステップS1-6)へ戻る。
(ステップS1-17)Miller演算部12はべき乗演算部13へ値fを出力する。
(ステップS1-1)入力部11からMiller演算部12へ楕円曲線Eb上の有理点P,Q∈Eb(Fq)が入力される。すなわち整数Tは入力されない。
(ステップS1-4)点P,Qの位数r’を二進展開し式(8)を満たす値s0,…,sK-1を得る。ここで、Kはr’のビット長である。
最終べき乗とは、Millerのアルゴリズムの出力fを(qk-1)/r’回乗じる処理である。上述の通り楕円曲線Eb/Fqの埋込次数kは3であるため、この実施形態では(q3-1)/r’乗を計算すればよい。rは楕円曲線EbのFq有理点の群位数、r’は楕円曲線Eb上の有理点P,Qの位数を表し、r=p2-p+1=cr’の関係が成り立つ。ここで、cは1以上の整数である。
(ステップS2-1)Miller演算部12の出力する値fがべき乗演算部13へ入力される。値fはq3を位数とする有限体Fq^3の元である。
(ステップS2-2)値fのp2乗フロベニウス写像ψp^2(f)を計算し値m1とする。
(ステップS2-3)値fの逆元m-1を計算し値m2とする。
(ステップS2-4)値m1と値m2を乗じ値uとする。
(ステップS2-5)値uのp2乗フロベニウス写像ψp^2(u)を計算し値u1とする。
(ステップS2-6)値uのp乗フロベニウス写像ψp(u)を計算し値u2とする。
(ステップS2-7)u1とu2とuを乗じ値νとする。
(ステップS2-8)べき乗演算部13はνcを点P,Qのペアリング値e(P,Q)として、出力部14を介して出力する。
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
11 入力部
12 Miller演算部
13 べき乗演算部
14 出力部
101 制御部
102 メモリ
Claims (7)
- ^はべき乗を表し、x・は点・のx座標であり、y・は点・のy座標であり、F・は・を位数とする有限体であり、pは6を法として5と合同な素数であり、nは1以上の整数であり、q=p2nであり、bは有限体Fqの元であり、Ebは有限体Fq上の一次項の係数が0であり定数項がbである楕円曲線であり、P:=(xP,yP),Q:=(xQ,yQ)は楕円曲線Eb上の点であり、点P,Qのx,y座標xP,yP,xQ,yQはいずれも有限体Fqの元であり、r’は点P,Qの位数であり、uは有限体Fq^3の元であり、u6=b-(p-1)であり、ιは点(x,y)を点(u2xp,u3yp)へ移す写像であり、
前記点Qを前記写像ιにより点Q’へ移し、xP 2+xPxQ’+xQ’ 2を計算しながら、値fを求めるMiller演算部と、
前記値fの(q3-1)/r’乗を計算して値e(P,Q)を出力するべき乗演算部と、
を有するペアリング演算装置。 - 請求項1に記載のペアリング演算装置であって、
rは前記楕円曲線Ebの有理点のなす群の群位数であり、cは1以上の整数であり、r=cr’であり、
前記べき乗演算部は、(q3-1)/r’を(p2n-1)とpのべき乗の加減算で表される項とcとの乗算に変形し、前記値e(P,Q)を計算する
ことを特徴とするペアリング演算装置。 - 請求項1から3のいずれかに記載のペアリング演算装置であって、
tはトレースであり、T=t-1であり、LはTのビット長であり、
前記Miller演算部は、前記点Qを前記写像ιにより点Q’へ移し、点Vに前記点Pを代入し、前記値fに1を代入し、前記Tを二進展開して値s0,…,sL-1を求め、i=L-2とし、点Vの接線に点Q’を代入した値をgとし、xP 2+xPxQ’+xQ’ 2をhとし、f2・g・hを計算して前記値fを更新し、si=1ならば、前記点Vと前記点Pを通る直線に前記Q’を代入した値で前記gを更新し、前記点Vに前記点Pを加えて前記点Vを更新し、xP 2+xPxQ’+xQ’ 2を計算して前記hを更新し、f・g・hを計算して前記値fを更新し、i-1を計算して前記iを更新し、i<0であれば前記値fを出力する
ことを特徴とするペアリング演算装置。 - 請求項1から3のいずれかに記載のペアリング演算装置であって、
Kは前記位数r’のビット長であり、
前記Miller演算部は、前記点Qを前記写像ιにより点Q’へ移し、点Vに前記点Pを代入し、前記値fに1を代入し、前記位数r’を二進展開して値s0,…,sK-1を求め、i=K-2とし、点Vの接線に点Q’を代入した値をgとし、xP 2+xPxQ’+xQ’ 2をhとし、f2・g・hを計算して前記値fを更新し、si=1ならば、前記点Vと前記点Pを通る直線に前記Q’を代入した値で前記gを更新し、前記点Vに前記点Pを加えて前記点Vを更新し、xP 2+xPxQ’+xQ’ 2を計算して前記hを更新し、f・g・hを計算して前記値fを更新し、i-1を計算して前記iを更新し、i<0であれば前記値fを出力する
ことを特徴とするペアリング演算装置。 - ^はべき乗を表し、x・は点・のx座標であり、y・は点・のy座標であり、F・は・を位数とする有限体であり、pは6を法として5と合同な素数であり、nは1以上の整数であり、q=p2nであり、bは有限体Fqの元であり、Ebは有限体Fq上の一次項の係数が0であり定数項がbである楕円曲線であり、P:=(xP,yP),Q:=(xQ,yQ)は楕円曲線Eb上の点であり、点P,Qのx,y座標xP,yP,xQ,yQはいずれも有限体Fqの元であり、r’は点P,Qの位数であり、uは有限体Fq^3の元であり、u6=b-(p-1)であり、ιは点(x,y)を点(u2xp,u3yp)へ移す写像であり、
Miller演算部が、前記点Qを前記写像ιにより点Q’へ移し、xP 2+xPxQ’+xQ’ 2を計算しながら、値fを求めるMiller演算ステップと、
べき乗演算部が、前記値fの(q3-1)/r’乗を計算して値e(P,Q)を出力するべき乗演算ステップと、
を含むペアリング演算方法。 - 請求項1から5のいずれかに記載のペアリング演算装置としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013035966A JP6040052B2 (ja) | 2013-02-26 | 2013-02-26 | ペアリング演算装置、ペアリング演算方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013035966A JP6040052B2 (ja) | 2013-02-26 | 2013-02-26 | ペアリング演算装置、ペアリング演算方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014164176A JP2014164176A (ja) | 2014-09-08 |
JP6040052B2 true JP6040052B2 (ja) | 2016-12-07 |
Family
ID=51614812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013035966A Active JP6040052B2 (ja) | 2013-02-26 | 2013-02-26 | ペアリング演算装置、ペアリング演算方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6040052B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6610277B2 (ja) * | 2016-01-15 | 2019-11-27 | 富士通株式会社 | 共有鍵生成プログラム、共有鍵生成方法および情報処理端末 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4970291B2 (ja) * | 2008-01-07 | 2012-07-04 | 株式会社東芝 | ペアリング計算装置及びプログラム |
JP5360836B2 (ja) * | 2008-08-29 | 2013-12-04 | 国立大学法人 岡山大学 | ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム |
JP5168649B2 (ja) * | 2008-09-03 | 2013-03-21 | 国立大学法人 岡山大学 | ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム |
JP5268066B2 (ja) * | 2009-01-16 | 2013-08-21 | 日本電信電話株式会社 | 変換演算装置、その方法、プログラム及び記録媒体 |
-
2013
- 2013-02-26 JP JP2013035966A patent/JP6040052B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014164176A (ja) | 2014-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Privacy-preserving machine learning with fully homomorphic encryption for deep neural network | |
JP6244728B2 (ja) | 情報処理方法及びプログラム | |
US7835517B2 (en) | Encryption processing apparatus, encryption processing method, and computer program | |
JP6621813B2 (ja) | 難読化された算術を実行するための電子計算装置 | |
CN101371285B (zh) | 加密处理装置、加密处理方法 | |
JP2001526416A (ja) | 楕円曲線暗号化演算の最適化用変換方法 | |
JP5852518B2 (ja) | 認証暗号化装置、認証復号装置、およびプログラム | |
JP6040052B2 (ja) | ペアリング演算装置、ペアリング演算方法、およびプログラム | |
Nath et al. | Security and efficiency trade-offs for elliptic curve Diffie–Hellman at the 128-bit and 224-bit security levels | |
Azarderakhsh et al. | Edsidh: Supersingular isogeny diffie-hellman key exchange on edwards curves | |
Gayoso Martínez et al. | Secure elliptic curves in cryptography | |
Al-Haija et al. | Cost-effective design for binary Edwards elliptic curves crypto-processor over GF (2N) using parallel multipliers and architectures | |
JP6067596B2 (ja) | ペアリング演算装置、マルチペアリング演算装置、プログラム | |
JP4599859B2 (ja) | 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム | |
JP5506633B2 (ja) | 代理計算システム、端末装置、代理計算装置、代理計算方法、及びプログラム | |
JP2006178125A (ja) | 楕円曲線テートペアリング演算方法及び装置 | |
Karati | Binary Kummer Line | |
JP6777569B2 (ja) | ペアリング演算装置、ペアリング演算方法、およびプログラム | |
JP4193176B2 (ja) | 楕円曲線整数倍演算装置、ならびにその装置を利用可能な鍵生成装置、暗号化装置および復号装置 | |
WO2022009384A1 (ja) | 最終べき計算装置、ペアリング演算装置、暗号処理装置、最終べき計算方法及び最終べき計算プログラム | |
Zahhafi et al. | New Variant of the GOST Digital Signature Protocol | |
JP6023728B2 (ja) | マルチペアリング演算装置、マルチペアリング演算方法、マルチペアリング演算プログラム | |
JP2010164796A (ja) | 変換演算装置、その方法、プログラム及び記録媒体 | |
Chen et al. | Omega pairing on hyperelliptic curves | |
Chen et al. | A CRS-based convolution algorithm for NTRUEncrypt |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160217 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20160217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20160217 |
|
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: 20161101 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6040052 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |