General Improvements (#268)
* Move `elliptic-curve` implementation to points to allow `Zeroize` * Simplify `Ristretto255::random_scalar` implementation * Fix `Ristretto255` deserialization * Remove unnecessary check in `Ristretto255::random_scalar` * Base `X25519` implementation on `curve25519-dalek` * Constrain public and secret key to `Copy` * Replace manual `ZeroizeOnDrop` implementation with `derive` * Update dependencies * Add `warn(unused_crate_dependencies)` * Sync crate feature naming with `voprf` * Remove unnecessary dependency crate features * Never produce a zero scalar * Rename `OprfGroup` to `OprfCs` * Rename `TripleDH` to `TripleDh` * Remove `slow-hash` crate feature * Rename `NoOpHash` to `Identity` * Rename `SlowHash` to `Ksf` * Move `KeyExchange` type definitions down * Deserialize secret and public keys from slices * Remove `PrivateKey::from_bytes` * Rename `From/ToBytes` to `De/Serialize` * Re-export `serde_` as `serde` * Custom `De/Serialize` implementation for keys * Remove custom `De/Serialize` implementation * Run Taplo v0.6
This commit is contained in:
+18
-35
@@ -12,42 +12,33 @@ rust-version = "1.57"
|
||||
version = "2.0.0-pre.1"
|
||||
|
||||
[features]
|
||||
default = ["ristretto255_u64", "ristretto255_voprf", "serde"]
|
||||
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"]
|
||||
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"]
|
||||
std = ["getrandom"]
|
||||
x25519 = ["curve25519-dalek"]
|
||||
x25519-fiat-u32 = ["curve25519-dalek/fiat_u32_backend", "x25519"]
|
||||
x25519-fiat-u64 = ["curve25519-dalek/fiat_u64_backend", "x25519"]
|
||||
x25519-simd = ["curve25519-dalek/simd_backend", "x25519"]
|
||||
x25519-u32 = ["curve25519-dalek/u32_backend", "x25519"]
|
||||
x25519-u64 = ["curve25519-dalek/u64_backend", "x25519"]
|
||||
|
||||
[dependencies]
|
||||
argon2 = { version = "0.3", default-features = false, features = [
|
||||
argon2 = { version = "0.4", 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 }
|
||||
@@ -56,20 +47,17 @@ serde_ = { version = "1", package = "serde", default-features = false, features
|
||||
], 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"] }
|
||||
zeroize = { version = "1.5", 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"
|
||||
chacha20poly1305 = "=0.10.0-pre"
|
||||
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",
|
||||
@@ -79,19 +67,14 @@ 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"]
|
||||
features = ["argon2", "std", "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" }
|
||||
|
||||
Reference in New Issue
Block a user