Cargo.toml
1 [package] 2 name = "rust_lib_dead_drop" 3 version = "0.1.0" 4 edition = "2021" 5 license = "MIT" 6 description = "Core cryptographic and protocol library for Dead Drop secure messaging" 7 authors = ["Dead Drop Contributors"] 8 9 [lib] 10 name = "rust_lib_dead_drop" 11 crate-type = ["cdylib", "staticlib", "lib"] 12 13 [dependencies] 14 # Cryptography 15 x25519-dalek = { version = "2.0", features = ["static_secrets"] } 16 ed25519-dalek = { version = "2.1", features = ["rand_core"] } 17 chacha20poly1305 = "0.10" 18 hkdf = "0.12" 19 sha2 = "0.10" 20 blake2 = "0.10" 21 rand = "0.8" 22 rand_core = { version = "0.6", features = ["getrandom"] } 23 24 # Noise Protocol 25 snow = "0.9" 26 27 # Serialization 28 serde = { version = "1.0", features = ["derive"] } 29 serde_json = "1.0" 30 bincode = "1.3" 31 32 # Compression (for DHT payloads) 33 zstd = "0.13" 34 35 # WebSocket for relay connections 36 tokio-tungstenite = { version = "0.21", features = ["native-tls"] } 37 futures-util = "0.3" 38 39 # Mainline DHT (BitTorrent DHT with BEP44 mutable items) 40 # Replaces libp2p which doesn't support data storage on public nodes 41 mainline = "5" 42 43 # iroh P2P transport (QUIC-based with NAT traversal via n0 relays) 44 iroh = "0.96" 45 serde_bencode = "0.2" 46 bytes = "1" 47 48 # Storage (bundled-sqlcipher-vendored-openssl bundles both SQLCipher and OpenSSL for cross-compilation) 49 rusqlite = { version = "0.32", features = ["bundled-sqlcipher-vendored-openssl"] } 50 51 # FFI / Flutter bridge 52 flutter_rust_bridge = "=2.11.1" 53 54 # Async runtime (for transport module) 55 tokio = { version = "1.35", features = ["rt", "rt-multi-thread", "sync", "macros", "time"] } 56 async-trait = "0.1" 57 58 # Utilities 59 thiserror = "1.0" 60 chrono = { version = "0.4", features = ["serde"] } 61 base64 = "0.22" 62 hex = "0.4" 63 zeroize = { version = "1.7", features = ["derive"] } 64 65 [dev-dependencies] 66 tempfile = "3.10" 67 criterion = "0.5" 68 proptest = "1.4" 69 70 [profile.release] 71 lto = true 72 opt-level = "z" 73 strip = true 74 75 [profile.dev] 76 opt-level = 0 77 debug = true 78 79 [[bench]] 80 name = "crypto_benchmarks" 81 harness = false