JP6023728B2 - マルチペアリング演算装置、マルチペアリング演算方法、マルチペアリング演算プログラム - Google Patents

マルチペアリング演算装置、マルチペアリング演算方法、マルチペアリング演算プログラム Download PDF

Info

Publication number
JP6023728B2
JP6023728B2 JP2014007517A JP2014007517A JP6023728B2 JP 6023728 B2 JP6023728 B2 JP 6023728B2 JP 2014007517 A JP2014007517 A JP 2014007517A JP 2014007517 A JP2014007517 A JP 2014007517A JP 6023728 B2 JP6023728 B2 JP 6023728B2
Authority
JP
Japan
Prior art keywords
pairing
expression evaluation
expression
multiplication
original
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
JP2014007517A
Other languages
English (en)
Other versions
JP2015135451A (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.)
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 JP2014007517A priority Critical patent/JP6023728B2/ja
Publication of JP2015135451A publication Critical patent/JP2015135451A/ja
Application granted granted Critical
Publication of JP6023728B2 publication Critical patent/JP6023728B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報セキュリティ技術のためのマルチペアリング演算装置、マルチペアリング演算方法、マルチペアリング演算プログラムに関する。
複数のペアリング演算の積を効率的に計算するマルチペアリングの従来技術として、特許文献1と非特許文献1が知られている。また、ペアリング演算の効率的なアルゴリズムの例が、非特許文献2,3などに示されている。例えば、Optimal Ateペアリングにおけるマルチペアリングのアルゴリズムを図1に示す。
特開2006−301513号公報
R. Granger, and N.P. Smart, "On Computing Products of Pairings," Cryptology ePrint Archive, Report 2006/172, 2006. F. Vercauteren, "Optimal Pairings," IEEE Transactions on Information Theory, vol.56, no.1, pp.455-461, 2010. D.F. Aranha, P.S.L.M. Barreto, P. Longa, and J.E. Ricardini, "The Realm of the Pairings," Cryptology ePrint Archive, Report 2013/722, 2013.
ペアリング暗号では、鍵や暗号文に対して属性と条件式を含め、属性が条件式を満たすかどうかにより復号制御が可能な関数型暗号など、従来の暗号よりも高機能な暗号システムが構成可能である。これらのペアリング暗号システムの構成の際には、暗号化や復号が十分に高速であることが求められる。特に、関数型暗号などの高機能な暗号方式では、多数のペアリング演算が必要となる。特許文献1や非特許文献1に示されたマルチペアリングは、共通化が可能な計算を共通化することで高速化しているので、多数のペアリングを効率的に計算する際には有効である。しかしながら、暗号システムの高機能化が進んでいる状況から、さらなる高速化が求められている。
本発明は、楕円曲線上のマルチペアリングについて従来技術を改良し、さらに演算速度を高速化することを目的とする。
本発明のマルチペアリング演算装置は、m個の群Gの元P,…,Pm−1と群Gの元Q,…,Qm−1とのマルチペアリングe(P,Q)×e(P,Q)×…×e(Pm−1,Qm−1)を求める。ここで、mを2以上の整数、jを0以上m−1以下の整数、pを素数または素数のべき乗、kを正の整数、F(p)とF(p)を有限体、Pを有限体F(p)上の楕円曲線の点、Qを有限体F(p)上の楕円曲線の点、Tj1とTj2をQに対応する有限体F(p)上の楕円曲線の点、eを点Pと点Qとを入力とし有限体F(p)上の元を出力するペアリング演算を示す記号、fを有限体F(p)上の元、Lを点Tj1と点Tj2を通る直線をPで評価した式評価であって係数にゼロまたは小整数を含む有限体F(p)上の元、ΔをL×…×LΔ−1の計算過程のすべての乗算を係数にゼロまたは小整数を含む元同士の乗算にできる最大の正整数とする。
本発明のマルチペアリング演算装置は、f,L,L,…,Lm−1を入力とし、マルチペアリング演算の処理に含まれるf×L×…×Lm−1の演算結果を出力とする式評価演算部を有する。式評価演算部は、あらかじめ2以上Δ以下の整数δを定めており、式評価選択部、式評価乗算部、元乗算部、演算制御部、未選択乗算部を備える。式評価選択部は、選択されていない式評価L,L,…,Lm−1の中からδ個を選択し、h,h,…,hδ−1とする。式評価乗算部は、L”←h×h×…×hδ−1 を計算する。元乗算部は、f←f×L” を計算し、fを更新する。演算制御部は、L,L,…,Lm−1の中で、式評価選択部で選択されていない式評価の数がδより少なくなるまで、式評価選択部と式評価乗算部と元乗算部の処理を繰り返す。未選択乗算部は、L,L,…,Lm−1の中で、式評価選択部で選択されていない式評価がある場合は、選択されていない式評価のすべてをfに乗算し、乗算結果にfを更新する。式評価演算部は、L,L,…,Lm−1のすべてを乗算されたfを演算結果として出力する。
本発明のマルチペアリング演算装置によれば、マルチペアリング演算の処理に含まれるf×L×…×Lm−1の演算において、まずゼロまたは小整数の係数を含む式評価L,L,…,Lm−1の中からΔ個以下の式評価を選択して乗算する処理を繰り返すので、係数にゼロや小整数を持つ元同士の演算を増やせる。したがって、計算コストを削減でき、計算速度を高速化できる。
従来のOptimal Ateペアリングにおけるマルチペアリングのアルゴリズムを示す図。 本発明のマルチペアリング演算装置の構成例を示す図。 本発明のマルチペアリング演算装置の式評価演算の処理フローの例を示す図。 Optimal Ateペアリングにおけるマルチペアリングのアルゴリズムの例(Algorithm 2)を示す図。 図4のアルゴリズムのステップ6,9,18,20に適用する式評価演算部100の処理のアルゴリズムの1つ目の例(Algorithm 3)を示す図。 図5のステップ3の計算の部分のアルゴリズムの具体例(Algorithm 4)を示す図。 図5,13のステップ4の処理のアルゴリズムの具体例(Algorithm 5)を示す図。 図5のステップ9の処理のアルゴリズムの具体例(Algorithm 6)を示す図。 図4のアルゴリズムのステップ6,9,18,20に適用する式評価演算部100の処理のアルゴリズムの2つ目の例(Algorithm 7)を示す図。 図9,13のステップ3の計算の部分のアルゴリズムの具体例(Algorithm 8)を示す図。 図9のステップ4の処理のアルゴリズムの具体例(Algorithm 9)を示す図。 図9,13のステップ9の処理のアルゴリズムの具体例(Algorithm 10)を示す図。 図4のアルゴリズムのステップ6,9,18,20に適用する式評価演算部100の処理のアルゴリズムの3つ目の例(Algorithm 11)を示す図。
以下、本発明の実施の形態について、詳細に説明する。本発明のマルチペアリング演算装置は、m個の群Gの元P,…,Pm−1と群Gの元Q,…,Qm−1とのマルチペアリングe(P,Q)×e(P,Q)×…×e(Pm−1,Qm−1)を求める。mを2以上の整数、jを0以上m−1以下の整数、pを素数または素数のべき乗、kを正の整数、F(p)とF(p)を有限体、Pを有限体F(p)上の楕円曲線の点、Qを有限体F(p)上の楕円曲線の点、Tj1とTj2をQに対応する有限体F(p)上の楕円曲線の点、eを点Pと点Qとを入力とし有限体F(p)上の元を出力するペアリング演算を示す記号、fを有限体F(p)上の元、Lを点Tj1と点Tj2を通る直線をPで評価した式評価であって係数にゼロまたは小整数を含む有限体F(p)上の元、ΔをL×…×LΔ−1の計算過程のすべての乗算を係数にゼロまたは小整数を含む元同士の乗算にできる最大の正整数とする。点Tj1と点Tj2とが同一の点の場合、「点Tj1と点Tj2を通る直線」は点Tj1での接線とする。「小整数」とは少なくとも1を含む値の小さい整数であり、例えば、任意の元fと小整数dとの乗算(d×f)を、任意の元fのd−1回の加算(f+f+…+f)で行った方が、計算量が少なくなるような整数である。また、後述の1を係数として含む元の乗算と同様に計算コストを少なくできる小さい整数も含む。演算装置、演算方法、プログラムによって具体的な小整数は異なるが、ある演算装置が、整数dと元fとの乗算(d×f)を加算(f+f+…+f)に置き換えて計算している場合、その演算装置においては、整数dは小整数である。
また、図1,4,5,9,13に示すアルゴリズムでは、TがTj1に相当し、T,Q,Q’,−Q”がTj2に相当し、aoptがeに相当し、
Figure 0006023728
がLに相当する。また、F(p)は、
Figure 0006023728
のように示されている。
<分析>
ペアリング演算には、点Tj1と点Tj2と点Pに対して、点加算/2倍算と式評価の計算が含まれる。次に、具体的な座標系の例を示しながら説明する。
次の具体例の説明では、Barreto-Naehrig楕円曲線(BN曲線,E:y=x+b,b≠0∈F(p))を用いる。BN曲線では、整数zに対して素数pとBN曲線上のF(p)有理点群の位数rは、
p=36z+36z+24z+6z+1
r=36z+36z+18z+6z+1
である。BN曲線では、rで割り切れる(p−1)となる最小のkは12である。
拡大体F(p)を逐次拡大により
F(p)=F(p)[u]/(u−β)
F(p)=F(p)[v]/(v−ξ)
F(p12)=F(p)[w]/(w−v)
ただし、βは平方非剰余、ξは平方非剰余かつ立方非剰余
のように構成する。そして、F(p12)上の元Aを
A=a+av+a+aw+avw+aw (式1)
ただし、a,a,a,a,a,a ∈F(p
と表現する。なお、6次のツイスト曲線E’は、y=x+b/ξ である。このとき、点(x,y)に対してE’,Eの同型写像(x,y)→(xw,yw)となる
Φ:E’(F(p))→E(F(p12))
が存在する。
Affine座標系の例
j1=(x,y)、Tj2=(x,y)、P=(x,y)とする。λ=(y−y)/(x−x)に対して、点加算と式評価(点Tj1と点Tj2とが異なる場合)は、
=λ−x−x
=λ(x−x)−y
=y−λxw+(λx−y)vw (式2)
となる。また、点2倍算と式評価(点Tj1と点Tj2とが同じ場合)は、λ=3x /2yに対して
=λ−2x
=λ(x−x)−y
=y−λxw+(λx−y)vw (式3)
となる。ここで、式1に示したF(p12)上の元Aはa,a,a,a,a,aの6つの係数が存在するが、式2、式3に示した式評価ではその中の3つの係数がゼロであることが分かる。
Affine座標系の異なる形式の式評価の例
式2、式3を
’・L=1−λx’w+y’(λx−y)vw (式4)
ただし、x’=x/y, y’=1/y
のように変換して式評価としてもよい。このように変形しても、y’の部分は最終べきの計算(図1のアルゴリズムのステップ21)で除去されるため、ペアリング演算の結果には影響しない。式4のように変形すると、3つの係数がゼロであり1つの係数が小整数の「1」であることが分かる。
Homogeneous Projective座標系の例
この座標系での楕円曲線Eは、YZ=X+b’Zとなる。点の表現をTj1=(X,Y,Z)∈Gとし、(x,y)=(X/Z,Y/Z)、Tj2=(x,y)、P=(x,y)とする。また点加算/2倍算と式評価は、Homogeneous Projective座標系の点とAffine座標系の点の混合座標で計算する。t=Y−y,t=X−xに対して、点加算と式評価は、
=t(t +Z −2X
=t(3X −t −Z )−Y
=Z
=−t−tw+(t−t)vw (式5)
となる。また、点2倍算と式評価は、
=X(Y −9b’Z )/2
=[(Y +9b’Z )/2]−27b’
=2Y
=−2Y+3X w+(3b’Z −Y )vw (式6)
となる。元は式1で表現されるので、式5、式6に示した式評価では3つの係数がゼロであることが分かる。
本発明は、式評価にゼロの係数があることを利用して計算コストを削減する。
図2に本発明のマルチペアリング演算装置の構成例を、図3に本発明のマルチペアリング演算装置の式評価演算の処理フローの例を示す。マルチペアリング演算装置10は、m個の群Gの元P,…,Pm−1と群Gの元Q,…,Qm−1とのマルチペアリングe(P,Q)×e(P,Q)×…×e(Pm−1,Qm−1)を求める。マルチペアリング演算装置10は、式評価演算部100を有することを特徴としており、点加算や点2倍算などのその他の処理を行う構成部も有するが、それらは従来技術と同じである。そのため、図2,3では省略している。
式評価演算部100は、f,L,L,…,Lm−1を入力とし、マルチペアリング演算の処理に含まれるf×L×…×Lm−1の演算結果を出力する(S100)。式評価演算部100は、あらかじめ2以上Δ以下の整数δを定めており、式評価選択部110、式評価乗算部120、元乗算部130、演算制御部140、未選択乗算部150を備える。マルチペアリング演算装置10は、整数δなどを記録する記録部90も備える。式評価選択部110は、選択されていない式評価L,L,…,Lm−1の中からδ個を選択し、h,h,…,hδ−1とする(S110)。
式評価乗算部120は、
L”←h×h×…×hδ−1
を計算する(S120)。式評価乗算部120は、h,h,…,hδ−1をゼロまたは小整数の係数を含む元同士の演算がより多くなるように工夫して乗算すればよい。例えば、h,h,…,hδ−1の中の2つからなる組を複数組作るように分けて組ごとに乗算する処理を含むように構成する方法がある。このように計算すれば、ゼロまたは小整数の係数を含む元同士の演算がより多くなる。「h,h,…,hδ−1の中の2つからなる組を複数組作るように分けて組ごとに乗算する」具体例としては以下のような例がある。δ=4のときには、
’←h×h, L’←h×h
L”←L’×L
のようにL”を計算すればよい。このときは、(h,h)の組と(h,h)の組を作るように分けられ、まず組ごとに乗算している。δ=6のときには、
’←h×h, L’←h×h, L’←h×h
L”←L’×L’×L
のようにL”を求めてもよい。このときは、(h,h)の組と(h,h)の組と(h,h)の組を作るように分けられ、まず組ごとに乗算している。また、このような求め方を、
L”←((h×h)×(h×h)×(h×h))
と表現する。また、δ=6のときに、
’←h×h, L’←h×h
’←L’×h, L’←L’×h
L”←L’×L
のようにL”を求めてもよい。このときは、(h,h)の組と(h,h)の組を作るように分けられ、まず組ごとに乗算している。hとhのように、組に含まれないものがあってもよい。このような求め方を、
L”←(((h×h)×h)×((h×h)×h))
と表現する。δ=6の場合にどちらの計算手順を選ぶかは、式評価の特徴を考慮して決めればよい。特に、δ=2の場合であれば、
L”←(…((h×h)×(h×h))×((h×h)×(h×h))×…)
のように、2つずつに分けて乗算する処理を繰り返せばよい。上記のようにδが4以上の場合であれば、h,h,…,hδ−1の中の2つからなる組を複数組作るように分けて組ごとに乗算する処理を含むように構成できる。また、δ=3のときには、
’←h×h
L”←L’×h
のようにL”を計算すればよい。
なお、上述のAffine座標系とHomogeneous Projective座標系では、h×hの乗算は、係数にゼロを含む元同士の乗算であり、計算結果には値がゼロの係数が1つ存在する。(h×h)×hや(h×h)×(h×h)の乗算は係数にゼロを含む元同士の乗算であるが、計算結果には値がゼロまたは小整数の係数はなくなる。そして、h×h×h×h×hのようが5つの元の乗算では、((h×h)×(h×h))×h、((h×h)×h)×(h×h)などの計算手順が考えられるが、どのように計算しても、少なくとも最後の乗算の一方の元は、値がゼロまたは小整数の係数を含まない元になってしまう。したがって、計算過程のすべての乗算において、係数にゼロまたは小整数を含む元同士の乗算にできるのは4つの元の乗算までである。よって、Δ=4である。そして、δ=4に設定すれば、上記の手順で計算ができる。また、ステップS110が終了してからステップS120を開始するのではなく、ステップS110で2つの式評価を選択してステップS120の乗算を行う処理を繰り返してもよい。
元乗算部130は、
f←f×L”
を計算し、fを更新する(S130)。演算制御部140は、L,L,…,Lm−1の中で、式評価選択部110で選択されていない式評価の数がδより少なくなるまで、式評価選択部110と式評価乗算部120と元乗算部130の処理(S110,S120,S130)を繰り返す(S140)。未選択乗算部150は、L,L,…,Lm−1の中で、式評価選択部110で選択されていない式評価がある場合は、選択されていない式評価のすべてをfに乗算し、乗算結果にfを更新する(S150)。式評価演算部100は、L,L,…,Lm−1のすべてを乗算されたfを演算結果として出力する。
マルチペアリング演算装置10によれば、マルチペアリング演算の処理に含まれるf×L×…×Lm−1の演算において、まずゼロまたは小整数の係数を含む式評価L,L,…,Lm−1の中からΔ個以下の式評価を選択して乗算する処理を繰り返すので、係数にゼロや小整数を持つ元同士の演算を増やせる。したがって、計算コストを削減でき、計算速度を高速化できる。
<アルゴリズムの具体例>
図4に、Optimal Ateペアリングにおけるマルチペアリングのアルゴリズムの例(Algorithm 2)を示す。図4のアルゴリズムは、図1に示した従来のアルゴリズムを、本発明の式評価の乗算を適用できるように変更したものである。式評価演算部100の処理は、図4のアルゴリズムのステップ6,9,18,20に適用される。以下では、これらのステップに適用するアルゴリズムの例を示す。
例1
図5は、図4のアルゴリズムのステップ6,9,18,20に適用する式評価演算部100の処理のアルゴリズムの1つ目の例(Algorithm 3)である。このアルゴリズムは、式3,5で表現できる式評価(3つの係数がゼロの式評価)の乗算に適用できる。図5のステップ3では、h,h,h,hとして
Figure 0006023728
が選択され、
’←h×h, L’←h×h
の計算が行われる。そして、ステップ4で
L”←L’×L
のようにL”が求められている。つまり、ステップ3の式評価の選択部分がS110に相当し、ステップ3のL’とL’の計算の部分と、ステップ4がS120に相当する。また、ステップ5がS130に相当し、ステップ1,2,6がS140に相当し、ステップ7〜10がS150に相当する。
図6は、図5のステップ3のL’とL’の計算の部分のアルゴリズムの具体例(Algorithm 4)である。図6のステップ8に示された元の式から、値がゼロの係数が1つあることが分かる。図7は、図5のステップ4の処理のアルゴリズムの具体例(Algorithm 5)である。図8は、図5のステップ9の処理のアルゴリズムの具体例(Algorithm 6)である。
例2
図9は、図4のアルゴリズムのステップ6,9,18,20に適用する式評価演算部100の処理のアルゴリズムの2つ目の例(Algorithm 7)である。このアルゴリズムは、式4で表現できる式評価(3つの係数がゼロ、1つの係数が「1」の式評価)の乗算に適用できる。図9のステップ3,4では、h,h,hとして
Figure 0006023728
が選択され、
L’←h×h
L”←L’×h
のようにL”が求められている。つまり、ステップ3,4の式評価の選択部分がS110に相当し、ステップ3,4のL’とL”の計算の部分がS120に相当する。また、ステップ5がS130に相当し、ステップ1,2,6がS140に相当し、ステップ7〜10がS150に相当する。
図10は、図9のステップ3のL’の計算の部分のアルゴリズムの具体例(Algorithm 8)である。図11は、図9のステップ4の処理のアルゴリズムの具体例(Algorithm 9)である。図12は、図9のステップ9の処理のアルゴリズムの具体例(Algorithm 10)である。
例3
図13は、図4のアルゴリズムのステップ6,9,18,20に適用する式評価演算部100の処理のアルゴリズムの3つ目の例(Algorithm 11)である。このアルゴリズムは、式4で表現できる式評価(3つの係数がゼロ、1つの係数が「1」の式評価)の乗算に適用できる。図13のステップ3では、h,h,h,hとして
Figure 0006023728
が選択され、
’←h×h, L’←h×h
の計算が行われる。そして、ステップ4で
L”←L’×L
のようにL”が求められている。つまり、ステップ3の式評価の選択部分がS110に相当し、ステップ3のL’とL’の計算の部分と、ステップ4がS120に相当する。また、ステップ5がS130に相当し、ステップ1,2,6がS140に相当し、ステップ7〜10がS150に相当する。
ステップ3は図10に示したアルゴリズム(Algorithm 8)を用い、ステップ4は図7に示したアルゴリズム(Algorithm 5)を用い、ステップ9は図12に示したアルゴリズム(Algorithm 10)を用いればよい。
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
10 マルチペアリング演算装置 90 記録部
100 式評価演算部 110 式評価選択部
120 式評価乗算部 130 元乗算部
140 演算制御部 150 未選択乗算部

Claims (9)

  1. m個の群Gの元P,…,Pm−1と群Gの元Q,…,Qm−1とのマルチペアリングe(P,Q)×e(P,Q)×…×e(Pm−1,Qm−1)を求めるマルチペアリング演算装置であって、
    mを2以上の整数、jを0以上m−1以下の整数、pを素数または素数のべき乗、kを正の整数、F(p)とF(p)を有限体、Pを有限体F(p)上の楕円曲線の点、Qを有限体F(p)上の楕円曲線の点、Tj1とTj2をQに対応する有限体F(p)上の楕円曲線の点、eを点Pと点Qとを入力とし有限体F(p)上の元を出力するペアリング演算を示す記号、fを有限体F(p)上の元、Lを点Tj1と点Tj2を通る直線をPで評価した式評価であって係数にゼロまたは小整数を含む有限体F(p)上の元、ΔをL×…×LΔ−1の計算過程のすべての乗算を係数にゼロまたは小整数を含む元同士の乗算にできる最大の正整数とし、
    f,L,L,…,Lm−1を入力とし、マルチペアリング演算の処理に含まれるf×L×…×Lm−1の演算結果を出力とする式評価演算部を有し、
    前記式評価演算部は、
    あらかじめ2以上Δ以下の整数δを定めており、
    選択されていない式評価L,L,…,Lm−1の中からδ個を選択し、h,h,…,hδ−1とする式評価選択部と、
    L”←h×h×…×hδ−1 を計算する式評価乗算部と、
    f←f×L” を計算し、fを更新する元乗算部と、
    ,L,…,Lm−1の中で、前記式評価選択部で選択されていない式評価の数がδより少なくなるまで、前記式評価選択部と前記式評価乗算部と前記元乗算部の処理を繰り返す演算制御部と、
    ,L,…,Lm−1の中で、前記式評価選択部で選択されていない式評価がある場合は、選択されていない式評価のすべてをfに乗算し、乗算結果にfを更新する未選択乗算部と、
    を備え、fを演算結果として出力する
    ことを特徴とするマルチペアリング演算装置。
  2. 請求項1記載のマルチペアリング演算装置であって、
    前記式評価乗算部は、h,h,…,hδ−1の中の2つからなる組を複数組作るように分けて組ごとに乗算する処理を含む
    ことを特徴とするマルチペアリング演算装置。
  3. 請求項1記載のマルチペアリング演算装置であって、
    δ=4であって、
    前記式評価乗算部は、
    ’←h×h, L’←h×h
    を計算し、
    L”←L’×L
    のようにL”を計算する
    ことを特徴とするマルチペアリング演算装置。
  4. 請求項1記載のマルチペアリング演算装置であって、
    δ=3であって、
    前記式評価乗算部は、
    ’←h×h
    を計算し、
    L”←L’×h
    のようにL”を計算する
    ことを特徴とするマルチペアリング演算装置。
  5. m個の群Gの元P,…,Pm−1と群Gの元Q,…,Qm−1とのマルチペアリングe(P,Q)×e(P,Q)×…×e(Pm−1,Qm−1)を求めるマルチペアリング演算方法であって、
    mを2以上の整数、jを0以上m−1以下の整数、pを素数または素数のべき乗、kを正の整数、F(p)とF(p)を有限体、Pを有限体F(p)上の楕円曲線の点、Qを有限体F(p)上の楕円曲線の点、Tj1とTj2をQに対応する有限体F(p)上の楕円曲線の点、eを点Pと点Qとを入力とし有限体F(p)上の元を出力するペアリング演算を示す記号、fを有限体F(p)上の元、Lを点Tj1と点Tj2を通る直線をPで評価した式評価であって係数にゼロまたは小整数を含む有限体F(p)上の元、ΔをL×…×LΔ−1の計算過程のすべての乗算を係数にゼロまたは小整数を含む元同士の乗算にできる最大の正整数とし、
    f,L,L,…,Lm−1を入力とし、マルチペアリング演算の処理に含まれるf×L×…×Lm−1の演算結果を出力とする式評価演算過程を有し、
    前記式評価演算過程は、
    あらかじめ2以上Δ以下の整数δを定めており、
    式評価選択部が、選択されていない式評価L,L,…,Lm−1の中からδ個を選択し、h,h,…,hδ−1とする式評価選択ステップと、
    式評価乗算部が、L”←h×h×…×hδ−1 を計算する式評価乗算ステップと、
    元乗算部が、f←f×L” を計算し、fを更新する元乗算ステップと、
    演算制御部が、L,L,…,Lm−1の中で、前記式評価選択ステップで選択されていない式評価の数がδより少なくなるまで、前記式評価選択ステップと前記式評価乗算ステップと前記元乗算ステップの処理を繰り返す繰り返しステップと、
    未選択乗算部が、L,L,…,Lm−1の中で、前記式評価選択部で選択されていない式評価がある場合は、選択されていない式評価のすべてをfに乗算し、乗算結果にfを更新する未選択乗算ステップと、
    を有し、fを演算結果として出力する
    ことを特徴とするマルチペアリング演算方法。
  6. 請求項5記載のマルチペアリング演算方法であって、
    前記式評価乗算ステップは、h,h,…,hδ−1を2つずつに分けて乗算し、その乗算結果同士を乗算する処理を含む
    ことを特徴とするマルチペアリング演算方法。
  7. 請求項5記載のマルチペアリング演算方法であって、
    δ=4であって、
    前記式評価乗算ステップは、
    ’←h×h, L’←h×h
    を計算し、
    L”←L’×L
    のようにL”を計算する
    ことを特徴とするマルチペアリング演算方法。
  8. 請求項5記載のマルチペアリング演算方法であって、
    δ=3であって、
    前記式評価乗算ステップは、
    ’←h×h
    を計算し、
    L”←L’×h
    のようにL”を計算する
    ことを特徴とするマルチペアリング演算方法。
  9. 請求項1〜4のいずれかに記載されたマルチペアリング演算装置としてコンピュータを機能させるためのマルチペアリング演算プログラム。
JP2014007517A 2014-01-20 2014-01-20 マルチペアリング演算装置、マルチペアリング演算方法、マルチペアリング演算プログラム Active JP6023728B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014007517A JP6023728B2 (ja) 2014-01-20 2014-01-20 マルチペアリング演算装置、マルチペアリング演算方法、マルチペアリング演算プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014007517A JP6023728B2 (ja) 2014-01-20 2014-01-20 マルチペアリング演算装置、マルチペアリング演算方法、マルチペアリング演算プログラム

Publications (2)

Publication Number Publication Date
JP2015135451A JP2015135451A (ja) 2015-07-27
JP6023728B2 true JP6023728B2 (ja) 2016-11-09

Family

ID=53767306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014007517A Active JP6023728B2 (ja) 2014-01-20 2014-01-20 マルチペアリング演算装置、マルチペアリング演算方法、マルチペアリング演算プログラム

Country Status (1)

Country Link
JP (1) JP6023728B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101301139B1 (ko) * 2009-04-24 2013-09-03 니뽄 덴신 덴와 가부시키가이샤 유한체 연산장치, 유한체 연산방법, 프로그램 및 기록매체

Also Published As

Publication number Publication date
JP2015135451A (ja) 2015-07-27

Similar Documents

Publication Publication Date Title
Galbraith et al. Computational problems in supersingular elliptic curve isogenies
Koziel et al. Post-quantum cryptography on FPGA based on isogenies on elliptic curves
US20220147873A1 (en) Processing device, accelerator, and method for federated learning
US11374735B2 (en) Processing apparatus, processing method, storage medium, and encryption processing system
JP2017515195A (ja) 断熱量子計算を介してデジタル論理制約問題を解く
JP2006227562A (ja) 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム
Cao et al. High-speed fully homomorphic encryption over the integers
Kepley et al. Quantum circuits for F _ 2^ n F 2 n-multiplication with subquadratic gate count
Karmakar et al. Efficient finite field multiplication for isogeny based post quantum cryptography
JP2001526416A (ja) 楕円曲線暗号化演算の最適化用変換方法
CN101371285A (zh) 加密处理装置、加密处理方法及计算机程序
CN106464484A (zh) 预定函数的混淆执行
JP6067596B2 (ja) ペアリング演算装置、マルチペアリング演算装置、プログラム
US20190163933A1 (en) Secure computation system, secure computation device, secure computation method, and program
KR101925614B1 (ko) 타원곡선 암호화 시스템에서의 스칼라 곱셈 처리 방법 및 타원곡선 암호화 시스템
Baktır et al. A state-of-the-art elliptic curve cryptographic processor operating in the frequency domain
Gayoso Martínez et al. Secure elliptic curves in cryptography
JP6023728B2 (ja) マルチペアリング演算装置、マルチペアリング演算方法、マルチペアリング演算プログラム
CN114817954A (zh) 图像的处理方法、系统和装置
JP5840086B2 (ja) 縮約装置、縮約方法、およびプログラム
CN114868175A (zh) 最终幂计算装置、配对运算装置、加密处理装置、最终幂计算方法和最终幂计算程序
Aranha et al. Efficient software implementation of laddering algorithms over binary elliptic curves
JP6040052B2 (ja) ペアリング演算装置、ペアリング演算方法、およびプログラム
EP4258591A1 (en) Apparatus and method with homomorphic encryption operation
KR101423947B1 (ko) 확장된 nist 소수를 이용한 모듈러 곱셈 및 모듈러 지수승 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161007

R150 Certificate of patent or registration of utility model

Ref document number: 6023728

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150