With the introduction of Intel 32nm i5/i7 processors, there is support for a "carry-less" multiplication, also known as "binary polynomial" multiplication. This support is in the form of the new 64-bit PCLMULQDQ instruction. In fact such an instruction is also supported by some Sun and Mips processors. Support for this operation gives a big boost to the performance of any method that uses arithmetic over GF(2^m), in particular elliptic curve cryptography, and pairing-based crypto using supersingular curves over GF(2^m). To exploit the PCLMULQDQ instruction, using the Microsoft C compiler, use the macro file clmul.mcs with the mex utility to create the module mrcomba2.c, and define MR_COMBA2 in mirdef.h to the number of words required to represent m. Then link this module into the MIRACL library, and to your application. For example if implementing standard elliptic curves over GF(2^283) on a 64-bit PC, using MS C tools, then c:\miracl>>mex 5 clmul mrcomba2 to create mrcomba2.c, and include into mirdef.h #define MR_COMBA2 5 Then build a MIRACL library to include mrcomba2.c, and build and link your application as normal, for an impressive speed boost.