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

12    Cha pte r  O n e


               Definitions 1.19
                   1.  Given two polynomials g (x) and h(x), h(x) divides g (x) (or
                      h(x) is a divisor  of g (x)) if there exists a polynomial q (x) such
                      that g (x) = q (x)h(x).
                    2.  Given two polynomials g (x) and h(x), not both equal to 0, the
                      greatest common divisor  of g (x) and h(x) is the monic polynomial
                      of greatest degree which divides both g (x) and h(x).
                   3. gcd(0, 0) = 0.
                  4.  A polynomial f  (x) of degree at least 1 is said to be irreducible
                        if it cannot be written as the product of two polynomials, each
                      of positive degree.

                  A variant of the  Euclidean algorithm for polynomials  [GG03]
               expresses the greatest common divisor of two polynomials g (x) and
               h(x) in the form

                                gcd( g, h) = b(x)g (x) + c(x)h(x)
                  The algorithm is based on the fact that if u(x) and v(x) are two
               polynomials such that
                          deg (u) = m  deg (v) = t  and   m > t

               that is,

                                    m
                               u(x) = u x  + u  x m − 1  +  . . .  + u x + u
                                   m    m −  1       1    0
                                          t − 1
                                    t
                            v(x) = v x  + v  x  +  . . .  + v x + v
                                  t    t −  1      1   0
               then
                                      t
                              − 1 m − t
                                                                − 1 m − t
                                            t − 1
                     v(x)u (v ) x   = (v x  + v  x  +  . . .  + v x + v )u (v ) x
                         m  t        t   t −  1      1    0  m  t
                                  = u x  + r’(x)
                                      m
                                    m
               where deg (r’) < m, so that
                     u(x) = (v(x)u (v ) x   − r’(x)) + u  x m − 1  +  . . .  + u x + u
                                    − 1 m − t
                               m  t             m  −  1      1    0
                         = v(x)u (v ) x   + r (x)                    (1.4)
                                   − 1 m − t
                               m  t
               where
                             r (x) = u  x m  −  1  +  . . .  + u x + u  − r’(x)
                                   m −  1       1    0
               so that
                       deg (r) < m  and   max(deg (r), deg (v)) < deg (u)
                  Furthermore,
                                    gcd(u, v) = gcd(v, r)
   24   25   26   27   28   29   30   31   32   33   34