The basic operation in elliptic curve cryptography is that of “point multiplication”, which can involve a huge number of ordinary multiplications. Hence it is of utmost importance to optimize multiplication.
In this work we develop a fast algorithm for multiplication in optimal extension fields (OEFs) that is particularly suited for implementation on FPGAs. An OEF is a finite field GF(pm) such that p is a pseudo Mersenne prime, i.e., a prime of the form 2n±c, where log2 c≤ ½n , and an irreducible binomial P(x)=xm-ω over GF(p).
Arithmetic in an OEF is efficient due to the efficiency of arithmetic in the ground field GF(p) and the simplicity of reduction modulo the irreducible binomial that defines GF(pm). Making use of the Mastrovito matrix, we can compute a product in GF(pm) in the polynomial basis using m2+m-1 scalar multiplications and m(m-1) scalar additions, the same operation count as that of the usual method. However, the Mastrovito matrix for an OEF is Toeplitz, i.e., has constant diagonals, which give opportunities for pipelining. Moreover, when the constant term ω is a power of 2, m-1 of the multiplications can be performed via shifts. Thus, we expect our FPGA implementation of this algorithm to be more efficient than the usual algorithm, in both time and area.