Skip to content

Releases: nucypher/ferveo

ferveo-nucypher-temp4 v0.4.0-alpha

10 Jun 12:39
39e3d48
Compare
Choose a tag to compare

Chore

  • move shared dependencies to workspace crate
  • fix a bad rebase
  • relax dkg ceremony constraints
  • document todos
  • remove unused code
  • remove unused code
  • document benchmark todos
  • fix unused import breaking release compilation
  • fix false-positives in cargo machete check
  • remove unused curves
  • rename ferveo-tpke package to ferveo-tdec
  • rename tpke dir to ferveo-tpke
  • fix linter on stable
  • adjust changelogs for cargo-smart-release

New Features

  • enforce canonical share indices instead of validator ordering
  • add share_index field to validator
  • rename group_threshold_cryptography_pre_release crate to ferveo_tpke
  • derive eq in DkgPublicKey
  • replace FerveoVariant static methods with class atributed
  • expose ferveo variant in bindings
  • expose missing method

Bug Fixes

  • not using subset of participants in precomputed variant
  • add missing exception definition
  • prevent precomputed shares from being created with inapprioriate variant
  • allow double allocation when using SecretBox
  • python typings don't match runtime
  • dkg serialization in wasm bindings

Other

  • introduce refreshing api in ferveo
  • remove deprecated exceptions
  • introduce refreshing api in ferveo
  • relax dkg ceremony constraints
  • prevent panics during transcript aggregation
  • 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

Refactor

  • hide g_inv from internat apis
  • update serde serialization
  • rename public key share to public key
  • avoid using crypto primitives directly, part 2
  • avoid using crypto primitives directly, part 1
  • hide dkg fields in the internal api
  • move a test to a dkg test module
  • refactor aggregate method params
  • unify share creating methods
  • replace dkg validator with validator
  • deduplicate test utils
  • use test_case crate to deduplicate tests
  • refactor dkg params into a seperate struct

Test

  • fix tests sensitive to message ordering
  • document domain point determinism
  • update tests for dkgs with relaxed constraints

New Features (BREAKING)

  • add ciphertext header to ciphertext api
  • hide dkg public params from bindings

Bug Fixes (BREAKING)

  • rename wasm method

Other (BREAKING)

  • remove fast variant
  • remove state from dkg, part 2
  • remove state from dkg, part 1

