[package] name = "ecies" version = "0.2.7" # docs authors = ["Weiliang Li "] description = "Elliptic Curve Integrated Encryption Scheme for secp256k1" edition = "2021" keywords = [ "secp256k1", "crypto", "ecc", "ecies", "cryptocurrency", ] license = "MIT" readme = "README.md" # links documentation = "https://docs.rs/ecies/latest/ecies/" homepage = "https://ecies.org/rs/" repository = "https://github.com/ecies/rs" [dependencies] hkdf = {version = "0.12.4", default-features = false} sha2 = {version = "0.10.8", default-features = false} # elliptic curves libsecp256k1 = {version = "0.7.1", default-features = false, features = ["static-context"]} # x25519-dalek = {version = "2.0.0", default-features = false, features = ["static_secrets"], optional = true} # openssl aes openssl = {version = "0.10.64", default-features = false, optional = true} # pure rust aes aes-gcm = {version = "0.10.3", default-features = false, optional = true} typenum = {version = "1.17.0", default-features = false, optional = true} # chacha20 cipher chacha20poly1305 = {version = "0.10.1", default-features = false, optional = true} # random number generator getrandom = {version = "=0.2.14", default-features = false} rand_core = {version = "0.6.4", default-features = false, features = ["getrandom"]} # configuration once_cell = {version = "1.19.0", default-features = false, features = ["critical-section"]} parking_lot = "0.12.2" [target.'cfg(all(target_arch = "wasm32", target_os="unknown"))'.dependencies] # only for js (browser or node). if it's not js, like substrate, it won't build getrandom = {version = "=0.2.14", default-features = false, features = ["js"]} once_cell = {version = "1.19.0", default-features = false, features = ["std"]} wasm-bindgen = {version = "0.2.92", default-features = false} [target.'cfg(all(target_arch = "wasm32", not(target_os="unknown")))'.dependencies] # allows wasm32-wasi to build once_cell = {version = "1.19.0", default-features = false, features = ["std"]} [features] default = ["openssl"] std = ["hkdf/std", "sha2/std", "once_cell/std", "libsecp256k1/std"] # curve # secp256k1 = ["libsecp256k1"] # x25519 = ["x25519-dalek"] # cipher aes-12bytes-nonce = [] # with feature "openssl" or "pure". default: 16 bytes openssl = ["dep:openssl"] pure = ["aes-gcm/aes", "typenum"] xchacha20 = ["chacha20poly1305"] [dev-dependencies] criterion = {version = "0.4.0", default-features = false} hex = {version = "0.4.3", default-features = false, features = ["alloc"]} [target.'cfg(target_arch = "wasm32")'.dev-dependencies] wasm-bindgen-test = "0.3.42" [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] futures-util = "0.3.30" reqwest = "0.12.4" tokio = {version = "1.37.0", default-features = false, features = ["rt-multi-thread"]} [[bench]] harness = false name = "simple" path = "bench/simple.rs"