The present invention relates to a pairing computation device, a pairing computation method, and a pairing computation program all of which enable fast pairing computation.
Conventionally, when an individual user uses a variety of services offered over a network such as the Internet, an authentication process is carried out to verify that the individual user is a legitimate user. In such an authentication process, authentication generally uses an ID and a password preset for each individual user. For this purpose, a network is provided with an authentication server for carrying out an authentication process.
Recently, using a digital signature technique, digital signature data unique to an individual user is attached to individual data. This digital signature data ensures that data utilized by an individual user is not tampered by outsiders or is not leaked to outsiders, so that confidential information can be safely handled over a network.
Meanwhile, with a digital signature, an individual user is identified in association with an authentication process at an authentication server, and as a result, history of each individual user is accumulated as information one after another in the authentication server every time an authentication process is performed. Therefore, private information such as which site individual users have accessed and which service they have used is accumulated in the authentication server. Thus, in terms of protection of personal information, great caution is given to prevent leakage of such information.
In order to solve accumulation of history information of individual users caused by the use of digital signatures, it is proposed to use a digital group signature, which is the extended digital signature.
When a digital group signature is used, an individual user transmits, to an authentication server, signature data that certificates that the individual user anonymously belongs to a particular group. The authentication server then verifies that the individual user belongs to a particular group without specifying the individual user from the received signature data. Therefore, while preventing fraud by an individual user who does not belong to a group, the authentication server authenticates an individual user without accumulating history information for each individual user.
For anonymous authentication in such a digital group signature, pairing computation is used.
Pairing computation uses a two-input and one-output function. For example, letting S be a rational point over a prime field Fp and Q be a rational point over a k-degree extension field Fpk, when the two rational points S and Q are input, an element z in the extension field F*pk is output. Moreover, pairing computation has a bilinear property such that when a times of the rational point S and b times of the rational point Q are input, the ab-th power of z is calculated. This bilinearity is utilized in authentication. Here, “k” is an embedding degree, and “F*pk” is, strictly speaking, expressed as:
F*pk [Formula 1]
in mathematical representation, but is here represented as “F*pk” due to limitations in expression.
In general, for each of the rational points S, Q, a point on an elliptic curve is used. The pairing computation of a rational point on an elliptic curve includes a step of performing computation according to Miller's algorithm and a step of performing exponentiation on the computation result.
With a digital group signature, when access right of an individual user belonging to a group is authenticated, a pairing computation is first performed for excluding an individual user whose access right expires. Then, with the digital group signature, an authentication process is performed through a pairing computation for a predetermined individual user, so that an attribute change such as issue or expiration of access right for each individual user is flexibly handled.
Then, for example, in a case of a digital group signature for a group consisting of 10,000 individual users, if there are 100 individual users whose access rights expire, 100 pairing computations are required. At present, one pairing computation by a general electronic calculator requires about 0.1 second. Accordingly, 100 pairing computations require about 10 seconds. Therefore, in the present situation, a digital group signature scheme is not deemed to be practical and has not been widely used.
In the present situation, in order to put digital group signatures into practical use, researches are focused on improving the speed of pairing computations. For example, a technique for achieving fast pairing computations proposes using Tate pairing computation defined over an elliptic curve to reduce the computation load (see, for example, Patent Document 1).
However, the currently proposed techniques for faster pairing computation have not yet been sufficient, and there has been a growing demand for further acceleration of computation.
In view of the present situation, the present inventors have conducted research and development to increase the pairing computation speed and have conceived the present invention.
A pairing computation device according to the present invention is for defining pairing e by using:
G
1
=E[r]∩Ker (φp−[1])), and
G
2
=E[r]∩Ker(φp−[p]),
as a nondegenerate bilinear map:
e: G2×G1→F*pk/(F*pk)r,
where:
e(Q,S)=ƒt−1.Q(S)(p
e(Q,S)=ƒ′χ,Q(S)(p
The pairing computation device according to the present invention is characterized in that the computation means for computing the rational function fχ,Q(S) includes computation means for computing χQ, storing a result of the computation in a predetermined register, and computing the predetermined rational point by using the result of the computation of χQ.
Furthermore, the pairing computation device according to the present invention is characterized in that, if the embedding degree k=12, using the integer variable χ, letting the order r and the trace t of the Frobenius endomorphism φp be:
r(χ)=36χ4−36χ3+18χ2−6χ+1,
t(χ)=6χ2+1,
ƒ′χ,Q(S)=ƒχ,Q(S)l+p+p
Moreover, the pairing computation device according to the present invention is characterized in that using Frobenius endomorphism φp of the rational function fχ,Q(S) being φp(fχ,Q(S))=fχ,Q(S)p,
ƒχ,Q(S)l+p
ƒχ,Q(S)p+p
ƒχ,Q(S)p+p
A pairing computation method according to the present invention is for defining pairing e by using:
G
1
=E[r]∩Ker(φp−[1]) , and
G
2
=E[r]∩Ker(φp−[p]),
as a nondegenerate bilinear map:
e:G2×G1→F*pk/(F*pk)r,
where:
e(Q,S)=ƒt−1,Q(S)(p
e(Q,S)=ƒ′χ,Q(S)(p
The pairing computation method according to the present invention is characterized by further including a step of causing the CPU of the electronic calculator to function as computation means for computing χQ and computing the predetermined rational point by using the result of the computation of χQ, after the step of computing the rational function fχ,Q(S).
A pairing computation program according to the present invention is for defining pairing e by using:
G
1
=E[r]∩Ker(φp−[1]), and
G
2
=E[r]∩Ker(φp−[p]),
as a nondegenerate bilinear map:
e:G2×G1→F*pk/(F*pk)r,
where:
e(Q,S)=ƒt−1,Q(S)(p
e(Q,S)=ƒ′χ,Q(S)(p
The pairing computation program according to the present invention is characterized in that the program causes the electronic calculator to function as computation means for computing χQ and computation means for computing the predetermined rational point by using the result of the computation of χQ.
In accordance with the present invention, a rational function calculated according to Miller's algorithm in pairing computation is given as a function of an integer variable x, so that the rational function can be calculated at high speed, thereby achieving faster pairing computation. Therefore, it is possible to provide digital group signature service of practical use.
[
[
[
[
A pairing computation device, a pairing computation method, and a pairing computation program according to the present invention perform pairing computation including a first step of computing a rational function according to Miller's algorithm and a second step of performing exponentiation on the computation result. In the first step, the pairing computation device, the pairing computation method, and the pairing computation program compute a rational function using an integer variable χ to speed up the computation.
Specifically, in the conventional pairing computation, pairing e is defined by using:
G
1
=E[r]∩Ker(φp−[1]), and
G
2
=E[r]∩Ker(φp−[p]),
as a nondegenerate bilinear map:
e:G2×G1→F*pk/(F*pk)r,
where:
e(Q,S)=ƒt−1,Q(S)(p
By contrast, the present inventors have found pairing that allows for faster computation by using an integer variable χ on an elliptic curve. This pairing is referred to as “Xate pairing.”
In other words, the pairing computation device, the pairing computation method, and the pairing computation program according to the present invention use Xate pairing rather than Ate pairing, thereby enabling fast computation.
In particular, the elliptic curves used in pairing computation are known as pairing-friendly curves corresponding to the respective embedding degrees. For example, with an embedding degree k=12, the order r and the trace t of the Frobenius endomorphism φp are known to be represented as follows using the integer variable χ:
r(χ)=36χ4−36χ3+18χ2−6χ+1,
t(χ)=6χ2+1.
With an embedding degree k=10, r and t are known to be represented as follows:
r(χ)=25χ4+25χ3+15χ2+5χ+1,
t(χ)=10χ2+5χ+3.
Alternatively, they are also known to be represented as follows:
r(χ)=χ8−1,
t(χ)=−χ6+χ4−χ2+2.
With an embedding degree k=8, r and t are known to be represented as follows:
r(χ)=9χ4+12χ3+8χ2+4χ+1,
t(χ)=−9χ3−3χ2−2χ.
Alternatively, they are also known to be represented as follows:
r(χ)=χ4−8χ2+25,
t(χ)=(2χ3−11χ+15)/15.
Alternatively, they are also known to be represented as follows:
r(χ)=χ8−χ4+1,
t(χ)=χ5−χ+1.
With an embedding degree k=18, r and t are known to be represented as follows:
r(χ)=(χ6+37χ3+343)/343,
t(χ)=(χ4+16χ+7)/7.
In the following, Xate pairing will be described with the embedding degree k=12, by way of example.
With the embedding degree k=12, pairing e is defined by using:
G
1
=E[r]∩Ker(φp−[1]), and
G
2
=E[r]∩Ker(φp−[p]),
as a nondegenerate bilinear map:
e:G2×G1→F*p12/(F*p12)r
where:
t is an additive group of rational points on a pairable elliptic curve defined over Fp12, and the curve equation is given by y2=x3+b where b∈Fp, E[r] is a set of rational points of a prime order r, and φp is Frobenius endomorphism.
In this case, the order r and the trace t of the Frobenius Endomorphism φp can be represented as follows using the integer variable χ as described above.
r(χ)=36χ4−36χ3+18χ2−6χ+1 (Equasion 1)
t(χ)=6χ2+1 (Equasion 2)
Equasion 2 can be transformed as follows. Here, the notation (χ) will be omitted unless particularly necessary, for the sake of convenience.
6χ2≡t−1≡p (mod r) (Equasion 3)
Here, a characteristic p has the following relational expression.
p=r+t−1 (Equasion 4)
Therefore, the characteristic p is represented as follows using the integer variable χ.
p(χ)=36χ4−36χ3+24χ2−6χ+1 (Equasion 5)
Using Equasion 3, Equasion 5 can be transformed as follows.
p≡p
2−6χ(p+1)+4p+1 (mod r) (Equation 6)
Equasion 6 can be transformed as follows.
6χ(1+p)≡p2+3p+1 (mod r) (Equasion 7)
Here, based on the already-known relational expression p4−p2+1≡0 (mod r), the following equation is obtained.
p
2(1−p)(1+p)≡1 (mod r) (Equasion 8)
Equasion 8 can be transformed as follows.
(1+p)−1≡p2 (1−p) (mod r) (Equasion 9)
Using Equasion 9 and from the relational expression p6≡−1 (mod r), Equasion 7 can be transformed as follows.
Next, a rational function ft−1,Q(·) of Ate pairing will be considered. In particular, with Equasion 3, the rational function ft−1,Q( ) can be represented as follows, where t−1=T:
[Formula 8 ]
ƒ6χ
Here, Q∈G2, and for ∀S∈G1, the following equation is given:
[Formula 9]
ƒ6χ
Using Equasion 10, the following equation is obtained:
[Formula 10]
ƒ6χ
Here, it is supposed that the rational function satisfies the following relational expressions:
[Formula 11]
ƒa+b,Q=ƒa,Q·ƒb,Q·gaQ,bQ (Equasion 14),
[Formula 12]
ƒab,Q=ƒb,Qa·ƒa,bQ=ƒa,Qbƒb,aQ (Equasion 15),
and
[Formula 13]
ƒp
Therefore, Equasion 13 can be transformed as follows:
[Formula 14]
ƒ(1+p+p
Here, gaQ,bQ=laQ,bQ/vaQ+bQ where laQ,bQ denotes a value on the line passing through two rational points aQ and bQ, and vaQ+bQ denotes a value on the vertical line of rational point aQ+bQ. When the embedding degree is an even number, the computation of VaQ+bQ can be omitted.
Furthermore, in Equasion 17,
[Formula 15]
ƒp,χQl+3p
has bilinearity and can be transformed as follows:
[Formula 16]
ƒp,Qχ(1+3p
Therefore, using Equasion 3, Equasion 13, and Equasion 19, the transformation of Equasion 17 results in the following.
[Formula 17]
ƒp,Q·{ƒp,Qχ(1+3p
Here, given that the left side of Equasion 20 has bilinearity, the present inventors have noticed that the right side of Equasion 20 has also bilinearity and set the right side of Equasion 20 as a new rational function f′χ,Q(·).
More specifically, the computation of pairing e(Q,S) is carried out by the following equation:
e(Q,S)=ƒ′χ,Q(S)(p
The present inventors call this pairing e(Q,S) as Xate pairing.
Furthermore, the right side of Equasion 20 can be transformed as follows:
[Formula 19]
ƒχ,Ql+p+p
In other words, in the case of the embedding degree k=12, if a value l1 of a rational point S(xs, ys) on a line passing through rational points (χQ, p10χQ), a value l2 of a rational point S(xs, ys) on a line passing through rational points (χQ+p10χQ, pχQ+p3χQ), and a value l3 of a rational point S(xs, ys) on a line passing through rational points (pχQ, p3χQ) are calculated and specified, the computation according to Miller's algorithm can be speeded up based on the following equation:
ƒ′χ, Q(S)=ƒχ,Q(S)l+p+p
Moreover, the right side of Equasion 20 can be transformed as follows, which makes the computation of f′χ,Q(S) even faster:
[Formula 20]
{ƒχ,Ql+p
As described above, if pairing computation is carried out using Xate pairing, the computation can be performed using the rational function fχ,Q(S) and a new rational function f′χ,Q(S) obtained by using the values on the lines passing through predetermined rational points. In particular, the rational function f′χ,Q(S) can be computed using χ having a size smaller than t−1, thereby achieving faster pairing computation.
The description has been given so far to the case of the embedding degree k=12. This is basically applicable to the cases of the embedding degrees k=8, 10, 18, and therefore, a detailed description thereof will not be repeated.
In the following, an embodiment with embedding degree k=12 will be detailed. It is noted that the present embodiment is intended for digital group signatures, and an authentication server configured with a predetermined electronic calculator is assumed as the pairing computation device. However, the pairing computation device may not be configured as an authentication server and may be any device as long as it includes at least computing means such as CPU and can perform pairing computation.
As shown in
The electronic calculator 10 is also connected to an electrical communication line 20 such as the Internet so as to be able to receive signature data of a digital group signature transmitted from a client device 30 connected to the electrical communication line 20.
When signature data of a digital group signature is transmitted from the client device 30 to the electronic calculator 10, the transmitted signature data is temporarily stored in the memory device 13. Then, the electronic calculator 10 performs pairing computation by executing the pairing computation program.
More specifically, upon execution of the pairing computation program, the electronic calculator 10 performs pairing computation based on a flowchart shown in
With the pairing computation program, the CPU 11 of the electronic calculator 10 functions as input means for inputting required data in step S1 as shown in
Then, with the pairing computation program, the CPU 11 of the electronic calculator 10 functions as first computation means for performing computation of a rational function fχ,Q(S) by Miller's algorithm, in step S2.
Specifically, the computation of the rational function fχ,Q(S) is executed as shown in a flowchart in
More specifically, based on the flowchart in
Then, based on the flowchart in
Then, based on the flowchart in
Then, based on the flowchart in
If ui=1, based on the flowchart in
Then, based on the flowchart in
If i≠1 in step S27, based on the flowchart in
If i=1 in step S27, the electronic calculator 10 stores the computation result of the rational function fχ,Q(S) and the computation result of χQ in predetermined registers and then ends the subroutine based on the flowchart in
Then, with the pairing computation program, the CPU 11 of the electronic calculator 10 functions as second computation means for computing rational points p10χQ, χQ+p10χQ, pχQ+p3χQ, in step S3.
In particular, in the second computation means, letting χQ stored in the predetermined register in step S2=R, using the relation of Frobenius endomorphism φp of R being φp(R)=pR, computation is performed by assuming that the rational points are p10χQ=p10R, χQ+p10χQ=R+p10R, pχQ+p3χQ=pR+p3R.
Specifically, given T=χQ=R where X=p10R, Y=R+p10R, Z=pR+p3R, the electronic calculator 10 performs computation as follows:
X←φp10(T),
Y←T+X, and
Z←φp3(Y).
Therefore, since the electronic calculator 10 can perform computation without performing a multiplication process in step S3, the computation can be speeded up.
Then, with the pairing computation program, the CPU 11 of the electronic calculator 10 functions as third computation means for computing the value l1 of the rational point S(xs, ys) on the line passing through the rational points (χQ, p10χQ) and the value l2 of the rational point S(xs, ys) on the line passing through the rational points (χQ+p10χQ, pχQ+p3χQ), in step S4.
Specifically, in the electronic calculator 10, l1=lT,X(S) is computed as follows:
λT,X←(yX−yT)/(xX−xT), and
lT,X(S)←(xS−xX) λT,X−(yS-yX).
Furthermore, in the electronic calculator 10, l2=lY,Z(S) is computed as follows:
λY,Z←(yZ−yY)/(xZ−xY), and
lY,Z(S)←(xS−xZ) λY,Z−(yS−yZ).
Then, with the pairing computation program, the CPU 11 of the electronic calculator 10 functions as fourth computation means for computing, using the computation result in the first computation means, the computation result in the third computation means, and the value l3 of the rational point S(xs, ys) on the line passing through the rational points (pχQ, p3χQ), a rational function f′χ,Q(S) as follows, in step S5:
ƒ═χ,Q(S)=ƒχ,Q(S)l+p+p
In particular, in this case, given that Frobenius endomorphism φp of the rational function fχ,Q(S) is χp(fχ,Q(S))=fχ,Q(S)p, using φp10(fχ,Q(S))=fχ,Q(S)p{circumflex over (0)}10 (here, p{circumflex over (0)}10 represents p10), the electronic calculator 10 computes:
ƒχ,Q(S)l+p
Furthermore, using Frobenius endomorphism φp of a value l of a rational point S(xs, ys) on a line passing through rational points (Q1, Q2), Q1, Q2∈G2, being a value of a rational point S(xs, ys) on a line passing through rational points (pQ1, pQ2), the electronic calculator 10 computes a rational function f′χ,Q(S) by computing:
ƒχ,Q(S)p+p
ƒχ,Q(S)p+p
Specifically, the electronic calculator 10 performs computation as follows. Here, p{circumflex over (0)}3 represents p3.
Therefore,
ƒ′χ,Q(S)=ƒχ,Q(S)l+p+p
can be calculated as:
f′←A·B·lY,Z(S).
In this manner, the use of Xate pairing can significantly reduce the computation amount thereby achieving faster pairing computation.
Then, with the pairing computation program, the CPU 11 of the electronic calculator 10 functions as fifth computation means for performing final exponentiation in the pairing e(Q,S) in step S6.
Specifically, the electronic calculator 10 performs computation as follows.
In the electronic calculator 10 that configures an authentication server, an authentication process is performed using the result of pairing computation obtained as described above.
In the present embodiment, the description has been made to the case of the embedding degree k=12. However, for example, in the case of an embedding degree k=10, similar computation can also be performed.
With the embedding degree k=10, pairing e is defined by using:
G
1
=E[r]∩Ker(φp−[1]), and
G
2
=E[r]∩Ker(φp−[p]),
as a nondegenerate bilinear map:
e:G2×G1→F*p10/(F*p10)r
where:
In this case, the order r and the trace t of the Frobenius endomorphism φp are represented as follows, using an integer variable χ.
r(χ)=25χ4+25χ3+15χ2+5χ+1
t(χ)=10χ2+5χ+3
Furthermore, p-adic expansion by a characteristic p of the integer variable χ is represented as follows.
5χ=p4+p5+p7+p8=p4(1+p+p3+p4) (mod r(χ))
Then, a value l4 of a rational point S(xs, ys) on a line passing through rational points (χQ, pχQ) and a value l5 of a rational point S(xs, ys) on a line passing through rational points (χQ+pχQ, p3χQ+p4χQ) are computed, and then using a value l6 of a rational point S(xs, ys) on a line passing through rational points (p3χQ, p4χQ), a rational function f′χ,Q(S) is computed by the following equation:
ƒ′χ,Q(S)=φp4(ƒχ,Q(S)l+p+p
Similarly to the case of the embedding degree k=12, also in the case of the embedding degree k=10, the authentication server performs pairing computation based on a flowchart shown in
With the pairing computation program, as shown in
Then, with the pairing computation program, the CPU 11 of the electronic calculator 10 functions as the first computation means for performing computation of a rational function fχ,Q(S) by Miller's algorithm, in step T2.
It is noted that in this step T2, the first equation in step S22 in the flowchart shown in
λT,T←(3xT2+a)/(2yT) 1.
Here, “a” denotes the first-order coefficient in the elliptic curve given by y2=x3+ax+b where a∈Fp and b∈Fp. Except for this first equation, computation of the rational function fχ,Q(S) is performed similarly to the flowchart shown in
Furthermore, in step T2, the electronic calculator 10 also computes χQ along with the rational function fχ,Q(S) and stores the computation result in a predetermined register.
Then, with the pairing computation program, the CPU 11 of the electronic calculator 10 functions as the second computation means for computing rational points pχQ, χQ+pχQ, p3χQ+p4χQ in step T3.
In particular, in the second computation means, letting χQ stored in the predetermined register in step T2=R, using the relation of Frobenius endomorphism φp of R being φp(R)=pR, computation is performed by assuming that the rational points are pχQ=pR, χQ+pχQ=R+pR, p3χQ+p4χQ=p3R+p4R.
Specifically, given T=χQ=R where X=pR, Y=R+pR, Z=p3R+p4R, the electronic calculator 10 performs computation as follows:
X←φp(T),
Y←+X, and
Z←φp3(Y).
Then, with the pairing computation program, the CPU 11 of the electronic calculator 10 functions as the third computation means for computing the value l4 of the rational point S(xs, ys) on the line passing through the rational points (χQ, pχQ) and the value l5 of the rational point S(xs, ys) on the line passing through the rational points (χQ+pχQ, p3χQ+p4χQ), in step T4.
Specifically, in the electronic calculator 10, l4=lT,X(S) is computed as follows:
λT,X←(yX−yT)/(xX−xT),
lT,X(S)←(xS−xX)λT,X−(yS−yX).
Furthermore, in the electronic calculator 10, l5=lY,Z(S) is computed as follows:
λY,Z←(yZ−yY)/(xZ−xY),
lT,Z (S)←(xS−xZ) λY,Z−(yS−yZ).
Then, with the pairing computation program, the CPU 11 of the electronic calculator 10 functions as the fourth computation means for computing, using the computation result in the first computation means, the computation result in the third computation means, and the value l6 of the rational point S(xs, ys) on the line passing through rational points (p3χQ, p4χQ), a rational function f′χ,Q(S) as follows, in step T5:
ƒ′χ,Q(S)=φp4(ƒχ,Q(S)l+p+p
In particular, in this case, using Frobenius endomorphism φp of the rational function fχ,Q(S) being φp(fχ,Q(S))=fχ,Q(S)p, the electronic calculator 10 computes:
ƒχ,Q(S)l+p·l4. [Formula 22]
Furthermore, using Frobenius endomorphism φp of the value l of the rational point S(xs, ys) on the line passing through the rational points (Q1, Q2), Q1,Q2∈G2, being a value of the rational point S(xs, ys) on a line passing through the rational points (pQ1, pQ2), the electronic calculator 10 computes a rational function f′χ,Q(S) by computing:
ƒχ,Q(S)p
ƒχ,Q(S)p
Specifically, the electronic calculator 10 performs computation as follows. Here, p{circumflex over (0)}3 represents p3.
Furthermore, the electronic calculator 10 performs computation as:
ƒ′χ,Q(S)=φp4(ƒχ,Q(S)l+p+p
Then, with the pairing computation program, the CPU 11 of the electronic calculator 10 functions as the fifth computation means for performing final exponentiation in the pairing e(Q,S) in step T6.
In the electronic calculator 10 that configures an authentication server, an authentication process is performed using the result of pairing computation obtained as described above.
Furthermore, in the case of the embedding degree k=10, letting the rational function calculated according to Miller's algorithm be given by fχ{circumflex over (0)}2,Q(S) (χ{circumflex over (0)}2 represents χ2), pairing e(Q,S) can also be computed.
In this case, the order r and the trace t of the Frobenius endomorphism φp is represented as follows, using an integer variable χ.
r(χ)=χ8−1
t(χ)=−χ6+χ4−χ2+2
Furthermore, p-adic expansion by a characteristic p of the integer variable χ is represented as follows.
pχ
2=−p (mod r(χ))
Then, the electronic calculator 10 computes a rational function f′χ,Q(S) by the following equation:
ƒ′χ,Q(S)=ƒχ
Therefore, according to the pairing computation program, in the electronic calculator 10, the pairing e(Q,S) can be computed as:
e(Q,S)=ƒ′χ,Q(S)(p
With the embedding degree k=8, pairing e is defined by using:
G
1
=E[r]∩Ker(φp−[1]), and
G
2
=E[r]∩Ker(φp−[p]),
as a nondegenerate bilinear map:
e:G2×G1→F*p8/(F*p8)r
where:
In this case, the order r and the trace t of Frobenius endomorphism φp are represented as follows, using an integer variable χ.
r(χ)=9χ4+12χ3+8χ2+4χ+1
t(χ)=−9χ3−3χ2−2χ
Furthermore, p-adic expansion by a characteristic p of the integer variable χ is represented as follows.
3χ=−l−p2+p3 (mod r(χ))
Then, using a value l7 of a rational point S(xs, ys) on a line passing through rational points (χQ, χQ), a value l8 of a rational point S(xs, ys) on a line passing through rational points (2χQ, χQ), a value l9 of a rational point S(xs, ys) on a line passing through rational points (p2Q, (3χ+1)Q), and a value l10 of a rational point S(xs, ys) on a line passing through rational points (3χQ, Q), the electronic calculator 10 computes a rational function f′χ,Q(S) using the following equation:
ƒ′χ,Q(S)=ƒχ,Q(S)3·l7·l8·l9˜l10. [Formula 27 ]
In other words, with the pairing computation program, the electronic calculator 10 performs computation of the rational function fχ,Q(S) by Miller's algorithm as described above, computes χQ along with the rational function fχ,Q(S), and then stores the computation result in a predetermined register.
Then, letting χQ stored in a predetermined register =R, using the relation of Frobenius endomorphism φp of R being φp(R)=pR, the electronic calculator 10 computes rational points 2χQ, p2χ, 3χQ, (3χ+1)Q, computes the values l7, l8, l9, l10 using the computation result, and computes the rational function f′χ,Q(S).
Then, in the electronic calculator 10, the pairing e(Q,S) can be computed as:
e(Q,S)=ƒ′χ,Q(S)(p
It is noted that, in the case of the embedding degree k=8, the order r and the trace t of the Frobenius endomorphism φp may also be represented as follows, using the integer variable χ.
r(χ)=χ4−8χ2+25
t(χ)=(2χ3−11χ+15)/15
In this case, p-adic expansion by the characteristic p of the integer variable χ is represented as follows.
χ=−p+2p3 (mod r(χ))
In this case, using a value l11 of a rational point S(xs, ys) on a line passing through rational points (pQ, χQ), the rational function f′χ,Q(S) can also be computed by the following equation:
ƒ′χ,Q(S)=ƒχ,Q(S)·l11. [Formula 29]
Alternatively, in the case of the embedding degree k=8, letting the rational functions calculated according to Miller's algorithm be given by fχ{circumflex over (0)}2,Q(S) (χ{circumflex over (0)}2 represents χ2) and fχ,Q(S), the pairing e(Q,S) can also be computed.
Here, the order r and the trace t of the Frobenius endomorphism φp can also be represented as follows, using the integer variable χ.
r(χ)=χ8−χ4+1
t(χ)=χ5−χ+1
In this case, p-adic expansion by the characteristic p of the integer variable χ is represented as follows.
Pχ+χ
2
=−o
2 (mod r(χ))
In this case, using a value l12 of a rational point S(xs, ys) on a line passing through rational points (χ2Q, pχQ), the rational function f′χ,Q(S) can be computed by the following equation:
ƒ′χ,Q(S)=ƒχ
Here, the electronic computation device 10 computes χQ, along with the computation of the rational function fχ{circumflex over (0)}2,Q(S) and the rational function fχ,Q(S) by Miller's algorithm as described above, and stores the computation result in a predetermined register.
Then, letting χQ stored in a predetermined register=R, using the relation of Frobenius endomorphism φp of R being φp(R)=pR, the electronic calculator 10 computes a rational point pχQ, and computes the above-noted value l12 using this computation result, and computes the rational function f′χ,Q(S). Then, the pairing e(Q,S) can be computed as:
e(Q,S)=ƒ′χ,Q(S)(p
With the embedding degree k=18, pairing e is defined by using:
G
1
=E[r]∩Ker(φp−1]), and
G
2
=E[r]∩Ker(φp−[p]),
as a nondegenerate bilinear map:
e:G2×G1←F*p18/(F*p18)r
where:
In this case, the order r and the trace t of the Frobenius endomorphism φp are represented as follows, using an integer variable χ.
r(χ)=(χ6+37χ3+343)/343
t(χ)=(χ4+16χ+7)/7
In this case, p-adic expansion by a characteristic p of the integer variable χ is represented as follows.
χ=−3p+p4 (mod r(χ))
Then, a value l13 of a rational point S(xs, ys) on a line passing through rational points (3pQ, χQ), the electronic calculator 10 computes a rational function f′χ,Q(S) by the following equation:
ƒ′χ,Q(S)=ƒχ,Q(S)·l13. [Formula 31]
In other words, with the pairing computation program, the electronic calculator 10 performs computation of the rational function fχ,Q(S) by Miller's algorithm as described above, computes χQ together with the rational function fχ,Q(S), and then stores the computation result in a predetermined register.
Then, the electronic calculator 10 computes the above-noted value l13 using the rational function fχ,Q(S) and the computation result of χQ, and computes the rational function f′χ,Q(S). Then, the pairing e(Q,S) can be computed as:
e(Q,S)=ƒ′χ,Q(S)(p
As described above, pairing computation is performed with Xate pairing to achieve faster pairing computation, thereby making group signatures using pairing computation into practical use.
In accordance with the present invention, it is possible to provide a high-speed pairing computation device and to provide digital group signature service of practical use.
Number | Date | Country | Kind |
---|---|---|---|
2008-222556 | Aug 2008 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP09/65099 | 8/28/2009 | WO | 00 | 2/24/2011 |