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.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


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