{"id":171495,"date":"2015-08-26T15:31:59","date_gmt":"2015-08-26T15:31:59","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/fourqlib\/"},"modified":"2024-09-30T18:09:32","modified_gmt":"2024-10-01T01:09:32","slug":"fourqlib","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/fourqlib\/","title":{"rendered":"FourQlib"},"content":{"rendered":"
\n

FourQlib is an efficient and portable math library that provides functions for computing essential elliptic curve operations on a 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. Please note that while the library is available for download at the link below, this library is not actively maintained and is provided here for research purposes only.<\/p>\n

<\/p>\n<\/div>\n

\n

The Curve:<\/h2>\n

FourQ is a high-security, high-performance elliptic curve that targets the 128-bit security level [1]. It is defined by the twisted Edwards equation:<\/p>\n

E(GF(p<\/em>2<\/sup>)): \u00a0–x<\/em>2<\/sup> + y<\/em>2<\/sup> = 1 + dx<\/em>2<\/sup>y<\/em>2<\/sup>,<\/p>\n

where p<\/em> is the Mersenne prime p<\/em> = 2127 <\/sup>– 1 and d<\/em> is a non-square in GF(p<\/em>2<\/sup>). FourQ comes equipped with two efficiently computable endomorphisms which enable four-dimensional scalar decompositions. The powerful combination of these\u00a0endomorphisms together with\u00a0the use\u00a0of complete, extended twisted Edwards coordinates and very efficient arithmetic over\u00a0p<\/em> = 2127 <\/sup>– 1 facilitates\u00a0scalar multiplications that are significantly faster than any other\u00a0available alternative.<\/p>\n

Library Features:<\/h2>\n