Usuba: high-throughput and constant-time ciphers, by construction - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2019

Usuba: high-throughput and constant-time ciphers, by construction

Abstract

Cryptographic primitives are subject to diverging imperatives. Functional correctness and auditability pushes for the use of a high-level programming language. Performance and the threat of timing attacks push for using no more abstract than an assembler to exploit (or avoid!) the micro-architectural features of a given machine. We believe that a suitable programming language can reconcile both views and actually improve on the state of the art of both. Usuba is an opinionated dataflow programming language in which block ciphers become so simple as to be “obviously correct” and whose types document and enforce valid parallelization strategies at the granularity of individual bits. Its optimizing compiler, Usubac, produces high-throughput, constant-time implementations performing on par with hand-tuned reference implementations. The cornerstone of our approach is a systematization and generalization of bitslicing, an implementation trick frequently used by cryptographers.
Fichier principal
Vignette du fichier
usuba-pldi19.pdf (739.28 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Licence : Copyright

Dates and versions

hal-02176603 , version 1 (12-12-2023)

Identifiers

Cite

Darius Mercadier, Pierre-Evariste Dagand. Usuba: high-throughput and constant-time ciphers, by construction. PLDI 2019 - 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, Jun 2019, Phoenix, United States. pp.157-173, ⟨10.1145/3314221.3314636⟩. ⟨hal-02176603⟩
121 View
10 Download

Altmetric

Share

Gmail Facebook X LinkedIn More