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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The ultimate result is raised to the power (p 2 − 1)/r, where r|(p + 1) (see Section 4.2.1).<br />

Thus we have to compute<br />

(h P,P (−x Q , iy Q )) (p2 −1)/r<br />

= ((h P,P (−x Q , iy Q )) (p−1) ) (p+1)/r<br />

= ((g P,P (−x Q , iy Q )/(2Y 1 Z 3 1)) (p−1) ) (p+1)/r<br />

= ((g P,P (−x Q , iy Q )) (p−1) ) (p+1)/r .<br />

The last equation holds since (2Y 1 Z 3 1) ∈ IF p and consequently (2Y 1 Z 3 1) p−1 = 1. Thus, we can<br />

work entirely with g P,P (−x Q , iy Q ) instead of h P,P (−x Q , iy Q ). Since t 1 , t 4 and t 5 have already<br />

been computed, g P,P (−x Q , iy Q ) can be obtained using 4 additional multiplications.<br />

Hence, encapsulated point doubling and line computation requires 8[M] + 6[S]. In the case<br />

a is small, this cost is 7[M]+6[S] and for the case a = −3, this cost is 8[M]+4[S].<br />

4.3.2 Encapsulated (Mixed) Point Addition and Line Computation<br />

We encapsulate the computation of P + R given P in affine and R in Jacobian together with<br />

the computation corresponding to the associated line.<br />

Mixed Addition: Given R = (X 1 , Y 1 , Z 1 ) and P = (X, Y, 1) we compute R + P =<br />

(X 3 , Y 3 , Z 3 ) as follows.<br />

X ′ 3 =<br />

( Y −<br />

Y 1<br />

Z1<br />

3<br />

X − X 1<br />

Z 2 1<br />

) 2<br />

− X 1<br />

Z 2 1<br />

− X<br />

=<br />

Y ′<br />

3 =<br />

( ) Y Z<br />

3 2<br />

1 − Y 1<br />

− X 1<br />

− X<br />

(XZ1 2 − X 1 )Z 1 Z1<br />

2 ( )<br />

Y Z<br />

3<br />

1 − Y 1<br />

( X 1<br />

− X<br />

(XZ1 2 − X 1 )Z 1 Z<br />

3) ′ − Y 1<br />

1<br />

2 Z1<br />

3<br />

X 3 = X 3Z ′ 3<br />

= (Y Z1 3 − Y 1 ) 2 − X 1 (XZ1 2 − X 1 ) 2 − X(XZ1 2 − X 1 ) 2 Z1<br />

2<br />

= (Y Z1 3 − Y 1 ) 2 − (XZ1 2 − X 1 ) 2 (X 1 + XZ1)<br />

2<br />

Y 3 = Y 3Z ′<br />

3<br />

= (Y Z1 3 − Y 1 )((XZ1 2 − X 1 ) 2 X 1 − X 3 ) − Y 1 (XZ1 2 − X 1 ) 3<br />

Z 3 = (XZ 2 1 − X 1 )Z 1<br />

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

1. t 1 = Z1; 2 2. t 2 = Z 1 t 1 ; 3. t 3 = Xt 1 ;<br />

4. t 4 = Y t 2 ; 5. t 5 = t 3 − X 1 ; 6. t 6 = t 4 − Y 1 ;<br />

7. t 7 = t 2 5; 8. t 8 = t 5 t 7 ; 9. t 9 = X 1 t 7 ;<br />

10. X 3 = t 2 6 − (t 8 + 2t 9 ); 11. Y 3 = t 6 (t 9 − X 3 ) − Y 1 t 8 ; 12. Z 3 = Z 1 t 5 .<br />

41

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

Saved successfully!

Ooh no, something went wrong!