* add version field into a Header field along with the ciphersuite ID
* Change Ciphersuite ID to be the contextString from the spec
* Apply suggestions from code review
Co-authored-by: natalie <n.l.eskinazi@gmail.com>
---------
Co-authored-by: natalie <n.l.eskinazi@gmail.com>
* Rename signer_pubkeys to verifying_shares (#495)
* Rename group_public to verifying_key (#495)
Some naming needed to be updated in DKG as well as there was already a verifying_key which was actually a verifying_share
* Update KeyPackage field from secret_share to signing_share (#495)
* Update Package field from secret_share to signing_share (#495)
* Update KeyPackage field from public to verifying_share (#495)
* Update SecretShare field vrom value to signing_share (#495)
* Remove secret function from SecretShare (#495)
This is because we now can use the getter to get signing_share() without the need for an additional function
* Update serde_tests with updated field names (#495)
* Add validation for missing identifier in signing package (#442)
* Add error handling for identifier having an invalid commitment (#442)
* Fixed comment (#442)
* Add validation for participant numbers (#443)
Add to split() and generate_secret_polynomial()
* Add participant validation for dkg and repairable (#443)
* Prelim implementation of including the group public key in computing the binding factor
Needs updated test vectors from the spec PoC and updated tests
* update test vectors
* add integration_test.rs to gencode which we forgot to do before
---------
Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
* WIP of removing the identifier in structs that are communicated. Working for SigningCommitments for ristretto255
* removed identifier from SignatureShare
* remove identifiers from DKG packages
* replicate to other ciphersuites; simplify SignatureShare
* update changelog
* fix SignatureShare encoding
* Implement serde for network messages.
* Make sure marker type implements serde.
* add serde support to all required structs
* use serdect
* gate under serde feature
* ci: add build with default features job
* add serde tests and required changes/fixes
* add support for encoding ciphersuite ID
---------
Co-authored-by: David Craven <david@craven.ch>
* expand docs
* Apply suggestions from code review
Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
* address comments, reflow some paragraphs
* tutorial mostly done
also cleaned up README example for extracting snippets; changed tests for consitency
* docs: add DKG; organize sections; remove stale docs
* run gencode
* Apply suggestions from code review
Co-authored-by: Pili Guerra <mpguerra@users.noreply.github.com>
---------
Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
Co-authored-by: Pili Guerra <mpguerra@users.noreply.github.com>
* move test functions that differ from other ciphersuites to make gencode simpler to use (#364)
* Refactored folder structure for ristretto255 (#364)
* Add batch and signing tests folders to ristretto255 (#364)
* Refactor test folders for ed25519 (#364)
* Refactor test folders for ed448 (#364)
* Refactor test folders for ed448 (#364)
* Refactor test folders for secp256k1 (#364)
* Refactor test folders for frost-core (#364)
Update ciphersuites due to refactoring in core
* Update coverage tool to exclude new test files (#364)
* Rename signing_tests to ciphersuite_generic_tests to match frost-core (#364)
* Set default branch as main in codecov (#364)
* Fix incorrect file name in gencode (#364)
* Remove test file targets in gencode and replace with only md files (#364)
* Rename helper_functions to helpers (#364)
Remove unecessary test traits
* Rename ciphersuite tests (#364)
* Rename test_helpers to helpers (#364)
* move tests to integration_tests (#364)
* Re-add dkg.rs and repairable.rs to gendoc (#364)
* Refactored rest of ciphersuite integration tests (#364)
* Fix fmt in gencode (#364)
* Add funvtion to create new CoefficientCommitment (#323)
* Update function to create new Coefficient Commitment and add error case (#323)
* Add function for CoefficientCommitment to return associated Element (#323)
* Add serialize function for VerifiableSecretSharingCommitment (#323)
* Rename test for the serialize function of vss_commitment (#323)
* Add deserialize function for VerifiableSecretSharingCommitment (#323)
* Rename new to deserialize for CoefficientCommitment (#323)
* Refactor CoefficientCommitment::deserialize (#323)
Update README with developer information
* Improve deserialize function for vss_commitment (#323)
* Handle errors for deserialization function for vss_commitment (#323)
* Update changelog (#323)
Add v0.4.0 to changelog
Remove deprecated changelog file
* Refactor error in deserialize function for CoefficientCommitment
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
* Update vss commitment serialization and deserialization functions (#323)
* Refactor tests for serialization and deserialization of commitments (#323)
* Refactor test to remove PartialEq trait from Group Serialization (#323)
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
* Add serialize function for CoefficientCommitment (#323)
* Fix formatting (#323)
* Add back in error test for vss commitment deserialize (#323)
* Clean up commitment tests (#323)
---------
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
* make gencode generate repairable.rs
* fix build issues in ciphersuite-specific repairable.rs
* copy repairable docs from frost-core into ciphersuites modules
* use full ciphersuite name in repairable.rs to make gencode work
* Add compute random value function for repair share functionality (#41)
This is step 1 of 3
* Add compute random value function for repair share functionality for each ciphersuite (#41)
* Add compute_sum_of_random_values function for repair share functionality (#41)
This is step 2 of 3
* Add recover_share function for repair share functionality (#41)
This is step 3 of 3
* Add communication rounds functions for repair share functionality for each ciphersuite (#41)
Add compute_sum_of_random_variables function
Add recover_share function
* Fix recover_share tests so they test the right thing
Fix secp256 recover share test values
Fix ristretto255 recover share test values
Fix ristretto255 compute sum of random values test values
* Rewrite compute_random_values to generate_random_values for repair share functionality (#41)
Test generate_random_values directly
End to end test to be added in another commit
Updated gendoc to use original file values to fix clippy complaints
* Rename functions and update documentation for repair (#41)
* Add end to end test for repair share (#41)
Fix lagrange coefficient calculation
Co-authored-by: conrado <conradoplg@gmail.com>
* Fix formatting (#41)
* Remove comment (#41)
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
* Update documentation for step 1 of RTS (#41)
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
* Update documentation for method of computing step 1 of RTS (#41)
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
* Rename repair share functions (#41)
* Improve documentation for Repairable Threshold Scheme (#41)
* Remove unecessary code from repairable tests (#41)
* Update repairable documentation
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
* Rename steps in repairable to be more consistent with DKG pattern (#41)
* Update gitignore (#41)
* Update repairable to use new keygen_with_dealer signature (#41)
* Update frost-core/src/frost/keys/repairable.rs
---------
Co-authored-by: conrado <conradoplg@gmail.com>
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
* Re-export the frost-core traits and rand-core as part of top-level impls API
* Don't export frost_core::frost
---------
Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>