diff --git a/Cargo.toml b/Cargo.toml index a96c1ad8e..0d8a0e24b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,6 @@ members = ["aead", "commitment", "crhf", "elgamal", "merkle_tree", "pcs", "plonk resolver = "2" [workspace.package] -version = "0.4.4" authors = ["Espresso Systems "] edition = "2021" license = "MIT" diff --git a/aead/Cargo.toml b/aead/Cargo.toml index b014a3ac8..7a470c3aa 100644 --- a/aead/Cargo.toml +++ b/aead/Cargo.toml @@ -24,7 +24,7 @@ serde = { workspace = true } [dev-dependencies] bincode = "1.3" -jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5" } +jf-utils = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5" } rand_chacha = { workspace = true } [features] diff --git a/elgamal/Cargo.toml b/elgamal/Cargo.toml index 3bc087034..25c7fbb31 100644 --- a/elgamal/Cargo.toml +++ b/elgamal/Cargo.toml @@ -17,8 +17,8 @@ ark-serialize = { workspace = true } ark-std = { workspace = true } derivative = { workspace = true } displaydoc = { workspace = true } -jf-relation = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", optional = true, default-features = false } -jf-rescue = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-relation = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", optional = true, default-features = false } +jf-rescue = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } rayon = { version = "1.5.0", optional = true } zeroize = { version = "1.5", default-features = false } @@ -27,7 +27,7 @@ ark-ed-on-bls12-377 = "0.4.0" ark-ed-on-bls12-381 = "0.4.0" ark-ed-on-bls12-381-bandersnatch = "0.4.0" ark-ed-on-bn254 = "0.4.0" -jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5" } +jf-utils = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5" } [features] default = ["parallel"] diff --git a/merkle_tree/Cargo.toml b/merkle_tree/Cargo.toml index ad0755ddc..e0caa0495 100644 --- a/merkle_tree/Cargo.toml +++ b/merkle_tree/Cargo.toml @@ -23,9 +23,9 @@ digest = { workspace = true } displaydoc = { workspace = true } hashbrown = { workspace = true } itertools = { workspace = true, features = ["use_alloc"] } -jf-relation = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", optional = true, default-features = false } -jf-rescue = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } -jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-relation = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", optional = true, default-features = false } +jf-rescue = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-utils = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } num-bigint = { workspace = true } num-traits = { version = "0.2.15", default-features = false } serde = { workspace = true } diff --git a/pcs/Cargo.toml b/pcs/Cargo.toml index 52a4fe8c5..202f5d115 100644 --- a/pcs/Cargo.toml +++ b/pcs/Cargo.toml @@ -24,7 +24,7 @@ icicle-bn254 = { git = "https://github.com/ingonyama-zk/icicle.git", tag = "v1.5 icicle-core = { git = "https://github.com/ingonyama-zk/icicle.git", tag = "v1.5.1", optional = true } icicle-cuda-runtime = { git = "https://github.com/ingonyama-zk/icicle.git", tag = "v1.5.1", optional = true } itertools = { workspace = true, features = ["use_alloc"] } -jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-utils = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } merlin = { workspace = true } rayon = { version = "1.5.0", optional = true } diff --git a/plonk/Cargo.toml b/plonk/Cargo.toml index 5c5e0898a..fdb74739b 100644 --- a/plonk/Cargo.toml +++ b/plonk/Cargo.toml @@ -20,11 +20,11 @@ dyn-clone = "^1.0" espresso-systems-common = { git = "https://github.com/espressosystems/espresso-systems-common", tag = "0.4.0" } hashbrown = { workspace = true } itertools = { workspace = true } -jf-crhf = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } -jf-pcs = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } -jf-relation = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } -jf-rescue = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false, features = ["gadgets"] } -jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-crhf = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-pcs = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-relation = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-rescue = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false, features = ["gadgets"] } +jf-utils = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } merlin = { workspace = true } num-bigint = { workspace = true } rand_chacha = { workspace = true } diff --git a/relation/Cargo.toml b/relation/Cargo.toml index afc5f5d1a..8970133b2 100644 --- a/relation/Cargo.toml +++ b/relation/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "jf-relation" description = "Jellyfish constraint system for PLONK" -version = { workspace = true } +version = "0.4.4" authors = { workspace = true } edition = { workspace = true } license = { workspace = true } @@ -23,7 +23,7 @@ downcast-rs = { version = "1.2.0", default-features = false } dyn-clone = "^1.0" hashbrown = { workspace = true } itertools = { workspace = true } -jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-utils = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } num-bigint = { workspace = true } rand_chacha = { workspace = true } rayon = { version = "1.5.0", optional = true } diff --git a/rescue/Cargo.toml b/rescue/Cargo.toml index 81044a053..0eaffe2a2 100644 --- a/rescue/Cargo.toml +++ b/rescue/Cargo.toml @@ -25,11 +25,11 @@ ark-ff = { workspace = true } ark-std = { workspace = true } displaydoc = { workspace = true } itertools = { workspace = true } -jf-commitment = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } -jf-crhf = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } -jf-prf = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } -jf-relation = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", optional = true, default-features = false } -jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-commitment = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-crhf = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-prf = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-relation = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", optional = true, default-features = false } +jf-utils = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } [dev-dependencies] ark-ed-on-bls12-381-bandersnatch = "0.4.0" diff --git a/signature/Cargo.toml b/signature/Cargo.toml index 4b8856de4..825f4f28c 100644 --- a/signature/Cargo.toml +++ b/signature/Cargo.toml @@ -23,10 +23,10 @@ digest = { workspace = true } displaydoc = { workspace = true } hashbrown = { workspace = true } itertools = { workspace = true } -jf-crhf = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } -jf-relation = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", optional = true, default-features = false } -jf-rescue = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } -jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-crhf = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-relation = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", optional = true, default-features = false } +jf-rescue = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-utils = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } num-bigint = { workspace = true } num-traits = { version = "0.2.15", default-features = false } serde = { workspace = true } diff --git a/utilities/Cargo.toml b/utilities/Cargo.toml index 7d5b7956c..e4b968f47 100644 --- a/utilities/Cargo.toml +++ b/utilities/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "jf-utils" description = "Utilities for Jellyfish cryptographic library" -version = { workspace = true } +version = "0.4.4" authors = { workspace = true } edition = { workspace = true } license = { workspace = true } diff --git a/vid/CHANGELOG.md b/vid/CHANGELOG.md index 19662e427..424026db9 100644 --- a/vid/CHANGELOG.md +++ b/vid/CHANGELOG.md @@ -3,6 +3,50 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.1.0 +# Unreleased -- Initial release. Verifiable information dispersal trait definition and implementations. +## Breaking changes + +## Added + +## Deprecated + +## Removed + +## Fixed + +## Performance + +## Security + +# 0.2.0 (2024-09-11) + +## Breaking changes + +- [#670](https://github.com/EspressoSystems/jellyfish/pull/670) ADVZ multiplicity depend on payload size + - Largely a performance improvement, but technically a breaking change because ADVZ no longer guarantees to use the exact `multiplicity` specified by the caller. Instead, this arg is now `max_multiplicity`; dispersal might use a smaller multiplicity for small payloads. +- [#674](https://github.com/EspressoSystems/jellyfish/pull/674) ADVZ delete field Share::evals, extract data from eval_proofs instead + - Change serialization of ADVZ shares. +- [#678](https://github.com/EspressoSystems/jellyfish/pull/678) ADVZ eliminate unnecessary merkle proofs in ADVZ shares + - Change serialization of ADVZ shares. + +## Fixed + +- [#653](https://github.com/EspressoSystems/jellyfish/pull/653) ADVZ check consistency of multiplicity in verify_share + +## Performance + +- [#650](https://github.com/EspressoSystems/jellyfish/pull/650) ADVZ verify_share use parallelism over multiplicity +- [#670](https://github.com/EspressoSystems/jellyfish/pull/670) ADVZ multiplicity depend on payload size + - Also a breaking change. + +## Security + +- [#657](https://github.com/EspressoSystems/jellyfish/pull/657) ADVZ check eval_proof for all evaluations + - This patch was later obsoleted by [#678](https://github.com/EspressoSystems/jellyfish/pull/678). +- [#674](https://github.com/EspressoSystems/jellyfish/pull/674) ADVZ delete field Share::evals, extract data from eval_proofs instead + - Also a breaking change. + +# 0.1.0 (2024-04-24) + +- Initial release. Verifiable information dispersal trait definition and implementations. This package spun out of `jf-primitives` in [#556](https://github.com/EspressoSystems/jellyfish/pull/556). diff --git a/vid/Cargo.toml b/vid/Cargo.toml index 9731be489..9d03bcb3e 100644 --- a/vid/Cargo.toml +++ b/vid/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "jf-vid" -version = "0.1.0" +version = "0.2.0" description = "Verifiable information dispersal (VID)." authors = { workspace = true } edition = { workspace = true } @@ -24,9 +24,9 @@ generic-array = { version = "0", features = [ "serde", ] } # not a direct dependency, but we need serde itertools = { workspace = true, features = ["use_alloc"] } -jf-merkle-tree = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } -jf-pcs = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } -jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-merkle-tree = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-pcs = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-utils = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } rayon = { version = "1.5.0", optional = true } serde = { workspace = true } tagged-base64 = { workspace = true } @@ -38,7 +38,7 @@ ark-ed-on-bls12-377 = "0.4.0" ark-ed-on-bls12-381 = "0.4.0" ark-ed-on-bn254 = "0.4.0" criterion = "0.5.1" -jf-pcs = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", features = ["test-srs"] } +jf-pcs = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", features = ["test-srs"] } sha2 = "0.10" [[bench]] diff --git a/vrf/Cargo.toml b/vrf/Cargo.toml index 7322fc656..53420505e 100644 --- a/vrf/Cargo.toml +++ b/vrf/Cargo.toml @@ -14,13 +14,13 @@ repository = { workspace = true } ark-std = { workspace = true } digest = { version = "0.10.1", default-features = false, features = ["alloc"] } displaydoc = { workspace = true } -jf-signature = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false, features = [ "bls" ] } +jf-signature = { version = "0.1.0", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false, features = [ "bls" ] } serde = { workspace = true } sha2 = { workspace = true } zeroize = { version = "1.5", default-features = false } [dev-dependencies] -jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } +jf-utils = { version = "0.4.4", git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5", default-features = false } [features] default = ["parallel"]