Jasmin: high-assurance and high-speed cryptography

Detalhes bibliográficos
Autor(a) principal: Almeida, José Bacelar
Data de Publicação: 2017
Outros Autores: Barbosa, Manuel
Idioma: eng
Título da fonte: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Texto Completo: http://hdl.handle.net/1822/50513
Resumo: Jasmin is a framework for developing high-speed and high-assurance cryptographic software. The framework is structured around the Jasmin programming language and its compiler. The language is designed for enhancing portability of programs and for simplifying verification tasks. The compiler is designed to achieve predictability and effciency of the output code (currently limited to x64 platforms), and is formally verified in the Coq proof assistant. Using the supercop framework, we evaluate the Jasmin compiler on representative cryptographic routines and conclude that the code generated by the compiler is as efficient as fast, hand-crafted, implementations. Moreover, the framework includes highly automated tools for proving memory safety and constant-time security (for protecting against cache-based timing attacks). We also demonstrate the effectiveness of the verification tools on a large set of cryptographic routines.
id RCAP_e3f0e38abc2c4170415385f188c29a11
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/50513
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Jasmin: high-assurance and high-speed cryptographyHigh-speed cryptographyCertified compilationCryptographic implementationsVerified compilerSafetyConstant-time securityCiências Naturais::Ciências da Computação e da InformaçãoScience & TechnologyJasmin is a framework for developing high-speed and high-assurance cryptographic software. The framework is structured around the Jasmin programming language and its compiler. The language is designed for enhancing portability of programs and for simplifying verification tasks. The compiler is designed to achieve predictability and effciency of the output code (currently limited to x64 platforms), and is formally verified in the Coq proof assistant. Using the supercop framework, we evaluate the Jasmin compiler on representative cryptographic routines and conclude that the code generated by the compiler is as efficient as fast, hand-crafted, implementations. Moreover, the framework includes highly automated tools for proving memory safety and constant-time security (for protecting against cache-based timing attacks). We also demonstrate the effectiveness of the verification tools on a large set of cryptographic routines.TEC4Growth - Pervasive Intelligence, Enhancers and Proofs of Concept with Industrial Impact/NORTE- 01-0145-FEDER- 000020info:eu-repo/semantics/publishedVersionAssociation for Computing Machinery (ACM)[et. al]Universidade do MinhoAlmeida, José BacelarBarbosa, Manuel2017-10-302017-10-30T00:00:00Zconference paperinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/1822/50513eng978-1-4503-4946-81543-722110.1145/3133956.3134078The original publication is available at https://dl.acm.org/citation.cfm?id=3134078info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T04:25:01Zoai:repositorium.sdum.uminho.pt:1822/50513Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T14:47:36.660360Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Jasmin: high-assurance and high-speed cryptography
title Jasmin: high-assurance and high-speed cryptography
spellingShingle Jasmin: high-assurance and high-speed cryptography
Almeida, José Bacelar
High-speed cryptography
Certified compilation
Cryptographic implementations
Verified compiler
Safety
Constant-time security
Ciências Naturais::Ciências da Computação e da Informação
Science & Technology
title_short Jasmin: high-assurance and high-speed cryptography
title_full Jasmin: high-assurance and high-speed cryptography
title_fullStr Jasmin: high-assurance and high-speed cryptography
title_full_unstemmed Jasmin: high-assurance and high-speed cryptography
title_sort Jasmin: high-assurance and high-speed cryptography
author Almeida, José Bacelar
author_facet Almeida, José Bacelar
Barbosa, Manuel
author_role author
author2 Barbosa, Manuel
author2_role author
dc.contributor.none.fl_str_mv [et. al]
Universidade do Minho
dc.contributor.author.fl_str_mv Almeida, José Bacelar
Barbosa, Manuel
dc.subject.por.fl_str_mv High-speed cryptography
Certified compilation
Cryptographic implementations
Verified compiler
Safety
Constant-time security
Ciências Naturais::Ciências da Computação e da Informação
Science & Technology
topic High-speed cryptography
Certified compilation
Cryptographic implementations
Verified compiler
Safety
Constant-time security
Ciências Naturais::Ciências da Computação e da Informação
Science & Technology
description Jasmin is a framework for developing high-speed and high-assurance cryptographic software. The framework is structured around the Jasmin programming language and its compiler. The language is designed for enhancing portability of programs and for simplifying verification tasks. The compiler is designed to achieve predictability and effciency of the output code (currently limited to x64 platforms), and is formally verified in the Coq proof assistant. Using the supercop framework, we evaluate the Jasmin compiler on representative cryptographic routines and conclude that the code generated by the compiler is as efficient as fast, hand-crafted, implementations. Moreover, the framework includes highly automated tools for proving memory safety and constant-time security (for protecting against cache-based timing attacks). We also demonstrate the effectiveness of the verification tools on a large set of cryptographic routines.
publishDate 2017
dc.date.none.fl_str_mv 2017-10-30
2017-10-30T00:00:00Z
dc.type.driver.fl_str_mv conference paper
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/50513
url http://hdl.handle.net/1822/50513
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 978-1-4503-4946-8
1543-7221
10.1145/3133956.3134078
The original publication is available at https://dl.acm.org/citation.cfm?id=3134078
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 Association for Computing Machinery (ACM)
publisher.none.fl_str_mv Association for Computing Machinery (ACM)
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833594892429819904