Constructive and destructive use of compilers in elliptic curve cryptography

Detalhes bibliográficos
Autor(a) principal: Barbosa, Manuel
Data de Publicação: 2009
Outros Autores: Moss, Andrew, Page, Dan
Tipo de documento: Artigo
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/19434
Resumo: 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.
id RCAP_7825b9a04ab15fc251eec4b14654db3c
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/19434
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str
spelling Constructive and destructive use of compilers in elliptic curve cryptographyElliptic curve cryptographyCompilersImplementationOptimisationSpecialisationElliptic curve cryptography (ECC)Science & TechnologyAlthough 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.Springer VerlagUniversidade do MinhoBarbosa, ManuelMoss, AndrewPage, Dan20092009-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleapplication/pdfhttp://hdl.handle.net/1822/19434eng0933-279010.1007/s00145-008-9023-0http://www.springerlink.com/content/brk4706723ql712x/info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:48:35ZPortal AgregadorONG
dc.title.none.fl_str_mv Constructive and destructive use of compilers in elliptic curve cryptography
title Constructive and destructive use of compilers in elliptic curve cryptography
spellingShingle Constructive and destructive use of compilers in elliptic curve cryptography
Barbosa, Manuel
Elliptic curve cryptography
Compilers
Implementation
Optimisation
Specialisation
Elliptic curve cryptography (ECC)
Science & Technology
title_short Constructive and destructive use of compilers in elliptic curve cryptography
title_full Constructive and destructive use of compilers in elliptic curve cryptography
title_fullStr Constructive and destructive use of compilers in elliptic curve cryptography
title_full_unstemmed Constructive and destructive use of compilers in elliptic curve cryptography
title_sort Constructive and destructive use of compilers in elliptic curve cryptography
author Barbosa, Manuel
author_facet Barbosa, Manuel
Moss, Andrew
Page, Dan
author_role author
author2 Moss, Andrew
Page, Dan
author2_role author
author
dc.contributor.none.fl_str_mv Universidade do Minho
dc.contributor.author.fl_str_mv Barbosa, Manuel
Moss, Andrew
Page, Dan
dc.subject.por.fl_str_mv Elliptic curve cryptography
Compilers
Implementation
Optimisation
Specialisation
Elliptic curve cryptography (ECC)
Science & Technology
topic Elliptic curve cryptography
Compilers
Implementation
Optimisation
Specialisation
Elliptic curve cryptography (ECC)
Science & Technology
description 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.
publishDate 2009
dc.date.none.fl_str_mv 2009
2009-01-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/article
format article
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/19434
url http://hdl.handle.net/1822/19434
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 0933-2790
10.1007/s00145-008-9023-0
http://www.springerlink.com/content/brk4706723ql712x/
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Springer Verlag
publisher.none.fl_str_mv Springer Verlag
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1777303848610693120