The Jasmin Compiler Preserves Cryptographic Security

📅 2025-11-14
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
The existing correctness proof for the Jasmin compiler fails to cover non-termination and probabilistic computation—critical aspects in cryptographic implementations—thus hindering its trusted deployment in post-quantum cryptography. Method: We develop, for the first time within the Rocq proof framework, a formal verification framework preserving cryptographic security. We introduce Relational Hoare Logic (RHL) and integrate it with denotational semantics based on interaction trees to rigorously verify all 25 frontend compilation phases. Contribution/Results: We are the first to formally model and prove core cryptographic security properties—including IND-CCA—in a compiler verification setting. Moreover, we establish security equivalence preservation under both probabilistic and non-terminating executions. This work delivers the first end-to-end formal guarantee for efficient, verifiably secure implementations of post-quantum cryptographic algorithms.

Technology Category

Application Category

📝 Abstract
Jasmin is a programming and verification framework for developing efficient, formally verified, cryptographic implementations. A main component of the framework is the Jasmin compiler, which empowers programmers to write efficient implementations of state-of-the-art cryptographic primitives, including post-quantum cryptographic standards. The Jasmin compiler is proven functionally correct in the Rocq prover. However, this functional correctness statement does not apply to nonterminating or probabilistic computations, which are essential features in cryptography. In this paper, we significantly enhance the guarantees of the compiler by showing, in the Rocq prover, that its front-end (25 out of 30 passes) preserves cryptographic security. To this end, we first define a Relational Hoare Logic tailored for compiler correctness proofs. We prove the soundness of our logic w.r.t. a new denotational semantics of Jasmin programs based on interaction trees. Secondly, we use our program logic to prove the functional correctness of the (unmodified) Jasmin compiler w.r.t. said semantics. Lastly, we formalize cryptographic security -- focusing on IND-CCA -- with interaction trees and prove that the Jasmin compiler preserves cryptographic security.
Problem

Research questions and friction points this paper is trying to address.

Proving Jasmin compiler preserves cryptographic security for probabilistic computations
Developing Relational Hoare Logic for compiler correctness with interaction trees
Formalizing IND-CCA security preservation through compiler front-end verification
Innovation

Methods, ideas, or system contributions that make the work stand out.

Proved compiler front-end preserves cryptographic security
Defined Relational Hoare Logic for compiler correctness proofs
Formalized IND-CCA security using interaction trees semantics
🔎 Similar Papers
No similar papers found.
S
Santiago Arranz-Olmos
MPI-SP, Germany
Gilles Barthe
Gilles Barthe
MPI-SP and IMDEA Software Institute
L
Lionel Blatter
MPI-SP, Germany
B
Benjamin Grégoire
Inria, France
V
Vincent Laporte
Inria, France and Université de Lorraine, France
Paolo Torrini
Paolo Torrini
Inria, France