@@ -3983,13 +3983,13 @@ void run_eckey_edge_case_test(void) {
3983
3983
pubkey_negone = pubkey ;
3984
3984
/* Tweak of zero leaves the value unchanged. */
3985
3985
memset (ctmp2 , 0 , 32 );
3986
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp , ctmp2 ) == 1 );
3986
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp , ctmp2 ) == 1 );
3987
3987
CHECK (memcmp (orderc , ctmp , 31 ) == 0 && ctmp [31 ] == 0x40 );
3988
3988
memcpy (& pubkey2 , & pubkey , sizeof (pubkey ));
3989
3989
CHECK (secp256k1_ec_pubkey_tweak_add (ctx , & pubkey , ctmp2 ) == 1 );
3990
3990
CHECK (memcmp (& pubkey , & pubkey2 , sizeof (pubkey )) == 0 );
3991
3991
/* Multiply tweak of zero zeroizes the output. */
3992
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , ctmp , ctmp2 ) == 0 );
3992
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , ctmp , ctmp2 ) == 0 );
3993
3993
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
3994
3994
CHECK (secp256k1_ec_pubkey_tweak_mul (ctx , & pubkey , ctmp2 ) == 0 );
3995
3995
CHECK (memcmp (& pubkey , zeros , sizeof (pubkey )) == 0 );
@@ -3999,19 +3999,19 @@ void run_eckey_edge_case_test(void) {
3999
3999
memset (ctmp2 , 0 , 32 );
4000
4000
ctmp2 [31 ] = 0x01 ;
4001
4001
CHECK (secp256k1_ec_seckey_verify (ctx , ctmp2 ) == 1 );
4002
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp , ctmp2 ) == 0 );
4002
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp , ctmp2 ) == 0 );
4003
4003
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4004
4004
memcpy (ctmp , orderc , 32 );
4005
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , ctmp , ctmp2 ) == 0 );
4005
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , ctmp , ctmp2 ) == 0 );
4006
4006
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4007
4007
/* Overflowing key tweak zeroizes. */
4008
4008
memcpy (ctmp , orderc , 32 );
4009
4009
ctmp [31 ] = 0x40 ;
4010
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp , orderc ) == 0 );
4010
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp , orderc ) == 0 );
4011
4011
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4012
4012
memcpy (ctmp , orderc , 32 );
4013
4013
ctmp [31 ] = 0x40 ;
4014
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , ctmp , orderc ) == 0 );
4014
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , ctmp , orderc ) == 0 );
4015
4015
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4016
4016
memcpy (ctmp , orderc , 32 );
4017
4017
ctmp [31 ] = 0x40 ;
@@ -4023,15 +4023,15 @@ void run_eckey_edge_case_test(void) {
4023
4023
memcpy (& pubkey , & pubkey2 , sizeof (pubkey ));
4024
4024
/* Private key tweaks results in a key of zero. */
4025
4025
ctmp2 [31 ] = 1 ;
4026
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp2 , ctmp ) == 0 );
4026
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp2 , ctmp ) == 0 );
4027
4027
CHECK (memcmp (zeros , ctmp2 , 32 ) == 0 );
4028
4028
ctmp2 [31 ] = 1 ;
4029
4029
CHECK (secp256k1_ec_pubkey_tweak_add (ctx , & pubkey , ctmp2 ) == 0 );
4030
4030
CHECK (memcmp (& pubkey , zeros , sizeof (pubkey )) == 0 );
4031
4031
memcpy (& pubkey , & pubkey2 , sizeof (pubkey ));
4032
4032
/* Tweak computation wraps and results in a key of 1. */
4033
4033
ctmp2 [31 ] = 2 ;
4034
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp2 , ctmp ) == 1 );
4034
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp2 , ctmp ) == 1 );
4035
4035
CHECK (memcmp (ctmp2 , zeros , 31 ) == 0 && ctmp2 [31 ] == 1 );
4036
4036
ctmp2 [31 ] = 2 ;
4037
4037
CHECK (secp256k1_ec_pubkey_tweak_add (ctx , & pubkey , ctmp2 ) == 1 );
@@ -4079,16 +4079,16 @@ void run_eckey_edge_case_test(void) {
4079
4079
CHECK (ecount == 2 );
4080
4080
ecount = 0 ;
4081
4081
memset (ctmp2 , 0 , 32 );
4082
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , NULL , ctmp2 ) == 0 );
4082
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , NULL , ctmp2 ) == 0 );
4083
4083
CHECK (ecount == 1 );
4084
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp , NULL ) == 0 );
4084
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp , NULL ) == 0 );
4085
4085
CHECK (ecount == 2 );
4086
4086
ecount = 0 ;
4087
4087
memset (ctmp2 , 0 , 32 );
4088
4088
ctmp2 [31 ] = 1 ;
4089
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , NULL , ctmp2 ) == 0 );
4089
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , NULL , ctmp2 ) == 0 );
4090
4090
CHECK (ecount == 1 );
4091
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , ctmp , NULL ) == 0 );
4091
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , ctmp , NULL ) == 0 );
4092
4092
CHECK (ecount == 2 );
4093
4093
ecount = 0 ;
4094
4094
CHECK (secp256k1_ec_pubkey_create (ctx , NULL , ctmp ) == 0 );
@@ -4168,27 +4168,32 @@ void run_eckey_negate_test(void) {
4168
4168
secp256k1_rand256 (seckey );
4169
4169
memcpy (seckey_tmp , seckey , 32 );
4170
4170
4171
- /* Verify negation changes the key and changes it back */
4172
- CHECK (secp256k1_ec_privkey_negate (ctx , seckey ) == 1 );
4171
+ /* Verify negation changes the key and changes it back */
4172
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 1 );
4173
4173
CHECK (memcmp (seckey , seckey_tmp , 32 ) != 0 );
4174
- CHECK (secp256k1_ec_privkey_negate (ctx , seckey ) == 1 );
4174
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 1 );
4175
+ CHECK (memcmp (seckey , seckey_tmp , 32 ) == 0 );
4176
+
4177
+ /* Check that privkey alias gives same result */
4178
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 1 );
4179
+ CHECK (secp256k1_ec_privkey_negate (ctx , seckey_tmp ) == 1 );
4175
4180
CHECK (memcmp (seckey , seckey_tmp , 32 ) == 0 );
4176
4181
4177
- /* Negating all 0s fails */
4182
+ /* Negating all 0s fails */
4178
4183
memset (seckey , 0 , 32 );
4179
4184
memset (seckey_tmp , 0 , 32 );
4180
- CHECK (secp256k1_ec_privkey_negate (ctx , seckey ) == 0 );
4185
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 0 );
4181
4186
/* Check that seckey is not modified */
4182
4187
CHECK (memcmp (seckey , seckey_tmp , 32 ) == 0 );
4183
4188
4184
4189
/* Negating an overflowing seckey fails and the seckey is not modified. In
4185
4190
* this test, the seckey has 16 random bytes to ensure that
4186
- * ec_privkey_negate doesn't just set seckey to a constant value in case of
4191
+ * ec_seckey_negate doesn't just set seckey to a constant value in case of
4187
4192
* failure.*/
4188
4193
secp256k1_rand256_test (seckey );
4189
4194
memset (seckey , 0xFF , 16 );
4190
4195
memcpy (seckey_tmp , seckey , 32 );
4191
- CHECK (secp256k1_ec_privkey_negate (ctx , seckey ) == 0 );
4196
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 0 );
4192
4197
CHECK (memcmp (seckey , seckey_tmp , 32 ) == 0 );
4193
4198
}
4194
4199
@@ -4331,15 +4336,22 @@ void test_ecdsa_end_to_end(void) {
4331
4336
if (secp256k1_rand_int (3 ) == 0 ) {
4332
4337
int ret1 ;
4333
4338
int ret2 ;
4339
+ int ret3 ;
4334
4340
unsigned char rnd [32 ];
4341
+ unsigned char privkey_tmp [32 ];
4335
4342
secp256k1_pubkey pubkey2 ;
4336
4343
secp256k1_rand256_test (rnd );
4337
- ret1 = secp256k1_ec_privkey_tweak_add (ctx , privkey , rnd );
4344
+ memcpy (privkey_tmp , privkey , 32 );
4345
+ ret1 = secp256k1_ec_seckey_tweak_add (ctx , privkey , rnd );
4338
4346
ret2 = secp256k1_ec_pubkey_tweak_add (ctx , & pubkey , rnd );
4347
+ /* Check that privkey alias gives same result */
4348
+ ret3 = secp256k1_ec_privkey_tweak_add (ctx , privkey_tmp , rnd );
4339
4349
CHECK (ret1 == ret2 );
4350
+ CHECK (ret2 == ret3 );
4340
4351
if (ret1 == 0 ) {
4341
4352
return ;
4342
4353
}
4354
+ CHECK (memcmp (privkey , privkey_tmp , 32 ) == 0 );
4343
4355
CHECK (secp256k1_ec_pubkey_create (ctx , & pubkey2 , privkey ) == 1 );
4344
4356
CHECK (memcmp (& pubkey , & pubkey2 , sizeof (pubkey )) == 0 );
4345
4357
}
@@ -4348,15 +4360,22 @@ void test_ecdsa_end_to_end(void) {
4348
4360
if (secp256k1_rand_int (3 ) == 0 ) {
4349
4361
int ret1 ;
4350
4362
int ret2 ;
4363
+ int ret3 ;
4351
4364
unsigned char rnd [32 ];
4365
+ unsigned char privkey_tmp [32 ];
4352
4366
secp256k1_pubkey pubkey2 ;
4353
4367
secp256k1_rand256_test (rnd );
4354
- ret1 = secp256k1_ec_privkey_tweak_mul (ctx , privkey , rnd );
4368
+ memcpy (privkey_tmp , privkey , 32 );
4369
+ ret1 = secp256k1_ec_seckey_tweak_mul (ctx , privkey , rnd );
4355
4370
ret2 = secp256k1_ec_pubkey_tweak_mul (ctx , & pubkey , rnd );
4371
+ /* Check that privkey alias gives same result */
4372
+ ret3 = secp256k1_ec_privkey_tweak_mul (ctx , privkey_tmp , rnd );
4356
4373
CHECK (ret1 == ret2 );
4374
+ CHECK (ret2 == ret3 );
4357
4375
if (ret1 == 0 ) {
4358
4376
return ;
4359
4377
}
4378
+ CHECK (memcmp (privkey , privkey_tmp , 32 ) == 0 );
4360
4379
CHECK (secp256k1_ec_pubkey_create (ctx , & pubkey2 , privkey ) == 1 );
4361
4380
CHECK (memcmp (& pubkey , & pubkey2 , sizeof (pubkey )) == 0 );
4362
4381
}
0 commit comments