libsecp256k1 v0.5.0: Faster Key Generation & Signing

libsecp256k1 is an optimized C library for ECDSA signatures and secret/public key operations on curve secp256k1.

libsecp256k1 v0.5.0: Faster Key Generation & Signing
  • "This release includes algorithmic improvements which increase the speed of key generation and signing. At the same time, the binary size has been reduced significantly, which we expect to benefit embedded users in particular. Moreover, a new function to sort public keys has been added."

What's new

Added

  • New function secp256k1_ec_pubkey_sort that sorts public keys using lexicographic (of compressed serialization) order.

Changed

  • The implementation of the point multiplication algorithm used for signing and public key generation was changed, resulting in improved performance for those operations.
    • The related configure option --ecmult-gen-precision was replaced with --ecmult-gen-kb (ECMULT_GEN_KB for CMake).
    • This changes the supported precomputed table sizes for these operations. The new supported sizes are 2 KiB, 22 KiB, or 86 KiB (while the old supported sizes were 32 KiB, 64 KiB, or 512 KiB).

ABI Compatibility

The ABI is backward compatible with versions 0.4.x and 0.3.x.

GitHub Repo