boltlabs-inc / tss-ecdsa

An implementation of a threshold ECDSA signature scheme
Other
12 stars 5 forks source link

Add signing #464

Closed marsella closed 1 year ago

marsella commented 1 year ago

Closes #425.

This adds the non-interactive signing protocol and a happy test for it.

It's quite large so I think it would benefit from review from both @gatoWololo and @hridambasu , just to have more eyes on it.

I tried to avoid adding too much miscellaneous clean-up, but I did make the following 2 changes:


From Aug 9:

I'm trying to add the complete signing protocol to the repo, but I'm getting some errors where signing generates an invalid signature. Here's what I've figured out:

This kind of reads to me like the signing algorithm is correct, but I'm generating presign records wrong, although I'm not sure how wrong they can be because even a "failing" record will work for some messages. I'm feeling pretty stuck on this.

This is a huge PR (as promised) and there's a lot to wade through. I hardcoded a seed that causes the tests to fail for reference.