@@ -5275,61 +5275,6 @@ static void test_wnaf(const secp256k1_scalar *number, int w) {
5275
5275
CHECK (secp256k1_scalar_eq (& x , number )); /* check that wnaf represents number */
5276
5276
}
5277
5277
5278
- static void test_constant_wnaf_negate (const secp256k1_scalar * number ) {
5279
- secp256k1_scalar neg1 = * number ;
5280
- secp256k1_scalar neg2 = * number ;
5281
- int sign1 = 1 ;
5282
- int sign2 = 1 ;
5283
-
5284
- if (!secp256k1_scalar_get_bits (& neg1 , 0 , 1 )) {
5285
- secp256k1_scalar_negate (& neg1 , & neg1 );
5286
- sign1 = -1 ;
5287
- }
5288
- sign2 = secp256k1_scalar_cond_negate (& neg2 , secp256k1_scalar_is_even (& neg2 ));
5289
- CHECK (sign1 == sign2 );
5290
- CHECK (secp256k1_scalar_eq (& neg1 , & neg2 ));
5291
- }
5292
-
5293
- static void test_constant_wnaf (const secp256k1_scalar * number , int w ) {
5294
- secp256k1_scalar x , shift ;
5295
- int wnaf [256 ] = {0 };
5296
- int i ;
5297
- int skew ;
5298
- int bits = 256 ;
5299
- secp256k1_scalar num = * number ;
5300
- secp256k1_scalar scalar_skew ;
5301
-
5302
- secp256k1_scalar_set_int (& x , 0 );
5303
- secp256k1_scalar_set_int (& shift , 1 << w );
5304
- for (i = 0 ; i < 16 ; ++ i ) {
5305
- secp256k1_scalar_shr_int (& num , 8 );
5306
- }
5307
- bits = 128 ;
5308
- skew = secp256k1_wnaf_const (wnaf , & num , w , bits );
5309
-
5310
- for (i = WNAF_SIZE_BITS (bits , w ); i >= 0 ; -- i ) {
5311
- secp256k1_scalar t ;
5312
- int v = wnaf [i ];
5313
- CHECK (v != 0 ); /* check nonzero */
5314
- CHECK (v & 1 ); /* check parity */
5315
- CHECK (v > - (1 << w )); /* check range above */
5316
- CHECK (v < (1 << w )); /* check range below */
5317
-
5318
- secp256k1_scalar_mul (& x , & x , & shift );
5319
- if (v >= 0 ) {
5320
- secp256k1_scalar_set_int (& t , v );
5321
- } else {
5322
- secp256k1_scalar_set_int (& t , - v );
5323
- secp256k1_scalar_negate (& t , & t );
5324
- }
5325
- secp256k1_scalar_add (& x , & x , & t );
5326
- }
5327
- /* Skew num because when encoding numbers as odd we use an offset */
5328
- secp256k1_scalar_set_int (& scalar_skew , skew );
5329
- secp256k1_scalar_add (& num , & num , & scalar_skew );
5330
- CHECK (secp256k1_scalar_eq (& x , & num ));
5331
- }
5332
-
5333
5278
static void test_fixed_wnaf (const secp256k1_scalar * number , int w ) {
5334
5279
secp256k1_scalar x , shift ;
5335
5280
int wnaf [256 ] = {0 };
@@ -5433,41 +5378,14 @@ static void test_fixed_wnaf_small(void) {
5433
5378
5434
5379
static void run_wnaf (void ) {
5435
5380
int i ;
5436
- secp256k1_scalar n = {{0 }};
5437
-
5438
- test_constant_wnaf (& n , 4 );
5439
- /* Sanity check: 1 and 2 are the smallest odd and even numbers and should
5440
- * have easier-to-diagnose failure modes */
5441
- n .d [0 ] = 1 ;
5442
- test_constant_wnaf (& n , 4 );
5443
- n .d [0 ] = 2 ;
5444
- test_constant_wnaf (& n , 4 );
5445
- /* Test -1, because it's a special case in wnaf_const */
5446
- n = secp256k1_scalar_one ;
5447
- secp256k1_scalar_negate (& n , & n );
5448
- test_constant_wnaf (& n , 4 );
5449
-
5450
- /* Test -2, which may not lead to overflows in wnaf_const */
5451
- secp256k1_scalar_add (& n , & secp256k1_scalar_one , & secp256k1_scalar_one );
5452
- secp256k1_scalar_negate (& n , & n );
5453
- test_constant_wnaf (& n , 4 );
5454
-
5455
- /* Test (1/2) - 1 = 1/-2 and 1/2 = (1/-2) + 1
5456
- as corner cases of negation handling in wnaf_const */
5457
- secp256k1_scalar_inverse (& n , & n );
5458
- test_constant_wnaf (& n , 4 );
5459
-
5460
- secp256k1_scalar_add (& n , & n , & secp256k1_scalar_one );
5461
- test_constant_wnaf (& n , 4 );
5381
+ secp256k1_scalar n ;
5462
5382
5463
5383
/* Test 0 for fixed wnaf */
5464
5384
test_fixed_wnaf_small ();
5465
5385
/* Random tests */
5466
5386
for (i = 0 ; i < COUNT ; i ++ ) {
5467
5387
random_scalar_order (& n );
5468
5388
test_wnaf (& n , 4 + (i %10 ));
5469
- test_constant_wnaf_negate (& n );
5470
- test_constant_wnaf (& n , 4 + (i % 10 ));
5471
5389
test_fixed_wnaf (& n , 4 + (i % 10 ));
5472
5390
}
5473
5391
secp256k1_scalar_set_int (& n , 0 );
0 commit comments