Formal Verification of Galois Field Multipliers Using Computer Algebra Techniques

Finite (Galois) field arithmetic finds applications in cryptography, error correction codes, signal processing, etc. Multiplication usually lies at the core of all Galois field computations and is a high-complexity operation. This paper addresses the problem of formal verification of hardware implementations of modulo-multipliers over Galois fields of the type F2k, using a computer-algebra/algebraic-geometry based approach. The multiplier circuit is modeled as a polynomial system in F2k[x1,x2,⋯,xd] and the verification test is formulated as a Nullstellensatz proof over the finite field. A Grobner basis engine is used as the underlying computational framework. The efficiency of Grobner basis computations depends heavily upon the variable (and term) ordering used to represent and manipulate the polynomials. We present a variable (and term) ordering heuristic that significantly improves the efficiency of Grobner basis engines. Using our approach, we can verify the correctness of up to 96-bit multipliers, whereas contemporary BDDs/SAT/SMT-solver based methods are infeasible.

[1]  Edoardo D. Mastrovito,et al.  VLSI Designs for Multiplication over Finite Fields GF (2m) , 1988, AAECC.

[2]  Sicun Gao,et al.  Counting Zeros over Finite Fields with Gröbner Bases , 2009 .

[3]  R. Bryant,et al.  Verification of Arithmetic Functions with Binary Moment Diagrams , 1994 .

[4]  Markus Wedler,et al.  An Algebraic Approach for Proving Data Correctness in Arithmetic Data Paths , 2008, CAV.

[5]  R. McEliece Finite Fields for Computer Scientists and Engineers , 1986 .

[6]  Hans Schönemann,et al.  SINGULAR: a computer algebra system for polynomial computations , 2001, ACCA.

[7]  Toshiyuki Yamane,et al.  Towards Efficient Verification of Arithmetic Algorithms over Galois Fields GF(2m) , 2001, CAV.

[8]  Priyank Kalla,et al.  A Gröbner Basis Approach to CNF-Formulae Preprocessing , 2007, TACAS.

[9]  Ralf Fröberg,et al.  An introduction to Gröbner bases , 1997, Pure and applied mathematics.

[10]  Debdeep Mukhopadhyay,et al.  Hierarchical Verification of Galois Field Circuits , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Priyank Kalla,et al.  Verification of composite Galois field multipliers over GF ((2m)n) using computer algebra techniques , 2011, 2011 IEEE International High Level Design Validation and Test Workshop.

[12]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[13]  Russell Impagliazzo,et al.  Using the Groebner basis algorithm to find proofs of unsatisfiability , 1996, STOC '96.

[14]  Takafumi Aoki,et al.  Application of symbolic computer algebra to arithmetic circuit verification , 2007, 2007 25th International Conference on Computer Design.

[15]  Bruno Buchberger,et al.  A criterion for detecting unnecessary reductions in the construction of Groebner bases , 1979, EUROSAM.

[16]  Donal O'Shea,et al.  Ideals, varieties, and algorithms - an introduction to computational algebraic geometry and commutative algebra (2. ed.) , 1997, Undergraduate texts in mathematics.

[17]  Huapeng Wu Montgomery Multiplier and Squarer for a Class of Finite Fields , 2002, IEEE Trans. Computers.

[18]  Rolf Drechsler,et al.  Efficient Representation and Manipulation of Switching Functions Based on Ordered Kronecker Functional Decision Diagrams , 1994, 31st Design Automation Conference.

[19]  ÇETIN K. KOÇ,et al.  Montgomery Multiplication in GF(2k) , 1998, Des. Codes Cryptogr..

[20]  George S. Avrunin,et al.  Symbolic Model Checking Using Algebraic Geometry , 1996, CAV.