* Initial P256 implementation * Add P256 VOPRF test vectors * Fix implementation * Forgot `Cargo.toml` and CI * Fix MSRV * Fix MSRV tests * Remove accidental leftovers * Document constants * Use included constant time checks * Add P-256 VOPRF test vector checks * Remove unnecessary bound on `CipherSuite::Group` * P-256 improvement and fixes * Add OPAQUE test vectors for P-256 * Remove fixed key size for 3DH * Hide P-256 test vectors behind feature flag * Split `Group` into modules * Fix `hash_to_scalar` * Point to source * Move constants to `once_cell` Co-authored-by: Kevin Lewi <[email protected]>
60 lines
1.8 KiB
TOML
60 lines
1.8 KiB
TOML
[package]
|
|
name = "opaque-ke"
|
|
version = "2.0.0-pre.1"
|
|
repository = "https://github.com/novifinancial/opaque-ke"
|
|
keywords = ["cryptography", "crypto", "opaque", "passwords", "authentication"]
|
|
description = "An implementation of the OPAQUE password-authenticated key exchange protocol"
|
|
authors = ["Kevin Lewi <[email protected]>", "François Garillot <[email protected]>"]
|
|
license = "MIT"
|
|
edition = "2018"
|
|
readme = "README.md"
|
|
|
|
[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"]
|
|
serialize = ["serde", "base64", "generic-array/serde", "curve25519-dalek/serde"]
|
|
|
|
[dependencies]
|
|
argon2 = { version = "0.2", optional = true }
|
|
base64 = { version = "0.13", optional = true }
|
|
constant_time_eq = "0.1"
|
|
curve25519-dalek = { version = "3", default-features = false, features = ["std"] }
|
|
digest = "0.9"
|
|
displaydoc = "0.2"
|
|
generic-array = "0.14"
|
|
generic-bytes = { version = "0.1" }
|
|
hkdf = "0.11"
|
|
hmac = "0.11"
|
|
num-bigint = { version = "0.4", optional = true }
|
|
num-integer = { version = "0.1", optional = true }
|
|
num-traits = { version = "0.2", optional = true }
|
|
once_cell = { version = "1", optional = true }
|
|
p256_ = { package = "p256", version = "0.9", optional = true }
|
|
rand = "0.8"
|
|
serde = { version = "1", features = ["derive"], optional = true }
|
|
subtle = { version = "2.3", default-features = false }
|
|
thiserror = "1"
|
|
zeroize = { version = "1", features = ["zeroize_derive"] }
|
|
|
|
[dev-dependencies]
|
|
anyhow = "1"
|
|
base64 = "0.13"
|
|
bincode = "1"
|
|
chacha20poly1305 = "0.8"
|
|
criterion = "0.3"
|
|
hex = "0.4"
|
|
lazy_static = "1"
|
|
serde_json = "1"
|
|
sha2 = "0.9"
|
|
proptest = "1"
|
|
rustyline = "8"
|
|
|
|
[[bench]]
|
|
name = "oprf"
|
|
harness = false
|
|
required-features = ["bench"]
|