SoK: Computer-aided cryptography
Computer-aided cryptography is an active area of research that develops and applies
formal, machine-checkable approaches to the design, analysis, and implementation of …
formal, machine-checkable approaches to the design, analysis, and implementation of …
HACL*: A verified modern cryptographic library
HACL* is a verified portable C cryptographic library that implements modern cryptographic
primitives such as the ChaCha20 and Salsa20 encryption algorithms, Poly1305 and HMAC …
primitives such as the ChaCha20 and Salsa20 encryption algorithms, Poly1305 and HMAC …
Jasmin: High-assurance and high-speed cryptography
Jasmin is a framework for develo** high-speed and high-assurance cryptographic
software. The framework is structured around the Jasmin programming language and its …
software. The framework is structured around the Jasmin programming language and its …
Evercrypt: A fast, verified, cross-platform cryptographic provider
We present EverCrypt: a comprehensive collection of verified, high-performance
cryptographic functionalities available via a carefully designed API. The API provably …
cryptographic functionalities available via a carefully designed API. The API provably …
Simple high-level code for cryptographic arithmetic: With proofs, without compromises
We introduce an unusual approach for implementing cryptographic arithmetic in short high-
level code with machinechecked proofs of functional correctness. We further demonstrate …
level code with machinechecked proofs of functional correctness. We further demonstrate …
Vale: Verifying {High-Performance} Cryptographic Assembly Code
B Bond, C Hawblitzel, M Kapritsos, KRM Leino… - 26th USENIX security …, 2017 - usenix.org
High-performance cryptographic code often relies on complex hand-tuned assembly
language that is customized for individual hardware platforms. Such code is difficult to …
language that is customized for individual hardware platforms. Such code is difficult to …
Verified low-level programming embedded in F
We present Low*, a language for low-level programming and verification, and its application
to high-assurance optimized cryptographic libraries. Low* is a shallow embedding of a …
to high-assurance optimized cryptographic libraries. Low* is a shallow embedding of a …
The last mile: High-assurance and high-speed cryptographic implementations
We develop a new approach for building cryptographic implementations. Our approach
goes the last mile and delivers assembly code that is provably functionally correct, protected …
goes the last mile and delivers assembly code that is provably functionally correct, protected …
Verified correctness and security of {OpenSSL}{HMAC}
L Beringer, A Petcher, QY Katherine… - 24th USENIX Security …, 2015 - usenix.org
We have proved, with machine-checked proofs in Coq, that an OpenSSL implementation of
HMAC with SHA-256 correctly implements its FIPS functional specification and that its …
HMAC with SHA-256 correctly implements its FIPS functional specification and that its …
What you get is what you C: Controlling side effects in mainstream C compilers
Security engineers have been fighting with C compilers for years. A careful programmer
would test for null pointer dereferencing or division by zero; but the compiler would fail to …
would test for null pointer dereferencing or division by zero; but the compiler would fail to …