Commit Statistics

  • 440 commits contributed to the release over the course of 1356 calendar days.
  • 60 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
    • Release ferveo-common-nucypher-temp4 v0.4.0-alpha, subproductdomain-nucypher-temp4 v0.4.0-alpha, ferveo-tdec-temp4 v0.4.0-alpha, ferveo-nucypher-temp4 v0.4.0-alpha (b962402)
    • Cargo stuff (888535c)
    • TODO (29fdc1a)
    • Python binding tests for handover (0c2e2e3)
    • Reminder to randomize ETH addresses in tests (901d4fb)
    • Refactor tests in python bindings (55f006f)
    • Handover in python bindings (05a5dd1)
    • High-level API for finalizing handover (ee8f838)
    • Make HandoverTranscript serializable (f3e8852)
    • Unused type (d326da4)
    • Function to generate handover transcript at the API level (afed604)
    • Function to generate handover transcripts at the DKG level (7732a96)
    • Rename finalize_handover (2dbc033)
    • Comments (ba2b56a)
    • Use aggregate.get_share_for_validator() (3140a63)
    • Refactor domain points (7320560)
    • Bye bye, PubliclyVerifiableParams (8c13439)
    • Sq address (487a433)
    • Sq annoying (c3f4181)
    • PubliclyVerifiableDKG now internally maps Validators by index, not address (ea66d41)
    • Asdfasdf (4aa660b)
    • Test checking that PubliclyVerifiableDkg doesn't reorder validators (f6c2747)
    • Remove annoying debug message (3a17d76)
    • Some additional test clarifications (f0f342b)
    • High-level test showing handover using the PVSS API (cdf2c2f)
    • Additional pvss-level checks before and after handover (7b5ff45)
    • Simplify do_verify_full and do_verify_aggregation API (eccc0e3)
    • Function to validate single share from transcript components (9980328)
    • First pass at handover function at PVSS level (7d7a761)
    • Add share index to HandoverTranscript struct (4d6f8a4)
    • Always validate handover transcripts when finalizing them (653edd3)
    • Extract function to generate share commitments from transcript poly commitments (4156211)
    • Linting (5bf2f80)
    • Function to finalize handover by the departing participant (f7f1230)
    • Extend test to show handover can finalize correctly (852ca44)
    • Draft for testing handover transcripts (9ac5f88)
    • First draft of HandoverTranscript - a.k.a. The Baton (3a4b356)
    • Merge pull request #186 from cygnusv/spongebob (bc64858)
    • Link some TODOs and FIXMEs with issues (f7a0065)
    • Remove generator inverse from API (bf1cf0f)
    • Remove unnecessary code in context.rs (0efb567)
    • At the API level, use local type for Refresh Transcripts (664f8ea)
    • Common test parameters for shares_num and threshold (66bfd37)
    • Code areas marked for refactor or removal (35eb653)
    • Fix share refresh test at the API level! (096b91c)
    • Add refresh functionality at API level (b6aac7d)
    • New AggregatedTranscript constructor from an existing aggregate (5c797aa)
    • Consider using multipairings (a3f607d)
    • Generating random DKG public keys should only be a test function (031aad5)
    • Use PublicKeys instead of internal G2 type when possible (8296118)
    • Explicitly rename DKG PublicKeys to avoid confusion with Validator PKs (dceac71)
    • Assorted cleanup (b3df880)
    • Tidy up imports in several places (8a52e07)
    • Pass Keypairs as input to unblind BlindedKeyShares (bad0d3b)
    • Recovery tests are broken. Marked as ignored and adjusted to compile (8f37b71)
    • Point out that aggregate coefficients need to be updated too (48a5463)
    • Fix test_dkg_simple_tdec_share_refreshing test! (1990248)
    • DKG level method for validators to create refresh transcripts (cd44ebe)
    • Method to refresh an AggregateTranscript (9515704)
    • Use UpdateTranscripts as input to update BlindedKeyShares (69b5099)
    • Basic refresh tests work again! (a620dfd)
    • Don't update private key shares directly at the PVSS level (f83a860)
    • Use BlindedKeyShare at the PVSS level (13adb7b)
    • Introduce UpdatableBlindedKeyShare as part of refresh API (f7d04bc)
    • Preparing for refactor 3 (7a08698)
    • Preparing refactor 2 (bf44976)
    • Preparing refactor (dae4d4e)
    • Code quality (956032f)
    • Comments (3bf9014)
    • UpdateTranscript validation: poly commitments fit the update type (60268c3)
    • Cargo-fix'n stuff (418b204)
    • UpdateTranscript validation: add consistency checks with update poly (c83e2d9)
    • First version of UpdateTranscript validation (50b2259)
    • Use UpdateTranscripts instead of ShareUpdate (b63c927)
    • Move methods to create updates from ShareUpdate to UpdateTranscript (40df9ae)
    • UpdateTranscript struct to encapsul...
Read more

ferveo-common-nucypher-temp4 v0.4.0-alpha

10 Jun 12:39
39e3d48
Compare
Choose a tag to compare

Chore

  • move shared dependencies to workspace crate
  • adjust changelogs for cargo-smart-release

New Features

  • derive eq in DkgPublicKey

Other

  • introduce refreshing api in ferveo
  • Made ferveo-common wasm compatible (a tiny change). Fixes a world of pain upstream in Anoma
  • Formatting
  • Removed the announce phase from the dkg

