ZenGo-X / curv

Rust language general purpose elliptic curve cryptography.
MIT License
264 stars 111 forks source link

Added a dlog proof to vss feldman to defend against the n-t+1 attack #169

Closed Rumata888 closed 1 year ago

Rumata888 commented 2 years ago

Currently the VSS Feldman primitive in Curv is vulnerable to n-t+1 attack, where there are n-t+1 malicious collaborators that can take over the protocol if one of them publishes 0-th polynomial coefficient commitment that is equal to s*G - \sum (Honest Participants' 0-th coefficient commitments). If there are n-t+1 adversaries, then the attackers can solve the system of linear equations and alter their polynomial coefficient commitments so that the honest participants don't notice that the attacker's 0-th coefficient commitment is poisoned. To defend from this attack I've added a proof of knowledge of the dlog of the 0-th commitment.