diff --git a/Cargo.toml b/Cargo.toml index c54eaac..7568b7c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,12 +11,14 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies.paillier] -version = "0.4.2" +version = "0.4.3" package = "kzen-paillier" default-features = false [dependencies.multi-party-ecdsa] -git = "https://github.com/webb-tools/multi-party-ecdsa" +#git = "https://github.com/webb-tools/multi-party-ecdsa" +git = "https://github.com/tmpfs/multi-party-ecdsa" +branch = "deps-update" default-features = false [dependencies.bitvec] @@ -25,8 +27,8 @@ default-features = false features = ["atomic", "alloc"] [dependencies] -zk-paillier = { version = "0.4.3", default-features = false } -curv = { package = "curv-kzen", version = "0.9", default-features = true } +zk-paillier = { version = "0.4.4", default-features = false } +curv = { package = "curv-kzen", version = "0.10", default-features = false } serde = { version = "1.0", features = ["derive"] } serde_derive = "1.0" zeroize = "1" diff --git a/src/add_party_message.rs b/src/add_party_message.rs index eeb8092..92852d5 100644 --- a/src/add_party_message.rs +++ b/src/add_party_message.rs @@ -273,7 +273,7 @@ impl JoinMessage { } // generate the vss_scheme for the LocalKey - let (vss_scheme, _) = VerifiableSS::::share(t, n, &new_share_fe); + let (vss_scheme, _) = VerifiableSS::::share(t, n, &new_share_fe); // TODO: secret cleanup might be needed. let local_key = LocalKey { diff --git a/src/refresh_message.rs b/src/refresh_message.rs index ab27cfe..f50893a 100644 --- a/src/refresh_message.rs +++ b/src/refresh_message.rs @@ -32,7 +32,7 @@ pub struct RefreshMessage { pub(crate) party_index: u16, pdl_proof_vec: Vec>, range_proofs: Vec>, - coefficients_committed_vec: VerifiableSS, + coefficients_committed_vec: VerifiableSS, pub(crate) points_committed_vec: Vec>, points_encrypted_vec: Vec, dk_correctness_proof: NiCorrectKeyProof, @@ -58,7 +58,7 @@ impl RefreshMessage { if new_n <= local_key.t { return Err(FsDkrError::NewPartyUnassignedIndexError); } - let (vss_scheme, secret_shares) = VerifiableSS::::share(local_key.t, new_n, &secret); + let (vss_scheme, secret_shares) = VerifiableSS::::share(local_key.t, new_n, &secret); local_key.vss_scheme = vss_scheme.clone(); @@ -209,7 +209,7 @@ impl RefreshMessage { // optimization - one decryption let li_vec: Vec<_> = (0..parameters.threshold as usize + 1) .map(|i| { - VerifiableSS::::map_share_to_new_params( + VerifiableSS::::map_share_to_new_params( parameters.clone().borrow(), indices[i], &indices, diff --git a/src/test.rs b/src/test.rs index 1ade393..06574e9 100644 --- a/src/test.rs +++ b/src/test.rs @@ -20,7 +20,11 @@ mod tests { use crate::add_party_message::JoinMessage; use crate::error::FsDkrResult; - use curv::cryptographic_primitives::hashing::Digest; + use curv::{ + elliptic::curves::Scalar, + cryptographic_primitives::{ + hashing::Digest, proofs::sigma_dlog::DLogProof} + }; use paillier::DecryptionKey; use round_based::dev::Simulation; use std::collections::HashMap; @@ -46,12 +50,14 @@ mod tests { .map(|i| keys[i].keys_linear.x_i.clone()) .collect(); let indices: Vec<_> = (0..(t + 1) as u16).collect(); - let vss = VerifiableSS:: { + let vss = VerifiableSS:: { parameters: ShamirSecretSharing { threshold: t, share_count: n, }, commitments: Vec::new(), + proof: DLogProof::::prove( + &Scalar::random()), }; assert_eq!( vss.reconstruct(&indices[..], &old_linear_secret_key[0..(t + 1) as usize]), @@ -85,7 +91,7 @@ mod tests { let offline_sign = simulate_offline_stage(keys, &[3, 4, 5]); simulate_signing(offline_sign, b"ZenGo"); } - + #[test] fn test_add_party_with_permute() { fn simulate_replace( @@ -198,12 +204,14 @@ mod tests { .map(|i| keys[i].keys_linear.x_i.clone()) .collect(); let indices: Vec<_> = (0..(t + 1) as u16).collect(); - let vss = VerifiableSS:: { + let vss = VerifiableSS:: { parameters: ShamirSecretSharing { threshold: t, share_count: n, }, commitments: Vec::new(), + proof: DLogProof::::prove( + &Scalar::random()), }; assert_eq!( vss.reconstruct(&indices[..], &old_linear_secret_key[0..(t + 1) as usize]),