Byron Hambly
3911e7e2b3
build: fix compilation warnings
2023-09-01 16:39:08 +02:00
Byron Hambly
47626b5a64
Merge 623745ca74 into merged_master (Bitcoin PR bitcoin/bitcoin#23912 )
2023-06-14 15:44:11 +00:00
Byron Hambly
ab249ee428
Merge c06cda3e48 into merged_master (Bitcoin PR bitcoin/bitcoin#23383 )
...
Kept what we already had since it's a newer version of secp256k1-zkp
2023-06-13 15:44:13 +00:00
Byron Hambly
1beaa601b4
Merge 5ccab7187b into merged_master (Bitcoin PR bitcoin/bitcoin#23394 )
...
- commented out some script tests that need to be fixed
- commented out feature_taproot.py since it needs significant updates
2023-05-26 09:14:20 +00:00
Byron Hambly
32f69113b5
Merge cb4adbd8ab into merged_master (Bitcoin PR bitcoin/bitcoin#22934 )
2023-05-17 13:59:50 +00:00
Byron Hambly
120f8cad78
Merge aecc08f62e into merged_master (Bitcoin PR bitcoin/bitcoin#23409 )
2023-05-17 12:01:23 +00:00
Byron Hambly
bedb85c8c6
Merge 829d3e0e71 into merged_master (Bitcoin PR bitcoin/bitcoin#23199 )
2023-05-10 13:11:07 +00:00
Byron Hambly
3757afb0bd
Merge 01fa1481f9 into merged_master (Bitcoin PR bitcoin/bitcoin#22836 )
2023-04-13 11:25:45 +00:00
Byron Hambly
09333e2aca
Merge 71797beec5 into merged_master (Bitcoin PR bitcoin/bitcoin#22448 )
2023-04-05 13:40:55 +02:00
Glenn Willen
0fe5e825ad
ci: Update for libsecp256k1-zkp API changes
2022-05-25 16:12:00 -07:00
Hennadii Stepanov
f47dda2c58
scripted-diff: Bump copyright headers
...
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-
Commits of previous years:
* 2020: fa0074e2d8
* 2019: aaaaad6ac9
2021-12-30 19:36:57 +02:00
Pieter Wuille
314195c8be
Remove unnecessary cast in CKey::SignSchnorr
2021-12-15 09:20:26 -05:00
Pieter Wuille
2478c6730a
Make signing follow BIP340 exactly w.r.t. aux randomness
...
libsecp256k1's secp256k1_schnorrsig_sign only follows BIP340 exactly
if an aux_rand32 argument is passed. When no randomness is used
(as is the case in the current codebase here), there is no impact
on security between not providing aux_rand32 at all, or providing
an empty one. Yet, for repeatability/testability it is simpler
to always use an all-zero one.
2021-11-12 12:04:20 -05:00
W. J. van der Laan
cb4adbd8ab
Merge bitcoin/bitcoin#22934 : Add verification to Sign, SignCompact and SignSchnorr
...
79fd28cacb Adds verification step to Schnorr and ECDSA signing (amadeuszpawlik)
Pull request description:
As detailed in #22435 , BIP340 defines that during Schnorr signing a verification should be done. This is so that potentially corrupt signage does not leak information about private keys used during the process. This is not followed today as no such verification step is being done. The same is valid for ECDSA signing functions `Sign` and `SignCompact`.
This PR adds this missing verification step to `SignSchnorr`, `Sign` and `SignCompact`.
ACKs for top commit:
sipa:
utACK 79fd28cacb
laanwj:
Code review ACK 79fd28cacb
theStack:
re-ACK 79fd28cacb
Tree-SHA512: 8fefa26caea577ae8631cc16c4e2f4cc6cfa1c7cf51d45a4a34165636ee290950617a17a19b4237c6f7a841db0e40fd5c36ad12ef43da82507c0e9fb9375ab82
2021-11-09 14:12:41 +01:00
amadeuszpawlik
79fd28cacb
Adds verification step to Schnorr and ECDSA signing
...
As defined in BIP340, a verification step should be executed after
`secp256k1_schnorrsig_sign` to ensure that a potentially corrupted
signature isn't used; using corrupted signatures could reveal
information about the private key used. This applies to ECSDA as
well.
Additionally clears schnorr signature if signing failed.
2021-11-02 17:18:40 +01:00
MarcoFalke
fa93ef5a8a
refactor: Take Span in SetSeed
...
This makes calling code less verbose and less fragile. Also, by adding
the CKey::data() member function, it is now possible to call HexStr()
with a CKey object.
2021-11-01 14:20:56 +01:00
Sebastian Falbesoner
7fc487afd1
refactor: use {Read,Write}BE32 helpers for BIP32 nChild (de)serialization
2021-10-05 23:53:33 +02:00
Andrew Poelstra
c3643b62a6
Merge d0095727d3 into merged_master (Elements PR pull #1024 )
...
This updates libsecp to the latest API. This involves a sketchy (in
my view) cast of a const pointer to a const one, but (a) it is safe
given the actual usage of this pointer, and (b) I copied it directly
from Core -- see the final (20th) commit of the corresponding PR
https://github.com/bitcoin/bitcoin/pull/22448
2021-09-05 02:00:19 +00:00
Pieter Wuille
56a42f10f4
Stricter BIP32 decoding and test vector 5
2021-08-30 12:02:04 -04:00
Andrew Poelstra
0afcb6d978
Merge 5c2e2afe99 into merged_master (Bitcoin PR bitcoin/bitcoin#21365 )
...
This introduces Taproot wallet support. I fixed all the merge conflicts
and ensured that the tests pass, but this is still using the old sighash
(before Russell/Sanket/I redid it) so is not actually production ready.
Will be fixed when we bring Elements #1002 in.
2021-08-03 20:43:53 +00:00
Pieter Wuille
e4ffb44716
Update secp256k1 subtree to latest upstream + adapt API
...
The new schnorrsig API requires changing a few arguments.
2021-07-14 14:43:45 -07:00
Andrew Poelstra
3850e85010
Merge 32f1f021bf into merged_master (Bitcoin PR bitcoin/bitcoin#21817 )
2021-07-07 02:29:25 +00:00
Andrew Poelstra
617905a928
Merge 34322b7f5c into merged_master (Bitcoin PR #20842 )
2021-06-16 18:28:04 +00:00
Andrew Poelstra
27930edc9c
Merge 4a540683ec into merged_master (Bitcoin PR #20813 )
2021-06-16 14:11:07 +00:00
Pieter Wuille
a91d532338
Add CKey::SignSchnorr function for BIP 340/341 signing
2021-06-12 12:25:28 -07:00
MarcoFalke
faece47c47
refactor: Avoid &foo[0] on C-Style arrays
...
This is confusing at best when parts of a class use the
redundant operators and other parts do not.
2021-05-04 06:55:30 +02:00
Sawyer Billings
e8640849c7
doc: Use https URLs where possible
2021-01-04 12:23:16 +08:00
MarcoFalke
fa0074e2d8
scripted-diff: Bump copyright headers
...
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-
2020-12-31 09:45:41 +01:00
Andrew Poelstra
1aced337f5
Merge 61b8c04d78 into merged_master (Bitcoin PR #19379 )
2020-11-28 18:11:17 +00:00
Andrew Poelstra
54f2d85914
Merge 34eb236258 into merged_master (Bitcoin PR #19326 )
2020-11-27 00:39:12 +00:00
Andrew Poelstra
b9a74b0aeb
Merge 8c97780db8 into merged_master (Bitcoin PR #19228 )
...
This commit updates libsecp; I didn't take the update (since I had already updated
to a more recent version of secp-zkp several commits ago) but did take Pieter's
cleanups in the rest of the codebase.
2020-11-26 01:09:04 +00:00
Andrew Poelstra
009bc2fdfb
Merge 99813a9745 into merged_master (Bitcoin PR #17829 )
2020-11-14 16:52:02 +00:00
Andrew Poelstra
38f8a01825
Merge 36191a8bb5 into merged_master (Bitcoin PR #12461 )
2020-11-09 23:10:13 +00:00
Andrew Poelstra
68d9951825
Merge d0f81a96d9 into merged_master (Bitcoin PR #16129 )
2020-11-06 15:20:13 +00:00
Andrew Poelstra
3380f240b7
Merge 376638afcf into merged_master (Bitcoin PR #14047 )
2020-10-29 18:42:50 +00:00
practicalswift
46fcac1e4b
tests: Add fuzzing harness for ec_seckey_import_der(...) and ec_seckey_export_der(...)
2020-08-18 18:03:57 +00:00
Pieter Wuille
02c4cc5c5d
Make CHash256/CHash160 output to Span
2020-07-30 13:57:54 -07:00
Pieter Wuille
e549bf8a9a
Make CHash256 and CHash160 consume Spans
2020-07-30 13:57:53 -07:00
Pieter Wuille
e10439ce5a
scripted-diff: rename privkey with seckey in secp256k1 interface
...
-BEGIN VERIFY SCRIPT-
sed -i 's/privkey/seckey/g' src/key.cpp
-END VERIFY SCRIPT-
2020-06-10 18:29:33 -07:00
MarcoFalke
aaaaad6ac9
scripted-diff: Bump copyright of files changed in 2019
...
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-
2019-12-30 10:42:20 +13:00
Wladimir J. van der Laan
36191a8bb5
Merge #12461 : scripted-diff: Rename key size consts to be relative to their class
...
0580f86bb4 Fixup whitespace (Ben Woosley)
47101bbb27 scripted-diff: Rename CPubKey and CKey::*_KEY_SIZE and COMPRESSED_*_KEY_SIZE (Ben Woosley)
Pull request description:
~~And introduce CPubKeySig to host code relative to key sigs.~~
ACKs for top commit:
meshcollider:
utACK https://github.com/bitcoin/bitcoin/pull/12461/commits/0580f86bb48004b797d4cb6273e7ffee0b0a0584
Tree-SHA512: 29aa0be54912358b138e391b9db78639786f56580493e590ec9f773c0e1b421740133d05a79be247c7ee57e71c9c9e41b9cb54088cb3c0e3f813f74f0895287b
2019-11-20 12:43:55 +01:00
practicalswift
eca9767673
Make reasoning about dependencies easier by not including unused dependencies
2019-06-02 17:15:23 +02:00
Steven Roose
f4889a5253
UPSTREAM MERGE BROKEN: Merge upstream commit ' 519b0bc5dc' into master
2019-05-17 16:17:09 +01:00
Jonas Schnelli
463921bb64
CKey: add method to negate the key
2019-03-27 13:59:50 +01:00
Steven Roose
045e615692
Add CKey::ECDH
2019-03-20 12:05:32 +00:00
Ben Woosley
47101bbb27
scripted-diff: Rename CPubKey and CKey::*_KEY_SIZE and COMPRESSED_*_KEY_SIZE
...
To SIZE and COMPRESSED_SIZE
-BEGIN VERIFY SCRIPT-
sed -i 's/PRIVATE_KEY_SIZE/SIZE/g' src/*.h src/*.cpp src/**/*.h src/**/*.cpp
sed -i 's/COMPRESSED_PRIVATE_KEY_SIZE/COMPRESSED_SIZE/g' src/*.h src/**/*.cpp src/**/*.h src/**/*.cpp
sed -i 's/PUBLIC_KEY_SIZE/SIZE/g' src/*.h src/*.cpp src/**/*.h src/**/*.cpp
sed -i 's/COMPRESSED_PUBLIC_KEY_SIZE/COMPRESSED_SIZE/g' src/*.h src/*.cpp src/**/*.h src/**/*.cpp
-END VERIFY SCRIPT-
2019-03-04 01:30:29 -08:00
João Barbosa
3617f11739
Fix assertion in CKey::SignCompact
2019-01-31 15:00:56 +00:00
Gregory Sanders
c62fab2d69
UPSTREAM MERGE BROKEN: Merge commit ' 3832c25f17' into merge_14225
2019-01-28 18:14:25 +00:00
Gregory Sanders
1559cc9c3b
C(Pub)Key::Derive: Return optional tweak vector for peg-out wallets
2019-01-24 11:07:01 -05:00
liuyujun
9a565a8282
Pass export privkey DER compression flag correctly
...
By passing a bitfield where a boolean was expected, the result was
always compressed. Fix this.
2018-09-13 09:58:26 +02:00