Skip to content

ferveo-pre-release v0.2.0

Compare
Choose a tag to compare
@piotr-roslaniec piotr-roslaniec released this 07 Jul 11:01
· 109 commits to main since this release

New Features

  • expose ferveo variant in bindings
  • expose missing method

Bug Fixes

  • dkg serialization in wasm bindings

Other

  • When announcing an aggregation, the resulting key should also be announced and checked so that it can be included on chain
  • Strengthened state guards against aggregation. Necessary for preparing blocks easily
  • Fixing up the benchmarks to reflect the refactor in dkg
  • Formatting
  • Added retry logic to the dkg
  • Removed the announce phase from the dkg

Chore

  • adjust changelogs for cargo-smart-release

New Features (BREAKING)

  • hide dkg public params from bindings

Bug Fixes (BREAKING)

  • rename wasm method

Commit Statistics

  • 261 commits contributed to the release over the course of 652 calendar days.
  • 12 commits were understood as conventional.
  • 4 unique issues were worked on: #68, #70, #71, #72

Commit Details

view details
  • #68
    • Simplify validator sets in dkg state machine (73b729a)
  • #70
    • Dkg State Machine refactor (8594316)
  • #71
    • Added serialization/deserialization to the dkg state machine (653be13)
  • #72
    • Refactor subproductdomain (2d8026b)
  • Uncategorized
    • Adjust changelogs for cargo-smart-release (0eb5bd4)
    • Adjusting changelogs prior to release of ferveo-common-pre-release v0.1.0, subproductdomain-pre-release v0.1.0, group-threshold-cryptography-pre-release v0.1.0, ferveo-pre-release v0.2.0 (0ccba13)
    • Release 0.1.0 crate versions (c02e305)
    • Release [email protected] (2725ba4)
    • Release [email protected] (f5f102e)
    • Merge pull request #134 from piotr-roslaniec/remove-ftt-opt (2338213)
    • Use general evaluation domain (2c20efb)
    • Fix using bad number of domain points (d5ec5e0)
    • Merge remote-tracking branch 'upstream/pk-static-bytes' into development (e24d2cf)
    • Merge pull request #137 from nucypher/ferveo-variant (802ddba)
    • Merge pull request #136 from nucypher/pk-static-bytes (2b64c2e)
    • Expose ferveo variant in bindings (e8d0598)
    • Precomputed variant fails for non-power-of-two number of shares (8f45430)
    • Remove enforcement on number of shares (27c55d0)
    • Replace radix2 eval domain to mixed radix eval domain in ferveo (aa78183)
    • Benchmarks evaluation domains (9d3cb63)
    • Update serialization tests where possible (3bc28d7)
    • Feat! use static arrays in ferveo public key serialization (f9ac1d7)
    • Merge pull request #132 from nucypher/development (2057782)
    • Release [email protected] (8dc57d3)
    • Merge pull request #131 from nucypher/fix-validator-msg-stub (0d4e973)
    • Merge pull request #128 from nucypher/fix-dkg-pk-deser-wasm (ad22f46)
    • Fix ValidatorMessage stub in python bindings (4aeda15)
    • Expose missing method (e516562)
    • Rename wasm method (7388027)
    • Dont hide shared deps behind features (3863842)
    • Fix after rebase (81564a3)
    • Dkg serialization in wasm bindings (99ebfec)
    • Merge pull request #127 from piotr-roslaniec/hide-dkg-public-params (ccdc209)
    • Hide dkg public params from bindings (8b6e6f5)
    • Merge pull request #126 from piotr-roslaniec/derive-equals (c259bf7)
    • Merge pull request #125 from nucypher/naming-conflict (658af4b)
    • Merge pull request #125 from nucypher/naming-conflict (1dde2f1)
    • Release [email protected] (0842e87)
    • Update wasm-bindgen-derive to 0.2.1 (4a6a43a)
    • Merge pull request #119 from nucypher/nucypher-core-integration (52c1f27)
    • Merge pull request #118 from nucypher/expose-bindings-from-main-crate (11d6cea)
    • Merge pull request #114 from piotr-roslaniec/python-exceptions (87d8f1c)
    • Export py module making utility (3b02634)
    • Rename PublicKey to FerveoPublicKey in python bindings (10cc1df)
    • Expose DkgPublicKey.random in WASM bindings (d9edeb7)
    • Bump wasm-bindgen and wasm-bindgen-derive versions (1b33424)
    • Expose DkgPublicKey.random (48e54bd)
    • Expose encrypt from api (fb4df1f)
    • Fix wasm locals exceeded (ac91e83)
    • Update README.md (3adf188)
    • Publish 0.1.0-alpha.2 (8ce4697)
    • Publish [email protected] (1db0123)
    • Fix import in benchmarks (1373b19)
    • Rename PublicKey to FerveoPublicKey in wasm bindings (0f399ef)
    • Release pre-release crates (8df87ff)
    • Apply changes for nucypher-core integration (b69949c)
    • Fix clippy warning (494d061)
    • Update crates to 2021 edition #111 (591c05e)
    • Move utils (98c49d1)
    • Move wasm bindings (7cfe558)
    • Move python bindings (f6c03f7)
    • Rename InvalidFinalKey error type to InvalidDkgPublicKey (9554a4a)
    • Expose typed python exceptions (6b6f6d7)
    • Merge pull request #107 from piotr-roslaniec/zeroize (a7eebe5)
    • Apply pr suggestions (1a48fea)
    • Merge remote-tracking branch 'upstream/main' into zeroize (c9b230a)
    • Zeroize plaintext (a7e1914)
    • Zeroize on drop (b2402e7)
    • Remove stray file from a bad merge (062e776)
    • Zeroize shared secret (54ce650)
    • Merge pull request #109 from piotr-roslaniec/static-arrays (e75e8b8)
    • Remove unused packages (24d8fb4)
    • Merge remote-tracking branch 'upstream/main' into static-arrays (7f663f3)
    • Merge pull request #113 from piotr-roslaniec/fix-simple-tdec-shares (85fe85a)
    • Remove implicit ordering from domain points in public dkg params (6ab1df9)
    • Ensure dkg pk is serialized to 48 bytes (5570c0d)
    • Zeroize secret polynomial (eb033db)
    • Merge remote-tracking branch 'upstream/main' into release-ferveo-py (b2cc5a8)
    • Merge pull request #102 from piotr-roslaniec/local-verification-wasm (aacdf04)
    • Fix pyo3 linking issues at test time (cf43433)
    • Self review (51cd64f)
    • Fix failing test (c4912f5)
    • Js bindings fail to correctly decrypt the ciphertext (ae79060)
    • Update js examples (9463fb0)
    • Update wasm bindings (9215238)
    • Self review (c1beeba)
    • Fix failing test (ffa71bc)
    • Js bindings fail to correctly decrypt the ciphertext (3e7db72)
    • Update js examples (4a92ed6)
    • Update wasm bindings (1cc7036)
    • Merge pull request #93 from piotr-roslaniec/local-verification (a6ff917)
    • Self review (c919c5d)
    • Update python bindings (a77fc7a)
    • Merge branch 'main' into local-verification (dd1eccf)
    • Update ferveo api (212dcf3)
    • Merge pull request #100 from piotr-roslaniec/expose-dkg-pk-size (bd72ef5)
    • Expose size of dkg public key in bindings (661780c)
    • Merge pull request #95 from piotr-roslaniec/implicit-ordering (9fded5b)
    • Fix some error-related todos (b4117e4)
    • Sort validator by their address (f6cf412)
    • Refactor for 1.64.0 msrv (a23500c)
    • Fix examples (2d96a30)
    • Merge branch 'main' into implicit-ordering (3f43524)
    • Refactor internal ordering tracking (6bb4746)
    • Merge pull request #96 from piotr-roslaniec/bench-ark-sizes (1ea3abd)
    • Bench arkworks primitives sizes (076fd5b)
    • Fix the ordering and refactor (5bb8888)
    • Establish the correct ordering with sorting (0fd1859)
    • Add a failing test to reproduce the ordering issue (fcb0420)
    • Fix after rebase (e074f0b)
    • Expose methods for local verification on client side (08e965b)
    • Merge pull request #92 from piotr-roslaniec/simple-tdec-py-bindings (4b9d8c4)
    • Refactor bindings to support simple and precomputed tdec variants (edc2f26)
    • Merge pull request #75 from nucypher/release-ferveo-py (2529f74)
    • Fix python-test job on ci (9b91b9f)
    • Merge branch 'main' into release-ferveo-py (d503b8a)
    • Replace g_inv with DkgPublicParameters (63e9a5f)
    • Merge pull request #91 from nucypher/typed-errors (b2eb9ef)
    • Add missing serializatin methods (9740da8)
    • Add typed errors and expose them in Python bindings (200b4f5)
    • Merge pull request #56 from nucypher/ferveo-light-tdec (8fa25b6)
    • Merge remote-tracking branch 'upstream/main' into ferveo-light-tdec (2c5d7c8)
    • Merge pull request #62 from nucypher/client-server-api (3a6e3c4)
    • Merge pull request #67 from nucypher/arkworks-0.4 (bd78f97)
    • Merge pull request #72 from piotr-roslaniec/tpke-wasm-api-example (a6caaad)
    • Merge pull request #68 from nucypher/error-handling (093f17e)
    • Merge branch 'error-handling' into tpke-wasm-api-example (707f460)
    • Replace cargo-udeps with cargo-machete (9d38a03)
    • Merge branch 'error-handling' into release-ferveo-py (d2a0ca0)
    • Sketch a pypi package release using maturin (3d7ecb4)
    • Fix cargo-udeps error (8e6f391)
    • Fix broken build after merge (1e78512)
    • Merge pull request #51 from nucypher/ferveo-pss (23955a9)
    • Sketch error handling in ferveo (a68d2d9)
    • Fix benchmarks not running on ci (af9505d)
    • Refactor serialization (b9535fe)
    • Trim external apis (0b95048)
    • Replace unwrap calls with result type (a9b4331)
    • Self review (2d926de)
    • Merge branch 'client-server-api' into arkworks-0.4 (ed88c8b)
    • Remove unused crate (eb9322b)
    • Merge branch 'ferveo-light-tdec' into client-server-api (8d5bef8)
    • Update arkworks to 0.4.0 - first pass (b1999b8)
    • Update dev deps settings (d588cc8)
    • Update after rebase (aa39d7a)
    • Merge pull request #54 from theref/TODO (6022f00)
    • Add simple tdec to wasm bindings (1cc35b4)
    • Fix import style (6d92b01)
    • Refactor module visibility (d287129)
    • Simple tdec on client side fails (7257843)
    • Support server-side persistance (81ea692)
    • Merge pull request #48 from nucypher/benchmark-primitives-size (58515cf)
    • Merge branch 'ferveo-pss' into ferveo-light-tdec (20f0eda)
    • Merge pull request #46 from nucypher/verify-simple-tdec-shares (530de97)
    • Merge branch 'main' into ferveo-pss (1857ef6)
    • Merge pull request #63 from nucypher/remove-msg (9050db0)
    • Merge branch 'main' into verify-simple-tdec-shares (48a2513)
    • Add ferveo-python example (fd47f97)
    • Simple tdec on server side (39f7f39)
    • Sketch the server api (5ba7451)
    • Remove dependency on block time (c85ea43)
    • Remove unused code (735b9c1)
    • Merge pull request #38 from nucypher/validity-checks (168bde6)
    • Apply pr suggestions (1f76347)
    • Merge branch 'main' into use-sha256 (fa1c1a8)
    • Setup ferveo-python for server api (9b0a4c6)
    • Refactor validator checksums into a struct (3366d80)
    • Integrate light tdec into ferveo crate (5eb4fcf)
    • Refactor light tdec (20dbfec)
    • Remove window, my_partition and retry_after from codebase (46d42ab)
    • Merge branch 'verify-simple-tdec-shares' into ferveo-pss (3693ba8)
    • Merge branch 'validity-checks' into verify-simple-tdec-shares (a34b995)
    • Merge branch 'main' into validity-checks (dd9e458)
    • Size is expressed in bytes (6f1b7d4)
    • Set polynomial degree to t-1 in pvss (6966b28)
    • Fix switched columns (076f261)
    • Benchmark per ratio with no duplicates (feb8d80)
    • Benchmark size of pvss transcripts (6c28d48)
    • Self review (2c9bfec)
    • Integrate key recovery into ferveo (7aa400f)
    • Refactor tdec recovery tests in tpke (a366089)
    • Integrate key refreshing into ferveo (0223a16)
    • Merge pull request #32 from nucypher/simple-decryption-precomputed (cd50056)
    • Refactor key refreshing (864dbc2)
    • Add pvss verification benchmarks (886ca60)
    • Implement and benchmark subvariant of simple tdec (1bde49d)
    • Merge branch 'main' into validity-checks (208d95c)
    • Merge pull request #27 from nucypher/dkg-pvss-flow (e842b8a)
    • Replace redundant variable (6181179)
    • Benchmark share verification (d499c28)
    • Refactor decryption share creation (64f5023)
    • Implement simple tdec decryption share verification (655e5e3)
    • Remove unused variable (bacea0a)
    • Documents and refactor code (6fb4c89)
    • Fix after rebase (dc53f7b)
    • Fix rustfmt (0125381)
    • Remove unused code (002d407)
    • Rename TendermintValidator to ExternalValidator (8bd2888)
    • Remove ValidatorSet (60e4c6f)
    • Cargo fmt (6621541)
    • Fix clippy after 1.66 update (cafca08)
    • Self code review (b560ad6)
    • Simple threshold decryption works (d3c76cd)
    • Fix clippy (cca3270)
    • Simple decryption with one validator works with ferveo dkg (4fbaab3)
    • Update aggregation (0474b48)
    • Updating scheme (e2b55b4)
    • Initial removal of share partitioning (ab2857d)
    • Incorrect length of decrypted shares after pvss combination (efa6150)
    • Wip (1b260cc)
    • Update function docstring (da92818)
    • Add negative test case for verify_full (8e43ae4)
    • Documents and refactor code (8f7308b)
    • Fix after rebase (26fe690)
    • Fix rustfmt (99d2b9c)
    • Remove unused code (fb05e62)
    • Rename TendermintValidator to ExternalValidator (995fdce)
    • Remove ValidatorSet (4f62c70)
    • Cargo fmt (1d9f623)
    • Fix clippy after 1.66 update (44bd186)
    • Self code review (89ebffc)
    • Simple threshold decryption works (856790c)
    • Fix clippy (7cad9ae)
    • Simple decryption with one validator works with ferveo dkg (57255f5)
    • Update aggregation (32f9c49)
    • Updating scheme (9759860)
    • Initial removal of share partitioning (9d38f62)
    • Incorrect length of decrypted shares after pvss combination (81d4dd2)
    • Wip (8cb52d8)
    • Merge pull request #34 from nucypher/benchmarks-pr-compare (185822b)
    • Fix benchmarks on ci (33cf5c2)
    • Merge pull request #25 from piotr-roslaniec/sd-benchmarks (25c745e)
    • Run benchmarks on gh actions (ffd67c4)
    • Merge pull request #20 from piotr-roslaniec/simple-decryption (b2b4809)
    • Silence clippy warnings (1160971)
    • Implement simple threshold decryption variant (e7ecab0)
    • Merge pull request #10 from piotr-roslaniec/wasm-bindings (f26552d)
    • Merge pull request #17 from nucypher/benchmark-wasm (85fba9e)
    • Panicks at 'capacity overflow' during js-benches (9d358e1)
    • Fix clippy (d80d112)
    • Expose randomness in dkg setup (d8b51ce)
    • Update after rebase (b8b2392)
    • Fix clippy (2462c8a)
    • Setup benchmarks (1b96071)
    • Add wasm setup (ca2e46e)
    • Merge pull request #8 from piotr-roslaniec/aad#1 (41b5408)
    • Address pr comments (3786af1)
    • Address some clippy warnings (e8087d2)
    • Replace chacha20 with chacha20poly1305 (ce89ead)
    • Merge pull request #75 from anoma/bat/state-guard-refactor (2a35d56)
    • When announcing an aggregation, the resulting key should also be announced and checked so that it can be included on chain (caef6ef)
    • Strengthened state guards against aggregation. Necessary for preparing blocks easily (1594750)
    • Merge pull request #73 from anoma/bat/announcement-refactor (9786ac0)
    • Fixing up the benchmarks to reflect the refactor in dkg (d3fb002)
    • Formatting (d786fae)
    • Added retry logic to the dkg (09f26b3)
    • Removed the announce phase from the dkg (ec58fe1)
    • Merge pull request #65 from anoma/joe/20210922 (d6d603f)
    • Latest ferveo (714d8b9)
    • Latest ferveo (6c6033c)
    • Latest ferveo (0f17c3b)