Page 315 - Hardware Implementation of Finite-Field Arithmetic
P. 315

An Example of Application—Elliptic Curve Cryptography        295


                  As a matter of fact, the preceding relation defines an equivalence
               relation over the set of elements of L  whose z-coordinate is nonzero:
                                             3
               two elements (X , Y , Z ) and (X , Y , Z ) are equivalent if they are
                             1  1  1       2  2  2
               mapped to the same element of L , that is,
                                           2
                                                            d
                                                     d
                             c
                        X /Z = X /Z   and   Y /Z = Y /Z            (10.31)
                                     c
                          1  1   2  2            1  1   2  2
                  Each equivalence class is called a  projective point, while the
                               2
               elements (x, y) of L  are called affine points.
                  Consider now an elliptic curve, for example, a nonsupersingular
                               m
               curve over L = GF(2 ) defined by Eq. (10.4), and assume that c = 1 and
               d = 2 (López-Dahab projective coordinates, [LD99]). Substituting x by X/Z
               and y by Y/Z  in Eq. (10.4) the following equation is obtained:
                          2
                                           3
                                              3
                                                      2
                                                   2
                                       3
                               4
                           Y /Z + XY/Z = X /Z + aX /Z + b          (10.32)
                            2
               equivalent to
                                                2
                                                 2
                               2
                              Y + XYZ = X Z + aX Z + bZ             (10.33)
                                         3
                                                      4
                  It is the projective form of Eq. (10.4), and for every solution (x, y) of
               Eq. (10.4), there corresponds an equivalence class of solutions (X, Y, Z)
               of Eq. (10.33).
                  All the elements of the form (X, 0, 0) are also solutions of Eq. (10.33).
               They are associated to the point at infinity ∞ in the two-dimension
               domain.
                  The basic idea for avoiding divisions is to define the point-addition
               and point-doubling operations using the projective coordinates.
               Assume that the result of an operation involving two points (x , y )
                                                                     1  1
               and (x , y ) is (x , y ). In affine coordinates x  and y  are some of the
                    2  2    3  3                    3     3
               computed formulas presented in Sec. 10.3. Within those formulas
                                                           2
                                                2
               substitute x , y , x , y  with X /Z, Y /Z , X /Z, Y /Z , so that x  and
                         1  1  2  2     1    1     2    2           3
               y  are now expressed under the form x = N /D  and y = N /D  where
                3                              3   x  x    3   y  y
               the numerators and denominators are functions of X , Y , Z , X , Y ,
                                                            1  1  1  2  2
               and Z . The same point can be represented in the projective domain
                    2
                                               2
               under the form ((N /D )Z , (N /D )Z , Z ) where Z  can be any non-
                               x  x  3  y   y  3  3       3
               zero element. Then choose for Z  an element so that D divides Z  and
                                          3                 x       3
                          2
               D  divides Z .
                y        3
                  As an example compute the doubling formulas. According to
               Eq. (10.17)
                λ= x + y /x = X /Z + (Y /Z )/(X /Z ) = (X Z + X Y Z )/( X Z )
                                                                    2
                                                                       2
                                                      3
                                         2
                    1  1  1   1  1   1  1    1  1    1  1  1  1  1  1  1
                                                   4
                                                             2
                                                                2
                                                        4
                x = x + b/x = (X /Z ) + b/(X /Z ) = (X + bZ )/( X Z )
                                              2
                          2
                    2
                                   2
                3   1     1    1  1       1  1    1     1    1  1
                                     2
                                          3
                                                            4
                                                                    2 2
                                                                  2
                                                       4
                    2
                y = x + λx + x = (X /Z ) + (X Z + X Y Z )(X + bZ )/( X Z )
                3   1    3  3    1  1     1  1  1  1  1  1  1    1  1
                                    2
                            4
                       4
                                 2
                   + (X + bZ )/( X Z )
                      1     1    1  1
   310   311   312   313   314   315   316   317   318   319   320