Add support for 2/2 multi-signatures with Schnorr over elliptic curves, supporting verification with a joint public key, using ECC Schnorr (non-interactive) signature verification.
Implement a secure distributed key generation protocol, which cooperatively computes a joint public key, and individual private key-shares for each party, using secure multi-party computation.
This distributed key generation protocol will be based on Diffie-Hellman key exchange, with protection against public key-share subtraction attacks.
Unhardened public key-shares will be mixed via two rounds of cryptographic hashing, and zero-knowledge proofs with commitments will be used to ensure correct computation of unhardened public key-shares and collaborative computation of hardened public key-shares and the final hardened joint public key.
Implement a secure two-party interactive signing protocol for ECC Schnorr, which takes as private inputs each party's hardened private key-share, and as public input the message to be signed & the cooperatively-computed joint public key.
Add integration tests verifying correctness of the distributed key generation protocol, and two-party interactive signing protocol, as well as verifying signatures produced by the latter using the joint public key & the (single-party) ECC Schnorr module.
Add support for 2/2 multi-signatures with Schnorr over elliptic curves, supporting verification with a joint public key, using ECC Schnorr (non-interactive) signature verification.
Implement a secure distributed key generation protocol, which cooperatively computes a joint public key, and individual private key-shares for each party, using secure multi-party computation.
Implement a secure two-party interactive signing protocol for ECC Schnorr, which takes as private inputs each party's hardened private key-share, and as public input the message to be signed & the cooperatively-computed joint public key.
Add integration tests verifying correctness of the distributed key generation protocol, and two-party interactive signing protocol, as well as verifying signatures produced by the latter using the joint public key & the (single-party) ECC Schnorr module.