STDA060 October 2026 MSPM0G3519 , MSPM0G3519-Q1 , MSPM33C321A , MSPM33C321A-Q1
Key agreement is a necessary step to establish a shared secret between two entities over an unsecure channel. Like digital signatures, key agreement algorithms relying on today's popular primitives such as finite-field Diffie-Hellman (FFDH) or elliptic curve Diffie-Hellman (ECDH) are also vulnerable to quantum based attacks using Shor's algorithm. To address this, NIST has standardized ML-KEM (the module lattice key encapsulation mechanism) in FIPS 203. ML-KEM is a post quantum secure key encapsulation mechanism (KEM) designed to be used in scenarios where FFDH or ECDH are used today.
Unlike Diffie-Hellman style designs that derive a shared secret from randomness on both sides of the handshake, a KEM has a key generation step, an encapsulation step, and a decapsulation step. In a client-server model, the process for key agreement with ML-KEM is as follows:
ML-KEM can be performant in software, with encapsulation times as low as 7ms on a 160MHz Cortex-M33 MCU. Figure 13-1 compares the encapsulation performance for each security level on Arm Cortex-M0+ and Arm Cortex-M33 target MCUs.
ML-KEM has other desirable security properties beyond being designed to be quantum secure. Notably, it supports IND-CCA2 (indistinguishability under a chosen ciphertext attack). This means that even if an attacker can manipulate the ciphertext in transit from the client to the server (between encapsulation and decapsulation), the attacker would not gain an advantage or additional knowledge because the output of decapsulation is always indistinguishable from random. Additionally, the output of ML-KEM is usable directly as a symmetric encryption key, bringing simplicity to embedded applications and potentially removing the need for extra key derivation steps.