junderw
24d6f62603
Use explicit u8 when assigning a byte slice
2021-10-17 10:07:51 +09:00
Riccardo Casatta
505b04df49
Reduce size of precomputed signing table (ECMULT_GEN_PREC_BITS) for lowmemory
2021-07-21 11:34:47 +02:00
Elichai Turkel
70847e6165
Remove SECP256K1_BUILD as its no longer needed
2021-06-30 16:56:12 +03:00
Dr Maxim Orlovsky
455ee57ba4
Bump sys version to 0.4.1
2021-06-18 23:47:24 +02:00
Dr Maxim Orlovsky
aa6bdaff3c
Creating SecretKey and PublicKey from BIP-340 KeyPair
2021-06-16 10:56:59 +02:00
Dr. Maxim Orlovsky
4652ab6116
Updating secp256k1 version to 1758a92ffd896af533b142707e9892ea6e15e5db
2021-06-14 17:55:38 +03:00
Matt Corallo
79119e8123
Skip context randomization in fuzzing to improve performance
2021-06-08 19:17:08 +00:00
Matt Corallo
c486ca10c7
Use a global static context in fuzzing, reducing overhead
2021-06-08 19:17:08 +00:00
Matt Corallo
940a51c2c6
Reduce cryptography usage in --cfg=fuzzing
...
This reduces the usage of real cryptography in --cfg=fuzzing,
specifically replacing the secret->public key derivation with a
simple copy and ECDH with XOR of the public and private parts
(plus a stream of 1s to make a test pass that expected non-0
output).
It leaves secret tweak addition/multiplication as-is.
It also changes the context creation to over-allocate and store
the context flags at the end of the context buffer, allowing us
to easily test context flags in each function.
While it would be nice to have something fancier (eg XOR-based),
its not immediately obvious how to accomplish this, and better to
fix the issues I have than spend too much time on it.
Fixes #271 .
This partially reverts b811ec133a
2021-06-08 19:17:08 +00:00
Matt Corallo
ee1103a1f3
Reduce visibility on secp-sys symbols
...
cc-rs builds C dependencies with reduced visibility to avoid
exporting the C symbols all the way out to any rust-built shared
libraries however we override it with SECP256K1_API. We should
avoid doing this, allowing LTO/DCE to do its work.
2021-04-07 11:21:16 -04:00
Kirill Fomichev
0a91f2ba2b
Use CARGO_CFG_TARGET_ARCH instead TARGET in build.rs
2021-03-08 22:54:21 +03:00
Gregory Hill
c86808fac7
use core instead of std for wasm sanity checks
...
Signed-off-by: Gregory Hill <gregorydhill@outlook.com>
2021-01-20 14:55:48 +00:00
Andrew Poelstra
65ff814a39
rename `rust_secp_fuzz` to `fuzzing`
2021-01-11 19:14:42 +00:00
Andrew Poelstra
d12be7966c
drop unnecessary no_mangle annotations on non-exported functions
2020-12-29 19:30:59 +00:00
Andrew Poelstra
58f946fcc8
secp-sys: remove now-unneeded endianness check from build.rs
2020-12-29 17:15:56 +00:00
Andrew Poelstra
e687622a81
bump secp-sys version; drop endomorphism flag
2020-12-29 17:15:56 +00:00
Andrew Poelstra
a93d671d05
update libsecp to 98dac87839838b86094f1bccc71cc20e67b146cc
2020-12-29 17:15:51 +00:00
Andrew Poelstra
e5d9e088cf
secp-sys: update scratch_impl.patch for upstream changes
2020-12-29 17:15:21 +00:00
Andrew Poelstra
a9049f8eb2
Merge pull request #266 from junderw/patch-1
...
Fix link_name for secp256k1_ec_seckey_negate
2020-12-29 17:12:36 +00:00
Andrew Poelstra
75d717729a
fuzz: fix elichai's nits
2020-12-28 19:01:12 +00:00
Andrew Poelstra
96862b6a74
fuzz: implement recoverable signatures, get all tests passing, run them in CI
2020-12-28 18:42:46 +00:00
Jonathan Underwood
51bc0b1c0c
Fix link_name for secp256k1_ec_seckey_negate
2020-12-28 15:06:18 +09:00
Andrew Poelstra
b811ec133a
fuzz: only replace signing and verification, leave everything else alone
...
We can now run unit tests with the fuzz feature on, and they'll pass,
which is some assurance that fuzzing with the feature on won't lead to
spurious failures due to the fuzz harness inadequately simulating message
signing.
2020-12-23 17:59:52 +00:00
Andrew Poelstra
40c31342f2
ffi: make function types nullable
2020-12-23 17:59:52 +00:00
Andrew Poelstra
29316efff5
add warning about fuzzing being enabled
2020-12-22 17:34:50 +00:00
Andrew Poelstra
85075a654c
replace `fuzztarget` Cargo feature with a rustc --cfg flag
...
It's super dangerous to use Cargo features for this, since they can be set
accidentally (or maliciously by any crate in a user's entire dep tree). Instead
we can just require users set `RUSTFLAGS` appropriately, which we can easily
do in our fuzzing scripts.
2020-12-22 15:42:02 +00:00
Andrew Poelstra
d77483f00e
replace cargo `external-symbols` feature with a rustc --cfg flag
...
This feature was not useful for Cargo users, since Cargo does not give you
the kind of fine-grained control over C library linkage that you need. So
it was just unnecessarily confusing and would cause the build to break if
you enabled it accidentally, say, with --all-features.
2020-12-22 15:35:16 +00:00
Tobin Harding
02dec3eb9b
Implement AsRef instead of custom method
...
Clippy emits a warning since we define a method that has the same name
as a standard trait. Implement the trait `AsRef` instead of using a
custom method.
2020-12-22 12:56:11 +11:00
Tobin Harding
3afc172096
Conditionally compile fn strlen
...
`strlen` is only used under certain feature flags, use `cfg` to
conditionally build it in.
Clears clippy warning.
2020-12-22 12:55:37 +11:00
Tobin Harding
617bff9df3
Conditionally include ALIGN_TO
...
This const is only used under specific features, use `cfg` to
conditionally build it in.
Removes clippy warning.
2020-12-22 12:54:08 +11:00
Tobin Harding
f67081a01c
Allow unnecessary parentheses
...
Clippy emits:
warning: unnecessary parentheses around assigned value
Add a attribute to allow unnecessary parentheses.
2020-12-22 12:53:29 +11:00
Elichai Turkel
7b99784837
Add AligneType and redo secp256k1_context_create with alloc
2020-12-18 12:48:16 +02:00
Andrew Poelstra
0ec8fab82c
stop explicitly casting references to rawptrs
2020-11-30 02:47:34 +00:00
Andrew Poelstra
12b0abbcf8
make `ffi::Type::new` functions all unsafe, expand documentation
2020-11-27 18:42:12 +00:00
Tibo-lg
45a4459baf
Update secp256k1-sys to add schnorr/extra-keys
2020-11-09 16:00:28 +09:00
Tibo-lg
cfb565126a
Update depend folder to latest master
2020-10-12 21:35:28 +09:00
Matt Corallo
3a2dba0e7f
Use wasm sysroot for wasm32-wasi target as well
2020-10-05 16:14:36 -04:00
Elichai Turkel
6511fad231
Sort Cargo.toml files
2020-08-27 22:58:00 +03:00
Elichai Turkel
48dd77e47b
Remove old deprecated blank functions
2020-08-27 22:52:16 +03:00
Elichai Turkel
9e5a351ea7
remove redundant code after MSRV bump
2020-08-27 22:51:36 +03:00
Andrew Poelstra
19f5138925
Update MSRV to 1.29; increase version to 0.19 and -sys version to 0.3
2020-08-27 14:18:06 +00:00
Elichai Turkel
1605bde420
replace privkey functions with seckey functions, deprecate privkey functions
2020-08-26 20:55:18 +00:00
Andrew Poelstra
f19c6bbece
bump secp-sys version to 0.2.0
2020-08-26 18:07:44 +00:00
Andrew Poelstra
1a9aece312
secp256k1-sys: update upstream to 670cdd3f8be25f81472b2d16dcd228b0d24a5c45
2020-08-26 18:07:41 +00:00
Andrew Poelstra
89541ec4b2
Merge pull request #215 from rust-bitcoin/real-or-random-patch-1
...
Define ECMULT_GEN_PREC_BITS
2020-08-26 17:46:39 +00:00
Andrew Poelstra
3692c94a0f
Merge pull request #220 from rantan/add_negate_support
...
Add negate support
2020-08-26 17:43:46 +00:00
Kohei Taniguchi
1742973a1f
Add fuzztarget for negation
2020-06-09 11:06:11 +09:00
Kohei Taniguchi
d45f709cd4
Add negation support
2020-06-09 10:05:07 +09:00
Matt Corallo
0052bc92fb
Expose the underlying array in addition to a ptr to the same
2020-06-01 14:35:31 -04:00
Andrew Poelstra
e6a82fa089
Merge pull request #204 from ordian/master
...
secp256k1-sys: remove restriction on cc version
2020-05-13 18:56:23 +00:00