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

294     Cha pte r  T e n


                                                    i
                                                                 i
               which is impossible as k’ is smaller than 2 , and k’P =− 2 P would
               imply that k’ + 2 = 0, which is impossible.
                             i
                  The basic Algorithms 10.2 and 10.3 consist of t doubling function
               calls and at most t adding function calls, where the order of magnitude
                                                      m
               [Eq. (10.25)] of  t is  log q = mlog p if  L = GF(p ). Both functions are
                                  2       2
               relatively complex [Eqs. (10.12), (10.13), (10.16), (10.17), (10.20),
               (10.21)] and include divisions. For that reason numerous alternative
               algorithms have been proposed. Some of them are briefly introduced
               in the next section.
               10.4.3 Some Alternative Methods

               10.4.3.1 Nonadjacent Forms
               Several strategies have been proposed for reducing the point-
               multiplication computation time. One of them is based on the fact
               that subtracting is as efficient as adding so that a signed-bit
               representation of k can be considered. Then, among all the signed-bit
               representations of  k, a so-called  nonadjacent form (NAF) is chosen
               ([HMV04]), that is an expression
                                                +
                                                          0
                          k = k’   · 2 t’ − 1  + k’   · 2  t’ − 2  . . .  + k’  · 2     (10.28)
                              t’ − 1    t’ − 2         0
               where k’ ∈ { − 1, 0, 1}, the length t’ of the representation is at most one
                      i
               more than the length  t of the binary representation, and no two
               consecutive signed bits are nonzero. The maximum number of adding
               function calls will be about t/2 instead of t, and the average number
               of adding function calls can be proven to be equal to t/3.
                  A generalization of the preceding idea consists of expressing k in
               a nonbinary signed-digit base, for example,
                                                  +
                          k = k’’   · 2 t’’ − 1  + k’’   · 2  t’’ − 2  . . .  + k’’  · 2 0
                               t’’ − 1    t’’ − 2         0
               where k’’ is an odd natural belonging to the interval  − 2 w − 1 < k’’ < 2 w − 1 ,
                      i                                           i
               the length t’’ of the representation is at most one more than the length
               t of the binary representation, and the average density of nonzero
               digits among all the representations of this type is 1/(w + 1). The set
                                       w-1
               of values {iP for i in 3, 5, . . . , 2  − 1} must be first computed. Then the
               average number of adding function calls is equal to t/(w + 1). It is the
               so-called window NAF method.
               10.4.3.2 Projective Coordinates
               The goal is to avoid divisions. Given two naturals c and d, a subset of
                3
               L  can be associated to every element (x, y) of L :
                                                      2
                                                    c
                        (x, y) →  {(X, Y, Z) | Z ≠ 0, X = xZ , Y = yZ }  (10.29)
                                                           d
                                                3
                  Conversely, an element (X, Y, Z) of L , with Z ≠ 0, corresponds the
                              2
               element (x, y) of L and is defined by
                                 x = X/Z c  y = Y/Z                (10.30)
                                                   d
   309   310   311   312   313   314   315   316   317   318   319