paulmillr / noble-curves

Audited & minimal JS implementation of elliptic curve cryptography.
https://paulmillr.com/noble
MIT License
664 stars 62 forks source link

BLS threshold m-of-n signatures #12

Open angrymouse opened 1 year ago

angrymouse commented 1 year ago

It's said in readme that BLS can be used well for threshold signatures, with link to article that describes how it works cryptographically. However I couldn't find how to do it using noble-curves. Is it possible currently?

paulmillr commented 1 year ago

See "Sign 3 msgs with 3 keys" example in readme. Threshold = aggregated sigs.

angrymouse commented 1 year ago

Yeah that's m-of-m signatures as I see... What about n-of-m ones? Is there possibility for actually "threshold"?

paulmillr commented 1 year ago

We don't provide out-of-box API for it, but could be simple to implement.

Resources for myself and others about m-of-n threshold sigs on bls: https://www.jcraige.com/threshold-bls-signatures https://xn--2-umb.com/22/bls-signatures/

angrymouse commented 1 year ago

Would be happy to contribute in implementation of this if I would know cryptography 😂 Good luck to you and noble... Seems really clean and understandible, especially after libsodium. Will keep this issue opened because noble doesn't have m-of-n BLS signatures API support yet... Stay safe!