[package] name = "portal-lib" version = "0.5.0" authors = ["landhb "] edition = "2018" description = """ A Secure file transfer library, written in Rust. The library utilizes SPAKE2 for key negotiation over an insecure channel, and ChaCha20Poly1305 Authenticated Encryption to encrypt the file with the derived shared symmetric key. This enables two peers to transfer a file over any channel without needing to trust the intermediary relay. """ keywords = ["file-transfer", "spake2", "chacha20", "poly1305","wormhole"] homepage = "https://github.com/landhb/portal" documentation = "https://docs.rs/portal-lib" repository = "https://github.com/landhb/portal" readme = "README.md" license = "Apache-2.0 OR MIT" [features] default = ["rustcrypto-backend"] rustcrypto-backend = ["chacha20poly1305"] ring-backend = ["ring"] [lib] bench = false [[bench]] name = "sending" harness = false [[bench]] name = "receiving" harness = false [dependencies] serde = {version ="1.0.136",features = ["derive"]} bincode = "1.3.1" thiserror = "1.0.20" memmap = "0.7.0" spake2 = "0.3.1" sha2 = "0.9.1" hex = "0.4.2" rand = "0.7.3" hkdf = "0.9.0" chacha20poly1305 = {version="0.9.0",features=["heapless"], optional=true} ring = {version = "0.17", optional = true} # --------------------------------------------------- # Dependencies only used for running tests # --------------------------------------------------- [dev-dependencies] tempdir = "0.3" mockstream = "0.0.3" criterion = {version = "0.3", features = ["html_reports"]}