[package] name = "mtp-crypto" version = "0.1.0" edition = "2024" [dependencies] chacha20poly1305 = { version = "0.10", optional = true } aes-gcm = { version = "0.10", optional = true } ed25519-dalek = { version = "2.2", optional = true, features = [ "pkcs8", "pem", ] } hkdf = { version = "0.13", optional = true } sha2 = { version = "0.11", optional = true } zeroize = { version = "1.9", features = ["derive"] } rand_core = { version = "0.6", features = ["getrandom"] } getrandom = "0.4.3" mlkem-tls = { version = "0.2", optional = true } ml-dsa = { version = "0.1.1", optional = true } serde = { version = "1", optional = true, features = ["derive"] } [features] default = ["chacha20poly1305", "ed25519-dalek", "hkdf", "sha2", "ml-dsa"] # Enabling ml-dsa by default ensures dual-signature support in the handshake # without requiring a separate PQC feature flag in host/client crates. full = ["default", "aes-gcm"] pqc = ["mlkem-tls", "ml-dsa"] serde = ["dep:serde"]