@@ -200,7 +200,7 @@ static void secp256k1_hmac_sha256_finalize(secp256k1_hmac_sha256_t *hash, unsign
200200}
201201
202202
203- static void secp256k1_rfc6979_hmac_sha256_initialize (secp256k1_rfc6979_hmac_sha256_t * rng , const unsigned char * key , size_t keylen , const unsigned char * msg , size_t msglen ) {
203+ static void secp256k1_rfc6979_hmac_sha256_initialize (secp256k1_rfc6979_hmac_sha256_t * rng , const unsigned char * key , size_t keylen , const unsigned char * msg , size_t msglen , const unsigned char * rnd , size_t rndlen ) {
204204 secp256k1_hmac_sha256_t hmac ;
205205 static const unsigned char zero [1 ] = {0x00 };
206206 static const unsigned char one [1 ] = {0x01 };
@@ -213,6 +213,9 @@ static void secp256k1_rfc6979_hmac_sha256_initialize(secp256k1_rfc6979_hmac_sha2
213213 secp256k1_hmac_sha256_write (& hmac , zero , 1 );
214214 secp256k1_hmac_sha256_write (& hmac , key , keylen );
215215 secp256k1_hmac_sha256_write (& hmac , msg , msglen );
216+ if (rnd && rndlen ) {
217+ secp256k1_hmac_sha256_write (& hmac , rnd , rndlen );
218+ }
216219 secp256k1_hmac_sha256_finalize (& hmac , rng -> k );
217220 secp256k1_hmac_sha256_initialize (& hmac , rng -> k , 32 );
218221 secp256k1_hmac_sha256_write (& hmac , rng -> v , 32 );
@@ -223,6 +226,9 @@ static void secp256k1_rfc6979_hmac_sha256_initialize(secp256k1_rfc6979_hmac_sha2
223226 secp256k1_hmac_sha256_write (& hmac , one , 1 );
224227 secp256k1_hmac_sha256_write (& hmac , key , keylen );
225228 secp256k1_hmac_sha256_write (& hmac , msg , msglen );
229+ if (rnd && rndlen ) {
230+ secp256k1_hmac_sha256_write (& hmac , rnd , rndlen );
231+ }
226232 secp256k1_hmac_sha256_finalize (& hmac , rng -> k );
227233 secp256k1_hmac_sha256_initialize (& hmac , rng -> k , 32 );
228234 secp256k1_hmac_sha256_write (& hmac , rng -> v , 32 );
0 commit comments