11use alloc:: vec:: Vec ;
2+ use chacha20:: ChaCha8Rng ;
23use core:: ops:: { Mul , Neg } ;
34use ff:: { Field , PrimeField } ;
45use rand:: SeedableRng ;
5- use rand_xorshift:: XorShiftRng ;
66
77use 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+
1318pub fn curve_tests < G : PrimeCurve > ( ) {
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- ] ) ;
19+ let mut rng = ChaCha8Rng :: from_seed ( RNG_SEED ) ;
1820
1921 // Negation edge case with identity.
2022 {
@@ -72,10 +74,7 @@ pub fn curve_tests<G: PrimeCurve>() {
7274pub fn random_wnaf_tests < G : WnafGroup > ( ) {
7375 use crate :: wnaf:: * ;
7476
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- ] ) ;
77+ let mut rng = ChaCha8Rng :: from_seed ( RNG_SEED ) ;
7978
8079 {
8180 let mut table = vec ! [ ] ;
@@ -189,10 +188,7 @@ pub fn random_wnaf_tests<G: WnafGroup>() {
189188}
190189
191190fn random_negation_tests < G : PrimeCurve > ( ) {
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- ] ) ;
191+ let mut rng = ChaCha8Rng :: from_seed ( RNG_SEED ) ;
196192
197193 for _ in 0 ..1000 {
198194 let r = G :: random ( & mut rng) ;
@@ -219,10 +215,7 @@ fn random_negation_tests<G: PrimeCurve>() {
219215}
220216
221217fn random_doubling_tests < G : PrimeCurve > ( ) {
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- ] ) ;
218+ let mut rng = ChaCha8Rng :: from_seed ( RNG_SEED ) ;
226219
227220 for _ in 0 ..1000 {
228221 let mut a = G :: random ( & mut rng) ;
@@ -247,10 +240,7 @@ fn random_doubling_tests<G: PrimeCurve>() {
247240}
248241
249242fn random_multiplication_tests < G : PrimeCurve > ( ) {
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- ] ) ;
243+ let mut rng = ChaCha8Rng :: from_seed ( RNG_SEED ) ;
254244
255245 for _ in 0 ..1000 {
256246 let mut a = G :: random ( & mut rng) ;
@@ -282,10 +272,7 @@ fn random_multiplication_tests<G: PrimeCurve>() {
282272}
283273
284274fn random_addition_tests < G : PrimeCurve > ( ) {
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- ] ) ;
275+ let mut rng = ChaCha8Rng :: from_seed ( RNG_SEED ) ;
289276
290277 for _ in 0 ..1000 {
291278 let a = G :: random ( & mut rng) ;
@@ -362,10 +349,7 @@ fn random_addition_tests<G: PrimeCurve>() {
362349}
363350
364351fn random_transformation_tests < G : PrimeCurve > ( ) {
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- ] ) ;
352+ let mut rng = ChaCha8Rng :: from_seed ( RNG_SEED ) ;
369353
370354 for _ in 0 ..1000 {
371355 let g = G :: random ( & mut rng) ;
@@ -399,10 +383,7 @@ fn random_transformation_tests<G: PrimeCurve>() {
399383}
400384
401385fn random_compressed_encoding_tests < G : PrimeCurve > ( ) {
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- ] ) ;
386+ let mut rng = ChaCha8Rng :: from_seed ( RNG_SEED ) ;
406387
407388 assert_eq ! (
408389 G :: Affine :: from_bytes( & G :: Affine :: identity( ) . to_bytes( ) ) . unwrap( ) ,
@@ -428,10 +409,7 @@ pub fn random_uncompressed_encoding_tests<G: PrimeCurve>()
428409where
429410 <G as PrimeCurve >:: Affine : UncompressedEncoding ,
430411{
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- ] ) ;
412+ let mut rng = ChaCha8Rng :: from_seed ( RNG_SEED ) ;
435413
436414 assert_eq ! (
437415 G :: Affine :: from_uncompressed( & G :: Affine :: identity( ) . to_uncompressed( ) ) . unwrap( ) ,
0 commit comments