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

APPENDIX B






                                      Optimal Extension


                                                              Fields








                        17
          B.1  GF(239 )

               B.1.1  VHDL Models and Constant Definitions
               Several VHDL models have been generated for circuits executing
                                   17
               operations over GF(239 ), that is, the set of polynomials of a degree
               smaller than 17 over the field Z , modulo the irreducible polynomial
                                         239
               f(x) = x − 2. The MSE_first_mod_f_multiplier.vhd file includes the
                     17
               following entities:  mod_239_reducer, adder_subtractor, mod_ 239_
               multiplier, MSE_first_mod_ f_multiplier, LSE_first_mod_ f_multiplier. The
               parameter values are the following:
               constant K: natural := 8;
               constant P: std_logic_vector(k-1 downto 0)
                 := conv_std_logic_vector(239, k);
               constant M: natural := 17;
               type long_polynomial is array(M downto 0) of
                 std_logic_vector(K-1 downto 0);
               type polynomial is array(M-1 downto 0) of
                 std_logic_vector(K-1 downto 0);
               --LOGM is the number of bits of m-1
               constant LOGM: natural := 5;
               constant f: long_polynomial :=
               (“00000001”, “00000000”, “00000000”, “00000000”,
               “00000000”, “00000000”, “00000000”, “00000000”, “00000000”,
               “00000000”, “00000000”, “00000000”, “00000000”,
               “00000000”, “00000000”, “00000000”, “00000000”, “11101101” );

                  The oef.vhd file includes the following additional entities: mod_
               239 _inverter and oef. The latter is a divider over the particular optimal
               extension field under consideration. The mod 239 inversion is
               performed with a table storing the 238 inverses. The table is modeled


                                                                      319
   334   335   336   337   338   339   340   341   342   343   344