Cargo Features

[dependencies]
libcrux-ml-kem = { version = "0.0.2", default-features = false, features = ["simd128", "simd256", "mlkem512", "mlkem768", "mlkem1024", "kyber", "rand", "std", "alloc", "incremental"] }
default = mlkem1024, mlkem512, mlkem768, rand, std

By default all variants and std are enabled.

simd128

Hardware features can be force enabled.
It is not recommended to use these. This crate performs CPU feature detection and enables the features when they are available.

Enables simd128 of libcrux-intrinsics and libcrux-sha3

simd256

Enables simd256 of libcrux-intrinsics and libcrux-sha3

Affects instantiations::avx2

mlkem512 default

Features for the different key sizes of ML-KEM

Affects libcrux-ml-kem::mlkem512, libcrux-ml-kem::kyber512

mlkem768 default

Affects libcrux-ml-kem::mlkem768, libcrux-ml-kem::kyber768

mlkem1024 default

Affects libcrux-ml-kem::mlkem1024, libcrux-ml-kem::kyber1024

kyber

Enable Round 3 Kyber in addition to ML-KEM

Affects avx2::kyber_decapsulate

rand default

APIs that sample their own randomness

Enables rand

Affects mlkem1024::rand, mlkem512::rand, mlkem768::rand

std default = alloc

std support

alloc std
incremental

Incremental encapsulation API

Affects mlkem1024::incremental, mlkem512::incremental, mlkem768::incremental