A Formal Library for Elliptic Curves in the Coq Proof Assistant

A preliminary step towards the verification of elliptic curve cryptographic algorithms is the development of formal libraries with the corresponding mathematical theory. In this paper we present a formalization of elliptic curves theory, in the SSReflect extension of the Coq proof assistant. Our central contribution is a library containing many of the objects and core properties related to elliptic curve theory. We demonstrate the applicability of our library by formally proving a non-trivial property of elliptic curves: the existence of an isomorphism between a curve and its Picard group of divisors.

[1]  Adi Shamir,et al.  Identity-Based Cryptosystems and Signature Schemes , 1984, CRYPTO.

[2]  Frederik Vercauteren,et al.  Practical Realisation and Elimination of an ECC-Related Software Bug Attack , 2012, CT-RSA.

[3]  David L. Dill,et al.  Automatic Formal Verification of Block Cipher Implementations , 2008, 2008 Formal Methods in Computer-Aided Design.

[4]  Aggelos Kiayias,et al.  Public Key Cryptography - PKC 2006 , 2006, Lecture Notes in Computer Science.

[5]  Christophe Doche,et al.  Efficient Scalar Multiplication by Isogeny Decompositions , 2005, IACR Cryptol. ePrint Arch..

[6]  M. Gordon,et al.  Formalized Elliptic Curve Cryptography , 2007 .

[7]  Shu Lin,et al.  Applied Algebra, Algebraic Algorithms and Error-Correcting Codes , 1999, Lecture Notes in Computer Science.

[8]  Alfredo Pironti,et al.  Formal verification of security protocol implementations: a survey , 2012, Formal Aspects of Computing.

[9]  N. Koblitz Elliptic curve cryptosystems , 1987 .

[10]  Aggelos Kiayias,et al.  Self Protecting Pirates and Black-Box Traitor Tracing , 2001, CRYPTO.

[11]  Aggelos Kiayias,et al.  BiTR: Built-in Tamper Resilience , 2011, IACR Cryptol. ePrint Arch..

[12]  Vincent Siles,et al.  A Refinement-Based Approach to Computational Algebra in Coq , 2012, ITP.

[13]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[14]  Enrico Tassi,et al.  A Small Scale Reflection Extension for the Coq system , 2008 .

[15]  Victor S. Miller,et al.  Use of Elliptic Curves in Cryptography , 1985, CRYPTO.

[16]  Cyril Cohen Pragmatic Quotient Types in Coq , 2013, ITP.

[17]  Laurent Théry,et al.  Proving the group law for elliptic curves formally , 2007 .

[18]  Scott A. Vanstone,et al.  Faster Point Multiplication on Elliptic Curves with Efficient Endomorphisms , 2001, CRYPTO.

[19]  Marc Joye,et al.  Fast Point Multiplication on Elliptic Curves through Isogenies , 2003, AAECC.