frost/frost-core/CHANGELOG.md

78 lines
3.0 KiB
Markdown
Raw Normal View History

# Changelog
Entries are listed in reverse chronological order.
## Unreleased
## 0.7.0
* Challenge hashing during DKG computation was changed to match the paper.
This means that code running this version won't interoperate with code
running previous versions.
## Released
## 0.6.0
* The following structs had a `Identifier` field removed, which affects
how they are encoded and instantiated:
* `dkg::round1::Package`
* `dkg::round2::Package`
* `SigningCommitments`
* `SignatureShare`
* The following functions and methods changed parameters from `Vec` to `HashMap`
so that callers need to indicate the identifier of the source of each
value being passed:
* `aggregate()`
* `dkg::part2()`
* `dkg::part3()`
* `SigningPackage::new()`
* `commit()` and `preprocess()` no longer take an identifier as input
* `SignatureResponse` was removed. `SignatureShare` can now be encoded directly with
`from/to_bytes()`.
* rename all `to_bytes()`/`from_bytes()` to `serialize()`/`deserialize()`
* The group public key is now included in the hash inside the binding factor
computation. This reflects an upcoming change to the specification:
https://github.com/cfrg/draft-irtf-cfrg-frost/pull/439
* `generate_with_dealer()` was change to allow specifying which identifiers to use
* Identifiers can now be derived from arbitrary strings with `Identifier::derive()`
* Added `RandomizerParams::from_randomizer()` to allow specifying a randomizer
* Added `Error::culprit()` to easily get the identifier of a misbehaving participant
* Most public types now implement common traits such as Clone and Debug
## 0.5.0
* expose SigningShare, VerifyingShare, NonceCommitment and SignatureResponse in ciphersuite libraries
* most structs now have a private field which mean that they can no longer be
instantiated directly. `new()` methods have been added to them.
* change `SigningPackage::new()` to take `&[u8]P instead of `Vec<u8>`
* add `serde` support under `serde` feature to allow encoding structs which
need to be communicated between participants.
* expand docs to show the overall structure and contents
Make CoefficientCommitment and VerifiableSecretSharingCommitment accessible (#361) * 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>
2023-05-30 06:17:21 -07:00
## 0.4.0
* add serialize and deserialize functions for VerifiableSecretSharingCommitment
* add value, serialize and deserialize functions for CoefficientCommitment
Make CoefficientCommitment and VerifiableSecretSharingCommitment accessible (#361) * 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>
2023-05-30 06:17:21 -07:00
## 0.3.0
* add multiscalar support to speed up signing and aggregating
* change errors caused by protocol violations to contain the misbehaving party
* add frost::keys::split()
* rename reconstruct_secret() to reconstruct(), make it takes a slice instead
of a Vector, make it return SigningKey, fix it to return Error instead of an
error string
* rename keygen_with_dealer() to generate_with_dealer()
* change SigningKey::new() to take a reference instead of a value
## 0.2.0
* Implement Zeroize where needed or skip where not needed (fixes compiling error) (#301)
* Change keygen_with_dealer() to return a HashMap (#288)
* Re-export the frost-core traits and rand-core as part of top-level impls API (#297)
## 0.1.0
* Initial release.