[package]
edition = "2024"
rust-version = "1.94.1"
name = "lib-q-random"
version = "0.0.4"
authors = [
"Enkom Tech",
"Nexlab-One",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Unified secure random number generation for libQ post-quantum cryptography library"
homepage = "https://github.com/Enkom-Tech/libQ"
readme = "README.md"
keywords = [
"cryptography",
"post-quantum",
"security",
"rng",
"entropy",
]
categories = [
"cryptography",
"wasm",
]
license = "Apache-2.0"
repository = "https://github.com/Enkom-Tech/libQ"
[package.metadata.wasm-pack.profile.release]
wasm-opt = [
"-Oz",
"--enable-bulk-memory",
]
[package.metadata.docs.rs]
features = [
"std",
"secure",
"zeroize",
"entropy-validation",
"custom-entropy",
"hash",
"hpke",
"deterministic-saturnin",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
aes = ["dep:aes"]
alloc = ["dep:lib-q-core"]
classical-mceliece = ["getrandom"]
custom-entropy = []
default = [
"std",
"secure",
"zeroize",
]
deterministic = []
deterministic-saturnin = [
"alloc",
"dep:lib-q-saturnin",
"lib-q-saturnin/stream",
"lib-q-saturnin/alloc",
]
entropy-validation = []
fn-dsa = []
getrandom = ["dep:getrandom"]
hardware = []
hash = ["dep:lib-q-hash"]
hpke = ["hash"]
hqc = ["alloc"]
js = [
"dep:getrandom",
"getrandom/std",
]
nist-drbg = [
"aes",
"alloc",
]
no_std = [
"getrandom",
"no_std_panic_handler",
]
no_std_panic_handler = []
rand = ["dep:rand"]
secure = [
"getrandom",
"dep:rand",
]
signature = ["dep:signature"]
std = [
"getrandom",
"dep:rand",
"alloc",
"dep:lib-q-core",
]
test-vectors = []
wasm = [
"alloc",
"dep:wasm-bindgen",
"dep:js-sys",
"dep:serde_json",
"dep:serde-wasm-bindgen",
"dep:hex",
"dep:getrandom",
"dep:lib-q-core",
"lib-q-core/wasm",
"getrandom/wasm_js",
"custom-entropy",
"zeroize",
]
zeroize = ["dep:zeroize"]
[lib]
name = "lib_q_random"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
bench = false
[[test]]
name = "custom_entropy_tests"
path = "tests/custom_entropy_tests.rs"
required-features = ["custom-entropy"]
[[test]]
name = "hqc_specialized_tests"
path = "tests/hqc_specialized_tests.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "kt128_golden_vectors"
path = "tests/kt128_golden_vectors.rs"
[[test]]
name = "no_std_tests"
path = "tests/no_std_tests.rs"
[[test]]
name = "randomness_test"
path = "tests/randomness_test.rs"
[[test]]
name = "security_tests"
path = "tests/security_tests.rs"
required-features = ["getrandom"]
[[test]]
name = "wasm_smoke"
path = "tests/wasm_smoke.rs"
required-features = ["wasm"]
[[bench]]
name = "rng_benchmarks"
path = "benches/rng_benchmarks.rs"
harness = false
required-features = ["alloc"]
[dependencies.aes]
version = "0.9.0"
optional = true
default-features = false
[dependencies.getrandom]
version = "0.4.2"
optional = true
default-features = false
[dependencies.hex]
version = "0.4.3"
optional = true
[dependencies.js-sys]
version = "0.3.99"
optional = true
[dependencies.lib-q-core]
version = "0.0.4"
features = ["alloc"]
optional = true
[dependencies.lib-q-hash]
version = "0.0.4"
optional = true
[dependencies.lib-q-k12]
version = "0.0.4"
default-features = false
[dependencies.lib-q-saturnin]
version = "0.0.4"
optional = true
default-features = false
[dependencies.rand]
version = "0.10.1"
optional = true
default-features = false
[dependencies.rand_core]
version = "0.10.1"
default-features = false
[dependencies.serde-wasm-bindgen]
version = "0.6.5"
optional = true
[dependencies.serde_json]
version = "1.0.150"
features = ["alloc"]
optional = true
default-features = false
[dependencies.signature]
version = "3.0.0"
features = ["rand_core"]
optional = true
[dependencies.wasm-bindgen]
version = "0.2.122"
optional = true
[dependencies.zeroize]
version = "1.8.2"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
[dev-dependencies.wasm-bindgen-test]
version = "0.3.72"
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.getrandom]
version = "0.4.2"
features = ["wasm_js"]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "0.8.2"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.hex]
version = "0.4.3"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.proptest]
version = "1.11.0"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.serde]
version = "1.0.228"
features = [
"derive",
"alloc",
]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.serde_json]
version = "1.0.150"
features = ["alloc"]
default-features = false