dfns / cggmp21

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

Update `generic-ec` dep #6

Closed survived closed 1 year ago

survived commented 1 year ago

Latest generic-ec now has full support of secp256k1 curve. I also added tests that keygen/signing work fine for that curve.

github-actions[bot] commented 1 year ago

Benchmark Result

Benchmarks ```text Tests seed: f6283b416ea137b7019ea4f4a9400faa45082f531ee8b7b411ff8353a3a3730f n = 3 Protocol Performance: - Protocol took 1.89s to complete In particular: - Setup: 23.83ms - Validate security level: 5.60µs (0.0%) - Retrieve auxiliary data: 23.81ms (99.9%) - Precompute execution id and security params: 7.40µs (0.0%) - Setup networking: 4.40µs (0.0%) - Unstaged: 400.00ns (0.0%) - Round 1: 142.53ms - Generate local ephemeral secrets (k_i, y_i, p_i, v_i): 45.80µs (0.0%) - Encrypt G_i and K_i: 39.64ms (27.8%) - Prove ψ0_j: 102.84ms (72.2%) - Unstaged: 1.70µs (0.0%) - Round 2: 877.71ms - Hash received msgs (reliability check): 54.00µs (0.0%) - Verify ψ0 proofs: 91.14ms (10.4%) - Sample random r, rˆ, s, sˆ, β, βˆ: 95.50µs (0.0%) - Encrypt D_ji: 57.41ms (6.5%) - Encrypt F_ji: 50.64ms (5.8%) - Encrypt Dˆ_ji: 58.89ms (6.7%) - Encrypt Fˆ_ji: 51.36ms (5.9%) - Prove ψ_ji: 226.70ms (25.8%) - Prove ψˆ_ji: 233.70ms (26.6%) - Prove ψ_prime_ji : 107.72ms (12.3%) - Unstaged: 2.80µs (0.0%) - Round 3: 748.67ms - Assert other parties hashed messages (reliability check): 1.00µs (0.0%) - Retrieve auxiliary data: 11.30µs (0.0%) - Validate ψ: 237.09ms (31.7%) - Validate ψˆ: 229.12ms (30.6%) - Validate ψ_prime: 102.02ms (13.6%) - Compute Γ, Delta_i, delta_i, chi_i: 74.04ms (9.9%) - Prove ψ_prime_prime: 106.38ms (14.2%) - Unstaged: 1.40µs (0.0%) - Presig output: 94.45ms - Validate ψ_prime_prime: 93.85ms (99.4%) - Calculate presignature: 604.20µs (0.6%) - Unstaged: 400.00ns (0.0%) - Partial signing: 22.90µs - Signature reconstruction: 972.91µs ```