Research

Research seriesL3algorithms

ML-KEM Beyond IND-CCA: What the Definition Does Not Promise and What Deployments Must Add

IND-CCA says an eavesdropper with a decapsulation oracle cannot tell ML-KEM's shared secret from random. It says nothing about which public key or ciphertext that secret is tied to, what happens when someone else generated the key, what a 'formally verified' implementation has actually been checked against, or what HPKE, X-Wing and SSH quietly assume when they wrap the KEM. This series reads each of those gaps at the level of its evidence: the KEM binding notions and re-encapsulation attacks, malicious keys and the seed-versus-expanded format decision, the scope and limits of machine-checked ML-KEM, and the assumptions each protocol construction places on FIPS 203. Every topic is tied to the channels, key stores and model-serving endpoints that AI agents depend on.

Murali Chillakuru·4 articles
  1. 1
    What IND-CCA Does Not Promise: KEM Binding, Re-Encapsulation and the Shared Secret ML-KEM Hands You

    IND-CCA keeps ML-KEM's shared secret hidden. It says nothing about which key and ciphertext the secret belongs to, and some protocols quietly depend on that.

  2. 2
    Keys You Did Not Generate: Malicious Binding, the FIPS 203 Checks and the Seed-Versus-Expanded Decision

    ML-KEM's guarantees assume an honest key generator. When a key arrives from somewhere else, the FIPS 203 checks, the key format and its provenance decide what is still true.

  3. 3
    What a Formally Verified ML-KEM Actually Proves: Specifications, Models and the Gaps Between Them

    Machine-checked ML-KEM exists in several forms. Each proves something different, against its own specification and machine model, and none proves everything a deployment needs.

  4. 4
    ML-KEM Inside HPKE, X-Wing and SSH: What Each Construction Assumes of the KEM

    Three standardized constructions wrap ML-KEM outside the TLS handshake. Each takes different properties from the KEM, supplies others itself, and gives something up.