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

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

Info

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
Application number
JP2014007518A
Other languages
English (en)
Other versions
JP2015135452A (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 JP2014007518A priority Critical patent/JP6067596B2/ja
Publication of JP2015135452A publication Critical patent/JP2015135452A/ja
Application granted granted Critical
Publication of JP6067596B2 publication Critical patent/JP6067596B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報セキュリティ技術のためのペアリング演算装置、マルチペアリング演算装置、プログラムに関する。
図1は、Barreto-Naehrig楕円曲線(BN曲線,E:y=x+b,b≠0∈F(p))上のOptimal Ateペアリングの従来のアルゴリズムを示す図である。そして、このようなペアリング演算の入力の一方の元が固定されている場合に、事前に計算可能な値を事前に計算して記録しておくことで、元が入力されたときの計算速度を高速化する技術として非特許文献1が知られている。
C. Costello, D. Stebila, "Fixed Argument Pairings," LATINCRYPT 2010, LNCS 6212, pp. 92-108, 2010.
ペアリング暗号では、IDベース暗号や関数型暗号など利便性の高い暗号方式が構成できる。これらの暗号方式ではペアリング演算が必要となるため、実用的なシステムの構成のためには、ペアリング演算が高速に計算できることが求められる。ペアリング暗号システムでは、事前に秘密情報(例えば,秘密鍵)が配布されており、ペアリング演算の際に秘密情報を入力の片方として計算することがある。この場合、入力の一方が固定であることを利用して、オフライン事前計算によりペアリング演算の高速化が可能となる。また関数型暗号などの高機能な暗号方式では、複数のペアリング演算の積を計算するマルチペアリング演算で片方の入力が固定である場合もあり、この場合でも、オフライン事前計算によりマルチペアリング演算の高速化が可能となる。しかしながら、暗号システムの高機能化が進んでいる状況から、さらなる高速化が求められている。
本発明は、楕円曲線上のペアリングについて従来技術を改良し、さらに計算速度を高速化することを目的とする。
まず、mを2以上の整数、jを0以上m−1以下の整数、pを素数または素数のべき乗、Nをあらかじめ定めた0,1,2のいずれかの整数、kを正の整数、F(p)とF(p)を有限体、Pを有限体F(p)上の楕円曲線の点、Qを有限体F(p12)上の楕円曲線の点であって固定された点、Tj1とTj2をQに対応する有限体F(p12)上の楕円曲線の点、Tj1=(xj1,yj1)、Tj2=(xj2,yj2)、P=(xjP,yjP)、eを点Pと点Qを入力とし有限体F(p12)上の元を出力するペアリング演算を示す記号、fを有限体F(p12)上の元、Lを点Tj1と点Tj2を通る直線をPで評価した式評価、α,β,γ,A,BをF(p)上の元、dを小整数とし、
F(p12)上の元を、c,c,c,c,c,cはF(p)上の元である係数、v=ξ、w=v、ξは平方非剰余かつ立方非剰余として、
+cv+c+cw+cvw+c
のように表現することとする。また、式評価Lは、
=αjP+βjpw+γvw
である。
本発明のペアリング演算装置は、群Gの元Pと群Gの元Qとのペアリングe(P,Q)を求める。本発明のペアリング演算装置は、記録部、入力変換部、式評価生成部、式評価演算部を備える。記録部は、Aと所定の関係を持つ値であるaと、Bと所定の関係を持つ値であるbを記録している。入力変換部は、x0Pとy0Pから、x0P’=γ/(B・β・x0P)、y0P’=(α・y0P)/(A・β・x0P)が成り立つx0P’とy0P’を求める。式評価生成部は、記録部からaとbを読み出し、aとbを用いて、
’=d(A0P’+w+B0P’vw)
のように式評価L’を生成する。式評価演算部は、f,L’を入力とし、f×L’の演算結果を出力する。
本発明のマルチペアリング演算装置は、m個の群Gの元P,…,Pm−1と群Gの元Q,…,Qm−1とのマルチペアリングe(P,Q)×e(P,Q)×…×e(Pm−1,Qm−1)を求める。本発明のマルチペアリング演算装置は、記録部、式評価生成部、式評価演算部を備える。記録部は、j=0,…,m−1について、Aと所定の関係を持つ値であるaと、Bと所定の関係を持つ値であるbを記録している。入力変換部は、j=0,…,m−1について、xjPとyjPから、xjP’=γ/(B・β・xjP)、yjP’=(α・yjP)/(A・β・xjP)が成り立つxjP’とyjP’を求める。式評価生成部は、j=0,…,m−1のすべてについて、記録部からaとbを読み出し、aとbを用いて、
’=d(AjP’+w+BjP’vw)
のように式評価L’を生成する。式評価演算部は、f,L’,L’,…,Lm−1’を入力とし、f×L’×…×Lm−1’の演算結果を出力する。
本発明のペアリング演算装置とマルチペアリング装置によれば、点Qが固定されていることを利用してあらかじめAと所定の関係を持つ値であるaと、Bと所定の関係を持つ値であるbを記録しておく。そして、可変である点Pが入力されると、
’=d(AjP’+w+BjP’vw)
のように式評価L’を生成し、式評価の乗算を行う。このような形式の式評価L’であれば、有限体F(p12)上の任意の元との乗算において、Lよりも有限体F(p)上の乗算回数を少なくできる。つまり、式評価をLからL’に変更したことで計算コストが増えてしまう計算は、点Qが固定されていることを利用して事前に計算しておき、点Pが入力された後の計算コストを削減している。したがって、点Pが入力されてからの計算速度を高速化できる。
Barreto-Naehrig楕円曲線上のOptimal Ateペアリングの従来のアルゴリズムを示す図。 式5を用いた場合のOptimal Ateペアリングのアルゴリズム(Algorithm 2)を示す図。 図2のステップ7,12,21,24の乗算のアルゴリズムの具体例(Algorithm 3)を示す図。 F(p12)上の任意の元と式4の形式の元との乗算のアルゴリズム(Algorithm 3’)を示す図。 本発明のペアリング演算装置の機能構成例を示す図。 本発明のペアリング演算装置の入力変換と式評価演算の処理フロー例を示す図。 本発明のマルチペアリング演算装置の機能構成例を示す図。 本発明のマルチペアリング演算装置の入力変換と式評価演算の処理フローの例を示す図。 Optimal Ateペアリングにおけるマルチペアリングのアルゴリズムの例(Algorithm 4)を示す図。 図9のステップ7,12,21,24の乗算のアルゴリズムの例(Algorithm 5)を示す図。 図10のステップ3の計算のアルゴリズム(Algorithm 6)を示す図。 図10のステップ4の計算のアルゴリズム(Algorithm 7)を示す図。 従来技術である式4の形式の式評価を用いた場合の乗算のアルゴリズムの例(Algorithm 6’)を示す図。 図13で求めた元同士の乗算のアルゴリズムの例(Algorithm 7’)を示す図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。まず、mを2以上の整数、jを0以上m−1以下の整数、pを素数または素数のべき乗、Nをあらかじめ定めた0,1,2のいずれかの整数、kを正の整数、F(p)とF(p)を有限体、Pを有限体F(p)上の楕円曲線の点、Qを有限体F(p12)上の楕円曲線の点であって固定された点、Tj1とTj2をQに対応する有限体F(p12)上の楕円曲線の点、Tj1=(xj1,yj1)、Tj2=(xj2,yj2)、P=(xjP,yjP)、eを点Pと点Qを入力とし有限体F(p12)上の元を出力するペアリング演算を示す記号、fを有限体F(p12)上の元、Lを点Tj1と点Tj2を通る直線をPで評価した式評価、dを小整数とする。なお、点Tj1と点Tj2とが同一の点の場合、「点Tj1と点Tj2を通る直線」は点Tj1での接線である。また、「小整数」とは少なくとも1を含む値の小さい整数であり、例えば、任意の元fと小整数dとの乗算(d×f)を、任意の元fのd−1回の加算(f+f+…+f)で行った方が、計算コストが小さくなるような整数である。演算装置、演算方法、プログラムによって具体的な小整数は異なるが、ある演算装置が、整数dと元fとの乗算(d×f)を加算(f+f+…+f)に置き換えて計算している場合、その演算装置においては、整数dは小整数である。また、小整数dは負の整数でもよい。
F(p12)上の元を、c,c,c,c,c,cはF(p)上の元である係数、v=ξ、w=v、ξは平方非剰余かつ立方非剰余として、
+cv+c+cw+cvw+c
のように表現することとする。
また、図1に示すアルゴリズムでは、TがT01に相当し、T,Q,Q’,−Q”がT02に相当し、aoptがeに相当し、
Figure 0006067596
がLに相当する。また、アルゴリズムの具体例を示す図では、F(p)は、
Figure 0006067596
のように示されている。
<従来技術の分析>
ペアリング演算には、点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)
ただし、v=ξ、w=v、βは平方非剰余、ξは平方非剰余かつ立方非剰余
のように構成する。そして、F(p12)上の元Cを
C=c+cv+c+cw+cvw+cw (式1)
ただし、c,c,c,c,c,c ∈F(p
のように表現する。なお、6次のツイスト曲線E’は、y=x+b/ξ である。このとき、点(x,y)に対してE’,Eの同型写像(x,y)→(xw,yw)となる
Φ:E’(F(p))→E(F(p12))
が存在する。
Affine座標系の例
j1=(xj1,yj1)、Tj2=(xj2,yj2)、P=(xjP,yjP)とする。λ=(yj2−yj1)/(xj2−xj1)に対して、点加算と式評価(点Tj1と点Tj2とが異なる場合)は、
j3=λ −xj1−x2j
j3=λ(xj1−xj3)−y1j
=yjP−λjpw+(λj1−yj1)vw (式2)
となる。また、点2倍算と式評価(点Tj1と点Tj2とが同じ場合)は、λ=3xj1 /2yj1に対して
j3=λ −2xj1
j3=λ(xj1−xj3)−yj1
=yjP−λjpw+(λj1−yj1)vw (式3)
となる。ここで、式1に示したF(p12)上の元Cはc,c,c,c,c,cの6つの係数が存在するが、式2、式3に示した式評価ではその中の3つの係数がゼロであることが分かる。
Affine座標系の異なる形式の式評価の例
式2、式3を
jP’・L=1−λjp’w+yjP’(λj1−yj1)vw (式4)
ただし、xjp’=xjp/yjP, yjP’=1/yjP
のように変換して式評価としてもよい。このように変形しても、yjP’の部分は最終べきの計算(図1のアルゴリズムのステップ14)で除去されるため、ペアリング演算の結果には影響しない。式4のように変形すると、3つの係数がゼロであり1つの係数が小整数の「1」であることが分かる。
非特許文献1では、事前に計算可能な値を事前に計算して記録しておく考え方をこの形式に当てはめ、(−λ,λj1−yj1)を事前に計算して記録している。また、
jp’=xjp/yjP, yjP’=1/yjP
の計算は、点Pの入力に対して1回行えばよいだけなので、点Pが入力された後の計算コストを削減できる。
<本発明で利用する式評価>
本発明では、式評価を式4とは異なる形式に変形することで、計算コストを削減する。まず、1つの式評価の具体例を示して説明する。その具体例は、
’=−1/(λ・xjp)・L
=(−1/λ)yjP’+w+(−(λj1−yj1)/λ)xjP’vw (式5)
ただし、xjP’=1/xjP、 yjP’=yjP/xjP
である。この評価式の場合、(−1/λ,−(λj1−yj1)/λ)を事前に計算して記録しておけばよい。(−1/λ,−(λj1−yj1)/λ)の計算には逆元算が必要であり、乗算よりも低速な計算になるが、点Pが入力された後の計算コストには影響しない。また、点Pの入力に対して
jP’=1/xjP、 yjP’=yjP/xjP
の計算を1回行えばよい。なお、−1/(λ・xjp)の部分は最終べきの計算で除去されるため、ペアリング演算の結果には影響しない。また、−1/λと−(λj1−yj1)/λを事前に計算して記録しておくのが最も効率的と考えられる。しかし、乗算や逆元算のような低速な計算を必要とせずに−1/λと−(λj1−yj1)/λを求められる別の値を記録しておいてもよい。
図2は、式5を用いた場合のOptimal Ateペアリングのアルゴリズム(Algorithm 2)である。また、図3は、図2のステップ7,12,21,24の乗算のアルゴリズムの具体例(Algorithm 3)である。このようなアルゴリズムで、ペアリング演算ができる。図2のアルゴリズムでは、ステップ25が最終べきの計算である。なお、図2では式評価を小文字のエルで示している。
次に、式4と式5の違いを説明する。図3に示したアルゴリズムは、
A=a+av+a+aw+avw+a
のように表現できるF(p12)上の任意の元Aと、
B=b+w+bvw
のように表現できる式5の形式の元Bとの乗算のアルゴリズムである。これと対比するために、図4にF(p12)上の任意の元と式4の形式の元との乗算のアルゴリズム(Algorithm 3’)を示す。図4では、式4の形式の元を
B=1+bw+bvw
と表現している。図3と図4に示したアルゴリズムでは、F(p)上の元である係数同士の乗算回数が計算コストを決める要素である。図3では、ステップ1,4,7に3回ずつ係数同士の乗算が存在するので、F(p)上の元同士の乗算は9回である。一方、図4では、ステップ1,6に4回ずつ、ステップ2,7に1回ずつ係数同士の乗算が存在するので、F(p)上の元同士の乗算は10回である。したがって、式5の形式に変換した方が、計算コストが小さいことが分かる。
F(p12)上の任意の元同士の乗算の場合、単純に係数同士を組み合わせると36個の組み合わせがあるので、36回のF(p)上の元同士の乗算がある。そして、カラツバ法(Karatsuba法)を利用することで18回の乗算で計算できることが知られている。図3や図4のアルゴリズムでは、値がゼロや小整数の係数が含まれているので、乗算回数がさらに少なくなっている。そして、式4と式5の形式は、どちらも値がゼロの係数が3つあり、1つの係数が「1」であることは同じである。したがって、乗算回数の差は、どの係数を「1」にしているかによって生じている。本発明は、どの係数を「1」にするかによって、計算コストを削減する効果を得ている。
同様の効果が得られる式評価
「小整数d」は、任意の元fと小整数dとの乗算(d×f)を、任意の元fのd−1回の加算(f+f+…+f)で行った方が、計算コストが小さくなるような整数なので、「1」となっている係数の部分を他の小整数に変更しても、従来に比べれば計算コストを削減できる。したがって、
’=d((−1/λ)yjP’+w+(−(λj1−yj1)/λ)xjP’vw),
で表現される式評価L’でも従来に比べれば計算コストを削減できる。
また、この式評価にvを乗算した式評価、vを乗算した式評価でも、式5と同じようにF(p)上の元同士の乗算を9回にできる。つまり、
’=d((−1/λ)yjP’v+vw+(−(λj1−yj1)/λ)xjP’vw)
または
’=d((−1/λ)yjP’v+vw+(−(λj1−yj1)/λ)xjP’ξw)
の場合も、従来に比べれば計算コストを削減できる。上記の内容をまとめると、
’=d((−1/λ)yjP’+w+(−(λj1−yj1)/λ)xjP’vw)
のような式評価L’であれば同様の効果が得られる。なお、式評価Lを式評価L’に変換するために乗算する−d/(λ・xjp)vの部分はF(p)の元なので最終べきの計算で除去されるため、ペアリング演算の結果には影響しない。
さらに、式評価Lが式2,3以外の場合でも同様の効果が得られる場合がある。具体的には、式評価L
=αjP+βjpw+γvw (式6)
ただし、α,β,γはF(p)上の元
の場合には、
’=1/(β・xjp)・L
=(α・yjP)/(β・xjP))+w+(γ/(β・xjP))vw (式7)
のようにwの係数が1になるように変形すれば、式5の場合と同じようにF(p)上の元同士の乗算を9回にできる。また、vまたはvをさらに乗算しても同様である。つまり、AとBをF(p)上の元とし、式評価を
’=d(AjP’+w+BjP’vw)
ただし、A=sjA(α/β)、B=sjB(γ/β
jP’=1/(sjB・xjP)、yjP’=yjP/(sjA・xjP
jAとsjBはあらかじめ定めた定数
のように変換できれば、同様の効果が得られる。sjA=1、sjB=1の場合が最も簡単な計算になると考えるが、x0P’とy0P’の計算は図2のアルゴリズムのステップ2に示すように、ステップ3以下の繰り返し処理の前に1回行っているだけである。このように、点Pの入力に対して1回行うだけなので、sjAとsjBの場合は小整数に限らなくても、点Pの入力後の計算コストは従来よりも小さくできる。なお、F(p)上の元を乗算することで式評価Lを式評価L’に変換すれば、乗算した元の部分は最終べきの計算で除去されるため、ペアリング演算の結果には影響しない。
図5に本発明のペアリング演算装置の機能構成例を示す。また、図6に本発明のペアリング演算装置の入力変換と式評価演算の処理フロー例を示す。ペアリング演算装置10は、群Gの元Pと群Gの元Qとのペアリングe(P,Q)を求める。ペアリング演算装置10は、記録部50が事前計算の結果を記録していることと、入力変換部15、式評価処理手段20を有することを特徴としており、点加算や点2倍算などのその他の処理を行う構成部も有するが、それらは従来技術と同じである。図5,6では従来技術と同じ構成部は省略している。式評価処理手段20は、式評価生成部30と式評価演算部40からなる。
記録部50は、(−1/λ)と所定の関係を持つ値であるaと、(−(λ01−y01)/λ)と所定の関係を持つ値であるbを記録している。上述のとおり、a=−1/λ、b=−(λ01−y01)/λとするのが最も効率的と考える。しかし、例えば、(−1/λ)に定数を加算した値をaとして記憶しておき、読み出した後にその定数を減算して(−1/λ)を求めても、計算コストへの影響は小さい。よって、乗算や逆元算のような低速な計算を必要とせずに−1/λと−(λ01−y01)/λを求められる別の値をaとbとして記録しておいてもよい。ここでは、「所定の関係を持つ値」は、低速な計算を必要とせずに−1/λと−(λ01−y01)/λを求めることができる値の意味である。
入力変換部15は、x0P’=1/x0P、y0P’=y0P/x0Pを計算する(S15)。式評価生成部30は、記録部50からaとbを読み出し、aとbを用いて、
’=d((−1/λ)y0P’+w+(−(λ01−y01)/λ)x0P’vw)
のように式評価L’を生成する(S30)。上述のとおり、d=1,N=0が最も効率的と考えるが、dを乗算した式評価L’を生成してもよい。式評価演算部40は、f,L’を入力とし、f×L’の演算結果を出力する(S40)。例えば、図3に示したアルゴリズムで計算すればよい。また、ステップS30、S40が式評価の処理(S20)である。なお、図2では、ステップ2がS15に、ステップ6,11,20,23がS30に、ステップ7,12,21,24がS40に相当する。
ペアリング演算装置10によれば、式評価L’を用いているので、有限体F(p12)上の任意の元とL’との乗算において、有限体F(p)上の乗算回数を少なくできる。つまり、式評価を変更したことで計算コストが増えてしまう計算は、点Qが固定されていることを利用して事前に計算しておき、点Pが入力された後の計算コストを削減している。したがって、点Pが入力されてからの計算速度を高速化できる。
[変形例]
さらに、上述のとおり、式評価が式6のように、
=αjP+βjpw+γvw
の場合には、式評価を
’=d(AjP’+w+BjP’vw)
ただし、A=sjA(α/β)、B=sjB(γ/β
jP’=1/(sjB・xjP)、yjP’=yjP/(sjA・xjP
jAとsjBはあらかじめ定めた定数
のように変形すれば同様の効果が得られる。したがって、図5に示したペアリング演算装置と、図6に示したペアリング演算装置の入力変換と式評価演算の処理フローは、以下のとおりでもよい。ただし、AとBをF(p)上の元とする。
ペアリング演算装置10は、群Gの元Pと群Gの元Qとのペアリングe(P,Q)を求める。ペアリング演算装置10は、記録部50が事前計算の結果を記録していることと、入力変換部15、式評価処理手段20を有することを特徴としている。式評価処理手段20は、式評価生成部30と式評価演算部40からなる。
=s0A(α/β)、B=s0B(γ/β)とする。そして、記録部50は、Aと所定の関係を持つ値であるaと、Bと所定の関係を持つ値であるbを記録している。a=A、b=Bとするのが最も効率的と考える。しかし、例えば、Aに定数を加算した値をaとして記憶しておき、読み出した後にその定数を減算してAを求めても、計算コストへの影響は小さい。よって、乗算や逆元算のような低速な計算を必要とせずにAとBを求められる別の値をaとbとして記録しておいてもよい。ここでは、「所定の関係を持つ値」は、低速な計算を必要とせずにAとBを求めることができる値の意味である。
入力変換部15は、x0P’=1/(s0B・x0P)、y0P’=y0P/(s0A・x0P)を計算する(S15)。式評価生成部30は、記録部50からaとbを読み出し、aとbを用いて、
’=d(A0P’+w+B0P’vw)
のように式評価L’を生成する(S30)。d=1,N=0が最も効率的と考えるが、dを乗算した式評価L’を生成してもよい。式評価演算部40は、f,L’を入力とし、f×L’の演算結果を出力する(S40)。
図7に本発明のマルチペアリング演算装置の機能構成例を、図8に本発明のマルチペアリング演算装置の入力変換と式評価演算の処理フローの例を示す。マルチペアリング演算装置60は、m個の群Gの元P,…,Pm−1と群Gの元Q,…,Qm−1とのマルチペアリングe(P,Q)×e(P,Q)×…×e(Pm−1,Qm−1)を求める。マルチペアリング演算装置60は、記録部90が事前計算の結果を記録していることと、入力変換部65、式評価処理手段70を有することを特徴としており、点加算や点2倍算などのその他の処理を行う構成部も有するが、それらは従来技術と同じである。図7,8では従来技術と同じ構成部は省略している。式評価処理手段70は、式評価生成部80と式評価演算部100からなる。
記録部90は、j=0,…,m−1について、(−1/λ)と所定の関係を持つ値であるaと、(−(λj1−yj1)/λ)と所定の関係を持つ値であるbを記録している。上述のとおり、a=−1/λ、b=−(λj1−yj1)/λとするのが最も効率的と考える。しかし、乗算や逆元算のような低速な計算を必要とせずに−1/λと−(λj1−yj1)/λを求められる別の値をaとbとして記録しておいてもよい。ここでは、「所定の関係を持つ値」は、低速な計算を必要とせずに−1/λと−(λj1−yj1)/λを求めることができる値の意味である。
入力変換部65は、j=0,…,m−1について、xjP’=1/xjP、yjP’=yjP/xjPを計算する(S65)。式評価生成部80は、j=0,…,m−1のすべてについて、記録部からaとbを読み出し、aとbを用いて、
’=d((−1/λ)yjP’+w+(−(λj1−yj1)/λ)xjP’vw)
のように式評価L’を生成する(S80)。なお、Nはあらかじめ定めた0,1,2のいずれかの整数であり、j=0,…,m−1のすべてについて同じ値である。上述のとおり、d,…,dm−1=1,N=0が最も効率的と考えるが、d,…,dm−1を乗算した式評価L’,L’,…,Lm−1’を生成してもよい。
式評価演算部100は、f,L’,L’,…,Lm−1’を入力とし、f×L’×…×Lm−1’の演算結果を出力する(S100)。ステップS80、S100が式評価の処理(S70)である。ステップS100では、
f←f×L
の処理を、j=0,…,m−1について繰り返せば、実施例1のペアリング演算装置10と同様の効果が得られる。
また、式評価にゼロの係数があることを利用すれば、さらに計算コストを削減することができる。その場合は、式評価演算部100は、式評価選択部110、式評価乗算部120、元乗算部130、演算制御部140、未選択乗算部150を備える。式評価選択部110は、選択されていない式評価L’,L’,…,Lm−1’の中から4個を選択し、h,h,h,hとする(S110)。
式評価乗算部120は、
L”←h×h×h×h
を計算する(S120)。式評価乗算部120は、h,h,h,hをゼロまたは小整数の係数を含む元同士の演算がより多くなるように工夫して乗算すればよい。例えば、
’←h×h, H’←h×h
L”←H’×H
のようにL”を計算すればよい。
元乗算部130は、
f←f×L”
を計算し、fを更新する(S130)。演算制御部140は、L’,L’,…,Lm−1’の中で、式評価選択部110で選択されていない式評価の数が4より少なくなるまで、式評価選択部110と式評価乗算部120と元乗算部130の処理(S110,S120,S130)を繰り返す(S140)。未選択乗算部150は、L’,L’,…,Lm−1’の中で、式評価選択部で選択されていない式評価がある場合は、選択されていない式評価のすべてをfに乗算し、乗算結果にfを更新する(S150)。式評価演算部100は、L,L,…,Lm−1のすべてを乗算されたfを演算結果として出力する。
マルチペアリング演算装置60によれば、マルチペアリング演算の処理に含まれるf×L×…×Lm−1の演算において、まずゼロまたは小整数の係数を含む式評価L,L,…,Lm−1の中から4個の式評価を選択して乗算する処理を繰り返すので、係数にゼロや小整数を持つ元同士の演算を増やせる。したがって、計算コストを削減でき、計算速度を高速化できる。
<アルゴリズムの具体例>
図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)を用いればよい。
図10のステップ3では、h,h,h,hとして
Figure 0006067596
が選択され、
’←h×h, H’←h×h
の計算が行われる。そして、ステップ4で
L”←H’×H
のようにL”が求められている。つまり、ステップ3の式評価の選択部分がS110に相当し、ステップ3のH’とH’の計算の部分と、ステップ4がS120に相当する。また、ステップ5がS130に相当し、ステップ1,2,6がS140に相当し、ステップ7〜10がS150に相当する。
式4の形式の4つの式評価を、図4に示された従来の乗算方法でF(p12)上の任意の元fに乗算するときに、
f←f×L
の処理を4回繰り返した場合、F(p)上の元同士の乗算は40回(4×10)である。一方、式5の形式の4つの式評価を、図3に示された従来の乗算方法でF(p12)上の任意の元fに乗算するときに、
f←f×L
の処理を4回繰り返した場合、F(p)上の元同士の乗算は36回(4×9)である。したがって、式評価演算部100が式評価選択部110、式評価乗算部120、元乗算部130、演算制御部140、未選択乗算部150を備えなくても、従来に比べれば計算コスト削減の効果がある。
そして、式5の形式の4つの式評価を、図10〜12に示したアルゴリズムでF(p12)上の任意の元fに乗算するときには、次のようになる。図11にはステップ1に3回の係数の乗算があるので、F(p)上の元同士の乗算は3回である。図12にはステップ1,2に4回ずつ、ステップ3に1回の係数同士の乗算が存在するので、F(p)上の元同士の乗算は9回である。また、F(p12)上の任意の元同士の乗算の場合、F(p)上の元同士の乗算は18回である(従来技術なので理由は省略する)。したがって、F(p)上の元同士の乗算は33回(3×2+9+18)である。このように、マルチペアリング演算の処理に含まれるf×L’×…×Lm−1’の演算において、式評価L’,L’,…,Lm−1’の中からΔ個以下の式評価を選択して乗算する処理を繰り返すことで、係数にゼロや小整数を持つ元同士の演算を増やせる。したがって、式5の形式の式評価を用い、式評価演算部100が式評価選択部110、式評価乗算部120、元乗算部130、演算制御部140、未選択乗算部150を備えることで、さらに計算コストを削減できる。
次に、式4の形式の式評価を用いて
’←h×h, H’←h×h
L”←H’×H
f←f×L”
のようにfを更新することを繰り返す方法と比較する。図13に、従来技術である式4の形式の式評価を用いた場合の乗算のアルゴリズムの例(Algorithm 6’)を示す。図14に、図13で求めた元同士の乗算のアルゴリズムの例(Algorithm 7’)を示す。図11のステップ6に示された元の式から、値がゼロの係数が1つと小整数「1」の係数が1つあることが分かる。図13のステップ7に示された元の式から、従来技術である式4の形式の式評価を用いた場合には、式評価同士の乗算の結果には、値がゼロの係数が1つあり、小整数「1」の係数はないことが分かる。そして、式4の形式の式評価を用いたときにはH’×H’の計算は図14に示されたアルゴリズムになる。図13に示されたアルゴリズムでは、ステップ1に3回の係数同士の乗算が存在するので、F(p)上の元同士の乗算は3回である。そして、図14に示されたアルゴリズムでは、ステップ1に5回、ステップ3,5,7,9に2回ずつ、ステップ11,13に1回ずつ係数同士の乗算が存在するので、F(p)上の元同士の乗算は15回である。したがって、式4の形式の4つの式評価を、図13,14に示された乗算方法でF(p12)上の任意の元fに乗算するときには、F(p)上の元同士の乗算は39回(3×2+15+18)である。したがって、式評価演算部100が式評価選択部110、式評価乗算部120、元乗算部130、演算制御部140、未選択乗算部150を備えなくても、式4の形式の式評価で計算方法を工夫するよりも、式5の形式で式評価を表現する方が計算コスト削減の効果がある。
[変形例]
さらに、上述のとおり、式評価が式6のように、
=αjP+βjpw+γvw
の場合には、式評価を
’=d(AjP’+w+BjP’vw)
ただし、A=sjA(α/β)、B=sjB(γ/β
jP’=1/(sjB・xjP)、yjP’=yjP/(sjA・xjP
jAとsjBはあらかじめ定めた定数
のように変形すれば同様の効果が得られる。したがって、図7に示したマルチペアリング演算装置と、図8に示したマルチペアリング演算装置の入力変換と式評価演算の処理フローは、以下のとおりでもよい。ただし、AとBをF(p)上の元とする。
マルチペアリング演算装置60は、m個の群Gの元P,…,Pm−1と群Gの元Q,…,Qm−1とのマルチペアリングe(P,Q)×e(P,Q)×…×e(Pm−1,Qm−1)を求める。マルチペアリング演算装置60は、記録部90が事前計算の結果を記録していることと、入力変換部65、式評価処理手段70を有することを特徴としている。式評価処理手段70は、式評価生成部80と式評価演算部100からなる。
j=0,…,m−1について、A=sjA(α/β)、B=sjB(γ/β)とする。そして、記録部90は、j=0,…,m−1について、Aと所定の関係を持つ値であるaと、Bと所定の関係を持つ値であるbを記録している。a=A、b=Bとするのが最も効率的と考える。しかし、乗算や逆元算のような低速な計算を必要とせずにAとBを求められる別の値をaとbとして記録しておいてもよい。ここでは、「所定の関係を持つ値」は、低速な計算を必要とせずにAとBを求めることができる値の意味である。
入力変換部65は、j=0,…,m−1について、xjP’=1/(sjB・xjP)、yjP’=yjP/(sjA・xjP)を計算する(S65)。式評価生成部80は、j=0,…,m−1のすべてについて、記録部90からaとbを読み出し、aとbを用いて、
’=d(AjP’+w+BjP’vw)
のように式評価L’を生成する(S80)。d,…,dm−1=1,N=0が最も効率的と考えるが、d,…,dm−1を乗算した式評価L’,L’,…,Lm−1’を生成してもよい。
式評価演算部100は、f,L’,L’,…,Lm−1’を入力とし、f×L’×…×Lm−1’の演算結果を出力する(S100)。式評価演算部100については、実施例2と同様に式評価演算部100が、式評価選択部110、式評価乗算部120、元乗算部130、演算制御部140、未選択乗算部150を備え、式評価にゼロの係数があることを利用してもよい。このように構成すれば、実施例2と同様の効果が得られる。
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
10 ペアリング演算装置 15、65 入力変換部
20、70 式評価処理手段 30、80 式評価生成部
40、100 式評価演算部 50、90 記録部
60 マルチペアリング演算装置 110 式評価選択部
120 式評価乗算部 130 元乗算部
140 演算制御部 150 未選択乗算部

Claims (7)

  1. 群Gの元Pと群Gの元Qとのペアリングe(P,Q)を求めるペアリング演算装置であって、
    pを素数または素数のべき乗、Nをあらかじめ定めた0,1,2のいずれかの整数、kを正の整数、F(p)とF(p)を有限体、Pを有限体F(p)上の楕円曲線の点、Qを有限体F(p12)上の楕円曲線の点であって固定された点、T01とT02をQに対応する有限体F(p12)上の楕円曲線の点、T01=(x01,y01)、T02=(x02,y02)、P=(x0P,y0P)、eを点Pと点Qを入力とし有限体F(p12)上の元を出力するペアリング演算を示す記号、fを有限体F(p12)上の元、Lを点T01と点T02を通る直線をPで評価した式評価、α,β,γ,A,BをF(p)上の元、s0Aとs0Bをあらかじめ定めた定数、dを小整数とし、
    F(p12)上の元を、c,c,c,c,c,cはF(p)上の元である係数、v=ξ、w=v、ξは平方非剰余かつ立方非剰余として、
    +cv+c+cw+cvw+c
    のように表現することとし、
    式評価Lが、
    =α0P+β0pw+γvw
    のときに、
    =s0A(α/β)、B=s0B(γ/β)とし、
    と所定の関係を持つ値であるaと、Bと所定の関係を持つ値であるbを記録した記録部と、
    0P’=1/(s0B・x0P)、y0P’=y0P/(s0A・x0P)を計算する入力変換部と、
    前記記録部からaとbを読み出し、 との所定の関係 との所定の関係を用いて、
    ’=d(A0P’+w+B0P’vw)
    のように式評価L’を生成する式評価生成部と、
    f,L’を入力とし、f×L’の演算結果を出力する式評価演算部と、
    を備えることを特徴とするペアリング演算装置。
  2. 群Gの元Pと群Gの元Qとのペアリングe(P,Q)を求めるペアリング演算装置であって、
    pを素数または素数のべき乗、Nをあらかじめ定めた0,1,2のいずれかの整数、kを正の整数、F(p)とF(p)を有限体、Pを有限体F(p)上の楕円曲線の点、Qを有限体F(p12)上の楕円曲線の点であって固定された点、T01とT02をQに対応する有限体F(p12)上の楕円曲線の点、T01=(x01,y01)、T02=(x02,y02)、P=(x0P,y0P)、eを点Pと点Qを入力とし有限体F(p12)上の元を出力するペアリング演算を示す記号、fを有限体F(p12)上の元、点T01と点T02とが異なる場合はλ=(y02−y01)/(x02−x01)、点T01と点T02とが同じ場合はλ=3x01 /2y01、dを小整数とし、
    F(p12)上の元を、c,c,c,c,c,cはF(p)上の元である係数、v=ξ、w=v、ξは平方非剰余かつ立方非剰余として、
    +cv+c+cw+cvw+c
    のように表現することとし、
    (−1/λ)と所定の関係を持つ値であるaと、(−(λ01−y01)/λ)と所定の関係を持つ値であるbを記録した記録部と、
    0P’=1/x0P、y0P’=y0P/x0Pを計算する入力変換部と、
    前記記録部からaとbを読み出し、(−1/λ )と との所定の関係(−(λ 01 −y 01 )/λ )と との所定の関係を用いて、
    ’=d((−1/λ)y0P’+w+(−(λ01−y01)/λ)x0P’vw)
    のように式評価L’を生成する式評価生成部と、
    f,L’を入力とし、f×L’の演算結果を出力する式評価演算部と、
    を備えることを特徴とするペアリング演算装置。
  3. 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を素数または素数のべき乗、Nを0,1,2のいずれかの整数、kを正の整数、F(p)とF(p)を有限体、Pを有限体F(p)上の楕円曲線の点、Qを有限体F(p12)上の楕円曲線の点であって固定された点、Tj1とTj2をQに対応する有限体F(p12)上の楕円曲線の点、Tj1=(xj1,yj1)、Tj2=(xj2,yj2)、P=(xjP,yjP)、eを点Pと点Qを入力とし有限体F(p12)上の元を出力するペアリング演算を示す記号、fを有限体F(p12)上の元、Lを点Tj1と点Tj2を通る直線をPで評価した式評価、α,β,γ,A,BをF(p)上の元、sjAとsjBをあらかじめ定めた定数、dを小整数とし、
    F(p12)上の元を、c,c,c,c,c,cはF(p)上の元である係数、v=ξ、w=v、ξは平方非剰余かつ立方非剰余として、
    +cv+c+cw+cvw+c
    のように表現することとし、
    式評価Lが、
    =αjP+βjpw+γvw
    のときに、
    j=0,…,m−1について、A=sjA(α/β)、B=sjB(γ/β)とし、
    j=0,…,m−1について、Aと所定の関係を持つ値であるaと、Bと所定の関係を持つ値であるbを記録した記録部と、
    j=0,…,m−1について、xjP’=1/(sjB・xjP)、yjP’=yjP/(sjA・xjP)を計算する入力変換部と、
    j=0,…,m−1のすべてについて、記録部からaとbを読み出し、 との所定の関係 との所定の関係を用いて、
    ’=d(AjP’+w+BjP’vw)
    のように式評価L’を生成する式評価生成部と、
    f,L’,L’,…,Lm−1’を入力とし、f×L’×…×Lm−1’の演算結果を出力する式評価演算部と、
    を備えることを特徴とするマルチペアリング演算装置。
  4. 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を素数または素数のべき乗、Nを0,1,2のいずれかの整数、kを正の整数、F(p)とF(p)を有限体、Pを有限体F(p)上の楕円曲線の点、Qを有限体F(p12)上の楕円曲線の点であって固定された点、Tj1とTj2をQに対応する有限体F(p12)上の楕円曲線の点、Tj1=(xj1,yj1)、Tj2=(xj2,yj2)、P=(xjP,yjP)、eを点Pと点Qを入力とし有限体F(p12)上の元を出力するペアリング演算を示す記号、fを有限体F(p12)上の元、点Tj1と点Tj2とが異なる場合はλ=(yj2−yj1)/(xj2−xj1)、点Tj1と点Tj2とが同じ場合はλ=3xj1 /2yj1、dを小整数とし、
    F(p12)上の元を、c,c,c,c,c,cはF(p)上の元である係数、v=ξ、w=v、ξは平方非剰余かつ立方非剰余として、
    +cv+c+cw+cvw+c
    のように表現することとし、
    j=0,…,m−1について、(−1/λ)と所定の関係を持つ値であるaと、(−(λj1−yj1)/λ)と所定の関係を持つ値であるbを記録した記録部と、
    j=0,…,m−1について、xjP’=1/xjP、yjP’=yjP/xjPを計算する入力変換部と、
    j=0,…,m−1のすべてについて、記録部からaとbを読み出し、(−1/λ )と との所定の関係(−(λ j1 −y j1 )/λ )と との所定の関係を用いて、
    ’=d((−1/λ)yjP’+w+(−(λj1−yj1)/λ)xjP’vw)
    のように式評価L’を生成する式評価生成部と、
    f,L’,L’,…,Lm−1’を入力とし、f×L’×…×Lm−1’の演算結果を出力する式評価演算部と、
    を備えることを特徴とするマルチペアリング演算装置。
  5. 請求項3または4記載のマルチペアリング演算装置であって、
    前記式評価演算部は、
    選択されていない式評価L’,L’,…,Lm−1’の中から4個を選択し、h,h,h,hとする式評価選択部と、
    L”←h×h×h×h を計算する式評価乗算部と、
    f←f×L” を計算し、fを更新する元乗算部と、
    ’,L’,…,Lm−1’の中で、前記式評価選択部で選択されていない式評価の数が4より少なくなるまで、前記式評価選択部と前記式評価乗算部と前記元乗算部の処理を繰り返す演算制御部と、
    ’,L’,…,Lm−1’の中で、前記式評価選択部で選択されていない式評価がある場合は、選択されていない式評価のすべてをfに乗算し、乗算結果にfを更新する未選択乗算部と、
    を備え、fを演算結果として出力する
    ことを特徴とするマルチペアリング演算装置。
  6. 請求項5記載のマルチペアリング演算装置であって、
    前記式評価乗算部は、
    ’←h×h, L’←h×h
    を計算し、
    L”←L’×L
    のようにL”を計算する
    ことを特徴とするマルチペアリング演算装置。
  7. 請求項1もしくは2記載のペアリング演算装置、請求項3〜6のいずれかに記載されたマルチペアリング演算装置のいずれかの演算装置としてコンピュータを機能させるためのプログラム。
JP2014007518A 2014-01-20 2014-01-20 ペアリング演算装置、マルチペアリング演算装置、プログラム Active JP6067596B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6755434B2 (ja) 2018-05-15 2020-09-16 三菱電機株式会社 秘匿検索装置および秘匿検索方法

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 니뽄 덴신 덴와 가부시키가이샤 유한체 연산장치, 유한체 연산방법, 프로그램 및 기록매체

Cited By (1)

* Cited by examiner, † Cited by third party
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