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 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.
- MSR ECCLib is supported on a range of platforms, including x64, x86, and ARM devices running Windows or Linux.
- Based upon feedback, MSR ECCLib 2.0 replaces the original twisted Edwards curves that were proposed in  with new twisted Edwards curves with a complete addition law. See  and  for full details.