The Linux Foundation Projects
Skip to main content
Blog

First stable release of mlkem-native v1 under PQ Code Package Project

By August 7, 2025August 11th, 2025No Comments

Last year, the PQCA founded the PQ Code Package project with the aim to develop production-ready, high-assurance implementations of Post-Quantum Cryptography standards. Today, we highlight the first stable release under the PQCP, mlkem-native-v1: An implementation of NIST’s FIPS-203 / ML-KEM Post-Quantum Cryptography standard that is designed to be secure, fast, and easy to use.

First, mlkem-native builds on the popular and time-vetted ML-KEM reference implementation, but is retrofitted to the C90 language standard for maximum portability.

Next, mlkem-native provides backend interfaces for the seamless integration of optimized native code (e.g. assembler), and ships with high-performance backends for Arm64 and x86_64 giving it state of the art performance on most Arm64, Intel and AMD platforms. These high-performance backends build on years of research into ML-KEM, and leverage the SLOTHY superoptimizer for assembly-level microarchitectural super-optimization. Compared to the C reference implementation, mlkem-native offers a ~3x performance improvement.

Finally, mlkem-native is extensively formally verified: The C Bounded Model Checker (CBMC) is used at the C source level to show memory-safety and type-safety, covering both buffer overflows as well as integer overflows from incorrect implementation of the arithmetic underlying ML-KEM. Moreover, all AArch64 assembly in mlkem-native is verified for functional correctness using the HOL-Light theorem prover.

mlkem-native is already integrated into libOQS and AWS-LC. If you need a fast, secure and portable ML-KEM implementation, give it a try!

Want to get involved? Join our community meetings and contribute to the future of post-quantum cryptography – connect with us on the PQCA Discord. Have suggestions or feature requests? Open an issue on GitHub to share your ideas with the community.

Links and References