Commit Statistics

  • 96 commits contributed to the release over the course of 1356 calendar days.
  • 7 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
    • Release ferveo-common-nucypher-temp4 v0.4.0-alpha, subproductdomain-nucypher-temp4 v0.4.0-alpha, ferveo-tdec-temp4 v0.4.0-alpha, ferveo-nucypher-temp4 v0.4.0-alpha (b962402)
    • Cargo stuff (888535c)
    • Merge pull request #189 from piotr-roslaniec/workspace-deps (be98542)
    • Move shared dependencies to workspace crate (983110c)
    • Merge pull request #175 from piotr-roslaniec/rewrite-refreshing (2c97934)
    • Introduce refreshing api in ferveo (4713848)
    • Merge pull request #166 from nucypher/chores (7350d91)
    • Derive eq in DkgPublicKey (52efe01)
    • Release ferveo-common-pre-release v0.1.1, group-threshold-cryptography-pre-release v0.2.0, ferveo-pre-release v0.3.0, safety bump ferveo-pre-release v0.3.0 (9c1970b)
    • Fix changelogs for cargo-smart-release (fe4ec4e)
    • Merge pull request #149 from cygnusv/thin (f44e1be)
    • Clippy stuff (4337c3c)
    • Merge pull request #138 from nucypher/development (434fd5d)
    • Release 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 (ffb9b21)
    • Adjust changelogs for cargo-smart-release (0eb5bd4)
    • Release 0.1.0 crate versions (c02e305)
    • Release [email protected] (2725ba4)
    • Merge pull request #136 from nucypher/pk-static-bytes (2b64c2e)
    • Remove unused crate (4939e79)
    • Feat! use static arrays in ferveo public key serialization (f9ac1d7)
    • Merge pull request #119 from nucypher/nucypher-core-integration (52c1f27)
    • Merge pull request #118 from nucypher/expose-bindings-from-main-crate (11d6cea)
    • Fix wasm locals exceeded (ac91e83)
    • Release pre-release crates (8df87ff)
    • Apply changes for nucypher-core integration (b69949c)
    • Update crates to 2021 edition #111 (591c05e)
    • Move utils (98c49d1)
    • Move wasm bindings (7cfe558)
    • Merge remote-tracking branch 'upstream/main' into zeroize (c9b230a)
    • Merge pull request #109 from piotr-roslaniec/static-arrays (e75e8b8)
    • Remove unused packages (24d8fb4)
    • Ensure dkg pk is serialized to 48 bytes (5570c0d)
    • Merge pull request #102 from piotr-roslaniec/local-verification-wasm (aacdf04)
    • Js bindings fail to correctly decrypt the ciphertext (ae79060)
    • Update wasm bindings (9215238)
    • Js bindings fail to correctly decrypt the ciphertext (3e7db72)
    • Update wasm bindings (1cc7036)
    • Merge pull request #93 from piotr-roslaniec/local-verification (a6ff917)
    • Update python bindings (a77fc7a)
    • Merge branch 'main' into local-verification (dd1eccf)
    • 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)
    • Sort validator by their address (f6cf412)
    • Refactor for 1.64.0 msrv (a23500c)
    • Fix examples (2d96a30)
    • Refactor internal ordering tracking (6bb4746)
    • Establish the correct ordering with sorting (0fd1859)
    • Merge pull request #75 from nucypher/release-ferveo-py (2529f74)
    • Test keypair generation (d2b6c30)
    • Add Keypair::from_secure_randomness method (62755ed)
    • Merge pull request #56 from nucypher/ferveo-light-tdec (8fa25b6)
    • Merge pull request #62 from nucypher/client-server-api (3a6e3c4)
    • Merge pull request #67 from nucypher/arkworks-0.4 (bd78f97)
    • Merge pull request #68 from nucypher/error-handling (093f17e)
    • Merge branch 'error-handling' into tpke-wasm-api-example (707f460)
    • Merge branch 'error-handling' into release-ferveo-py (d2a0ca0)
    • Sketch error handling in ferveo (a68d2d9)
    • Refactor serialization (b9535fe)
    • Trim external apis (0b95048)
    • Replace unwrap calls with result type (a9b4331)
    • Remove unused crates (f876b85)
    • Update arkworks to 0.4.0 - first pass (b1999b8)
    • Fix import style (6d92b01)
    • Simple tdec on client side fails (7257843)
    • Add ferveo-python example (fd47f97)
    • Merge branch 'main' into use-sha256 (fa1c1a8)
    • Merge pull request #27 from nucypher/dkg-pvss-flow (e842b8a)
    • Documents and refactor code (6fb4c89)
    • Remove unused code (002d407)
    • Rename TendermintValidator to ExternalValidator (8bd2888)
    • Remove ValidatorSet (60e4c6f)
    • Simple threshold decryption works (d3c76cd)
    • Initial removal of share partitioning (ab2857d)
    • Documents and refactor code (8f7308b)
    • Remove unused code (fb05e62)
    • Rename TendermintValidator to ExternalValidator (995fdce)
    • Remove ValidatorSet (4f62c70)
    • Simple threshold decryption works (856790c)
    • Initial removal of share partitioning (9d38f62)
    • Merge pull request #10 from piotr-roslaniec/wasm-bindings (f26552d)
    • Update after rebase (b8b2392)
    • Add wasm setup (ca2e46e)
    • Merge pull request #8 from piotr-roslaniec/aad#1 (41b5408)
    • Address some clippy warnings (e8087d2)
    • Merge pull request #76 from anoma/bat/ferveo-common-canonical-serialize (8363c33)
    • Made ferveo-common wasm compatible (a tiny change). Fixes a world of pain upstream in Anoma (ab67016)
    • Merge pull request #73 from anoma/bat/announcement-refactor (9786ac0)
    • Formatting (d786fae)
    • Removed the announce phase from the dkg (ec58fe1)
    • Merge pull request #65 from anoma/joe/20210922 (d6d603f)
    • Latest ferveo (0f17c3b)

