11use alloc:: vec:: Vec ;
2- use chacha20:: ChaCha8Rng ;
32use core:: ops:: { Mul , Neg } ;
43use ff:: { Field , PrimeField } ;
54use 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-
1813pub 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>() {
7472pub 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
190191fn 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
217221fn 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
242249fn 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
274284fn 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
351364fn 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
385401fn 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>()
409428where
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