@@ -47,9 +47,7 @@ void random_field_element_magnitude(secp256k1_fe_t *fe) {
47
47
secp256k1_fe_negate (& zero , & zero , 0 );
48
48
secp256k1_fe_mul_int (& zero , n - 1 );
49
49
secp256k1_fe_add (fe , & zero );
50
- #ifdef VERIFY
51
- CHECK (fe -> magnitude == n );
52
- #endif
50
+ VERIFY_CHECK (fe -> magnitude == n );
53
51
}
54
52
55
53
void random_group_element_test (secp256k1_ge_t * ge ) {
@@ -752,7 +750,7 @@ void run_field_misc(void) {
752
750
secp256k1_fe_t z ;
753
751
secp256k1_fe_t q ;
754
752
secp256k1_fe_t fe5 = SECP256K1_FE_CONST (0 , 0 , 0 , 0 , 0 , 0 , 0 , 5 );
755
- int i ;
753
+ int i , j ;
756
754
for (i = 0 ; i < 5 * count ; i ++ ) {
757
755
secp256k1_fe_storage_t xs , ys , zs ;
758
756
random_fe (& x );
@@ -765,15 +763,27 @@ void run_field_misc(void) {
765
763
/* Test fe conditional move; z is not normalized here. */
766
764
q = x ;
767
765
secp256k1_fe_cmov (& x , & z , 0 );
766
+ VERIFY_CHECK (!x .normalized && x .magnitude == z .magnitude );
768
767
secp256k1_fe_cmov (& x , & x , 1 );
769
768
CHECK (fe_memcmp (& x , & z ) != 0 );
770
769
CHECK (fe_memcmp (& x , & q ) == 0 );
771
770
secp256k1_fe_cmov (& q , & z , 1 );
771
+ VERIFY_CHECK (!q .normalized && q .magnitude == z .magnitude );
772
772
CHECK (fe_memcmp (& q , & z ) == 0 );
773
- /* Test storage conversion and conditional moves. */
774
773
secp256k1_fe_normalize_var (& x );
775
774
secp256k1_fe_normalize_var (& z );
776
775
CHECK (!secp256k1_fe_equal_var (& x , & z ));
776
+ secp256k1_fe_normalize_var (& q );
777
+ secp256k1_fe_cmov (& q , & z , (i & 1 ));
778
+ VERIFY_CHECK (q .normalized && q .magnitude == 1 );
779
+ for (j = 0 ; j < 6 ; j ++ ) {
780
+ secp256k1_fe_negate (& z , & z , j + 1 );
781
+ secp256k1_fe_normalize_var (& q );
782
+ secp256k1_fe_cmov (& q , & z , (j & 1 ));
783
+ VERIFY_CHECK (!q .normalized && q .magnitude == (j + 2 ));
784
+ }
785
+ secp256k1_fe_normalize_var (& z );
786
+ /* Test storage conversion and conditional moves. */
777
787
secp256k1_fe_to_storage (& xs , & x );
778
788
secp256k1_fe_to_storage (& ys , & y );
779
789
secp256k1_fe_to_storage (& zs , & z );
@@ -1671,7 +1681,7 @@ void test_ecdsa_end_to_end(void) {
1671
1681
extra [31 ] = 0 ;
1672
1682
extra [0 ] = 1 ;
1673
1683
CHECK (secp256k1_ecdsa_sign (ctx , message , signature4 , & signaturelen4 , privkey , NULL , extra ) == 1 );
1674
- CHECK (signaturelen3 > 0 );
1684
+ CHECK (signaturelen4 > 0 );
1675
1685
CHECK ((signaturelen != signaturelen2 ) || (memcmp (signature , signature2 , signaturelen ) != 0 ));
1676
1686
CHECK ((signaturelen != signaturelen3 ) || (memcmp (signature , signature3 , signaturelen ) != 0 ));
1677
1687
CHECK ((signaturelen3 != signaturelen2 ) || (memcmp (signature3 , signature2 , signaturelen3 ) != 0 ));
0 commit comments