Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
MSR Elliptic Curve Cryptography Library

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.

Library Features:

    • MSR ECCLib supports six high-security elliptic curves proposed in [1], 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:
  1. Variable-base scalar multiplication (e.g., this is used for computing the shared key in the Diffie-Hellman key exchange).
  2. Fixed-base scalar multiplication (e.g., this is used for key generation in the Diffie-Hellman key exchange).
  3. 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


[1] 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: