JP2015135452A - Pairing computation device, multi-pairing computation device and program - Google Patents
Pairing computation device, multi-pairing computation device and program Download PDFInfo
- Publication number
- JP2015135452A JP2015135452A JP2014007518A JP2014007518A JP2015135452A JP 2015135452 A JP2015135452 A JP 2015135452A JP 2014007518 A JP2014007518 A JP 2014007518A JP 2014007518 A JP2014007518 A JP 2014007518A JP 2015135452 A JP2015135452 A JP 2015135452A
- Authority
- JP
- Japan
- Prior art keywords
- expression evaluation
- point
- pairing
- unit
- expression
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、情報セキュリティ技術のためのペアリング演算装置、マルチペアリング演算装置、プログラムに関する。 The present invention relates to a pairing arithmetic device, a multi-pairing arithmetic device, and a program for information security technology.
図1は、Barreto-Naehrig楕円曲線(BN曲線,E:y2=x3+b,b≠0∈F(p))上のOptimal Ateペアリングの従来のアルゴリズムを示す図である。そして、このようなペアリング演算の入力の一方の元が固定されている場合に、事前に計算可能な値を事前に計算して記録しておくことで、元が入力されたときの計算速度を高速化する技術として非特許文献1が知られている。
FIG. 1 is a diagram showing a conventional algorithm for Optimal Ate pairing on a Barreto-Naehrig elliptic curve (BN curve, E: y 2 = x 3 + b, b ≠ 0∈F (p)). And when one element of the input of such a pairing operation is fixed, the calculation speed when the element is input can be calculated in advance and recorded.
ペアリング暗号では、IDベース暗号や関数型暗号など利便性の高い暗号方式が構成できる。これらの暗号方式ではペアリング演算が必要となるため、実用的なシステムの構成のためには、ペアリング演算が高速に計算できることが求められる。ペアリング暗号システムでは、事前に秘密情報(例えば,秘密鍵)が配布されており、ペアリング演算の際に秘密情報を入力の片方として計算することがある。この場合、入力の一方が固定であることを利用して、オフライン事前計算によりペアリング演算の高速化が可能となる。また関数型暗号などの高機能な暗号方式では、複数のペアリング演算の積を計算するマルチペアリング演算で片方の入力が固定である場合もあり、この場合でも、オフライン事前計算によりマルチペアリング演算の高速化が可能となる。しかしながら、暗号システムの高機能化が進んでいる状況から、さらなる高速化が求められている。 In the pairing encryption, a highly convenient encryption method such as ID-based encryption or functional encryption can be configured. Since these encryption methods require a pairing operation, it is required that the pairing operation can be calculated at high speed for a practical system configuration. In the pairing encryption system, secret information (for example, a secret key) is distributed in advance, and the secret information may be calculated as one of the inputs during the pairing calculation. In this case, by making use of the fact that one of the inputs is fixed, the pairing calculation can be speeded up by off-line pre-calculation. In addition, in advanced cryptosystems such as functional cryptography, one input may be fixed in a multi-pairing operation that calculates the product of multiple pairing operations. Calculation speed can be increased. However, due to the progress of higher functionality in cryptographic systems, higher speed is required.
本発明は、楕円曲線上のペアリングについて従来技術を改良し、さらに計算速度を高速化することを目的とする。 An object of the present invention is to improve the prior art for pairing on an elliptic curve and further increase the calculation speed.
まず、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)上の元、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
である。
First, m is an integer of 2 or more, j is an integer of 0 to m−1, p is a prime number or a power of a prime number, N is a predetermined integer of 0, 1, 2, and k is a positive integer. F (p) and F (p k ) are finite fields, P j is an elliptic curve point on the finite field F (p), and Q j is an elliptic curve point on the finite field F (p 12 ). Points, the points of the elliptic curve on the finite field F (p 12 ) corresponding to Q j , T j1 and T j2 , T j1 = (x j1 , y j1 ), T j2 = (x j2 , y j2 ) , P j = (x jP , y jP ), a symbol indicating a pairing operation in which e is input to the point P j and the point Q j and outputs an element on the finite field F (p 12 ), and f is a finite field F ( p 12) on the original, expression evaluation a straight line passing through the L j the point T j1 and the point T j2 was evaluated by P j, α j, β j , γ j, a j, B j and F (p 2 Top of the original, the d j as a small integer,
The elements on F (p 12 ) are the coefficients c 0 , c 1 , c 2 , c 3 , c 4 , c 5 are the elements on F (p 2 ), v 3 = ξ, w 2 = v, ξ is a square non-residue and a cubic non-residue,
c 0 + c 1 v + c 2 v 2 + c 3 w + c 4 vw + c 5 v 2 w
It will be expressed as The expression evaluation L j is
L j = α j y jP + β j x jp w + γ j vw
It is.
本発明のペアリング演算装置は、群G1の元P0と群G2の元Q0とのペアリングe(P0,Q0)を求める。本発明のペアリング演算装置は、記録部、入力変換部、式評価生成部、式評価演算部を備える。記録部は、A0と所定の関係を持つ値であるa0と、B0と所定の関係を持つ値であるb0を記録している。入力変換部は、x0Pとy0Pから、x0P’=γ0/(B0・β0・x0P)、y0P’=(α0・y0P)/(A0・β0・x0P)が成り立つx0P’とy0P’を求める。式評価生成部は、記録部からa0とb0を読み出し、a0とb0を用いて、
L0’=d0vN(A0y0P’+w+B0x0P’vw)
のように式評価L0’を生成する。式評価演算部は、f,L0’を入力とし、f×L0’の演算結果を出力する。
The pairing arithmetic unit of the present invention obtains a pairing e (P 0 , Q 0 ) between the element P 0 of the group G 1 and the element Q 0 of the group G 2 . The pairing calculation device of the present invention includes a recording unit, an input conversion unit, an expression evaluation generation unit, and an expression evaluation calculation unit. The recording unit records a 0 which is a value having a predetermined relationship with A 0 and b 0 which is a value having a predetermined relationship with B 0 . Input conversion unit, the x 0P and y 0P, x 0P '= γ 0 / (
L 0 '= d 0 v N (A 0 y 0P ' + w + B 0 x 0P 'vw)
An expression evaluation L 0 ′ is generated as follows. The expression evaluation calculation unit receives f and L 0 ′ and outputs a calculation result of f × L 0 ′.
本発明のマルチペアリング演算装置は、m個の群G1の元P0,…,Pm−1と群G2の元Q0,…,Qm−1とのマルチペアリングe(P0,Q0)×e(P1,Q1)×…×e(Pm−1,Qm−1)を求める。本発明のマルチペアリング演算装置は、記録部、式評価生成部、式評価演算部を備える。記録部は、j=0,…,m−1について、Ajと所定の関係を持つ値であるajと、Bjと所定の関係を持つ値であるbjを記録している。入力変換部は、j=0,…,m−1について、xjPとyjPから、xjP’=γj/(Bj・βj・xjP)、yjP’=(αj・yjP)/(Aj・βj・xjP)が成り立つxjP’とyjP’を求める。式評価生成部は、j=0,…,m−1のすべてについて、記録部からajとbjを読み出し、ajとbjを用いて、
Lj’=djvN(AjyjP’+w+BjxjP’vw)
のように式評価Lj’を生成する。式評価演算部は、f,L0’,L1’,…,Lm−1’を入力とし、f×L0’×…×Lm−1’の演算結果を出力する。
Multi pairing computation device of the present invention, m number original P 0 of the group G 1 of, ..., P m-1 and the original Q 0 of the group G 2, ..., multi-pairing e (P and Q m-1 0 , Q 0 ) × e (P 1 , Q 1 ) ×... × e (P m−1 , Q m−1 ) are obtained. The multi-pairing calculation device of the present invention includes a recording unit, an expression evaluation generation unit, and an expression evaluation calculation unit. The recording unit records a j which is a value having a predetermined relationship with A j and b j which is a value having a predetermined relationship with B j for j = 0,..., M−1. For j = 0,..., M −1, the input conversion unit calculates x jP ′ = γ j / (B j · β j · x jP ), y jP ′ = (α j · y) from x jP and y jP. x jP ′ and y jP ′ satisfying jP ) / (A j · β j · x jP ) are obtained. The expression evaluation generation unit reads a j and b j from the recording unit for all of j = 0,..., M−1, and uses a j and b j .
L j '= d j v N (A j y jP ' + w + B j x jP 'vw)
An expression evaluation L j ′ is generated as follows. Expression evaluation calculation unit, f, L 0 ', L 1', ..., ' as input, f × L 0' L m -1 outputs an operation result of × ... × L m-1 ' .
本発明のペアリング演算装置とマルチペアリング装置によれば、点Qjが固定されていることを利用してあらかじめAjと所定の関係を持つ値であるajと、Bjと所定の関係を持つ値であるbjを記録しておく。そして、可変である点Pjが入力されると、
Lj’=djvN(AjyjP’+w+BjxjP’vw)
のように式評価Lj’を生成し、式評価の乗算を行う。このような形式の式評価Lj’であれば、有限体F(p12)上の任意の元との乗算において、Ljよりも有限体F(p2)上の乗算回数を少なくできる。つまり、式評価をLjからLj’に変更したことで計算コストが増えてしまう計算は、点Qjが固定されていることを利用して事前に計算しておき、点Pjが入力された後の計算コストを削減している。したがって、点Pjが入力されてからの計算速度を高速化できる。
According to the pairing computation device and a multi-pairing device of the present invention, and a j is a value having a pre A j a predetermined relationship based on the fact that the point Q j is fixed, B j and a given B j which is a value having a relationship is recorded. And when a variable point P j is input,
L j '= d j v N (A j y jP ' + w + B j x jP 'vw)
An expression evaluation L j ′ is generated as shown in FIG. With this type of expression evaluation L j ′, in the multiplication with an arbitrary element on the finite field F (p 12 ), the number of multiplications on the finite field F (p 2 ) can be reduced as compared with L j . That is, the calculation that increases the calculation cost by changing the expression evaluation from L j to L j ′ is calculated in advance using the fact that the point Q j is fixed, and the point P j is input. The calculation cost after being reduced. Therefore, the calculation speed after the point P j is input can be increased.
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。まず、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で評価した式評価、djを小整数とする。なお、点Tj1と点Tj2とが同一の点の場合、「点Tj1と点Tj2を通る直線」は点Tj1での接線である。また、「小整数」とは少なくとも1を含む値の小さい整数であり、例えば、任意の元fと小整数djとの乗算(dj×f)を、任意の元fのdj−1回の加算(f+f+…+f)で行った方が、計算コストが小さくなるような整数である。演算装置、演算方法、プログラムによって具体的な小整数は異なるが、ある演算装置が、整数dと元fとの乗算(d×f)を加算(f+f+…+f)に置き換えて計算している場合、その演算装置においては、整数dは小整数である。また、小整数djは負の整数でもよい。 Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the structure part which has the same function, and duplication description is abbreviate | omitted. First, m is an integer of 2 or more, j is an integer of 0 to m−1, p is a prime number or a power of a prime number, N is a predetermined integer of 0, 1, 2, and k is a positive integer. F (p) and F (p k ) are finite fields, P j is an elliptic curve point on the finite field F (p), and Q j is an elliptic curve point on the finite field F (p 12 ). Points, the points of the elliptic curve on the finite field F (p 12 ) corresponding to Q j , T j1 and T j2 , T j1 = (x j1 , y j1 ), T j2 = (x j2 , y j2 ) , P j = (x jP , y jP ), a symbol indicating a pairing operation in which e is input to the point P j and the point Q j and an element on the finite field F (p 12 ) is output, and f is a finite field F ( p 12) on the original, expression evaluation a straight line passing through the point of L j T j1 and the point T j2 was evaluated by P j, the d j and the small integer. When the point T j1 and the point T j2 are the same point, the “straight line passing through the point T j1 and the point T j2 ” is a tangent at the point T j1 . A “small integer” is an integer having a small value including at least 1. For example, a multiplication (d j × f) of an arbitrary element f and a small integer d j is performed by d j −1 of the arbitrary element f. The number of times of addition (f + f +... + F) is an integer that reduces the calculation cost. A specific small integer differs depending on an arithmetic device, an arithmetic method, and a program, but a certain arithmetic device calculates by replacing the multiplication (d × f) of the integer d and the element f with addition (f + f +... + F) In the arithmetic unit, the integer d is a small integer. The small integer d j may be a negative integer.
F(p12)上の元を、c0,c1,c2,c3,c4,c5はF(p2)上の元である係数、v3=ξ、w2=v、ξは平方非剰余かつ立方非剰余として、
c0+c1v+c2v2+c3w+c4vw+c5v2w
のように表現することとする。
The elements on F (p 12 ) are the coefficients c 0 , c 1 , c 2 , c 3 , c 4 , c 5 are the elements on F (p 2 ), v 3 = ξ, w 2 = v, ξ is a square non-residue and a cubic non-residue,
c 0 + c 1 v + c 2 v 2 + c 3 w + c 4 vw + c 5 v 2 w
It will be expressed as
また、図1に示すアルゴリズムでは、TがT01に相当し、T,Q,Q’,−Q”がT02に相当し、aoptがeに相当し、
<従来技術の分析>
ペアリング演算には、点Tj1と点Tj2と点Pjに対して、点加算/2倍算と式評価の計算が含まれる。次に、具体的な座標系の例を示しながら説明する。
<Analysis of conventional technology>
The pairing calculation includes point addition / doubling and expression evaluation for the points T j1 , T j2, and P j . Next, description will be given while showing a specific example of a coordinate system.
次の具体例の説明では、Barreto-Naehrig楕円曲線(BN曲線,E:y2=x3+b,b≠0∈F(p))を用いる。BN曲線では、整数zに対して素数pとBN曲線上のF(p)有理点群の位数rは、
p=36z4+36z3+24z2+6z+1
r=36z4+36z3+18z2+6z+1
である。BN曲線では、rで割り切れる(pk−1)となる最小のkは12である。
In the following description of the specific example, a Barreto-Naehrig elliptic curve (BN curve, E: y 2 = x 3 + b, b ≠ 0∈F (p)) is used. In the BN curve, the prime number p and the order r of the F (p) rational point group on the BN curve with respect to the integer z are
p = 36z 4 + 36z 3 + 24z 2 + 6z + 1
r = 36z 4 + 36z 3 + 18z 2 + 6z + 1
It is. In the BN curve, the minimum k that is divisible by r (p k −1) is 12.
拡大体F(pk)を逐次拡大により
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))
が存在する。
Sequential expansion of the extension field F (p k ) F (p 2 ) = F (p) [u] / (u 2 −β)
F (p 6 ) = F (p 2 ) [v] / (v 3 −ξ)
F (p 12 ) = F (p 6 ) [w] / (w 2 −v)
However, v 3 = ξ, w 2 = v, β is configured as a non-square residue, and ξ is configured as a non-square residue and a cubic non-residue. Then, the element C on F (p 12 ) is changed to C = c 0 + c 1 v + c 2 v 2 + c 3 w + c 4 vw + c 5 v 2 w (Formula 1)
Where c 0 , c 1 , c 2 , c 3 , c 4 , c 5 ∈ F (p 2 )
Express like this. The sixth-order twist curve E ′ is y 2 = x 3 + b / ξ. At this time, the same map (x, y) → (xw 2 , yw 3 ) of E ′ and E with respect to the point (x, y) becomes Φ: E ′ (F (p 2 )) → E (F ( p 12))
Exists.
Affine座標系の例
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つの係数がゼロであることが分かる。
Affine coordinate system example T j1 = (x j1 , y j1 ), T j2 = (x j2 , y j2 ), P j = (x jP , y jP ). For λ j = (y j2 −y j1 ) / (x j2 −x j1 ), point addition and expression evaluation (when the points T j1 and T j2 are different) are:
x j3 = λ j 2 -x j1 -x 2j
y j3 = λ j (x j1 −x j3 ) −y 1j
L j = y jP -λ j x jp w + (λ j x j1 -y j1) vw ( Equation 2)
It becomes. Also, the point doubling and the expression evaluation (when the points T j1 and T j2 are the same) are as follows: λ j = 3x j1 2 / 2y j1 x j3 = λ j 2 -2x j1
y j3 = λ j (x j1 −x j3 ) −y j1
L j = y jP -λ j x jp w + (λ j x j1 -y j1) vw ( Equation 3)
It becomes. Here, the element C on F (p 12 ) shown in
Affine座標系の異なる形式の式評価の例
式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」であることが分かる。
However, x jp '= x jp / y jP , y jP ' = 1 / y jP
It is good also as formula evaluation by converting like this. Even if it deform | transforms in this way, since the part of yjP 'is removed by the last power calculation (
非特許文献1では、事前に計算可能な値を事前に計算して記録しておく考え方をこの形式に当てはめ、(−λj,λjxj1−yj1)を事前に計算して記録している。また、
xjp’=xjp/yjP, yjP’=1/yjP
の計算は、点Pjの入力に対して1回行えばよいだけなので、点Pjが入力された後の計算コストを削減できる。
In
x jp '= x jp / y jP , y jP ' = 1 / y jP
Is calculated only once for the input of the point P j , so that the calculation cost after the point P j is input can be reduced.
<本発明で利用する式評価>
本発明では、式評価を式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を求められる別の値を記録しておいてもよい。
<Formula evaluation used in the present invention>
In the present invention, the calculation cost is reduced by transforming the expression evaluation into a form different from
L j ′ = −1 / (λ j · x jp ) · L j
= (-1 / λ j ) y jP '+ w + (-(λ j x j1 -y j1 ) / λ j ) x jP ' vw (Formula 5)
However, x jP '= 1 / x jP , y jP ' = y jP / x jP
It is. In the case of this evaluation formula, (−1 / λ j , − (λ j x j1 −y j1 ) / λ j ) may be calculated and recorded in advance. The calculation of (−1 / λ j , − (λ j x j1 −y j1 ) / λ j ) requires an inverse operation, which is slower than the multiplication, but the point P j is input It does not affect later calculation costs. Also, x jP '= 1 / x jP , y jP ' = y jP / x jP with respect to the input of the point P j
Is calculated once. Since the part of -1 / (λ j · x jp ) is removed by the final power calculation, the result of the pairing operation is not affected. Also, it is considered most efficient to calculate and record -1 / λ j and- (λ j x j1 -y j1 ) / λ j in advance. However, multiplication and a -1 / lambda j without requiring slower calculation such as inverse calculation - (λ j x j1 -y j1 ) / λ be recorded another value obtained for j Good.
図2は、式5を用いた場合のOptimal Ateペアリングのアルゴリズム(Algorithm 2)である。また、図3は、図2のステップ7,12,21,24の乗算のアルゴリズムの具体例(Algorithm 3)である。このようなアルゴリズムで、ペアリング演算ができる。図2のアルゴリズムでは、ステップ25が最終べきの計算である。なお、図2では式評価を小文字のエルで示している。
FIG. 2 shows an algorithm for Algorithm Ate pairing (Algorithm 2) when
次に、式4と式5の違いを説明する。図3に示したアルゴリズムは、
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の形式に変換した方が、計算コストが小さいことが分かる。
Next, the difference between
A = a 0 + a 1 v + a 2 v 2 + a 3 w + a 4 vw + a 5 v 2 w
An arbitrary element A on F (p 12 ) that can be expressed as
B = b 0 + w + b 4 vw
This is an algorithm for multiplication with the element B in the form of
It expresses. In the algorithms shown in FIG. 3 and FIG. 4, the number of multiplications of the original coefficients on F (p 2 ) is an element that determines the calculation cost. In FIG. 3, there are three multiplications between the coefficients in
F(p12)上の任意の元同士の乗算の場合、単純に係数同士を組み合わせると36個の組み合わせがあるので、36回のF(p2)上の元同士の乗算がある。そして、カラツバ法(Karatsuba法)を利用することで18回の乗算で計算できることが知られている。図3や図4のアルゴリズムでは、値がゼロや小整数の係数が含まれているので、乗算回数がさらに少なくなっている。そして、式4と式5の形式は、どちらも値がゼロの係数が3つあり、1つの係数が「1」であることは同じである。したがって、乗算回数の差は、どの係数を「1」にしているかによって生じている。本発明は、どの係数を「1」にするかによって、計算コストを削減する効果を得ている。
In the case of multiplication between arbitrary elements on F (p 12 ), since there are 36 combinations when coefficients are simply combined, there are 36 multiplications between elements on F (p 2 ). It is known that the calculation can be performed by 18 multiplications by using the Karatsuba method (Karatsuba method). In the algorithms shown in FIGS. 3 and 4, since the coefficient having a value of zero or a small integer is included, the number of multiplications is further reduced. The formats of
同様の効果が得られる式評価
「小整数dj」は、任意の元fと小整数djとの乗算(dj×f)を、任意の元fのdj−1回の加算(f+f+…+f)で行った方が、計算コストが小さくなるような整数なので、「1」となっている係数の部分を他の小整数に変更しても、従来に比べれば計算コストを削減できる。したがって、
Lj’=dj((−1/λj)yjP’+w+(−(λjxj1−yj1)/λj)xjP’vw),
で表現される式評価Lj’でも従来に比べれば計算コストを削減できる。
The expression evaluation “small integer d j ” that provides the same effect is obtained by multiplying an arbitrary element f by a small integer d j (d j × f), and adding d j −1 times of the arbitrary element f (f + f + ... + F) is an integer that reduces the calculation cost. Therefore, even if the coefficient part “1” is changed to another small integer, the calculation cost can be reduced as compared with the conventional case. Therefore,
L j '= d j (( -1 / λ j) y jP' + w + (- (λ j x j1 -y j1) / λ j) x jP 'vw),
Even in the expression evaluation L j ′ expressed as follows, the calculation cost can be reduced as compared with the conventional case.
また、この式評価にvを乗算した式評価、v2を乗算した式評価でも、式5と同じようにF(p2)上の元同士の乗算を9回にできる。つまり、
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)の元なので最終べきの計算で除去されるため、ペアリング演算の結果には影響しない。
Further, even in the expression evaluation obtained by multiplying this expression evaluation by v and the expression evaluation obtained by multiplying v 2 , the multiplication of elements on F (p 2 ) can be performed nine times as in the case of
L j ′ = d j ((−1 / λ j ) y jP ′ v + vw + (− (λ j x j1 −y j1 ) / λ j ) x jP′v 2 w)
Or L j '= d j (( -1 / λ j) y jP'
In this case, the calculation cost can be reduced as compared with the conventional case. To summarize the above,
L j '= d j v N ((-1 / λ j) y jP' + w + (- (λ j x j1 -y j1) / λ j) x jP 'vw)
The same effect can be obtained if the expression evaluation L j ′ is as follows. Note that the portion of −d j / (λ j · x jp ) v N that is multiplied to convert the expression evaluation L j into the expression evaluation L j ′ is an element of F (p 6 ), and thus is removed in the final power calculation. Therefore, the result of the pairing operation is not affected.
さらに、式評価Ljが式2,3以外の場合でも同様の効果が得られる場合がある。具体的には、式評価Ljが
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’に変換すれば、乗算した元の部分は最終べきの計算で除去されるため、ペアリング演算の結果には影響しない。
Further, the same effect may be obtained even when the expression evaluation L j is other than
However, α j , β j , and γ j are original elements on F (p 2 ),
L j ′ = 1 / (β j · x jp ) · L j
= (Α j · y jP) / (β j · x jP)) + w + (γ j / (β j · x jP)) vw ( Equation 7)
If the coefficient of w is modified so as to be 1 as shown in FIG. 5, the multiplication of elements on F (p 2 ) can be made 9 times as in the case of
However, A j = s jA (α j / β j ), B j = s jB (γ j / β j )
x jP '= 1 / (s jB · x jP ), y jP ' = y jP / (s jA · x jP )
If s jA and s jB can be converted into predetermined constants, the same effect can be obtained. Although it is considered that the case of s jA = 1 and s jB = 1 is the simplest calculation, the calculation of x 0P ′ and y 0P ′ is an iterative process after
図5に本発明のペアリング演算装置の機能構成例を示す。また、図6に本発明のペアリング演算装置の入力変換と式評価演算の処理フロー例を示す。ペアリング演算装置10は、群G1の元P0と群G2の元Q0とのペアリングe(P0,Q0)を求める。ペアリング演算装置10は、記録部50が事前計算の結果を記録していることと、入力変換部15、式評価処理手段20を有することを特徴としており、点加算や点2倍算などのその他の処理を行う構成部も有するが、それらは従来技術と同じである。図5,6では従来技術と同じ構成部は省略している。式評価処理手段20は、式評価生成部30と式評価演算部40からなる。
FIG. 5 shows a functional configuration example of the pairing arithmetic device of the present invention. FIG. 6 shows a processing flow example of input conversion and expression evaluation calculation of the pairing calculation device of the present invention. The pairing
記録部50は、(−1/λ0)と所定の関係を持つ値であるa0と、(−(λ0x01−y01)/λ0)と所定の関係を持つ値であるb0を記録している。上述のとおり、a0=−1/λ0、b0=−(λ0x01−y01)/λ0とするのが最も効率的と考える。しかし、例えば、(−1/λ0)に定数を加算した値をa0として記憶しておき、読み出した後にその定数を減算して(−1/λ0)を求めても、計算コストへの影響は小さい。よって、乗算や逆元算のような低速な計算を必要とせずに−1/λ0と−(λ0x01−y01)/λ0を求められる別の値をa0とb0として記録しておいてもよい。ここでは、「所定の関係を持つ値」は、低速な計算を必要とせずに−1/λ0と−(λ0x01−y01)/λ0を求めることができる値の意味である。
The
入力変換部15は、x0P’=1/x0P、y0P’=y0P/x0Pを計算する(S15)。式評価生成部30は、記録部50からa0とb0を読み出し、a0とb0を用いて、
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に相当する。
The
L 0 ′ = d 0 v N ((−1 / λ 0 ) y 0P ′ + w + (− (λ 0 x 01 −y 01 ) / λ 0 ) x 0P ′ vw)
An expression evaluation L 0 ′ is generated as follows (S30). As described above, d 0 = 1 and N = 0 are considered to be the most efficient, but an expression evaluation L 0 ′ multiplied by d 0 v N may be generated. The expression
ペアリング演算装置10によれば、式評価L0’を用いているので、有限体F(p12)上の任意の元とL0’との乗算において、有限体F(p2)上の乗算回数を少なくできる。つまり、式評価を変更したことで計算コストが増えてしまう計算は、点Q0が固定されていることを利用して事前に計算しておき、点P0が入力された後の計算コストを削減している。したがって、点P0が入力されてからの計算速度を高速化できる。
According to the pairing
[変形例]
さらに、上述のとおり、式評価が式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)上の元とする。
[Modification]
Furthermore, as described above, the expression evaluation is as shown in
L j = α j y jP + β j x jp w + γ j vw
In the case of the expression evaluation L j '= d j v N (A j y jP' + w + B j x jP 'vw)
However, A j = s jA (α j / β j ), B j = s jB (γ j / β j )
x jP '= 1 / (s jB · x jP ), y jP ' = y jP / (s jA · x jP )
If s jA and s jB are modified like predetermined constants, the same effect can be obtained. Therefore, the processing flow of the input conversion and the expression evaluation calculation of the pairing arithmetic device shown in FIG. 5 and the pairing arithmetic device shown in FIG. 6 may be as follows. However, A 0 and B 0 are elements on F (p 2 ).
ペアリング演算装置10は、群G1の元P0と群G2の元Q0とのペアリングe(P0,Q0)を求める。ペアリング演算装置10は、記録部50が事前計算の結果を記録していることと、入力変換部15、式評価処理手段20を有することを特徴としている。式評価処理手段20は、式評価生成部30と式評価演算部40からなる。
The pairing
A0=s0A(α0/β0)、B0=s0B(γ0/β0)とする。そして、記録部50は、A0と所定の関係を持つ値であるa0と、B0と所定の関係を持つ値であるb0を記録している。a0=A0、b0=B0とするのが最も効率的と考える。しかし、例えば、A0に定数を加算した値をa0として記憶しておき、読み出した後にその定数を減算してA0を求めても、計算コストへの影響は小さい。よって、乗算や逆元算のような低速な計算を必要とせずにA0とB0を求められる別の値をa0とb0として記録しておいてもよい。ここでは、「所定の関係を持つ値」は、低速な計算を必要とせずにA0とB0を求めることができる値の意味である。
It is assumed that A 0 = s 0A (α 0 / β 0 ) and B 0 = s 0B (γ 0 / β 0 ). The
入力変換部15は、x0P’=1/(s0B・x0P)、y0P’=y0P/(s0A・x0P)を計算する(S15)。式評価生成部30は、記録部50からa0とb0を読み出し、a0とb0を用いて、
L0’=d0vN(A0y0P’+w+B0x0P’vw)
のように式評価L0’を生成する(S30)。d0=1,N=0が最も効率的と考えるが、d0vNを乗算した式評価L0’を生成してもよい。式評価演算部40は、f,L0’を入力とし、f×L0’の演算結果を出力する(S40)。
The
L 0 '= d 0 v N (A 0 y 0P ' + w + B 0 x 0P 'vw)
An expression evaluation L 0 ′ is generated as follows (S30). Although d 0 = 1 and N = 0 are considered to be the most efficient, an expression evaluation L 0 ′ multiplied by d 0 v N may be generated. The expression
図7に本発明のマルチペアリング演算装置の機能構成例を、図8に本発明のマルチペアリング演算装置の入力変換と式評価演算の処理フローの例を示す。マルチペアリング演算装置60は、m個の群G1の元P0,…,Pm−1と群G2の元Q0,…,Qm−1とのマルチペアリングe(P0,Q0)×e(P1,Q1)×…×e(Pm−1,Qm−1)を求める。マルチペアリング演算装置60は、記録部90が事前計算の結果を記録していることと、入力変換部65、式評価処理手段70を有することを特徴としており、点加算や点2倍算などのその他の処理を行う構成部も有するが、それらは従来技術と同じである。図7,8では従来技術と同じ構成部は省略している。式評価処理手段70は、式評価生成部80と式評価演算部100からなる。
FIG. 7 shows a functional configuration example of the multi-pairing arithmetic device of the present invention, and FIG. 8 shows an example of the processing flow of input conversion and expression evaluation arithmetic of the multi-pairing arithmetic device of the present invention. Multi pairing computation device 60, m pieces original P 0 of the group G 1 of, ..., P m-1 and the original Q 0 of the group G 2, ..., multi-pairing e (P 0 with Q m-1, Q 0 ) × e (P 1 , Q 1 ) ×... × e (P m−1 , Q m−1 ) is obtained. The multi-pairing calculation device 60 is characterized in that the
記録部90は、j=0,…,m−1について、(−1/λj)と所定の関係を持つ値であるajと、(−(λjxj1−yj1)/λj)と所定の関係を持つ値であるbjを記録している。上述のとおり、aj=−1/λj、bj=−(λjxj1−yj1)/λjとするのが最も効率的と考える。しかし、乗算や逆元算のような低速な計算を必要とせずに−1/λjと−(λjxj1−yj1)/λjを求められる別の値をajとbjとして記録しておいてもよい。ここでは、「所定の関係を持つ値」は、低速な計算を必要とせずに−1/λjと−(λjxj1−yj1)/λjを求めることができる値の意味である。
Recording
入力変換部65は、j=0,…,m−1について、xjP’=1/xjP、yjP’=yjP/xjPを計算する(S65)。式評価生成部80は、j=0,…,m−1のすべてについて、記録部からajとbjを読み出し、ajとbjを用いて、
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’を生成してもよい。
The input conversion unit 65 calculates x jP '= 1 / x jP and y jP ' = y jP / x jP for j = 0,..., M −1 (S65). The expression
L j '= d j v N ((-1 / λ j) y jP' + w + (- (λ j x j1 -y j1) / λ j) x jP 'vw)
An expression evaluation L j ′ is generated as follows (S80). N is a predetermined integer of 0, 1, 2 and is the same value for all of j = 0,..., M−1. As described above, d 0, ..., but consider d m-1 = 1, N = 0 is the most efficient and, d 0 v N, ..., d m-1 v N expression evaluation multiplied by the L 0 ', L 1 ′,..., L m−1 ′ may be generated.
式評価演算部100は、f,L0’,L1’,…,Lm−1’を入力とし、f×L0’×…×Lm−1’の演算結果を出力する(S100)。ステップS80、S100が式評価の処理(S70)である。ステップS100では、
f←f×Lj’
の処理を、j=0,…,m−1について繰り返せば、実施例1のペアリング演算装置10と同様の効果が得られる。
The expression evaluation calculation unit 100 receives f, L 0 ′, L 1 ′,..., L m−1 ′, and outputs a calculation result of f × L 0 ′ × ... × L m−1 ′ (S100). . Steps S80 and S100 are formula evaluation processing (S70). In step S100,
f ← f × L j '
If the above process is repeated for j = 0,..., M−1, the same effect as the pairing
また、式評価にゼロの係数があることを利用すれば、さらに計算コストを削減することができる。その場合は、式評価演算部100は、式評価選択部110、式評価乗算部120、元乗算部130、演算制御部140、未選択乗算部150を備える。式評価選択部110は、選択されていない式評価L0’,L1’,…,Lm−1’の中から4個を選択し、h0,h1,h2,h3とする(S110)。
Moreover, if the fact that there is a zero coefficient is used in the expression evaluation, the calculation cost can be further reduced. In that case, the expression evaluation operation unit 100 includes an expression
式評価乗算部120は、
L”←h0×h1×h2×h3
を計算する(S120)。式評価乗算部120は、h0,h1,h2,h3をゼロまたは小整数の係数を含む元同士の演算がより多くなるように工夫して乗算すればよい。例えば、
H0’←h0×h1, H1’←h2×h3
L”←H0’×H1’
のようにL”を計算すればよい。
The expression
L ”← h 0 × h 1 × h 2 × h 3
Is calculated (S120). The expression
H 0 '← h 0 × h 1 , H 1 ' ← h 2 × h 3
L ”← H 0 '× H 1 '
L ″ may be calculated as follows.
元乗算部130は、
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を演算結果として出力する。
The
f ← f × L ”
And f is updated (S130). Arithmetic control unit 140, L 0 ', L 1' , ..., in L m-1 ', up to the number of expression evaluation is not selected by the expression
マルチペアリング演算装置60によれば、マルチペアリング演算の処理に含まれるf×L0×…×Lm−1の演算において、まずゼロまたは小整数の係数を含む式評価L0,L1,…,Lm−1の中から4個の式評価を選択して乗算する処理を繰り返すので、係数にゼロや小整数を持つ元同士の演算を増やせる。したがって、計算コストを削減でき、計算速度を高速化できる。 According to the multi-pairing calculation device 60, in the calculation of f × L 0 ×... × L m−1 included in the processing of the multi-pairing calculation, first, the expression evaluations L 0 and L 1 including zero or small integer coefficients are performed. ,..., L m−1 is repeated by selecting and multiplying four expression evaluations, so that the number of operations between elements having zero or a small integer as a coefficient can be increased. Therefore, the calculation cost can be reduced and the calculation speed can be increased.
<アルゴリズムの具体例>
図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)を用いればよい。
<Specific example of algorithm>
FIG. 9 shows an example of algorithm (Algorithm 4) for multi-pairing in Optimal Ate pairing. The processing of the expression evaluation processing means 70 is applied to
図10のステップ3では、h0,h1,h2,h3として
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に相当する。
In
H 0 '← h 0 × h 1 , H 1 ' ← h 2 × h 3
Is calculated. In
In other words, L ″ is obtained as follows: That is, the selected part of the expression evaluation in
式4の形式の4つの式評価を、図4に示された従来の乗算方法でF(p12)上の任意の元fに乗算するときに、
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を備えなくても、従来に比べれば計算コスト削減の効果がある。
When four expression evaluations of the form of
f ← f × L j '
When the above process is repeated four times, the multiplication between elements on F (p 2 ) is 40 times (4 × 10). On the other hand, when four expression evaluations of the form of
f ← f × L j '
When the above process is repeated four times, the multiplication between elements on F (p 2 ) is 36 times (4 × 9). Therefore, even if the expression evaluation calculation unit 100 does not include the expression
そして、式5の形式の4つの式評価を、図10〜12に示したアルゴリズムでF(p12)上の任意の元fに乗算するときには、次のようになる。図11にはステップ1に3回の係数の乗算があるので、F(p2)上の元同士の乗算は3回である。図12にはステップ1,2に4回ずつ、ステップ3に1回の係数同士の乗算が存在するので、F(p2)上の元同士の乗算は9回である。また、F(p12)上の任意の元同士の乗算の場合、F(p2)上の元同士の乗算は18回である(従来技術なので理由は省略する)。したがって、F(p2)上の元同士の乗算は33回(3×2+9+18)である。このように、マルチペアリング演算の処理に含まれるf×L0’×…×Lm−1’の演算において、式評価L0’,L1’,…,Lm−1’の中からΔ個以下の式評価を選択して乗算する処理を繰り返すことで、係数にゼロや小整数を持つ元同士の演算を増やせる。したがって、式5の形式の式評価を用い、式評価演算部100が式評価選択部110、式評価乗算部120、元乗算部130、演算制御部140、未選択乗算部150を備えることで、さらに計算コストを削減できる。
Then, when the four expression evaluations in the form of
次に、式4の形式の式評価を用いて
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の形式で式評価を表現する方が計算コスト削減の効果がある。
Next, H 0 '← h 0 × h 1 , H 1 ' ← h 2 × h 3 using an expression evaluation of the form of
L ”← H 0 '× H 1 '
f ← f × L ”
Compared with the method of repeatedly updating f as shown in FIG. FIG. 13 shows an example (
[変形例]
さらに、上述のとおり、式評価が式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)上の元とする。
[Modification]
Furthermore, as described above, the expression evaluation is as shown in
L j = α j y jP + β j x jp w + γ j vw
In the case of the expression evaluation L j '= d j v N (A j y jP' + w + B j x jP 'vw)
However, A j = s jA (α j / β j ), B j = s jB (γ j / β j )
x jP '= 1 / (s jB · x jP ), y jP ' = y jP / (s jA · x jP )
If s jA and s jB are modified like predetermined constants, the same effect can be obtained. Therefore, the processing flow of the input conversion and the expression evaluation calculation of the multi-pairing arithmetic device shown in FIG. 7 and the multi-pairing arithmetic device shown in FIG. 8 may be as follows. However, A j and B j are elements on F (p 2 ).
マルチペアリング演算装置60は、m個の群G1の元P0,…,Pm−1と群G2の元Q0,…,Qm−1とのマルチペアリングe(P0,Q0)×e(P1,Q1)×…×e(Pm−1,Qm−1)を求める。マルチペアリング演算装置60は、記録部90が事前計算の結果を記録していることと、入力変換部65、式評価処理手段70を有することを特徴としている。式評価処理手段70は、式評価生成部80と式評価演算部100からなる。
Multi pairing computation device 60, m pieces original P 0 of the group G 1 of, ..., P m-1 and the original Q 0 of the group G 2, ..., multi-pairing e (P 0 with Q m-1, Q 0 ) × e (P 1 , Q 1 ) ×... × e (P m−1 , Q m−1 ) is obtained. The multi-pairing calculation device 60 is characterized in that the
j=0,…,m−1について、Aj=sjA(αj/βj)、Bj=sjB(γj/βj)とする。そして、記録部90は、j=0,…,m−1について、Ajと所定の関係を持つ値であるajと、Bjと所定の関係を持つ値であるbjを記録している。aj=Aj、bj=Bjとするのが最も効率的と考える。しかし、乗算や逆元算のような低速な計算を必要とせずにAjとBjを求められる別の値をajとbjとして記録しておいてもよい。ここでは、「所定の関係を持つ値」は、低速な計算を必要とせずにAjとBjを求めることができる値の意味である。
For j = 0,..., m−1, let A j = s jA (α j / β j ) and B j = s jB (γ j / β j ). The
入力変換部65は、j=0,…,m−1について、xjP’=1/(sjB・xjP)、yjP’=yjP/(sjA・xjP)を計算する(S65)。式評価生成部80は、j=0,…,m−1のすべてについて、記録部90からajとbjを読み出し、ajとbjを用いて、
Lj’=djvN(AjyjP’+w+BjxjP’vw)
のように式評価Lj’を生成する(S80)。d0,…,dm−1=1,N=0が最も効率的と考えるが、d0vN,…,dm−1vNを乗算した式評価L0’,L1’,…,Lm−1’を生成してもよい。
The input conversion unit 65 calculates x jP '= 1 / (s jB · x jP ) and y jP ' = y jP / (s jA · x jP ) for j = 0,..., M −1 (S65). ). The expression
L j '= d j v N (A j y jP ' + w + B j x jP 'vw)
An expression evaluation L j ′ is generated as follows (S80). d 0, ..., but is d m-1 = 1, N = 0 considered the most efficient and, d 0 v N, ..., d m-1 v Formula rating was multiplied by N L 0 ', L 1' , ... , L m−1 ′ may be generated.
式評価演算部100は、f,L0’,L1’,…,Lm−1’を入力とし、f×L0’×…×Lm−1’の演算結果を出力する(S100)。式評価演算部100については、実施例2と同様に式評価演算部100が、式評価選択部110、式評価乗算部120、元乗算部130、演算制御部140、未選択乗算部150を備え、式評価にゼロの係数があることを利用してもよい。このように構成すれば、実施例2と同様の効果が得られる。
The expression evaluation calculation unit 100 receives f, L 0 ′, L 1 ′,..., L m−1 ′, and outputs a calculation result of f × L 0 ′ × ... × L m−1 ′ (S100). . As for the expression evaluation operation unit 100, the expression evaluation operation unit 100 includes an expression
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[Program, recording medium]
The various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。 Further, when the above-described configuration is realized by a computer, processing contents of functions that each device should have are described by a program. The processing functions are realized on the computer by executing the program on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.
10 ペアリング演算装置 15、65 入力変換部
20、70 式評価処理手段 30、80 式評価生成部
40、100 式評価演算部 50、90 記録部
60 マルチペアリング演算装置 110 式評価選択部
120 式評価乗算部 130 元乗算部
140 演算制御部 150 未選択乗算部
DESCRIPTION OF
Claims (7)
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を読み出し、a0とb0を用いて、
L0’=d0vN(A0y0P’+w+B0x0P’vw)
のように式評価L0’を生成する式評価生成部と、
f,L0’を入力とし、f×L0’の演算結果を出力する式評価演算部と、
を備えることを特徴とするペアリング演算装置。 A pairing arithmetic unit for obtaining a pairing e (P 0 , Q 0 ) between an element P 0 of group G 1 and an element Q 0 of group G 2 ,
p is a prime number or a power of a prime number, N is a predetermined integer of 0, 1, 2, k is a positive integer, F (p) and F (p k ) are finite fields, and P 0 is a finite field F (P) The point of the elliptic curve on Q, Q 0 is the point of the elliptic curve on the finite field F (p 12 ) and is fixed, and T 01 and T 02 are the finite field F (p corresponding to Q 0 12 ) The point of the elliptic curve above, T 01 = (x 01 , y 01 ), T 02 = (x 02 , y 02 ), P 0 = (x 0P , y 0P ), e is the point P 0 and the point Q A symbol indicating a pairing operation in which 0 is input and an element on the finite field F (p 12 ) is output, f is an element on the finite field F (p 12 ), L 0 is a straight line passing through the points T 01 and T 02 expression evaluation was evaluated by P 0 a, α 0, β 0, γ 0, a 0, B 0 and F (p 2) on the original, s 0A and s 0B predetermined constant, d It was used as a small integer,
The elements on F (p 12 ) are the coefficients c 0 , c 1 , c 2 , c 3 , c 4 , c 5 are the elements on F (p 2 ), v 3 = ξ, w 2 = v, ξ is a square non-residue and a cubic non-residue,
c 0 + c 1 v + c 2 v 2 + c 3 w + c 4 vw + c 5 v 2 w
And express it as
The expression evaluation L 0 is
L 0 = α 0 y 0P + β 0 x 0p w + γ 0 vw
When
A 0 = s 0A (α 0 / β 0 ), B 0 = s 0B (γ 0 / β 0 ),
A recording unit recording a 0 which is a value having a predetermined relationship with A 0 and b 0 which is a value having a predetermined relationship with B 0 ;
x 0P '= 1 / (s 0B · x 0P ), y 0P ' = y 0P / (s 0A · x 0P );
It reads a 0 and b 0 from the recording unit, using a 0 and b 0,
L 0 '= d 0 v N (A 0 y 0P ' + w + B 0 x 0P 'vw)
An expression evaluation generator that generates an expression evaluation L 0 ′,
an expression evaluation operation unit that takes f, L 0 ′ as input and outputs an operation result of f × L 0 ′;
A pairing operation device comprising:
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を読み出し、a0とb0を用いて、
L0’=d0vN((−1/λ0)y0P’+w+(−(λ0x01−y01)/λ0)x0P’vw)
のように式評価L0’を生成する式評価生成部と、
f,L0’を入力とし、f×L0’の演算結果を出力する式評価演算部と、
を備えることを特徴とするペアリング演算装置。 A pairing arithmetic unit for obtaining a pairing e (P 0 , Q 0 ) between an element P 0 of group G 1 and an element Q 0 of group G 2 ,
p is a prime number or a power of a prime number, N is a predetermined integer of 0, 1, 2, k is a positive integer, F (p) and F (p k ) are finite fields, and P 0 is a finite field F (P) The point of the elliptic curve on Q, Q 0 is the point of the elliptic curve on the finite field F (p 12 ) and is fixed, and T 01 and T 02 are the finite field F (p corresponding to Q 0 12 ) The point of the elliptic curve above, T 01 = (x 01 , y 01 ), T 02 = (x 02 , y 02 ), P 0 = (x 0P , y 0P ), e is the point P 0 and the point Q A symbol indicating a pairing operation in which 0 is input and an element on the finite field F (p 12 ) is output, f is an element on the finite field F (p 12 ), and when the point T 01 and the point T 02 are different, λ 0 = (y 02 −y 01 ) / (x 02 −x 01 ), and when the point T 01 and the point T 02 are the same, λ 0 = 3x 01 2 / 2y 01 , d 0 Is a small integer,
The elements on F (p 12 ) are the coefficients c 0 , c 1 , c 2 , c 3 , c 4 , c 5 are the elements on F (p 2 ), v 3 = ξ, w 2 = v, ξ is a square non-residue and a cubic non-residue,
c 0 + c 1 v + c 2 v 2 + c 3 w + c 4 vw + c 5 v 2 w
And express it as
(-1 / λ 0) and a 0 is a value having a predetermined relationship, (- (λ 0 x 01 -y 01) / λ 0) and recording which records b 0 is a value having a predetermined relation And
x 0P '= 1 / x 0P , y 0P ' = y 0P / x 0P
It reads a 0 and b 0 from the recording unit, using a 0 and b 0,
L 0 ′ = d 0 v N ((−1 / λ 0 ) y 0P ′ + w + (− (λ 0 x 01 −y 01 ) / λ 0 ) x 0P ′ vw)
An expression evaluation generator that generates an expression evaluation L 0 ′,
an expression evaluation operation unit that takes f, L 0 ′ as input and outputs an operation result of f × L 0 ′;
A pairing operation device comprising:
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を読み出し、ajとbjを用いて、
Lj’=djvN(AjyjP’+w+BjxjP’vw)
のように式評価Lj’を生成する式評価生成部と、
f,L0’,L1’,…,Lm−1’を入力とし、f×L0’×…×Lm−1’の演算結果を出力する式評価演算部と、
を備えることを特徴とするマルチペアリング演算装置。 the m original P 0 of the group G 1 of, ..., P m-1 and the original Q 0 of the group G 2, ..., multi-pairing e (P 0, Q 0) of Q m-1 × e (P 1 , Q 1 ) ×... × e (P m−1 , Q m−1 )
m is an integer of 2 or more, j is an integer of 0 to m−1, p is a prime number or a power of a prime number, N is an integer of 0, 1, 2, k is a positive integer, and F (p) F (p k ) is a finite field, P j is an elliptic curve point on the finite field F (p), Q j is an elliptic curve point on the finite field F (p 12 ), a fixed point, T j1 and T j2 finite F (p 12) corresponding to Q j points of an elliptic curve on, T j1 = (x j1, y j1), T j2 = (x j2, y j2), P j = ( x jP , y jP ), e is a symbol indicating a pairing operation for outputting an element on the finite field F (p 12 ) with the points P j and Q j as inputs, and f is on the finite field F (p 12 ) original, expression evaluation to a straight line was evaluated by P j through L j the point T j1 and the point T j2, α j, β j , γ j, a j, B j and F (p 2) on the original, s jA And s j B is a predetermined constant, dj is a small integer,
The elements on F (p 12 ) are the coefficients c 0 , c 1 , c 2 , c 3 , c 4 , c 5 are the elements on F (p 2 ), v 3 = ξ, w 2 = v, ξ is a square non-residue and a cubic non-residue,
c 0 + c 1 v + c 2 v 2 + c 3 w + c 4 vw + c 5 v 2 w
And express it as
The expression evaluation L j is
L j = α j y jP + β j x jp w + γ j vw
When
For j = 0,..., m−1, A j = s jA (α j / β j ), B j = s jB (γ j / β j ),
for j = 0,..., m−1, a recording unit recording a j which is a value having a predetermined relationship with A j and b j which is a value having a predetermined relationship with B j ;
an input conversion unit that calculates x jP '= 1 / (s jB · x jP ), y jP ' = y jP / (s jA · x jP ) for j = 0 ,.
For all of j = 0,..., m−1, a j and b j are read from the recording unit, and a j and b j are used.
L j '= d j v N (A j y jP ' + w + B j x jP 'vw)
An expression evaluation generator for generating an expression evaluation L j ′,
f, L 0 ', L 1 ', ..., and expression evaluation calculation unit 'as input, f × L 0' L m -1 outputs an operation result of × ... × L m-1 ' ,
A multi-pairing arithmetic device comprising:
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を読み出し、ajとbjを用いて、
Lj’=djvN((−1/λj)yjP’+w+(−(λjxj1−yj1)/λj)xjP’vw)
のように式評価Lj’を生成する式評価生成部と、
f,L0’,L1’,…,Lm−1’を入力とし、f×L0’×…×Lm−1’の演算結果を出力する式評価演算部と、
を備えることを特徴とするマルチペアリング演算装置。 the m original P 0 of the group G 1 of, ..., P m-1 and the original Q 0 of the group G 2, ..., multi-pairing e (P 0, Q 0) of Q m-1 × e (P 1 , Q 1 ) ×... × e (P m−1 , Q m−1 )
m is an integer of 2 or more, j is an integer of 0 to m−1, p is a prime number or a power of a prime number, N is an integer of 0, 1, 2, k is a positive integer, and F (p) F (p k ) is a finite field, P j is an elliptic curve point on the finite field F (p), Q j is an elliptic curve point on the finite field F (p 12 ), a fixed point, T j1 and T j2 finite F (p 12) corresponding to Q j points of an elliptic curve on, T j1 = (x j1, y j1), T j2 = (x j2, y j2), P j = ( x jP , y jP ), e is a symbol indicating a pairing operation for outputting an element on the finite field F (p 12 ) with the points P j and Q j as inputs, and f is on the finite field F (p 12 ) Originally, when the point T j1 and the point T j2 are different, λ j = (y j2 −y j1 ) / (x j2 −x j1 ), and when the point T j1 and the point T j2 are the same, λ j = 3x j1 2 / 2y j1 , d j is a small integer,
The elements on F (p 12 ) are the coefficients c 0 , c 1 , c 2 , c 3 , c 4 , c 5 are the elements on F (p 2 ), v 3 = ξ, w 2 = v, ξ is a square non-residue and a cubic non-residue,
c 0 + c 1 v + c 2 v 2 + c 3 w + c 4 vw + c 5 v 2 w
And express it as
For j = 0,..., m−1, a j which is a value having a predetermined relationship with (−1 / λ j ), and a predetermined relationship with (− (λ j x j1 −y j1 ) / λ j ) A recording unit that records b j which is a value having
an input conversion unit for calculating x jP '= 1 / x jP , y jP ' = y jP / x jP for j = 0 ,.
For all of j = 0,..., m−1, a j and b j are read from the recording unit, and a j and b j are used.
L j '= d j v N ((-1 / λ j) y jP' + w + (- (λ j x j1 -y j1) / λ j) x jP 'vw)
An expression evaluation generator for generating an expression evaluation L j ′,
f, L 0 ', L 1 ', ..., and expression evaluation calculation unit 'as input, f × L 0' L m -1 outputs an operation result of × ... × L m-1 ' ,
A multi-pairing arithmetic device comprising:
前記式評価演算部は、
選択されていない式評価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を演算結果として出力する
ことを特徴とするマルチペアリング演算装置。 The multi-pairing arithmetic device according to claim 3 or 4,
The expression evaluation calculation unit is
An expression evaluation selection unit that selects four of unselected expression evaluations L 0 ′, L 1 ′,..., L m−1 ′ and sets them as h 0 , h 1 , h 2 , h 3 ;
An expression evaluation multiplier for calculating L ″ ← h 0 × h 1 × h 2 × h 3 ;
an original multiplier that calculates f ← f × L ″ and updates f;
L 0 ′, L 1 ′,..., L m−1 ′, until the number of expression evaluations not selected by the expression evaluation selection section is less than 4, the expression evaluation selection section and the expression evaluation multiplication And an arithmetic control unit that repeats the processing of the original multiplication unit,
In L 0 ′, L 1 ′,..., L m−1 ′, when there is an expression evaluation not selected by the expression evaluation selection unit, f is multiplied by all the expression evaluations not selected, An unselected multiplier for updating f in the multiplication result;
A multi-pairing arithmetic device characterized in that f is output as an arithmetic result.
前記式評価乗算部は、
L0’←h0×h1, L1’←h2×h3
を計算し、
L”←L0’×L1’
のようにL”を計算する
ことを特徴とするマルチペアリング演算装置。 The multi-pairing arithmetic device according to claim 5,
The expression evaluation multiplication unit
L 0 '← h 0 × h 1 , L 1 ' ← h 2 × h 3
Calculate
L ”← L 0 '× L 1 '
A multi-pairing arithmetic device characterized by calculating L ″ as follows.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014007518A JP6067596B2 (en) | 2014-01-20 | 2014-01-20 | Pairing arithmetic device, multi-pairing arithmetic device, program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014007518A JP6067596B2 (en) | 2014-01-20 | 2014-01-20 | Pairing arithmetic device, multi-pairing arithmetic device, program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015135452A true JP2015135452A (en) | 2015-07-27 |
JP6067596B2 JP6067596B2 (en) | 2017-01-25 |
Family
ID=53767307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014007518A Active JP6067596B2 (en) | 2014-01-20 | 2014-01-20 | Pairing arithmetic device, multi-pairing arithmetic device, program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6067596B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019220531A1 (en) * | 2018-05-15 | 2019-11-21 | 三菱電機株式会社 | Secret search device and secret search method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6456451B1 (en) | 2017-09-25 | 2019-01-23 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010123117A1 (en) * | 2009-04-24 | 2010-10-28 | 日本電信電話株式会社 | Finite field calculation apparatus, finite filed calculation method, program, and recording medium |
-
2014
- 2014-01-20 JP JP2014007518A patent/JP6067596B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010123117A1 (en) * | 2009-04-24 | 2010-10-28 | 日本電信電話株式会社 | Finite field calculation apparatus, finite filed calculation method, program, and recording medium |
Non-Patent Citations (4)
Title |
---|
JPN6016038085; 森佑樹,他: 'BN曲線を用いたペアリングのGMPによるiPhone実装' 2013年 暗号と情報セキュリティシンポジウム , 20130122, 2E3-1 * |
JPN6016038088; Diego F. ARANHA et al.: 'The Realm of the Pairings' Cryptology ePrint Archive Report 2013/722,Ver. 20131114:130127, 201311, International Association for Cryptologic Research * |
JPN6016038090; Craig COSTELLO and Douglas STEBILA: 'Fixed Argument Pairings' Cryptology ePrint Archive Report 2010/342,Ver. 20100618:183424, 201006, International Association for Cryptologic Research * |
JPN6016038091; 酒見由美,他: 'マルチペアリングを用いたTwisted Ateペアリングの改良' 2010年 暗号と情報セキュリティシンポジウム , 20100122, 4C1-2 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019220531A1 (en) * | 2018-05-15 | 2019-11-21 | 三菱電機株式会社 | Secret search device and secret search method |
CN112074889A (en) * | 2018-05-15 | 2020-12-11 | 三菱电机株式会社 | Secret search device and secret search method |
US11431496B2 (en) | 2018-05-15 | 2022-08-30 | Mitsubishi Electric Corporation | Secret search device and secret search method |
CN112074889B (en) * | 2018-05-15 | 2023-07-04 | 三菱电机株式会社 | Hidden search device and hidden search method |
Also Published As
Publication number | Publication date |
---|---|
JP6067596B2 (en) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4334582B2 (en) | Secret sharing apparatus, method and program | |
EP3096309B1 (en) | Secret calculation method, secret calculation system, sorting device, and program | |
US11374735B2 (en) | Processing apparatus, processing method, storage medium, and encryption processing system | |
US11373098B2 (en) | Processing apparatus, learning apparatus, processing method, and nonvolatile recording medium | |
JP2017515195A (en) | Solve digital logic constraint problems via adiabatic quantum computation | |
Cao et al. | High-speed fully homomorphic encryption over the integers | |
Frezzatto et al. | Robust H2 and H∞ memory filter design for linear uncertain discrete-time delay systems | |
CN112805768A (en) | Secret sigmoid function calculation system, secret logistic regression calculation system, secret sigmoid function calculation device, secret logistic regression calculation device, secret sigmoid function calculation method, secret logistic regression calculation method, and program | |
JP2021064008A (en) | Processing device, inference device, learning device, processing system, processing method, and processing program | |
CN106464484A (en) | Obfuscated performance of a predetermined function | |
JP7181988B2 (en) | Information processing system, information processing method and program | |
JP6067596B2 (en) | Pairing arithmetic device, multi-pairing arithmetic device, program | |
JP5526284B2 (en) | Proxy calculation system, method, request apparatus, and program | |
JP6585846B2 (en) | Secret calculation system, secret calculation device, secret calculation method, and program | |
JP6825119B2 (en) | Secret readers, secret writers, their methods, and programs | |
CN106796765B (en) | Non-subtraction sequence determination device, non-subtraction sequence determination method, and recording medium | |
US10050775B2 (en) | Element replication device, element replication method, and program | |
KR101925614B1 (en) | Method for processing scalar multiplication in elliptic curve cryptosystem, and elliptic curve cryptosystem | |
JP6023728B2 (en) | Multi-pairing calculation device, multi-pairing calculation method, multi-pairing calculation program | |
JP5840086B2 (en) | Reduction device, reduction method, and program | |
KR100976232B1 (en) | Fast bit-parellel polynomial multipier and method thereof | |
CN114868175A (en) | Final power calculation device, pairing operation device, encryption processing device, final power calculation method, and final power calculation program | |
JP6040052B2 (en) | Pairing calculation device, pairing calculation method, and program | |
JP5427195B2 (en) | Proxy calculation system, method, request device, calculation device, program | |
JP5791562B2 (en) | COMPRESSION FUNCTION OPERATION DEVICE, COMPRESSION FUNCTION OPERATION METHOD, AND PROGRAM |
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 |