Journal of Cryptology

, Volume 22, Issue 2, pp 259–281

Constructive and Destructive Use of Compilers in Elliptic Curve Cryptography



Although cryptographic software implementation is often performed by expert programmers, the range of performance and security driven options, as well as more mundane software engineering issues, still make it a challenge. The use of domain specific language and compiler techniques to assist in description and optimisation of cryptographic software is an interesting research challenge. In this paper we investigate two aspects of such techniques, focusing on Elliptic Curve Cryptography (ECC) in particular. Our constructive results show that a suitable language allows description of ECC based software in a manner close to the original mathematics; the corresponding compiler allows automatic production of an executable whose performance is competitive with that of a hand-optimised implementation. In contrast, we study the worrying potential for naïve compiler driven optimisation to render cryptographic software insecure. Both aspects of our work are set within the context of CACE, an ongoing EU funded project on this general topic.


Elliptic curve cryptography (ECC) Implementation Compilers Optimisation Specialisation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© International Association for Cryptologic Research 2008

Authors and Affiliations

  1. 1.Departamento de InformáticaUniversidade do MinhoBragaPortugal
  2. 2.Department of Computer ScienceUniversity of BristolBristolUK

Personalised recommendations