11.07.2014 Views

Identity-Based Encryption Protocols Using Bilinear Pairing

Identity-Based Encryption Protocols Using Bilinear Pairing

Identity-Based Encryption Protocols Using Bilinear Pairing

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

the best result. In [57] the authors suggested to take the so called simplified Jacobian-<br />

Chudnovsky coordinate J s as they store (X, Y, Z, Z 2 ) instead of (X, Y, Z). However, we have<br />

found out that if one encapsulates EC addition/doubling with line computation then there<br />

is no need to additionally store Z 2 – one can simply work in the Jacobian coordinate. Here<br />

we give the explicit formulae required for the encapsulated computation of double/add-andline<br />

computation. In what follows, by [M] and [S], we respectively denote the cost of one<br />

multiplication and one squaring in IF p .<br />

4.3.1 Encapsulated Point Doubling and Line Computation<br />

Here P = (X 1 , Y 1 , Z 1 ) correspond to (X 1 /Z 2 1, Y 1 /Z 3 1) in affine coordinate. We encapsulate the<br />

computation of 2P given P together with the computation corresponding to the associated<br />

line.<br />

Point Doubling : From the EC point doubling rule we have the following formula:<br />

<strong>Using</strong> temporary variables, we compute:<br />

X 3 ′ = (3X2 1 + aZ1) 4 2 − 8X 1 Y1<br />

2<br />

4Y1 2 Z1<br />

2<br />

Y 3 ′ = 3X2 1 + aZ1<br />

4 ( X 1<br />

2Y 1 Z 1 Z1<br />

2 − X 3) ′ − Y 1<br />

Z1<br />

3<br />

X 3 = (3X1 2 + aZ1) 4 2 − 8X 1 Y1<br />

2<br />

Y 3 = (3X1 2 + aZ1)(4X 4 1 Y1 2 − X 3 ) − 8Y1<br />

4<br />

Z 3 = 2Y 1 Z 1<br />

1. t 1 = Y1 2 ; 2. t 2 = 4X 1 t 1 ; 3. t 3 = 8t 2 1;<br />

4. t 4 = Z1; 2 5. t 5 = 3X1 2 + aZ1; 4 6. X 3 = t 2 5 − 2t 2 ;<br />

7. Y 3 = t 5 (t 2 − X 3 ) − t 3 ; 8. Z 3 = 2Y 1 Z 1 .<br />

So, we require 6[S] + 4[M] for EC doubling. Now consider t 5 . If a is a general element of<br />

IF p , then we have to count the multiplication a × (Z 4 1). However, if a is small, i.e., it can be<br />

represented using only a few (say ≤ 8) bits, then we do not count this multiplication. In this<br />

case, aZ 4 1 can be obtained summing Z 4 1 a total of a times. This reduces the operation count<br />

to 6[S]+3[M]. Further, if a = −3, then t 5 = 3(X 1 − Z 2 1)(X 1 + Z 2 1) = 3(X 1 − t 4 )(X 1 + t 4 ) and<br />

the operation count reduces to 4[S]+4[M]. These facts are known and can be found in [53].<br />

Line Computation: Note that, the slope µ of h P,P , the line through P and −2P , is<br />

µ = t 5 /Z 3 . So,<br />

h P,P (x, y) = (y − Y 1<br />

Z 3 1<br />

Hence, h P,P (−x Q , iy Q ) = (y Q i − Y 1<br />

) + µ(x<br />

Z1<br />

3 Q + X 1<br />

).<br />

Z1<br />

2<br />

By defining g P,P (x, y) = (2Y 1 Z1)h 3 P,P (x, y), we get,<br />

) − µ(x − X 1<br />

).<br />

Z1<br />

2<br />

g P,P (−x Q , iy Q ) = (2Y 1 Z 1 )Z1y 2 Q i − 2Y1 2 + (3X1 2 + aZ1)(Z 4 1x 2 Q + X 1 )<br />

= Z 3 t 4 y Q i − (2t 1 − t 5 (t 4 x Q + X 1 ))<br />

40

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!