[ANN] ml-kem v0.2.0: pure Rust implementation of the FIPS 203 final post-quantum KEM construction (formerly known as Kyber)

Announcing ml-kem v0.2 - a pure Rust implementation of the FIPS 203 final post-quantum KEM (formerly known as kyber):

Traditional algorithms for exchanging keys including RSA key encipherment, finite field-based Diffie-Hellman, and elliptic curve Diffie-Hellman algorithms including X25519 D-H are vulnerable to potential future attacks by hypothetical large quantum computers.

When these attacks will become realistic is a matter of debate. Some people think soon, others think not for decades, and some people think never. Regardless of what happens, cryptographers are already devising algorithms that can withstand such attacks.

ML-KEM is the first post-quantum secure key encapsulation algorithm to reach the stage of being a finalized standard as published by the US National Institute of Standards and Technology (NIST).

The ml-kem crate, provided by the RustCrypto organization, implements it in pure Rust.

Enjoy!

6 Likes

Interesting, how would someone who is not into cryptography use this, at this point in time? I assume there is no support for using this in TLS yet for example?

What are the best practises around making practical use of this then?

The best way to consume this if you're not into cryptography will be through higher-level libraries that make use of it as a low-level dependency.

To hedge our bets and ensure that an upgrade to post quantum-secure constructions doesn't make us worse off, ML-KEM is probably best used as part of hybrid constructions that leverage traditional elliptic curve cryptography in parallel, such as X-Wing.

From there, you'll want to be using it through a higher level protocol implementation, for example an SSL/TLS or HPKE library.

2 Likes

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.