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 0cdc758a56..4ba1ba2af9
4ba1ba2af9 Merge bitcoin-core/secp256k1#1647: cmake: Adjust diagnostic flags for `clang-cl`
abd25054a1 Merge bitcoin-core/secp256k1#1656: musig: Fix clearing of pubnonces
961ec25a83 musig: Fix clearing of pubnonces
3186082387 Merge bitcoin-core/secp256k1#1614: Add _ge_set_all_gej and use it in musig for own public nonces
6c2a39dafb Merge bitcoin-core/secp256k1#1639: Make static context const
432ac57705 Make static context const
1b1fc09341 Merge bitcoin-core/secp256k1#1642: Verify `compressed` argument in `secp256k1_eckey_pubkey_serialize`
c0d9480fbb Merge bitcoin-core/secp256k1#1654: use `EXIT_` constants over magic numbers for indicating program execution status
13d389629a CONTRIBUTING: mention that `EXIT_` codes should be used
c855581728 test, bench, precompute_ecmult: use `EXIT_...` constants for `main` return values
965393fcea examples: use `EXIT_...` constants for `main` return values
2e3bf13653 Merge bitcoin-core/secp256k1#1646: README: add instructions for verifying GPG signatures
b682dbcf84 README: add instructions for verifying GPG signatures
00774d0723 Merge bitcoin-core/secp256k1#1650: schnorrsig: clear out masked secret key in BIP-340 nonce function
a82287fb85 schnorrsig: clear out masked secret key in BIP-340 nonce function
4c50d73dd9 ci: Add new "Windows (clang-cl)" job
84c0bd1f72 cmake: Adjust diagnostic flags for clang-cl
f79f46c703 Merge bitcoin-core/secp256k1#1641: doc: Improve cmake instructions in README
2ac9f558c4 doc: Improve cmake instructions in README
1823594761 Verify `compressed` argument in `secp256k1_eckey_pubkey_serialize`
8deef00b33 Merge bitcoin-core/secp256k1#1634: Fix some misspellings
39705450eb Fix some misspellings
ec329c2501 Merge bitcoin-core/secp256k1#1633: release cleanup: bump version after 0.6.0
c97059f594 release cleanup: bump version after 0.6.0
64228a648f musig: Use _ge_set_all_gej for own public nonces
300aab1c05 tests: Improve _ge_set_all_gej(_var) tests
365f274ce3 group: Simplify secp256k1_ge_set_all_gej
d3082ddead group: Add constant-time secp256k1_ge_set_all_gej
git-subtree-dir: src/secp256k1
git-subtree-split: 4ba1ba2af953b7d124db9b80b34568e5c4a2d48a
Copy file name to clipboardExpand all lines: README.md
+49-14Lines changed: 49 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,14 +61,50 @@ Implementation details
61
61
* Optional runtime blinding which attempts to frustrate differential power analysis.
62
62
* The precomputed tables add and eventually subtract points for which no known scalar (secret key) is known, preventing even an attacker with control over the secret key used to control the data internally.
63
63
64
+
Obtaining and verifying
65
+
-----------------------
66
+
67
+
The git tag for each release (e.g. `v0.6.0`) is GPG-signed by one of the maintainers.
68
+
For a fully verified build of this project, it is recommended to obtain this repository
69
+
via git, obtain the GPG keys of the signing maintainer(s), and then verify the release
70
+
tag's signature using git.
71
+
72
+
This can be done with the following steps:
73
+
74
+
1. Obtain the GPG keys listed in [SECURITY.md](./SECURITY.md).
75
+
2. If possible, cross-reference these key IDs with another source controlled by its owner (e.g.
76
+
social media, personal website). This is to mitigate the unlikely case that incorrect
$ sudo make install # Install the library into the system (optional)
72
108
73
109
To compile optional modules (such as Schnorr signatures), you need to run `./configure` with additional flags (such as `--enable-module-schnorrsig`). Run `./configure --help` to see the full list of available flags.
74
110
@@ -79,24 +115,23 @@ To maintain a pristine source tree, CMake encourages to perform an out-of-source
79
115
80
116
### Building on POSIX systems
81
117
82
-
$ mkdir build && cd build
83
-
$ cmake ..
84
-
$ cmake --build .
85
-
$ ctest # run the test suite
86
-
$ sudo cmake --install . # optional
118
+
$ cmake -B build # Generate a build system in subdirectory "build"
119
+
$ cmake --build build # Run the actual build process
120
+
$ ctest --test-dir build # Run the test suite
121
+
$ sudo cmake --install build # Install the library into the system (optional)
87
122
88
-
To compile optional modules (such as Schnorr signatures), you need to run `cmake` with additional flags (such as `-DSECP256K1_ENABLE_MODULE_SCHNORRSIG=ON`). Run `cmake .. -LH` to see the full list of available flags.
123
+
To compile optional modules (such as Schnorr signatures), you need to run `cmake` with additional flags (such as `-DSECP256K1_ENABLE_MODULE_SCHNORRSIG=ON`). Run `cmake -B build -LH` or `ccmake -B build` to see the full list of available flags.
89
124
90
125
### Cross compiling
91
126
92
127
To alleviate issues with cross compiling, preconfigured toolchain files are available in the `cmake` directory.
To cross compile for Android with [NDK](https://developer.android.com/ndk/guides/cmake) (using NDK's toolchain file, and assuming the `ANDROID_NDK_ROOT` environment variable has been set):
0 commit comments