"This release adds a new ellswift module that implements ElligatorSwift encoding for public keys and x-only Diffie-Hellman key exchange for them."
New module ellswift implements ElligatorSwift encoding for public keys and x-only Diffie-Hellman key exchange for them. ElligatorSwift permits representing secp256k1 public keys as 64-byte arrays which cannot be distinguished from uniformly random. See:
Header file include/secp256k1_ellswift.h which defines the new API.
Document doc/ellswift.md which explains the mathematical background of the scheme.
We now test the library with unreleased development snapshots of GCC and Clang. This gives us an early chance to catch miscompilations and constant-time issues introduced by the compiler (such as those that led to the previous two releases).
Fixed symbol visibility in Windows DLL builds, where three internal library symbols were wrongly exported.
When consuming libsecp256k1 as a static library on Windows, the user must now define the SECP256K1_STATIC macro before including secp256k1.h.