This library implements ECDSA and Schnorr signatures, ECDH, and key recovery on the secp256k1 elliptic curve, optimized for cryptographic applications such as Bitcoin.
Optimized C library for EC operations on curve secp256k1.
Features:
secp256k1 ECDSA signing/verification and key generation.
Additive and multiplicative tweaking of secret/public keys.
Serialization/parsing of private keys, public keys, signatures.
Constant time, constant memory access signing and public key generation.
Derandomized ECDSA (via RFC6979 or with a caller provided function.)
Very efficient implementation.
Suitable for embedded systems.
No runtime dependencies.
Optional module for public key recovery.
Optional module for ECDH key exchange.
Optional module for Schnorr signatures according to BIP-340.