[package]
edition = "2021"
rust-version = "1.85"
name = "quantum-shield"
version = "0.3.1"
authors = ["valh4x"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Hybrid post-quantum cryptography: X25519 + ML-KEM-1024 encryption and Ed25519 + ML-DSA-87 signatures"
readme = "README.md"
keywords = [
"cryptography",
"post-quantum",
"ml-kem",
"ml-dsa",
"hybrid",
]
categories = ["cryptography"]
license = "MIT"
repository = "https://github.com/redasgard/quantum-shield"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["std"]
pem = [
"dep:pem-rfc7468",
"ml-kem/pkcs8",
"ml-kem/pem",
"ml-dsa/pkcs8",
"ed25519-dalek/pkcs8",
"ed25519-dalek/pem",
]
serde = ["dep:serde"]
std = [
"thiserror/std",
"ed25519-dalek/std",
"serde?/std",
]
[lib]
name = "quantum_shield"
path = "src/lib.rs"
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "dudect"
path = "examples/dudect.rs"
[[test]]
name = "downgrade"
path = "tests/downgrade.rs"
[[test]]
name = "golden"
path = "tests/golden.rs"
[[test]]
name = "kat_ed25519"
path = "tests/kat_ed25519.rs"
[[test]]
name = "kat_mldsa"
path = "tests/kat_mldsa.rs"
[[test]]
name = "kat_mlkem"
path = "tests/kat_mlkem.rs"
[[test]]
name = "kat_x25519"
path = "tests/kat_x25519.rs"
[[test]]
name = "multi"
path = "tests/multi.rs"
[[test]]
name = "proptests"
path = "tests/proptests.rs"
[[test]]
name = "rotate"
path = "tests/rotate.rs"
[[test]]
name = "roundtrip"
path = "tests/roundtrip.rs"
[[test]]
name = "stream"
path = "tests/stream.rs"
[[test]]
name = "tamper"
path = "tests/tamper.rs"
[[bench]]
name = "codec"
path = "benches/codec.rs"
harness = false
[[bench]]
name = "crypto"
path = "benches/crypto.rs"
harness = false
[dependencies.aes-gcm]
version = "0.11"
features = [
"aes",
"alloc",
"zeroize",
]
default-features = false
[dependencies.ed25519-dalek]
version = "2.2.0"
features = [
"alloc",
"fast",
"zeroize",
]
default-features = false
[dependencies.getrandom]
version = "0.4"
[dependencies.ml-dsa]
version = "0.1.1"
features = [
"alloc",
"zeroize",
]
default-features = false
[dependencies.ml-kem]
version = "0.3.2"
features = [
"alloc",
"zeroize",
"getrandom",
]
default-features = false
[dependencies.pem-rfc7468]
version = "0.7"
features = ["alloc"]
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
[dependencies.sha3]
version = "0.12"
default-features = false
[dependencies.subtle]
version = "2.6"
default-features = false
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.x25519-dalek]
version = "2.0.1"
features = [
"static_secrets",
"zeroize",
]
default-features = false
[dependencies.zeroize]
version = "1.8"
features = [
"derive",
"alloc",
]
default-features = false
[dev-dependencies.criterion]
version = "0.7.0"
features = ["cargo_bench_support"]
default-features = false
[dev-dependencies.dudect-bencher]
version = "0.7.0"
[dev-dependencies.hex]
version = "0.4"
[dev-dependencies.hex-literal]
version = "1"
[dev-dependencies.ml-kem]
version = "0.3.2"
features = ["hazmat"]
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.serde_json]
version = "1"