Constructive and destructive use of compilers in elliptic curve cryptography

Manuel B M Barbosa, Andrew D Moss, Daniel Page

Research output: Contribution to journalArticle (Academic Journal)peer-review

7 Citations (Scopus)

Abstract

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.
Original languageEnglish
Pages (from-to)259-281
Number of pages23
JournalJournal of Cryptology
Volume22
Issue number2
DOIs
Publication statusPublished - Apr 2009

Fingerprint

Dive into the research topics of 'Constructive and destructive use of compilers in elliptic curve cryptography'. Together they form a unique fingerprint.

Cite this