[package] name = "bitcoin-hpke" repository = "https://github.com/payjoin/bitcoin-hpke" documentation = "https://docs.rs/bitcoin-hpke" description = "An implementation of the HPKE hybrid encryption standard (RFC 9180) on libsecp256k1" readme = "README.md" version = "0.13.0" authors = ["Dan Gould "] edition = "2021" license = "MIT/Apache-2.0" keywords = ["cryptography", "encryption", "aead", "secp256k1", "bitcoin"] categories = ["cryptography", "no-std"] [features] default = ["alloc", "secp"] secp = ["secp256k1/global-context", "secp256k1/rand-std"] # Include allocating methods like open() and seal() alloc = [] # Includes an implementation of `std::error::Error` for `HpkeError`. Also does what `alloc` does. std = [] [dependencies] aead = "0.5" secp256k1 = { version = "0.29", optional = true } chacha20poly1305 = "0.10" generic-array = { version = "0.14", default-features = false } digest = "0.10" hkdf = "0.12" hmac = "0.12" rand_core = { version = "0.6", default-features = false } sha2 = { version = "0.10", default-features = false } subtle = { version = "2.6", default-features = false } zeroize = { version = "1", default-features = false, features = ["zeroize_derive"] } [dev-dependencies] aes-gcm = "0.10" criterion = { version = "0.4", features = ["html_reports"] } hex = "0.4" hex-literal = "0.4" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" rand = { version = "0.8", default-features = false, features = ["getrandom", "std_rng"] } # Tell docs.rs to build docs with `--all-features` and `--cfg docsrs` (for nightly docs features) [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] # Criteron benches [[bench]] name = "benches" harness = false [lib] bench = false