Re: Kernel ML-KEM implementation plans

Ryan Appel <[email protected]> Thu, 2 Apr 2026 12:08:17 -0500
Newsgroups com.zx2c4.lists.wireguard,org.kernel.vger.linux-crypto
Message-ID <[email protected]>
Another potential and likely use case is Wi-Fi.=20

WPA3 supports both SAE-PK (which currently uses ECDSA-P256 and will =
likely migrate to ML-DSA or other,
And WPA3 enterprise supports EAP, which uses the IKE Diffie-Hellman =
groups, which already have added support for (pending finalization) =
ML-KEM groups.

Of course the spec will have to be updated, but it=E2=80=99s highly =
likely that at least ML-KEM-512 will be supported.=20

The actual use of the algorithm is as simple as calling it instead of =
ECDH, but in theory, we typically care very much about the difference =
between key agreement and key exchange.=20

The major difference on a code front is that with ECDH, you input a =
public and private key, and get out a shared key.
But with ML-KEM, you input a public key, and get out a shared key, and a =
cipher text.
Or you input a private key and a cipher text and get out the same shared =
key.

(Encapsulation -> one input, two outputs)
(Decapsulation -> two inputs, one output)

I understand that there is a chicken and egg scenario where there=E2=80=99=
s need to wait for the need before developing, but something at least to =
consider for the roadmap.


> On Mar 30, 2026, at 8:11=E2=80=AFPM, Eric Biggers =
<[email protected]> wrote:
>=20
> On Mon, Mar 30, 2026 at 07:44:55PM -0500, Ryan Appel wrote:
>> WireGuard was my big implementation user.
>=20
> Any more details on this?  Googling for research papers shows that =
there
> have indeed been several proposals for quantum-resistant WireGuard.  =
But
> some use algorithms other than ML-KEM.  Others don't modify the kernel
> code but rather do the key establishment in userspace.  I haven't =
looked
> into the details, but it also sounds like it's not as simple as =
swapping
> out the algorithm, either.
>=20
> I think step 1 is work out some plan with the WireGuard folks.  Which
> may or may not turn out to involve in-kernel ML-KEM.
>=20
>> I also know that VMware uses the kernel crypto space for many of its
>> crypto operations.  I do not know when they will want ML-KEM and if
>> they will want it only within BoringCrypto or OpenSSL, but if there =
is
>> need for it in the market before it can be developed then that makes
>> sense.
>=20
> That code isn't upstream though, right?  So even if hypothetically =
they
> (will?) need ML-KEM in the kernel (for what?), that doesn't count for
> upstream purposes.
>=20
> - Eric