[package]
name = "faest"
description = "Pure Rust implementation of the FAEST post-quantum secure digital signature scheme"
version = "0.2.2"
authors = [
"Sebastian Ramacher <sebastian.ramacher@ait.ac.at>",
"Clément Naves <clement.naves@ait.ac.at>",
"Alessandro Colombo <alessandro.colombo@ait.ac.at>",
]
homepage = "https://faest.info"
repository = "https://github.com/ait-crypto/faest-rs"
license = "Apache-2.0 OR MIT"
edition = "2024"
rust-version = "1.85"
keywords = ["signatures", "FAEST", "post-quantum"]
categories = ["cryptography"]
exclude = ["tests/data/*.json", "tests/data/PQCsignKAT_*.rsp"]
[dependencies]
aes = { version = "0.8", default-features = false }
ctr = { version = "0.9", default-features = false }
serde = { version = "1", optional = true, default-features = false, features = [
"derive",
] }
sha3 = { version = "0.10", default-features = false, features = ["asm"] }
signature = { version = "2", default-features = false, features = ["alloc"] }
generic-array = { version = "1", default-features = false, features = [
"alloc",
] }
rand_core = { version = "0.6", default-features = false }
rand = { version = "0.8", optional = true, default-features = false }
zeroize = { version = "1.2", optional = true, default-features = false, features = [
"derive",
] }
pastey = "0.2"
itertools = { version = "0.14", default-features = false }
libc = { version = "0.2", optional = true, default-features = false }
bitvec = { version = "1.0.1", default-features = false, features = ["alloc"] }
[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies]
cpufeatures = "0.2.17"
[dev-dependencies]
generic-tests = "0.1"
hex = { version = "0.4", default-features = false, features = ["alloc"] }
nist-pqc-seeded-rng = { version = "0.2.1", default-features = false }
rand = { version = "0.8", default-features = false }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
[features]
default = ["zeroize", "randomized-signer", "opt-simd", "std"]
std = ["itertools/use_std", "ctr/std", "rand/std_rng", "rand/std"]
zeroize = ["dep:zeroize", "aes/zeroize", "ctr/zeroize"]
randomized-signer = ["signature/rand_core"]
serde = ["dep:serde", "generic-array/serde"]
opt-simd = ["std"]
capi = ["dep:rand", "dep:libc", "dep:zeroize", "rand/std_rng", "rand/std"]
[[example]]
name = "simple"
required-features = ["randomized-signer", "std"]
[[test]]
name = "nist"
required-features = ["randomized-signer", "std"]
[profile.dev.package."*"]
opt-level = 3
[profile.bench]
lto = "fat"
[profile.profiling]
inherits = "release"
debug = true
strip = false
[package.metadata.docs.rs]
all-features = true
[package.metadata.capi.library]
version = "1.0.0"
[workspace]
members = ["faest-benches"]