secp256k1 icon indicating copy to clipboard operation
secp256k1 copied to clipboard

Optimized C library for EC operations on curve secp256k1

Results 171 secp256k1 issues
Sort by recently updated
recently updated
newest added

Builds on top of #979, #1118. Replaces #982. This implements encoding of curve points using the ElligatorSwift algorithm (https://eprint.iacr.org/2022/759), with two changes: * Inputs (u,t) where u=0, t=0, or u^2+t^3+7=0,...

**edit: This is now more a meta issue to discuss an improved context API, see the discussion below.** I'm arguably late to the party but I believe we should either...

Based on #979. This implements a generalization of Peter Dettman's sqrt-less x-only random-base multiplication algorithm from #262, using the Jacobi symbol algorithm from #979. The generalization is to permit the...

While testing bitcoin-core/secp256k1#1022 I've [noticed](https://github.com/bitcoin-core/secp256k1/pull/1022#issuecomment-986048847) a linker error when cross compiling with `--host=x86_64-w64-mingw32` in particular circumstances. I cannot recall my building environment then, but currently, on Ubuntu 22.04 with gcc...

The tests (src/tests.cpp and included modules) consist of some tests whose runtime is independent of the TEST_ITERS variable, and some which are. The ones that are independent take a significant...

See #1108 TODO: - [x] Try the test `test_secp256k1_sign_libecc_verify()`. (I still need to figure out how to try it without the whole ci overhead) - [x] Write a test to...

The group law in `secp256k1_gej_add_ge` is uniform, i.e., it works for P + Q no matter if P != Q or P = Q. (It still needs to handle infinity...

This will allow for a stable API and allow for internal representation changes to the secret key. Today secret keys are assumed to be a 32 byte big endian integer...

At present, my project depends on the secp256k1 library file. Now I need to compile the static library of different architectures for the Android JNI interface. How should I compile...