[package]
edition = "2024"
name = "darkbio-crypto"
version = "0.11.7"
authors = ["Péter Szilágyi <peter@dark.bio>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cryptography primitives and wrappers"
documentation = "https://docs.rs/darkbio-crypto"
readme = "README.md"
keywords = [
"post-quantum",
"c-mldsa",
"x-wing",
"hpke",
"cose",
]
categories = [
"cryptography",
"encoding",
]
license = "BSD-3-Clause"
repository = "https://github.com/dark-bio/crypto-rs"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
argon2 = ["dep:argon2"]
cbor = [
"dep:thiserror",
"dep:darkbio-crypto-cbor-derive",
]
cose = [
"cbor",
"xhpke",
]
default = []
eddsa = [
"pem",
"dep:der",
"dep:ed25519-dalek",
"dep:pkcs8",
"dep:serde",
"dep:sha2",
"dep:signature",
"dep:spki",
]
hkdf = [
"dep:hkdf",
"dep:sha2",
]
mldsa = [
"pem",
"dep:der",
"dep:ml-dsa",
"dep:pkcs8",
"dep:serde",
"dep:sha2",
"dep:spki",
"dep:subtle",
"dep:zeroize",
]
pem = ["dep:base64"]
rand = []
rsa = [
"pem",
"dep:rsa",
"dep:serde",
"dep:signature",
]
stream = [
"dep:age-core",
"dep:chacha20poly1305",
"dep:pin-project",
"dep:zeroize",
]
x509 = [
"xdsa",
"dep:chrono",
"dep:const-oid",
"dep:sha1",
"dep:x509-cert",
]
xdsa = [
"pem",
"eddsa",
"mldsa",
"x509",
"dep:x509-parser",
]
xhpke = [
"pem",
"xdsa",
"dep:generic-array",
"dep:hpke",
"dep:rand",
"dep:rand_chacha",
"dep:serde",
"dep:x-wing",
]
[lib]
name = "darkbio_crypto"
path = "src/lib.rs"
[[example]]
name = "demo"
path = "examples/demo.rs"
required-features = ["cose"]
[dependencies.age-core]
version = "0.11.0"
optional = true
[dependencies.argon2]
version = "0.5.3"
optional = true
[dependencies.base64]
version = "0.22.1"
optional = true
[dependencies.chacha20poly1305]
version = "0.10.1"
optional = true
[dependencies.chrono]
version = "0.4.41"
optional = true
[dependencies.const-oid]
version = "0.9.6"
optional = true
[dependencies.darkbio-crypto-cbor-derive]
version = "0.11.7"
optional = true
[dependencies.der]
version = "0.7.10"
features = ["derive"]
optional = true
[dependencies.ed25519-dalek]
version = "2.2.0"
features = [
"pem",
"rand_core",
]
optional = true
[dependencies.generic-array]
version = "0.14.7"
optional = true
[dependencies.getrandom]
version = "0.4.0-rc.0"
features = ["wasm_js"]
[dependencies.getrandom02]
version = "0.2"
features = ["js"]
package = "getrandom"
[dependencies.getrandom03]
version = "0.3.4"
features = ["wasm_js"]
package = "getrandom"
[dependencies.hkdf]
version = "0.12.4"
optional = true
[dependencies.hpke]
version = "0.13.0"
features = ["std"]
optional = true
[dependencies.ml-dsa]
version = "0.1.0-rc.3"
features = ["rand_core"]
optional = true
[dependencies.pin-project]
version = "1.1.9"
optional = true
[dependencies.pkcs8]
version = "0.10.2"
features = ["std"]
optional = true
[dependencies.rand]
version = "0.9.2"
optional = true
[dependencies.rand_chacha]
version = "0.9.0"
optional = true
[dependencies.rsa]
version = "0.9.8"
features = ["sha2"]
optional = true
[dependencies.serde]
version = "1.0"
optional = true
[dependencies.sha1]
version = "0.10.6"
optional = true
[dependencies.sha2]
version = "0.10.9"
optional = true
[dependencies.signature]
version = "2.2.0"
features = ["rand_core"]
optional = true
[dependencies.spki]
version = "0.7.3"
features = ["alloc"]
optional = true
[dependencies.subtle]
version = "2.6"
optional = true
[dependencies.thiserror]
version = "2.0.17"
optional = true
[dependencies.web-time]
version = "1.1.0"
[dependencies.x-wing]
version = "0.1.0-pre.4"
features = [
"getrandom",
"zeroize",
]
optional = true
[dependencies.x509-cert]
version = "0.2.5"
optional = true
[dependencies.x509-parser]
version = "0.18.0"
optional = true
[dependencies.zeroize]
version = "1.8.1"
optional = true
[dev-dependencies.hex]
version = "0.4"