Skip to content
Benoît Wattinne Français

2023–2024 · Security

ML-KEM

Implementing in C++ the NIST standard for exchanging keys that future quantum computers cannot break.

The story

A large enough quantum computer would break RSA and elliptic curves. ML-KEM (module-lattice-based key-encapsulation mechanism) is one of the answers selected by NIST, published as the FIPS 203 standard.

A teaching project in two stages: understand the mathematics, from the MLWE problem to the Fujisaki-Okamoto transform, then turn it into code that follows the standard's pseudo-code.

What I did

  • Project lead for a team of seven students
  • Written explanation of ML-KEM and of ML-DSA, its signature counterpart
  • Standard functions written in C++: NTT, encodings, sampling
  • Technical documentation of the design and of each function