Cargo.toml (90 lines of code) (raw):

[package] authors = ["Kevin Lewi <klewi@fb.com>", "François Garillot <fga@fb.com>"] categories = ["no-std"] description = "An implementation of the OPAQUE password-authenticated key exchange protocol" edition = "2021" keywords = ["cryptography", "crypto", "opaque", "passwords", "authentication"] license = "Apache-2.0 OR MIT" name = "opaque-ke" readme = "README.md" repository = "https://github.com/novifinancial/opaque-ke" rust-version = "1.57" version = "2.0.0-pre.1" [features] default = ["ristretto255_u64", "ristretto255_voprf", "serde"] ristretto255 = ["curve25519-dalek", "voprf/ristretto255"] ristretto255_fiat_u32 = ["curve25519-dalek/fiat_u32_backend", "ristretto255"] ristretto255_fiat_u64 = ["curve25519-dalek/fiat_u64_backend", "ristretto255"] ristretto255_simd = ["curve25519-dalek/simd_backend", "ristretto255"] ristretto255_u32 = ["curve25519-dalek/u32_backend", "ristretto255"] ristretto255_u64 = ["curve25519-dalek/u64_backend", "ristretto255"] ristretto255_voprf = ["ristretto255", "voprf/ristretto255-ciphersuite"] serde = ["serde_", "generic-array/serde", "voprf/serde"] slow-hash = ["argon2"] std = ["getrandom", "rand/std", "rand/std_rng", "voprf/std"] x25519 = ["curve25519-dalek-3"] x25519_fiat_u32 = ["x25519", "x25519-dalek/fiat_u32_backend"] x25519_fiat_u64 = ["x25519", "x25519-dalek/fiat_u64_backend"] # x25519-dalek isn't properly re-exposing `simd_backend`. x25519_simd = [ "curve25519-dalek-3/simd_backend", "x25519", "x25519-dalek/nightly", ] x25519_u32 = ["x25519", "x25519-dalek/u32_backend"] x25519_u64 = ["x25519", "x25519-dalek/u64_backend"] [dependencies] argon2 = { version = "0.3", default-features = false, features = [ "alloc", ], optional = true } constant_time_eq = "0.1" curve25519-dalek = { version = "=4.0.0-pre.1", default-features = false, optional = true } curve25519-dalek-3 = { version = "3", package = "curve25519-dalek", default-features = false, optional = true } derive-where = { version = "=1.0.0-rc.3", features = ["zeroize-on-drop"] } digest = "0.10" displaydoc = { version = "0.2", default-features = false } elliptic-curve = { version = "0.12.0-pre.1", features = ["hash2curve", "sec1"] } generic-array = "0.14" getrandom = { version = "0.2", optional = true } hkdf = "0.12" hmac = "0.12" rand = { version = "0.8", default-features = false } serde_ = { version = "1", package = "serde", default-features = false, features = [ "derive", ], optional = true } subtle = { version = "2.3", default-features = false } voprf = { version = "0.3", default-features = false, features = ["danger"] } x25519-dalek = { version = "=2.0.0-pre.1", default-features = false, optional = true } 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.9" criterion = "0.3" hex = "0.4" json = "0.12" lazy_static = "1" p256 = { version = "=0.11.0-pre.0", default-features = false, features = [ "hash2curve", "voprf", ] } proptest = "1" rand = "0.8" regex = "1" rustyline = "9" serde_json = "1" sha2 = "0.10" [[bench]] harness = false name = "opaque" [package.metadata.docs.rs] features = ["std", "slow-hash", "x25519_u64"] targets = [] [patch.crates-io] chacha20 = { git = "https://github.com/RustCrypto/stream-ciphers" } chacha20poly1305 = { git = "https://github.com/khonsulabs/aeads", branch = "update-dependencies" } derive-where = { git = "https://github.com/ModProg/derive-where" } poly1305 = { git = "https://github.com/RustCrypto/universal-hashes" } voprf = { git = "https://github.com/khonsulabs/voprf", branch = "v08" }