JP6777569B2 - ペアリング演算装置、ペアリング演算方法、およびプログラム - Google Patents
ペアリング演算装置、ペアリング演算方法、およびプログラム Download PDFInfo
- 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
Links
Images
Description
実施形態の説明の前に、本明細書で用いる用語の概要を説明する。
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を有理関数とする。
上記の有理関数fr,Qは、上記非特許文献7に記載されているミラーアルゴリズムを用いて演算することができる。ミラーアルゴリズムをAlgorithm 1に示す。
Affine座標系は、下記参考文献1の79-82ページに詳しく記載されている。有限体Fp^m上で定義されるAffine座標系における楕円曲線EAは、4a3+27b2≠0を満たすa, b∈Fp^mに対して、式(1)のとおり表現できる。
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)のとおり表現できる。
Compressed Jacobian座標系は、上記非特許文献9に詳しく記載されている。有限体Fp^m上で定義されるCompressed Jacobian座標系における楕円曲線EcomJは、X∈Fp^m, Y∈Fp^m, z∈Fpに対して、上記式(1)を(x, y)=(X/z2, Y/z3)と置き換えることで、式(3)のとおり表現できる。
ミラーアルゴリズムのステップ4およびステップ8で用いられるL関数(LT,T(P), LT,Q(P))は、P=(xP, yP)∈G1, T=(xT, yT)∈G2, T'=(xT', yT')∈G2を通る直線の傾きλ∈Fp^mに対して、式(4)のとおり表現できる。
本発明によるCompressed Jacobian座標系を用いる楕円曲線上の二倍算/加算を用いたミラーアルゴリズムをAlgorithm 2に示す。
実施形態のペアリング演算装置10は、図1に示すように、入力部1、初期化部2、ECDBL演算部3(楕円二倍算部とも呼ぶ)、DBL演算部4(二倍算部とも呼ぶ)、ECADD演算部5(楕円加算部とも呼ぶ)、ADD演算部6(加算部とも呼ぶ)、最終冪演算部7、および出力部8を備える。このペアリング演算装置10が後述する各ステップの処理を行うことにより実施形態のペアリング演算方法が実現される。
本発明の効果を実証するために、従来のミラーアルゴリズム(Algorithm 1)を用いたときの演算コストと、本発明によるミラーアルゴリズム(Algorithm 2)を用いたときの演算コストを比較した。以下では、Mを乗算の演算時間、Sを二倍算の演算時間、Iを逆元算の演算時間として、S=M, I=8Mとなる計算機を用いて、下記参考文献2に記載されたパラメータを用いてペアリングを演算する場合の高速化率を説明する。
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
1 入力部
2 初期化部
3 ECDBL演算部
4 DBL演算部
5 ECADD演算部
6 ADD演算部
7 最終冪演算部
8 出力部
Claims (3)
- 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のときは、上記楕円二倍算部と上記二倍算部と上記楕円加算部と上記加算部とを実行し、それ以外のときは、上記楕円二倍算部と上記二倍算部とを実行する、
ペアリング演算装置。 - 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のときは、上記楕円二倍算部と上記二倍算部と上記楕円加算部と上記加算部とを実行し、それ以外のときは、上記楕円二倍算部と上記二倍算部とを実行する、
ペアリング演算方法。 - 請求項1に記載のペアリング演算装置としてコンピュータを機能させるためのプログラム。
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) |
-
2017
- 2017-03-09 JP JP2017044529A patent/JP6777569B2/ja active Active
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 |