Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation 2019
DOI: 10.1145/3314221.3314636
|View full text |Cite
|
Sign up to set email alerts
|

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 microarchitectural 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 w… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
11
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
3
2

Relationship

2
3

Authors

Journals

citations
Cited by 11 publications
(11 citation statements)
references
References 53 publications
0
11
0
Order By: Relevance
“…As part of future work, we intend to further enrich our compiler backend with optimizations specific to embedded architectures (Cortex M and/or Risc-V), systematizing various primitivespecific optimizations documented in the literature [35,28,33]. Previous results on Intel architecture [29] has demonstrated that Usuba can produce code whose performance is on par with hand-optimized, assembly implementations.…”
Section: Resultsmentioning
confidence: 99%
See 4 more Smart Citations
“…As part of future work, we intend to further enrich our compiler backend with optimizations specific to embedded architectures (Cortex M and/or Risc-V), systematizing various primitivespecific optimizations documented in the literature [35,28,33]. Previous results on Intel architecture [29] has demonstrated that Usuba can produce code whose performance is on par with hand-optimized, assembly implementations.…”
Section: Resultsmentioning
confidence: 99%
“…However, bitslicing can be generalized to n-slicing [29] (with n > 1). Whereas bitslicing splits an m-word quantity into m individual bits, we can also treat it at a coarser granularity 5 , splitting it into k variables of n bits each (preserving the invariant that m = k × n).…”
Section: Usubamentioning
confidence: 99%
See 3 more Smart Citations