A Fast Software Implementation for Arithmetic Operations in GF(2n)

We present a software implementation of arithmetic operations in a finite field GF(2n), based on an alternative representation of the field elements. An important application is in elliptic curve crypto-systems. Whereas previously reported implementations of elliptic curve cryptosystems use a standard basis or an optimal normal basis to perform field operations, we represent the field elements as polynomials with coefficients in the smaller field GF(216). Calculations in this smaller field are carried out using pre-calculated lookup tables. This results in rather simple routines matching the structure of computer memory very well. The use of an irreducible trinomial as the field polynomial, as was proposed at Crypto'95 by R. Schroeppel et al., can be extended to this representation. In our implementation, the resulting routines are slightly faster than standard basis routines.