group-threshold-cryptography-pre-release v0.2.0

New Features (BREAKING)

  • add ciphertext header to ciphertext api

Commit Statistics

  • 10 commits contributed to the release over the course of 49 calendar days.
  • 52 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Fix changelogs for cargo-smart-release (fe4ec4e)
    • Merge pull request #155 from nucypher/update-ciphertext-api (bc0a6a5)
    • Merge pull request #149 from cygnusv/thin (f44e1be)
    • Add ciphertext header to ciphertext api (1800d3c)
    • Remove unused & incorrect ciphertext length method (f427f0d)
    • Test for bad AAD input (e51e6ec)
    • Use AEAD payloads (message + AAD) as input to chacha20poly1305. Fix #146 (e662e17)
    • Use symmetric ciphertext hash when creating/checking the auth_tag (396b1d2)
    • Refactor Ciphertext implementation. Fixes #144 (41e5be5)
    • Merge pull request #138 from nucypher/development (434fd5d)

ferveo-pre-release v0.3.0

28 Aug 14:31
Compare
Choose a tag to compare

New Features (BREAKING)

  • add ciphertext header to ciphertext api

Commit Statistics

  • 10 commits contributed to the release over the course of 27 calendar days.
  • 27 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Fix changelogs for cargo-smart-release (fe4ec4e)
    • Merge pull request #156 from derekpierre/acp (e2c4c2e)
    • Merge pull request #155 from nucypher/update-ciphertext-api (bc0a6a5)
    • Apply pr suggestions (c06217c)
    • SharedSecret wasm-binding now derives AsRef. (c3fe68a)
    • Merge pull request #149 from cygnusv/thin (f44e1be)
    • Appease linter. (2c1288b)
    • DkgPublicKey wasm-binding now derives From and AsRef. (ce7d280)
    • Add ciphertext header to ciphertext api (1800d3c)
    • Clippy stuff (4337c3c)

