sipa
commented at 11:42 pm on October 12, 2015:
contributor
There are now 2 encoding formats supported: 64-byte “compact” and DER. The latter is strict: the data has to be exact DER, though the values inside don’t need to be valid.
This means that applications that need more than strict DER as input, it needs to have a parser itself. I wish there was a better solution, but there really isn’t. Any subset of BER to implement would be arbitrary, incompatible with many other applications anyway, or be very complex and nearly untestable. Despite that, a code snippet to do so (with extensive testing) is included in the contrib/ directory now.
Finally, by default, we now require non-malleable signatures (by requiring the lower-S form), but a separate function is provided to normalize a signature before verification if needed.
sipa force-pushed
on Oct 12, 2015
sipa force-pushed
on Oct 13, 2015
sipa force-pushed
on Oct 14, 2015
sipa force-pushed
on Oct 14, 2015
sipa
commented at 4:02 pm on October 14, 2015:
contributor
Added a commit that introduces a snippet for lax DER parsing (tested!).
sipa force-pushed
on Oct 17, 2015
sipa
commented at 8:01 pm on October 17, 2015:
contributor
sipa
commented at 4:00 pm on October 19, 2015:
contributor
Added a certainly_not_der as output from the BER generator, and tests using it.
Improve testrand: add extra random functions
This commit adds functions:
* secp256k1_rand_bits, which works like secp256k1_rand32, but consumes
less randomness
* secp256k1_rand_int, which produces a uniform integer over any range
* secp256k1_rand_bytes_test, which works like secp256k1_rand256_test
but for arbitrary byte array
Add new tests for the extra testrand functions49b374985d
Use secp256k1_rand_int and secp256k1_rand_bits more
Update the unit tests to make use of the new RNG functions.
fa57f1bdf1
Rewrite ECDSA signature parsing code
There are now 2 encoding formats supported: 64-byte "compact" and DER.
The latter is strict: the data has to be exact DER, though the values
inside don't need to be valid.
3bb9c44719
Add contrib/lax_der_parsing.h
This shows a snippet of code to do lax DER parsing, without obeying to any
particular standard.
fea19e7bb7
Introduce explicit lower-S normalization
ECDSA signature verification now requires normalized signatures (with S in the
lower half of the range). In case the input cannot be guaranteed to provide this,
a new function secp256k1_ecdsa_signature_normalize is provided to preprocess it.
This is a metadata mirror of the GitHub repository
bitcoin-core/secp256k1.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2024-11-25 07:15 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me