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

216    Cha pte r  Se v e n


                  If the product of two field elements A and B is computed as given
                                        T
               in Eq. (7.29), that is, C = D + P E, and if the vectors E  are defined as
                                                           (i)
               E =  e (  i ()  e ,  i () , ...  e ,  i ()  ) = P  T E, then the product C can be written as
                 i ()
                                  T
                     0  1      m−1    i
                             C = D + E  + E  + E  +  . . .  + E (t)  (7.51)
                                     (0)
                                         (1)
                                              (2)
                  Assuming that  k   ≠ 1 and using  P as shown in Fig. 7.10a, the
                                1               0
                          (0)
               elements of E  in Eq. (7.51) are given as follows [RH04]:
                      ⎧ e +  e  +   +  e   +  e   ; 0 ≤  j ≤ k −  2
                           +
                             −
                                               −
                                      +
                                        −
                                             +
                      ⎪  j  j mk t    j mk 2  j mk 1      1
                      ⎪   e e +  e  j m k  +   +  e j m k  ;  k − ≤ ≤1  j  k − 2
                                 −
                                            −
                                          +
                               +
                                                1
                                                          2
                           j
                      ⎪           t          2
                  0
                 e  ()  = ⎨                                          (7.52)
                  j             e +           −≤  j ≤
                      ⎪ ⎪        j  e j m− k k t  ;  k t−1  1  k − 2
                                    +
                                                      t
                      ⎪            e ;  k −≤ ≤  m − 2
                                             j
                                          1
                      ⎪             j   t
                      ⎩             0  j ;  =  m − 1
                                      ()
                  By reusing the terms  e s given in Eq. (7.52), the coordinates of
                                      0
                                      j
                (i)
               E , for 1 ≤ i ≤ t, can be given as
                                    ⎧  ; 00  ≤≤  k − 1
                                            j
                                    ⎪
                                e  j i ()  = ⎨ ( ) 0  i             (7.53)
                                    ⎩ ⎪ e  jk i  ;otherwise
                                       −
                  Using Eqs. (7.52) and (7.53), the coordinates of the product  C
               given as Eq. (7.51) can be computed as follows [RH04]:
                             ⎧       e ()  ; 0  ≤≤  k − 1
                                      0
                                            j
                             ⎪        j         1
                                        1
                                    0
                             ⎪     e ()  +  e ( )  ;  k ≤ ≤  k − 1
                                                j
                             ⎪      j     j  1     2
                             ⎪
                      c =  d + ⎨  () 0  +  ( ) 1  +   +  t ( −  ) 1  ≤  j ≤  k −  (7.54)
                           j
                       j
                             ⎪ e e j  e j  e j  ;  k t 1  t  1
                                                  −
                             ⎪  e () 0  +  e (1)  +   e ( ) t  ; k  ≤ ≤ m −  2
                                          +
                                     1
                                                   j
                             ⎪  j   j       j   t
                                                    −
                                          +
                             ⎪  e j 1 ()  + e  j 2 ( )  +   e ( ) t j  ; j  = m − 1
                             ⎩
               7.6.3 All-One Polynomials (AOPs)
                                                    m
               An AOP is a poly  nomial i n the form f(x) = x  + x m − 1  +  . . .  + x + 1, that
               is, with all its coefficients not null. An AOP is irreducible and therefore
               generates a field GF(2 ) if and only if m + 1 is a prime and 2 is a
                                  m
               primitive modulo m + 1 [MBGMVY93]. For example, for m ≤ 300, the
               AOP is irreducible for the following values of m: 2, 4, 10, 12, 18, 28, 36,
               52, 58, 60, 66, 82, 100, 106, 130, 138, 148, 162, 172, 178, 180, 196, 210,
               226, 268, and 292.
                                           m
                  For an AOP f(x), we see that x  = 1 + x +  . . .  + x m − 1 , and therefore
               x m + 1  = 1. Using this identity in Eqs. (7.21) and (7.22), one can find that
               the matrix P for AOPs is as follows:
   231   232   233   234   235   236   237   238   239   240   241