Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Squashed 'src/secp256k1/' changes from 8ae56e33e..0fa84f869
0fa84f869 Merge bitcoin-core/secp256k1#1358: tests: introduce helper for non-zero `random_fe_test()` results 5a95a268b tests: introduce helper for non-zero `random_fe_test` results 304421d57 tests: refactor: remove duplicate function `random_field_element_test` 3aef6ab8e Merge bitcoin-core/secp256k1#1345: field: Static-assert that int args affecting magnitude are constant 4494a369b Merge bitcoin-core/secp256k1#1357: tests: refactor: take use of `secp256k1_ge_x_on_curve_var` 799f4eec2 Merge bitcoin-core/secp256k1#1356: ci: Adjust Docker image to Debian 12 "bookworm" c862a9fb4 ci: Adjust Docker image to Debian 12 "bookworm" a1782098a ci: Force DWARF v4 for Clang when Valgrind tests are expected 7d8d5c86d tests: refactor: take use of `secp256k1_ge_x_on_curve_var` 8a7273465 Help the compiler prove that a loop is entered fd491ea1b Merge bitcoin-core/secp256k1#1355: Fix a typo in the error message ac43613d2 Merge bitcoin-core/secp256k1#1354: Add ellswift to CHANGELOG 67887ae65 Fix a typo in the error message 926dd3e96 Merge bitcoin-core/secp256k1#1295: abi: Use dllexport for mingw builds 10836832e Merge bitcoin-core/secp256k1#1336: Use `__shiftright128` intrinsic in `secp256k1_u128_rshift` on MSVC 7c7467ab7 Refer to ellswift.md in API docs c32ffd8d8 Add ellswift to CHANGELOG 3c1a0fd37 Merge bitcoin-core/secp256k1#1347: field: Document return value of fe_sqrt() 705ce7ed8 Merge bitcoin-core/secp256k1#1129: ElligatorSwift + integrated x-only DH 0702ecb06 Merge bitcoin-core/secp256k1#1338: Drop no longer needed `#include "../include/secp256k1.h"` 577913745 field: Document return value of fe_sqrt() 90e360acc Add doc/ellswift.md with ElligatorSwift explanation 4f091847c Add ellswift testing to CI 1bcea8c57 Add benchmarks for ellswift module 2d1d41acf Add ctime tests for ellswift module df633cdeb Add _prefix and _bip324 ellswift_xdh hash functions 9695deb35 Add tests for ellswift module c47917bbd Add ellswift module implementing ElligatorSwift 79e5b2a8b Add functions to test if X coordinate is valid a597a5a9c Add benchmark for key generation 30574f22e Merge bitcoin-core/secp256k1#1349: Normalize ge produced from secp256k1_pubkey_load 45c5ca767 Merge bitcoin-core/secp256k1#1350: scalar: introduce and use `secp256k1_{read,write}_be64` helpers f1652528b Normalize ge produced from secp256k1_pubkey_load 7067ee54b tests: add tests for `secp256k1_{read,write}_be64` 740528caa scalar: use newly introduced `secp256k1_{read,write}_be64` helpers (4x64 impl.) be8ff3a02 field: Static-assert that int args affecting magnitude are constant 67214f5f7 Merge bitcoin-core/secp256k1#1339: scalar: refactor: use `secp256k1_{read,write}_be32` helpers cb1a59275 Merge bitcoin-core/secp256k1#1341: docs: correct `pubkey` param descriptions for `secp256k1_keypair_{xonly_,}pub` f3644287b docs: correct `pubkey` param descriptions for `secp256k1_keypair_{xonly_,}pub` 887183e7d scalar: use `secp256k1_{read,write}_be32` helpers (4x64 impl.) 52b84238d scalar: use `secp256k1_{read,write}_be32` helpers (8x32 impl.) e449af687 Drop no longer needed `#include "../include/secp256k1.h"` 5b7bf2e9d Use `__shiftright128` intrinsic in `secp256k1_u128_rshift` on MSVC 60556c9f4 Merge bitcoin-core/secp256k1#1337: ci: Fix error D8037 in `cl.exe` (attempt 2) db29bf220 ci: Remove quirk that runs dummy command after wineserver c7db4942b ci: Fix error D8037 in `cl.exe` 7dae11586 Revert "ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe" bf29f8d0a Merge bitcoin-core/secp256k1#1334: fix input range comment for `secp256k1_fe_add_int` 605e07e36 fix input range comment for `secp256k1_fe_add_int` debf3e5c0 Merge bitcoin-core/secp256k1#1330: refactor: take use of `secp256k1_scalar_{zero,one}` constants d75dc59b5 Merge bitcoin-core/secp256k1#1333: test: Warn if both `VERIFY` and `COVERAGE` are defined ade5b3670 tests: add checks for scalar constants `secp256k1_scalar_{zero,one}` e83801f5d test: Warn if both `VERIFY` and `COVERAGE` are defined 654246c63 refactor: take use of `secp256k1_scalar_{zero,one}` constants 908e02d59 Merge bitcoin-core/secp256k1#1328: build: Bump MSVC warning level up to W3 1549db0ca build: Level up MSVC warnings 20a5da5fb Merge bitcoin-core/secp256k1#1310: Refine release process ad8460329 release process: clarify change log updates 6348bc7ee release process: fix process for maintenance release 79fa50b08 release process: mention targeted release schedule 165206789 release process: add sanity checks 09df0bfb2 Merge bitcoin-core/secp256k1#1327: ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe 27504d5c9 ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe d373a7215 Merge bitcoin-core/secp256k1#1316: Do not invoke fe_is_zero on failed set_b32_limit 6433175ff Do not invoke fe_is_zero on failed set_b32_limit 5f7903c73 Merge bitcoin-core/secp256k1#1318: build: Enable -DVERIFY for precomputation binaries e9e4526a4 Merge bitcoin-core/secp256k1#1317: Make fe_cmov take max of magnitudes 5768b5022 build: Enable -DVERIFY for precomputation binaries 31b4bbee1 Make fe_cmov take max of magnitudes 83186db34 Merge bitcoin-core/secp256k1#1314: release cleanup: bump version after 0.3.2 95448ef2f release cleanup: bump version after 0.3.2 acf5c55ae Merge bitcoin-core/secp256k1#1312: release: Prepare for 0.3.2 d490ca204 release: Prepare for 0.3.2 3e3d125b8 Merge bitcoin-core/secp256k1#1309: changelog: Catch up e8295d07a Merge bitcoin-core/secp256k1#1311: Revert "Remove unused scratch space from API" 697e1ccf4 changelog: Catch up 3ad1027a4 Revert "Remove unused scratch space from API" 76b43f344 changelog: Add entry for #1303 7d4f86d24 Merge bitcoin-core/secp256k1#1307: Mark more assembly outputs as early clobber b54a0672e Merge bitcoin-core/secp256k1#1304: build: Rename arm to arm32 and check if it's really supported c6bb29b30 build: Rename `64bit` to `x86_64` 8c9ae37a5 Add release note 03246457a autotools: Add `SECP_ARM32_ASM_CHECK` macro ed4ba238e cmake: Add `check_arm32_assembly` function 350b4bd6e Mark stack variables as early clobber for technical correctness 0c729ba70 Bugfix: mark outputs as early clobber in scalar x86_64 asm 3353d3c75 Merge bitcoin-core/secp256k1#1207: Split fe_set_b32 into reducing and normalizing variants 5b3260229 Split fe_set_b32 into reducing and normalizing variants 006ddc1f4 Merge bitcoin-core/secp256k1#1306: build: Make tests work with external default callbacks 1907f0f16 build: Make tests work with external default callbacks fb3a80636 Merge bitcoin-core/secp256k1#1133: schnorrsig: Add test vectors for variable-length messages cd54ac7c1 schnorrsig: Improve docs of schnorrsig_sign_custom 28687b031 schnorrsig: Add BIP340 varlen test vectors 97a98bed1 schnorrsig: Refactor test vector code to allow varlen messages ab5a91712 Merge bitcoin-core/secp256k1#1303: ct: Use more volatile 9eb6934f6 Merge bitcoin-core/secp256k1#1305: Remove unused scratch space from API 073d98a07 Merge bitcoin-core/secp256k1#1292: refactor: Make 64-bit shift explicit 17fa21733 ct: Be cautious and use volatile trick in more "conditional" paths 5fb336f9c ct: Use volatile trick in scalar_cond_negate 712e7f872 Remove unused scratch space from API 54d34b6c2 Merge bitcoin-core/secp256k1#1300: Avoid normalize conditional on VERIFY c63ec88eb Merge bitcoin-core/secp256k1#1066: Abstract out and merge all the magnitude/normalized logic 7fc642fa2 Simplify secp256k1_fe_{impl_,}verify 4e176ad5b Abstract out verify logic for fe_is_square_var 4371f9834 Abstract out verify logic for fe_add_int 89e324c6b Abstract out verify logic for fe_half 283cd80ab Abstract out verify logic for fe_get_bounds d5aa2f035 Abstract out verify logic for fe_inv{,_var} 316764607 Abstract out verify logic for fe_from_storage 76d31e504 Abstract out verify logic for fe_to_storage 1e6894bdd Abstract out verify logic for fe_cmov be82bd8e0 Improve comments/checks for fe_sqrt 6ab35082e Abstract out verify logic for fe_sqr 4c25f6efb Abstract out verify logic for fe_mul e179e651c Abstract out verify logic for fe_add 7e7ad7ff5 Abstract out verify logic for fe_mul_int 65d82a344 Abstract out verify logic for fe_negate 144670893 Abstract out verify logic for fe_get_b32 f7a7666ae Abstract out verify logic for fe_set_b32 ce4d2093e Abstract out verify logic for fe_cmp_var 7d7d43c6d Improve comments/check for fe_equal{,_var} c5e788d67 Abstract out verify logic for fe_is_odd d3f3fe861 Abstract out verify logic for fe_is_zero c701d9a47 Abstract out verify logic for fe_clear 19a2bfeee Abstract out verify logic for fe_set_int 864f9db49 Abstract out verify logic for fe_normalizes_to_zero{,_var} 6c3137112 Abstract out verify logic for fe_normalize_var e28b51f52 Abstract out verify logic for fe_normalize_weak b6b6f9cb9 Abstract out verify logic for fe_normalize 7fa519555 Bugfix: correct SECP256K1_FE_CONST mag/norm fields e5cf4bf3f build: Rename `arm` to `arm32` b29566c51 Merge magnitude/normalized fields, move/improve comments 97c63b903 Avoid normalize conditional on VERIFY 341cc1972 Merge bitcoin-core/secp256k1#1299: Infinity handling: ecmult_const(infinity) works, and group verification bbc834467 Avoid secp256k1_ge_set_gej_zinv with uninitialized z 0a2e0b2ae Make secp256k1_{fe,ge,gej}_verify work as no-op if non-VERIFY f20266722 Add invariant checking to group elements a18821d5b Always initialize output coordinates in secp256k1_ge_set_gej 3086cb90a Expose secp256k1_fe_verify to other modules a0e696fd4 Make secp256k1_ecmult_const handle infinity 24c768ae0 Merge bitcoin-core/secp256k1#1301: Avoid using bench_verify_data as bench_sign_data; merge them 2e65f1fdb Avoid using bench_verify_data as bench_sign_data; merge them 1cf15ebd9 Merge bitcoin-core/secp256k1#1296: docs: complete interface description for `secp256k1_schnorrsig_sign_custom` bc7c8db17 abi: Use dllexport for mingw builds 149c41cee docs: complete interface description for `secp256k1_schnorrsig_sign_custom` f30c74866 Merge bitcoin-core/secp256k1#1270: cmake: Fix library ABI versioning d1e48e547 refactor: Make 64-bit shift explicit b2e29e43d ci: Treat all compiler warnings as errors in "Windows (VS 2022)" task 3c8183885 Merge bitcoin-core/secp256k1#1289: cmake: Use full signature of `add_test()` command 755629bc0 cmake: Use full signature of `add_test()` command bef448f9a cmake: Fix library ABI versioning 4b0f711d4 Merge bitcoin-core/secp256k1#1277: autotools: Clean up after adding Wycheproof 222ecaf66 Merge bitcoin-core/secp256k1#1284: cmake: Some improvements using `PROJECT_IS_TOP_LEVEL` variable 71f746c05 cmake: Include `include` directory for subtree builds 024a40948 Merge bitcoin-core/secp256k1#1240: cmake: Improve and document compiler flag checks a8d059f76 cmake, doc: Document compiler flags 6ece1507c cmake, refactor: Rename `try_add_compile_option` to `try_append_cflags` 19516ed3e cmake: Use `add_compile_options()` in `try_add_compile_option()` 4b84f4bf0 Merge bitcoin-core/secp256k1#1239: cmake: Bugfix and other improvements after bumping CMake up to 3.13 596b336ff Merge bitcoin-core/secp256k1#1234: cmake: Add dev-mode 6b7e5b717 Merge bitcoin-core/secp256k1#1275: build: Fix C4005 "macro redefinition" MSVC warnings in examples 1c8953671 Merge bitcoin-core/secp256k1#1286: tests: remove extra semicolon in macro c4062d6b5 debug: move helper for printing buffers into util.h 7e977b3c5 autotools: Take VPATH builds into account when generating testvectors 2418d3260 autotools: Create src/wycheproof dir before creating file in it 8764034ed autotools: Make all "pregenerated" targets .PHONY e1b9ce881 autotools: Use same conventions for all pregenerated files 3858bad2c tests: remove extra semicolon in macro 1f33bb2b1 Merge bitcoin-core/secp256k1#1205: field: Improve docs +tests of secp256k1_fe_set_b32 162da73e9 tests: Add debug helper for printing buffers e9fd3dff7 field: Improve docs and tests of secp256k1_fe_set_b32 f6bef03c0 Merge bitcoin-core/secp256k1#1283: Get rid of secp256k1_fe_const_b 5431b9dec cmake: Make `SECP256K1_INSTALL` default depend on `PROJECT_IS_TOP_LEVEL` 5ec1333d4 Merge bitcoin-core/secp256k1#1285: bench: Make sys/time.h a system include 68b16a166 bench: Make sys/time.h a system include 162608cc9 cmake: Emulate `PROJECT_IS_TOP_LEVEL` for CMake<3.21 69e1ec033 Get rid of secp256k1_fe_const_b ce5ba9e24 gitignore: Add CMakeUserPresets.json 0a446a312 cmake: Add dev-mode CMake preset a6f4bcf6e Merge bitcoin-core/secp256k1#1231: Move `SECP256K1_INLINE` macro definition out from `include/secp256k1.h` a273d74b2 cmake: Improve version comparison 6a58b483e cmake: Use `if(... IN_LIST ...)` command 2445808c0 cmake: Use dedicated `GENERATOR_IS_MULTI_CONFIG` property 9f8703ef1 cmake: Use dedicated `CMAKE_HOST_APPLE` variable 8c2017035 cmake: Use recommended `add_compile_definitions` command 04d4cc071 cmake: Add `DESCRIPTION` and `HOMEPAGE_URL` options to `project` command 8a8b6536e cmake: Use `SameMinorVersion` compatibility mode 5b0444a3b Merge bitcoin-core/secp256k1#1263: cmake: Make installation optional 47ac3d63c cmake: Make installation optional 2e035af25 Merge bitcoin-core/secp256k1#1273: build: Make `SECP_VALGRIND_CHECK` preserve `CPPFLAGS` 5be353d65 Merge bitcoin-core/secp256k1#1279: tests: lint wycheproof's python script 08f4b1632 autotools: Move code around to tidy Makefile 04bf3f677 Merge bitcoin-core/secp256k1#1230: Build: allow static or shared but not both 9ce9984f3 Merge bitcoin-core/secp256k1#1265: Remove bits argument from secp256k1_wnaf_const{_xonly} 566faa17d Merge bitcoin-core/secp256k1#1267: doc: clarify process for patch releases ef49a11d2 build: allow static or shared but not both 35ada3b95 tests: lint wycheproof's python script 4258c54f4 Merge bitcoin-core/secp256k1#1276: autotools: Don't regenerate Wycheproof header automatically 529b54d92 autotools: Move Wycheproof header from EXTRA_DIST to noinst_HEADERS 06c67dea9 autotools: Don't regenerate Wycheproof header automatically dc0657c76 build: Fix C4005 "macro redefinition" MSVC warnings in examples 1ecb94ebe build: Make `SECP_VALGRIND_CHECK` preserve `CPPFLAGS` 3bab71cf0 Merge bitcoin-core/secp256k1#1268: release cleanup: bump version after 0.3.1 656c6ea8d release cleanup: bump version after 0.3.1 346a053d4 Merge bitcoin-core/secp256k1#1269: changelog: Fix link 6a37b2a5e changelog: Fix link ec98fcedd Merge bitcoin-core/secp256k1#1266: release: Prepare for 0.3.1 1b6fb5593 doc: clarify process for patch releases 898e1c676 release: Prepare for 0.3.1 1d9a13fc2 changelog: Remove inconsistent newlines 0e091669a changelog: Catch up in preparation of 0.3.1 7b7503dac Merge bitcoin-core/secp256k1#1245: tests: Add Wycheproof ECDSA vectors a575339c0 Remove bits argument from secp256k1_wnaf_const (always 256) 145078c41 Merge bitcoin-core/secp256k1#1118: Add x-only ecmult_const version with x specified as n/d e5de45460 tests: Add Wycheproof ECDSA vectors 0f8642079 Add exhaustive tests for ecmult_const_xonly 4485926ac Add x-only ecmult_const version for x=n/d a0f4644f7 Merge bitcoin-core/secp256k1#1252: Make position of * in pointer declarations in include/ consistent 4e682626a Merge bitcoin-core/secp256k1#1226: Add CMake instructions to release process 2d51a454f Merge bitcoin-core/secp256k1#1257: ct: Use volatile "trick" in all fe/scalar cmov implementations 4a496a36f ct: Use volatile "trick" in all fe/scalar cmov implementations 3d1f430f9 Make position of * in pointer declarations in include/ consistent 2bca0a5cb Merge bitcoin-core/secp256k1#1241: build: Improve `SECP_TRY_APPEND_DEFAULT_CFLAGS` macro afd8b23b2 Merge bitcoin-core/secp256k1#1244: Suppress `-Wunused-parameter` when building for coverage analysis 1d8f36751 Merge bitcoin-core/secp256k1#1250: No need to subtract 1 before doing a right shift 3e43041be No need to subtract 1 before doing a right shift 3addb4c1e build: Improve `SECP_TRY_APPEND_DEFAULT_CFLAGS` macro 0c07c8283 Add CMake instructions to release process 464a9115b Merge bitcoin-core/secp256k1#1242: Set ARM ASM symbol visibility to `hidden` f16a709fd Merge bitcoin-core/secp256k1#1247: Apply Checks only in VERIFY mode. 70be3cade Merge bitcoin-core/secp256k1#1246: Typo 4ebd82852 Apply Checks only in VERIFY mode. d1e7ca192 Typo 36b0adf1b build: remove warning until it's reproducible 5bb03c291 Replace `SECP256K1_ECMULT_TABLE_VERIFY` macro by a function 9c8c4f443 Merge bitcoin-core/secp256k1#1238: build: bump CMake minimum requirement to 3.13 0cf2fb91e Merge bitcoin-core/secp256k1#1243: build: Ensure no optimization when building for coverage analysis fd2a40864 Set ARM ASM symbol visibility to `hidden` 4429a8c21 Suppress `-Wunused-parameter` when building for coverage analysis 8e79c7ed1 build: Ensure no optimization when building for coverage analysis 96dd06251 build: bump CMake minimum requirement to 3.13 427bc3cdc Merge bitcoin-core/secp256k1#1236: Update comment for secp256k1_modinv32_inv256 647f0a5cb Update comment for secp256k1_modinv32_inv256 8e142ca41 Move `SECP256K1_INLINE` macro definition out from `include/secp256k1.h` 77445898a Remove `SECP256K1_INLINE` usage from examples 565820945 Merge bitcoin-core/secp256k1#1228: release cleanup: bump version after 0.3.0 bdf39000b Merge bitcoin-core/secp256k1#1223: release: prepare for 0.3.0 28e63f7ea release cleanup: bump version after 0.3.0 b40adf236 release: prepare for 0.3.0 90b513aad Merge bitcoin-core/secp256k1#1229: cmake: Rename project to "libsecp256k1" 8be82d436 cmake: Rename project to "libsecp256k1" ef4f8bd02 Merge bitcoin-core/secp256k1#1227: readme: Use correct build type in CMake/Windows build instructions 756b61d45 readme: Use correct build type in CMake/Windows build instructions 3295aa149 Merge bitcoin-core/secp256k1#1225: changelog: Add entry for CMake 92098d84c changelog: Add entry for CMake df323b5c1 Merge bitcoin-core/secp256k1#1113: build: Add CMake-based build system e1eb33724 ci: Add "x86_64: Windows (VS 2022)" task 10602b003 cmake: Export config files 5468d7096 build: Add CMake-based build system 6048e6c03 Merge bitcoin-core/secp256k1#1222: Remove redundant checks. eb8749fcd Merge bitcoin-core/secp256k1#1221: Update Changelog 5d8f53e31 Remove redudent checks. 9d1b458d5 Merge bitcoin-core/secp256k1#1217: Add secp256k1_fe_add_int function d232112fa Update Changelog 8962fc95b Merge bitcoin-core/secp256k1#1218: Update overflow check 2ef1c9b38 Update overflow check 575731878 Merge bitcoin-core/secp256k1#1212: Prevent dead-store elimination when clearing secrets in examples b081f7e4c Add secp256k1_fe_add_int function 5660c1375 prevent optimization in algorithms 09b1d466d Merge bitcoin-core/secp256k1#979: Native jacobi symbol algorithm ce3cfc78a doc: Describe Jacobi calculation in safegcd_implementation.md 6be01036c Add secp256k1_fe_is_square_var function 1de2a01c2 Native jacobi symbol algorithm 04c6c1b18 Make secp256k1_modinv64_det_check_pow2 support abs val 5fffb2c7a Make secp256k1_i128_check_pow2 support -(2^n) cbd255593 Merge bitcoin-core/secp256k1#1209: build: Add SECP256K1_API_VAR to fix importing variables from DLLs 1b21aa517 Merge bitcoin-core/secp256k1#1078: group: Save a normalize_to_zero in gej_add_ge e4330341b ci: Shutdown wineserver whenever CI script exits 9a5a611a2 build: Suppress stupid MSVC linker warning 739c53b19 examples: Extend sig examples by call that uses static context 914276e4d build: Add SECP256K1_API_VAR to fix importing variables from DLLs 1cca7c174 Merge bitcoin-core/secp256k1#1206: build: Add -Wreserved-identifier supported by clang 8c7e0fc1d build: Add -Wreserved-identifier supported by clang ca92a35d0 field: Simplify code in secp256k1_fe_set_b32 d93f62e36 field: Verify field element even after secp256k1_fe_set_b32 fails 8ebe5c520 Merge bitcoin-core/secp256k1#1201: ci: Do not set git's `user.{email,name}` config options 5596ec5c2 Merge bitcoin-core/secp256k1#1203: Do not link `bench` and `ctime_tests` to `COMMON_LIB` ef39721cc Do not link `bench` and `ctime_tests` to `COMMON_LIB` 9b60e3148 ci: Do not set git's `user.{email,name}` config options e1817a6f5 Merge bitcoin-core/secp256k1#1199: ci: Minor improvements inspired by Bitcoin Core 1bff20058 Merge bitcoin-core/secp256k1#1200: Drop no longer used Autoheader macros 9b7d18669 Drop no longer used Autoheader macros c2415866c ci: Don't fetch git history 0ecf31885 ci: Use remote pull/merge ref instead of local git merge 2b77240b3 Merge bitcoin-core/secp256k1#1172: benchmarks: fix bench_scalar_split eb6bebaee scalar: restrict split_lambda args, improve doc and VERIFY_CHECKs 7f49aa7f2 ci: add test job with -DVERIFY 620ba3d74 benchmarks: fix bench_scalar_split 5fbff5d34 Merge bitcoin-core/secp256k1#1170: contexts: Forbid destroying, cloning and randomizing the static context 233822d84 Merge bitcoin-core/secp256k1#1195: ctime_tests: improve output when CHECKMEM_RUNNING is not defined ad7433b14 Merge bitcoin-core/secp256k1#1196: Drop no longer used variables from the build system e39d954f1 tests: Add CHECK_ILLEGAL(_VOID) macros and use in static ctx tests 2cd4e3c0a Drop no longer used `SECP_{LIBS,INCLUDE}` variables 613626f94 Drop no longer used `SECP_TEST_{LIBS,INCLUDE}` variables 61841fc9e contexts: Forbid randomizing secp256k1_context_static 4b6df5e33 contexts: Forbid cloning/destroying secp256k1_context_static b1579cf5f Merge bitcoin-core/secp256k1#1194: Ensure safety of ctz_debruijn implementation. 8f51229e0 ctime_tests: improve output when CHECKMEM_RUNNING is not defined d6ff738d5 Ensure safety of ctz_debruijn implementation. a01a7d86d Merge bitcoin-core/secp256k1#1192: Switch to exhaustive groups with small B coefficient a7a7bfaf3 Merge bitcoin-core/secp256k1#1190: Make all non-API functions (except main) static f29a32709 Merge bitcoin-core/secp256k1#1169: Add support for msan instead of valgrind (for memcheck and ctime test) ff8edf89e Merge bitcoin-core/secp256k1#1193: Add `noverify_tests` to `.gitignore` ce60785b2 Introduce SECP256K1_B macro for curve b coefficient 4934aa799 Switch to exhaustive groups with small B coefficient d4a6b58df Add `noverify_tests` to `.gitignore` 88e80722d Merge bitcoin-core/secp256k1#1160: Makefile: add `-I$(top_srcdir)/{include,src}` to `CPPFLAGS` for precomputed 0f088ec11 Rename CTIMETEST -> CTIMETESTS 74b026f05 Add runtime checking for DECLASSIFY flag 5e2e6fcfc Run ctime test in Linux MSan CI job 18974061a Make ctime tests building configurable 5048be17e Rename valgrind_ctime_test -> ctime_tests 6eed6c18d Update error messages to suggest msan as well 8e11f89a6 Add support for msan integration to checkmem.h 8dc64079e Add compile-time error to valgrind_ctime_test 0db05a770 Abstract interactions with valgrind behind new checkmem.h 4f1a54e41 Move valgrind CPPFLAGS into SECP_CONFIG_DEFINES cc3b8a4f4 Merge bitcoin-core/secp256k1#1187: refactor: Rename global variables in tests 9a93f48f5 refactor: Rename STTC to STATIC_CTX in tests 3385a2648 refactor: Rename global variables to uppercase in tests e03ef8655 Make all non-API functions (except main) static cbe41ac13 Merge bitcoin-core/secp256k1#1188: tests: Add noverify_tests which is like tests but without VERIFY 203760023 tests: Add noverify_tests which is like tests but without VERIFY e862c4af0 Makefile: add -I$(top_srcdir)/src to CPPFLAGS for precomputed 0eb300041 Merge bitcoin-core/secp256k1#1186: tests: Tidy context tests 39e8f0e3d refactor: Separate run_context_tests into static vs proper contexts a4a09379b tests: Clean up and improve run_context_tests() further fc90bb569 refactor: Tidy up main() f32a36f62 tests: Don't use global context for context tests ce4f936c4 tests: Tidy run_context_tests() by extracting functions 18e0db30c tests: Don't recreate global context in scratch space test b19806122 tests: Use global copy of secp256k1_context_static instead of clone 2a39ac162 Merge bitcoin-core/secp256k1#1185: Drop `SECP_CONFIG_DEFINES` from examples 2f9ca284e Drop `SECP_CONFIG_DEFINES` from examples 31ed5386e Merge bitcoin-core/secp256k1#1183: Bugfix: pass SECP_CONFIG_DEFINES to bench compilation c0a555b2a Bugfix: pass SECP_CONFIG_DEFINES to bench compilation 01b819a8c Merge bitcoin-core/secp256k1#1158: Add a secp256k1_i128_to_u64 function. eacad90f6 Merge bitcoin-core/secp256k1#1171: Change ARG_CHECK_NO_RETURN to ARG_CHECK_VOID which returns (void) 3f57b9f77 Merge bitcoin-core/secp256k1#1177: Some improvements to the changelog c30b889f1 Clarify that the ABI-incompatible versions are earlier 881fc33d0 Consistency in naming of modules 665ba77e7 Merge bitcoin-core/secp256k1#1178: Drop `src/libsecp256k1-config.h` 75d7b7f5b Merge bitcoin-core/secp256k1#1154: ci: set -u in cirrus.sh to treat unset variables as an error 7a7468820 ci: add missing CFLAGS & CPPFLAGS variable to print_environment c2e0fdade ci: set -u in cirrus.sh to treat unset variables as an error 9c5a4d21b Do not define unused `HAVE_VALGRIND` macro ad8647f54 Drop no longer relevant files from `.gitignore` b627ba705 Remove dependency on `src/libsecp256k1-config.h` 9ecf8149a Reduce font size in changelog 2dc133a67 Add more changelog entries ac233e181 Add links to diffs to changelog cee8223ef Mention semantic versioning in changelog 9a8d65f07 Merge bitcoin-core/secp256k1#1174: release cleanup: bump version after 0.2.0 02ebc290f release cleanup: bump version after 0.2.0 b6b360efa doc: improve message of cleanup commit 21ffe4b22 Merge bitcoin-core/secp256k1#1055: Prepare initial release e025ccdf7 release: prepare for initial release 0.2.0 6d1784a2e build: add missing files to EXTRA_DIST 8c949f56d Merge bitcoin-core/secp256k1#1173: Don't use compute credits for now 13bf1b6b3 changelog: make order of change types match keepachangelog.com b1f992a55 doc: improve release process 7e5b22684 Don't use compute credits for now a49e0940a docs: Fix typo 2551cdac9 tests: Fix code formatting c635c1bfd Change ARG_CHECK_NO_RETURN to ARG_CHECK_VOID which returns (void) cf66f2357 refactor: Add helper function secp256k1_context_is_proper() ad39e2dc4 build: change package version to 0.1.0-dev 5c789dcd7 Merge bitcoin-core/secp256k1#1168: Replace deprecated context flags with NONE in benchmarks and tests d6dc0f4ae tests: Switch to NONE contexts in module tests 0c8a5cadd tests: Switch to NONE contexts in tests.c 86540e9e1 tests: add test for deprecated flags and rm them from run_context caa0ad631 group: add gej_eq_var 37ba744f5 tests: Switch to NONE contexts in exhaustive and ctime tests 8d7a9a8ed benchmarks: Switch to NONE contexts 90618e926 doc: move CHANGELOG from doc/ to root directory e3f84777e Merge bitcoin-core/secp256k1#1126: API cleanup with respect to contexts 4386a2306 examples: Switch to NONE contexts 7289b51d3 docs: Use doxygen style if and only if comment is user-facing e7d0185c9 docs: Get rid of "initialized for signing" terminology 06126364a docs: Tidy and improve docs about contexts and randomization e02d6862b selftest: Expose in public API e383fbfa6 selftest: Rename internal function to make name available for API d2c6d48de tests: Use new name of static context 53796d2b2 contexts: Rename static context 72fedf8a6 docs: Improve docs for static context 316ac7625 contexts: Deprecate all context flags except SECP256K1_CONTEXT_NONE 477f02c4d Merge bitcoin-core/secp256k1#1165: gitignore: Add *.sage.py files autogenerated by sage [skip ci] 092be61c5 gitignore: Add *.sage.py files autogenerated by sage 1a553ee8b docs: Change signature "validation" to "verification" ee7341fba docs: Never require a verification context 751c4354d Merge bitcoin-core/secp256k1#1152: Update macOS image for CI 2286f8090 Merge bitcoin-core/secp256k1#993: Enable non-experimental modules by default d21647520 test secp256k1_i128_to_i64 4bc429019 Add a secp256k1_i128_to_u64 function. e40fd277b Merge bitcoin-core/secp256k1#1156: Followups to int128_struct arithmetic 99bd33559 Make int128 overflow test use secp256k1_[ui]128_mul a8494b02b Use compute credits for macOS jobs 3afce0af7 Avoid signed overflow in MSVC AMR64 secp256k1_mul128 c0ae48c99 Update macOS image for CI 9b5f589d3 Heuristically decide whether to use int128_struct 63ff064d2 int128: Add test override for testing __(u)mulh on MSVC X64 f2b7e8876 Add int128 randomized tests 6138d73be Merge bitcoin-core/secp256k1#1155: Add MSan CI jobs ddf2b2910 Merge bitcoin-core/secp256k1#1000: Synthetic int128 type. 86e3b38a4 Merge bitcoin-core/secp256k1#1149: Remove usage of CHECK from non-test file 00a42b91b Add MSan CI job 44916ae91 Merge bitcoin-core/secp256k1#1147: ci: print env to allow reproducing the job outside of CI c2ee9175e Merge bitcoin-core/secp256k1#1146: ci: prevent "-v/--version: not found" irrelevant error e13fae487 Merge bitcoin-core/secp256k1#1150: ci: always cat test_env.log a340d9500 ci: add int128_struct tests dceaa1f57 int128: Tidy #includes of int128.h and int128_impl.h 2914bccbc Simulated int128 type. 6a965b6b9 Remove usage of CHECK from non-test file 5c9f1a5c3 ci: always cat all logs_snippets 49ae84359 ci: mostly prevent "-v/--version: not found" irrelevant error 4e54c0315 ci: print env to allow reproducing the job outside of CI a43e982bc Merge bitcoin-core/secp256k1#1144: Cleanup `.gitignore` file f5039cb66 Cleanup `.gitignore` file 798727ae1 Revert "Add test logs to gitignore" 41e8704b4 build: Enable some modules by default 694ce8fb2 Merge bitcoin-core/secp256k1#1131: readme: Misc improvements 88b00897e readme: Fix line break 78f5296da readme: Sell "no runtime dependencies" ef48f088a readme: Add IRC channel 9f8a13dc8 Merge bitcoin-core/secp256k1#1128: configure: Remove pkgconfig macros again (reintroduced by mismerge) cabe085bb configure: Remove pkgconfig macros again (reintroduced by mismerge) 3efeb9da2 Merge bitcoin-core/secp256k1#1121: config: Set preprocessor defaults for ECMULT_* config values 6a873cc4a Merge bitcoin-core/secp256k1#1122: tests: Randomize the context with probability 15/16 instead of 1/4 17065f48a tests: Randomize the context with probability 15/16 instead of 1/4 c27ae4514 config: Remove basic-config.h da6514a04 config: Introduce DEBUG_CONFIG macro for debug output of config 63a3565e9 Merge bitcoin-core/secp256k1#1120: ecmult_gen: Skip RNG when creating blinding if no seed is available d0cf55e13 config: Set preprocessor defaults for ECMULT_* config values 55f8bc99d ecmult_gen: Improve comments about projective blinding 7a8695580 ecmult_gen: Simplify code (no observable change) 4cc0b1b66 ecmult_gen: Skip RNG when creating blinding if no seed is available af65d30cc Merge bitcoin-core/secp256k1#1116: build: Fix #include "..." paths to get rid of further -I arguments 40a3473a9 build: Fix #include "..." paths to get rid of further -I arguments 43756da81 Merge bitcoin-core/secp256k1#1115: Fix sepc256k1 -> secp256k1 typo in group.h 069aba812 Fix sepc256k1 -> secp256k1 typo in group.h accadc94d Merge bitcoin-core/secp256k1#1114: `_scratch_destroy`: move `VERIFY_CHECK` after invalid scrach space check cd4703333 Merge bitcoin-core/secp256k1#1084: ci: Add MSVC builds 1827c9bf2 scratch_destroy: move VERIFY_CHECK after invalid scrach space check 49e2acd92 configure: Improve rationale for WERROR_CFLAGS 8dc4b0334 ci: Add a C++ job that compiles the public headers without -fpermissive 51f296a46 ci: Run persistent wineserver to speed up wine 3fb3269c2 ci: Add 32-bit MinGW64 build 9efc2e522 ci: Add MSVC builds 2be6ba0fe configure: Convince autotools to work with MSVC's archiver lib.exe bd81f4140 schnorrsig bench: Suppress a stupid warning in MSVC 44c2452fd Merge bitcoin-core/secp256k1#1105: Don't export symbols in static libraries 6f6cab998 abi: Don't export symbols in static Windows libraries 485f608fa Merge bitcoin-core/secp256k1#1104: Fix the false positive of `SECP_64BIT_ASM_CHECK` 8b013fce5 Merge bitcoin-core/secp256k1#1056: Save negations in var-time group addition 7efc9835a Fix the false positive of `SECP_64BIT_ASM_CHECK` 8746600ee Merge bitcoin-core/secp256k1#1093: hash: Make code agnostic of endianness 2f984ffc4 Save negations in var-time group addition 37d36927d tests: Add tests for _read_be32 and _write_be32 912b7ccc4 Merge bitcoin-core/secp256k1#1094: doc: Clarify configure flags for optional modules 55512d30b doc: clean up module help text in configure.ac d9d94a996 doc: mention optional modules in README 616b43dd3 util: Remove endianness detection 8d89b9e6e hash: Make code agnostic of endianness d0ad5814a Merge bitcoin-core/secp256k1#995: build: stop treating schnorrsig, extrakeys modules as experimental 1ac7e31c5 Merge bitcoin-core/secp256k1#1089: Schnorrsig API improvements 587239dbe Merge bitcoin-core/secp256k1#731: Change SHA256 byte counter from size_t to uint64_t f8d917435 Add SHA256 bit counter tests 7f09d0f31 README: mention that ARM assembly is experimental b8f8b99f0 docs: Fix return value for functions that don't have invalid inputs f813bb0df schnorrsig: Adapt example to new API 99e6568fc schnorrsig: Rename schnorrsig_sign to schnorsig_sign32 and deprecate fc94a2da4 Use SECP256K1_DEPRECATED for existing deprecated API functions 3db056060 Add SECP256K1_DEPRECATED attribute for marking API parts as deprecated 09f3d71c5 configure: Add a few CFLAGS for MSVC 3b4f3d0d4 build: Reject C++ compilers in the preprocessor 1cc094141 configure: Don't abort if the compiler does not define __STDC__ 80cf4eea5 build: stop treating schnorrsig, extrakeys modules as experimental e0508ee9d Merge bitcoin-core/secp256k1#1090: configure: Remove redundant pkg-config code 21b2ebaf7 configure: Remove redundant pkg-config code cca8cbbac configure: Output message when checking for valgrind 1a6be5745 bench: Make benchmarks compile on MSVC 0e5cbd01b Merge bitcoin-core/secp256k1#1088: configure: Use modern way to set AR 0d253d52e configure: Use modern way to set AR 9b514ce1d Add test vector for very long SHA256 messages 8e3dde113 Simplify struct initializer for SHA256 padding eb28464a8 Change SHA256 byte counter from size_t to uint64_t ac83be33d Merge bitcoin-core/secp256k1#1079: configure: Add hidden --enable-dev-mode to enable all the stuff e089eecc1 group: Further simply gej_add_ge e0838d663 configure: Add hidden --enable-dev-mode to enable all the stuff fabd579df configure: Remove redundant code that sets _enable variables 0d4226c05 configure: Use canonical variable prefix _enable consistently 64b34979e Merge bitcoin-core/secp256k1#748: Add usage examples 7c9502cec Add a copy of the CC0 license to the examples 42e03432e Add usage examples to the readme 517644eab Optionally compile the examples in autotools, compile+run in travis 422a7cc86 Add a ecdh shared secret example b0cfbcc14 Add a Schnorr signing and verifying example fee7d4bf9 Add an ECDSA signing and verifying example ac71020eb group: Save a normalize_to_zero in gej_add_ge 1253a2775 Merge bitcoin-core/secp256k1#1033: Add _fe_half and use in _gej_add_ge and _gej_double 3ef94aa5b Merge bitcoin-core/secp256k1#1026: ecdh: Add test computing shared_secret=basepoint with random inputs 3531a43b5 ecdh: Make generator_basepoint test depend on global iteration count c881dd49b ecdh: Add test computing shared_secret=basepoint with random inputs 077528317 Merge bitcoin-core/secp256k1#1074: ci: Retry brew update a few times to avoid random failures e51ad3b73 ci: Retry `brew update` a few times to avoid random failures b1cb969e8 ci: Revert "Attempt to make macOS builds more reliable" 5dcc6f8db Merge bitcoin-core/secp256k1#1069: build: Replace use of deprecated autoconf macro AC_PROG_CC_C89 59547943d Merge bitcoin-core/secp256k1#1072: ci: Attempt to make macOS builds more reliable 85b00a1c6 Merge bitcoin-core/secp256k1#1068: sage: Fix incompatibility with sage 9.4 ebb1beea7 sage: Ensure that constraints are always fastfracs d8d54859e ci: Run sage prover on CI 77cfa98db sage: Normalize sign of polynomial factors in prover eae75869c sage: Exit with non-zero status in case of failures d9396a56d ci: Attempt to make macOS builds more reliable e0db3f8a2 build: Replace use of deprecated autoconf macro AC_PROG_CC_C89 e848c3799 Update sage files for new formulae d64bb5d4f Add fe_half tests for worst-case inputs b54d843ea sage: Fix printing of errors 4eb8b932f Further improve doubling formula using fe_half 557b31fac Doubling formula using fe_half 2cbb4b1a4 Run more iterations of run_field_misc 9cc5c257e Add test for secp256k1_fe_half 925f78d55 Add _fe_half and use in _gej_add_ge e108d0039 sage: Fix incompatibility with sage 9.4 d8a246324 Merge bitcoin-core/secp256k1#899: Reduce stratch space needed by ecmult_strauss_wnaf. 0a40a4861 Merge bitcoin-core/secp256k1#1049: Faster fixed-input ecmult tests 070e77221 Faster fixed-input ecmult tests c8aa516b5 Merge bitcoin-core/secp256k1#1064: Modulo-reduce msg32 inside RFC6979 nonce fn to match spec. Fixes #1063 b797a500e Create a SECP256K1_ECMULT_TABLE_VERIFY macro. a731200cc Replace ECMULT_TABLE_GET_GE_STORAGE macro with a function. fe34d9f34 Eliminate input_pos state field from ecmult_strauss_wnaf. 0397d00ba Eliminate na_1 and na_lam state fields from ecmult_strauss_wnaf. 7ba3ffcca Remove the unused pre_a_lam allocations. b3b57ad6e Eliminate the pre_a_lam array from ecmult_strauss_wnaf. ae7ba0f92 Remove the unused prej allocations. e5c18892d Eliminate the prej array from ecmult_strauss_wnaf. c9da1baad Move secp256k1_fe_one to field.h 45f37b650 Modulo-reduce msg32 inside RFC6979 nonce fn to match spec. Fixes #1063. a1102b121 Merge bitcoin-core/secp256k1#1029: Simpler and faster ecdh skew fixup e82144edf Fixup skew before global Z fixup 40b624c90 Add tests for _gej_cmov 8c13a9bfe ECDH skews by 0 or 1 151509943 Simpler and faster ecdh skew fixup 39a36db94 Merge bitcoin-core/secp256k1#1054: tests: Fix test whose result is implementation-defined a310e79ee Merge bitcoin-core/secp256k1#1052: Use xoshiro256++ instead of RFC6979 for tests 423b6d19d Merge bitcoin-core/secp256k1#964: Add release-process.md 9281c9f4e Merge bitcoin-core/secp256k1#1053: ecmult: move `_ecmult_odd_multiples_table_globalz_windowa` 77a19750b Use xoshiro256++ PRNG instead of RFC6979 in tests 5f2efe684 secp256k1_testrand_int(2**N) -> secp256k1_testrand_bits(N) 05e049b73 ecmult: move `_ecmult_odd_multiples_table_globalz_windowa` 3d7cbafb5 tests: Fix test whose result is implementation-defined 3ed0d02bf doc: add CHANGELOG template 6f42dc16c doc: add release_process.md 0bd3e4243 build: set library version to 0.0.0 explicitly b4b02fd8c build: change libsecp version from 0.1 to 0.1.0-pre 09971a3ff Merge bitcoin-core/secp256k1#1047: ci: Various improvements 0b83b203e Merge bitcoin-core/secp256k1#1030: doc: Fix upper bounds + cleanup in field_5x52_impl.h comment 1287786c7 doc: Add comment to top of field_10x26_impl.h 58da5bd58 doc: Fix upper bounds + cleanup in field_5x52_impl.h comment b39d431ae Merge bitcoin-core/secp256k1#1044: Add another ecmult_multi test b4ac1a1d5 ci: Run valgrind/memcheck tasks with 2 CPUs e70acab60 ci: Use Cirrus "greedy" flag to use idle CPU time when available d07e30176 ci: Update brew on macOS 22382f0ea ci: Test different ecmult window sizes a69df3ad2 Merge bitcoin-core/secp256k1#816: Improve checks at top of _fe_negate methods 22d25c8e0 Add another ecmult_multi test 515e7953c Improve checks at top of _fe_negate methods 26a022a3a ci: Remove STATICPRECOMPUTATION 10461d8bd precompute_ecmult: Always compute all tables up to default WINDOW_G be6944ade Merge bitcoin-core/secp256k1#1042: Follow-ups to making all tables fully static e05da9e48 Fix c++ build c45386d99 Cleanup preprocessor indentation in precompute{,d}_ecmult{,_gen} 19d96e15f Split off .c file from precomputed_ecmult.h 1a6691ada Split off .c file from precomputed_ecmult_gen.h bb3633141 Simplify precompute_ecmult_print_* 38cd84a0c Compute ecmult tables at runtime for tests_exhaustive e458ec26d Move ecmult table computation code to separate file fc1bf9f15 Split ecmult table computation and printing 31feab053 Rename function secp256k1_ecmult_gen_{create_prec -> compute}_table 725370c3f Rename ecmult_gen_prec -> ecmult_gen_compute_table 075252c1b Rename ecmult_static_pre_g -> precomputed_ecmult 7cf47f72b Rename ecmult_gen_static_prec_table -> precomputed_ecmult_gen f95b8106d Rename gen_ecmult_static_pre_g -> precompute_ecmult bae77685e Rename gen_ecmult_gen_static_prec_table -> precompute_ecmult_gen 0559fc6e4 Merge bitcoin-core/secp256k1#988: Make signing table fully static 7dfceceea build: Remove #undef hack for ASM in the precomputation programs bb36fe9be ci: Test `make precomp` d94a37a20 build: Remove CC_FOR_BUILD stuff ad63bb4c2 build: Prebuild and distribute ecmult_gen table ac49361ed prealloc: Get rid of manual memory management for prealloc contexts 6573c08f6 ecmult_gen: Tidy precomputed file and save space 5eba83f17 ecmult_gen: Precompute tables for all values of ECMULT_GEN_PREC_BITS 5d0dbef01 Merge bitcoin-core/secp256k1#942: Verify that secp256k1_ge_set_gej_zinv does not operate on infinity. 486205aa6 Merge bitcoin-core/secp256k1#920: Test all ecmult functions with many j*2^i combinations fdb33dd12 refactor: Make PREC_BITS a parameter of ecmult_gen_build_prec_table 5eb519e1f ci: reduce TEST_ITERS in memcheck run e2cf77328 Test ecmult functions for all i*2^j for j=0..255 and odd i=1..255. 61ae37c61 Merge bitcoin-core/secp256k1#1022: build: Windows DLL additions 4f01840b8 Merge bitcoin-core/secp256k1#1027: build: Add a check that Valgrind actually supports a host platform 6ad908aa0 Merge bitcoin-core/secp256k1#1008: bench.c: add `--help` option and ci: move env variables 592661c22 ci: move test environment variable declaration to .cirrus.yml dcbe84b84 bench: add --help option to bench. 099bad945 Comment and check a parameter for inf in secp256k1_ecmult_const. 6c0be857f Verify that secp256k1_ge_set_gej_zinv does not operate on infinity. a->x and a->y should not be used if the infinity flag is set. 490022745 Merge bitcoin-core/secp256k1#1025: build: replace backtick command substitution with $() 7c7ce872a build: Add a check that Valgrind actually supports a host platform a4875e30a refactor: Move default callbacks to util.h 4c94c55bc doc: Remove obsolete hint for valgrind stack size 510622699 exhaustive_tests: Fix with ecmult_gen table with custom generator e1a76530d refactor: Make generator a parameter of ecmult_gen_create_prec_table 9ad09f691 refactor: Rename program that generates static ecmult_gen table 8ae18f1ab refactor: Rename file that contains static ecmult_gen table 00d2fa116 ecmult_gen: Make code consistent with comment 3b0c2185e ecmult_gen: Simplify ecmult_gen context after making table static 2b7c7497e build: replace backtick command substitution with $() 49f608de4 Merge bitcoin-core/secp256k1#1004: ecmult: fix definition of STRAUSS_SCRATCH_OBJECTS c0cd7de6d build: add -no-undefined to libtool LDFLAGS fe32a79d3 build: pass win32-dll to LT_INIT 60bf8890d ecmult: fix definition of STRAUSS_SCRATCH_OBJECTS fecf436d5 Merge bitcoin-core/secp256k1#1019: build: don't append valgrind CPPFLAGS if not installed (macOS) 2e5e4b67d Merge bitcoin-core/secp256k1#1020: doc: remove use of <0xa0> "no break space" 812ff5c74 doc: remove use of 0xa0 "no break space" 214042a17 build: don't append valgrind CPPFLAGS if not installed e43ba02cf refactor: Decouple table generation and ecmult_gen context 22dc2c0a0 ecmult_gen: Move table creation to new file and force static prec 793ad9016 Merge bitcoin-core/secp256k1#1010: doc: Minor fixes in safegcd_implementation.md dc9b6853b doc: Minor fixes in safegcd_implementation.md ea5e8a9c4 Merge bitcoin-core/secp256k1#1012: Fix typos 233297579 Fix typos 7006f1b97 Merge bitcoin-core/secp256k1#1011: ci: Enable -g if we set CFLAGS manually 72de1359e ci: Enable -g if we set CFLAGS manually 74c34e727 Merge bitcoin-core/secp256k1#1009: refactor: Use (int)&(int) in boolean context to avoid compiler warning 16d132215 refactor: Use (int)&(int) in boolean context to avoid compiler warning c74a7b7e5 Merge bitcoin-core/secp256k1#1007: doc: Replace apoelstra's GPG key by jonasnick's GPG key 3b157c48e doc: Suggest keys.openpgp.org as keyserver in SECURITY.md 73a7472cd doc: Replace apoelstra's GPG key by jonasnick's GPG key 515a5dbd0 Merge bitcoin-core/secp256k1#991: Merge all "external" benchmarks into a single bench binary af6abcb3d Make bench support selecting which benchmarks to run 9f56bdf5b Merge bench_schnorrsig into bench 3208557ae Merge bench_recover into bench 855e18d8a Merge bench_ecdh into bench 2a7be678a Combine bench_sign and bench_verify into single bench 8fa41201b Merge bitcoin-core/secp256k1#1002: Make aux_rnd32==NULL behave identical to 0x0000..00. 5324f8942 Make aux_rnd32==NULL behave identical to 0x0000..00. 21c188b3c Merge bitcoin-core/secp256k1#943: VERIFY_CHECK precondition for secp256k1_fe_set_int. 3e7b2ea19 Merge bitcoin-core/secp256k1#999: bench_ecmult: improve clarity of output 23e2f6672 bench: don't return 1 in have_flag() if argc = 1 96b1ad2ea bench_ecmult: improve clarity of output 20d791edf Merge bitcoin-core/secp256k1#989: Shared benchmark format for command line and CSV outputs aa1b889b6 Merge bitcoin-core/secp256k1#996: Fix G.y parity in sage code 044d95630 Fix G.y parity in sage code b4b130678 create csv file from the benchmark output 26a255beb Shared benchmark format for command line and CSV outputs 9526874d1 Merge bitcoin-core/secp256k1#810: Avoid overly-wide multiplications in 5x52 field mul/sqr 920a0e5fa Merge bitcoin-core/secp256k1#952: Avoid computing out-of-bounds pointer. f34b5cae0 Merge bitcoin-core/secp256k1#983: [RFC] Remove OpenSSL testing support 297ce8209 Merge bitcoin-core/secp256k1#966: Make aux_rand32 arg to secp256k1_schnorrsig_sign const 288864013 VERIFY_CHECK precondition for secp256k1_fe_set_int. d49011f54 Make _set_fe_int( . , 0 ) set magnitude to 0 bc08599e7 Remove OpenSSL testing support 10f9bd84f Merge bitcoin-core/secp256k1#987: Fix unused parameter warnings when building without VERIFY 189f6bcfe Fix unused parameter warnings when building without VERIFY da0092bcc Merge bitcoin-core/secp256k1#986: tests: remove `secp256k1_fe_verify` from tests.c and modify `_fe_from_storage` to call `_fe_verify` d43993724 tests: remove `secp256k1_fe_verify` from tests.c and modify `secp256k1_fe_from_storage` to call `secp256k1_fe_verify` 2a3a97c66 Merge bitcoin-core/secp256k1#976: `secp256k1_schnorrsig_sign_internal` should be static aa5d34a8f Merge bitcoin-core/secp256k1#783: Make the public API docs more consistent and explicit 72713872a Add missing static to secp256k1_schnorrsig_sign_internal db4667d5e Make aux_rand32 arg to secp256k1_schnorrsig_sign const 9a5a87e0f Merge bitcoin-core/secp256k1#956: Replace ecmult_context with a generated static array. 20abd52c2 Add tests for pre_g tables. 6815761cf Remove ecmult_context. f20dcbbad Correct typo. 16a3cc07e Generate ecmult_static_pre_g.h 8de2d86a0 Bump memory limits in advance of making the ecmult context static. d7ec49a68 Merge bitcoin-core/secp256k1#969: ci: Fixes after Debian release 5d5c74a05 tests: Rewrite code to circument potential bug in clang 3d2f492ce ci: Install libasan6 (instead of 5) after Debian upgrade be8d9c262 Merge bitcoin-core/secp256k1#965: gen_context: Don't use any ASM aeece4459 gen_context: Don't use any ASM 7688a4f13 Merge bitcoin-core/secp256k1#963: "Schnorrsig API overhaul" fixups 90e83449b ci: Add C++ test adec5a163 Add missing null check for ctx and input keys in the public API f4edfc758 Improve consistency for NULL arguments in the public interface f698caaff Use unsigned char consistently for byte arrays b5b8e7b71 Don't declare constants twice 769528f30 Don't use string literals for char arrays without NUL termination 2cc3cfa58 Fix -Wmissing-braces warning in clang 0440945fb Merge #844: schnorrsig API overhaul ec3aaa501 Merge #960: tests_exhaustive: check the result of secp256k1_ecdsa_sign a1ee83c65 tests_exhaustive: check the result of secp256k1_ecdsa_sign 253f90cde Merge bitcoin-core/secp256k1#951: configure: replace AC_PATH_PROG to AC_CHECK_PROG 446d28d9d Merge bitcoin-core/secp256k1#944: Various improvements related to CFLAGS 0302138f7 ci: Make compiler warning into errors on CI b924e1e60 build: Ensure that configure's compile checks default to -O2 7939cd571 build: List *CPPFLAGS before *CFLAGS like on the compiler command line 595e8a35d build: Enable -Wcast-align=strict warning 07256267f build: Use own variable SECP_CFLAGS instead of touching user CFLAGS 4866178df Merge bitcoin-core/secp256k1#955: Add random field multiply/square tests 75ce488c2 Merge bitcoin-core/secp256k1#959: tests: really test the non-var scalar inverse 41ed13942 tests: really test the non-var scalar inverse 5f6ceafcf schnorrsig: allow setting MSGLEN != 32 in benchmark fdd06b796 schnorrsig: add tests for sign_custom and varlen msg verification d8d806aaf schnorrsig: add extra parameter struct for sign_custom a0c3fc177 schnorrsig: allow signing and verification of variable length msgs 5a8e4991a Add secp256k1_tagged_sha256 as defined in BIP-340 b6c0b72fb schnorrsig: remove noncefp args from sign; add sign_custom function bdf19f105 Add random field multiply/square tests 9be7b0f08 Avoid computing out-of-bounds pointer. a4642fa15 configure: replace AC_PATH_PROG to AC_CHECK_PROG 442cee5ba schnorrsig: add algolen argument to nonce_function_hardened df3bfa12c schnorrsig: clarify result of calling nonce_function_bip340 without data 99e861481 README: mention schnorrsig module b53e0cd61 Avoid overly-wide multiplications git-subtree-dir: src/secp256k1 git-subtree-split: 0fa84f869d51e1b71113d81fcd518ebcee08709a
- Loading branch information