dfns / cggmp21

State-of-art threshold ECDSA in Rust
Apache License 2.0
43 stars 6 forks source link

Key refresh #7

Closed maurges closed 1 year ago

github-actions[bot] commented 1 year ago

Benchmark Result

Benchmarks ```text Tests seed: 32ba2c32d0ec8677a72c5392ed443f39a81b26a3373be204a7df891b177f33de n = 3 Protocol Performance: - Protocol took 2.31s to complete In particular: - Setup: 28.48ms - Validate security level: 5.00µs (0.0%) - Retrieve auxiliary data: 28.46ms (99.9%) - Precompute execution id and security params: 9.00µs (0.0%) - Setup networking: 5.40µs (0.0%) - Unstaged: 400.00ns (0.0%) - Round 1: 177.19ms - Generate local ephemeral secrets (k_i, y_i, p_i, v_i): 49.90µs (0.0%) - Encrypt G_i and K_i: 50.33ms (28.4%) - Prove ψ0_j: 126.81ms (71.6%) - Unstaged: 2.20µs (0.0%) - Round 2: 1.12s - Hash received msgs (reliability check): 62.70µs (0.0%) - Verify ψ0 proofs: 117.12ms (10.5%) - Sample random r, rˆ, s, sˆ, β, βˆ: 94.60µs (0.0%) - Encrypt D_ji: 75.45ms (6.8%) - Encrypt F_ji: 67.14ms (6.0%) - Encrypt Dˆ_ji: 75.47ms (6.8%) - Encrypt Fˆ_ji: 67.06ms (6.0%) - Prove ψ_ji: 294.55ms (26.4%) - Prove ψˆ_ji: 291.43ms (26.1%) - Prove ψ_prime_ji : 127.11ms (11.4%) - Unstaged: 2.20µs (0.0%) - Round 3: 870.22ms - Assert other parties hashed messages (reliability check): 800.00ns (0.0%) - Retrieve auxiliary data: 8.30µs (0.0%) - Validate ψ: 267.36ms (30.7%) - Validate ψˆ: 267.86ms (30.8%) - Validate ψ_prime: 118.46ms (13.6%) - Compute Γ, Delta_i, delta_i, chi_i: 88.38ms (10.2%) - Prove ψ_prime_prime: 128.15ms (14.7%) - Unstaged: 1.30µs (0.0%) - Presig output: 117.76ms - Validate ψ_prime_prime: 117.32ms (99.6%) - Calculate presignature: 440.40µs (0.4%) - Unstaged: 400.00ns (0.0%) - Partial signing: 23.60µs - Signature reconstruction: 601.50µs ```
maurges commented 1 year ago

Didn't add key refresh benchmarks yet, so benchmarks above are not of much use

survived commented 1 year ago

Could you please describe the protocol you implemented in overleaf doc so I could make sure implementation matches specs?

maurges commented 1 year ago

Yep, already working on it

maurges commented 1 year ago

@survived is there something we're still missing, aside from the writeup and benchmarks?

survived commented 1 year ago

Just a writeup (so I could review the protocol) and benchmarks (this can be done in a separate PR)