Files
opaque-vx/Cargo.toml
T
daxpeddaandKevin Lewi e491c1b533 P256 implementation (#213)
* 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]>
2021-07-30 16:02:02 -07:00

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"]