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

CHAPTER 6






                                                    Operations


                                                                    m
                                                 over GF (p   )





                    et  f(x) be a polynomial of degree  m > 0 over  Z . If  f(x) is
                                                               p
                    irreducible, any nonzero polynomial h(x) of the ring Z [x]/f(x)
                                                                  p
                                  −1
               Lhas an inverse h (x) such that
                                 h(x)h (x) mod f(x) = 1              (6.1)
                                     −1
                  Thus  Z [x]/f(x) is a finite field—an extension of the finite
                         p
                                               m
               field Z —also called Galois field GF(p ). Algorithms and circuits for
                     p
               executing additions, subtractions, multiplications,  and exponentia-
               tions over Z [x]/f(x) have already been studied in Chap. 5. In this
                          p
               chapter the inversion or, more generally, the division operation will
               be dealt with. The problem under study is the following: given g(x)
               and h(x) in Z [x]/f(x), where h(x) is a nonzero polynomial, compute
                          p
               z(x) such that g(x) = h(x)z(x) mod f(x), that is,
                                z(x) = g(x)h (x) mod f(x)            (6.2)
                                         −1
                  As in the case of  Z  there are two types of algorithms for
                                    p
               computing the inverse of an element  h(x) of  Z [x]/f(x). A  first
                                                          p
               method consists of using an algorithm that allows it to express the
               gcd (greatest common divisor) of two polynomials a(x) and b(x) over
               Z  under the form  α(x)a(x)  +  β(x)b(x) where  α(x) and  β(x) are
                p
               polynomials over Z . Assume that a(x) = f(x) and b(x) = h(x) and
                                p
               express the gcd of f(x) and h(x) under the form α(x)f(x) + β(x)h(x).
               As  f(x) is irreducible and the degree of  h(x) is smaller than the
               degree m of f(x), their gcd is 1, so that α(x)f(x) + β(x)h(x) = 1 and
               β(x)h(x) mod f(x) = 1, that is,
                                  h (x) = β(x) mod f(x)              (6.3)
                                   −1
                  To this class of algorithms belong the extended Euclidean algorithm
               and the binary algorithm.



                                                                      139
   151   152   153   154   155   156   157   158   159   160   161