Smooth, Integrated Proofs of Cryptographic Constant Time for Nondeterministic Programs and Compilers
Name
3729318.pdf
Size
720.23 KB
Format
Adobe PDF
Checksum (MD5)
5a6eccc4418577e8e626058360fda511
Author(s) • •
Conoly, Owen
Erbsen, Andres
Chlipala, Adam
Date Issued
June 13, 2025
Journal
Proceedings of the ACM on Programming Languages
Publisher
ACM
Citation
Owen Conoly, Andres Erbsen, and Adam Chlipala. 2025. Smooth, Integrated Proofs of Cryptographic Constant Time for Nondeterministic Programs and Compilers. Proc. ACM Program. Lang. 9, PLDI, Article 215 (June 2025), 24 pages.
Version
Final published version
Abstract
Formal verification of software and compilers has been used to rule out large classes of security-critical issues, but risk of unintentional information leakage has received much less consideration. It is a key requirement for formal specifications to leave some details of a system's behavior unspecified so that future implementation changes can be accommodated, and yet it is nonetheless expected that these choices would not be made based on confidential information the system handles. This paper formalizes that notion using omnisemantics and plain single-copy assertions, giving for the first time a specification of what it means for a nondeterministic program to be constant-time or more generally to avoid leaking (a part of) its inputs. We use this theory to prove data-leak-free execution of core cryptographic routines compiled from Bedrock2 C to RISC-V machine code, showing that the smooth specification and proof experience omnisemantics provides for nondeterminism extends to constant-time properties in the same setting. We also study variants of the key program-compiler contract, highlighting pitfalls of tempting simplifications and subtle consequences of how inputs to nondeterministic choices are constrained. Our results are backed by modular program-logic and compiler-correctness theorems, and they integrate into a neat end-to-end theorem in the Coq proof assistant.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/3729318