-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes and improvements for the threshold writeup #11
base: 2019-01-threshold
Are you sure you want to change the base?
Commits on Dec 14, 2018
-
Configuration menu - View commit details
-
Copy full SHA for efc61dc - Browse repository at this point
Copy the full SHA efc61dcView commit details -
Pedersen commitments, borromean ring signatures, and ZK range proofs.
This commit adds three new cryptosystems to libsecp256k1: Pedersen commitments are a system for making blinded commitments to a value. Functionally they work like: commit_b,v = H(blind_b || value_v), except they are additively homorphic, e.g. C(b1, v1) - C(b2, v2) = C(b1 - b2, v1 - v2) and C(b1, v1) - C(b1, v1) = 0, etc. The commitments themselves are EC points, serialized as 33 bytes. In addition to the commit function this implementation includes utility functions for verifying that a set of commitments sums to zero, and for picking blinding factors that sum to zero. If the blinding factors are uniformly random, pedersen commitments have information theoretic privacy. Borromean ring signatures are a novel efficient ring signature construction for AND/OR admissions policies (the code here implements an AND of ORs, each of any size). This construction requires 32 bytes of signature per pubkey used plus 32 bytes of constant overhead. With these you can construct signatures like "Given pubkeys A B C D E F G, the signer knows the discrete logs satisifying (A || B) & (C || D || E) & (F || G)". ZK range proofs allow someone to prove a pedersen commitment is in a particular range (e.g. [0..2^64)) without revealing the specific value. The construction here is based on the above borromean ring signature and uses a radix-4 encoding and other optimizations to maximize efficiency. It also supports encoding proofs with a non-private base-10 exponent and minimum-value to allow trading off secrecy for size and speed (or just avoiding wasting space keeping data private that was already public due to external constraints). A proof for a 32-bit mantissa takes 2564 bytes, but 2048 bytes of this can be used to communicate a private message to a receiver who shares a secret random seed with the prover.
Configuration menu - View commit details
-
Copy full SHA for ae1e576 - Browse repository at this point
Copy the full SHA ae1e576View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d28767 - Browse repository at this point
Copy the full SHA 6d28767View commit details -
[RANGEPROOF BREAK] Use quadratic residue for tie break and modularity…
… cleanup Switch to secp256k1_pedersen_commitment by Andrew Poelstra. Switch to quadratic residue based disambiguation by Pieter Wuille.
Configuration menu - View commit details
-
Copy full SHA for cf40b1b - Browse repository at this point
Copy the full SHA cf40b1bView commit details -
rangeproof: expose sidechannel message field in the signing API
Including a fix by Jonas Nick.
Configuration menu - View commit details
-
Copy full SHA for d46fc3c - Browse repository at this point
Copy the full SHA d46fc3cView commit details -
Configuration menu - View commit details
-
Copy full SHA for f4620de - Browse repository at this point
Copy the full SHA f4620deView commit details -
Configuration menu - View commit details
-
Copy full SHA for 21bfb3c - Browse repository at this point
Copy the full SHA 21bfb3cView commit details -
rangeproof: several API changes
* add summing function for blinded generators * drop `excess` and `gen` from `verify_tally` * add extra_commit to rangeproof sign and verify
Configuration menu - View commit details
-
Copy full SHA for a2bc660 - Browse repository at this point
Copy the full SHA a2bc660View commit details -
Configuration menu - View commit details
-
Copy full SHA for c174f0c - Browse repository at this point
Copy the full SHA c174f0cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c17f79 - Browse repository at this point
Copy the full SHA 0c17f79View commit details -
Configuration menu - View commit details
-
Copy full SHA for e609591 - Browse repository at this point
Copy the full SHA e609591View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7878a29 - Browse repository at this point
Copy the full SHA 7878a29View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e2d5c1 - Browse repository at this point
Copy the full SHA 1e2d5c1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 417bb06 - Browse repository at this point
Copy the full SHA 417bb06View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d81702 - Browse repository at this point
Copy the full SHA 0d81702View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f17515 - Browse repository at this point
Copy the full SHA 7f17515View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b8a9d9 - Browse repository at this point
Copy the full SHA 9b8a9d9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 37c57de - Browse repository at this point
Copy the full SHA 37c57deView commit details -
Configuration menu - View commit details
-
Copy full SHA for b51886e - Browse repository at this point
Copy the full SHA b51886eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 526c654 - Browse repository at this point
Copy the full SHA 526c654View commit details -
Configuration menu - View commit details
-
Copy full SHA for b0e9aa8 - Browse repository at this point
Copy the full SHA b0e9aa8View commit details -
Configuration menu - View commit details
-
Copy full SHA for ec1ef04 - Browse repository at this point
Copy the full SHA ec1ef04View commit details -
Configuration menu - View commit details
-
Copy full SHA for a707865 - Browse repository at this point
Copy the full SHA a707865View commit details -
Configuration menu - View commit details
-
Copy full SHA for 52a9f8f - Browse repository at this point
Copy the full SHA 52a9f8fView commit details -
Configuration menu - View commit details
-
Copy full SHA for b1f31bc - Browse repository at this point
Copy the full SHA b1f31bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c77ae9 - Browse repository at this point
Copy the full SHA 0c77ae9View commit details -
Configuration menu - View commit details
-
Copy full SHA for a3a1800 - Browse repository at this point
Copy the full SHA a3a1800View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b2cf17 - Browse repository at this point
Copy the full SHA 9b2cf17View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb75faa - Browse repository at this point
Copy the full SHA fb75faaView commit details -
Configuration menu - View commit details
-
Copy full SHA for fb1ba32 - Browse repository at this point
Copy the full SHA fb1ba32View commit details -
Expose generator in shared library
Was failing linking to `*.so` library
Configuration menu - View commit details
-
Copy full SHA for e065d7d - Browse repository at this point
Copy the full SHA e065d7dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 44fe43d - Browse repository at this point
Copy the full SHA 44fe43dView commit details -
Configuration menu - View commit details
-
Copy full SHA for ae14e8a - Browse repository at this point
Copy the full SHA ae14e8aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 32d7526 - Browse repository at this point
Copy the full SHA 32d7526View commit details -
Configuration menu - View commit details
-
Copy full SHA for 60c173b - Browse repository at this point
Copy the full SHA 60c173bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ccf885 - Browse repository at this point
Copy the full SHA 2ccf885View commit details -
Configuration menu - View commit details
-
Copy full SHA for 85fd42f - Browse repository at this point
Copy the full SHA 85fd42fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 71c5fe0 - Browse repository at this point
Copy the full SHA 71c5fe0View commit details -
Add explanation about how BIP32 unhardened derivation can be used to …
…simplify whitelisting
Configuration menu - View commit details
-
Copy full SHA for 53ad841 - Browse repository at this point
Copy the full SHA 53ad841View commit details
Commits on Dec 22, 2018
-
Add trivial ecmult_multi algorithm. It is selected when no scratch sp…
…ace is given and just multiplies and adds the points.
Configuration menu - View commit details
-
Copy full SHA for ed59fbe - Browse repository at this point
Copy the full SHA ed59fbeView commit details
Commits on Jan 3, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 8c444ee - Browse repository at this point
Copy the full SHA 8c444eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 12b0e5d - Browse repository at this point
Copy the full SHA 12b0e5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b2429d - Browse repository at this point
Copy the full SHA 2b2429dView commit details -
Merge pull request BlockstreamResearch#39 from instagibbs/more_builds
Enable more builds with rest of experimental flags
Configuration menu - View commit details
-
Copy full SHA for 6532fa0 - Browse repository at this point
Copy the full SHA 6532fa0View commit details -
Merge pull request BlockstreamResearch#40 from instagibbs/size_t
use proper types for rangeproof min/max in unit test case
Configuration menu - View commit details
-
Copy full SHA for 43dd1f4 - Browse repository at this point
Copy the full SHA 43dd1f4View commit details
Commits on Jan 29, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 8260800 - Browse repository at this point
Copy the full SHA 8260800View commit details -
Add schnorrsig module which implements BIP-schnorr [0] compatible sig…
…ning, verification and batch verification. [0] https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki
Configuration menu - View commit details
-
Copy full SHA for f0e4bb9 - Browse repository at this point
Copy the full SHA f0e4bb9View commit details
Commits on Feb 6, 2019
-
Add MuSig module which allows creating n-of-n multisignatures and ada…
…ptor signatures.
Configuration menu - View commit details
-
Copy full SHA for 77d5b4a - Browse repository at this point
Copy the full SHA 77d5b4aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2fc700a - Browse repository at this point
Copy the full SHA 2fc700aView commit details
Commits on Feb 7, 2019
-
Merge pull request BlockstreamResearch#35 from jonasnick/2018-10-musig
Add MuSig module
Configuration menu - View commit details
-
Copy full SHA for d5e22a5 - Browse repository at this point
Copy the full SHA d5e22a5View commit details
Commits on Feb 20, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 49a5680 - Browse repository at this point
Copy the full SHA 49a5680View commit details -
Configuration menu - View commit details
-
Copy full SHA for dada396 - Browse repository at this point
Copy the full SHA dada396View commit details
Commits on Mar 24, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 0a734ca - Browse repository at this point
Copy the full SHA 0a734caView commit details
Commits on Apr 2, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 7950fd1 - Browse repository at this point
Copy the full SHA 7950fd1View commit details -
Adjust threshold writeup to match implemented scheme. The main differ…
…ence is that now the set of participating signers must be known at session_initialize time.
Configuration menu - View commit details
-
Copy full SHA for d1ed884 - Browse repository at this point
Copy the full SHA d1ed884View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d17453 - Browse repository at this point
Copy the full SHA 6d17453View commit details -
Configuration menu - View commit details
-
Copy full SHA for b733f8a - Browse repository at this point
Copy the full SHA b733f8aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8727abc - Browse repository at this point
Copy the full SHA 8727abcView commit details