[package]
name = "dcrypt"
version.workspace = true
edition.workspace = true
authors.workspace = true
description.workspace = true
repository.workspace = true
license.workspace = true
readme.workspace = true
categories.workspace = true
keywords.workspace = true
[dependencies]
dcrypt-api = { version = "=3.0.0", path = "crates/api", default-features = false }
dcrypt-common = { version = "=3.0.0", path = "crates/common", default-features = false }
dcrypt-internal = { version = "=3.0.0", path = "crates/internal", default-features = false }
dcrypt-params = { version = "=3.0.0", path = "crates/params" }
dcrypt-algorithms = { version = "=3.0.0", path = "crates/algorithms", optional = true, default-features = false }
dcrypt-symmetric = { version = "=3.0.0", path = "crates/symmetric", optional = true, default-features = false }
dcrypt-kem = { version = "=3.0.0", path = "crates/kem", optional = true, default-features = false }
dcrypt-sign = { version = "=3.0.0", path = "crates/sign", optional = true, default-features = false }
dcrypt-pke = { version = "=3.0.0", path = "crates/pke", optional = true, default-features = false }
dcrypt-hybrid = { version = "=3.0.0", path = "crates/hybrid", optional = true, default-features = false }
[features]
default = ["std", "traditional"]
std = [
"alloc",
"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"
]
traditional = [
"alloc",
"algorithms",
"symmetric",
"kem",
"dcrypt-kem/traditional",
"sign",
"dcrypt-sign/traditional",
"pke",
]
post-quantum = [
"alloc",
"algorithms",
"kem",
"dcrypt-kem/post-quantum",
"sign",
"dcrypt-sign/post-quantum",
]
hybrid = ["alloc", "dep:dcrypt-hybrid", "traditional", "post-quantum"]
algorithms = ["alloc", "dep:dcrypt-algorithms"]
symmetric = ["alloc", "dep:dcrypt-symmetric"]
kem = ["alloc", "dep:dcrypt-kem"]
sign = ["alloc", "dep:dcrypt-sign"]
pke = ["alloc", "dep:dcrypt-pke"]
alloc = [
"dcrypt-api/alloc",
"dcrypt-common/alloc",
"dcrypt-internal/alloc",
"dcrypt-algorithms?/alloc",
"dcrypt-symmetric?/alloc",
"dcrypt-kem?/alloc",
"dcrypt-sign?/alloc",
"dcrypt-pke?/alloc",
"dcrypt-hybrid?/alloc",
]
full = ["std", "alloc", "traditional", "post-quantum", "hybrid", "algorithms", "symmetric", "kem", "sign", "pke"]
[workspace]
members = [
"crates/api",
"crates/common",
"crates/internal",
"crates/params",
"crates/algorithms",
"crates/symmetric",
"crates/kem",
"crates/sign",
"crates/hybrid",
"crates/pke",
"crates/utils",
"tests"
]
exclude = ["fuzz", "verification", "migration/legacy-xchacha20poly1305"]
resolver = "2"
[workspace.package]
version = "3.0.0"
edition = "2021"
authors = ["Heath Ledger"]
description = "Rust APIs for classical, post-quantum, and hybrid cryptographic primitives"
repository = "https://github.com/ioi-foundation/dcrypt"
license = "Apache-2.0"
readme = "README.md"
categories = ["cryptography", "no-std"]
keywords = ["cryptography", "post-quantum", "crypto"]
[workspace.dependencies]
rand = { version = "0.8.6", default-features = false }
rand_chacha = "0.3.1"
[workspace.metadata.release]
shared-version = true
dependent-version = "upgrade"
push = false
tag = false
publish = false
consolidate-commits = true
pre-release-commit-message = "chore: release version {{version}}"
sign-commit = false
sign-tag = false
[package.metadata.release]
publish = true
[lints]
workspace = true
[workspace.lints.rust]
unsafe_code = "forbid"