Skip to content

Commit

Permalink
1.0.0 release (#615)
Browse files Browse the repository at this point in the history
  • Loading branch information
conradoplg committed Feb 19, 2024
1 parent 9a8836f commit d048057
Show file tree
Hide file tree
Showing 10 changed files with 66 additions and 34 deletions.
30 changes: 27 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,33 @@ Refer to the [ZF FROST book](https://frost.zfnd.org/).
## Status ⚠

The FROST specification is not yet finalized, though no significant changes are
expected at this point. This code base has been audited by NCC. The APIs and
types in `frost-core` are subject to change during the release candidate phase,
and will follow SemVer guarantees after 1.0.0.
expected at this point. This code base has been partially audited by NCC, see
below for details. The APIs and types in the crates contained in this repository
follow SemVer guarantees.

### NCC Audit

NCC performed [an
audit](https://research.nccgroup.com/2023/10/23/public-report-zcash-frost-security-assessment/)
of the v0.6.0 release (corresponding to commit 5fa17ed) of the following crates:

- frost-core
- frost-ed25519
- frost-ed448
- frost-p256
- frost-secp256k1
- frost-ristretto255

This includes key generation (both trusted dealer and DKG) and FROST signing.
This does not include rerandomized FROST.

The parts of the
[`Ed448-Goldilocks`](https://github.com/crate-crypto/Ed448-Goldilocks)
dependency that are used by `frost-ed448` were also in scope, namely the
elliptic curve operations.

All issues identified in the audit were addressed by us and reviewed by NCC.


## Usage

Expand Down
2 changes: 1 addition & 1 deletion book/src/tutorial/importing.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Add to your `Cargo.toml` file:

```
[dependencies]
frost-ristretto255 = "1.0.0-rc.0"
frost-ristretto255 = "1.0.0"
```

## Handling errors
Expand Down
12 changes: 10 additions & 2 deletions frost-core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,18 @@ Entries are listed in reverse chronological order.

## Unreleased

## Released

## 1.0.0

* Exposed the `SigningKey::from_scalar()` and `to_scalar()` methods. This
helps interoperability with other implementations.

## Released
* Exposed the `SigningNonces::from_nonces()` method to allow it to be
deserialized.
* Fixed bug that prevented deserialization with in some cases (e.g. JSON
containing escape codes).
* Added `new()` methods for `VerifirableSecretSharingCommitment` and
`CoefficientCommitment`.

## 1.0.0-rc.0

Expand Down
2 changes: 1 addition & 1 deletion frost-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ edition = "2021"
# When releasing to crates.io:
# - Update CHANGELOG.md
# - Create git tag.
version = "1.0.0-rc.0"
version = "1.0.0"
authors = [
"Deirdre Connolly <durumcrustulum@gmail.com>",
"Chelsea Komlo <me@chelseakomlo.com>",
Expand Down
10 changes: 5 additions & 5 deletions frost-ed25519/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ edition = "2021"
# - Update html_root_url
# - Update CHANGELOG.md
# - Create git tag.
version = "1.0.0-rc.0"
version = "1.0.0"
authors = [
"Deirdre Connolly <durumcrustulum@gmail.com>",
"Chelsea Komlo <me@chelseakomlo.com>",
Expand All @@ -25,15 +25,15 @@ rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
curve25519-dalek = { version = "=4.1.2", features = ["rand_core"] }
document-features = "0.2.7"
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
frost-core = { path = "../frost-core", version = "1.0.0" }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
rand_core = "0.6"
sha2 = "0.10.2"

[dev-dependencies]
criterion = "0.5"
frost-core = { path = "../frost-core", version = "1.0.0-rc.0", features = ["test-impl"] }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0", features = ["test-impl"] }
frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
ed25519-dalek = "2.0.0"
insta = { version = "1.31.0", features = ["yaml"] }
hex = "0.4.3"
Expand Down
10 changes: 5 additions & 5 deletions frost-ed448/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ edition = "2021"
# When releasing to crates.io:
# - Update CHANGELOG.md
# - Create git tag.
version = "1.0.0-rc.0"
version = "1.0.0"
authors = [
"Deirdre Connolly <durumcrustulum@gmail.com>",
"Chelsea Komlo <me@chelseakomlo.com>",
Expand All @@ -24,15 +24,15 @@ rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
document-features = "0.2.7"
ed448-goldilocks = { version = "0.9.0" }
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
frost-core = { path = "../frost-core", version = "1.0.0" }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
rand_core = "0.6"
sha3 = "0.10.6"

[dev-dependencies]
criterion = "0.5"
frost-core = { path = "../frost-core", version = "1.0.0-rc.0", features = ["test-impl"] }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0", features = ["test-impl"] }
frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
lazy_static = "1.4"
insta = { version = "1.31.0", features = ["yaml"] }
hex = "0.4.3"
Expand Down
10 changes: 5 additions & 5 deletions frost-p256/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ edition = "2021"
# - Update html_root_url
# - Update CHANGELOG.md
# - Create git tag.
version = "1.0.0-rc.0"
version = "1.0.0"
authors = [
"Deirdre Connolly <durumcrustulum@gmail.com>",
"Chelsea Komlo <me@chelseakomlo.com>",
Expand All @@ -25,15 +25,15 @@ rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
document-features = "0.2.7"
p256 = { version = "0.13.0", features = ["hash2curve"] }
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
frost-core = { path = "../frost-core", version = "1.0.0" }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
rand_core = "0.6"
sha2 = "0.10.2"

[dev-dependencies]
criterion = "0.5"
frost-core = { path = "../frost-core", version = "1.0.0-rc.0", features = ["test-impl"] }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0", features = ["test-impl"] }
frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
insta = { version = "1.31.0", features = ["yaml"] }
hex = "0.4.3"
lazy_static = "1.4"
Expand Down
4 changes: 2 additions & 2 deletions frost-rerandomized/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ edition = "2021"
# - Update html_root_url
# - Update CHANGELOG.md
# - Create git tag.
version = "1.0.0-rc.0"
version = "1.0.0"
authors = ["Deirdre Connolly <durumcrustulum@gmail.com>", "Chelsea Komlo <me@chelseakomlo.com>",
"Conrado Gouvea <conradoplg@gmail.com>"]
readme = "README.md"
Expand All @@ -22,7 +22,7 @@ rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
derive-getters = "0.3.0"
document-features = "0.2.7"
frost-core = { path = "../frost-core", version = "1.0.0-rc.0", features = ["internals"] }
frost-core = { path = "../frost-core", version = "1.0.0", features = ["internals"] }
rand_core = "0.6"

[dev-dependencies]
Expand Down
10 changes: 5 additions & 5 deletions frost-ristretto255/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ edition = "2021"
# - Update html_root_url
# - Update CHANGELOG.md
# - Create git tag.
version = "1.0.0-rc.0"
version = "1.0.0"
authors = ["Deirdre Connolly <durumcrustulum@gmail.com>", "Chelsea Komlo <me@chelseakomlo.com>", "Conrado Gouvea <conradoplg@gmail.com>"]
readme = "README.md"
license = "MIT OR Apache-2.0"
Expand All @@ -21,15 +21,15 @@ rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
curve25519-dalek = { version = "=4.1.2", features = ["serde", "rand_core"] }
document-features = "0.2.7"
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
frost-core = { path = "../frost-core", version = "1.0.0" }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
rand_core = "0.6"
sha2 = "0.10.2"

[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
frost-core = { path = "../frost-core", version = "1.0.0-rc.0", features = ["test-impl"] }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0", features = ["test-impl"] }
frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
insta = { version = "1.31.0", features = ["yaml"] }
hex = "0.4.3"
lazy_static = "1.4"
Expand Down
10 changes: 5 additions & 5 deletions frost-secp256k1/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ edition = "2021"
# When releasing to crates.io:
# - Update CHANGELOG.md
# - Create git tag.
version = "1.0.0-rc.0"
version = "1.0.0"
authors = [
"Deirdre Connolly <durumcrustulum@gmail.com>",
"Chelsea Komlo <me@chelseakomlo.com>",
Expand All @@ -23,16 +23,16 @@ rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
document-features = "0.2.7"
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
frost-core = { path = "../frost-core", version = "1.0.0" }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
k256 = { version = "0.13.0", features = ["arithmetic", "expose-field", "hash2curve"] }
rand_core = "0.6"
sha2 = "0.10.2"

[dev-dependencies]
criterion = "0.5"
frost-core = { path = "../frost-core", version = "1.0.0-rc.0", features = ["test-impl"] }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0", features = ["test-impl"] }
frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] }
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
insta = { version = "1.31.0", features = ["yaml"] }
hex = "0.4.3"
lazy_static = "1.4"
Expand Down

0 comments on commit d048057

Please sign in to comment.