{"id":171370,"date":"2014-06-27T12:18:24","date_gmt":"2014-06-27T12:18:24","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/msr-elliptic-curve-cryptography-library\/"},"modified":"2024-09-30T21:05:38","modified_gmt":"2024-10-01T04:05:38","slug":"msr-elliptic-curve-cryptography-library","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/msr-elliptic-curve-cryptography-library\/","title":{"rendered":"MSR Elliptic Curve Cryptography Library"},"content":{"rendered":"<p>MSR ECCLib was an efficient cryptography library that provided functions for computing essential elliptic curve operations on a new set of high-security curves.\u00a0 All computations on secret data exhibit regular, constant-time execution, providing protection against timing and cache attacks.\u00a0 The library is available for download below.<\/p>\n<p>This library is no longer actively maintained. We continue to link it through this page for research purposes only.<\/p>\n<h2>Library Features<\/h2>\n<ul>\n<li>MSR ECCLib\u00a0supports six high-security elliptic curves proposed in [2], 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.<\/li>\n<li>It includes support for\u00a0ECC 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:\n<ul>\n<li>Variable-base scalar multiplication (e.g., this is used for computing the shared key in the Diffie-Hellman key exchange).<\/li>\n<li>Fixed-base scalar multiplication (e.g., this is used for key generation in the Diffie-Hellman key exchange).<\/li>\n<li>Double-scalar multiplication. This operation is typically used for verifying signatures.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>MSR ECCLib\u00a0offers full protection against timing and cache attacks by executing crypto-sensitive operations in constant-time with no correlation between timing and secret data.<\/li>\n<li>It\u00a0achieves high performance without compromising security, portability and usability.<\/li>\n<li>MSR ECCLib is supported on a range of platforms, including x64, x86, and ARM devices running Windows or Linux.<\/li>\n<\/ul>\n<h2><a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=52511\">New in Version 2.0<\/a><\/h2>\n<ul>\n<li>Based upon feedback, MSR ECCLib 2.0 replaces the original twisted Edwards curves that were proposed in [1] with new twisted Edwards curves with a complete addition law.\u00a0 See [2] and [3] for full details.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>MSR ECCLib was an efficient cryptography library that provided functions for computing essential elliptic curve operations on a new set of high-security curves.\u00a0 All computations on secret data exhibit regular, constant-time execution, providing protection against timing and cache attacks.\u00a0 The library is available for download below. This library is no longer actively maintained. We continue [&hellip;]<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13558],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-171370","msr-project","type-msr-project","status-publish","hentry","msr-research-area-security-privacy-cryptography","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"2014-06-27","related-publications":[166210,166911,168465],"related-downloads":[],"related-videos":[],"related-groups":[],"related-events":[],"related-opportunities":[],"related-posts":[],"related-articles":[],"tab-content":[{"id":0,"name":"Other","content":"<h2>References<\/h2>\r\n[1] Joppe W. Bos, Craig Costello, Patrick Longa and Michael Naehrig, \u201c<a href=\"http:\/\/eprint.iacr.org\/2014\/130\">Selecting Elliptic Curves for Cryptography: An Efficiency and Security Analysis<\/a>,\u201d in Journal of Cryptographic Engineering, 2015.\r\n\r\n[2] Joppe Bos, Craig Costello, Patrick Longa, and Michael Naehrig, \"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/curvegen.pdf\">Specification of Curve Selection and Supported Curve Parameters in MSR ECCLib<\/a>,\" Microsoft Research Tech Report.\r\n\r\n[3] Craig Costello, Patrick Longa, and Michael Naehrig, \"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/a-brief-discussion-on-selecting-new-elliptic-curves\/\">A brief discussion on selecting new elliptic curves<\/a>,\" Microsoft Research Tech Report MSR-TR-2015-46"}],"slides":[],"related-researchers":[{"type":"user_nicename","display_name":"Karen Easterbrook","user_id":32510,"people_section":"Group 1","alias":"keaster"},{"type":"user_nicename","display_name":"Michael Naehrig","user_id":32976,"people_section":"Group 1","alias":"mnaehrig"},{"type":"user_nicename","display_name":"Patrick Longa","user_id":33271,"people_section":"Group 1","alias":"plonga"},{"type":"user_nicename","display_name":"Tolga Acar","user_id":34244,"people_section":"Group 1","alias":"tolga"}],"msr_research_lab":[],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/171370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":4,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/171370\/revisions"}],"predecessor-version":[{"id":1089225,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/171370\/revisions\/1089225"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=171370"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=171370"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=171370"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=171370"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=171370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}