ZenGo-X / multi-party-ecdsa

Rust implementation of {t,n}-threshold ECDSA (elliptic curve digital signature algorithm).
GNU General Public License v3.0
975 stars 308 forks source link

Add optional range proofs for Alice and Bob in GG18 #79

Open omershlo opened 4 years ago

omershlo commented 4 years ago

In the multi-party ECDSA case, in mta.rs, in impl MessageA the range proofs are not included for Alice, and in impl MessageB, instead it is only computing a proof of knowledge of a discrete logarithm of bG instead of proving that b is in the appropriate range as per page 8 of GG18, where it says Bob should be proving in ZK that b < K

The rational why we might want to have the range proof is in GG18 on page 9, basically it would allow a malicious party to make the threshold signature fail verification and let them go unblamed.

Motivation to drop the range proofs is discussed in Section 5 (page 19) of the paper but we think that it should be optional.