5
5
#include "src/hash.h"
6
6
#include "src/modules/batch/main_impl.h"
7
7
8
- static void secp256k1_batch_add_xonlypub_tweak_check_randomizer_gen (unsigned char * randomizer32 , secp256k1_sha256 * sha256 , const unsigned char * tweaked_pubkey32 , int tweaked_pk_parity , const unsigned char * internal_pk33 , const unsigned char * tweak32 ) {
8
+ static void secp256k1_batch_xonlypub_tweak_randomizer_gen (unsigned char * randomizer32 , secp256k1_sha256 * sha256 , const unsigned char * tweaked_pubkey32 , const unsigned char * tweaked_pk_parity , const unsigned char * internal_pk33 , const unsigned char * tweak32 ) {
9
9
secp256k1_sha256 sha256_cpy ;
10
- unsigned char parity = (unsigned char ) tweaked_pk_parity ;
11
10
12
11
/* add tweaked pubkey check data to sha object */
13
12
secp256k1_sha256_write (sha256 , tweaked_pubkey32 , 32 );
14
- secp256k1_sha256_write (sha256 , & parity , sizeof ( parity ) );
13
+ secp256k1_sha256_write (sha256 , tweaked_pk_parity , 1 );
15
14
secp256k1_sha256_write (sha256 , tweak32 , 32 );
16
15
secp256k1_sha256_write (sha256 , internal_pk33 , 33 );
17
16
@@ -20,10 +19,11 @@ static void secp256k1_batch_add_xonlypub_tweak_check_randomizer_gen(unsigned cha
20
19
secp256k1_sha256_finalize (& sha256_cpy , randomizer32 );
21
20
}
22
21
23
- static int secp256k1_batch_add_xonlypub_tweak_check_randomizer_set (const secp256k1_context * ctx , secp256k1_batch * batch , secp256k1_scalar * r , const unsigned char * tweaked_pubkey32 , int tweaked_pk_parity , const secp256k1_xonly_pubkey * internal_pubkey ,const unsigned char * tweak32 ) {
22
+ static int secp256k1_batch_xonlypub_tweak_randomizer_set (const secp256k1_context * ctx , secp256k1_batch * batch , secp256k1_scalar * r , const unsigned char * tweaked_pubkey32 , int tweaked_pk_parity , const secp256k1_xonly_pubkey * internal_pubkey ,const unsigned char * tweak32 ) {
24
23
unsigned char randomizer [32 ];
25
24
unsigned char internal_buf [33 ];
26
25
size_t internal_buflen = sizeof (internal_buf );
26
+ unsigned char parity = (unsigned char ) tweaked_pk_parity ;
27
27
int overflow ;
28
28
29
29
/* We use compressed serialization here. If we would use
@@ -34,7 +34,7 @@ static int secp256k1_batch_add_xonlypub_tweak_check_randomizer_set(const secp256
34
34
return 0 ;
35
35
}
36
36
37
- secp256k1_batch_add_xonlypub_tweak_check_randomizer_gen (randomizer , & batch -> sha256 , tweaked_pubkey32 , tweaked_pk_parity , internal_buf , tweak32 );
37
+ secp256k1_batch_xonlypub_tweak_randomizer_gen (randomizer , & batch -> sha256 , tweaked_pubkey32 , & parity , internal_buf , tweak32 );
38
38
secp256k1_scalar_set_b32 (r , randomizer , & overflow );
39
39
VERIFY_CHECK (overflow == 0 );
40
40
@@ -117,7 +117,9 @@ int secp256k1_batch_add_xonlypub_tweak_check(const secp256k1_context* ctx, secp2
117
117
secp256k1_gej_set_ge (& batch -> points [i + 1 ], & pk );
118
118
119
119
/* Compute ai */
120
- secp256k1_batch_add_xonlypub_tweak_check_randomizer_set (ctx , batch , & ai , tweaked_pubkey32 , tweaked_pk_parity , internal_pubkey , tweak32 );
120
+ if (!secp256k1_batch_xonlypub_tweak_randomizer_set (ctx , batch , & ai , tweaked_pubkey32 , tweaked_pk_parity , internal_pubkey , tweak32 )) {
121
+ return 0 ;
122
+ }
121
123
122
124
/* append scalars -ai, ai respectively to scratch space */
123
125
secp256k1_scalar_negate (& tmp , & ai );
0 commit comments