ferveo-common-pre-release v0.1.1

28 Aug 14:30
Compare
Choose a tag to compare

Maintenance release

Commit Statistics

  • 4 commits contributed to the release over the course of 49 calendar days.
  • 52 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Fix changelogs for cargo-smart-release (fe4ec4e)
    • Merge pull request #149 from cygnusv/thin (f44e1be)
    • Clippy stuff (4337c3c)
    • Merge pull request #138 from nucypher/development (434fd5d)

ferveo-pre-release v0.2.1

01 Aug 09:18
Compare
Choose a tag to compare

New Features

  • replace FerveoVariant static methods with class atributed

Bug Fixes

  • python typings don't match runtime

Commit Statistics

  • 10 commits contributed to the release over the course of 21 calendar days.
  • 24 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Merge pull request #139 from nucypher/fix-typings (dc9d81a)
    • Rename FerveoVariant attributes (0e7c561)
    • Add hash to FerveoVariant (06321d7)
    • Add equality to FerveoVariant python bindings (cea467e)
    • Apply pr suggestions (6c1d4be)
    • Add api conversion method to FerveoVariant (fbb97be)
    • Apply pr suggestions (7cbe65d)
    • Replace FerveoVariant static methods with class atributed (50511ff)
    • Merge pull request #138 from nucypher/development (434fd5d)
    • Python typings don't match runtime (be90065)

subproductdomain-pre-release v0.1.0

07 Jul 11:01
Compare
Choose a tag to compare

Chore

  • adjust changelogs for cargo-smart-release

Commit Statistics

  • 30 commits contributed to the release over the course of 570 calendar days.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #72

Commit Details

view details
  • #72
    • Refactor subproductdomain (2d8026b)
  • Uncategorized
    • Release 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 (a7b889e)
    • Adjust changelogs for cargo-smart-release (ca43921)
    • Release 0.1.0 crate versions (c02e305)
    • 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 pull request #119 from nucypher/nucypher-core-integration (52c1f27)
    • Merge pull request #118 from nucypher/expose-bindings-from-main-crate (11d6cea)
    • Release pre-release crates (8df87ff)
    • Update crates to 2021 edition #111 (591c05e)
    • Merge pull request #102 from piotr-roslaniec/local-verification-wasm (aacdf04)
    • Js bindings fail to correctly decrypt the ciphertext (ae79060)
    • Js bindings fail to correctly decrypt the ciphertext (3e7db72)
    • Merge pull request #75 from nucypher/release-ferveo-py (2529f74)
    • Merge pull request #56 from nucypher/ferveo-light-tdec (8fa25b6)
    • Merge pull request #62 from nucypher/client-server-api (3a6e3c4)
    • Merge pull request #67 from nucypher/arkworks-0.4 (bd78f97)
    • 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 error handling in ferveo (a68d2d9)
    • Self review (2d926de)
    • Update arkworks to 0.4.0 - first pass (b1999b8)
    • Fix import style (6d92b01)
    • Merge branch 'main' into use-sha256 (fa1c1a8)
    • Merge pull request #27 from nucypher/dkg-pvss-flow (e842b8a)
    • Fix clippy (cca3270)
    • Fix clippy (7cad9ae)

group-threshold-cryptography-pre-release v0.1.0

Chore

  • adjust changelogs for cargo-smart-release

Commit Statistics

  • 249 commits contributed to the release over the course of 702 calendar days.
  • 1 commit was understood as conventional.
  • 3 unique issues were worked on: #70, #71, #72

Commit Details

