1047 Commits

Author SHA1 Message Date
Jonas Nick
6a57be09e3 Require message in musig protocol in an earlier state. In particular,
remove the set_msg function and require the message in get_public_nonce
at the latest.
2019-07-09 11:33:13 +00:00
Jonas Nick
57ce5882ad Fix my_index in musig state machine tests 2019-07-09 09:47:56 +00:00
Andrew Poelstra
e3a10f4677
Merge pull request #74 from jonasnick/sig_combine_tweak
Add tweak32 parameter to musig_partial_sig_combine
2019-07-03 22:02:15 +00:00
Tim Ruffing
8df2c952f1
Merge pull request #75 from jonasnick/musig-travis
Add musig module to travis
2019-07-03 01:21:06 +02:00
Jonas Nick
a0a4b4212c Add tweak32 parameter to musig_partial_sig_combine which allows to sign for p2c/taproot commitments 2019-07-02 18:31:12 +00:00
Jonas Nick
996e84c4cd Add musig module tests to travis 2019-06-25 12:35:24 +00:00
Tim Ruffing
11af7015de
Merge pull request #58 from jonasnick/schnorrsig-fix
Add fixups from upstream schnorrsig PR
2019-06-25 14:31:15 +02:00
Jonas Nick
cb8f059724 Add fixups from upstream schnorrsig PR
f make helper functions static
f hash noncedata into nonce in nonce_function_bipschnorr
f expose nonce_function_bipschnorr
f fix undefined behavior when shifting an int 31 places
f add cplusplus ifdef to schnorrsig include file
f hash complete pubkey into batch seed
f chacha20 for bigendians
f add schnorrsig to travis
f show in configure if schnorrsig is enabled
2019-06-25 12:20:06 +00:00
Jonas Nick
2f6c3353ab
Merge pull request #72 from jonasnick/fix-upstream-rebase
Fix schnorrsig and musig modules after rebase
2019-06-21 12:28:15 +00:00
Jonas Nick
99e1fb271c Fix musig module after rebase on upstream e541a90e 2019-06-21 09:11:57 +00:00
Jonas Nick
6303e3b0ca Fix schnorrsig module after rebase on upstream e541a90e 2019-06-21 09:11:54 +00:00
Andrew Poelstra
44db4d801f
Merge pull request #57 from apoelstra/2019-04-surjectionproof-stack
surjectionproof: reduce stack usage and limit proofs to anonymity set of 16
2019-06-06 09:29:39 +00:00
Tim Ruffing
f7e4d08dae surjection proof: Reject proofs with too many used inputs in reduced mode 2019-06-05 12:25:34 +02:00
Roman Zeyde
112edb2c6a allow reducing surjection proof size (to lower generation stack usage) 2019-06-04 16:37:48 +00:00
Andrew Poelstra
d512d78653 surjectionproof: introduce SECP256K1_SURJECTIONPROOF_MAX_USED_INPUTS constant and set it to 16 2019-06-04 16:37:48 +00:00
Andrew Poelstra
a118acc02b surjectionproof: reduce stack usage 2019-06-04 16:37:48 +00:00
Andrew Poelstra
e7f4ff4c62
Merge pull request #70 from apoelstra/2019-06-surjection-count
surjectionproof: fix malleability in surjection proof parsing
2019-06-04 16:35:35 +00:00
Andrew Poelstra
f94d46e652
Merge pull request #71 from real-or-random/fix-trailing-test
Fix read of wrong buffer (and OOB) in surjectionproof tests
2019-06-04 15:46:56 +00:00
Andrew Poelstra
49a1e01731 surjectionproof: fix malleability in surjection proof parsing 2019-06-04 15:44:47 +00:00
Tim Ruffing
55311b0e03 Fix read of wrong buffer (and OOB) in surjectionproof tests 2019-06-04 14:33:08 +02:00
Andrew Poelstra
290a27bb75 surjectionproof: add test vectors for "set padding bits" 2019-06-03 21:45:48 +00:00
Andrew Poelstra
7bc3daa482 surjectionproof: add fixed test vectors 2019-06-03 21:20:21 +00:00
Dmitry Petukhov
6f3b0c05c2 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'.
2019-05-30 14:08:30 +00:00
Dmitry Petukhov
250ebb364e work in progress: add _allocate_initialized/destroy funcs 2019-05-30 14:08:30 +00:00
Jonas Nick
4a7763361d Improve explanation of key cancellation attack in whitelist.md 2019-05-30 14:08:30 +00:00
Jonas Nick
898c9f05bb Clarify how to derive alternative generator H 2019-05-30 14:08:30 +00:00
Roman Zeyde
15d92782d3 Add bench_generator and bench_rangeproof to .gitignore 2019-05-30 14:08:30 +00:00
Tim Ruffing
86240b207d Clean up ./configure help strings (zkp extensions) 2019-05-30 14:08:30 +00:00
Roman Zeyde
865b76186c Fix a small typo in the generator parameter name 2019-05-30 14:08:30 +00:00
Andrew Poelstra
cd5ba5c3b9 generator: remove CHECK abort calls exposed by public API 2019-05-30 14:08:30 +00:00
Andrew Poelstra
ff16651273 musig: add user documentation 2019-05-30 14:08:21 +00:00
Jonas Nick
0ad6b6036f Add 3-of-3 MuSig example 2019-05-30 14:04:38 +00:00
Jonas Nick
b61a1a9d98 Add MuSig module which allows creating n-of-n multisignatures and adaptor signatures. 2019-05-30 14:04:38 +00:00
Andrew Poelstra
5d5374f92c 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
2019-05-30 14:04:38 +00:00
Andrew Poelstra
a8ae6baff3 add chacha20 function 2019-05-30 14:04:38 +00:00
Gregory Sanders
9a8a71e8bb use proper types for rangeproof min/max 2019-05-30 14:04:38 +00:00
Andrew Poelstra
14769b9648 rangeproof: reduce iteration count in unit tests 2019-05-30 14:04:38 +00:00
Gregory Sanders
0593861cc5 Enable more builds with rest of experimental flags 2019-05-30 14:04:38 +00:00
Jonas Nick
e9fea74278 Add explanation about how BIP32 unhardened derivation can be used to simplify whitelisting 2019-05-30 14:04:38 +00:00
Jonas Nick
dec1b9ce27 Add comment to explain effect of max_n_iterations in surjectionproof_init 2019-05-30 14:04:38 +00:00
Andrew Poelstra
ea62bfe221 add unit test for generator and pedersen commitment roundtripping 2019-05-30 14:04:38 +00:00
Andrew Poelstra
e32924f0ee rangeproof: fix serialization of pedersen commintments 2019-05-30 14:04:38 +00:00
Andrew Poelstra
972d056fac rangeproof: verify correctness of pedersen commitments when parsing 2019-05-30 14:04:38 +00:00
Andrew Poelstra
2cc4c6fef1 generator: verify correctness of point when parsing 2019-05-30 14:04:38 +00:00
Andrew Poelstra
65ffea43d5 rangeproof: check that points deserialize correctly when verifying rangeproof 2019-05-30 14:04:38 +00:00
Andrew Poelstra
cb786d6d1a rangeproof: add fixed vector test case 2019-05-30 14:04:38 +00:00
Frank V. Castellucci
b387ba0389 Expose generator in shared library
Was failing linking to `*.so` library
2019-05-30 14:04:38 +00:00
Gregory Sanders
8da432855c fix spelling in documentation 2019-05-30 14:04:38 +00:00
Tim Ruffing
6f14fe40d9 Test for rejection of trailing bytes in range proofs 2019-05-30 14:04:38 +00:00
Tim Ruffing
ab4fbc1be8 Test for rejection of trailing bytes in surjection proofs 2019-05-30 14:04:38 +00:00