Announcing the availability of the MSR Elliptic Curve Cryptography Library for NUMS Curves

Dear members of the W3C Web Crypto WG,



On behalf of the Microsoft Research ECCLib Project, I am pleased to announce the first release of the Microsoft Research Elliptic Curve Cryptography Library (ECCLib) for NUMS ("Nothing Up My Sleeve") curves.  We are releasing ECCLib under the Apache 2.0 License.  Here is a link to the project page and download location:



http://research.microsoft.com/en-us/projects/nums/



The MSR ECCLib is an efficient cryptography library that provides functions for computing essential elliptic curve operations on a new set of high-security curves as previously described in [1] and presented at the IRTF CFRG Spring 2014 Interim Meeting (see [2] for a copy of the slides from that presentation).  All computations in ECCLib on secret data exhibit regular, constant-time execution, providing protection against timing and cache attacks.



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.  ECCLib includes all the ECC functions necessary to implement most popular elliptic curve-based schemes. In particular, 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.



As the Web Crypto WG is currently considering what additional curves for elliptic curve cryptography to add to the Web Crypto API, we hope that this contribution (in addition to the technical paper) will further a thoughtful discussion concerning what new curves should be included.  We welcome questions/comments/feedback on this library; please send them to msrsc@microsoft.com<mailto:msrsc@microsoft.com>.



Please Note: the version of ECCLib that we are releasing today is for x64 platforms with AVX and builds with the Microsoft Visual Studio toolchain.  We are actively working on both a version that builds with GCC and also a portable C version and hope to add these to the release in the near future.



Thanks,



                                                                                --bal



[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: http://eprint.iacr.org/2014/130



[2] http://patricklonga.webs.com/Presentation_CFRG_Selecting_Elliptic_Curves_for_Cryptography.pdf

Received on Monday, 30 June 2014 08:02:40 UTC