@@ -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 );
@@ -4006,20 +4006,20 @@ void run_eckey_edge_case_test(void) {
4006
4006
memset (ctmp2 , 0 , 32 );
4007
4007
ctmp2 [31 ] = 0x01 ;
4008
4008
CHECK (secp256k1_ec_seckey_verify (ctx , ctmp2 ) == 1 );
4009
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp , ctmp2 ) == 0 );
4009
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp , ctmp2 ) == 0 );
4010
4010
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4011
4011
memcpy (ctmp , orderc , 32 );
4012
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , ctmp , ctmp2 ) == 0 );
4012
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , ctmp , ctmp2 ) == 0 );
4013
4013
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4014
4014
/* If seckey_tweak_add or seckey_tweak_mul are called with an overflowing
4015
4015
tweak, the seckey is zeroized. */
4016
4016
memcpy (ctmp , orderc , 32 );
4017
4017
ctmp [31 ] = 0x40 ;
4018
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp , orderc ) == 0 );
4018
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp , orderc ) == 0 );
4019
4019
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4020
4020
memcpy (ctmp , orderc , 32 );
4021
4021
ctmp [31 ] = 0x40 ;
4022
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , ctmp , orderc ) == 0 );
4022
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , ctmp , orderc ) == 0 );
4023
4023
CHECK (memcmp (zeros , ctmp , 32 ) == 0 );
4024
4024
memcpy (ctmp , orderc , 32 );
4025
4025
ctmp [31 ] = 0x40 ;
@@ -4033,15 +4033,15 @@ void run_eckey_edge_case_test(void) {
4033
4033
memcpy (& pubkey , & pubkey2 , sizeof (pubkey ));
4034
4034
/* Private key tweaks results in a key of zero. */
4035
4035
ctmp2 [31 ] = 1 ;
4036
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp2 , ctmp ) == 0 );
4036
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp2 , ctmp ) == 0 );
4037
4037
CHECK (memcmp (zeros , ctmp2 , 32 ) == 0 );
4038
4038
ctmp2 [31 ] = 1 ;
4039
4039
CHECK (secp256k1_ec_pubkey_tweak_add (ctx , & pubkey , ctmp2 ) == 0 );
4040
4040
CHECK (memcmp (& pubkey , zeros , sizeof (pubkey )) == 0 );
4041
4041
memcpy (& pubkey , & pubkey2 , sizeof (pubkey ));
4042
4042
/* Tweak computation wraps and results in a key of 1. */
4043
4043
ctmp2 [31 ] = 2 ;
4044
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp2 , ctmp ) == 1 );
4044
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp2 , ctmp ) == 1 );
4045
4045
CHECK (memcmp (ctmp2 , zeros , 31 ) == 0 && ctmp2 [31 ] == 1 );
4046
4046
ctmp2 [31 ] = 2 ;
4047
4047
CHECK (secp256k1_ec_pubkey_tweak_add (ctx , & pubkey , ctmp2 ) == 1 );
@@ -4089,16 +4089,16 @@ void run_eckey_edge_case_test(void) {
4089
4089
CHECK (ecount == 2 );
4090
4090
ecount = 0 ;
4091
4091
memset (ctmp2 , 0 , 32 );
4092
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , NULL , ctmp2 ) == 0 );
4092
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , NULL , ctmp2 ) == 0 );
4093
4093
CHECK (ecount == 1 );
4094
- CHECK (secp256k1_ec_privkey_tweak_add (ctx , ctmp , NULL ) == 0 );
4094
+ CHECK (secp256k1_ec_seckey_tweak_add (ctx , ctmp , NULL ) == 0 );
4095
4095
CHECK (ecount == 2 );
4096
4096
ecount = 0 ;
4097
4097
memset (ctmp2 , 0 , 32 );
4098
4098
ctmp2 [31 ] = 1 ;
4099
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , NULL , ctmp2 ) == 0 );
4099
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , NULL , ctmp2 ) == 0 );
4100
4100
CHECK (ecount == 1 );
4101
- CHECK (secp256k1_ec_privkey_tweak_mul (ctx , ctmp , NULL ) == 0 );
4101
+ CHECK (secp256k1_ec_seckey_tweak_mul (ctx , ctmp , NULL ) == 0 );
4102
4102
CHECK (ecount == 2 );
4103
4103
ecount = 0 ;
4104
4104
CHECK (secp256k1_ec_pubkey_create (ctx , NULL , ctmp ) == 0 );
@@ -4178,27 +4178,32 @@ void run_eckey_negate_test(void) {
4178
4178
random_scalar_order_b32 (seckey );
4179
4179
memcpy (seckey_tmp , seckey , 32 );
4180
4180
4181
- /* Verify negation changes the key and changes it back */
4182
- CHECK (secp256k1_ec_privkey_negate (ctx , seckey ) == 1 );
4181
+ /* Verify negation changes the key and changes it back */
4182
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 1 );
4183
4183
CHECK (memcmp (seckey , seckey_tmp , 32 ) != 0 );
4184
- CHECK (secp256k1_ec_privkey_negate (ctx , seckey ) == 1 );
4184
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 1 );
4185
+ CHECK (memcmp (seckey , seckey_tmp , 32 ) == 0 );
4186
+
4187
+ /* Check that privkey alias gives same result */
4188
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 1 );
4189
+ CHECK (secp256k1_ec_privkey_negate (ctx , seckey_tmp ) == 1 );
4185
4190
CHECK (memcmp (seckey , seckey_tmp , 32 ) == 0 );
4186
4191
4187
- /* Negating all 0s fails */
4192
+ /* Negating all 0s fails */
4188
4193
memset (seckey , 0 , 32 );
4189
4194
memset (seckey_tmp , 0 , 32 );
4190
- CHECK (secp256k1_ec_privkey_negate (ctx , seckey ) == 0 );
4195
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 0 );
4191
4196
/* Check that seckey is not modified */
4192
4197
CHECK (memcmp (seckey , seckey_tmp , 32 ) == 0 );
4193
4198
4194
4199
/* Negating an overflowing seckey fails and the seckey is not modified. In
4195
4200
* this test, the seckey has 16 random bytes to ensure that
4196
- * ec_privkey_negate doesn't just set seckey to a constant value in case of
4201
+ * ec_seckey_negate doesn't just set seckey to a constant value in case of
4197
4202
* failure.*/
4198
4203
random_scalar_order_b32 (seckey );
4199
4204
memset (seckey , 0xFF , 16 );
4200
4205
memcpy (seckey_tmp , seckey , 32 );
4201
- CHECK (secp256k1_ec_privkey_negate (ctx , seckey ) == 0 );
4206
+ CHECK (secp256k1_ec_seckey_negate (ctx , seckey ) == 0 );
4202
4207
CHECK (memcmp (seckey , seckey_tmp , 32 ) == 0 );
4203
4208
}
4204
4209
@@ -4341,15 +4346,22 @@ void test_ecdsa_end_to_end(void) {
4341
4346
if (secp256k1_rand_int (3 ) == 0 ) {
4342
4347
int ret1 ;
4343
4348
int ret2 ;
4349
+ int ret3 ;
4344
4350
unsigned char rnd [32 ];
4351
+ unsigned char privkey_tmp [32 ];
4345
4352
secp256k1_pubkey pubkey2 ;
4346
4353
secp256k1_rand256_test (rnd );
4347
- ret1 = secp256k1_ec_privkey_tweak_add (ctx , privkey , rnd );
4354
+ memcpy (privkey_tmp , privkey , 32 );
4355
+ ret1 = secp256k1_ec_seckey_tweak_add (ctx , privkey , rnd );
4348
4356
ret2 = secp256k1_ec_pubkey_tweak_add (ctx , & pubkey , rnd );
4357
+ /* Check that privkey alias gives same result */
4358
+ ret3 = secp256k1_ec_privkey_tweak_add (ctx , privkey_tmp , rnd );
4349
4359
CHECK (ret1 == ret2 );
4360
+ CHECK (ret2 == ret3 );
4350
4361
if (ret1 == 0 ) {
4351
4362
return ;
4352
4363
}
4364
+ CHECK (memcmp (privkey , privkey_tmp , 32 ) == 0 );
4353
4365
CHECK (secp256k1_ec_pubkey_create (ctx , & pubkey2 , privkey ) == 1 );
4354
4366
CHECK (memcmp (& pubkey , & pubkey2 , sizeof (pubkey )) == 0 );
4355
4367
}
@@ -4358,15 +4370,22 @@ void test_ecdsa_end_to_end(void) {
4358
4370
if (secp256k1_rand_int (3 ) == 0 ) {
4359
4371
int ret1 ;
4360
4372
int ret2 ;
4373
+ int ret3 ;
4361
4374
unsigned char rnd [32 ];
4375
+ unsigned char privkey_tmp [32 ];
4362
4376
secp256k1_pubkey pubkey2 ;
4363
4377
secp256k1_rand256_test (rnd );
4364
- ret1 = secp256k1_ec_privkey_tweak_mul (ctx , privkey , rnd );
4378
+ memcpy (privkey_tmp , privkey , 32 );
4379
+ ret1 = secp256k1_ec_seckey_tweak_mul (ctx , privkey , rnd );
4365
4380
ret2 = secp256k1_ec_pubkey_tweak_mul (ctx , & pubkey , rnd );
4381
+ /* Check that privkey alias gives same result */
4382
+ ret3 = secp256k1_ec_privkey_tweak_mul (ctx , privkey_tmp , rnd );
4366
4383
CHECK (ret1 == ret2 );
4384
+ CHECK (ret2 == ret3 );
4367
4385
if (ret1 == 0 ) {
4368
4386
return ;
4369
4387
}
4388
+ CHECK (memcmp (privkey , privkey_tmp , 32 ) == 0 );
4370
4389
CHECK (secp256k1_ec_pubkey_create (ctx , & pubkey2 , privkey ) == 1 );
4371
4390
CHECK (memcmp (& pubkey , & pubkey2 , sizeof (pubkey )) == 0 );
4372
4391
}
0 commit comments