fastcrypto
fastcrypto copied to clipboard
Implementation of secp256k1 Group
This PR implements the secp256k1 group by wrapping around the k256 crate. This enhancement enables the use of the DKG protocol in fastcrypto-tbls to produce shared keys on the secp256k1 curve.
Motivation: We would like to use the fastcrypto-tbls DKG protocol to produce shares for a key that can sign transactions on Bitcoin, which natively supports secp256k1. However, the DKG protocol implementation currently only supports the BLS12-381 curve. By implementing the secp256k1 group, we enable the DKG protocol to work in conjunction with a signature aggregation protocol (e.g., FROST) to produce aggregated signatures that can be natively verified on Bitcoin.
Changes:
- Updated k256 to version 0.13.4
- Implemented secp256k1 Group
- Modified secp256k1 tests: Updated existing tests to align with the changes in the k256 interface
- Enhanced dkg_v1 tests: Adjusted the tests to run with both BLS12381 and secp256k1 curves, ensuring that the DKG protocol functions correctly with the new implementation.