You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Squashed 'src/secp256k1/' changes from acf5c55..c545fdc
c545fdc Merge bitcoin-core/secp256k1#1298: Remove randomness tests
b40e2d3 Merge bitcoin-core/secp256k1#1378: ellswift: fix probabilistic test failure when swapping sides
c424e2f ellswift: fix probabilistic test failure when swapping sides
907a672 Merge bitcoin-core/secp256k1#1313: ci: Test on development snapshots of GCC and Clang
0f7657d Merge bitcoin-core/secp256k1#1366: field: Use `restrict` consistently in fe_sqrt
cc55757 Merge bitcoin-core/secp256k1#1340: clean up in-comment Sage code (refer to secp256k1_params.sage, update to Python3)
600c5ad clean up in-comment Sage code (refer to secp256k1_params.sage, update to Python3)
981e5be ci: Fix typo in comment
e9e9648 ci: Reduce number of macOS tasks from 28 to 8
609093b ci: Add x86_64 Linux tasks for gcc and clang snapshots
1deecaa ci: Install development snapshots of gcc and clang
b79ba8a field: Use `restrict` consistently in fe_sqrt
c9ebca9 Merge bitcoin-core/secp256k1#1363: doc: minor ellswift.md updates
afd7eb4 Merge bitcoin-core/secp256k1#1371: Add exhaustive tests for ellswift (with create+decode roundtrip)
2792119 Add exhaustive test for ellswift (create+decode roundtrip)
c7d900f doc: minor ellswift.md updates
332af31 Merge bitcoin-core/secp256k1#1344: group: save normalize_weak calls in `secp256k1_ge_is_valid_var`/`secp256k1_gej_eq_x_var`
9e6d1b0 Merge bitcoin-core/secp256k1#1367: build: Improvements to symbol visibility logic on Windows (attempt 3)
0aacf64 Merge bitcoin-core/secp256k1#1370: Corrected some typos
b6b9834 small fixes
07c0e8b group: remove unneeded normalize_weak in `secp256k1_gej_eq_x_var`
3fc1de5 Merge bitcoin-core/secp256k1#1364: Avoid `-Wmaybe-uninitialized` when compiling with `gcc -O1`
fb758fe Merge bitcoin-core/secp256k1#1323: tweak_add: fix API doc for tweak=0
c6cd2b1 ci: Add task for static library on Windows + CMake
020bf69 build: Add extensive docs on visibility issues
0196e8a build: Introduce `SECP256k1_DLL_EXPORT` macro
9f1b190 refactor: Replace `SECP256K1_API_VAR` with `SECP256K1_API`
ae9db95 build: Introduce `SECP256K1_STATIC` macro for Windows users
7966aee Merge bitcoin-core/secp256k1#1369: ci: Print commit in Windows container
a7bec34 ci: Print commit in Windows container
249c81e Merge bitcoin-core/secp256k1#1368: ci: Drop manual checkout of merge commit
98579e2 ci: Drop manual checkout of merge commit
5b9f37f ci: Add `CFLAGS: -O1` to task matrix
a6ca76c Avoid `-Wmaybe-uninitialized` when compiling with `gcc -O1`
0fa84f8 Merge bitcoin-core/secp256k1#1358: tests: introduce helper for non-zero `random_fe_test()` results
5a95a26 tests: introduce helper for non-zero `random_fe_test` results
304421d tests: refactor: remove duplicate function `random_field_element_test`
3aef6ab Merge bitcoin-core/secp256k1#1345: field: Static-assert that int args affecting magnitude are constant
4494a36 Merge bitcoin-core/secp256k1#1357: tests: refactor: take use of `secp256k1_ge_x_on_curve_var`
799f4ee Merge bitcoin-core/secp256k1#1356: ci: Adjust Docker image to Debian 12 "bookworm"
c862a9f ci: Adjust Docker image to Debian 12 "bookworm"
a178209 ci: Force DWARF v4 for Clang when Valgrind tests are expected
7d8d5c8 tests: refactor: take use of `secp256k1_ge_x_on_curve_var`
8a72734 Help the compiler prove that a loop is entered
fd491ea Merge bitcoin-core/secp256k1#1355: Fix a typo in the error message
ac43613 Merge bitcoin-core/secp256k1#1354: Add ellswift to CHANGELOG
67887ae Fix a typo in the error message
926dd3e Merge bitcoin-core/secp256k1#1295: abi: Use dllexport for mingw builds
1083683 Merge bitcoin-core/secp256k1#1336: Use `__shiftright128` intrinsic in `secp256k1_u128_rshift` on MSVC
7c7467a Refer to ellswift.md in API docs
c32ffd8 Add ellswift to CHANGELOG
3c1a0fd Merge bitcoin-core/secp256k1#1347: field: Document return value of fe_sqrt()
705ce7e Merge bitcoin-core/secp256k1#1129: ElligatorSwift + integrated x-only DH
0702ecb Merge bitcoin-core/secp256k1#1338: Drop no longer needed `#include "../include/secp256k1.h"`
5779137 field: Document return value of fe_sqrt()
90e360a Add doc/ellswift.md with ElligatorSwift explanation
4f09184 Add ellswift testing to CI
1bcea8c Add benchmarks for ellswift module
2d1d41a Add ctime tests for ellswift module
df633cd Add _prefix and _bip324 ellswift_xdh hash functions
9695deb Add tests for ellswift module
c47917b Add ellswift module implementing ElligatorSwift
79e5b2a Add functions to test if X coordinate is valid
a597a5a Add benchmark for key generation
30574f2 Merge bitcoin-core/secp256k1#1349: Normalize ge produced from secp256k1_pubkey_load
45c5ca7 Merge bitcoin-core/secp256k1#1350: scalar: introduce and use `secp256k1_{read,write}_be64` helpers
f165252 Normalize ge produced from secp256k1_pubkey_load
7067ee5 tests: add tests for `secp256k1_{read,write}_be64`
740528c scalar: use newly introduced `secp256k1_{read,write}_be64` helpers (4x64 impl.)
be8ff3a field: Static-assert that int args affecting magnitude are constant
efa76c4 group: remove unneeded normalize_weak in `secp256k1_ge_is_valid_var`
67214f5 Merge bitcoin-core/secp256k1#1339: scalar: refactor: use `secp256k1_{read,write}_be32` helpers
cb1a592 Merge bitcoin-core/secp256k1#1341: docs: correct `pubkey` param descriptions for `secp256k1_keypair_{xonly_,}pub`
f364428 docs: correct `pubkey` param descriptions for `secp256k1_keypair_{xonly_,}pub`
887183e scalar: use `secp256k1_{read,write}_be32` helpers (4x64 impl.)
52b8423 scalar: use `secp256k1_{read,write}_be32` helpers (8x32 impl.)
e449af6 Drop no longer needed `#include "../include/secp256k1.h"`
5b7bf2e Use `__shiftright128` intrinsic in `secp256k1_u128_rshift` on MSVC
60556c9 Merge bitcoin-core/secp256k1#1337: ci: Fix error D8037 in `cl.exe` (attempt 2)
db29bf2 ci: Remove quirk that runs dummy command after wineserver
c7db494 ci: Fix error D8037 in `cl.exe`
7dae115 Revert "ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe"
bf29f8d Merge bitcoin-core/secp256k1#1334: fix input range comment for `secp256k1_fe_add_int`
605e07e fix input range comment for `secp256k1_fe_add_int`
debf3e5 Merge bitcoin-core/secp256k1#1330: refactor: take use of `secp256k1_scalar_{zero,one}` constants
d75dc59 Merge bitcoin-core/secp256k1#1333: test: Warn if both `VERIFY` and `COVERAGE` are defined
ade5b36 tests: add checks for scalar constants `secp256k1_scalar_{zero,one}`
e83801f test: Warn if both `VERIFY` and `COVERAGE` are defined
654246c refactor: take use of `secp256k1_scalar_{zero,one}` constants
908e02d Merge bitcoin-core/secp256k1#1328: build: Bump MSVC warning level up to W3
1549db0 build: Level up MSVC warnings
20a5da5 Merge bitcoin-core/secp256k1#1310: Refine release process
05873bb tweak_add: fix API doc for tweak=0
ad84603 release process: clarify change log updates
6348bc7 release process: fix process for maintenance release
79fa50b release process: mention targeted release schedule
1652067 release process: add sanity checks
09df0bf Merge bitcoin-core/secp256k1#1327: ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe
27504d5 ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe
d373a72 Merge bitcoin-core/secp256k1#1316: Do not invoke fe_is_zero on failed set_b32_limit
6433175 Do not invoke fe_is_zero on failed set_b32_limit
5f7903c Merge bitcoin-core/secp256k1#1318: build: Enable -DVERIFY for precomputation binaries
e9e4526 Merge bitcoin-core/secp256k1#1317: Make fe_cmov take max of magnitudes
5768b50 build: Enable -DVERIFY for precomputation binaries
31b4bbe Make fe_cmov take max of magnitudes
83186db Merge bitcoin-core/secp256k1#1314: release cleanup: bump version after 0.3.2
95448ef release cleanup: bump version after 0.3.2
6ec3731 Simplify test PRNG implementation
fb5bfa4 Add static test vector for Xoshiro256++
723e8ca Remove randomness tests
bc7c8db abi: Use dllexport for mingw builds
git-subtree-dir: src/secp256k1
git-subtree-split: c545fdc374964424683d9dac31a828adedabe860
Copy file name to clipboardexpand all lines: CHANGELOG.md
+12
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [Unreleased]
9
+
10
+
#### Added
11
+
- New module `ellswift` implements ElligatorSwift encoding for public keys and x-only Diffie-Hellman key exchange for them.
12
+
ElligatorSwift permits representing secp256k1 public keys as 64-byte arrays which cannot be distinguished from uniformly random. See:
13
+
- Header file `include/secp256k1_ellswift.h` which defines the new API.
14
+
- Document `doc/ellswift.md` which explains the mathematical background of the scheme.
15
+
- The [paper](https://eprint.iacr.org/2022/759) on which the scheme is based.
16
+
17
+
#### Changed
18
+
- When consuming libsecp256k1 as a static library on Windows, the user must now define the `SECP256K1_STATIC` macro before including `secp256k1.h`.
19
+
8
20
## [0.3.2] - 2023-05-13
9
21
We strongly recommend updating to 0.3.2 if you use or plan to use GCC >=13 to compile libsecp256k1. When in doubt, check the GCC version using `gcc -v`.
0 commit comments