Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ license = "GPL-3.0-or-later"
categories = ["cryptography"]

[lib]
crate-type = ["lib"]
crate-type = ["staticlib", "rlib"]

[dependencies]
paillier = { git = "https://github.com/mortendahl/rust-paillier"}
Expand All @@ -34,7 +34,7 @@ reqwest = "0.9.5"
rocket = "0.4.0"
rocket_contrib = "0.4.0"
uuid = { version = "0.7", features = ["v4"] }
rust-crypto = "^0.2"
rust-crypto = { git = "https://github.com/vhnatyk/rust-crypto", branch="aarch64"} #"^0.2"

[dependencies.curv]
git = "https://github.com/KZen-networks/curv"
Expand All @@ -50,6 +50,11 @@ rust-gmp = { version = "0.5.0", features = ["serde_support"], git = "https://git
criterion = "0.2"

[[bench]]
name = "keygen"
name = "keygen_2p"
path = "benches/two_party_ecdsa/lindell_2017/keygen.rs"
harness = false

[[bench]]
name = "keygen_mp"
path = "benches/multi_party_ecdsa/gg18/keygen.rs"
harness = false
16 changes: 9 additions & 7 deletions benches/multi_party_ecdsa/gg18/keygen.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#[macro_use]
extern crate criterion;
extern crate cryptography_utils;
extern crate curv;
extern crate multi_party_ecdsa;

mod bench {
use criterion::Criterion;
use cryptography_utils::arithmetic::traits::Samplable;
use cryptography_utils::elliptic::curves::traits::*;
use cryptography_utils::BigInt;
// use curv::arithmetic::traits::Samplable;
// use curv::elliptic::curves::traits::*;
// use curv::BigInt;
use multi_party_ecdsa::protocols::multi_party_ecdsa::gg_2018::party_i::*;
pub fn bench_full_keygen_party_one_two(c: &mut Criterion) {
c.bench_function("keygen", move |b| {
Expand Down Expand Up @@ -35,17 +35,19 @@ mod bench {
//phase2 (including varifying correct paillier):
let (vss_scheme_1, secret_shares_1, index1) = party1_keys
.phase1_verify_com_phase3_verify_correct_key_phase2_distribute(
&parames, &blind_vec, &y_vec, &bc1_vec,
&parames, &blind_vec, //&y_vec,
&bc1_vec,
)
.expect("invalid key");
let (vss_scheme_2, secret_shares_2, index2) = party2_keys
.phase1_verify_com_phase3_verify_correct_key_phase2_distribute(
&parames, &blind_vec, &y_vec, &bc1_vec,
&parames, &blind_vec, //&y_vec,
&bc1_vec,
)
.expect("invalid key");

// each party assembles her secret share vector:
let vss_scheme_for_test = vss_scheme_1.clone();
let _vss_scheme_for_test = vss_scheme_1.clone();
let vss_vec = vec![vss_scheme_1, vss_scheme_2];
let party1_ss_vec = vec![
secret_shares_1[index1].clone(),
Expand Down