Commit Graph

212 Commits

Author SHA1 Message Date
Alfredo Garcia a9ab401f97 remove non needed fields from MsgDealerBroadcast 2021-06-15 17:10:38 -04:00
Alfredo Garcia 38c11c2761 update MsgSigningPackage and MsgSignatureShare 2021-06-15 17:10:38 -04:00
Alfredo Garcia a26691ead2 update MsgCommitments 2021-06-15 17:10:38 -04:00
Alfredo Garcia 83158786fe remove msg type numbers, fix version msg 2021-06-15 17:10:38 -04:00
Alfredo Garcia 1fd96e4e6f update MsgDealerBroadcast 2021-06-15 17:10:38 -04:00
Alfredo Garcia 9e977b5926 add a messages rfc 2021-06-15 17:10:38 -04:00
Deirdre Connolly ad3d7fcd49 Split out parsing & validation of test VerificationKey from checking of signature
Also use fully secure ChaChaRng with a full seed, not just a u64.

Now that we always generate an extra proper VerificationKey for each
Tweak::ChangePubkey case, this /should/ never fail: it also helps split out the
actual verification of the signature from the parsing and validation of the key
itself.
2021-06-01 06:45:52 -04:00
Alfredo Garcia e2940a465d
Change the type of the identifiers from u8 to u64 (#110)
* Change the type of the identifiers from u8 to u64

* add a TODO

Co-authored-by: Marek <mail@marek.onl>
2021-05-28 09:06:51 -03:00
Alfredo Garcia 0c7a10522d
Add `SignatureResponse` type (#107)
* add a new `FrostSignature` type

* change name to SignatureResponse
2021-05-26 14:49:03 -03:00
Alfredo Garcia c2c581b397 change GroupCommitment to use AffinePoint 2021-05-25 13:00:23 -04:00
Alfredo Garcia 2db8e5908d change Commitment to use AffinePoint 2021-05-25 13:00:23 -04:00
Alfredo Garcia b6a27d3747 allow dead code in `KeyPackage` struct 2021-05-20 16:23:02 -04:00
Alfredo Garcia 11ccf5de37 update byteorder 2021-05-20 16:21:38 -04:00
dependabot[bot] bb5dab84de Bump actions-rs/toolchain from 1 to 1.0.7
Bumps [actions-rs/toolchain](https://github.com/actions-rs/toolchain) from 1 to 1.0.7.
- [Release notes](https://github.com/actions-rs/toolchain/releases)
- [Changelog](https://github.com/actions-rs/toolchain/blob/master/CHANGELOG.md)
- [Commits](https://github.com/actions-rs/toolchain/compare/v1...v1.0.7)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-20 16:18:35 -04:00
dependabot[bot] fe19cace5b Bump actions-rs/cargo from 1 to 1.0.3
Bumps [actions-rs/cargo](https://github.com/actions-rs/cargo) from 1 to 1.0.3.
- [Release notes](https://github.com/actions-rs/cargo/releases)
- [Changelog](https://github.com/actions-rs/cargo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/actions-rs/cargo/compare/v1...v1.0.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-20 16:18:17 -04:00
dependabot[bot] fb4753face Bump actions/checkout from 2 to 2.3.4
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 2.3.4.
- [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/v2...v2.3.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-20 16:18:01 -04:00
dependabot[bot] 639f987eca Bump codecov/codecov-action from 1 to 1.5.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1 to 1.5.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...v1.5.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-20 16:17:02 -04:00
teor f7c153575b
Put variable-length fields last (#103)
This helps prevent parsing issues in other implementations.
2021-05-19 08:43:02 -03:00
Alfredo Garcia 4cec6f87b4
use rust in code sample of the README (#96) 2021-05-17 14:48:24 +02:00
Alfredo Garcia b77b090afb
fix typo in a comment (#97) 2021-05-17 14:47:12 +02:00
Alfredo Garcia ace14ebae7 Fix a small typo 2021-05-05 14:53:28 -04:00
Deirdre Connolly 4ef6d3306d
Bump to 0.4.0 (#75) 2021-04-03 10:18:33 -04:00
Deirdre Connolly 2949f9a3f9 Upgrade rand, rand_core, and rand_chacha together 2021-04-03 10:16:21 -04:00
Jack Grigg 3571be2184 Migrate to jubjub 0.6 2021-04-03 09:48:53 -04:00
Marek d7a9ddc6b7 Derive Debug, PartialEq 2021-04-01 15:06:07 -04:00
Marek 7cf6eeb9e4 Add comments 2021-04-01 15:05:24 -04:00
Marek ba4b89c80a Restrict the maximum number of participants to 255 by using u8 2021-04-01 15:05:24 -04:00
Deirdre Connolly d8585d5511
Add Release Drafter bot (#74) 2021-04-01 10:17:33 -04:00
Deirdre Connolly 84d0fb60e2
Link to FROST security audit from module doc (#73) 2021-03-31 17:45:34 -04:00
Deirdre Connolly 2f3f5068aa
Prepare 0.3.0 release (#72) 2021-03-31 17:03:08 -04:00
Deirdre Connolly 8a1cdba91f Add FROST audit pdf to root of repo 2021-03-29 13:19:22 -04:00
Chelsea H. Komlo 76ba4ef1cb add additional documentation for aggregator threat model 2021-03-23 11:47:22 -04:00
Marek 6481d0af91 Add comments to the checks 2021-03-23 11:46:41 -04:00
Marek 3e28bf6c07 Avoid null nonces 2021-03-23 11:46:41 -04:00
Deirdre Connolly 5feb6b29c7
Fix some FROST nits (#63)
* Impl DefaultIsZeros for every type that uses jubjub::Fr/Scalar

This requires Copy and Clone along with Default. If we do not want to include those, we can impl Zeroize and Drop directly.

* Hash signature message with HStar before deriving the binding factor

To avoid a collision, we should hash our input message, our 'standard' hash is HStar, which uses a domain separator already, and is the same one that generates the binding factor.

* Add a comment about why we hash the signature message before generating the binding factor

* Add comments on how we Zeroize

* Consume nonces with sign()

We want to make sure that the nonces we use when signing are Drop'd
(and thus Zeroize'd) when they go out of scope, so we must move participant_nonces into sign()
2021-03-23 11:46:17 -04:00
dependabot[bot] e40313263c Update proptest requirement from 0.10 to 1.0
Updates the requirements on [proptest](https://github.com/altsysrq/proptest) to permit the latest version.
- [Release notes](https://github.com/altsysrq/proptest/releases)
- [Changelog](https://github.com/AltSysrq/proptest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/altsysrq/proptest/compare/0.10.0...1.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-03 17:54:04 -05:00
Jack Grigg baa3f4bb30 Fix binding_batch_verify test to actually test Binding signatures 2021-03-03 17:51:59 -05:00
Deirdre Connolly 2ebc08f910
Frost keygen with dealer (#47)
Implements FROST (Flexible Round Optimized Schnorr Threshold Signatures, https://eprint.iacr.org/2020/852) where key generation is performed by a trusted dealer. 

Future work will include implementing distributed key generation and re-randomizability. 

Co-authored-by: Chelsea Komlo <me@chelseakomlo.com>
Co-authored-by: Isis Lovecruft <isis@patternsinthevoid.net>
2021-02-25 09:06:54 -07:00
Deirdre Connolly 1e8fd460fe
Add CodeCov config file (#51)
* Add CodeCov config file

* Consistent indentation
2021-01-19 20:16:54 -05:00
Deirdre Connolly 46939967d4 Add source-based coverage workflow 2021-01-19 19:58:10 -05:00
Henry de Valence fa6fe658bb Merge branch 'release/0.2.2' into main 2020-07-15 12:44:24 -07:00
Henry de Valence 233294d701 Bump version to 0.2.2 2020-07-15 12:42:14 -07:00
Henry de Valence 7424cababb
Add batch::Item::verify_single and Item: Clone + Debug. (#39)
This closes a gap in the API where it was impossible to retry items in a failed
batch, because the opaque Item type could not be verified individually.
2020-07-15 12:38:43 -07:00
Henry de Valence 3c4e72d241 crypto is not a category 2020-07-09 11:54:58 -07:00
Henry de Valence cc50b23713 Bump version to 0.2.1 2020-07-09 11:52:30 -07:00
Henry de Valence 00007d0332 Update Cargo.toml metadata 2020-07-09 11:50:53 -07:00
Henry de Valence eb5714779c release: update CHANGELOG and version. 2020-07-09 10:30:01 -07:00
Deirdre Connolly b521ffb17f Fix benches 2020-07-05 00:22:08 -04:00
Deirdre Connolly ba256655dd
Optimized batch verification (#36)
* Pulls in some traits and methods from curve25519-dalek around the
vartime multiscalar multiplication.

* Move scalar mul things we want to upstream to jubjub to their own crate

* Make Verify agnostic to the SigType

Co-authored-by: Henry de Valence <hdevalence@hdevalence.ca>
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
2020-07-03 18:23:28 -04:00
Deirdre Connolly f27b9c3c77
Change terminology to signing, verification keys (#35)
Matches ed25519-zebra.

Resolves #33
2020-06-25 11:56:29 -07:00