X25519 key agreement + HKDF-SHA256 + ChaCha20-Poly1305 AEAD for opt-in payload encryption. Each message uses a fresh ephemeral key for forward secrecy. 11 new tests cover roundtrip, wrong-key rejection, tampering, wire format integration, and edge cases.
46 lines
1.0 KiB
TOML
46 lines
1.0 KiB
TOML
[package]
|
|
name = "meshservice"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
authors = ["Chris <c@xorwell.de>"]
|
|
description = "Generic decentralized service layer for mesh networks"
|
|
license = "MIT"
|
|
repository = "https://git.xorwell.de/c/meshservice"
|
|
keywords = ["mesh", "p2p", "decentralized", "services"]
|
|
categories = ["network-programming"]
|
|
|
|
[dependencies]
|
|
# Serialization
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
ciborium = "0.2"
|
|
|
|
# Crypto
|
|
ed25519-dalek = { version = "2.1", features = ["serde"] }
|
|
sha2 = "0.10"
|
|
rand = "0.8"
|
|
x25519-dalek = { version = "2.0", features = ["static_secrets"] }
|
|
chacha20poly1305 = "0.10"
|
|
hkdf = "0.12"
|
|
|
|
# Async
|
|
tokio = { version = "1.36", features = ["sync", "time"] }
|
|
|
|
# Error handling
|
|
anyhow = "1.0"
|
|
thiserror = "1.0"
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1.36", features = ["rt-multi-thread", "macros"] }
|
|
|
|
[[example]]
|
|
name = "fapp_service"
|
|
path = "examples/fapp_service.rs"
|
|
|
|
[[example]]
|
|
name = "housing_service"
|
|
path = "examples/housing_service.rs"
|
|
|
|
[[example]]
|
|
name = "multi_service"
|
|
path = "examples/multi_service.rs"
|