CryptoDB
Cameron Low
Publications
Year
Venue
Title
2024
CRYPTO
Formally Verifying Kyber Episode V: Machine-checked IND-CCA security and correctness of ML-KEM in EasyCrypt
Abstract
We present a formally verified proof of the correctness and IND-CCA security of ML-KEM, the Kyber-based Key Encapsulation Mechanism (KEM) undergoing standardization by NIST.
The proof is machine-checked in EasyCrypt and it includes:
1) A formalization of the correctness (decryption failure probability) and IND-CPA security of the Kyber base public-key encryption scheme, following Bos et al. at Euro S&P 2018;
2) A formalization of the relevant variant of the Fujisaki-Okamoto transform in the Random Oracle Model (ROM), which follows closely (but not exactly) Hofheinz, Hovelmanns and Kiltz at TCC 2017;
3) A proof that the IND-CCA security of the ML-KEM specification and its correctness as a KEM follows from the previous results;
4) Two formally verified implementations of ML-KEM written in Jasmin that are provably constant-time, functionally equivalent to the ML-KEM specification and, for this reason, inherit the provable security guarantees established in the previous points.
The top-level theorems give self-contained concrete bounds for the correctness and security of ML-KEM down to (a variant of) Module-LWE.
We discuss how they are built modularly by leveraging various EasyCrypt features.
Coauthors
- José Bacelar Almeida (1)
- Santiago Arranz Olmos (1)
- Manuel Barbosa (1)
- Gilles Barthe (1)
- François Dupressoir (1)
- Benjamin Grégoire (1)
- Vincent Laporte (1)
- Jean-Christophe Léchenet (1)
- Cameron Low (1)
- Tiago Oliveira (1)
- Hugo Pacheco (1)
- Miguel Quaresma (1)
- Peter Schwabe (1)
- Pierre-Yves Strub (1)