1.0.0 release (#615)
This commit is contained in:
parent
9a8836fedd
commit
d048057a21
30
README.md
30
README.md
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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>",
|
||||
|
|
|
@ -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>",
|
||||
|
@ -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"
|
||||
|
|
|
@ -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>",
|
||||
|
@ -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"
|
||||
|
|
|
@ -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>",
|
||||
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
@ -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]
|
||||
|
|
|
@ -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"
|
||||
|
@ -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"
|
||||
|
|
|
@ -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>",
|
||||
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue