Commit Graph

337 Commits

Author SHA1 Message Date
creamwhip
2abb1033ec ecdsa: some cleanup, assign culprits 2021-10-18 15:01:22 +08:00
creamwhip
ed06542187 ecdsa/keygen: ensure paillier modulus == paillierModulusLen
In our implementation when generating safe primes, we also need the generated value to start with "11". So the factor of a paillier modulus >= 2^1023+2^1022. While (2^1023+2^1022)*(2^1023+2^1022)>2^2047, the result paillier modulus should be exactly 2048 bit.
2021-10-18 14:56:47 +08:00
Gustavo Frederico
df096b7875 Using make to reset certain variables after use, instead of setting to nil, considering that update may still be called. Adding a return function to the BaseUpdate, matching the master commit as of today. Without the function and the recursive call, the resharing unit test does not proceed after round 3. 2021-10-05 19:40:31 -04:00
creamwhip
2b4c86e19e remove gh action temporarily 2021-09-30 18:09:48 +08:00
creamwhip
45f504e4a9 regen protobufs for protoc-gen-go v1.27.1 2021-09-30 18:09:48 +08:00
creamwhip
33cf57dddc refactor redundant safe prime in pre params data 2021-09-30 18:09:47 +08:00
creamwhip
bf16e4fc74 go mod tidy 2021-09-30 18:02:27 +08:00
ycen
ac37ece47f ecdsa-keygen parallization and code clean 2021-09-30 18:00:10 +08:00
ycen
06fd3376c8 Fix ecdsa/keygen E2E test not run 2021-09-27 15:04:43 +08:00
ycen
a01df8351c Fix ecdsa-keygen test 2021-09-23 20:47:45 +08:00
ycen
356a99831b Fix broken eddsa caused by change of zkp/sch 2021-09-23 14:17:39 +08:00
ycen
1ff2f61744 Update ecdsa-keygen protol 2021-09-23 13:49:11 +08:00
ycen
c6b18b0af9 Add ZK proof prm and sch
with related change in ecdsa/keygen
2021-09-16 14:33:56 +08:00
ycen
aa596c3c2f Add ZKP needed form identification 2021-09-13 18:21:51 +08:00
ycen
bca3d16910 Parse received message and store parsed variable
Will not store raw messages received
2021-09-10 12:58:17 +08:00
ycen
37236798d1 Modified names in message 2021-09-09 20:15:20 +08:00
ycen
07d80fc111 Rename round name to presign/sign 2021-09-09 20:09:39 +08:00
ycen
18a04094ef Parallized processing proof generation and verify 2021-09-09 16:06:54 +08:00
Patrick Cen
7f81429cfe Merge commit '3e4ded5feaf5a14f80a87e53bf27646851c8dd57' into internal-mobile-wrapper 2021-09-09 11:41:01 +08:00
Patrick Cen
97d9fe472b CGGMP protocol update.
One round signing and thre round presign protocol according to the CGGMP
paper.
2021-09-09 00:53:33 +08:00
cong
3e4ded5fea fix: add nist256p1 as default registered curve (#143) 2021-09-08 13:52:21 +08:00
ycen
1bb8d12a9e Merge pull request #142 from binance-chain/hd_curve_parameter
specify curve in NewExtendedKey
2021-09-08 13:40:16 +08:00
FitzLu
ebed832779 pass curve in DeriveChildKey 2021-09-08 13:35:37 +08:00
FitzLu
3188c30104 specify curve in NewExtendedKey 2021-09-08 13:00:50 +08:00
Patrick Cen
bc2891e50e Merge branch 'internal-mobile-wrapper' of https://github.com/binance-chain/tss-lib into internal-mobile-wrapper 2021-09-01 11:39:04 +08:00
ycen
a24b05104e Cherrypick child key derivation (#140)
* Cherrypick child_key_derivation from SwingbyProtocol
https://github.com/SwingbyProtocol/tss-lib/pull/6/files#diff-e663957d1112b8c89bb7a782fe1cebe0d5e4d84a17861ae5af5cc0b59d1dbf56

* Add serialization to child key derivation
add test case from github.com/btcsuite/hdkeychain

* Making ec as parameter in key_derivation_util

* Add version string to extendedkey, to comply with BIP32
2021-08-26 21:06:36 +08:00
Patrick Cen
02a650be5f Add version string to extendedkey, to comply with BIP32 2021-08-25 16:17:38 +08:00
Patrick Cen
eb034de55d Making ec as parameter in key_derivation_util 2021-08-24 15:25:51 +08:00
Patrick Cen
0f5841e393 Add serialization to child key derivation
add test case from github.com/btcsuite/hdkeychain
2021-08-24 15:21:00 +08:00
Patrick Cen
90aeb69c75 Cherrypick child_key_derivation from SwingbyProtocol
https://github.com/SwingbyProtocol/tss-lib/pull/6/files#diff-e663957d1112b8c89bb7a782fe1cebe0d5e4d84a17861ae5af5cc0b59d1dbf56
2021-08-18 14:16:35 +08:00
Fitz
856d77b7fb Curve as parameter (#137)
* move curve into tss.Parameters

* regen proto with full package name

* pass curve through parameter

* add curve name in ecpoint json serialization
2021-07-06 11:51:20 +08:00
cong
acfc4a91f8 fix R and S may not be 32 bytes (#130)
* fix R and S may not be 32 bytes

* refactor according to review comments

(cherry picked from commit 49366aa435b3d370283820d567c75fe0ea30079b)

# Conflicts:
#	ecdsa/signing/finalize.go
#	ecdsa/signing/local_party_test.go
2021-04-02 14:29:16 +08:00
Cong Zhao
221ef902d3 fix R and S may not be 32 bytes 2021-03-24 15:59:22 +08:00
Luke Plaster
ab8971ae66 */resharing: allow resharing when more than T+1 of the old committee participates 2020-12-15 14:46:43 +08:00
cong
43a34268ef fix: another case that eddsa reshare would panic (#126) 2020-12-15 12:06:56 +08:00
cong
2ded1c7ded fix: reshare for eddsa panic if old committee exceed t+1 (#125) 2020-12-14 20:32:34 +08:00
cong
9d8889d446 Internal mobile wrapper eddsa (#124)
* [R4R] Add eddsa (#88)

* [R4R] Add eddsa keygen and signing (#3)

* add eddsa signing and keygen

* contruct extended element from x,y

* update dep

* fix test

* fix bug

* delete unused code

* add resharing

* fix comments

* refactor RejectionSampl;e

* rename variable (#4)

* delete printf

* update dependency

* resolve conflict

* Update readme about EdDSA (#91)

* update readme about eddsa

* minor fix

* S in eddsa signature is not encoded correctly

* fix msg in eddsa hasn't to be a int.

* fix unit test

* register DGRound4Message for eddsa resharing (#99)

Co-authored-by: yutianwu <wzxingbupt@gmail.com>
Co-authored-by: dylenfu <dylenfu@126.com>
2020-12-08 16:50:06 +08:00
Luke Plaster
040612651a */resharing: allow resharing when more than T+1 of the old committee participates 2020-03-30 11:00:35 +08:00
Luke Plaster
3797fad057 add fromPartyIdx validation for all incoming messages 2020-03-30 11:00:00 +08:00
Luke Plaster
c4e6aa9140 add more basic sanity checks to PrepareForSigning 2020-03-30 10:59:25 +08:00
Luke Plaster
90d66c6b47 ecdsa/keygen: fix default pre-params concurrency with < 3 CPU cores
fixes #93
2020-03-30 10:59:00 +08:00
Luke Plaster
4fcd04b0ce tss/party: fix WaitingFor() call on non-started Party causes panic, add Running()
fixes #82
2019-12-27 13:52:31 +00:00
Luke Plaster
129ebaefee ecdsa/resharing: use new save data structs for new committee pax 2019-12-27 13:52:31 +00:00
Luke Plaster
a110668cdb ecdsa: use a random set of fixtures in signing tests 2019-12-27 13:52:31 +00:00
Luke Plaster
51d303152b ecdsa: re-index input data for the given signing parties 2019-12-27 13:52:31 +00:00
HAOYUatHZ
883f207b38 doc: keep variable name consistent in README (#79)
Currently p2pCtx variable name in README is inconsistent,
namely `ctx` in L55 but `p2pCtx` in L56.

We'd better keep it consistent for better understanding.
2019-11-29 00:33:18 +08:00
Luke Plaster
1636105322 readme update (#77) 2019-11-27 19:09:38 +08:00
Luke Plaster
1e5e2dd5ed [security] resharing: wait for final acks from the new committee before ending (#75)
This is the fix for a vulnerability reported by Omer Shlomovits of KZen Networks (ZenGo).

It adds a final ack round to the re-sharing protocol where the new committee sends acks to members of both the old and new committees before they save any data to disk.

Other Changes:

* readme: mention the UpdateFromBytes bool arg changes, misc edits

* resharing: edit a comment in round 4

* remove the confusing to committee bools

* resharing: remove a redundant line in round 5
2019-11-12 15:24:18 +08:00
cong
a6228df985 Merge pull request #73 from binance-chain/readme-transport-security
readme: improve transport section, require session IDs
2019-11-08 11:37:32 +08:00
Luke Plaster
cfb78a84e4 readme: improve transport section, require session IDs 2019-11-08 02:16:02 +08:00