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

52    Cha pte r  T w o


                xx1: = x(383..320) & x(383..320) & x(383..320)
                xx2: = x(319..256) & x(319..256) & 00...00
                                                x (255..192) &
                    xx1(191..0)  xx2(191..0)  x (191..0)  x (255..192)
                      0        0         0

                       193-bit adder       193-bit adder


                               0         0

                                 194-bit adder

                                         s (193..0)

                 minus_3p                  minus_2p         minus_p
                            0      0         0      0        0

                    195-bit adder    194-bit adder    193-bit adder

                                                    z1(192)
                                    z2(193)              z1(191:0)  s (191..0)
                                                        0       1
                                         z2(191:0)
                   z3 (194)
                                       0       1
                        z3(191:0)
                       0       1

                            x mod p192
               FIGURE 2.11  Reduction mod p = (2 192  −  2  −  1).
                                               64
                  The VHDL architecture corresponding to the circuit of Fig. 2.11 is
               the following:
               xx1 <= x(383 downto 320) & x(383 downto 320) & x(383 downto
               320);
               xx2 <= x(319 downto 256) & x(319 downto 256) & ZEROS;
               xx3 <= ZEROS & x(255 downto 192) & x(255 downto 192);
               xx4 <= x(191 downto 0);
               xx12 <= (‘0’ & xx1) + xx2;
               xx34 <= (‘0’ & xx3) + xx4;
               s <= (‘0’ & xx12 + xx34);
               z3 <= (‘0’ & s) + minus_3p;
               z2 <= s+minus_2p;
               z1 <= s(192 downto 0) + minus_p;
               process(z1,z2,z3,s)
   64   65   66   67   68   69   70   71   72   73   74