2020 IEEE Symposium on Security and Privacy (SP) 2020
DOI: 10.1109/sp40000.2020.00114
|View full text |Cite
|
Sign up to set email alerts
|

EverCrypt: A Fast, Verified, Cross-Platform Cryptographic Provider

Abstract: We present EverCrypt: a comprehensive collection of verified, high-performance cryptographic functionalities available via a carefully designed API. The API provably supports agility (choosing between multiple algorithms for the same functionality) and multiplexing (choosing between multiple implementations of the same algorithm). Through abstraction and zero-cost generic programming, we show how agility can simplify verification without sacrificing performance, and we demonstrate how C and assembly can be com… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
55
0

Year Published

2020
2020
2021
2021

Publication Types

Select...
3
2
1

Relationship

0
6

Authors

Journals

citations
Cited by 62 publications
(55 citation statements)
references
References 48 publications
0
55
0
Order By: Relevance
“…Although this TCB is significant, it is comparable in scale to similar verification projects like EverCrypt [21]. The highest impact improvement would likely proving the algorithms at arbitrary sizes.…”
Section: Results and Lessons Learnedmentioning
confidence: 95%
See 3 more Smart Citations
“…Although this TCB is significant, it is comparable in scale to similar verification projects like EverCrypt [21]. The highest impact improvement would likely proving the algorithms at arbitrary sizes.…”
Section: Results and Lessons Learnedmentioning
confidence: 95%
“…The Everest project has developed verified C/x86 cryptographic library called EverCrypt [5,10,21,23]. Recent results are extremely impressive, with performance comparable to highly optimised OpenSSL code.…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations
“…In the context of F ★ , Dijkstra monads [Swamy et al 2013] have been shown to be an effective way to reason about (impure) programs. Despite the success of these approachesÐthese tools have been used to verify the correctness of applications ranging from concurrent mailbox protocols, to cryptography primitives [Protzenko et al 2020], to Rust library code [Jung et al 2017]Ðthere remain improvements to be made.…”
Section: Introductionmentioning
confidence: 99%