Commit Graph

63 Commits

Author SHA1 Message Date
dependabot[bot] 7fba86605f
Bump frost-rerandomized from 1.0.0-rc.0 to 1.0.0 (#118)
Bumps [frost-rerandomized](https://github.com/ZcashFoundation/frost) from 1.0.0-rc.0 to 1.0.0.
- [Release notes](https://github.com/ZcashFoundation/frost/releases)
- [Commits](https://github.com/ZcashFoundation/frost/compare/frost-rerandomized/v1.0.0-rc.0...frost-rerandomized/v1.0.0)

---
updated-dependencies:
- dependency-name: frost-rerandomized
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-28 17:01:19 -03:00
dependabot[bot] 5640ac256f
Bump num-traits from 0.2.17 to 0.2.18 (#116)
Bumps [num-traits](https://github.com/rust-num/num-traits) from 0.2.17 to 0.2.18.
- [Changelog](https://github.com/rust-num/num-traits/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-num/num-traits/compare/num-traits-0.2.17...num-traits-0.2.18)

---
updated-dependencies:
- dependency-name: num-traits
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-28 16:44:13 -03:00
Conrado Gouvea 397f5018cf
update to frost-rerandomized 1.0.0-rc.0 (#92)
* update to frost-rerandomized close to 1.0.0-rc.0

* point to 1.0.0-rc.0
2023-11-22 14:20:05 -03:00
Conrado Gouvea 25ca7c22df
add DEVELOPERS.md (#73) 2023-11-22 14:19:52 -03:00
dependabot[bot] d5a51f1540
Bump proptest from 1.3.1 to 1.4.0 (#91)
Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/proptest-rs/proptest/compare/v1.3.1...v1.4.0)

---
updated-dependencies:
- dependency-name: proptest
  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-11-15 11:44:08 -03:00
dependabot[bot] 385e9b661d
Bump proptest from 1.2.0 to 1.3.1 (#84)
Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.2.0 to 1.3.1.
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/proptest-rs/proptest/compare/v1.2.0...v1.3.1)

---
updated-dependencies:
- dependency-name: proptest
  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-10-23 19:50:59 -03:00
dependabot[bot] 7f2d9e7763
Bump criterion from 0.4.0 to 0.5.1 (#85)
Bumps [criterion](https://github.com/bheisler/criterion.rs) from 0.4.0 to 0.5.1.
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.4.0...0.5.1)

---
updated-dependencies:
- dependency-name: criterion
  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-10-23 19:44:53 -03:00
dependabot[bot] a3b9744d7b
Bump proptest-derive from 0.3.0 to 0.4.0 (#83)
Bumps [proptest-derive](https://github.com/proptest-rs/proptest) from 0.3.0 to 0.4.0.
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/0.4.0/CHANGELOG.md)
- [Commits](https://github.com/proptest-rs/proptest/compare/proptest-derive-0.3.0...0.4.0)

---
updated-dependencies:
- dependency-name: proptest-derive
  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-10-23 19:33:20 -03:00
dependabot[bot] 3429815d00
Bump byteorder from 1.4.3 to 1.5.0 (#81)
Bumps [byteorder](https://github.com/BurntSushi/byteorder) from 1.4.3 to 1.5.0.
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.4.3...1.5.0)

---
updated-dependencies:
- dependency-name: byteorder
  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-10-23 19:09:47 -03:00
dependabot[bot] 6e9251bc0d
Bump num-traits from 0.2.16 to 0.2.17 (#78)
Bumps [num-traits](https://github.com/rust-num/num-traits) from 0.2.16 to 0.2.17.
- [Changelog](https://github.com/rust-num/num-traits/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-num/num-traits/compare/num-traits-0.2.16...num-traits-0.2.17)

---
updated-dependencies:
- dependency-name: num-traits
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 19:06:47 -03:00
Conrado Gouvea ac524000e1
frost: incorporate recent fixes; add into_positive_y() to redpallas (#68)
* expose dkg module

* fix dkg compiling issues

* incorporate frost repo fixes; add into_positive_y() for RedPallas

* don't use all features in MSRV test

* remove unneeded frost-rerandomized import in dev-dependencies

* bump frost-rerandomized rev

* update to frost-rerandomized 0.7.0

* commit lockfile; update CI test to match
2023-10-03 21:12:01 +01:00
Conrado Gouvea b1bbad7bac
update FROST (#67) 2023-07-11 12:34:21 -03:00
Marek 4f8ce48cd5
change: Refactor & optimize the NAF (#63)
* Make the NAF function generic

* Use the `jubjub` prefix for Jubjub types in tests

* Add tests for the NAF for Jubjub & Pallas scalars

* Use Rust's TryInto for [u8; 32]

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>

* Simplify the scalar conversion

* Revert "Simplify the scalar conversion"

This reverts commit f50ff9dd8a.

* Revert "Use Rust's TryInto for [u8; 32]"

This reverts commit 282c3b16ac.

---------

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
2023-04-25 14:51:13 -03:00
Conrado Gouvea f8ad8ea992
update to frost-rerandomized 0.2.0; change keygen_with_dealer to return HashMap (#59) 2023-04-20 22:00:17 +02:00
Conrado Gouvea 50620fc2f4
bump to 0.5.0; don't enable frost-rerandomized with std (#48)
* bump to 0.4.1; don't enable frost-rerandomized with std

* Apply suggestions from code review

Co-authored-by: str4d <thestr4d@gmail.com>

* add rust-version to Cargo.toml

* use published version of frost-rerandomized

---------

Co-authored-by: str4d <thestr4d@gmail.com>
2023-03-09 17:05:07 -03:00
str4d eadc48879a
Migrate to `group` 0.13, `jubjub` 0.10, `pasta_curves` 0.5 (#44) 2023-02-28 14:59:05 -03:00
Conrado Gouvea 08bb408846
add Pallas and Jubjub ciphersuites and FROST support (#33)
* clippy fixes; remove old FROST code

* add RedPallas ciphersuite and FROST support

* organized code

* simplified version

* remove randomized_frost; point to frost-randomized crate

* move rerandomized test to frost-rerandomized; clean up dependencies; add 'frost' feature

* remove stale comment

* add Jubjub support

* add torsion and identity checks where needed; tests

* Apply suggestions from code review

Co-authored-by: Marek <mail@marek.onl>

* Apply suggestions from code review

Co-authored-by: Marek <mail@marek.onl>

* change Jubjub serialize() to use to_bytes(); add comment to Pallas serialize()

* update frost-rerandomized version

* unpin nightly Rust in coverage.yaml

* fix conditional hex dependency

* move FROST code inside frost folder

* Apply suggestions from code review

Co-authored-by: Marek <mail@marek.onl>

---------

Co-authored-by: Marek <mail@marek.onl>
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2023-02-28 00:01:50 +01:00
Deirdre Connolly 507dcdf695 Release 0.4.0 2023-01-30 22:25:00 -05:00
Conrado Gouvea 805ef4b5c0
port improvements from Zebra (#40)
* simplify fmt::Debug impls with new hex_if_possible()

* Update src/signature.rs authors

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2023-01-30 16:16:53 -05:00
dependabot[bot] 5e98bcf4f6 Update criterion requirement from 0.3 to 0.4
Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs) to permit the latest version.
- [Release notes](https://github.com/bheisler/criterion.rs/releases)
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.3.0...0.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 19:19:12 -05:00
Tomas Krnak 14d4622619
Fix alloc feature (#28)
* Fix alloc feature

* Update Cargo.toml

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
2022-09-12 16:45:43 -03:00
Conrado Gouvea 51b1519b0c fix category (no_std -> no-std) 2022-05-13 15:25:01 -04:00
Conrado Gouvea 4b25d06c5d
v0.3.0 release (#24) 2022-05-10 19:36:35 -03:00
Tomas Krnak ed11f440ce
Add `no-std` support (#11)
* Add no_std support

* Update CHANGELOG

* Remove unused alloc feature flag

* Remove a forgotten comment

Co-authored-by: str4d <thestr4d@gmail.com>

* Make zeroize dependency optional

* Add alloc feature flag

* Clean the code by outer attributes

* use 2021 edition

Co-authored-by: str4d <thestr4d@gmail.com>
Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
2022-05-06 11:57:45 -03:00
Jack Grigg 0e912de300 Migrate to `group` 0.12
Also noted that MSRV was bumped (accidentally) to 1.56 in the previous
release, and updated `rust-toolchain` to reflect it.
2022-05-05 18:23:07 -04:00
str4d cadc865816
Migrate to pasta_curves 0.3, blake2b_simd 1 (#10)
* Migrate to pasta_curves 0.3, blake2b_simd 1

Also removes the unused digest dependency.

* reddsa 0.2.0

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2022-01-19 17:53:05 -05:00
Jack Grigg 7b1229a692 reddsa 0.1.0 2021-11-19 23:09:00 +00:00
Jack Grigg 0627048eba Add Orchard signature types for RedPallas 2021-11-18 21:16:07 +00:00
Jack Grigg 878dd1351b Introduce SpendAuth: SigType and Binding: SigType traits
The prior `SpendAuth` and `Binding` enums have been renamed to
`sapling::{SpendAuth, Binding}`. These might subsequently be removed
from the crate entirely (moving into a wrapping `redjubjub` crate).

The code assumes that scalar and point representations are [u8; 32],
which will be the case for all curves we instantiate RedDSA with for
Zcash.
2021-11-18 21:15:03 +00:00
Jack Grigg 7e80588550 Rename crate to reddsa 2021-11-18 21:14:08 +00:00
dependabot[bot] 2f240d885d
Update jubjub requirement from 0.7 to 0.8 (#131)
* Update jubjub requirement from 0.7 to 0.8

Updates the requirements on [jubjub](https://github.com/zkcrypto/jubjub) to permit the latest version.
- [Release notes](https://github.com/zkcrypto/jubjub/releases)
- [Changelog](https://github.com/zkcrypto/jubjub/blob/main/RELEASES.md)
- [Commits](https://github.com/zkcrypto/jubjub/commits/0.8.0)

---
updated-dependencies:
- dependency-name: jubjub
  dependency-type: direct:production
...
2021-11-18 15:24:11 -03:00
Jack Grigg f772176560 jubjub 0.7 2021-06-18 14:05:08 -04:00
Alfredo Garcia fa3c602698
Implement the messages spec (#114)
* start messages and validation

* add missing docs to constants

* change validation to matches, fix constant doc

Co-authored-by: teor <teor@riseup.net>

* fix the build

* validate share_commitment

* add new constants and validations

* fix validation

* derive serde Serialize and Deserialize in all messages structs

* update created structs

Co-authored-by: teor <teor@riseup.net>

* fix build

* define and use a new MAX_SIGNERS constant

* change group_public type

* add some test cases

* add validation and serialization tests for SigningCommitments

* add validation and serialization test to SigningPackage

* change some fields order matching the spec

* fix field order in tests according to last updates to the spec

* implement serialize and deserialize for ParticipantId

* move serde-json to dev-dependencies section

* change to pub(crate)

* fix serialize of VerificationKey

* add assert to serialize

* add note, fix typo

* improve some code in tests

* test serialization of individual fields

* start messages and validation

* add missing docs to constants

* change validation to matches, fix constant doc

Co-authored-by: teor <teor@riseup.net>

* fix the build

* validate share_commitment

* add new constants and validations

* fix validation

* define and use a new MAX_SIGNERS constant

* change group_public type

* change some fields order matching the spec

* change message fields to new spec

* remove some non needed conversions

* use a BTreeMap to guarantee the order

* remove some calls to `clone()` by implementing `Copy`

* change message type in frost and add validate_signatureshare test

* change `share_commitment` to BTreeMap

* add `serialize_signatureshare` test

* add aggregatesignature tests

* add some test header messages utility functions

* add a setup utility

* move the general serialization checks into an utility function

* fi some typos

* add and use a `generate_share_commitment` utility

* add create_signing_commitments utility function

* improve the serialization tests

* make room for prop tests

* add arbitrary tests for serialization

* remove allow dead code from messages

* fix some imports

* make signature module public only to the crate

* simplify a bit the frost tests

* improve the generated docs

* add a `prop_filter` to Header arbitrary

* (ab)use proptest_derive

* improve validation for Message

* improve some utility functions

* change frost to serialization id conversion

* add a quick btreemap test

* change the `MsgType` to `u32`

* add no leftover bytes checks

* add a full_setup utility

* add map len checks

Co-authored-by: teor <teor@riseup.net>
2021-06-16 16:13:23 -03:00
Alfredo Garcia 11ccf5de37 update byteorder 2021-05-20 16:21:38 -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
Deirdre Connolly 2f3f5068aa
Prepare 0.3.0 release (#72) 2021-03-31 17:03:08 -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
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
Henry de Valence 233294d701 Bump version to 0.2.2 2020-07-15 12:42:14 -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 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
dependabot-preview[bot] 1179d50fa8 Update proptest requirement from 0.9 to 0.10
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/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-09 16:25:28 -04:00
Henry de Valence aa023b428e Bump version and update changelog. 2020-01-17 10:28:12 -08:00
Henry de Valence 68deca90bf crates.io only allows 5 keywords 2019-12-09 13:58:42 -08:00
Henry de Valence c20139bbf7 Rename to just `redjubjub`. 2019-12-09 13:54:10 -08:00