awslabs / LibMLKEM

Apache License 2.0
15 stars 1 forks source link

LibMLKEM - A new, formal reference implementation of FIPS 203 ML-KEM

This library presents a new reference implementation of FIPS 203 ML-KEM (the algorithm formerly known as Kyber), as specified in the 13th August 2024 issue of FIPS 203.

The goals of producing these implementations are:

Important warning

These implementations are absolutely NOT intended for production or any use in a "high assurance" setting. In particular:

Languages and tools

At this point, the first implementation is in the SPARK Ada subset - a subset of Ada that is amenable to formal verification with the SPARK Pro toolset. The SPARK implementation meets all of the verification goals stated above, ands also provides static verification of worst-case stack usage, and structural coverage analysis of the KATs.

See the README file in the spark_ada subdirectory for more information.

Additional implementations and verification using other languages and tools such Dafny, CBMC (for C) and Kani (for Rust) may follow.