[package] name = "ml-kem" description = """ Pure Rust implementation of the Module-Lattice-Based Key-Encapsulation Mechanism Standard (formerly known as Kyber) as described in FIPS 203 """ version = "0.2.1" edition = "2021" rust-version = "1.74" license = "Apache-2.0 OR MIT" readme = "README.md" homepage = "https://github.com/RustCrypto/KEMs/tree/master/ml-kem" repository = "https://github.com/RustCrypto/KEMs" categories = ["cryptography", "no-std"] keywords = ["crypto", "kyber", "lattice", "post-quantum"] exclude = ["tests/key-gen.rs", "tests/key-gen.json", "tests/encap-decap.rs", "tests/encap-decap.json"] [features] default = ["std"] std = ["sha3/std"] deterministic = [] # Expose deterministic generation and encapsulation functions zeroize = ["dep:zeroize"] [dependencies] kem = "0.3.0-pre.0" hybrid-array = { version = "0.2.0-rc.9", features = ["extra-sizes"] } rand_core = "0.6.4" sha3 = { version = "0.10.8", default-features = false } zeroize = { version = "1.8.1", optional = true, default-features = false } [dev-dependencies] criterion = "0.5.1" hex = { version = "0.4.3", features = ["serde"] } hex-literal = "0.4.1" num-rational = { version = "0.4.2", default-features = false, features = ["num-bigint"] } rand = "0.8.5" crypto-common = { version = "0.1.6", features = ["rand_core"] } serde = { version = "1.0.208", features = ["derive"] } serde_json = "1.0.125" [[bench]] name = "mlkem" harness = false [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]