Commit Graph

28 Commits

Author SHA1 Message Date
Deirdre Connolly e6d5afdfb2
Merge pull request #50 from ZcashFoundation/frost-core
* frost-core Cargo.toml

* Ciphersuite trait

* Signature trait

* Copy stub ristretto impl for now

* First stab at making signing and verifying generic over frost-core::Ciphersuite

* Update signing

* Nice const generics and stuff for frost-core::Ciphersuite

* Have to implement traits for the pre-parameterized types inside the module

* Ciphersuite::Group::Field

* Make frost/keys generic over Ciphersuite

* frost-core genericization mostly done, modulo batch

* Move tests around

* Remove internal test module

* Lots of tidies, including type refinement of Scalar, Challenge

* More genericization and tidy'ing

* Test vectors working against Ristretto impl in the frost-core integration tests

* clippy fix

* Fix generic params for full frost example integration test using ristretto

* Genericize proptests

* clippy --fix

* Doc comment identifier module

* In-flight batch and multiscalar mul

* Stop using Scalar::from_hash() as it expects impl Digest which sha2 0.10+ isn't doing anymore

* run cargo udeps

* Update frost-core/src/frost/round1.rs

* Update frost-core/src/frost.rs

* Update frost-core/src/frost/keys.rs
2022-05-16 16:53:17 -04:00
Deirdre Connolly f5773819da
V04 compat (#49)
* Enforce nonces cannot be generated or represented if zero

* rustdoc

* rustdoc

* Remove the unused and deprecated Commitment type
2022-04-05 11:10:59 -06:00
Deirdre Connolly c5ad38ff9d Update test vectors 2022-03-28 15:46:48 -04:00
Deirdre Connolly 7aff3b763f Make sure threshold, num signer mins are checked 2022-03-28 15:46:48 -04:00
Deirdre Connolly 506edbbe7b Do not generate commitment share as part of signing
Generate the group commitment from all round one signing commitments as part
of aggregate(). Only re-derive a commitment share from the signing share
as part of signing share verification, just before aggregate.
2022-03-28 15:46:48 -04:00
Deirdre Connolly fcd4599ec5 Some docs 2022-03-28 15:46:48 -04:00
Deirdre Connolly f757b761c6 Rename generate_ to derive_lagrange_coeff 2022-03-28 15:46:48 -04:00
Deirdre Connolly f15657b516 Reject signer or signing commitment indices that == 0 2022-03-28 15:46:48 -04:00
Deirdre Connolly 11973761b6
Refactor frost into round1, round2 submodules (#38)
* Refactor frost into round1, round2 submodules

* Move around some stuff into frost.rs
2022-03-22 16:33:59 -04:00
Deirdre Connolly c88b5ffe1b Rename ShareCommitment VerifiableSecretSharingCommitment 2022-03-08 14:11:41 -05:00
Deirdre Connolly 0b1b7eecd5 Move keygen, key types, into frost::keys 2022-03-08 14:11:41 -05:00
Deirdre Connolly b7b6aa7907 Ensure we compute each signature share's R_share from signers' round 1 nonce commitments 2022-03-03 12:55:45 -05:00
Deirdre Connolly 48f084816b Remove commented out FromHex impl for SignatureResponse 2022-03-03 12:55:45 -05:00
Deirdre Connolly a41c02581d We no longer H3(msg) to create the challange, only to create the binding_factor 2022-03-03 12:55:45 -05:00
Deirdre Connolly bf8b138595 Small fixes, trying to get test vector sig share verification working 2022-03-03 12:55:45 -05:00
Deirdre Connolly 15706f0b48 Remove comments 2022-03-03 12:55:45 -05:00
Deirdre Connolly 77bb412c7a A bunch of fixes 2022-03-03 12:55:45 -05:00
Deirdre Connolly 5f35150088 Almost all parse, being partially checked in test 2022-03-03 12:55:45 -05:00
Deirdre Connolly c59d36d508 Turn several functions into type methods, impl FromHex for some for test vectors 2022-03-03 12:55:45 -05:00
Deirdre Connolly a05286498e Uncomment test vector test 2022-03-03 12:55:45 -05:00
Deirdre Connolly cd1e786359 Lots of little changes 2022-03-03 12:55:45 -05:00
Deirdre Connolly 9181dd0dce Add serde_json-parsed test vectors 2022-03-03 12:55:45 -05:00
Deirdre Connolly cf63f236ec Always sort signing_commitments 2022-03-03 12:55:45 -05:00
Deirdre Connolly 8ce992541a
Make Ristretto implementation up to date with spec (#25)
* WIP

* Using H1/H2/H3 per spec, the verification still fails with Verificationkey

* Use FROST spec hashes, update all challenge generations to be DRY

Make clippy happy, etc

* DRY up generate_challenge

Also rename all methods to be generate_ instead of gen_
2022-02-09 15:18:21 -07:00
Dimitris Apostolou fba11278b3 Fix typos 2022-02-08 18:52:02 -05:00
Deirdre Connolly a66d2041cf Clean up names and commits, run clippy fix 2022-01-13 00:06:43 -05:00
Deirdre Connolly 40af4d9f0d Tests working 2021-12-13 17:11:07 -05:00
Deirdre Connolly cee212b85f Reorg for FROST 2021-12-13 07:26:52 -05:00