Pieter Wuille
5324f8942d
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.
2021-10-30 13:03:55 -04:00
Jonas Nick
297ce82091
Merge bitcoin-core/secp256k1#966 : Make aux_rand32 arg to secp256k1_schnorrsig_sign const
...
db4667d5e0e13d1359991379df3400f64918b4e8 Make aux_rand32 arg to secp256k1_schnorrsig_sign const (Pieter Wuille)
Pull request description:
ACKs for top commit:
real-or-random:
ACK db4667d5e0e13d1359991379df3400f64918b4e8 diff looks good
jonasnick:
ACK db4667d5e0e13d1359991379df3400f64918b4e8
Tree-SHA512: 6f003c856b0e11f3f41f6d8007470129f02f9075416c6a5d3904f8efb5fa461f38e600a6b31d326314b2961946c8c6b3bca1a8e9b333b52e099a6f023a04c698
2021-10-15 15:57:23 +00:00
Pieter Wuille
db4667d5e0
Make aux_rand32 arg to secp256k1_schnorrsig_sign const
2021-09-11 10:05:14 -04:00
Russell O'Connor
6815761cf5
Remove ecmult_context.
...
These tables stored in this context are now statically available from the generated ecmult_static_pre_g.h file.
2021-08-20 11:11:26 -04:00
Tim Ruffing
f698caaff6
Use unsigned char consistently for byte arrays
...
C++ does not allow initialization with string literals but we do it in other
places and -fpermissive will convince g++ to compile.
2021-07-04 11:37:06 +02:00
Tim Ruffing
2cc3cfa583
Fix -Wmissing-braces warning in clang
2021-07-04 02:01:44 +02:00
Jonas Nick
fdd06b7967
schnorrsig: add tests for sign_custom and varlen msg verification
2021-06-27 20:26:15 +00:00
Jonas Nick
d8d806aaf3
schnorrsig: add extra parameter struct for sign_custom
...
This simplifies the interface of sign_custom and allows adding more parameters
later in a backward compatible way.
2021-06-27 20:26:15 +00:00
Jonas Nick
a0c3fc177f
schnorrsig: allow signing and verification of variable length msgs
...
Varlen message support for the default sign function comes from recommending
tagged_sha256. sign_custom on the other hand gets the ability to directly sign
message of any length. This also implies signing and verification support for
the empty message (NULL) with msglen 0.
Tests for variable lengths follow in a later commit.
2021-06-27 20:26:15 +00:00
Jonas Nick
b6c0b72fb0
schnorrsig: remove noncefp args from sign; add sign_custom function
...
This makes the default sign function easier to use while allowing more granular
control through sign_custom.
Tests for sign_custom follow in a later commit.
2021-06-27 20:26:15 +00:00
Jonas Nick
442cee5baf
schnorrsig: add algolen argument to nonce_function_hardened
...
This avoids having to remove trailing NUL bytes in the nonce function
2021-05-28 11:40:52 +00:00
William Bright
3c90bdda95
change local lib headers to be relative for those pointing at "include/" dir
...
added relative paths to header files imported from src directory
added include guards for contrib/ files when referring to secp256k1.h
2021-05-05 09:24:05 -04:00
Gregory Maxwell
99e2d5be0d
Avoids a missing brace warning in schnorrsig/tests_impl.h on old compilers.
...
GCC 4.9.2, at least, emits "warning: missing braces around initializer"
without this.
2021-05-02 20:02:12 +00:00
Russell O'Connor
fb390c5299
Remove underscores from header defs.
...
This makes them consistent with other files and avoids reserved identifiers.
2021-01-23 14:48:35 -05:00
Dimitris Apostolou
07aa4c70ff
Fix insecure links
2020-12-18 00:24:22 +02:00
Tim Ruffing
6173839c90
Switch to our own memcmp function
...
Fixes #823 .
2020-10-11 10:39:20 -07:00
Pieter Wuille
a45c1fa63c
Rename testrand functions to have test in name
2020-09-25 20:50:43 -07:00
Jonas Nick
16ffa9d97c
schnorrsig: Add taproot test case
2020-09-06 19:00:08 +00:00
Jonas Nick
4e43520026
schnorrsig: Add BIP-340 compatible signing and verification
2020-09-06 19:00:03 +00:00
Jonas Nick
7332d2db6b
schnorrsig: Add BIP-340 nonce function
2020-09-06 19:00:03 +00:00
Jonas Nick
7a703fd97d
schnorrsig: Init empty experimental module
2020-09-06 19:00:03 +00:00