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 ⚠
|
## Status ⚠
|
||||||
|
|
||||||
The FROST specification is not yet finalized, though no significant changes are
|
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
|
expected at this point. This code base has been partially audited by NCC, see
|
||||||
types in `frost-core` are subject to change during the release candidate phase,
|
below for details. The APIs and types in the crates contained in this repository
|
||||||
and will follow SemVer guarantees after 1.0.0.
|
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
|
## Usage
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ Add to your `Cargo.toml` file:
|
||||||
|
|
||||||
```
|
```
|
||||||
[dependencies]
|
[dependencies]
|
||||||
frost-ristretto255 = "1.0.0-rc.0"
|
frost-ristretto255 = "1.0.0"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Handling errors
|
## Handling errors
|
||||||
|
|
|
@ -4,10 +4,18 @@ Entries are listed in reverse chronological order.
|
||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
## Released
|
||||||
|
|
||||||
|
## 1.0.0
|
||||||
|
|
||||||
* Exposed the `SigningKey::from_scalar()` and `to_scalar()` methods. This
|
* Exposed the `SigningKey::from_scalar()` and `to_scalar()` methods. This
|
||||||
helps interoperability with other implementations.
|
helps interoperability with other implementations.
|
||||||
|
* Exposed the `SigningNonces::from_nonces()` method to allow it to be
|
||||||
## Released
|
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
|
## 1.0.0-rc.0
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ edition = "2021"
|
||||||
# When releasing to crates.io:
|
# When releasing to crates.io:
|
||||||
# - Update CHANGELOG.md
|
# - Update CHANGELOG.md
|
||||||
# - Create git tag.
|
# - Create git tag.
|
||||||
version = "1.0.0-rc.0"
|
version = "1.0.0"
|
||||||
authors = [
|
authors = [
|
||||||
"Deirdre Connolly <durumcrustulum@gmail.com>",
|
"Deirdre Connolly <durumcrustulum@gmail.com>",
|
||||||
"Chelsea Komlo <me@chelseakomlo.com>",
|
"Chelsea Komlo <me@chelseakomlo.com>",
|
||||||
|
|
|
@ -5,7 +5,7 @@ edition = "2021"
|
||||||
# - Update html_root_url
|
# - Update html_root_url
|
||||||
# - Update CHANGELOG.md
|
# - Update CHANGELOG.md
|
||||||
# - Create git tag.
|
# - Create git tag.
|
||||||
version = "1.0.0-rc.0"
|
version = "1.0.0"
|
||||||
authors = [
|
authors = [
|
||||||
"Deirdre Connolly <durumcrustulum@gmail.com>",
|
"Deirdre Connolly <durumcrustulum@gmail.com>",
|
||||||
"Chelsea Komlo <me@chelseakomlo.com>",
|
"Chelsea Komlo <me@chelseakomlo.com>",
|
||||||
|
@ -25,15 +25,15 @@ rustdoc-args = ["--cfg", "docsrs"]
|
||||||
[dependencies]
|
[dependencies]
|
||||||
curve25519-dalek = { version = "=4.1.2", features = ["rand_core"] }
|
curve25519-dalek = { version = "=4.1.2", features = ["rand_core"] }
|
||||||
document-features = "0.2.7"
|
document-features = "0.2.7"
|
||||||
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
|
frost-core = { path = "../frost-core", version = "1.0.0" }
|
||||||
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
|
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
|
||||||
rand_core = "0.6"
|
rand_core = "0.6"
|
||||||
sha2 = "0.10.2"
|
sha2 = "0.10.2"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
criterion = "0.5"
|
criterion = "0.5"
|
||||||
frost-core = { path = "../frost-core", 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-rc.0", features = ["test-impl"] }
|
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
|
||||||
ed25519-dalek = "2.0.0"
|
ed25519-dalek = "2.0.0"
|
||||||
insta = { version = "1.31.0", features = ["yaml"] }
|
insta = { version = "1.31.0", features = ["yaml"] }
|
||||||
hex = "0.4.3"
|
hex = "0.4.3"
|
||||||
|
|
|
@ -4,7 +4,7 @@ edition = "2021"
|
||||||
# When releasing to crates.io:
|
# When releasing to crates.io:
|
||||||
# - Update CHANGELOG.md
|
# - Update CHANGELOG.md
|
||||||
# - Create git tag.
|
# - Create git tag.
|
||||||
version = "1.0.0-rc.0"
|
version = "1.0.0"
|
||||||
authors = [
|
authors = [
|
||||||
"Deirdre Connolly <durumcrustulum@gmail.com>",
|
"Deirdre Connolly <durumcrustulum@gmail.com>",
|
||||||
"Chelsea Komlo <me@chelseakomlo.com>",
|
"Chelsea Komlo <me@chelseakomlo.com>",
|
||||||
|
@ -24,15 +24,15 @@ rustdoc-args = ["--cfg", "docsrs"]
|
||||||
[dependencies]
|
[dependencies]
|
||||||
document-features = "0.2.7"
|
document-features = "0.2.7"
|
||||||
ed448-goldilocks = { version = "0.9.0" }
|
ed448-goldilocks = { version = "0.9.0" }
|
||||||
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
|
frost-core = { path = "../frost-core", version = "1.0.0" }
|
||||||
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
|
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
|
||||||
rand_core = "0.6"
|
rand_core = "0.6"
|
||||||
sha3 = "0.10.6"
|
sha3 = "0.10.6"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
criterion = "0.5"
|
criterion = "0.5"
|
||||||
frost-core = { path = "../frost-core", 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-rc.0", features = ["test-impl"] }
|
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
|
||||||
lazy_static = "1.4"
|
lazy_static = "1.4"
|
||||||
insta = { version = "1.31.0", features = ["yaml"] }
|
insta = { version = "1.31.0", features = ["yaml"] }
|
||||||
hex = "0.4.3"
|
hex = "0.4.3"
|
||||||
|
|
|
@ -5,7 +5,7 @@ edition = "2021"
|
||||||
# - Update html_root_url
|
# - Update html_root_url
|
||||||
# - Update CHANGELOG.md
|
# - Update CHANGELOG.md
|
||||||
# - Create git tag.
|
# - Create git tag.
|
||||||
version = "1.0.0-rc.0"
|
version = "1.0.0"
|
||||||
authors = [
|
authors = [
|
||||||
"Deirdre Connolly <durumcrustulum@gmail.com>",
|
"Deirdre Connolly <durumcrustulum@gmail.com>",
|
||||||
"Chelsea Komlo <me@chelseakomlo.com>",
|
"Chelsea Komlo <me@chelseakomlo.com>",
|
||||||
|
@ -25,15 +25,15 @@ rustdoc-args = ["--cfg", "docsrs"]
|
||||||
[dependencies]
|
[dependencies]
|
||||||
document-features = "0.2.7"
|
document-features = "0.2.7"
|
||||||
p256 = { version = "0.13.0", features = ["hash2curve"] }
|
p256 = { version = "0.13.0", features = ["hash2curve"] }
|
||||||
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
|
frost-core = { path = "../frost-core", version = "1.0.0" }
|
||||||
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
|
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
|
||||||
rand_core = "0.6"
|
rand_core = "0.6"
|
||||||
sha2 = "0.10.2"
|
sha2 = "0.10.2"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
criterion = "0.5"
|
criterion = "0.5"
|
||||||
frost-core = { path = "../frost-core", 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-rc.0", features = ["test-impl"] }
|
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
|
||||||
insta = { version = "1.31.0", features = ["yaml"] }
|
insta = { version = "1.31.0", features = ["yaml"] }
|
||||||
hex = "0.4.3"
|
hex = "0.4.3"
|
||||||
lazy_static = "1.4"
|
lazy_static = "1.4"
|
||||||
|
|
|
@ -5,7 +5,7 @@ edition = "2021"
|
||||||
# - Update html_root_url
|
# - Update html_root_url
|
||||||
# - Update CHANGELOG.md
|
# - Update CHANGELOG.md
|
||||||
# - Create git tag.
|
# - Create git tag.
|
||||||
version = "1.0.0-rc.0"
|
version = "1.0.0"
|
||||||
authors = ["Deirdre Connolly <durumcrustulum@gmail.com>", "Chelsea Komlo <me@chelseakomlo.com>",
|
authors = ["Deirdre Connolly <durumcrustulum@gmail.com>", "Chelsea Komlo <me@chelseakomlo.com>",
|
||||||
"Conrado Gouvea <conradoplg@gmail.com>"]
|
"Conrado Gouvea <conradoplg@gmail.com>"]
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
@ -22,7 +22,7 @@ rustdoc-args = ["--cfg", "docsrs"]
|
||||||
[dependencies]
|
[dependencies]
|
||||||
derive-getters = "0.3.0"
|
derive-getters = "0.3.0"
|
||||||
document-features = "0.2.7"
|
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"
|
rand_core = "0.6"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
|
|
|
@ -5,7 +5,7 @@ edition = "2021"
|
||||||
# - Update html_root_url
|
# - Update html_root_url
|
||||||
# - Update CHANGELOG.md
|
# - Update CHANGELOG.md
|
||||||
# - Create git tag.
|
# - 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>"]
|
authors = ["Deirdre Connolly <durumcrustulum@gmail.com>", "Chelsea Komlo <me@chelseakomlo.com>", "Conrado Gouvea <conradoplg@gmail.com>"]
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
|
@ -21,15 +21,15 @@ rustdoc-args = ["--cfg", "docsrs"]
|
||||||
[dependencies]
|
[dependencies]
|
||||||
curve25519-dalek = { version = "=4.1.2", features = ["serde", "rand_core"] }
|
curve25519-dalek = { version = "=4.1.2", features = ["serde", "rand_core"] }
|
||||||
document-features = "0.2.7"
|
document-features = "0.2.7"
|
||||||
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
|
frost-core = { path = "../frost-core", version = "1.0.0" }
|
||||||
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
|
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
|
||||||
rand_core = "0.6"
|
rand_core = "0.6"
|
||||||
sha2 = "0.10.2"
|
sha2 = "0.10.2"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
criterion = { version = "0.5", features = ["html_reports"] }
|
criterion = { version = "0.5", features = ["html_reports"] }
|
||||||
frost-core = { path = "../frost-core", 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-rc.0", features = ["test-impl"] }
|
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
|
||||||
insta = { version = "1.31.0", features = ["yaml"] }
|
insta = { version = "1.31.0", features = ["yaml"] }
|
||||||
hex = "0.4.3"
|
hex = "0.4.3"
|
||||||
lazy_static = "1.4"
|
lazy_static = "1.4"
|
||||||
|
|
|
@ -4,7 +4,7 @@ edition = "2021"
|
||||||
# When releasing to crates.io:
|
# When releasing to crates.io:
|
||||||
# - Update CHANGELOG.md
|
# - Update CHANGELOG.md
|
||||||
# - Create git tag.
|
# - Create git tag.
|
||||||
version = "1.0.0-rc.0"
|
version = "1.0.0"
|
||||||
authors = [
|
authors = [
|
||||||
"Deirdre Connolly <durumcrustulum@gmail.com>",
|
"Deirdre Connolly <durumcrustulum@gmail.com>",
|
||||||
"Chelsea Komlo <me@chelseakomlo.com>",
|
"Chelsea Komlo <me@chelseakomlo.com>",
|
||||||
|
@ -23,16 +23,16 @@ rustdoc-args = ["--cfg", "docsrs"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
document-features = "0.2.7"
|
document-features = "0.2.7"
|
||||||
frost-core = { path = "../frost-core", version = "1.0.0-rc.0" }
|
frost-core = { path = "../frost-core", version = "1.0.0" }
|
||||||
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0-rc.0" }
|
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0" }
|
||||||
k256 = { version = "0.13.0", features = ["arithmetic", "expose-field", "hash2curve"] }
|
k256 = { version = "0.13.0", features = ["arithmetic", "expose-field", "hash2curve"] }
|
||||||
rand_core = "0.6"
|
rand_core = "0.6"
|
||||||
sha2 = "0.10.2"
|
sha2 = "0.10.2"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
criterion = "0.5"
|
criterion = "0.5"
|
||||||
frost-core = { path = "../frost-core", 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-rc.0", features = ["test-impl"] }
|
frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] }
|
||||||
insta = { version = "1.31.0", features = ["yaml"] }
|
insta = { version = "1.31.0", features = ["yaml"] }
|
||||||
hex = "0.4.3"
|
hex = "0.4.3"
|
||||||
lazy_static = "1.4"
|
lazy_static = "1.4"
|
||||||
|
|
Loading…
Reference in New Issue