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

APPENDIX C






                                                Binary Fields








                     163
          C.1  GF(2 )
                   163
               GF(2 ) is represented by the set of polynomials of degree smaller
                                                                      7
                                                                  163
               than 163 over GF(2), modulo the irreducible polynomial f(x) = x  + x  +
                   3
               x + x + 1.
                6
               C.1.1 mod f(x) Multiplication
               Several combinational (classic_multiplication,mastrovito_V2_multiplication)
               and sequential (interleaved_mult, montgomery_mult) entities have been
               described in Chap. 7. The parameter values are the following:
               constant M: integer := 163;
               constant F: std_logic_vector(M-1 downto 0):=
                 “000”&x”00000000000000000000000000000000000000C9”;
                  In the case of the interleaved multiplier, several implementation
               strategies, based on the number G of bits computed at each cycle,
               have been considered. The implementation results (Spartan3, speed-5)
               are given in Table C.1.
                  All the source files are available at www.arithmetic-circuits.org.


               C.1.2 mod f(x) Division
               Generic VHDL models of mod  f(x) dividers (binary_algorithm_
                                                                      163
               polynomials.vhd) have been defined in Sec. 7.4. In the case of GF(2 )
               the parameter values are the following:
               constant M: integer := 163;
               --logM is the number of bits of M plus an additional sign
               --bit:
               constant logM: integer := 9;
               constant F: std_logic_vector(M downto 0) :=
                 x”800000000000000000000000000000000000000C9”;



                                                                      331
   346   347   348   349   350   351   352   353   354   355   356