[package] name = "double-ratchet-rs" version = "0.4.6" authors = ["satvrn", "Hannes Furmans", "Pascal Engélibert"] edition = "2021" rust-version = "1.60" description = "A pure Rust implementation of the Double Ratchet algorithm as described by Signal." documentation = "https://docs.rs/double-ratchet-rs" readme = "README.md" homepage = "https://git.txmn.tk/tuxmain/double-ratchet-rs" repository = "https://git.txmn.tk/tuxmain/double-ratchet-rs" license = "MIT" keywords = ["double-ratchet", "signal"] categories = ["algorithms", "cryptography", "no-std"] [dependencies] x25519-dalek = {version = "2", default-features = false, features = ["serde", "static_secrets", "zeroize"]} rand_core = "0.6" hkdf = "0.12" hmac = "0.12" aes-gcm-siv = "0.11" sha2 = {version = "0.10", default-features = false} serde = {version = "1.0", default-features = false, features = ["derive"]} postcard = {version = "1.0", default-features = false, features = ["alloc"]} hashbrown = {version = "0.14", features = ["serde"], optional = true} zeroize = {version = "1.6", default-features = false, features = ["zeroize_derive"]} [target.'cfg(all(target_family = "wasm", target_vendor = "unknown"))'.dependencies] getrandom = { version = "0.2", features = ["js"] } [target.'cfg(not(target_family = "wasm"))'.dev-dependencies] criterion = "0.4" [target.'cfg(target_family = "wasm")'.dev-dependencies] criterion = { version = "0.4", default-features = false, features = ["plotters", "cargo_bench_support"] } wasm-bindgen-test = "0.2" [[bench]] name = "double_ratchet_bench" harness = false [profile.release] lto = true [features] default = ["hashbrown"] std = ["sha2/std", "serde/std", "postcard/use-std", "zeroize/std"]