Commit Graph

195 Commits

Author SHA1 Message Date
cong
d2d8728752 Merge pull request #57 from binance-chain/recover_signature
[R4R] fix recover byte calculation
pre-protobufs
2019-09-25 11:20:31 +08:00
Cong Zhao
9eb0893303 fix recover byte calculation 2019-09-25 11:19:18 +08:00
cong
88568993f0 Merge pull request #56 from binance-chain/sign_security_audit
[R4R] fix signing related security issues
2019-09-25 11:18:04 +08:00
Cong Zhao
cfce3584a7 fix signing related security issues 2019-09-23 16:13:24 +08:00
Luke Plaster
2f2e4b28fc [audit] common/random: add some additional checks
see: #28, #29, #30
2019-09-23 14:22:30 +08:00
Luke Plaster
cb96dd6035 [audit] common/random: add args checks
closes #28, #29, #30
2019-09-23 14:13:55 +08:00
Luke Plaster
4cfba539e0 [audit] common: fix RejectionSample superfluous loop condition
closes #52
2019-09-23 13:53:33 +08:00
Luke Plaster
2c81571d0c common/int: minor perf edit 2019-09-23 13:36:38 +08:00
Luke Plaster
70ca07687b perf: use accumulators instead of Int.Exp in some places (#53)
closes #51
2019-09-17 12:19:46 +08:00
Luke Plaster
fea73dc96d [audit] common/hash: prevent hash collisions (#41)
* common/hash: prepend count of parts to SHA512/256 digest messages

* common/hash: remove special handling for inLen = 1

* common/hash: minor edits
2019-09-12 13:21:56 +08:00
Luke Plaster
f58bd95d62 proofs: made args checks more consistent (#50)
closes #47
2019-09-12 13:17:30 +08:00
Luke Plaster
54a23f1013 [audit] ECPoint IsOnCurve checks and handle errors (#48)
* mta: catch some unhandled errors

closes #39

* ecpoint: check IsOnCurve whenever ECPoint is used

closes #38
closes #46

* ecpoint: add constructor comments
2019-09-12 13:13:51 +08:00
Luke Plaster
eb3a0be4e5 crypto/utils: improve GenerateNTildei arguments (#49)
closes #35
2019-09-12 11:55:56 +08:00
Luke Plaster
a897100149 common/random: remove a redundant check
closes #31
2019-09-11 20:56:01 +08:00
Luke Plaster
60f53b9130 common/int: reduce big.Int memory allocations
closes #33
2019-09-11 20:44:31 +08:00
Luke Plaster
ba5ba81d8c mta: catch some unhandled errors
closes #39
2019-09-11 20:22:42 +08:00
Luke Plaster
f90989ed35 crypto/mta: include U in hash for ProofBobWC (#43) 2019-09-11 16:24:06 +08:00
Luke Plaster
31c67c55cf keygen: remove index from saved data (#27)
* keygen: remove index from saved data

* keygen: Index() -> OriginalIndex()
2019-08-15 17:16:25 +08:00
Luke Plaster
009c4ade03 tests: generate and use key fixtures (#26)
* tests: generate and use key fixtures

* keygen test: minor rename

* tests: fail immediately on async error

* tests: move keygen fixture load routine to func

* tests: clean-up misc
2019-08-15 11:29:04 +05:30
Luke Plaster
000927d371 Update README.md 2019-08-15 13:15:20 +08:00
Cong Zhao
4c34dc04a9 export fields in DGRound2NewCommitteePaillierPublicKeyMessage 2019-07-31 18:24:42 +08:00
Luke Plaster
39ca39f626 keygen,regroup: minor reformat 2019-07-31 14:18:49 +08:00
Luke Plaster
dea5a52ef2 regroup: implement initial ValidateBasic for msgs 2019-07-30 16:22:35 +08:00
Luke Plaster
d223fcafc3 commitments: add max parts and len constraints to builder 2019-07-30 16:22:35 +08:00
Luke Plaster
c047c90e51 regroup: fix new committee 'waiting for' lookup 2019-07-30 16:22:35 +08:00
Luke Plaster
3454aa73e1 regroup: update for GG18Spec (12), e2e pass 2019-07-30 16:22:35 +08:00
Luke Plaster
f7cc887405 regroup: use PrepareForSigning, send/check paillier key proofs 2019-07-30 16:22:35 +08:00
Luke Plaster
591dfd376c signing: move PrepareForSigning to its own file 2019-07-30 16:22:35 +08:00
Luke Plaster
360b3dbfd2 regroup: temp disable signing part of e2e test until BigX spec fix 2019-07-30 16:22:35 +08:00
Cong Zhao
a9808a49e7 1. gob register regroup message types
2. add IsBroadcast interface
2019-07-30 16:22:35 +08:00
Luke Plaster
45bd892e52 keygen: minor r3 clean with code from regroup 2019-07-30 16:22:35 +08:00
Luke Plaster
6e50312ad5 regroup: update new committee step 2 loops 2019-07-30 16:22:35 +08:00
Luke Plaster
9b155dbaaf regroup: update new step 1 save data 2019-07-30 16:22:35 +08:00
Luke Plaster
c45a2e555f regroup test: keep saved keys for only the new committee 2019-07-30 16:22:35 +08:00
Luke Plaster
294c0c7bb4 regroup: send the entire ecdsa pub point 2019-07-30 16:22:35 +08:00
Luke Plaster
c24c614a20 regroup: send NTildei, H1i, H2i in NewCommitteeStep1 2019-07-30 16:22:35 +08:00
Luke Plaster
e7f6a7ed4f regroup: fix regroup msg slice lengths, use old_t+1 2019-07-30 16:22:35 +08:00
Luke Plaster
e23895f611 regroup: send X's and k's in a second commitment 2019-07-30 16:22:35 +08:00
Luke Plaster
4e1f347871 keygen: fix test 2019-07-30 16:22:35 +08:00
Luke Plaster
8fed91d656 regroup: include original BigXs and ks in first commitment 2019-07-30 16:22:35 +08:00
Luke Plaster
4aa2cbd329 commitments: add builder for complex commitments 2019-07-30 16:22:35 +08:00
Luke Plaster
c3e2fc316d regroup: share paillier keys, e2e regroup and sign pass 2019-07-30 16:22:35 +08:00
Luke Plaster
51a150cb22 keygen: minor local party edit 2019-07-30 16:22:35 +08:00
Luke Plaster
49827a471c regroup: refactor some temp storage, share BigXs and Ks in msg 1 2019-07-30 16:22:35 +08:00
Luke Plaster
4cbe95846b WIP dynamic groups e2e test: split two committee groups 2019-07-30 16:22:35 +08:00
Luke Plaster
db50dd770a WIP dynamic groups e2e test 2019-07-30 16:22:35 +08:00
Luke Plaster
3af4fd50c9 WIP dynamic groups e2e test 2019-07-30 16:22:35 +08:00
Luke Plaster
7e4d27c6cd move GenerateNTildei to crypto, used in regroup r2 2019-07-30 16:22:35 +08:00
Luke Plaster
3d3c7bf925 regroup: gave rounds better filenames 2019-07-30 16:22:35 +08:00
Luke Plaster
fb9b138fff WIP dynamic groups 2019-07-30 16:22:35 +08:00