Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate ferveo and tpke crates #27

Merged
merged 28 commits into from
Jan 23, 2023
Merged

Integrate ferveo and tpke crates #27

merged 28 commits into from
Jan 23, 2023

Conversation

piotr-roslaniec
Copy link

@piotr-roslaniec piotr-roslaniec commented Jan 4, 2023

  • Integrates ferveo and tpke crates
  • Partly removes validator partitioning
  • Partly removes share weights and replaces them with a one-share-per-validator scheme
  • Renames some structures, adds comments and TODOs, and some minor refactors
  • How to review this PR
    • There are two tests added to ferveo/src/lib.rs that you could start with. They both perform simple threshold decryption variant from tpke crate.
      • test_dkg_simple_decryption_variant_single_validator - performs tDec using a single validator (1-of-1 scheme). Serves as a sanity check for an edge case.
      • test_dkg_simple_decryption_variant performs tDec using a 3-of-4 scheme
    • There only difference between these tests is in the security parameters
    • The setup_dealt_dkg_with_n_validators replaces setup_simple from tpke crate tests. The remainder of the ferveo tests is an adoption of tpke crate tests.
  • Adds blinding to tDec fast variant in tpke

@piotr-roslaniec piotr-roslaniec marked this pull request as ready for review January 5, 2023 12:17
@arjunhassard arjunhassard mentioned this pull request Jan 9, 2023
6 tasks
@piotr-roslaniec piotr-roslaniec changed the base branch from simple-decryption to main January 18, 2023 10:02
@piotr-roslaniec
Copy link
Author

Postponing review until implementing blinding of key shares

ferveo/src/dkg/pv.rs Outdated Show resolved Hide resolved
@piotr-roslaniec piotr-roslaniec marked this pull request as ready for review January 19, 2023 09:43
@piotr-roslaniec
Copy link
Author

piotr-roslaniec commented Jan 19, 2023

@theref @cygnusv I'm going to address key share blinding in the simple variant in a different PR, possibly #38 or one based on it

This PR is ready for review.

@piotr-roslaniec piotr-roslaniec mentioned this pull request Jan 19, 2023
1 task
@@ -66,16 +63,16 @@ pub fn setup_dkg(
) -> PubliclyVerifiableDkg<EllipticCurve> {
let keypairs = gen_keypairs(num);
let validators = gen_validators(&keypairs);
let me = validators.validators[validator].clone();
let me = validators[validator].clone();
PubliclyVerifiableDkg::new(
validators,
Params {
tau: 0,
security_threshold: 300 / 3,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where is 300 coming from?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's shares_num, from the line below. Should be reused here.

@piotr-roslaniec piotr-roslaniec merged commit e842b8a into main Jan 23, 2023
@piotr-roslaniec piotr-roslaniec deleted the dkg-pvss-flow branch January 23, 2023 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Completed
Development

Successfully merging this pull request may close these issues.

2 participants