FourQlib is an efficient and portable math library that provides functions for computing essential elliptic curve operations on a new, high-performance curve called “FourQ”. This curve targets the 128-bit security level and supports computations that are significantly faster than any other alternative; e.g., it is between four and five times faster than the NIST P-256 curve and between two and three times faster than Curve25519. The library is available for download at the link below.

The Curve:

FourQ is a new, high-security, high-performance elliptic curve that targets the 128-bit security level [1]. It is defined by the twisted Edwards equation:

E(GF(p2)): –x2 + y2 = 1 + dx2y2,

where p is the Mersenne prime p = 2127 – 1 and d is a non-square in GF(p2). FourQ comes equipped with two efficiently computable endomorphisms which enable four-dimensional scalar decompositions. The powerful combination of these endomorphisms together with the use of complete, extended twisted Edwards coordinates and very efficient arithmetic over p = 2127 – 1 facilitates scalar multiplications that are significantly faster than any other available alternative.

Library Features:

FourQlib includes support for core ECC functions necessary to implement most popular elliptic curve-based schemes. In particular, FourQlib supports the computation of scalar multiplication in three variants:

1. Variable-base scalar multiplication (e.g., this is used for computing the shared secret in the Diffie-Hellman key exchange) 2. Fixed-base scalar multiplication (e.g., this can be used for key generation in the Diffie-Hellman key exchange) 3. Double-scalar multiplication, for digital signature verification

Full protection against timing and cache attacks by executing crypto-sensitive operations in constant-time with no correlation between timing and secret data

High performance without compromising security, portability and usability

Library runs on Windows and Linux

Includes Portable C version for x86, x64, and ARM

Also includes high-performance, optimized versions for x64 and for ARM with NEON

Download:

The FourQ Library is available at: https://www.microsoft.com/en-us/download/details.aspx?id=52310

Reference:

[1] Craig Costello and Patrick Longa, “FourQ: four-dimensional decompositions on a Q-curve over the Mersenne prime”, in Advances in Cryptology – ASIACRYPT 2015 (to appear), 2015. Extended version available at: http://eprint.iacr.org/2015/565

[2] Patrick Longa, “FourQNEON: faster elliptic curve scalar multiplications on ARM processors”, TechReport MSR-TR-2016-25, 2016. Available at: http://research.microsoft.com/apps/pubs/?id=266450