view details
  • #70
    • Dkg State Machine refactor (8594316)
  • #71
    • Added serialization/deserialization to the dkg state machine (653be13)
  • #72
    • Refactor subproductdomain (2d8026b)
  • Uncategorized
    • Release 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 (a7b889e)
    • Adjust changelogs for cargo-smart-release (ca43921)
    • 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)
    • 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 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)
    • Publish 0.1.0-alpha.2 (8ce4697)
    • Release pre-release crates (8df87ff)
    • Update crates to 2021 edition #111 (591c05e)
    • 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 nonce (03974b2)
    • Zeroize plaintext (a7e1914)
    • Zeroize private key share (61068f0)
    • Zeroize chacha (61c84da)
    • Zeroize on drop (b2402e7)
    • Zeroize shared secret (54ce650)
    • 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)
    • Merge pull request #102 from piotr-roslaniec/local-verification-wasm (aacdf04)
    • Fix failing test (c4912f5)
    • Js bindings fail to correctly decrypt the ciphertext (ae79060)
    • Fix ci checks (f22fb4a)
    • Update wasm bindings (9215238)
    • Fix failing test (ffa71bc)
    • Js bindings fail to correctly decrypt the ciphertext (3e7db72)
    • Fix ci checks (50a853b)
    • Update wasm bindings (1cc7036)
    • Merge pull request #93 from piotr-roslaniec/local-verification (a6ff917)
    • Update python bindings (a77fc7a)
    • Merge branch 'main' into local-verification (dd1eccf)
    • Merge pull request #95 from piotr-roslaniec/implicit-ordering (9fded5b)
    • Refactor for 1.64.0 msrv (a23500c)
    • Refactor internal ordering tracking (6bb4746)
    • 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)
    • Merge branch 'main' into release-ferveo-py (d503b8a)
    • Fix ci (0ca00c9)
    • Merge pull request #91 from nucypher/typed-errors (b2eb9ef)
    • Add missing serializatin methods (9740da8)
    • 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)
    • 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)
    • Replace unmaintained rust-crypto crate with sha2 (3040970)
    • 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)
    • Update client api tests (2e6b231)
    • Refactor module visibility (d287129)
    • Simple tdec on client side fails (7257843)
    • 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 branch 'main' into verify-simple-tdec-shares (48a2513)
    • Add ferveo-python example (fd47f97)
    • Simple tdec on server side (39f7f39)
    • Sketch the server api (5ba7451)
    • Switch to cargo-criterion in ci (3a216b6)
    • Fix benchmark not working on ci (e69c735)
    • Merge pull request #38 from nucypher/validity-checks (168bde6)
    • Merge pull request #19 from piotr-roslaniec/use-sha256 (ace45c7)
    • Apply pr suggestions (1f76347)
    • Merge branch 'main' into use-sha256 (fa1c1a8)
    • Update tpke client api (33b2b09)
    • Refactor validator checksums into a struct (3366d80)
    • Convert api and serialization to features (c20ac5e)
    • Self review (2c1ed0c)
    • Integrate light tdec into ferveo crate (5eb4fcf)
    • Refactor light tdec (20dbfec)
    • Fix after merge (a6c3027)
    • 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)
    • Benchmark size of pvss transcripts (6c28d48)
    • Self review (2c9bfec)
    • Merge pull request #50 from theref/tidy (af53b72)
    • 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)
    • Remove unused code from hash_to_curve (1e2dee0)
    • Merge pull request #41 from theref/refresh_bench (0f1ac6f)
    • Replace bench_with_input for bench_function (bf16483)
    • Add a benchmark sketch (aa75f85)
    • Apply pr suggestions (bdda3d1)
    • Self review (0eb043e)
    • Fix after rebase (2b298af)
    • Apply PR suggestions (2c46d1e)
    • Fix after rebase (208c55e)
    • Self review (0370bd9)
    • Fix after rebase (e8b83dc)
    • Implement and benchmark subvariant of simple tdec (1bde49d)
    • Benchmark share combination for simple variant (ec84ec3)
    • Merge branch 'main' into validity-checks (208d95c)
    • Merge pull request #27 from nucypher/dkg-pvss-flow (e842b8a)
    • Benchmark share verification (d499c28)
    • Refactor decryption share creation (64f5023)
    • Implement simple tdec decryption share verification (655e5e3)
    • Disable arkworks benchmark (91fa243)
    • Benchmark ciphertext validity check (a21fb93)
    • Update tpke/benches/tpke.rs (2d20f28)
    • Bench ciphertext validity check (f0864ae)
    • Enable key share blinding in fast tdec (57c9763)
    • Refactor to a single share per validator (dce013c)
    • Remove rebasing artifact (e9d7064)
    • Fix after rebase (dc53f7b)
    • Fix after rebase (50343e3)
    • Self code review (b560ad6)
    • Remove dealer's lagrange coeffs calculation (f526ad4)
    • Simple threshold decryption works (d3c76cd)
    • Fix clippy (cca3270)
    • Simple decryption with one validator works with ferveo dkg (4fbaab3)
    • Incorrect length of decrypted shares after pvss combination (efa6150)
    • Calculate lagrange using public context (0c6b9c5)
    • Calculate lagrange using private context (bd5d743)
    • Initial work on simple threshold decryption (fcab224)
    • Refactor share verification (249c3c1)
    • Implement simplified decryption share verification (20445cd)
    • Fix formulas (444ff80)
    • Fix after rebase (c80a197)
    • Decryption share verification for fast variant (a0d9930)
    • Check ciphertext validity before creating a decryption share (e99f43c)
    • Enable key share blinding in fast tdec (a484971)
    • Refactor to a single share per validator (b6c9189)
    • Remove rebasing artifact (838d3d2)
    • Fix after rebase (26fe690)
    • Fix after rebase (668184c)
    • Self code review (89ebffc)
    • Remove dealer's lagrange coeffs calculation (364580e)
    • Simple threshold decryption works (856790c)
    • Fix clippy (7cad9ae)
    • Simple decryption with one validator works with ferveo dkg (57255f5)
    • Incorrect length of decrypted shares after pvss combination (81d4dd2)
    • Calculate lagrange using public context (17cdb5b)
    • Calculate lagrange using private context (719b4a1)
    • Initial work on simple threshold decryption (08bac73)
    • Add benchmark for share refresh (5163ba6)
    • Merge pull request #34 from nucypher/benchmarks-pr-compare (185822b)
    • Update random polynomial benchmark (770d251)
    • Fix benchmarks on ci (33cf5c2)
    • Fix after rebase (ea19e6a)
    • Add more tpke benchmarks (02827bb)
    • Benchmark share combination for simple variant (07cbe25)
      ...
