[package]
edition = "2021"
name = "dcrypt"
version = "1.2.3"
authors = ["Heath Ledger"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "dcrypt is a pure-Rust, software-only cryptography library providing both classical and post-quantum primitives with a focus on security, hybrid KEMs/signatures, and memory-safe, no-FFI design."
readme = "README.md"
keywords = [
"cryptography",
"post-quantum",
"crypto",
]
categories = [
"cryptography",
"no-std",
]
license = "Apache-2.0"
repository = "https://github.com/ioi-foundation/dcrypt"
[package.metadata.release]
publish = true
[features]
algorithms = ["dep:dcrypt-algorithms"]
alloc = []
default = [
"std",
"traditional",
]
full = [
"std",
"alloc",
"serde",
"traditional",
"post-quantum",
"hybrid",
"algorithms",
"symmetric",
"kem",
"sign",
"pke",
]
hybrid = [
"dep:dcrypt-hybrid",
"traditional",
"post-quantum",
]
kem = ["dep:dcrypt-kem"]
pke = ["dep:dcrypt-pke"]
post-quantum = [
"dcrypt-kem?/post-quantum",
"dcrypt-sign?/post-quantum",
]
serde = [
"dep:serde",
"dep:thiserror",
]
sign = ["dep:dcrypt-sign"]
std = [
"rand?/std",
"dcrypt-api/std",
"dcrypt-common/std",
"dcrypt-internal/std",
"dcrypt-algorithms?/std",
"dcrypt-symmetric?/std",
"dcrypt-kem?/std",
"dcrypt-sign?/std",
"dcrypt-pke?/std",
"dcrypt-hybrid?/std",
]
symmetric = ["dep:dcrypt-symmetric"]
traditional = [
"dep:dcrypt-algorithms",
"dep:dcrypt-symmetric",
"dcrypt-kem?/traditional",
"dcrypt-sign?/traditional",
"dep:dcrypt-pke",
]
[lib]
name = "dcrypt"
path = "src/lib.rs"
[dependencies.dcrypt-algorithms]
version = "=1.2.3"
optional = true
[dependencies.dcrypt-api]
version = "=1.2.3"
[dependencies.dcrypt-common]
version = "=1.2.3"
[dependencies.dcrypt-hybrid]
version = "=1.2.3"
optional = true
[dependencies.dcrypt-internal]
version = "=1.2.3"
[dependencies.dcrypt-kem]
version = "=1.2.3"
optional = true
[dependencies.dcrypt-params]
version = "=1.2.3"
[dependencies.dcrypt-pke]
version = "=1.2.3"
optional = true
[dependencies.dcrypt-sign]
version = "=1.2.3"
optional = true
[dependencies.dcrypt-symmetric]
version = "=1.2.3"
optional = true
[dependencies.rand]
version = "0.8.5"
optional = true
default-features = false
[dependencies.serde]
version = "1.0.219"
features = ["derive"]
optional = true
[dependencies.subtle]
version = "2.6.1"
default-features = false
[dependencies.thiserror]
version = "1.0.69"
optional = true
[dependencies.zeroize]
version = "1.8.1"
features = ["zeroize_derive"]
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.proptest]
version = "1.0"