MIRACL is the gold standard among cryptographic SDKs for easily implementing big number cryptography into your real world applications. MIRACL is compact, fast and efficient, which means you'll get blistering speed and high performance from any processor or platform.
Multiprecision Integer and Rational Arithmetic C Library – the MIRACL Crypto SDK – is a C software library that is widely regarded by developers as the gold standard open source SDK for elliptic curve cryptography (ECC).
While many other cryptographic SDKs are focused on PC use, MIRACL also enables developers to build security into highly constrained environments, including embedded, mobile apps and SCADA.
These unique qualities are the reason MIRACL, and the solutions and services built using it, are in use in hundreds of organizations across the world, including BAE Systems, Hitachi, Intel, Panasonic, Toyota and many others.
MIRACL delivers a wide and unique range of benefits, enabling developers to secure even the most constrained environments quickly, easily and effectively. It features, amongst others:
MIRACL is a technology that can handle more. It contains efficient algorithms for what is known as multi-precision arithmetic: the ability to handle very large numbers with complete accuracy. It also supports cryptographic techniques built on top of other less well known one-way functions, like the “discrete logarithm” problem, and one way functions based on much more elaborate mathematical structures, such as Elliptic Curves.
The optimal algorithms that need to be implemented correctly are among the most complex in all of mathematics. Great care and expertise is required. There is no other library out there that offers the same range and depth of support for number theoretic cryptography, including the very recently discovered methods based on bilinear pairings.
Not surprisingly, these algorithms can be slow to compute. For maximum efficiency, assembly language patches are required to alleviate computational bottlenecks that arise. This requires specialized code that needs to be written for every different computer architecture.
MIRACL doesn’t need separate codes for different architecture. MIRACL uses a special purpose technique for automatic generation of optimal assembly language that is grounded on a bespoke macro-based system. These macros are already available for the majority of common architectures, and typically it takes CertiVox less than one day to develop macros for a new processor, should they be required. This means performance is typically boosted times three.
MIRACL supports various options, setting the gold standard for keeping code size to a minimum. While there are many libraries on the market that support larger processors, MIRACL also targets the smallest environments, where processing power, RAM and ROM are all severely constrained. In this mode of operation, all memory can be allocated exclusively from the stack so that no fragmenting of precious RAM resources is required. New configuration options further reduce the amount of program code.
MIRACL is particularly adept at methods based on Elliptic Curves, and the new paradigm of Pairing-Based Cryptography.
Q. What can I do with the libraries in MIRACL?
A. As much as you need to! MIRACL is the gold standard for Elliptic Curve Cryptography over GF(p) and GF(2m) and additionally supports even more esoteric Elliptic Curves and Lucas function-based schemes. It also includes over twenty protocols based on the new paradigm of Pairing-Based Cryptography.
Q. What other cryptographic standards does MIRACL support?
A. Using MIRACL means that AES encryption, RSA public key cryptography, Diffie-Hellman Key exchange and DSA digital signature are all just a few procedure calls away.
Q. Does MIRACL limit developers to pre-determined cryptographic methods?
A. No – uniquely, MIRACL does not rely on an opaque interface to a pre-determined set of cryptographic methods. Rather, it gives you, the developer, a set of tools that enable any new number-theoretic technique to be implemented quickly. This is turn means that you are free to design your own cryptographic API.