Jasmin: High-Assurance and High-Speed Cryptography

Abstract : 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 efficiency of the output code (currently limited to x64 platforms), and is formally verified in the Coq proof assistant. Using the super-cop 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.
Document type :
Conference papers
Liste complète des métadonnées

Cited literature [35 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-01649140
Contributor : Benjamin Gregoire <>
Submitted on : Monday, November 27, 2017 - 11:47:13 AM
Last modification on : Wednesday, April 3, 2019 - 1:30:07 AM

File

main.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01649140, version 1

Citation

José Almeida, Manuel Barbosa, Gilles Barthe, Arthur Blot, Benjamin Grégoire, et al.. Jasmin: High-Assurance and High-Speed Cryptography. CCS 2017 - Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, Oct 2017, Dallas, United States. pp.1-17. ⟨hal-01649140⟩

Share

Metrics

Record views

928

Files downloads

237