[workspace] members = [ "crates/aura-crypto", "crates/aura-pki", "crates/aura-proto", "crates/aura-transport", "crates/aura-tunnel", "crates/aura-cli", ] resolver = "2" [workspace.package] version = "0.1.0" edition = "2021" license = "MIT" authors = ["Aura"] description = "Aura — hybrid post-quantum VPN protocol over QUIC" [workspace.dependencies] # Internal crates aura-crypto = { path = "crates/aura-crypto" } aura-pki = { path = "crates/aura-pki" } aura-proto = { path = "crates/aura-proto" } aura-transport = { path = "crates/aura-transport" } aura-tunnel = { path = "crates/aura-tunnel" } # PQ + classic crypto (ml-kem = FIPS 203 ML-KEM-768, replaces spec's pqcrypto-kyber) ml-kem = { version = "0.3", features = ["zeroize"] } x25519-dalek = { version = "2", features = ["static_secrets"] } # KDF / AEAD / hashing hkdf = "0.12" hmac = "0.12" sha2 = "0.10" chacha20poly1305 = { version = "0.10", features = ["stream"] } rand = "0.8" rand_core = "0.6" zeroize = { version = "1.7", features = ["derive"] } subtle = "2" # PKI / X.509 rcgen = "0.14" rustls = { version = "0.23", features = ["ring"] } rustls-pki-types = "1" x509-parser = "0.16" uuid = { version = "1", features = ["v4"] } # Transport quinn = "0.11" tokio = { version = "1", features = ["full"] } bytes = "1" # TUN (Unix: Linux + macOS) tun = { version = "0.8", features = ["async"] } # Windows-specific (version declared here untargeted; referenced under crate [target.'cfg(windows)'] tables) wintun = "0.5" windows = { version = "0.57", features = [ "Win32_Foundation", "Win32_NetworkManagement_IpHelper", "Win32_NetworkManagement_Ndis", "Win32_Networking_WinSock", ] } # Serialization serde = { version = "1", features = ["derive"] } bincode = "1" toml = "0.8" # DNS / net hickory-resolver = "0.24" ipnetwork = "0.20" # CLI / observability / errors clap = { version = "4", features = ["derive"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } anyhow = "1" thiserror = "1" # Dev / bench criterion = "0.5" hex = "0.4" [profile.release] opt-level = 3 lto = "thin"