diff --git a/Cargo.lock b/Cargo.lock index 5ca04615..4352ad49 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1527,7 +1527,7 @@ dependencies = [ [[package]] name = "ciphersuite" -version = "0.4.1" +version = "0.4.2" dependencies = [ "dalek-ff-group", "digest 0.10.7", @@ -1980,7 +1980,7 @@ dependencies = [ [[package]] name = "dalek-ff-group" -version = "0.4.2" +version = "0.4.3" dependencies = [ "crypto-bigint", "curve25519-dalek", diff --git a/crypto/ciphersuite/Cargo.toml b/crypto/ciphersuite/Cargo.toml index ee2b103c..3562289b 100644 --- a/crypto/ciphersuite/Cargo.toml +++ b/crypto/ciphersuite/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ciphersuite" -version = "0.4.1" +version = "0.4.2" description = "Ciphersuites built around ff/group" license = "MIT" repository = "https://github.com/serai-dex/serai/tree/develop/crypto/ciphersuite" diff --git a/crypto/dalek-ff-group/Cargo.toml b/crypto/dalek-ff-group/Cargo.toml index 24b28fcc..0869d11e 100644 --- a/crypto/dalek-ff-group/Cargo.toml +++ b/crypto/dalek-ff-group/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dalek-ff-group" -version = "0.4.2" +version = "0.4.3" description = "ff/group bindings around curve25519-dalek" license = "MIT" repository = "https://github.com/serai-dex/serai/tree/develop/crypto/dalek-ff-group" diff --git a/crypto/dalek-ff-group/src/lib.rs b/crypto/dalek-ff-group/src/lib.rs index b24b1e56..d56f117b 100644 --- a/crypto/dalek-ff-group/src/lib.rs +++ b/crypto/dalek-ff-group/src/lib.rs @@ -30,7 +30,7 @@ use dalek::{ pub use constants::{ED25519_BASEPOINT_TABLE, RISTRETTO_BASEPOINT_TABLE}; use group::{ - ff::{Field, PrimeField, FieldBits, PrimeFieldBits}, + ff::{Field, PrimeField, FieldBits, PrimeFieldBits, FromUniformBytes}, Group, GroupEncoding, prime::PrimeGroup, }; @@ -322,6 +322,12 @@ impl PrimeFieldBits for Scalar { } } +impl FromUniformBytes<64> for Scalar { + fn from_uniform_bytes(bytes: &[u8; 64]) -> Self { + Self::from_bytes_mod_order_wide(bytes) + } +} + impl Sum for Scalar { fn sum>(iter: I) -> Scalar { Self(DScalar::sum(iter))