Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6777569B2 - ペアリング演算装置、ペアリング演算方法、およびプログラム - Google Patents
[go: Go Back, main page]

JP6777569B2 - ペアリング演算装置、ペアリング演算方法、およびプログラム - Google Patents

ペアリング演算装置、ペアリング演算方法、およびプログラム Download PDF

Info

Publication number
JP6777569B2
JP6777569B2 JP2017044529A JP2017044529A JP6777569B2 JP 6777569 B2 JP6777569 B2 JP 6777569B2 JP 2017044529 A JP2017044529 A JP 2017044529A JP 2017044529 A JP2017044529 A JP 2017044529A JP 6777569 B2 JP6777569 B2 JP 6777569B2
Authority
JP
Japan
Prior art keywords
points
elliptic curve
point
order
pairing
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
Application number
JP2017044529A
Other languages
English (en)
Other versions
JP2018146903A (ja
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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017044529A priority Critical patent/JP6777569B2/ja
Publication of JP2018146903A publication Critical patent/JP2018146903A/ja
Application granted granted Critical
Publication of JP6777569B2 publication Critical patent/JP6777569B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、情報通信分野におけるペアリングを用いた暗号技術に関し、特に、ペアリングを効率的に演算する技術に関する。
近年、楕円曲線上のペアリングが持つ双線形性によって、IDベース暗号(非特許文献1参照)や属性ベース暗号(非特許文献2参照)、関数型暗号(非特許文献3参照)などの高機能な暗号方式が提案されている。このようなペアリングを用いた暗号方式は、ペアリング暗号とも呼ばれる。近年では、Apache Milagro (incubating)(非特許文献4参照)でのオープンソースソフトウェア(OSS: Open Source Software)による開発や、インターネット技術タスクフォース(IETF: Internet Engineering Task Force)による標準化(非特許文献5、6参照)など、ペアリング暗号を実社会で利用するための活動が行われている。
楕円曲線上のペアリングは、Millerによって提案されたミラーアルゴリズム(Miller's Algorithm、非特許文献7参照)を用いて演算することができる。ミラーアルゴリズムでは、楕円曲線上の二点を通る直線または一点を通る接線であるL関数を構成する必要がある。L関数を構成する方法としては、Affine座標系/Jacobian座標系を用いた楕円曲線上の二倍算/加算において、演算途中で計算される傾きを用いて構成する方法が知られている(非特許文献8参照)。Affine座標系では逆元算を用い、Jacobian座標系では逆元算を用いないことが特徴であるため、計算機の乗算と逆元算の演算時間の比に応じて、これらの座標系を使い分ける。Affine座標系/Jacobian座標系以外の座標系には、Compressed Jacobian座標系(非特許文献9参照)があるが、この座標系を用いてL関数を構成する方法は知られていない。
D. Boneh and M. Franklin, "Identity-Based Encryption from the Weil Pairing", CRYPTO 2001, LNCS 2139, pp. 213-229, 2001. A. Sahai and B. Waters, "Identity-Based Encryption", EUROCRYPT 2005, LNCS 3494, pp. 457-473, 2005. T. Okamoto and K. Takashima, "Fully secure functional encryption with general relations from the decisional linear assumption", CRYPTO 2010, LNCS 6223, pp. 191-208, 2010. Apache Software Foundation、"MILAGRO"、[online]、[平成29年2月22日検索]、インターネット<URL: https://milagro.apache.org/> RFC5091, "Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems", 2007. RFC6508, "Sakai-Kasahara Key Encryption (SAKKE)", 2012. V. S. Miller, "The Weil Pairing, and Its Efficient Calculation", Journal of Cryptology, vol. 17, pp. 235-261, 2004. S. Chatterjee, P. Sarkar and R. Barua, "Efficient Computation of Tate Pairing in Projective Coordinate over General Characteristic Fields", ICISC 2004, LNCS 3506, pp. 168-181, 2005. F. Hoshino, T. Kobayashi and K. Aoki, "Compressed Jacobian Coordinates for OEF", VIETCRYPT 2006, LNCS 4341, pp. 147-156, 2006.
ペアリング暗号を実際のシステムとして実現するためには、ペアリング演算を効率的に行うことが重要である。計算機の性能によっては、Compressed Jacobian座標系を用いた楕円曲線上の二倍算/加算が他の座標系よりも高速に演算できる場合がある。しかしながら、Compressed Jacobian座標系を用いてペアリング演算に必要なL関数を構成する方法は知られていなかった。
この発明の目的は、上記のような点に鑑みて、Compressed Jacobian座標系を用いてペアリング演算に必要なL関数を構成し、効率的にペアリングを演算することができる技術を実現することである。
上記の課題を解決するために、この発明のペアリング演算装置は、p, rを素数とし、kを埋め込み次数とし、dを正の整数とし、Eを楕円曲線とし、Fpを位数pの有限体とし、Fp^(k/d)を位数pk/dの有限体とし、Fp^kを位数pkの有限体とし、G1を楕円曲線E(Fp)上の位数rの部分群とし、G2を楕円曲線E(Fp^(k/d))上の位数rの部分群とし、G3を有限体Fp^k上の位数rの部分群とし、eをG1×G2→G3のペアリングとし、ECDBLを楕円曲線上の一点を入力とし、当該点を楕円曲線上で二倍算した点、および、楕円曲線上の二倍算を演算する過程で計算される値Λn∈Fp^(k/d), λd∈Fpを出力とする、Compressed Jacobian座標系を用いて楕円曲線上の二倍算を演算するアルゴリズムとし、ECADDを楕円曲線上の二点を入力とし、当該二点を楕円曲線上で加算した点、および、楕円曲線上の加算を演算する過程で計算される値Λn∈Fp^(k/d), λd∈Fpを出力とする、Compressed Jacobian座標系を用いて楕円曲線上の加算を演算するアルゴリズムとし、楕円曲線E(Fp)上の点P=(xP, yP)と楕円曲線E(Fp^(k/d))上の点Q=(XQ, YQ)とのペアリングe(P, Q)を演算するペアリング演算装置であって、値fに1を、点(X1, Y1, Z1)に点(XQ, YQ, 1)を代入する初期化部と、点(X1, Y1, Z1)を入力としてアルゴリズムECDBLを演算し、点(X1, Y1, Z1)を楕円曲線E上で二倍算した点(X3, Y3, Z3)および値Λn, λdを得る楕円二倍算部と、値f, Λn, λd, Z3, 点(xP, yP), (X1, Y1, Z1)を用いて、L←yPZ1 2Z3+(-xPΛnZ1 2+(ΛnX1-Y1λd)), f←f2・Lを演算し、点(X3, Y3, Z3)を点(X1, Y1, Z1)に代入する二倍算部と、点(X1, Y1, Z1), (XQ, YQ, 1)を入力としてアルゴリズムECADDを演算し、点(X1, Y1, Z1)と点(XQ, YQ, 1)とを楕円曲線E上で加算した点(X3, Y3, Z3)および上記値Λn, λdを得る楕円加算部と、値f, Λn, Z3, 点(xP, yP), (XQ, YQ, 1)を用いて、L←yPZ3+(-xPΛn+(ΛnXQ-YQZ3)), f←f・Lを演算し、点(X3, Y3, Z3)を点(X1, Y1, Z1)に代入する加算部と、f(p^k-1)/rを演算する最終冪演算部と、を含む。
この発明によれば、Compressed Jacobian座標系を用いてペアリング演算に必要なL関数を構成し、効率的にペアリングを演算することができる。
図1は、ペアリング演算装置の機能構成を例示する図である。 図2は、ペアリング演算方法の処理手続きを例示する図である。
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
本明細書中で使用する、上付き添え字または下付き添え字の中で使用する記号「^」は、直後の文字を上付き添え字とすることを表す。例えば、f(p^k-1)/rは、fを(pk-1)/r乗することを表している。数式中においてはこれらの記号は本来の記法、すなわち上付き添え字の中での上付き添え字で記述する。例えば、f(p^k-1)/rは、次式のように記述する。
Figure 0006777569
[準備]
実施形態の説明の前に、本明細書で用いる用語の概要を説明する。
<ペアリング>
p, rを素数とする。kを埋め込み次数とする。dを正の整数とする。Eを楕円曲線とする。Fpを位数pの有限体とする。Fp^(k/d)を位数pk/dの有限体とする。Fp^kを位数pkの有限体とする。G1を楕円曲線E(Fp)上の位数rの部分群とする。G2を楕円曲線E(Fp^(k/d))上の位数rの部分群とする。G3を有限体Fp^k上の位数rの部分群とする。fr,Qを有理関数とする。
群G1, G2, G3に対して、ペアリングeを次のように定義する。
Figure 0006777569
<ミラーアルゴリズム>
上記の有理関数fr,Qは、上記非特許文献7に記載されているミラーアルゴリズムを用いて演算することができる。ミラーアルゴリズムをAlgorithm 1に示す。
Figure 0006777569
ミラーアルゴリズムのステップ3では、楕円曲線上の二倍算を演算する。ミラーアルゴリズムのステップ7では、楕円曲線上の加算を演算する。上述のとおり、楕円曲線上の演算を行う座標系には、Affine座標系、Jacobian座標系、Compressed Jacobian座標系の3つが知られている。以下、各座標系について説明する。なお、mはある正の整数である。
<Affine座標系>
Affine座標系は、下記参考文献1の79-82ページに詳しく記載されている。有限体Fp^m上で定義されるAffine座標系における楕円曲線EAは、4a3+27b2≠0を満たすa, b∈Fp^mに対して、式(1)のとおり表現できる。
Figure 0006777569
楕円曲線EA上の点は、(x, y)∈Fp^m×Fp^mと表現できる。Affine座標系では、この表現を用いて楕円曲線EA上の二倍算/加算を行う。
〔参考文献1〕D. R. Hankerson, A. J. Menezes and S. A. Vanstone, "Guide to Elliptic Curve Cryptography", Springer, 2004.
<Jacobian座標系>
Jacobian座標系は、上記参考文献1の86-89ページに詳しく記載されている。有限体Fp^m上で定義されるJacobian座標系における楕円曲線EJは、X∈Fp^m, Y∈Fp^m, Z∈Fp^mに対して、上記式(1)を(x, y)=(X/Z2, Y/Z3)と置き換えることで、式(2)のとおり表現できる。
Figure 0006777569
楕円曲線EJ上の点は、(X, Y, Z)∈Fp^m×Fp^m×Fp^mと表現できる。Jacobian座標系では、この表現を用いて楕円曲線EJ上の二倍算/加算を行う。
<Compressed Jacobian座標系>
Compressed Jacobian座標系は、上記非特許文献9に詳しく記載されている。有限体Fp^m上で定義されるCompressed Jacobian座標系における楕円曲線EcomJは、X∈Fp^m, Y∈Fp^m, z∈Fpに対して、上記式(1)を(x, y)=(X/z2, Y/z3)と置き換えることで、式(3)のとおり表現できる。
Figure 0006777569
楕円曲線EcomJ上の点は、(X, Y, z)∈Fp^m×Fp^m×Fpと表現できる。Compressed Jacobian座標系では、この表現を用いて楕円曲線EcomJ上の二倍算/加算を行う。
<L関数>
ミラーアルゴリズムのステップ4およびステップ8で用いられるL関数(LT,T(P), LT,Q(P))は、P=(xP, yP)∈G1, T=(xT, yT)∈G2, T'=(xT', yT')∈G2を通る直線の傾きλ∈Fp^mに対して、式(4)のとおり表現できる。
Figure 0006777569
L関数を演算するためには、ミラーアルゴリズムのステップ3およびステップ7で楕円曲線上の二倍算/加算を演算する中で計算される値λを用いる。Affine座標系、Jacobian座標系を用いた効率的なL関数の構成方法は知られているが、Compressed Jacobian座標系を用いた効率的なL関数の構成方法は知られていない。
<本発明によるミラーアルゴリズム>
本発明によるCompressed Jacobian座標系を用いる楕円曲線上の二倍算/加算を用いたミラーアルゴリズムをAlgorithm 2に示す。
Figure 0006777569
ステップ3で実行するECDBLは、非特許文献9において提案されている、Compressed Jacobian座標系を用いて楕円曲線上の二倍算を演算するアルゴリズムである。アルゴリズムECDBLは、楕円曲線E上の一点を入力とし、当該点を楕円曲線E上で二倍した点、および、楕円曲線E上の二倍算を演算する過程で計算される値Λn∈Fp^(k/d), λd∈Fpを出力する。
ステップ7で実行するECADDは、非特許文献9において提案されている、Compressed Jacobian座標系を用いて楕円曲線上の加算を演算するアルゴリズムである。アルゴリズムECADDは、楕円曲線E上の二点を入力とし、当該二点を楕円曲線E上で加算した点、および、楕円曲線E上の加算を演算する過程で計算される値Λn∈Fp^(k/d), λd∈Fpを出力する。
ステップ4で実行するDBLは、値fと、ECDBLの出力する値Λn, λdと、点P(xP, yP), 点(X1, Y1, Z1)と、点(X3, Y3, Z3)のZ座標である値Z3とを入力とし、更新された値fを出力する。アルゴリズムDBLをAlgorithm 3に示す。
Figure 0006777569
ステップ8で実行するADDは、値fと、ECADDの出力する値Λnと、点P(xP, yP), 点(XQ, YQ, 1)と、点(X3, Y3, Z3)のZ座標である値Z3とを入力とし、更新された値fを出力する。アルゴリズムADDをAlgorithm 4に示す。
Figure 0006777569
[実施形態]
実施形態のペアリング演算装置10は、図1に示すように、入力部1、初期化部2、ECDBL演算部3(楕円二倍算部とも呼ぶ)、DBL演算部4(二倍算部とも呼ぶ)、ECADD演算部5(楕円加算部とも呼ぶ)、ADD演算部6(加算部とも呼ぶ)、最終冪演算部7、および出力部8を備える。このペアリング演算装置10が後述する各ステップの処理を行うことにより実施形態のペアリング演算方法が実現される。
ペアリング演算装置10は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。ペアリング演算装置10は、例えば、中央演算処理装置の制御のもとで各処理を実行する。ペアリング演算装置10に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、ペアリング演算装置10の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
図2を参照して、実施形態のペアリング演算方法の処理手続きを説明する。
ステップS1において、入力部1へ楕円曲線E上の二点P=(xP, yP)∈G1, Q=(XQ, YQ)∈G2、および群G1, G2の位数である素数rが入力される。なお、位数rは、式(5)に示すように、二進表現で入力されるものとする。
Figure 0006777569
ステップS2において、初期化部2は、値fに1を代入し、Compressed Jacobian座標系の点(X1, Y1, Z1)に点(XQ, YQ, 1)を代入する。また、インデックスjをn-2に初期化する。nは、式(5)に示すとおり、位数rを二進表現とした際の桁数である。
ステップS3において、ECDBL演算部3は、点(X1, Y1, Z1)を入力としてアルゴリズムECDBLを演算し、点(X1, Y1, Z1)を楕円曲線E上で二倍算した点(X3, Y3, Z3)、および、楕円曲線上の二倍算を演算する過程で計算される値Λn, λdを得る。
ステップS4において、DBL演算部4は、値f, Λn, λd, 点P(xP, yP), (X1, Y1, Z1), および点(X3, Y3, Z3)のZ座標である値Z3を入力としてアルゴリズムDBLを演算し、値fを更新する。また、DBL演算部4は、点(X3, Y3, Z3)を点(X1, Y1, Z1)に代入する。
ステップS5において、rjが1と等しいか否かを判定する。rj=1の場合(YES)、ステップS6、S7を実行する。rj≠1の場合(NO)、ステップS6、S7を実行せず、ステップS8へ処理を進める。
ステップS6において、ECADD演算部5は、点(X1, Y1, Z1), (XQ, YQ, 1)を入力としてアルゴリズムECADDを演算し、点(X1, Y1, Z1)と点(XQ, YQ, 1)とを楕円曲線E上で加算した点(X3, Y3, Z3)、および、楕円曲線上の加算を演算する過程で計算される値Λn, λdを得る。
ステップS7において、ADD演算部6は、値f, Λn, 点P(xP, yP), (XQ, YQ, 1), および点(X3, Y3, Z3)のZ座標である値Z3を入力としてアルゴリズムADDを演算し、値fを更新する。また、ADD演算部6は、点(X3, Y3, Z3)を点(X1, Y1, Z1)に代入する。
ステップS8において、インデックスjが0を超えているか否かを判定する。j>0の場合(YES)、ステップS9においてj←j-1を計算し、すなわち、インデックスjをデクリメントし、ステップS3〜S8の処理を再度実行する。j≦0の場合(NO)、ステップS10へ処理を進める。
ステップS10において、最終冪演算部7は、式(6)を計算し、ペアリング演算結果e(P, Q)を得る。
Figure 0006777569
ステップS11において、出力部8は、ペアリング演算結果e(P, Q)を出力する。
[実験結果]
本発明の効果を実証するために、従来のミラーアルゴリズム(Algorithm 1)を用いたときの演算コストと、本発明によるミラーアルゴリズム(Algorithm 2)を用いたときの演算コストを比較した。以下では、Mを乗算の演算時間、Sを二倍算の演算時間、Iを逆元算の演算時間として、S=M, I=8Mとなる計算機を用いて、下記参考文献2に記載されたパラメータを用いてペアリングを演算する場合の高速化率を説明する。
〔参考文献2〕D. Aranha, K. Karabina, P. Longa, C. Gebotys and J. Lopez, "Faster Explicit Formulas for Computing Pairings over Ordinary Curves," EUROCRYPT 2011, LNCS 6632, pp. 48-68, 2011.
参考文献2に記載されたパラメータは、以下のとおりである。
Figure 0006777569
このとき、ω=|6z+2|とし、ある関数gに対するペアリングは、以下のように表される。
Figure 0006777569
なお、上述のミラーアルゴリズムではrを入力としてrを二進表現とした際の桁数だけループしていたが、この実験ではループ回数をωに削減する一般的なテクニックを用いた。このテクニックは従来のミラーアルゴリズムでも本発明のミラーアルゴリズムでも同様に適用できるため、実験結果へは影響しない。
Jacobian座標系で従来のミラーアルゴリズム(Algorithm 1)を用いてfω,Q(P)を演算すると、7164Mの演算時間が必要であった(Mは乗算一回の演算時間)。本発明によるミラーアルゴリズム(Algorithm 2)を用いてfω,Q(P)を演算すると、6940Mの演算時間が必要であった。したがって、本発明によるミラーアルゴリズムを用いると、演算時間を3.2%削減できることがわかった。
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[プログラム、記録媒体]
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
10 ペアリング演算装置
1 入力部
2 初期化部
3 ECDBL演算部
4 DBL演算部
5 ECADD演算部
6 ADD演算部
7 最終冪演算部
8 出力部

Claims (3)

  1. p, rを素数とし、kを埋め込み次数とし、dを正の整数とし、Eを楕円曲線とし、Fpを位数pの有限体とし、Fp^(k/d)を位数pk/dの有限体とし、Fp^kを位数pkの有限体とし、G1を楕円曲線E(Fp)上の位数rの部分群とし、G2を楕円曲線E(Fp^(k/d))上の位数rの部分群とし、G3を有限体Fp^k上の位数rの部分群とし、eをG1×G2→G3のペアリングとし、nを位数rを二進表現とした際の桁数とし、r 0 , …, r n-1 を位数rを二進表現にしたときの各桁の値とし、
    ECDBLを楕円曲線上の一点を入力とし、当該点を楕円曲線上で二倍算した点、および、値Λn∈Fp^(k/d), λd∈Fpを出力とする、Compressed Jacobian座標系を用いて楕円曲線上の二倍算を演算するアルゴリズムとし、
    ECADDを楕円曲線上の二点を入力とし、当該二点を楕円曲線上で加算した点、および、値Λn∈Fp^(k/d), λd∈Fpを出力とする、Compressed Jacobian座標系を用いて楕円曲線上の加算を演算するアルゴリズムとし、
    楕円曲線E(Fp)上の点P=(xP, yP)と楕円曲線E(Fp^(k/d))上の点Q=(XQ, YQ)とのペアリングe(P, Q)を演算するペアリング演算装置であって、
    値fに1を、点(X1, Y1, Z1)に点(XQ, YQ, 1)を代入する初期化部と、
    点(X1, Y1, Z1)を入力として上記アルゴリズムECDBLを演算し、点(X1, Y1, Z1)を楕円曲線E上で二倍算した点(X3, Y3, Z3)および上記値Λn, λdを得る楕円二倍算部と、
    上記値f, Λn, λd, Z3, 点(xP, yP), (X1, Y1, Z1)を用いて、L DBL ←yPZ1 2Z3+(-xPΛnZ1 2+(ΛnX1-Y1λd)), f←f2・L DBL を演算し、点(X3, Y3, Z3)を点(X1, Y1, Z1)に代入する二倍算部と、
    点(X1, Y1, Z1), (XQ, YQ, 1)を入力として上記アルゴリズムECADDを演算し、点(X1, Y1, Z1)と点(XQ, YQ, 1)とを楕円曲線E上で加算した点(X3, Y3, Z3)および上記値Λn, λdを得る楕円加算部と、
    上記値f, Λn, Z3, 点(xP, yP), (XQ, YQ, 1)を用いて、L ADD ←yPZ3+(-xPΛn+(ΛnXQ-YQZ3)), f←f・L ADD を演算し、点(X3, Y3, Z3)を点(X1, Y1, Z1)に代入する加算部と、
    f(p^k-1)/rを演算する最終冪演算部と、
    を含み、
    n-2から0までの各整数jについて、r j =1のときは、上記楕円二倍算部と上記二倍算部と上記楕円加算部と上記加算部とを実行し、それ以外のときは、上記楕円二倍算部と上記二倍算部とを実行する、
    ペアリング演算装置。
  2. p, rを素数とし、kを埋め込み次数とし、dを正の整数とし、Eを楕円曲線とし、Fpを位数pの有限体とし、Fp^(k/d)を位数pk/dの有限体とし、Fp^kを位数pkの有限体とし、G1を楕円曲線E(Fp)上の位数rの部分群とし、G2を楕円曲線E(Fp^(k/d))上の位数rの部分群とし、G3を有限体Fp^k上の位数rの部分群とし、eをG1×G2→G3のペアリングとし、nを位数rを二進表現とした際の桁数とし、r 0 , …, r n-1 を位数rを二進表現にしたときの各桁の値とし、
    ECDBLを楕円曲線上の一点を入力とし、当該点を楕円曲線上で二倍算した点、および、楕円曲線上の二倍算を演算する過程で計算される値Λn∈Fp^(k/d), λd∈Fpを出力とする、Compressed Jacobian座標系を用いて楕円曲線上の二倍算を演算するアルゴリズムとし、
    ECADDを楕円曲線上の二点を入力とし、当該二点を楕円曲線上で加算した点、および、楕円曲線上の加算を演算する過程で計算される値Λn∈Fp^(k/d), λd∈Fpを出力とする、Compressed Jacobian座標系を用いて楕円曲線上の加算を演算するアルゴリズムとし、
    初期化部と楕円二倍算部と二倍算部と楕円加算部と加算部と最終冪演算部とを含むペアリング演算装置が、楕円曲線E(Fp)上の点P=(xP, yP)と楕円曲線E(Fp^(k/d))上の点Q=(XQ, YQ)とのペアリングe(P, Q)を演算するペアリング演算方法であって、
    初期化部が、値fに1を、点(X1, Y1, Z1)に点(XQ, YQ, 1)を代入し、
    楕円二倍算部が、点(X1, Y1, Z1)を入力として上記アルゴリズムECDBLを演算し、点(X1, Y1, Z1)を楕円曲線E上で二倍算した点(X3, Y3, Z3)および上記値Λn, λdを得、
    二倍算部が、上記値f, Λn, λd, Z3, 点(xP, yP), (X1, Y1, Z1)を用いて、L DBL ←yPZ1 2Z3+(-xPΛnZ1 2+(ΛnX1-Y1λd)), f←f2・L DBL を演算し、点(X3, Y3, Z3)を点(X1, Y1, Z1)に代入し、
    楕円加算部が、点(X1, Y1, Z1), (XQ, YQ, 1)を入力として上記アルゴリズムECADDを演算し、点(X1, Y1, Z1)と点(XQ, YQ, 1)とを楕円曲線E上で加算した点(X3, Y3, Z3)および上記値Λn, λdを得、
    加算部が、上記値f, Λn, Z3, 点(xP, yP), (XQ, YQ, 1)を用いて、L ADD ←yPZ3+(-xPΛn+(ΛnXQ-YQZ3)), f←f・L ADD を演算し、点(X3, Y3, Z3)を点(X1, Y1, Z1)に代入し、
    最終冪演算部が、f(p^k-1)/rを演算し、
    n-2から0までの各整数jについて、r j =1のときは、上記楕円二倍算部と上記二倍算部と上記楕円加算部と上記加算部とを実行し、それ以外のときは、上記楕円二倍算部と上記二倍算部とを実行する、
    ペアリング演算方法。
  3. 請求項1に記載のペアリング演算装置としてコンピュータを機能させるためのプログラム。
JP2017044529A 2017-03-09 2017-03-09 ペアリング演算装置、ペアリング演算方法、およびプログラム Active JP6777569B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017044529A JP6777569B2 (ja) 2017-03-09 2017-03-09 ペアリング演算装置、ペアリング演算方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017044529A JP6777569B2 (ja) 2017-03-09 2017-03-09 ペアリング演算装置、ペアリング演算方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2018146903A JP2018146903A (ja) 2018-09-20
JP6777569B2 true JP6777569B2 (ja) 2020-10-28

Family

ID=63588831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017044529A Active JP6777569B2 (ja) 2017-03-09 2017-03-09 ペアリング演算装置、ペアリング演算方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6777569B2 (ja)

Also Published As

Publication number Publication date
JP2018146903A (ja) 2018-09-20

Similar Documents

Publication Publication Date Title
JP5562475B2 (ja) 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム
US8897442B2 (en) Encryption device, decryption device, encryption method, decryption method, program, and recording medium
JP6095792B2 (ja) 秘密ビット分解装置、秘密モジュラス変換装置、秘密ビット分解方法、秘密モジュラス変換方法、プログラム
JP5379914B2 (ja) 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体
US8515060B2 (en) Encryption apparatus, decryption apparatus, encryption method, decryption method, security method, program, and recording medium
US8111826B2 (en) Apparatus for generating elliptic curve cryptographic parameter, apparatus for processing elliptic curve cryptograph, program for generating elliptic curve cryptographic parameter, and program for processing elliptic cyptograph
CN105027180B (zh) 保密计算系统、运算装置、以及保密计算方法
Bunder et al. A new attack on three variants of the RSA cryptosystem
JP2001526416A (ja) 楕円曲線暗号化演算の最適化用変換方法
Di Giusto et al. Breaking the power-of-two barrier: noise estimation for BGV in NTT-friendly rings
JP6777569B2 (ja) ペアリング演算装置、ペアリング演算方法、およびプログラム
Barbulescu A brief history of pairings
JP5506633B2 (ja) 代理計算システム、端末装置、代理計算装置、代理計算方法、及びプログラム
JP5268066B2 (ja) 変換演算装置、その方法、プログラム及び記録媒体
Nimbalkar The digital signature schemes based on two hard problems: factorization and discrete logarithm
Mihailescu et al. Blockchain search using searchable encryption based on elliptic curves
Yasuda Multivariate encryption schemes based on the constrained MQ problem
JP5449214B2 (ja) 情報共有方法、情報共有システム、情報共有装置、及びプログラム
Inoue et al. A faster variant of cgl hash function via efficient backtracking checks
WO2023228408A1 (ja) パラメータ生成システム、パラメータ生成方法、及びパラメータ生成プログラム
Oussama et al. Software implementation of pairing based cryptography on FPGA
Sharma et al. Boneh-Franklin IBE
Buell Homomorphic encryption
Mehibel et al. A new key agreement method for symmetric encryption using elliptic curves
Menaka et al. A Non-Adjacent Form (NAF) Based ECC for Scalar Multiplication that Assure Computation Reduction on Outsourcing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200507

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201008

R150 Certificate of patent or registration of utility model

Ref document number: 6777569

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350