Commit Graph

443 Commits

Author SHA1 Message Date
Conrado Gouvea b4793ace4c initial cargo vet support 2023-10-02 19:29:54 -03:00
Conrado Gouvea d938b53d83
book: add release checklist (#553) 2023-09-29 15:14:45 +00:00
Conrado Gouvea c1da1d82dd
dependabot: remove hardcoded reviewer and assignee (#546) 2023-09-25 13:16:42 +00:00
Conrado Gouvea c0c57f4b4b
generate Randomizer by hashing SigningPackage (#542) 2023-09-22 14:20:11 +00:00
natalie ba3ef7dbb8
Convert all HashMaps to BTreeMaps (#547)
Convert HashMaps to BTreeMaps (#476)
2023-09-22 14:08:32 +00:00
Conrado Gouvea a5dc479b4d
remove serde bounds from Ciphersuites (#541) 2023-09-21 09:24:21 +00:00
Conrado Gouvea 4ba88c0210
add version field to serialization at the beginning; move ciphersuite after it (#540)
* 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>
2023-09-20 15:40:01 +00:00
natalie eee505a49e
Rename fields to match types (#539)
* 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)
2023-09-15 14:53:43 +00:00
Conrado Gouvea c38305b536
bump versions and update changelog for 0.7.0 release (#538) 2023-09-13 16:52:41 +00:00
Conrado Gouvea d4b03ea7bf
add default serialization format (#511)
* add default serialization format

* remove SHORT_ID from Ciphersuite trait
2023-09-13 12:58:26 +00:00
Conrado Gouvea 9752182fa1
change reconstruct() to take KeyPackages; validate size (#523)
change reconstruct() to take KeyPackages; validate size
2023-09-11 21:51:33 +00:00
Conrado Gouvea 366cc96877
ci: remove protoc install (#532) 2023-09-11 19:23:15 +00:00
dependabot[bot] bcd550ca41
Bump reviewdog/action-actionlint from 1.37.1 to 1.38.0 (#526)
Bumps [reviewdog/action-actionlint](https://github.com/reviewdog/action-actionlint) from 1.37.1 to 1.38.0.
- [Release notes](https://github.com/reviewdog/action-actionlint/releases)
- [Commits](https://github.com/reviewdog/action-actionlint/compare/v1.37.1...v1.38.0)

---
updated-dependencies:
- dependency-name: reviewdog/action-actionlint
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-07 19:33:14 +00:00
dependabot[bot] ac10ac3b51
Update curve25519-dalek requirement from =4.0.0 to =4.1.0 (#527)
Updates the requirements on [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek) to permit the latest version.
- [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases)
- [Commits](https://github.com/dalek-cryptography/curve25519-dalek/commits/curve25519-4.1.0)

---
updated-dependencies:
- dependency-name: curve25519-dalek
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-07 19:33:07 +00:00
Conrado Gouvea fcb25b2888
book: add Zcash chapter (#505)
* book: add Zcash chapter

* Update book/src/zcash.md

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>

---------

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2023-09-07 13:25:58 +00:00
Conrado Gouvea 4ee0d32867
check number of commitments in sign() (#480)
* check number of commitments in sign()

* make comment clearer
2023-09-06 09:48:30 +00:00
dependabot[bot] 030c4cea81
Bump actions/checkout from 3.6.0 to 4.0.0 (#522)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.6.0...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 15:06:57 +00:00
Conrado Gouvea d439fdc93d
improve book per audit report (#491)
* improve book per audit report

* remove stale sentence

* fix a typo

* Update book/src/tutorial/signing.md

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>

* Update book/src/tutorial/signing.md

---------

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2023-09-05 00:08:16 +00:00
dependabot[bot] 386de4de6f
Update visibility requirement from 0.0.1 to 0.1.0 (#518)
Updates the requirements on [visibility](https://github.com/danielhenrymantilla/visibility.rs) to permit the latest version.
- [Release notes](https://github.com/danielhenrymantilla/visibility.rs/releases)
- [Commits](https://github.com/danielhenrymantilla/visibility.rs/compare/v0.0.1...v0.1.0)

---
updated-dependencies:
- dependency-name: visibility
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 19:38:52 +00:00
Conrado Gouvea 4abe7fe638
document features (#512) 2023-09-04 19:38:48 +00:00
Conrado Gouvea f3eb8681a8
check if the correct number of identifiers was provided in split() (#481) 2023-09-02 05:24:17 +00:00
Conrado Gouvea 5d97cf126d
fix DKG challenge hashing order to match paper (#484) 2023-09-02 05:13:55 +00:00
Conrado Gouvea fcd0e31e6b
return error when validating an empty batch (#487)
* return error when validating an empty batch

* reuse n
2023-09-02 05:13:51 +00:00
Conrado Gouvea ab4af9bff4
check if the part3() identifier consistency check works (#506) 2023-09-02 05:11:18 +00:00
Conrado Gouvea 09206aead8
fix misc docs issues (#489)
Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2023-09-02 01:06:57 -04:00
Conrado Gouvea 0e29b614bd
update spec links (#488) 2023-09-02 05:01:07 +00:00
Conrado Gouvea a19d2f9abf
don't import unneeded dependencies when not required (#492) 2023-09-02 05:01:01 +00:00
Conrado Gouvea 5cd3f8fc79
return error when creating a zero SigningKey (#496)
* return error when creating a zero SigningKey

* Update frost-core/src/signing_key.rs

* Update frost-core/src/signing_key.rs

---------

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2023-09-02 04:59:57 +00:00
Conrado Gouvea 0fb4824e4b
improve sign() performance by caching SigningCommitments (#493) 2023-09-02 04:59:52 +00:00
Conrado Gouvea 7c8a872603
ci: run tests with --release (#509)
run CI tests with --release
2023-09-02 01:49:31 +00:00
Deirdre Connolly 15bd4bb3ed
fix unresolved rustdoc links to types (#507)
* fix unresolved rustdoc links to types

* frost::round2::SignatureShare
2023-08-30 21:55:54 +00:00
dependabot[bot] 478f914b31
Bump actions/checkout from 3.5.3 to 3.6.0 (#500)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.5.3...v3.6.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 19:40:45 +00:00
Conrado Gouvea 877e7c3830
fix clippy issues (#503) 2023-08-28 19:25:43 +00:00
Conrado Gouvea f3fd9102a3
check if iterators have the same size in multiscalar mul (#494) 2023-08-28 16:20:14 +00:00
Conrado Gouvea 60d9942f36
fix Field::deserialize() docs (#483) 2023-08-18 15:39:41 +00:00
Conrado Gouvea 9dffc6f516
fix some docs issues from audit (#485) 2023-08-18 14:52:51 +00:00
Conrado Gouvea 87346f4f3c
Fix unchecked access (#477)
* add test that reproduces issue

* remove usages of slicing and unwraps; add clippy lints

* check in aggregate() if identifiers are consistent
2023-08-16 18:38:36 +00:00
natalie bb94a34362
Add minimum participant constraints (#453)
* 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)
2023-08-16 18:38:29 +00:00
natalie ad07c9e4d4
Update ed25519-dalek (#474)
Update ed25519-dalek (#473)
2023-08-15 13:19:51 +00:00
Conrado Gouvea ba8086db5c
Simplify rerandomized FROST (#437)
* refactor Lagrange coefficient computation

* simplified rerandomized FROST

* switch to a Randomize trait, remove unaccurate comment

* remove manual rerandomization test

* improve comments

* removed unneeded alpha_share

* Apply suggestions from code review

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>

* frost-rerandomized: add serde feature

* add Randomizer type

* revert DuplicatedIdentifiers back to DuplicatedIdentifier

---------

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2023-08-14 16:15:22 +00:00
dependabot[bot] 4bf92b7a2c
Bump Swatinem/rust-cache from 1 to 2 (#467)
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 1 to 2.
- [Release notes](https://github.com/swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/swatinem/rust-cache/compare/v1.0.0...v2)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 10:49:15 +00:00
Conrado Gouvea 5ce9ba1364
frost-rerandomized: add serde feature (#449) 2023-08-14 10:44:59 +00:00
Conrado Gouvea 9413b49c05
Update test vectors (#438)
update test vectors to final version (v1) and update spec links
2023-08-14 10:39:15 +00:00
natalie b3a7927d7f
Add validation for missing identifier in signing package (#452)
* Add validation for missing identifier in signing package (#442)

* Add error handling for identifier having an invalid commitment (#442)

* Fixed comment (#442)

* Improve comment for number of signers validation

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>

---------

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
2023-07-26 22:24:11 -03:00
dependabot[bot] ae12187367
Update curve25519-dalek requirement from =4.0.0-rc.3 to =4.0.0 (#450)
Updates the requirements on [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek) to permit the latest version.
- [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases)
- [Commits](https://github.com/dalek-cryptography/curve25519-dalek/compare/4.0.0-rc.3...curve25519-4.0.0)

---
updated-dependencies:
- dependency-name: curve25519-dalek
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-24 15:05:53 +00:00
Conrado Gouvea 9b5d88da72
refactor Lagrange coefficient computation (#436)
* refactor Lagrange coefficient computation

* A line

* Apply suggestions from code review

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>

* address review comments; make compute_lagrange_coefficients() not pub by default

---------

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2023-07-19 16:47:09 +00:00
Antonín Dufka 46527085d5
fix curve name in frost-secp256k1 crate description (#435) 2023-07-10 16:52:33 +00:00
Conrado Gouvea 5fa17ed15c
update versions and changelog for 0.6.0 (#434)
* update versions and changelog for 0.6.0

* fix typos
2023-07-05 14:04:05 +00:00
Conrado Gouvea b8ca1678a4
remove stale TODOs (#431) 2023-07-05 13:19:25 +00:00
Deirdre Connolly 404cc361fd
Include the group public key in computing the binding factor (#410)
* 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>
2023-07-05 13:19:19 +00:00