MSR ECCLib is an efficient cryptography library that provides functions for computing essential elliptic curve operations on a new set of high-security curves. All computations on secret data exhibit regular, constant-time execution, providing protection against timing and cache attacks. The library is available for download at the link below.
- MSR ECCLib supports six high-security elliptic curves proposed in , which cover three security levels (128-, 192-, and 256-bit security) and two curve models. The curves have a very simple and deterministic generation with minimal room for parameter manipulation.
- It includes support for ECC functions necessary to implement most popular elliptic curve-based schemes. In particular, MSR ECCLib supports the computation of scalar multiplication for the six curves above in three variants:
- Variable-base scalar multiplication (e.g., this is used for computing the shared key in the Diffie-Hellman key exchange).
- Fixed-base scalar multiplication (e.g., this is used for key generation in the Diffie-Hellman key exchange).
- Double-scalar multiplication. This operation is typically used for verifying signatures.
- MSR ECCLib offers full protection against timing and cache attacks by executing crypto-sensitive operations in constant-time with no correlation between timing and secret data.
- It achieves high performance without compromising security, portability and usability.
New in Version 1.2
- New generic implementations of the underlying arithmetic functions to enable support on a wide range of platforms, including x64, x86, and ARM. The different C implementations are based on generic C, extended types (Linux), and intrinsics (Windows).
- New API for ECDSA, and some modifications to crypto and ECDH API
- New sample code for ECDSA
- New tests for ECDSA
 Joppe W. Bos, Craig Costello, Patrick Longa and Michael Naehrig, “Selecting Elliptic Curves for Cryptography: An Efficiency and Security Analysis”, Cryptology ePrint Archive: Report 2014/130. Available at: http://eprint.iacr.org/2014/130
- Joppe Bos, Craig Costello, Patrick Longa, and Michael Naehrig, Specification of Curve Selection and Supported Curve Parameters in MSR ECCLib, no. MSR-TR-2014-92, 27 June 2014.
- Joppe W. Bos, Craig Costello, Patrick Longa, and Michael Naehrig, Selecting Elliptic Curves for Cryptography: An Efficiency and Security Analysis, no. MSR-TR-2014-19, February 2014.