TY - JOUR
T1 - Constructive and destructive use of compilers in elliptic curve cryptography
AU - Barbosa, Manuel B M
AU - Moss, Andrew D
AU - Page, Daniel
PY - 2009/4
Y1 - 2009/4
N2 -
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.
AB -
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.
UR - http://www.scopus.com/inward/record.url?eid=2-s2.0-64249159739&partnerID=8YFLogxK
U2 - 10.1007/s00145-008-9023-0
DO - 10.1007/s00145-008-9023-0
M3 - Article (Academic Journal)
SN - 0933-2790
VL - 22
SP - 259
EP - 281
JO - Journal of Cryptology
JF - Journal of Cryptology
IS - 2
ER -