MIRACL - Multiprecision Integer and Rational Arithmetic C Library

MIRACL is the best! It may be downloaded from miracl.zip. See also shamus.

This portable C/C++ library provides a full implementation of Multiprecision Arithmetic. In particular it includes all the primitives necessary to implement Number Theoretic based methods for Public Key Cryptography, such as Diffie-Hellman, RSA and DSS. Complete support is also provided for implementation of Elliptic Curve Cryptosystems over the fields GF(2m) and GF(p). Example programs implement many of these methods. Also included are programs to implement all the modern factoring algorithms - Brent-pollard, Pollard p-1, Elliptic Curve, MPQS. The code contains conditional in-line assembly language support for 80x86/Pentium processors, but is fully portable. A recent addition to the library is an implementation of the complex Schoof-Elkies-Atkin (SEA) algorithm for counting points on an Elliptic Curve. This is a pre-requisite to the deployment of Elliptic Curve Cryptography. Until recently this has been the only publicly available implementation of this important algorithm.

A 150 page manual is included.

MIRACL generates very fast code for modular exponentiation on 80x86 platforms. This is the key primitive in the implementation of Public Key technology. For example it is possible to calculate x^y mod n , where x, y and n are each 1024 bit numbers in just 0.353 seconds on a Pentium P60, under the assumption that none of these numbers was available for precomputation purposes. (This is faster than some expensive commercial hardware crypto-accelerators!). Timings for 5 different approaches to the problem are described in full in the postscripted paper timings.ps

MIRACL is free for Academic and Non-Commercial use. For more information and benchmarks see http://indigo.ie/~mscott

 

Back