Skip to content

Commit d048057

Browse files
authored
1.0.0 release (#615)
1 parent 9a8836f commit d048057

File tree

10 files changed

+66
-34
lines changed

10 files changed

+66
-34
lines changed

README.md

+27-3
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,33 @@ Refer to the [ZF FROST book](https://frost.zfnd.org/).
4040
## Status ⚠
4141

4242
The FROST specification is not yet finalized, though no significant changes are
43-
expected at this point. This code base has been audited by NCC. The APIs and
44-
types in `frost-core` are subject to change during the release candidate phase,
45-
and will follow SemVer guarantees after 1.0.0.
43+
expected at this point. This code base has been partially audited by NCC, see
44+
below for details. The APIs and types in the crates contained in this repository
45+
follow SemVer guarantees.
46+
47+
### NCC Audit
48+
49+
NCC performed [an
50+
audit](https://research.nccgroup.com/2023/10/23/public-report-zcash-frost-security-assessment/)
51+
of the v0.6.0 release (corresponding to commit 5fa17ed) of the following crates:
52+
53+
- frost-core
54+
- frost-ed25519
55+
- frost-ed448
56+
- frost-p256
57+
- frost-secp256k1
58+
- frost-ristretto255
59+
60+
This includes key generation (both trusted dealer and DKG) and FROST signing.
61+
This does not include rerandomized FROST.
62+
63+
The parts of the
64+
[`Ed448-Goldilocks`](https://github.com/crate-crypto/Ed448-Goldilocks)
65+
dependency that are used by `frost-ed448` were also in scope, namely the
66+
elliptic curve operations.
67+
68+
All issues identified in the audit were addressed by us and reviewed by NCC.
69+
4670

4771
## Usage
4872

book/src/tutorial/importing.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Add to your `Cargo.toml` file:
66

77
```
88
[dependencies]
9-
frost-ristretto255 = "1.0.0-rc.0"
9+
frost-ristretto255 = "1.0.0"
1010
```
1111

1212
## Handling errors

frost-core/CHANGELOG.md

+10-2
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,18 @@ Entries are listed in reverse chronological order.
44

55
## Unreleased
66

7+
## Released
8+
9+
## 1.0.0
10+
711
* Exposed the `SigningKey::from_scalar()` and `to_scalar()` methods. This
812
helps interoperability with other implementations.
9-
10-
## Released
13+
* Exposed the `SigningNonces::from_nonces()` method to allow it to be
14+
deserialized.
15+
* Fixed bug that prevented deserialization with in some cases (e.g. JSON
16+
containing escape codes).
17+
* Added `new()` methods for `VerifirableSecretSharingCommitment` and
18+
`CoefficientCommitment`.
1119

1220
## 1.0.0-rc.0
1321

frost-core/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ edition = "2021"
44
# When releasing to crates.io:
55
# - Update CHANGELOG.md
66
# - Create git tag.
7-
version = "1.0.0-rc.0"
7+
version = "1.0.0"
88
authors = [
99
"Deirdre Connolly <[email protected]>",
1010
"Chelsea Komlo <[email protected]>",

frost-ed25519/Cargo.toml

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ edition = "2021"
55
# - Update html_root_url
66
# - Update CHANGELOG.md
77
# - Create git tag.
8-
version = "1.0.0-rc.0"
8+
version = "1.0.0"
99
authors = [
1010
"Deirdre Connolly <[email protected]>",
1111
"Chelsea Komlo <[email protected]>",
@@ -25,15 +25,15 @@ rustdoc-args = ["--cfg", "docsrs"]
2525
[dependencies]
2626
curve25519-dalek = { version = "=4.1.2", features = ["rand_core"] }
2727
document-features = "0.2.7"
28-
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
29-
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
28+
frost-core = { path = "../frost-core", version = "1.0.0" }
29+
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
3030
rand_core = "0.6"
3131
sha2 = "0.10.2"
3232

3333
[dev-dependencies]
3434
criterion = "0.5"
35-
frost-core = { path = "../frost-core", version = "1.0.0-rc.0", features = ["test-impl"] }
36-
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0", features = ["test-impl"] }
35+
frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] }
36+
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
3737
ed25519-dalek = "2.0.0"
3838
insta = { version = "1.31.0", features = ["yaml"] }
3939
hex = "0.4.3"

frost-ed448/Cargo.toml

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ edition = "2021"
44
# When releasing to crates.io:
55
# - Update CHANGELOG.md
66
# - Create git tag.
7-
version = "1.0.0-rc.0"
7+
version = "1.0.0"
88
authors = [
99
"Deirdre Connolly <[email protected]>",
1010
"Chelsea Komlo <[email protected]>",
@@ -24,15 +24,15 @@ rustdoc-args = ["--cfg", "docsrs"]
2424
[dependencies]
2525
document-features = "0.2.7"
2626
ed448-goldilocks = { version = "0.9.0" }
27-
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
28-
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
27+
frost-core = { path = "../frost-core", version = "1.0.0" }
28+
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
2929
rand_core = "0.6"
3030
sha3 = "0.10.6"
3131

3232
[dev-dependencies]
3333
criterion = "0.5"
34-
frost-core = { path = "../frost-core", version = "1.0.0-rc.0", features = ["test-impl"] }
35-
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0", features = ["test-impl"] }
34+
frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] }
35+
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
3636
lazy_static = "1.4"
3737
insta = { version = "1.31.0", features = ["yaml"] }
3838
hex = "0.4.3"

frost-p256/Cargo.toml

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ edition = "2021"
55
# - Update html_root_url
66
# - Update CHANGELOG.md
77
# - Create git tag.
8-
version = "1.0.0-rc.0"
8+
version = "1.0.0"
99
authors = [
1010
"Deirdre Connolly <[email protected]>",
1111
"Chelsea Komlo <[email protected]>",
@@ -25,15 +25,15 @@ rustdoc-args = ["--cfg", "docsrs"]
2525
[dependencies]
2626
document-features = "0.2.7"
2727
p256 = { version = "0.13.0", features = ["hash2curve"] }
28-
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
29-
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
28+
frost-core = { path = "../frost-core", version = "1.0.0" }
29+
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
3030
rand_core = "0.6"
3131
sha2 = "0.10.2"
3232

3333
[dev-dependencies]
3434
criterion = "0.5"
35-
frost-core = { path = "../frost-core", version = "1.0.0-rc.0", features = ["test-impl"] }
36-
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0", features = ["test-impl"] }
35+
frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] }
36+
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
3737
insta = { version = "1.31.0", features = ["yaml"] }
3838
hex = "0.4.3"
3939
lazy_static = "1.4"

frost-rerandomized/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ edition = "2021"
55
# - Update html_root_url
66
# - Update CHANGELOG.md
77
# - Create git tag.
8-
version = "1.0.0-rc.0"
8+
version = "1.0.0"
99
authors = ["Deirdre Connolly <[email protected]>", "Chelsea Komlo <[email protected]>",
1010
"Conrado Gouvea <[email protected]>"]
1111
readme = "README.md"
@@ -22,7 +22,7 @@ rustdoc-args = ["--cfg", "docsrs"]
2222
[dependencies]
2323
derive-getters = "0.3.0"
2424
document-features = "0.2.7"
25-
frost-core = { path = "../frost-core", version = "1.0.0-rc.0", features = ["internals"] }
25+
frost-core = { path = "../frost-core", version = "1.0.0", features = ["internals"] }
2626
rand_core = "0.6"
2727

2828
[dev-dependencies]

frost-ristretto255/Cargo.toml

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ edition = "2021"
55
# - Update html_root_url
66
# - Update CHANGELOG.md
77
# - Create git tag.
8-
version = "1.0.0-rc.0"
8+
version = "1.0.0"
99
authors = ["Deirdre Connolly <[email protected]>", "Chelsea Komlo <[email protected]>", "Conrado Gouvea <[email protected]>"]
1010
readme = "README.md"
1111
license = "MIT OR Apache-2.0"
@@ -21,15 +21,15 @@ rustdoc-args = ["--cfg", "docsrs"]
2121
[dependencies]
2222
curve25519-dalek = { version = "=4.1.2", features = ["serde", "rand_core"] }
2323
document-features = "0.2.7"
24-
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
25-
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
24+
frost-core = { path = "../frost-core", version = "1.0.0" }
25+
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
2626
rand_core = "0.6"
2727
sha2 = "0.10.2"
2828

2929
[dev-dependencies]
3030
criterion = { version = "0.5", features = ["html_reports"] }
31-
frost-core = { path = "../frost-core", version = "1.0.0-rc.0", features = ["test-impl"] }
32-
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0", features = ["test-impl"] }
31+
frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] }
32+
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
3333
insta = { version = "1.31.0", features = ["yaml"] }
3434
hex = "0.4.3"
3535
lazy_static = "1.4"

frost-secp256k1/Cargo.toml

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ edition = "2021"
44
# When releasing to crates.io:
55
# - Update CHANGELOG.md
66
# - Create git tag.
7-
version = "1.0.0-rc.0"
7+
version = "1.0.0"
88
authors = [
99
"Deirdre Connolly <[email protected]>",
1010
"Chelsea Komlo <[email protected]>",
@@ -23,16 +23,16 @@ rustdoc-args = ["--cfg", "docsrs"]
2323

2424
[dependencies]
2525
document-features = "0.2.7"
26-
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
27-
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
26+
frost-core = { path = "../frost-core", version = "1.0.0" }
27+
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
2828
k256 = { version = "0.13.0", features = ["arithmetic", "expose-field", "hash2curve"] }
2929
rand_core = "0.6"
3030
sha2 = "0.10.2"
3131

3232
[dev-dependencies]
3333
criterion = "0.5"
34-
frost-core = { path = "../frost-core", version = "1.0.0-rc.0", features = ["test-impl"] }
35-
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0", features = ["test-impl"] }
34+
frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] }
35+
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
3636
insta = { version = "1.31.0", features = ["yaml"] }
3737
hex = "0.4.3"
3838
lazy_static = "1.4"

0 commit comments

Comments
 (0)