diff --git a/src/group/ristretto.rs b/src/group/ristretto.rs index 39aa4c1..68c7523 100644 --- a/src/group/ristretto.rs +++ b/src/group/ristretto.rs @@ -96,9 +96,10 @@ impl Group for Ristretto255 { fn random_scalar(rng: &mut R) -> Self::Scalar { loop { - let scalar = Scalar::random(rng); + let mut scalar_bytes = [0u8; 32]; + rng.fill_bytes(&mut scalar_bytes); - if scalar != Scalar::ZERO { + if let Ok(scalar) = Self::deserialize_scalar(&scalar_bytes) { break scalar; } }