JP6067596B2 - ペアリング演算装置、マルチペアリング演算装置、プログラム - Google Patents
ペアリング演算装置、マルチペアリング演算装置、プログラム Download PDFInfo
- Publication number
- JP6067596B2 JP6067596B2 JP2014007518A JP2014007518A JP6067596B2 JP 6067596 B2 JP6067596 B2 JP 6067596B2 JP 2014007518 A JP2014007518 A JP 2014007518A JP 2014007518 A JP2014007518 A JP 2014007518A JP 6067596 B2 JP6067596 B2 JP 6067596B2
- Authority
- JP
- Japan
- Prior art keywords
- expression evaluation
- point
- pairing
- unit
- finite field
- 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
F(p12)上の元を、c0,c1,c2,c3,c4,c5はF(p2)上の元である係数、v3=ξ、w2=v、ξは平方非剰余かつ立方非剰余として、
c0+c1v+c2v2+c3w+c4vw+c5v2w
のように表現することとする。また、式評価Ljは、
Lj=αjyjP+βjxjpw+γjvw
である。
L0’=d0vN(A0y0P’+w+B0x0P’vw)
のように式評価L0’を生成する。式評価演算部は、f,L0’を入力とし、f×L0’の演算結果を出力する。
Lj’=djvN(AjyjP’+w+BjxjP’vw)
のように式評価Lj’を生成する。式評価演算部は、f,L0’,L1’,…,Lm−1’を入力とし、f×L0’×…×Lm−1’の演算結果を出力する。
Lj’=djvN(AjyjP’+w+BjxjP’vw)
のように式評価Lj’を生成し、式評価の乗算を行う。このような形式の式評価Lj’であれば、有限体F(p12)上の任意の元との乗算において、Ljよりも有限体F(p2)上の乗算回数を少なくできる。つまり、式評価をLjからLj’に変更したことで計算コストが増えてしまう計算は、点Qjが固定されていることを利用して事前に計算しておき、点Pjが入力された後の計算コストを削減している。したがって、点Pjが入力されてからの計算速度を高速化できる。
c0+c1v+c2v2+c3w+c4vw+c5v2w
のように表現することとする。
ペアリング演算には、点Tj1と点Tj2と点Pjに対して、点加算/2倍算と式評価の計算が含まれる。次に、具体的な座標系の例を示しながら説明する。
p=36z4+36z3+24z2+6z+1
r=36z4+36z3+18z2+6z+1
である。BN曲線では、rで割り切れる(pk−1)となる最小のkは12である。
F(p2)=F(p)[u]/(u2−β)
F(p6)=F(p2)[v]/(v3−ξ)
F(p12)=F(p6)[w]/(w2−v)
ただし、v3=ξ、w2=v、βは平方非剰余、ξは平方非剰余かつ立方非剰余
のように構成する。そして、F(p12)上の元Cを
C=c0+c1v+c2v2+c3w+c4vw+c5v2w (式1)
ただし、c0,c1,c2,c3,c4,c5 ∈F(p2)
のように表現する。なお、6次のツイスト曲線E’は、y2=x3+b/ξ である。このとき、点(x,y)に対してE’,Eの同型写像(x,y)→(xw2,yw3)となる
Φ:E’(F(p2))→E(F(p12))
が存在する。
Tj1=(xj1,yj1)、Tj2=(xj2,yj2)、Pj=(xjP,yjP)とする。λj=(yj2−yj1)/(xj2−xj1)に対して、点加算と式評価(点Tj1と点Tj2とが異なる場合)は、
xj3=λj 2−xj1−x2j
yj3=λj(xj1−xj3)−y1j
Lj=yjP−λjxjpw+(λjxj1−yj1)vw (式2)
となる。また、点2倍算と式評価(点Tj1と点Tj2とが同じ場合)は、λj=3xj1 2/2yj1に対して
xj3=λj 2−2xj1
yj3=λj(xj1−xj3)−yj1
Lj=yjP−λjxjpw+(λjxj1−yj1)vw (式3)
となる。ここで、式1に示したF(p12)上の元Cはc0,c1,c2,c3,c4,c5の6つの係数が存在するが、式2、式3に示した式評価ではその中の3つの係数がゼロであることが分かる。
式2、式3を
yjP’・Lj=1−λjxjp’w+yjP’(λjxj1−yj1)vw (式4)
ただし、xjp’=xjp/yjP, yjP’=1/yjP
のように変換して式評価としてもよい。このように変形しても、yjP’の部分は最終べきの計算(図1のアルゴリズムのステップ14)で除去されるため、ペアリング演算の結果には影響しない。式4のように変形すると、3つの係数がゼロであり1つの係数が小整数の「1」であることが分かる。
xjp’=xjp/yjP, yjP’=1/yjP
の計算は、点Pjの入力に対して1回行えばよいだけなので、点Pjが入力された後の計算コストを削減できる。
本発明では、式評価を式4とは異なる形式に変形することで、計算コストを削減する。まず、1つの式評価の具体例を示して説明する。その具体例は、
Lj’=−1/(λj・xjp)・Lj
=(−1/λj)yjP’+w+(−(λjxj1−yj1)/λj)xjP’vw (式5)
ただし、xjP’=1/xjP、 yjP’=yjP/xjP
である。この評価式の場合、(−1/λj,−(λjxj1−yj1)/λj)を事前に計算して記録しておけばよい。(−1/λj,−(λjxj1−yj1)/λj)の計算には逆元算が必要であり、乗算よりも低速な計算になるが、点Pjが入力された後の計算コストには影響しない。また、点Pjの入力に対して
xjP’=1/xjP、 yjP’=yjP/xjP
の計算を1回行えばよい。なお、−1/(λj・xjp)の部分は最終べきの計算で除去されるため、ペアリング演算の結果には影響しない。また、−1/λjと−(λjxj1−yj1)/λjを事前に計算して記録しておくのが最も効率的と考えられる。しかし、乗算や逆元算のような低速な計算を必要とせずに−1/λjと−(λjxj1−yj1)/λjを求められる別の値を記録しておいてもよい。
A=a0+a1v+a2v2+a3w+a4vw+a5v2w
のように表現できるF(p12)上の任意の元Aと、
B=b0+w+b4vw
のように表現できる式5の形式の元Bとの乗算のアルゴリズムである。これと対比するために、図4にF(p12)上の任意の元と式4の形式の元との乗算のアルゴリズム(Algorithm 3’)を示す。図4では、式4の形式の元を
B=1+b3w+b4vw
と表現している。図3と図4に示したアルゴリズムでは、F(p2)上の元である係数同士の乗算回数が計算コストを決める要素である。図3では、ステップ1,4,7に3回ずつ係数同士の乗算が存在するので、F(p2)上の元同士の乗算は9回である。一方、図4では、ステップ1,6に4回ずつ、ステップ2,7に1回ずつ係数同士の乗算が存在するので、F(p2)上の元同士の乗算は10回である。したがって、式5の形式に変換した方が、計算コストが小さいことが分かる。
「小整数dj」は、任意の元fと小整数djとの乗算(dj×f)を、任意の元fのdj−1回の加算(f+f+…+f)で行った方が、計算コストが小さくなるような整数なので、「1」となっている係数の部分を他の小整数に変更しても、従来に比べれば計算コストを削減できる。したがって、
Lj’=dj((−1/λj)yjP’+w+(−(λjxj1−yj1)/λj)xjP’vw),
で表現される式評価Lj’でも従来に比べれば計算コストを削減できる。
Lj’=dj((−1/λj)yjP’v+vw+(−(λjxj1−yj1)/λj)xjP’v2w)
または
Lj’=dj((−1/λj)yjP’v2+v2w+(−(λjxj1−yj1)/λj)xjP’ξw)
の場合も、従来に比べれば計算コストを削減できる。上記の内容をまとめると、
Lj’=djvN((−1/λj)yjP’+w+(−(λjxj1−yj1)/λj)xjP’vw)
のような式評価Lj’であれば同様の効果が得られる。なお、式評価Ljを式評価Lj’に変換するために乗算する−dj/(λj・xjp)vNの部分はF(p6)の元なので最終べきの計算で除去されるため、ペアリング演算の結果には影響しない。
Lj=αjyjP+βjxjpw+γjvw (式6)
ただし、αj,βj,γjはF(p2)上の元
の場合には、
Lj’=1/(βj・xjp)・Lj
=(αj・yjP)/(βj・xjP))+w+(γj/(βj・xjP))vw (式7)
のようにwの係数が1になるように変形すれば、式5の場合と同じようにF(p2)上の元同士の乗算を9回にできる。また、vまたはv2をさらに乗算しても同様である。つまり、AjとBjをF(p2)上の元とし、式評価を
Lj’=djvN(AjyjP’+w+BjxjP’vw)
ただし、Aj=sjA(αj/βj)、Bj=sjB(γj/βj)
xjP’=1/(sjB・xjP)、yjP’=yjP/(sjA・xjP)
sjAとsjBはあらかじめ定めた定数
のように変換できれば、同様の効果が得られる。sjA=1、sjB=1の場合が最も簡単な計算になると考えるが、x0P’とy0P’の計算は図2のアルゴリズムのステップ2に示すように、ステップ3以下の繰り返し処理の前に1回行っているだけである。このように、点Pjの入力に対して1回行うだけなので、sjAとsjBの場合は小整数に限らなくても、点Pjの入力後の計算コストは従来よりも小さくできる。なお、F(p6)上の元を乗算することで式評価Ljを式評価Lj’に変換すれば、乗算した元の部分は最終べきの計算で除去されるため、ペアリング演算の結果には影響しない。
L0’=d0vN((−1/λ0)y0P’+w+(−(λ0x01−y01)/λ0)x0P’vw)
のように式評価L0’を生成する(S30)。上述のとおり、d0=1,N=0が最も効率的と考えるが、d0vNを乗算した式評価L0’を生成してもよい。式評価演算部40は、f,L0’を入力とし、f×L0’の演算結果を出力する(S40)。例えば、図3に示したアルゴリズムで計算すればよい。また、ステップS30、S40が式評価の処理(S20)である。なお、図2では、ステップ2がS15に、ステップ6,11,20,23がS30に、ステップ7,12,21,24がS40に相当する。
さらに、上述のとおり、式評価が式6のように、
Lj=αjyjP+βjxjpw+γjvw
の場合には、式評価を
Lj’=djvN(AjyjP’+w+BjxjP’vw)
ただし、Aj=sjA(αj/βj)、Bj=sjB(γj/βj)
xjP’=1/(sjB・xjP)、yjP’=yjP/(sjA・xjP)
sjAとsjBはあらかじめ定めた定数
のように変形すれば同様の効果が得られる。したがって、図5に示したペアリング演算装置と、図6に示したペアリング演算装置の入力変換と式評価演算の処理フローは、以下のとおりでもよい。ただし、A0とB0をF(p2)上の元とする。
L0’=d0vN(A0y0P’+w+B0x0P’vw)
のように式評価L0’を生成する(S30)。d0=1,N=0が最も効率的と考えるが、d0vNを乗算した式評価L0’を生成してもよい。式評価演算部40は、f,L0’を入力とし、f×L0’の演算結果を出力する(S40)。
Lj’=djvN((−1/λj)yjP’+w+(−(λjxj1−yj1)/λj)xjP’vw)
のように式評価Lj’を生成する(S80)。なお、Nはあらかじめ定めた0,1,2のいずれかの整数であり、j=0,…,m−1のすべてについて同じ値である。上述のとおり、d0,…,dm−1=1,N=0が最も効率的と考えるが、d0vN,…,dm−1vNを乗算した式評価L0’,L1’,…,Lm−1’を生成してもよい。
f←f×Lj’
の処理を、j=0,…,m−1について繰り返せば、実施例1のペアリング演算装置10と同様の効果が得られる。
L”←h0×h1×h2×h3
を計算する(S120)。式評価乗算部120は、h0,h1,h2,h3をゼロまたは小整数の係数を含む元同士の演算がより多くなるように工夫して乗算すればよい。例えば、
H0’←h0×h1, H1’←h2×h3
L”←H0’×H1’
のようにL”を計算すればよい。
f←f×L”
を計算し、fを更新する(S130)。演算制御部140は、L0’,L1’,…,Lm−1’の中で、式評価選択部110で選択されていない式評価の数が4より少なくなるまで、式評価選択部110と式評価乗算部120と元乗算部130の処理(S110,S120,S130)を繰り返す(S140)。未選択乗算部150は、L0’,L1’,…,Lm−1’の中で、式評価選択部で選択されていない式評価がある場合は、選択されていない式評価のすべてをfに乗算し、乗算結果にfを更新する(S150)。式評価演算部100は、L0,L1,…,Lm−1のすべてを乗算されたfを演算結果として出力する。
図9に、Optimal Ateペアリングにおけるマルチペアリングのアルゴリズムの例(Algorithm 4)を示す。式評価処理手段70の処理は、図9のアルゴリズムのステップ5〜14,19〜24に適用される。図10に図9のステップ7,12,21,24の乗算のアルゴリズムの例(Algorithm 5)を示す。図11は図10のステップ3の計算のアルゴリズム(Algorithm 6)、図12は図10のステップ4の計算のアルゴリズム(Algorithm 7)である。なお、図10のステップ9は、上述の図3に示したアルゴリズム(algorithm 3)を用いればよい。
H0’←h0×h1, H1’←h2×h3
の計算が行われる。そして、ステップ4で
L”←H0’×H1’
のようにL”が求められている。つまり、ステップ3の式評価の選択部分がS110に相当し、ステップ3のH0’とH1’の計算の部分と、ステップ4がS120に相当する。また、ステップ5がS130に相当し、ステップ1,2,6がS140に相当し、ステップ7〜10がS150に相当する。
f←f×Lj’
の処理を4回繰り返した場合、F(p2)上の元同士の乗算は40回(4×10)である。一方、式5の形式の4つの式評価を、図3に示された従来の乗算方法でF(p12)上の任意の元fに乗算するときに、
f←f×Lj’
の処理を4回繰り返した場合、F(p2)上の元同士の乗算は36回(4×9)である。したがって、式評価演算部100が式評価選択部110、式評価乗算部120、元乗算部130、演算制御部140、未選択乗算部150を備えなくても、従来に比べれば計算コスト削減の効果がある。
H0’←h0×h1, H1’←h2×h3
L”←H0’×H1’
f←f×L”
のようにfを更新することを繰り返す方法と比較する。図13に、従来技術である式4の形式の式評価を用いた場合の乗算のアルゴリズムの例(Algorithm 6’)を示す。図14に、図13で求めた元同士の乗算のアルゴリズムの例(Algorithm 7’)を示す。図11のステップ6に示された元の式から、値がゼロの係数が1つと小整数「1」の係数が1つあることが分かる。図13のステップ7に示された元の式から、従来技術である式4の形式の式評価を用いた場合には、式評価同士の乗算の結果には、値がゼロの係数が1つあり、小整数「1」の係数はないことが分かる。そして、式4の形式の式評価を用いたときにはH0’×H1’の計算は図14に示されたアルゴリズムになる。図13に示されたアルゴリズムでは、ステップ1に3回の係数同士の乗算が存在するので、F(p2)上の元同士の乗算は3回である。そして、図14に示されたアルゴリズムでは、ステップ1に5回、ステップ3,5,7,9に2回ずつ、ステップ11,13に1回ずつ係数同士の乗算が存在するので、F(p2)上の元同士の乗算は15回である。したがって、式4の形式の4つの式評価を、図13,14に示された乗算方法でF(p12)上の任意の元fに乗算するときには、F(p2)上の元同士の乗算は39回(3×2+15+18)である。したがって、式評価演算部100が式評価選択部110、式評価乗算部120、元乗算部130、演算制御部140、未選択乗算部150を備えなくても、式4の形式の式評価で計算方法を工夫するよりも、式5の形式で式評価を表現する方が計算コスト削減の効果がある。
さらに、上述のとおり、式評価が式6のように、
Lj=αjyjP+βjxjpw+γjvw
の場合には、式評価を
Lj’=djvN(AjyjP’+w+BjxjP’vw)
ただし、Aj=sjA(αj/βj)、Bj=sjB(γj/βj)
xjP’=1/(sjB・xjP)、yjP’=yjP/(sjA・xjP)
sjAとsjBはあらかじめ定めた定数
のように変形すれば同様の効果が得られる。したがって、図7に示したマルチペアリング演算装置と、図8に示したマルチペアリング演算装置の入力変換と式評価演算の処理フローは、以下のとおりでもよい。ただし、AjとBjをF(p2)上の元とする。
Lj’=djvN(AjyjP’+w+BjxjP’vw)
のように式評価Lj’を生成する(S80)。d0,…,dm−1=1,N=0が最も効率的と考えるが、d0vN,…,dm−1vNを乗算した式評価L0’,L1’,…,Lm−1’を生成してもよい。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
20、70 式評価処理手段 30、80 式評価生成部
40、100 式評価演算部 50、90 記録部
60 マルチペアリング演算装置 110 式評価選択部
120 式評価乗算部 130 元乗算部
140 演算制御部 150 未選択乗算部
Claims (7)
- 群G1の元P0と群G2の元Q0とのペアリングe(P0,Q0)を求めるペアリング演算装置であって、
pを素数または素数のべき乗、Nをあらかじめ定めた0,1,2のいずれかの整数、kを正の整数、F(p)とF(pk)を有限体、P0を有限体F(p)上の楕円曲線の点、Q0を有限体F(p12)上の楕円曲線の点であって固定された点、T01とT02をQ0に対応する有限体F(p12)上の楕円曲線の点、T01=(x01,y01)、T02=(x02,y02)、P0=(x0P,y0P)、eを点P0と点Q0を入力とし有限体F(p12)上の元を出力するペアリング演算を示す記号、fを有限体F(p12)上の元、L0を点T01と点T02を通る直線をP0で評価した式評価、α0,β0,γ0,A0,B0をF(p2)上の元、s0Aとs0Bをあらかじめ定めた定数、d0を小整数とし、
F(p12)上の元を、c0,c1,c2,c3,c4,c5はF(p2)上の元である係数、v3=ξ、w2=v、ξは平方非剰余かつ立方非剰余として、
c0+c1v+c2v2+c3w+c4vw+c5v2w
のように表現することとし、
式評価L0が、
L0=α0y0P+β0x0pw+γ0vw
のときに、
A0=s0A(α0/β0)、B0=s0B(γ0/β0)とし、
A0と所定の関係を持つ値であるa0と、B0と所定の関係を持つ値であるb0を記録した記録部と、
x0P’=1/(s0B・x0P)、y0P’=y0P/(s0A・x0P)を計算する入力変換部と、
前記記録部からa0とb0を読み出し、A 0 とa0 との所定の関係とB 0 とb0 との所定の関係を用いて、
L0’=d0vN(A0y0P’+w+B0x0P’vw)
のように式評価L0’を生成する式評価生成部と、
f,L0’を入力とし、f×L0’の演算結果を出力する式評価演算部と、
を備えることを特徴とするペアリング演算装置。 - 群G1の元P0と群G2の元Q0とのペアリングe(P0,Q0)を求めるペアリング演算装置であって、
pを素数または素数のべき乗、Nをあらかじめ定めた0,1,2のいずれかの整数、kを正の整数、F(p)とF(pk)を有限体、P0を有限体F(p)上の楕円曲線の点、Q0を有限体F(p12)上の楕円曲線の点であって固定された点、T01とT02をQ0に対応する有限体F(p12)上の楕円曲線の点、T01=(x01,y01)、T02=(x02,y02)、P0=(x0P,y0P)、eを点P0と点Q0を入力とし有限体F(p12)上の元を出力するペアリング演算を示す記号、fを有限体F(p12)上の元、点T01と点T02とが異なる場合はλ0=(y02−y01)/(x02−x01)、点T01と点T02とが同じ場合はλ0=3x01 2/2y01、d0を小整数とし、
F(p12)上の元を、c0,c1,c2,c3,c4,c5はF(p2)上の元である係数、v3=ξ、w2=v、ξは平方非剰余かつ立方非剰余として、
c0+c1v+c2v2+c3w+c4vw+c5v2w
のように表現することとし、
(−1/λ0)と所定の関係を持つ値であるa0と、(−(λ0x01−y01)/λ0)と所定の関係を持つ値であるb0を記録した記録部と、
x0P’=1/x0P、y0P’=y0P/x0Pを計算する入力変換部と、
前記記録部からa0とb0を読み出し、(−1/λ 0 )とa0 との所定の関係と(−(λ 0 x 01 −y 01 )/λ 0 )とb0 との所定の関係を用いて、
L0’=d0vN((−1/λ0)y0P’+w+(−(λ0x01−y01)/λ0)x0P’vw)
のように式評価L0’を生成する式評価生成部と、
f,L0’を入力とし、f×L0’の演算結果を出力する式評価演算部と、
を備えることを特徴とするペアリング演算装置。 - m個の群G1の元P0,…,Pm−1と群G2の元Q0,…,Qm−1とのマルチペアリングe(P0,Q0)×e(P1,Q1)×…×e(Pm−1,Qm−1)を求めるマルチペアリング演算装置であって、
mを2以上の整数、jを0以上m−1以下の整数、pを素数または素数のべき乗、Nを0,1,2のいずれかの整数、kを正の整数、F(p)とF(pk)を有限体、Pjを有限体F(p)上の楕円曲線の点、Qjを有限体F(p12)上の楕円曲線の点であって固定された点、Tj1とTj2をQjに対応する有限体F(p12)上の楕円曲線の点、Tj1=(xj1,yj1)、Tj2=(xj2,yj2)、Pj=(xjP,yjP)、eを点Pjと点Qjを入力とし有限体F(p12)上の元を出力するペアリング演算を示す記号、fを有限体F(p12)上の元、Ljを点Tj1と点Tj2を通る直線をPjで評価した式評価、αj,βj,γj,Aj,BjをF(p2)上の元、sjAとsjBをあらかじめ定めた定数、djを小整数とし、
F(p12)上の元を、c0,c1,c2,c3,c4,c5はF(p2)上の元である係数、v3=ξ、w2=v、ξは平方非剰余かつ立方非剰余として、
c0+c1v+c2v2+c3w+c4vw+c5v2w
のように表現することとし、
式評価Ljが、
Lj=αjyjP+βjxjpw+γjvw
のときに、
j=0,…,m−1について、Aj=sjA(αj/βj)、Bj=sjB(γj/βj)とし、
j=0,…,m−1について、Ajと所定の関係を持つ値であるajと、Bjと所定の関係を持つ値であるbjを記録した記録部と、
j=0,…,m−1について、xjP’=1/(sjB・xjP)、yjP’=yjP/(sjA・xjP)を計算する入力変換部と、
j=0,…,m−1のすべてについて、記録部からajとbjを読み出し、A j とaj との所定の関係とB j とbj との所定の関係を用いて、
Lj’=djvN(AjyjP’+w+BjxjP’vw)
のように式評価Lj’を生成する式評価生成部と、
f,L0’,L1’,…,Lm−1’を入力とし、f×L0’×…×Lm−1’の演算結果を出力する式評価演算部と、
を備えることを特徴とするマルチペアリング演算装置。 - m個の群G1の元P0,…,Pm−1と群G2の元Q0,…,Qm−1とのマルチペアリングe(P0,Q0)×e(P1,Q1)×…×e(Pm−1,Qm−1)を求めるマルチペアリング演算装置であって、
mを2以上の整数、jを0以上m−1以下の整数、pを素数または素数のべき乗、Nを0,1,2のいずれかの整数、kを正の整数、F(p)とF(pk)を有限体、Pjを有限体F(p)上の楕円曲線の点、Qjを有限体F(p12)上の楕円曲線の点であって固定された点、Tj1とTj2をQjに対応する有限体F(p12)上の楕円曲線の点、Tj1=(xj1,yj1)、Tj2=(xj2,yj2)、Pj=(xjP,yjP)、eを点Pjと点Qjを入力とし有限体F(p12)上の元を出力するペアリング演算を示す記号、fを有限体F(p12)上の元、点Tj1と点Tj2とが異なる場合はλj=(yj2−yj1)/(xj2−xj1)、点Tj1と点Tj2とが同じ場合はλj=3xj1 2/2yj1、djを小整数とし、
F(p12)上の元を、c0,c1,c2,c3,c4,c5はF(p2)上の元である係数、v3=ξ、w2=v、ξは平方非剰余かつ立方非剰余として、
c0+c1v+c2v2+c3w+c4vw+c5v2w
のように表現することとし、
j=0,…,m−1について、(−1/λj)と所定の関係を持つ値であるajと、(−(λjxj1−yj1)/λj)と所定の関係を持つ値であるbjを記録した記録部と、
j=0,…,m−1について、xjP’=1/xjP、yjP’=yjP/xjPを計算する入力変換部と、
j=0,…,m−1のすべてについて、記録部からajとbjを読み出し、(−1/λ j )とaj との所定の関係と(−(λ j x j1 −y j1 )/λ j )とbj との所定の関係を用いて、
Lj’=djvN((−1/λj)yjP’+w+(−(λjxj1−yj1)/λj)xjP’vw)
のように式評価Lj’を生成する式評価生成部と、
f,L0’,L1’,…,Lm−1’を入力とし、f×L0’×…×Lm−1’の演算結果を出力する式評価演算部と、
を備えることを特徴とするマルチペアリング演算装置。 - 請求項3または4記載のマルチペアリング演算装置であって、
前記式評価演算部は、
選択されていない式評価L0’,L1’,…,Lm−1’の中から4個を選択し、h0,h1,h2,h3とする式評価選択部と、
L”←h0×h1×h2×h3 を計算する式評価乗算部と、
f←f×L” を計算し、fを更新する元乗算部と、
L0’,L1’,…,Lm−1’の中で、前記式評価選択部で選択されていない式評価の数が4より少なくなるまで、前記式評価選択部と前記式評価乗算部と前記元乗算部の処理を繰り返す演算制御部と、
L0’,L1’,…,Lm−1’の中で、前記式評価選択部で選択されていない式評価がある場合は、選択されていない式評価のすべてをfに乗算し、乗算結果にfを更新する未選択乗算部と、
を備え、fを演算結果として出力する
ことを特徴とするマルチペアリング演算装置。 - 請求項5記載のマルチペアリング演算装置であって、
前記式評価乗算部は、
L0’←h0×h1, L1’←h2×h3
を計算し、
L”←L0’×L1’
のようにL”を計算する
ことを特徴とするマルチペアリング演算装置。 - 請求項1もしくは2記載のペアリング演算装置、請求項3〜6のいずれかに記載されたマルチペアリング演算装置のいずれかの演算装置としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014007518A JP6067596B2 (ja) | 2014-01-20 | 2014-01-20 | ペアリング演算装置、マルチペアリング演算装置、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014007518A JP6067596B2 (ja) | 2014-01-20 | 2014-01-20 | ペアリング演算装置、マルチペアリング演算装置、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015135452A JP2015135452A (ja) | 2015-07-27 |
JP6067596B2 true JP6067596B2 (ja) | 2017-01-25 |
Family
ID=53767307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014007518A Active JP6067596B2 (ja) | 2014-01-20 | 2014-01-20 | ペアリング演算装置、マルチペアリング演算装置、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6067596B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10848471B2 (en) | 2017-09-25 | 2020-11-24 | Ntt Communications Corporation | Communication apparatus, communication method, and program |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6755434B2 (ja) | 2018-05-15 | 2020-09-16 | 三菱電機株式会社 | 秘匿検索装置および秘匿検索方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101301139B1 (ko) * | 2009-04-24 | 2013-09-03 | 니뽄 덴신 덴와 가부시키가이샤 | 유한체 연산장치, 유한체 연산방법, 프로그램 및 기록매체 |
-
2014
- 2014-01-20 JP JP2014007518A patent/JP6067596B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10848471B2 (en) | 2017-09-25 | 2020-11-24 | Ntt Communications Corporation | Communication apparatus, communication method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP2015135452A (ja) | 2015-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4334582B2 (ja) | 秘密分散装置、方法及びプログラム | |
US11374735B2 (en) | Processing apparatus, processing method, storage medium, and encryption processing system | |
US11521129B2 (en) | Processing device, accelerator, and method for federated learning | |
US11373098B2 (en) | Processing apparatus, learning apparatus, processing method, and nonvolatile recording medium | |
JP2021064008A (ja) | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム | |
CN106464484A (zh) | 预定函数的混淆执行 | |
JP6067596B2 (ja) | ペアリング演算装置、マルチペアリング演算装置、プログラム | |
JP5526284B2 (ja) | 代理計算システム、方法、依頼装置及びプログラム | |
JP6585846B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
JP5175983B2 (ja) | 演算装置 | |
US10050775B2 (en) | Element replication device, element replication method, and program | |
KR101925614B1 (ko) | 타원곡선 암호화 시스템에서의 스칼라 곱셈 처리 방법 및 타원곡선 암호화 시스템 | |
JP2015166867A (ja) | 楕円曲線上のデータの暗号処理方法、対応する電子装置およびコンピュータ・プログラム・プロダクト | |
JP6023728B2 (ja) | マルチペアリング演算装置、マルチペアリング演算方法、マルチペアリング演算プログラム | |
JP5840086B2 (ja) | 縮約装置、縮約方法、およびプログラム | |
JP2013105377A (ja) | 学習装置、学習方法、プログラム | |
JP6524340B2 (ja) | 計算機及び計算方法 | |
KR100976232B1 (ko) | 고속 비트-병렬 다항식 곱셈기, 그 곱셈 방법 | |
JP5791562B2 (ja) | 圧縮関数演算装置、圧縮関数演算方法、およびプログラム | |
JP6040052B2 (ja) | ペアリング演算装置、ペアリング演算方法、およびプログラム | |
CN109582295A (zh) | 一种数据处理方法、装置、存储介质及处理器 | |
JP4861272B2 (ja) | 楕円曲線暗号演算装置、方法、プログラム | |
KR101423947B1 (ko) | 확장된 nist 소수를 이용한 모듈러 곱셈 및 모듈러 지수승 방법 | |
KR102000914B1 (ko) | 자연수에 적용가능하며 무조건적이며 결정론 방식을 이용한 소수판별 및 소인수분해 방법 | |
JP5427195B2 (ja) | 代理計算システム、方法、依頼装置、計算装置、プログラム |
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 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161004 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161124 |
|
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: 20161220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6067596 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |