secp256k1
secp256k1 copied to clipboard
Optimized C library for EC operations on curve secp256k1
So far we have manually checkable proofs for the field mul and square inner loops, and machine verification (via frama-c) of overflow-freeness for 10x26 (5x52 requires hacking on frama-c to...
At the last CoreDev meeting the idea of creating a libsecp Silent Payments (BIP352) module for handling the low-level parts [was brought up](https://btctranscripts.com/bitcoin-core-dev-tech/2023-09/libsecp256k1-meeting/). I've spent some time recently studying the...
I had to restart this job because make failed for Valgrind MacOS: https://github.com/bitcoin-core/secp256k1/actions/runs/6777069897/job/18419944841?pr=1437 We've seen other (different) random build issues before: https://github.com/LouisBrunner/valgrind-macos/issues/26 We could print the logs The make log...
Solves one item in https://github.com/bitcoin-core/secp256k1/issues/1392.
This PR adds a tool that verifies every header whether it is self-contained. As an example, the `field_5x52.h` and `field_10x26.h` headers have been refactored to get self-contained.
Building master (b10ddd2bd2bdce9ca8f2d4733636a9d9e7ac3da1): ```bash # x86_64-w64-mingw32-gcc (GCC) 12-win32 ./autogen.sh ./configure --host=x86_64-w64-mingw32 CFLAGS="-flto" LDFLAGS="-flto" make -j9 src/secp256k1.c: In function 'secp256k1_context_create': src/secp256k1.c:149:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]...
Thanks for the previous review. This PR: Added a function to construct valid field elements with random magnitude. Added the constraint in each field operation test based on the magnitude...
We have a C++ job that checks that all headers compile on their own, but of course, we should test this on C also... The example binaries cover some headers,...
Why do `secp256k1_keypair_*` functions have `SECP256K1_WARN_UNUSED_RESULT` if they always return 1 ? The only exception is `secp256k1_keypair_create`.
Closes the last item in the "Affecting both build systems" group in https://github.com/bitcoin-core/secp256k1/issues/1235. Draft for now, as it is based on https://github.com/bitcoin-core/secp256k1/pull/1291.