Skip to content

Commit 50ad1c4

Browse files
authored
Bump rand dependency to v0.10 (#11)
This also brings us closer to upstream by using the released `rand_xorshift` dependency
1 parent 5203ec9 commit 50ad1c4

3 files changed

Lines changed: 53 additions & 57 deletions

File tree

Cargo.lock

Lines changed: 13 additions & 35 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@ homepage = "https://github.com/RustCrypto/group"
1616
repository = "https://github.com/RustCrypto/group"
1717

1818
[dependencies]
19-
chacha20 = { version = "0.10.0-rc.10", optional = true, default-features = false, features = ["rng"] }
2019
ff = { version = "0.14.0-rc.0", package = "rustcrypto-ff", default-features = false }
21-
rand = { version = "0.10.0-rc.8", optional = true, default-features = false }
20+
rand = { version = "0.10", optional = true, default-features = false }
2221
rand_core = { version = "0.10", default-features = false }
23-
#rand_xorshift = { version = "0.5.0-rc.0", optional = true }
22+
rand_xorshift = { version = "0.5", optional = true }
2423
subtle = { version = "2.2.1", default-features = false }
2524

2625
# Crate for exposing the dynamic memory usage of the w-NAF structs.
@@ -29,11 +28,8 @@ memuse = { version = "0.2", optional = true }
2928
[features]
3029
default = ["alloc"]
3130
alloc = []
32-
tests = ["alloc", "chacha20", "rand"] # "rand_xorshift"]
31+
tests = ["alloc", "rand", "rand_xorshift"]
3332
wnaf-memuse = ["alloc", "memuse"]
3433

3534
[badges]
3635
maintenance = { status = "actively-developed" }
37-
38-
[patch.crates-io.rand]
39-
git = "https://github.com/rust-random/rand"

src/tests/mod.rs

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
11
use alloc::vec::Vec;
2-
use chacha20::ChaCha8Rng;
32
use core::ops::{Mul, Neg};
43
use ff::{Field, PrimeField};
54
use rand::SeedableRng;
5+
use rand_xorshift::XorShiftRng;
66

77
use crate::{
88
prime::{PrimeCurve, PrimeCurveAffine},
99
wnaf::WnafGroup,
1010
GroupEncoding, UncompressedEncoding,
1111
};
1212

13-
const RNG_SEED: [u8; 32] = [
14-
0x1f, 0x64, 0x25, 0xd1, 0x6c, 0xb5, 0xdf, 0x2, 0x6a, 0x72, 0xf6, 0x90, 0xa, 0x7a, 0xe1, 0x38,
15-
0x22, 0xb7, 0xa8, 0x11, 0xb, 0xcf, 0xf4, 0x74, 0x25, 0xd, 0x63, 0x24, 0x17, 0x96, 0xc8, 0x58,
16-
];
17-
1813
pub fn curve_tests<G: PrimeCurve>() {
19-
let mut rng = ChaCha8Rng::from_seed(RNG_SEED);
14+
let mut rng = XorShiftRng::from_seed([
15+
0x59, 0x62, 0xbe, 0x5d, 0x76, 0x3d, 0x31, 0x8d, 0x17, 0xdb, 0x37, 0x32, 0x54, 0x06, 0xbc,
16+
0xe5,
17+
]);
2018

2119
// Negation edge case with identity.
2220
{
@@ -74,7 +72,10 @@ pub fn curve_tests<G: PrimeCurve>() {
7472
pub fn random_wnaf_tests<G: WnafGroup>() {
7573
use crate::wnaf::*;
7674

77-
let mut rng = ChaCha8Rng::from_seed(RNG_SEED);
75+
let mut rng = XorShiftRng::from_seed([
76+
0x59, 0x62, 0xbe, 0x5d, 0x76, 0x3d, 0x31, 0x8d, 0x17, 0xdb, 0x37, 0x32, 0x54, 0x06, 0xbc,
77+
0xe5,
78+
]);
7879

7980
{
8081
let mut table = vec![];
@@ -188,7 +189,10 @@ pub fn random_wnaf_tests<G: WnafGroup>() {
188189
}
189190

190191
fn random_negation_tests<G: PrimeCurve>() {
191-
let mut rng = ChaCha8Rng::from_seed(RNG_SEED);
192+
let mut rng = XorShiftRng::from_seed([
193+
0x59, 0x62, 0xbe, 0x5d, 0x76, 0x3d, 0x31, 0x8d, 0x17, 0xdb, 0x37, 0x32, 0x54, 0x06, 0xbc,
194+
0xe5,
195+
]);
192196

193197
for _ in 0..1000 {
194198
let r = G::random(&mut rng);
@@ -215,7 +219,10 @@ fn random_negation_tests<G: PrimeCurve>() {
215219
}
216220

217221
fn random_doubling_tests<G: PrimeCurve>() {
218-
let mut rng = ChaCha8Rng::from_seed(RNG_SEED);
222+
let mut rng = XorShiftRng::from_seed([
223+
0x59, 0x62, 0xbe, 0x5d, 0x76, 0x3d, 0x31, 0x8d, 0x17, 0xdb, 0x37, 0x32, 0x54, 0x06, 0xbc,
224+
0xe5,
225+
]);
219226

220227
for _ in 0..1000 {
221228
let mut a = G::random(&mut rng);
@@ -240,7 +247,10 @@ fn random_doubling_tests<G: PrimeCurve>() {
240247
}
241248

242249
fn random_multiplication_tests<G: PrimeCurve>() {
243-
let mut rng = ChaCha8Rng::from_seed(RNG_SEED);
250+
let mut rng = XorShiftRng::from_seed([
251+
0x59, 0x62, 0xbe, 0x5d, 0x76, 0x3d, 0x31, 0x8d, 0x17, 0xdb, 0x37, 0x32, 0x54, 0x06, 0xbc,
252+
0xe5,
253+
]);
244254

245255
for _ in 0..1000 {
246256
let mut a = G::random(&mut rng);
@@ -272,7 +282,10 @@ fn random_multiplication_tests<G: PrimeCurve>() {
272282
}
273283

274284
fn random_addition_tests<G: PrimeCurve>() {
275-
let mut rng = ChaCha8Rng::from_seed(RNG_SEED);
285+
let mut rng = XorShiftRng::from_seed([
286+
0x59, 0x62, 0xbe, 0x5d, 0x76, 0x3d, 0x31, 0x8d, 0x17, 0xdb, 0x37, 0x32, 0x54, 0x06, 0xbc,
287+
0xe5,
288+
]);
276289

277290
for _ in 0..1000 {
278291
let a = G::random(&mut rng);
@@ -349,7 +362,10 @@ fn random_addition_tests<G: PrimeCurve>() {
349362
}
350363

351364
fn random_transformation_tests<G: PrimeCurve>() {
352-
let mut rng = ChaCha8Rng::from_seed(RNG_SEED);
365+
let mut rng = XorShiftRng::from_seed([
366+
0x59, 0x62, 0xbe, 0x5d, 0x76, 0x3d, 0x31, 0x8d, 0x17, 0xdb, 0x37, 0x32, 0x54, 0x06, 0xbc,
367+
0xe5,
368+
]);
353369

354370
for _ in 0..1000 {
355371
let g = G::random(&mut rng);
@@ -383,7 +399,10 @@ fn random_transformation_tests<G: PrimeCurve>() {
383399
}
384400

385401
fn random_compressed_encoding_tests<G: PrimeCurve>() {
386-
let mut rng = ChaCha8Rng::from_seed(RNG_SEED);
402+
let mut rng = XorShiftRng::from_seed([
403+
0x59, 0x62, 0xbe, 0x5d, 0x76, 0x3d, 0x31, 0x8d, 0x17, 0xdb, 0x37, 0x32, 0x54, 0x06, 0xbc,
404+
0xe5,
405+
]);
387406

388407
assert_eq!(
389408
G::Affine::from_bytes(&G::Affine::identity().to_bytes()).unwrap(),
@@ -409,7 +428,10 @@ pub fn random_uncompressed_encoding_tests<G: PrimeCurve>()
409428
where
410429
<G as PrimeCurve>::Affine: UncompressedEncoding,
411430
{
412-
let mut rng = ChaCha8Rng::from_seed(RNG_SEED);
431+
let mut rng = XorShiftRng::from_seed([
432+
0x59, 0x62, 0xbe, 0x5d, 0x76, 0x3d, 0x31, 0x8d, 0x17, 0xdb, 0x37, 0x32, 0x54, 0x06, 0xbc,
433+
0xe5,
434+
]);
413435

414436
assert_eq!(
415437
G::Affine::from_uncompressed(&G::Affine::identity().to_uncompressed()).unwrap(),

0 commit comments

Comments
 (0)