[package] name = "opaque-ke" version = "2.0.0-pre.1" repository = "https://github.com/novifinancial/opaque-ke" keywords = ["cryptography", "crypto", "opaque", "passwords", "authentication"] categories = ["no-std"] description = "An implementation of the OPAQUE password-authenticated key exchange protocol" authors = ["Kevin Lewi ", "François Garillot "] license = "MIT" edition = "2018" readme = "README.md" resolver = "2" [features] default = ["u64_backend", "serialize"] slow-hash = ["argon2"] p256 = ["num-bigint", "num-integer", "num-traits", "once_cell", "p256_"] bench = [] u64_backend = ["curve25519-dalek/u64_backend"] u32_backend = ["curve25519-dalek/u32_backend"] std = ["curve25519-dalek/std", "getrandom", "rand/std", "rand/std_rng", "num-bigint/std", "num-integer/std", "num-traits/std"] serialize = ["serde", "base64", "generic-array/serde", "curve25519-dalek/serde"] [dependencies] argon2 = { version = "0.3", default-features = false, features = ["alloc"], optional = true } base64 = { version = "0.13", default-features = false, features = ["alloc"], optional = true } constant_time_eq = "0.1" curve25519-dalek = { version = "3", default-features = false } digest = "0.9" displaydoc = { version = "0.2", default-features = false } generic-array = "0.14" getrandom = { version = "0.2", optional = true } hkdf = "0.11" hmac = "0.11" num-bigint = { version = "0.4", default-features = false, optional = true } num-integer = { version = "0.1", default-features = false, optional = true } num-traits = { version = "0.2", default-features = false, optional = true } once_cell = { version = "1", default-features = false, optional = true } p256_ = { package = "p256", version = "0.9", default-features = false, features = ["arithmetic", "zeroize"], optional = true } rand = { version = "0.8", default-features = false } serde = { version = "1", default-features = false, features = ["alloc", "derive"], optional = true } subtle = { version = "2.3", default-features = false } zeroize = { version = "1", features = ["zeroize_derive"] } [target.'cfg(target_arch = "wasm32")'.dependencies] getrandom = { version = "0.2", features = ["js"], optional = true } [dev-dependencies] base64 = "0.13" bincode = "1" chacha20poly1305 = "0.8" criterion = "0.3" hex = "0.4" lazy_static = "1" opaque-ke = { path = "", default-features = false, features = ["std"] } serde_json = "1" sha2 = "0.9" proptest = "1" rustyline = "8" [[bench]] name = "oprf" harness = false required-features = ["bench"]