@@ -3989,13 +3989,13 @@ void run_eckey_edge_case_test(void) {
3989
3989
pubkey_negone = pubkey ;
3990
3990
/* Tweak of zero leaves the value unchanged. */
3991
3991
memset (ctmp2 , 0 , 32 );
3992
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp , ctmp2 ) == 1 );
3992
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp , ctmp2 ) == 1 );
3993
3993
CHECK (memcmp (orderc , ctmp , 31 ) == 0 && ctmp [31 ] == 0x40 );
3994
3994
memcpy (& pubkey2 , & pubkey , sizeof (pubkey ));
3995
3995
CHECK (secp256k1_ec_pubkey_tweak_add (ctx , & pubkey , ctmp2 ) == 1 );
3996
3996
CHECK (memcmp (& pubkey , & pubkey2 , sizeof (pubkey )) == 0 );
3997
3997
/* Multiply tweak of zero zeroizes the output. */
3998
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , ctmp , ctmp2 ) == 0 );
3998
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , ctmp , ctmp2 ) == 0 );
3999
3999
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4000
4000
CHECK (secp256k1_ec_pubkey_tweak_mul (ctx , & pubkey , ctmp2 ) == 0 );
4001
4001
CHECK (memcmp (& pubkey , zeros , sizeof (pubkey )) == 0 );
@@ -4007,20 +4007,20 @@ void run_eckey_edge_case_test(void) {
4007
4007
ctmp2 [31 ] = 0x01 ;
4008
4008
CHECK (secp256k1_ec_seckey_verify (ctx , ctmp2 ) == 1 );
4009
4009
CHECK (secp256k1_ec_seckey_verify (ctx , ctmp ) == 0 );
4010
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp , ctmp2 ) == 0 );
4010
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp , ctmp2 ) == 0 );
4011
4011
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4012
4012
memcpy (ctmp , orderc , 32 );
4013
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , ctmp , ctmp2 ) == 0 );
4013
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , ctmp , ctmp2 ) == 0 );
4014
4014
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4015
4015
/* If seckey_tweak_add or seckey_tweak_mul are called with an overflowing
4016
4016
tweak, the seckey is zeroized. */
4017
4017
memcpy (ctmp , orderc , 32 );
4018
4018
ctmp [31 ] = 0x40 ;
4019
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp , orderc ) == 0 );
4019
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp , orderc ) == 0 );
4020
4020
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4021
4021
memcpy (ctmp , orderc , 32 );
4022
4022
ctmp [31 ] = 0x40 ;
4023
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , ctmp , orderc ) == 0 );
4023
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , ctmp , orderc ) == 0 );
4024
4024
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4025
4025
memcpy (ctmp , orderc , 32 );
4026
4026
ctmp [31 ] = 0x40 ;
@@ -4039,15 +4039,15 @@ void run_eckey_edge_case_test(void) {
4039
4039
ctmp [31 ] = 0x40 ;
4040
4040
memset (ctmp2 , 0 , 32 );
4041
4041
ctmp2 [31 ] = 1 ;
4042
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp2 , ctmp ) == 0 );
4042
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp2 , ctmp ) == 0 );
4043
4043
CHECK (memcmp (zeros , ctmp2 , 32 ) == 0 );
4044
4044
ctmp2 [31 ] = 1 ;
4045
4045
CHECK (secp256k1_ec_pubkey_tweak_add (ctx , & pubkey , ctmp2 ) == 0 );
4046
4046
CHECK (memcmp (& pubkey , zeros , sizeof (pubkey )) == 0 );
4047
4047
memcpy (& pubkey , & pubkey2 , sizeof (pubkey ));
4048
4048
/* Tweak computation wraps and results in a key of 1. */
4049
4049
ctmp2 [31 ] = 2 ;
4050
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp2 , ctmp ) == 1 );
4050
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp2 , ctmp ) == 1 );
4051
4051
CHECK (memcmp (ctmp2 , zeros , 31 ) == 0 && ctmp2 [31 ] == 1 );
4052
4052
ctmp2 [31 ] = 2 ;
4053
4053
CHECK (secp256k1_ec_pubkey_tweak_add (ctx , & pubkey , ctmp2 ) == 1 );
@@ -4095,16 +4095,16 @@ void run_eckey_edge_case_test(void) {
4095
4095
CHECK (ecount == 2 );
4096
4096
ecount = 0 ;
4097
4097
memset (ctmp2 , 0 , 32 );
4098
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , NULL , ctmp2 ) == 0 );
4098
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , NULL , ctmp2 ) == 0 );
4099
4099
CHECK (ecount == 1 );
4100
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp , NULL ) == 0 );
4100
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp , NULL ) == 0 );
4101
4101
CHECK (ecount == 2 );
4102
4102
ecount = 0 ;
4103
4103
memset (ctmp2 , 0 , 32 );
4104
4104
ctmp2 [31 ] = 1 ;
4105
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , NULL , ctmp2 ) == 0 );
4105
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , NULL , ctmp2 ) == 0 );
4106
4106
CHECK (ecount == 1 );
4107
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , ctmp , NULL ) == 0 );
4107
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , ctmp , NULL ) == 0 );
4108
4108
CHECK (ecount == 2 );
4109
4109
ecount = 0 ;
4110
4110
CHECK (secp256k1_ec_pubkey_create (ctx , NULL , ctmp ) == 0 );
@@ -4184,26 +4184,31 @@ void run_eckey_negate_test(void) {
4184
4184
random_scalar_order_b32 (seckey );
4185
4185
memcpy (seckey_tmp , seckey , 32 );
4186
4186
4187
- /* Verify negation changes the key and changes it back */
4188
- CHECK (secp256k1_ec_privkey_negate (ctx , seckey ) == 1 );
4187
+ /* Verify negation changes the key and changes it back */
4188
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 1 );
4189
4189
CHECK (memcmp (seckey , seckey_tmp , 32 ) != 0 );
4190
- CHECK (secp256k1_ec_privkey_negate (ctx , seckey ) == 1 );
4190
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 1 );
4191
+ CHECK (memcmp (seckey , seckey_tmp , 32 ) == 0 );
4192
+
4193
+ /* Check that privkey alias gives same result */
4194
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 1 );
4195
+ CHECK (secp256k1_ec_privkey_negate (ctx , seckey_tmp ) == 1 );
4191
4196
CHECK (memcmp (seckey , seckey_tmp , 32 ) == 0 );
4192
4197
4193
- /* Negating all 0s fails */
4198
+ /* Negating all 0s fails */
4194
4199
memset (seckey , 0 , 32 );
4195
4200
memset (seckey_tmp , 0 , 32 );
4196
- CHECK (secp256k1_ec_privkey_negate (ctx , seckey ) == 0 );
4201
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 0 );
4197
4202
/* Check that seckey is not modified */
4198
4203
CHECK (memcmp (seckey , seckey_tmp , 32 ) == 0 );
4199
4204
4200
4205
/* Negating an overflowing seckey fails and the seckey is zeroed. In this
4201
- * test, the seckey has 16 random bytes to ensure that ec_privkey_negate
4206
+ * test, the seckey has 16 random bytes to ensure that ec_seckey_negate
4202
4207
* doesn't just set seckey to a constant value in case of failure. */
4203
4208
random_scalar_order_b32 (seckey );
4204
4209
memset (seckey , 0xFF , 16 );
4205
4210
memset (seckey_tmp , 0 , 32 );
4206
- CHECK (secp256k1_ec_privkey_negate (ctx , seckey ) == 0 );
4211
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 0 );
4207
4212
CHECK (memcmp (seckey , seckey_tmp , 32 ) == 0 );
4208
4213
}
4209
4214
@@ -4346,15 +4351,22 @@ void test_ecdsa_end_to_end(void) {
4346
4351
if (secp256k1_rand_int (3 ) == 0 ) {
4347
4352
int ret1 ;
4348
4353
int ret2 ;
4354
+ int ret3 ;
4349
4355
unsigned char rnd [32 ];
4356
+ unsigned char privkey_tmp [32 ];
4350
4357
secp256k1_pubkey pubkey2 ;
4351
4358
secp256k1_rand256_test (rnd );
4352
- ret1 = secp256k1_ec_privkey_tweak_add (ctx , privkey , rnd );
4359
+ memcpy (privkey_tmp , privkey , 32 );
4360
+ ret1 = secp256k1_ec_seckey_tweak_add (ctx , privkey , rnd );
4353
4361
ret2 = secp256k1_ec_pubkey_tweak_add (ctx , & pubkey , rnd );
4362
+ /* Check that privkey alias gives same result */
4363
+ ret3 = secp256k1_ec_privkey_tweak_add (ctx , privkey_tmp , rnd );
4354
4364
CHECK (ret1 == ret2 );
4365
+ CHECK (ret2 == ret3 );
4355
4366
if (ret1 == 0 ) {
4356
4367
return ;
4357
4368
}
4369
+ CHECK (memcmp (privkey , privkey_tmp , 32 ) == 0 );
4358
4370
CHECK (secp256k1_ec_pubkey_create (ctx , & pubkey2 , privkey ) == 1 );
4359
4371
CHECK (memcmp (& pubkey , & pubkey2 , sizeof (pubkey )) == 0 );
4360
4372
}
@@ -4363,15 +4375,22 @@ void test_ecdsa_end_to_end(void) {
4363
4375
if (secp256k1_rand_int (3 ) == 0 ) {
4364
4376
int ret1 ;
4365
4377
int ret2 ;
4378
+ int ret3 ;
4366
4379
unsigned char rnd [32 ];
4380
+ unsigned char privkey_tmp [32 ];
4367
4381
secp256k1_pubkey pubkey2 ;
4368
4382
secp256k1_rand256_test (rnd );
4369
- ret1 = secp256k1_ec_privkey_tweak_mul (ctx , privkey , rnd );
4383
+ memcpy (privkey_tmp , privkey , 32 );
4384
+ ret1 = secp256k1_ec_seckey_tweak_mul (ctx , privkey , rnd );
4370
4385
ret2 = secp256k1_ec_pubkey_tweak_mul (ctx , & pubkey , rnd );
4386
+ /* Check that privkey alias gives same result */
4387
+ ret3 = secp256k1_ec_privkey_tweak_mul (ctx , privkey_tmp , rnd );
4371
4388
CHECK (ret1 == ret2 );
4389
+ CHECK (ret2 == ret3 );
4372
4390
if (ret1 == 0 ) {
4373
4391
return ;
4374
4392
}
4393
+ CHECK (memcmp (privkey , privkey_tmp , 32 ) == 0 );
4375
4394
CHECK (secp256k1_ec_pubkey_create (ctx , & pubkey2 , privkey ) == 1 );
4376
4395
CHECK (memcmp (& pubkey , & pubkey2 , sizeof (pubkey )) == 0 );
4377
4396
}
0 commit comments