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

m
                                 Operations over  GF (2 )—Normal Bases      239

                  Since squaring means a cyclic shift of an element in a normal basis
               representation, we have
                               2
                         2
                             2
                        C  = A B  = (a  , a , . . . , a  )(b  , b , . . . , b  )
                                   m − 1  0  m − 2  m − 1  0  m − 2
                                = (c  , c , . . . , c  )             (8.7)
                                   m − 1  0  m − 2
                  Hence, the last component c   of the product C  is obtained by
                                                           2
                                          m − 2
               the same function h given in Eq. (8.6) operating on the components of
               A  and B , that is, c   = h(a  , a , . . . , a  ; b  , b , . . . , b  ). By squar-
                2
                      2
                              m − 2  m − 1  0  m − 2  m − 1  0  m − 2
               ing C repeatedly, we can find that:
                    c   = h(a , a , . . . , a  ; b , b , . . . , b  )
                     m − 1  0  1    m − 1  0  1  m − 1
                    c   = h(a  , a , . . . , a  ; b  , b , . . . , b  )
                     m − 2  m − 1  0  m − 2  m − 1  0  m − 2         (8.8)
                                     . . .
                      c  = h(a , a , . . . , a  ; b , b , . . . , b  )
                       0    1  2    m − 1  1  2  m − 1
                  The Eq. (8.8) define the Massey-Omura multiplier ([MO86],
               [WTSDOR85]). In normal basis representation, this multiplier has the
               property that the same logic function h that is used to compute the last
               component c  of the product, can be used to compute its remaining
                          m − 1
               components c  , c  , . . . , c , c .
                           m − 2  m − 3  1  0
                                                            3
                                                         4
               Example 8.2    Normal basis multiplication for f(x) = x  + x  + 1
               Let  f(x)  =  x   +  x   + 1 be the generating irreducible polynomial for
                             3
                         4
                   4
               GF(2 ). This polynomial is an N-polynomial because if α is a root of
                                               8
                                        4
               f(x), then the elements α, α , α , and α  are linearly independent and
                                      2
               therefore, the set of roots {α, α , α , α } constitutes a normal basis of
                                         2
                                               8
                                            4
                   4
               GF(2 ). Alternatively, we can conclude that f(x) is an N-polynomial
                             2
               because m = 4 = 2  and f   = f ≠ 0 (see Sec. 8.1).
                                   m − 1  3
                                               4
                  Any two elements A and B in GF(2 ) can be expressed as A = a α +
                                                                     0
                                                    8
                  2
                       4
                                          2
                                               4
                            8
               a α  + a α  + a α  and B = b α + b α  + b α  + b α . Therefore, the product
                1    2    3         0    1    2    3
               C = AB can be computed as follows:
               C =  AB = ( α  +  a α  2 + a α  4 + a α  8 )( b α + b α 2  +  b α  4 +  b α )
                                                             8 8
                        a
                         0    1    2    3   0    1    2    3
                 = c α +c α 2 +c α 4  +c α =  α 12 (a b  + a b  ) + α 10 (aab +  a b )
                                   8
                    0   1   2    3        23   3 2       13   3 1
                   +α 9 ( ab + ab +) α 8 ( a b +) α 6 ( a b + ab ) + α 5 ( a b  + a b )  (8.9)
                        30   03      22       2 1 1  1 2   20    0 2
                   +α 4 ( ab ) + α 3 ( a b  + a b ) + α 2 ( ab ) + α ( ab )
                                    a
                        11      01   10      00      33
                                          5
                                       6
                               12
                                  10
                                                3
                                     9
                  The elements α , α , α , α , α , and α  have been created, and these
               elements must be represented in the normal basis. Using the fact that
                                            3
               f(α) = α  + α  + 1 = 0, we have α  = α  + 1. Therefore, one can find
                                        4
                         3
                     4
                                   α  12  =  α + α + α 2
                                             4
                                         8
                                   α  10  =  α +  α 2
                                         8
                                   α =  α +  α +  α
                                        8
                                    9
                                            4
                                                                    (8.10)
                                   α =  α +  α +  α
                                            2
                                        4
                                    6
                                   α = α 4  + α
                                     =
                                    5
                                   α 3  = α 8  + α 2  + α
   254   255   256   257   258   259   260   261   262   263   264