ZenGo-X / multi-party-ecdsa

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

MtA (Multiplicative to Additive) share conversion protocol for Ed25519 #158

Open HRezaei opened 2 years ago

HRezaei commented 2 years ago

https://github.com/ZenGo-X/multi-party-ecdsa/blob/fc4a0ed2e1c9ba75d249e7ef0172ebc310f2eb43/src/utilities/mta/test.rs#L7

This test function works fine with the secp256_k1 curve, but if you change the underlying curve scalars and points to those of Ed25519, it fails always. To see the issue you need to refactor the test function and also MessageA, MessageB, etc. You can take a look at this repo where I prepared the mta_test in isolation and performed tests over all the curves (using curv-kzen v0.9). The result shows issues with Ed25519 and Ristretto, others curves work fine.