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.1
- GCC support on Linux: The new pre-assembly files .S located in <LibraryPath>/MSR_ECCLib/AMD64 are compatible with both GNU GCC (GAS assembler) and MSVS (MASM assembler) compilers
- New API for ephemeral elliptic curve Diffie-Hellman key exchange (ECDHE)
- New tests for ECDHE
- Simplified API for some ECC scalar multiplication functions
- Extended support to any x64 processor
 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