61 Commits

Author SHA1 Message Date
Gustavo Frederico
1e02560e7e Merging the branch that has CGGMP21 Oct changes onto the master branch. Resolving conflicts (listed below). In general, file versions of CGGMP21 Oct were chosen and security patches or small recent improvements from the master branch were copied over.
Merge branch 'master' into feature/cggmp21oct-tss-lib-tmp-merge

# Conflicts:
#	.github/workflows/test.yml
#	Makefile
#	README.md
#	crypto/ckd/child_key_derivation.go
#	crypto/ecpoint.go
#	crypto/mta/proofs.go
#	crypto/mta/range_proof.go
#	crypto/mta/share_protocol.go
#	crypto/mta/share_protocol_test.go
#	crypto/paillier/paillier.go
#	crypto/vss/feldman_vss.go
#	ecdsa/keygen/ecdsa-keygen.pb.go
#	ecdsa/keygen/local_party.go
#	ecdsa/keygen/local_party_test.go
#	ecdsa/keygen/messages.go
#	ecdsa/keygen/prepare.go
#	ecdsa/keygen/round_1.go
#	ecdsa/keygen/round_2.go
#	ecdsa/keygen/round_3.go
#	ecdsa/keygen/round_4.go
#	ecdsa/keygen/save_data.go
#	ecdsa/resharing/ecdsa-resharing.pb.go
#	ecdsa/resharing/local_party_test.go
#	ecdsa/resharing/messages.go
#	ecdsa/resharing/round_1_old_step_1.go
#	ecdsa/resharing/round_4_new_step_2.go
#	ecdsa/signing/ecdsa-signing.pb.go
#	ecdsa/signing/finalize.go
#	ecdsa/signing/key_derivation_util.go
#	ecdsa/signing/local_party.go
#	ecdsa/signing/local_party_test.go
#	ecdsa/signing/messages.go
#	ecdsa/signing/prepare.go
#	ecdsa/signing/round_1.go
#	ecdsa/signing/round_2.go
#	ecdsa/signing/round_3.go
#	ecdsa/signing/round_4.go
#	ecdsa/signing/round_5.go
#	ecdsa/signing/round_6.go
#	ecdsa/signing/round_7.go
#	ecdsa/signing/rounds.go
#	eddsa/keygen/eddsa-keygen.pb.go
#	eddsa/keygen/local_party.go
#	eddsa/keygen/local_party_test.go
#	eddsa/keygen/messages.go
#	eddsa/keygen/round_1.go
#	eddsa/keygen/round_2.go
#	eddsa/keygen/round_3.go
#	eddsa/keygen/save_data.go
#	eddsa/keygen/test_utils.go
#	eddsa/resharing/eddsa-resharing.pb.go
#	eddsa/resharing/local_party.go
#	eddsa/resharing/local_party_test.go
#	eddsa/resharing/messages.go
#	eddsa/resharing/round_1_old_step_1.go
#	eddsa/resharing/round_4_new_step_2.go
#	eddsa/signing/eddsa-signing.pb.go
#	eddsa/signing/finalize.go
#	eddsa/signing/local_party.go
#	eddsa/signing/local_party_test.go
#	eddsa/signing/messages.go
#	eddsa/signing/prepare.go
#	eddsa/signing/round_1.go
#	eddsa/signing/round_2.go
#	eddsa/signing/round_3.go
#	eddsa/signing/rounds.go
#	eddsa/signing/utils.go
#	go.mod
#	go.sum
#	protob/ecdsa-keygen.proto
#	protob/ecdsa-resharing.proto
#	protob/ecdsa-signing.proto
#	protob/eddsa-keygen.proto
#	protob/eddsa-resharing.proto
#	protob/eddsa-signing.proto
#	protob/message.proto
#	protob/signature.proto
#	test/_ecdsa_fixtures/keygen_data_0.json
#	test/_ecdsa_fixtures/keygen_data_1.json
#	test/_ecdsa_fixtures/keygen_data_2.json
#	test/_ecdsa_fixtures/keygen_data_3.json
#	test/_ecdsa_fixtures/keygen_data_4.json
#	test/_eddsa_fixtures/keygen_data_0.json
#	test/_eddsa_fixtures/keygen_data_1.json
#	test/_eddsa_fixtures/keygen_data_2.json
#	test/_eddsa_fixtures/keygen_data_3.json
#	test/_eddsa_fixtures/keygen_data_4.json
#	test/config.go
#	tss/message.pb.go
#	tss/params.go
#	tss/party.go
#	tss/wire.go
2021-12-17 16:03:49 -05:00
Gustavo Frederico
c58e4b5ad1 Additional check when Ks mismatch in savedata and sortedID 2021-12-14 07:54:27 +00:00
Gustavo Frederico
3a9d45177e Fixing issue in the Feldman VSS code. Checking indexes modulo the curve order, so as not to leak evaluation at point 0. 2021-12-13 15:38:09 +00:00
creamwhip
f55f232984 eddsa: fix EdDSA resharing test 2021-11-29 18:16:02 +08:00
Gustavo Frederico
8dd9614fdc Change to Update in sign_4 (round 4) of signing, so as to avoid a deadlock. Change to tss.BaseUpdate removing recursion. 2021-11-24 23:07:09 -05:00
creamwhip
697e6ece3c fix calls to BaseUpdate 2021-11-23 19:38:14 +08:00
Gustavo Frederico
36573fc6ee Initial updates of the October version of the CGGMP21 paper. Work in progress. 2021-11-15 21:38:27 -05:00
creamwhip
45f504e4a9 regen protobufs for protoc-gen-go v1.27.1 2021-09-30 18:09:48 +08:00
ycen
356a99831b Fix broken eddsa caused by change of zkp/sch 2021-09-23 14:17:39 +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
creamwhip
9ed01e22ed remove unused VoidMessage and update protoc to v3.17.3 and protoc-gen-go to v1.27.1 2021-06-29 18:44:54 +08:00
Gustavo Frederico
d92727e29c Adding a void message to support peer visibility / sync at the client. This void message does not affect the functionality of any protocol. 2021-06-29 18:44:54 +08:00
Gustavo Frederico
3df99245c4 eddsa - test - fixing the resharing param argument 2021-06-29 18:44:54 +08:00
Gustavo Frederico
e168dc4f9a Reshare - minor changes to support reshare in node. No change in the protocol. 2021-06-29 18:44:54 +08:00
Gustavo Frederico
0330c07e54 Signing optimizations - eddsa signing - resetting test updater function to original one 2021-03-01 14:04:21 +08:00
Gustavo Frederico
cd4e911785 Signing optimizations - adding CanProcess to rounds, similar to CanAccept 2021-03-01 14:04:21 +08:00
Gustavo Frederico
9b0bb9c02e Signing optimizations - better concurrency logic for party 2021-03-01 14:04:21 +08:00
Gustavo Frederico
a8b7694beb Signing optimizations - modifications to remaining rounds. There's still work remaining for abort handling after round 7. 2021-03-01 14:04:21 +08:00
Gustavo Frederico
5e0b1fafb8 Signing optimizations - initial commit. Work in progress. Changing message storage to queues. Changes to BaseStart for rounds to process messages in parallel. Changing only rounds 1 and 2 to start. 2021-03-01 14:04:21 +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
creamwhip
b1797e3529 Merge remote-tracking branch 'binance/master' into gg20 2020-12-03 15:55:34 +08:00
ackratos
e7030a5d5f S in eddsa signature is not encoded correctly 2020-12-03 13:29:44 +08:00
creamwhip
ff0033c750 Merge remote-tracking branch 'thor1/gg20' into gg20 2020-11-25 16:42:31 +08:00
Ford Betelgeuse
1f71034e2d reduce the test participants to save CI teting time 2020-11-18 15:21:23 +11:00
Luke Plaster
247b76cc43 misc: edited a couple of comments around ECDSAPub in the save data 2020-11-15 16:24:46 +08:00
Luke Plaster
6dab731e4d ecdsa, eddsa: pbufs finishing touches, green tests 2020-11-15 16:24:46 +08:00
Luke Plaster
524d07a53a use the latest protobufs 2020-11-15 16:24:46 +08:00
Luke Plaster
641739359b ECPoint message migration in protobufs 2020-11-15 16:24:46 +08:00
Luke Plaster
7935d1ca99 ecdsa/signing: implement 'type 7' identified abort (blame), use google.golang.org/protobuf v1.24.0 2020-11-15 16:24:46 +08:00
Luke Plaster
87f643afd0 use implicit namespace for protobuf messages, lint fixes 2020-11-15 16:24:46 +08:00
Luke Plaster
a37d941528 */signing: send ptr to SignatureData thru out chan to please downstream linters 2020-11-15 16:24:46 +08:00
Luke Plaster
c86441e506 upgrade to Protocol Buffers v3.12.3, golang/protobuf v1.4.2 2020-11-15 16:24:46 +08:00
Luke Plaster
f776dc3c2b crypto/zkp: rename schnorr proof to dlog proof 2020-11-15 16:23:52 +08:00
Luke Plaster
31714eb366 ecdsa/signing: implement the remaining rounds for gg20 2020-11-15 16:23:52 +08:00
Luke Plaster
ab77604ee7 gg20: implement generating h (base point 2) for main ec curves 2020-11-15 16:23:52 +08:00
Luke Plaster
c339329de7 */keygen: minor edits, TC suggestions 2020-11-15 16:21:48 +08:00
Luke Plaster
039c209818 crypto: rename schnorr package to zkp for gg20 2020-11-15 16:21:48 +08:00
ackratos
92a29488f9 fix protect keygen/sign/reshare 2020-11-10 14:43:28 +08:00
ackratos
90dd2de3b8 fix dlog proof potential security issue 2020-11-07 09:27:46 +08:00
Luke Plaster
910b703b73 misc: edited a couple of comments around ECDSAPub in the save data 2020-07-13 19:19:04 +01:00
Luke Plaster
7debab227e ecdsa, eddsa: pbufs finishing touches, green tests 2020-07-13 19:19:04 +01:00
Luke Plaster
b11fed08d2 use the latest protobufs 2020-07-13 19:19:04 +01:00
Luke Plaster
f382018110 ECPoint message migration in protobufs 2020-07-13 19:19:04 +01:00
Luke Plaster
5c2b3cbdaa ecdsa/signing: implement 'type 7' identified abort (blame), use google.golang.org/protobuf v1.24.0 2020-07-13 19:19:04 +01:00
Luke Plaster
906f016506 use implicit namespace for protobuf messages, lint fixes 2020-07-13 19:19:04 +01:00
Luke Plaster
5bb17dc76e */signing: send ptr to SignatureData thru out chan to please downstream linters 2020-07-13 19:19:04 +01:00
Luke Plaster
95d304550d upgrade to Protocol Buffers v3.12.3, golang/protobuf v1.4.2 2020-07-13 19:19:04 +01:00