A Formal Library for Elliptic Curves in the Coq Proof Assistant

  • Evmorfia-Iro Bartzia
  • Pierre-Yves Strub
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8558)


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.


Elliptic Curve Elliptic Curf Ring Quotient Elliptic Curve Cryptography Picard Group 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    The mathematical components project,
  2. 2.
    Avalle, M., Pironti, A., Sisto, R.: Formal verification of security protocol implementations: a survey. In: Formal Aspects of Computing, pp. 1–25 (2012)Google Scholar
  3. 3.
    Brier, E., Joye, M.: Fast point multiplication on elliptic curves through isogenies. In: Fossorier, M.P.C., Høholdt, T., Poli, A. (eds.) AAECC 2003. LNCS, vol. 2643, pp. 43–50. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
    Brumley, B.B., Barbosa, M., Page, D., Vercauteren, F.: Practical realisation and elimination of an ecc-related software bug attack. Cryptology ePrint Archive, Report 2011/633 (2011),
  5. 5.
    Charlap, L.S., Robbins, D.P.: Crd expository report 31 an elementary introduction to elliptic curves (1988)Google Scholar
  6. 6.
    Cohen, C.: Pragmatic quotient types in Coq. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) ITP 2013. LNCS, vol. 7998, pp. 213–228. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  7. 7.
    Dénès, M., Mörtberg, A., Siles, V.: A refinement-based approach to computational algebra in coq. In: Beringer, L., Felty, A. (eds.) ITP 2012. LNCS, vol. 7406, pp. 83–98. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  8. 8.
    Doche, C., Icart, T., Kohel, D.R.: Efficient scalar multiplication by isogeny decompositions. In: Yung, M., Dodis, Y., Kiayias, A., Malkin, T. (eds.) PKC 2006. LNCS, vol. 3958, pp. 191–206. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Fulton, W.: Algebraic curves - an introduction to algebraic geometry (reprint vrom 1969). Advanced book classics. Addison-Wesley (1989)Google Scholar
  10. 10.
    Gallant, R.P., Lambert, R.J., Vanstone, S.A.: Faster point multiplication on elliptic curves with efficient endomorphisms. In: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 190–200. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Gonthier, G., Mahboubi, A., Tassi, E.: A Small Scale Reflection Extension for the Coq system. Research Report RR-6455, INRIA (2008)Google Scholar
  12. 12.
    Guillot, P.: Courbes Elliptiques, une présentation élémentaire pour la cryptographie. Lavoisier (2010)Google Scholar
  13. 13.
    Hurd, J., Gordon, M., Fox, A.: Formalized elliptic curve cryptography. High Confidence Software and Systems (2006)Google Scholar
  14. 14.
    Koblitz, N.: Elliptic curve cryptosystems. Mathematics of Computation 48(177), 203–209 (1987)CrossRefzbMATHMathSciNetGoogle Scholar
  15. 15.
    Miller, V.S.: Use of elliptic curves in cryptography. In: Williams, H.C. (ed.) CRYPTO 1985. LNCS, vol. 218, pp. 417–426. Springer, Heidelberg (1986)Google Scholar
  16. 16.
    Miller, V.S.: Short programs for functions on curves. IBM Thomas J. Watson Research Center (1986)Google Scholar
  17. 17.
    Shamir, A.: Identity-based cryptosystems and signature schemes. In: Blakely, G.R., Chaum, D. (eds.) CRYPTO 1984. LNCS, vol. 196, pp. 47–53. Springer, Heidelberg (1985)CrossRefGoogle Scholar
  18. 18.
    Smith, E.W., Dill, D.L.: Automatic formal verification of block cipher implementations. In: FMCAD, pp. 1–7 (2008)Google Scholar
  19. 19.
    The Coq development team. The Coq Proof Assistant Reference Manual Version 8.4 (2013),
  20. 20.
    Théry, L.: Proving the group law for elliptic curves formally. Technical Report RT-0330, INRIA (2007)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Evmorfia-Iro Bartzia
    • 1
  • Pierre-Yves Strub
    • 2
  1. 1.INRIA Paris-RocquencourtFrance
  2. 2.IMDEA Software InstituteSpain

Personalised recommendations