[package]
edition = "2024"
rust-version = "1.85"
name = "krypteia-quantica"
version = "0.1.0"
authors = ["Cédric Mesnil <cslashm@pm.me>"]
build = false
exclude = [
"doc/papers/**",
"doc/specs/**",
"doc/_build/**",
"tests/vectors/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure-Rust post-quantum cryptography: FIPS 203 ML-KEM, FIPS 204 ML-DSA, and FIPS 205 SLH-DSA. First-order arithmetic masking, shuffled NTT, FORS recompute-and-compare redundancy, constant-time rejection sampling. Targets embedded (no_std), STM32 M0/M4/M33, ESP32-C3 RISC-V. Zero runtime dependencies."
homepage = "https://codeberg.org/cslashm/krypteia"
documentation = "https://docs.rs/krypteia-quantica"
readme = "README.md"
keywords = [
"post-quantum",
"ml-kem",
"ml-dsa",
"slh-dsa",
"no-std",
]
categories = [
"cryptography",
"no-std",
"embedded",
]
license = "Apache-2.0"
repository = "https://codeberg.org/cslashm/krypteia"
resolver = "2"
[features]
asm-x86_64 = ["silentops/asm-x86_64"]
compressed-challenge = []
compressed-poly = []
default = [
"std",
"ml-kem",
"ml-dsa",
"slh-dsa",
"sca-protected",
]
indexed-sk = []
low-mem = []
low-stack = []
ml-dsa = []
ml-kem = []
sca-ct-rejection = ["sca-protected"]
sca-fors-dummy-siblings = []
sca-fors-indices-check = []
sca-fors-redundancy = []
sca-masked-y = ["sca-protected"]
sca-protected = []
slh-dsa = []
small-secret = ["ml-kem"]
std = []
union-buffer = []
[lib]
name = "quantica"
path = "src/lib.rs"
[[example]]
name = "ml_dsa_sign_verify"
path = "examples/ml_dsa_sign_verify.rs"
required-features = ["ml-dsa"]
[[example]]
name = "ml_kem_roundtrip"
path = "examples/ml_kem_roundtrip.rs"
required-features = ["ml-kem"]
[[example]]
name = "slh_dsa_sign_verify"
path = "examples/slh_dsa_sign_verify.rs"
required-features = ["slh-dsa"]
[[test]]
name = "kat_extra"
path = "tests/kat_extra.rs"
required-features = [
"ml-kem",
"ml-dsa",
]
[[test]]
name = "ml_dsa_kat"
path = "tests/ml_dsa_kat.rs"
required-features = ["ml-dsa"]
[[test]]
name = "ml_kem_kat"
path = "tests/ml_kem_kat.rs"
required-features = ["ml-kem"]
[[test]]
name = "negative"
path = "tests/negative.rs"
required-features = [
"ml-kem",
"ml-dsa",
"slh-dsa",
"std",
]
[[test]]
name = "slh_dsa_kat"
path = "tests/slh_dsa_kat.rs"
required-features = ["slh-dsa"]
[[test]]
name = "wycheproof"
path = "tests/wycheproof.rs"
required-features = [
"ml-kem",
"ml-dsa",
]
[dependencies.silentops]
version = "0.1.0"
package = "krypteia-silentops"