[package] name = "aura-crypto" version.workspace = true edition.workspace = true license.workspace = true description = "Aura cryptographic core: hybrid X25519 + ML-KEM-768 KEM, HKDF, ChaCha20-Poly1305" [dependencies] # `getrandom`: enables ML-KEM's no-argument `generate_keypair()` / `encapsulate()` which use the # system RNG internally. This avoids a rand_core major-version mismatch (this crate uses # rand_core 0.6, while ml-kem's kem/crypto-common stack uses rand_core 0.10), so we never have to # hand ml-kem an RNG handle. Feature is additive on top of the workspace's ["zeroize"]. ml-kem = { workspace = true, features = ["getrandom"] } # `zeroize`: makes x25519_dalek::StaticSecret wipe itself on drop. Additive on top of the # workspace's ["static_secrets"]. x25519-dalek = { workspace = true, features = ["zeroize"] } hkdf.workspace = true hmac.workspace = true sha2.workspace = true chacha20poly1305.workspace = true rand.workspace = true rand_core.workspace = true zeroize.workspace = true subtle.workspace = true thiserror.workspace = true [dev-dependencies] hex.workspace = true criterion.workspace = true [[bench]] name = "crypto" harness = false