Make aux_rnd32==NULL behave identical to 0x0000..00.

BIP340's default signing algorithm always requires an aux_rnd argument,
but permits using an all-zero one when no randomness is available.

Make secp256k1_schnorrsig_sign follow this even when aux_rnd32==NULL,
by treating the same as if an all-zero byte array was provided as
input.
This commit is contained in:
Pieter Wuille
2021-10-30 13:03:55 -04:00
parent 21c188b3c5
commit 5324f8942d
3 changed files with 20 additions and 9 deletions

View File

@@ -111,7 +111,8 @@ typedef struct {
* In: msg32: the 32-byte message being signed.
* keypair: pointer to an initialized keypair.
* aux_rand32: 32 bytes of fresh randomness. While recommended to provide
* this, it is only supplemental to security and can be NULL. See
* this, it is only supplemental to security and can be NULL. A
* NULL argument is treated the same as an all-zero one. See
* BIP-340 "Default Signing" for a full explanation of this
* argument and for guidance if randomness is expensive.
*/