672 Commits

Author SHA1 Message Date
creamwhip
f17c6c232b go mod tidy in cmd tools module v1.6.0 2022-01-29 23:00:39 +08:00
creamwhip
03f7a4577c move tools (benchgen, benchsign) to their own module 2022-01-29 23:00:28 +08:00
creamwhip
f08069bfef upgrade dependencies 2022-01-29 22:59:51 +08:00
creamwhip
668d0061fa Merge pull request #16 from SwingbyProtocol/feature/cggmp21oct-tss-lib
R4R - CGGMP21 paper - October version
2021-12-19 22:09:10 +00:00
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
creamwhip
1bfe24ba54 update all dependencies 2021-12-14 08:20:03 +00:00
creamwhip
5e1a425dd1 regenerate EdDSA test fixtures 2021-12-14 08:19:48 +00:00
Gustavo Frederico
c58e4b5ad1 Additional check when Ks mismatch in savedata and sortedID 2021-12-14 07:54:27 +00:00
Gustavo Frederico
b401af0289 Do not normalize IDs of Shamir's Secret Sharing 2021-12-14 07:54:27 +00:00
Gustavo Frederico
bd32a619a8 Signing - prepare: check of user id equality modulo curve order. 2021-12-13 15:38:09 +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
Gustavo Frederico
4cd8e37b89 Signing - prepare: check of user id equality modulo curve order. 2021-12-09 11:59:23 +08:00
creamwhip
b6e761a803 go fmt 2021-12-07 22:36:11 +08:00
Gustavo Frederico
17772d0e9c Changing the validation of the mod zkp. Changing back validation of NonEmptyBytes. Adding back the TestBadMessageCulprits unit test. 2021-12-01 11:22:53 -05:00
Gustavo Frederico
8b376e72fc go fmt only for files touched in comparison with forked branch (cggmp21-tss-lib). No functional change in this commit. 2021-11-30 21:37:24 -05:00
Gustavo Frederico
eea5a431bb Changing the abort identification unit test to depict fairly the behaviour of the innocent party. This commit removes lines from the unit test that changed the internal storage of round 1 and round 3 data (for the victim party). The culprit is identified in round 4 in this commit. The current change is only to the unit test. That is, there is no functional change to the protocol. 2021-11-29 14:52:12 -05:00
Gustavo Frederico
928b825cbe Fixing casting error in TestAbortIdentification. 2021-11-29 06:53:08 -05:00
creamwhip
f55f232984 eddsa: fix EdDSA resharing test 2021-11-29 18:16:02 +08:00
creamwhip
225f725810 test: re-gen fixtures for 5 participants in tests 2021-11-29 18:15:48 +08:00
creamwhip
2ee867dfd9 common/random_test: ensure odd relative prime int in TestGetRandomQuadraticNonResidue 2021-11-29 18:01:20 +08:00
creamwhip
ce74f650c0 Makefile: set test timeouts to 30 mins 2021-11-29 18:00:59 +08:00
Gustavo Frederico
5fa29d51f1 Reverting change to BaseUpdate. 2021-11-25 18:40:26 -05: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
Gustavo Frederico
3f7a324701 Testing with fewer parties. 2021-11-23 06:43:14 -05:00
creamwhip
697e6ece3c fix calls to BaseUpdate 2021-11-23 19:38:14 +08:00
Gustavo Frederico
974d8cfd1a Removing extra logging. No funcional change. 2021-11-22 19:17:13 -05:00
Gustavo Frederico
f81d9700a2 Adding identification of abort for ECDSA signing. 2021-11-22 19:08:19 -05: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
Gustavo Frederico
2042383b62 Adding the No Small Factor Proof, mentioned in the CGGMP21-October paper. 2021-11-15 16:52:59 -05:00
Gustavo Frederico
701d83177a Paillier check. Mta and Dec unit tests. 2021-11-08 23:56:44 -05:00
Gustavo Frederico
258557a65e Adding a unit test function in zkpdec including composition of Paillier addition and multiplication. The same logic will apply to identification_6.go. No functional change. 2021-11-04 19:58:24 -04:00
creamwhip
52732f1fe5 remove a random println 2021-10-29 17:24:20 +08:00
Gustavo Frederico
b396352ce9 Bug fix for vss, check shareid when constructing vss. 2021-10-27 19:26:33 -04:00
Gustavo Frederico
ac1d2cc9a0 Identification of aborts with unit test. 2021-10-26 23:39:42 -04:00
Gustavo Frederico
b961e02c70 Renaming variables to match the paper. No functional change in this commit. 2021-10-26 12:12:10 -04:00
Gustavo Frederico
5c51a3aca7 Minor change: adding error handling in round 1 (keygen). 2021-10-18 18:39:44 -04:00
Gustavo Frederico
4397af0043 keygen: adding a Schnorr proof in round 1. Adding missing ridi and rid. Adding Xi and Ai to the hashes and messages. Adding Schnorr zkp in round 3. Adding proof verifications in round 4. 2021-10-18 18:39:19 -04:00
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
creamwhip
d70c605c98 ecdsa/keygen: ensure paillier modulus == paillierModulusLen 2021-10-18 14:53:04 +08:00
Gustavo Frederico
cf960baa49 Check the Paillier modulus bit length in round 2 of keygen, ensuring it is not too small. That would be a security threat. 2021-10-18 14:53:04 +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