Andrew Poelstra
56f69d979f
surjectionproof: introduce SECP256K1_SURJECTIONPROOF_MAX_USED_INPUTS
constant and set it to 16
2020-07-24 14:59:36 +02:00
Andrew Poelstra
b8a3ff5f3b
surjectionproof: reduce stack usage
2020-07-24 14:59:36 +02:00
Andrew Poelstra
68d937fe11
surjectionproof: fix malleability in surjection proof parsing
2020-07-24 14:59:36 +02:00
Andrew Poelstra
41bc9ce129
surjectionproof: add test vectors for "set padding bits"
2020-07-24 14:59:36 +02:00
Andrew Poelstra
b0644d4ab3
surjectionproof: add fixed test vectors
2020-07-24 14:59:36 +02:00
Tim Ruffing
c0415eb0cb
Fix read of wrong buffer (and OOB) in surjectionproof tests
2020-07-24 14:59:36 +02:00
Dmitry Petukhov
00fffeb172
Improve comments for surctionproof init+alloc/destroy funcs
...
The comments with 'XXX' was intended to indicate that the listed
concerns was subject to review and change, but the code with these
comments was merged straight away. This commit replaces comments
with more complete text describing the issues.
This also signifies that the commit that this code was introduced in is
not anymore 'work in progress'.
2020-07-24 14:59:36 +02:00
Dmitry Petukhov
2dc868f35b
work in progress: add _allocate_initialized/destroy funcs
2020-07-24 14:59:36 +02:00
Jonas Nick
0d4ee3c62d
Improve explanation of key cancellation attack in whitelist.md
2020-07-24 14:59:36 +02:00
Jonas Nick
2a1750dedd
Clarify how to derive alternative generator H
2020-07-24 14:59:36 +02:00
Roman Zeyde
ed7394f005
Add bench_generator and bench_rangeproof to .gitignore
2020-07-24 14:59:36 +02:00
Tim Ruffing
9dd117fd2b
Clean up ./configure help strings (zkp extensions)
2020-07-24 14:59:36 +02:00
Roman Zeyde
f35b5e271f
Fix a small typo in the generator parameter name
2020-07-24 14:59:36 +02:00
Andrew Poelstra
068f03c35b
generator: remove CHECK
abort calls exposed by public API
2020-07-24 14:59:36 +02:00
Andrew Poelstra
3424cb1fa3
musig: add user documentation
2020-07-24 14:59:36 +02:00
Jonas Nick
13ef445721
Add 3-of-3 MuSig example
2020-07-24 14:59:36 +02:00
Jonas Nick
b86c210747
Add MuSig module which allows creating n-of-n multisignatures and adaptor signatures.
2020-07-24 14:59:36 +02:00
Andrew Poelstra
c59c602dd6
Add schnorrsig module which implements BIP-schnorr [0] compatible signing, verification and batch verification.
...
[0] https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki
2020-07-24 14:59:36 +02:00
Andrew Poelstra
a1f16a0a53
add chacha20 function
2020-07-24 14:50:49 +02:00
Gregory Sanders
3cdc02ef8a
use proper types for rangeproof min/max
2020-07-24 14:50:49 +02:00
Andrew Poelstra
cf21c9d715
rangeproof: reduce iteration count in unit tests
2020-07-24 14:50:49 +02:00
Gregory Sanders
0dfb356f95
Enable more builds with rest of experimental flags
2020-07-24 14:50:49 +02:00
Jonas Nick
4c231568fb
Add explanation about how BIP32 unhardened derivation can be used to simplify whitelisting
2020-07-24 14:50:49 +02:00
Jonas Nick
f416e039bb
Add comment to explain effect of max_n_iterations in surjectionproof_init
2020-07-24 14:50:49 +02:00
Andrew Poelstra
936d62f248
add unit test for generator and pedersen commitment roundtripping
2020-07-24 14:50:48 +02:00
Andrew Poelstra
e06540de8c
rangeproof: fix serialization of pedersen commintments
2020-07-24 14:50:48 +02:00
Andrew Poelstra
edb879f578
rangeproof: verify correctness of pedersen commitments when parsing
2020-07-24 14:50:48 +02:00
Andrew Poelstra
fca4c3b62f
generator: verify correctness of point when parsing
2020-07-24 14:50:48 +02:00
Andrew Poelstra
c50b218698
rangeproof: check that points deserialize correctly when verifying rangeproof
2020-07-24 14:50:48 +02:00
Andrew Poelstra
c33e597245
rangeproof: add fixed vector test case
2020-07-24 14:50:48 +02:00
Frank V. Castellucci
0c5cb7cd08
Expose generator in shared library
...
Was failing linking to `*.so` library
2020-07-24 14:50:48 +02:00
Gregory Sanders
dbc49df80c
fix spelling in documentation
2020-07-24 14:50:48 +02:00
Tim Ruffing
47be098bac
Test for rejection of trailing bytes in range proofs
2020-07-24 14:50:48 +02:00
Tim Ruffing
16aaa4a02c
Test for rejection of trailing bytes in surjection proofs
2020-07-24 14:50:48 +02:00
Tim Ruffing
949e994cb3
Reject surjection proofs with trailing garbage
2020-07-24 14:50:48 +02:00
datavetaren
c87618157e
Minor bugfix. Wrong length due to NUL character.
2020-07-24 14:50:48 +02:00
Jonas Nick
fc3dc94049
Add whitelisting benchmark
2020-07-24 14:50:48 +02:00
Gregory Sanders
edc7cb6cdd
add whitelist_impl.h to include for dist
2020-07-24 14:49:33 +02:00
Andrew Poelstra
4320490e88
generator: add API tests
2020-07-24 14:49:33 +02:00
Andrew Poelstra
126493ef01
generator: remove unnecessary ARG_CHECK from generate()
2020-07-24 14:49:33 +02:00
Gregory Sanders
253f131310
Fix generator makefile
...
Include test_impl.h
2020-07-24 14:49:33 +02:00
Jonas Nick
3997128ad9
Fix pedersen_blind_generator_blind_sum return value documentation
2020-07-24 14:49:33 +02:00
Jonas Nick
04f4c09111
Add n_keys argument to whitelist_verify
2020-07-24 14:49:33 +02:00
Jonas Nick
dbf3d752a8
Fix checks of whitelist serialize/parse arguments
2020-07-24 14:49:33 +02:00
Andrew Poelstra
29d0d562dc
whitelist: fix serialize/parse API to take serialized length
2020-07-24 14:49:33 +02:00
Jonas Nick
660ad39fb3
Fix include/secp256k1_rangeproof.h function argument documentation.
2020-07-24 14:49:33 +02:00
Andrew Poelstra
e13bdf2f23
rangeproof: add API tests
2020-07-24 14:49:33 +02:00
Andrew Poelstra
18c5c62b45
surjectionproof: rename unit test functions to be more consistent with other modules
2020-07-24 14:49:33 +02:00
Andrew Poelstra
5f1ad03d00
surjectionproof: add API unit tests
2020-07-24 14:49:33 +02:00
Andrew Poelstra
f858a4e3d5
surjectionproof: tests_impl.h s/assert/CHECK/g
2020-07-24 14:49:33 +02:00