Read more

ferveo-pre-release v0.2.0

07 Jul 11:01
Compare
Choose a tag to compare

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 nucyphe...
Read more

ferveo-common-pre-release v0.1.0

07 Jul 11:01
Compare
Choose a tag to compare

Other

  • Made ferveo-common wasm compatible (a tiny change). Fixes a world of pain upstream in Anoma
  • Formatting
  • Removed the announce phase from the dkg

Chore

  • adjust changelogs for cargo-smart-release

Commit Statistics

  • 82 commits contributed to the release over the course of 652 calendar days.
  • 4 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)
    • Release 0.1.0 crate versions (c02e305)
    • Release [email protected] (2725ba4)
    • Merge pull request #136 from nucypher/pk-static-bytes (2b64c2e)
    • Remove unused crate (4939e79)
    • Feat! use static arrays in ferveo public key serialization (f9ac1d7)
    • Merge pull request #119 from nucypher/nucypher-core-integration (52c1f27)
    • Merge pull request #118 from nucypher/expose-bindings-from-main-crate (11d6cea)
    • Fix wasm locals exceeded (ac91e83)
    • Release pre-release crates (8df87ff)
    • Apply changes for nucypher-core integration (b69949c)
    • Update crates to 2021 edition #111 (591c05e)
    • Move utils (98c49d1)
    • Move wasm bindings (7cfe558)
    • Merge remote-tracking branch 'upstream/main' into zeroize (c9b230a)
    • Merge pull request #109 from piotr-roslaniec/static-arrays (e75e8b8)
    • Remove unused packages (24d8fb4)
    • Ensure dkg pk is serialized to 48 bytes (5570c0d)
    • Merge pull request #102 from piotr-roslaniec/local-verification-wasm (aacdf04)
    • Js bindings fail to correctly decrypt the ciphertext (ae79060)
    • Update wasm bindings (9215238)
    • Js bindings fail to correctly decrypt the ciphertext (3e7db72)
    • Update wasm bindings (1cc7036)
    • Merge pull request #93 from piotr-roslaniec/local-verification (a6ff917)
    • Update python bindings (a77fc7a)
    • Merge branch 'main' into local-verification (dd1eccf)
    • 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)
    • Sort validator by their address (f6cf412)
    • Refactor for 1.64.0 msrv (a23500c)
    • Fix examples (2d96a30)
    • Refactor internal ordering tracking (6bb4746)
    • Establish the correct ordering with sorting (0fd1859)
    • Merge pull request #75 from nucypher/release-ferveo-py (2529f74)
    • Test keypair generation (d2b6c30)
    • Add Keypair::from_secure_randomness method (62755ed)
    • Merge pull request #56 from nucypher/ferveo-light-tdec (8fa25b6)
    • Merge pull request #62 from nucypher/client-server-api (3a6e3c4)
    • Merge pull request #67 from nucypher/arkworks-0.4 (bd78f97)
    • Merge pull request #68 from nucypher/error-handling (093f17e)
    • Merge branch 'error-handling' into tpke-wasm-api-example (707f460)
    • Merge branch 'error-handling' into release-ferveo-py (d2a0ca0)
    • Sketch error handling in ferveo (a68d2d9)
    • Refactor serialization (b9535fe)
    • Trim external apis (0b95048)
    • Replace unwrap calls with result type (a9b4331)
    • Remove unused crates (f876b85)
    • Update arkworks to 0.4.0 - first pass (b1999b8)
    • Fix import style (6d92b01)
    • Simple tdec on client side fails (7257843)
    • Add ferveo-python example (fd47f97)
    • Merge branch 'main' into use-sha256 (fa1c1a8)
    • Merge pull request #27 from nucypher/dkg-pvss-flow (e842b8a)
    • Documents and refactor code (6fb4c89)
    • Remove unused code (002d407)
    • Rename TendermintValidator to ExternalValidator (8bd2888)
    • Remove ValidatorSet (60e4c6f)
    • Simple threshold decryption works (d3c76cd)
    • Initial removal of share partitioning (ab2857d)
    • Documents and refactor code (8f7308b)
    • Remove unused code (fb05e62)
    • Rename TendermintValidator to ExternalValidator (995fdce)
    • Remove ValidatorSet (4f62c70)
    • Simple threshold decryption works (856790c)
    • Initial removal of share partitioning (9d38f62)
    • Merge pull request #10 from piotr-roslaniec/wasm-bindings (f26552d)
    • Update after rebase (b8b2392)
    • Add wasm setup (ca2e46e)
    • Merge pull request #8 from piotr-roslaniec/aad#1 (41b5408)
    • Address some clippy warnings (e8087d2)
    • Merge pull request #76 from anoma/bat/ferveo-common-canonical-serialize (8363c33)
    • Made ferveo-common wasm compatible (a tiny change). Fixes a world of pain upstream in Anoma (ab67016)
    • Merge pull request #73 from anoma/bat/announcement-refactor (9786ac0)
    • Formatting (d786fae)
    • Removed the announce phase from the dkg (ec58fe1)
    • Merge pull request #65 from anoma/joe/20210922 (d6d603f)
    • Latest ferveo (0f17c3b)