Andrew Poelstra
95e99f196f
fix tests.c in the count == 0 case
2018-04-10 19:32:04 +00:00
Andrew Poelstra
6fe50439ae
scratch: add stack frame support
2018-04-05 22:49:29 +00:00
Andrew Poelstra
7c1b91ba4b
parameterize ecmult_const over input size
2018-04-05 21:05:13 +00:00
Jonas Nick
ec0a7b3ae3
Don't touch leading zeros in wnaf_fixed.
2018-03-23 14:52:13 +00:00
Don Viszneki
8b3841c91d
fix bug in fread() failure check
...
the two middle arguments to fread() are easily confused, and cause the
checking of return value to fail incorrectly (and possibly succeed
incorrectly.)
2018-03-05 18:45:00 -08:00
Don Viszneki
cddef0c0be
tests: add warning message when /dev/urandom fails
...
in case this code should ever be used as an example, a warning is a nice
way of helping ensure insecure keys are not generated
2018-03-05 18:43:31 -08:00
Jonas Nick
6dbb007869
Increase sparsity of pippenger fixed window naf representation
2018-03-01 18:20:36 +00:00
Gregory Maxwell
7f9c1a1565
Merge #498 : tests: Avoid calling fclose(...) with an invalid argument
...
5aae5b5 Avoid calling fclose(...) with an invalid argument (practicalswift)
Pull request description:
Avoid calling `fclose(...)` with an invalid argument.
Tree-SHA512: f1a057b8c52089a3af1d9bfe97b751a4003b944d293147855eca452d1766c4ead5701d06f546153e654c9cb07b3fe2bcc4e28c8a54a27263d1e2434be123ca3b
2018-02-06 23:04:51 +00:00
Gregory Maxwell
f99aa8d4d3
Merge #499 : tests: Make sure we get the requested number of bytes from /dev/urandom
...
82a96e4 tests: Make sure we get the requested number of bytes from /dev/urandom (practicalswift)
Pull request description:
Make sure we get the requested number of bytes from `/dev/urandom`.
Tree-SHA512: 1b035942fd2a6ee2423fb2a2a0a0f294682c51434f86e5c106fb493d77f45aa8070662190aca6441fe389b8cdcc132d432517b8e826be2ac530a1511cd0c8919
2018-02-06 23:00:25 +00:00
practicalswift
82a96e4587
tests: Make sure we get the requested number of bytes from /dev/urandom
2018-01-12 11:24:43 +01:00
practicalswift
5aae5b5bb2
Avoid calling fclose(...) with an invalid argument
2018-01-12 11:18:25 +01:00
Alexander Block
31abd3ab8d
Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS
...
The only reason OpenSSL 1.1 was not supported was the removal of direct
access to r and s in ECDSA_SIG. This commit adds a simplified version of
ECDSA_SIG_get0 for < 1.1 that can be used like ECDSA_SIG_get0 in >= 1.1
2017-12-28 11:36:24 +01:00
Pieter Wuille
c95f6f1360
Merge #487 : fix tests typo, s/changed/unchanged
...
0e96cdc fix typo, s/changed/unchanged (Daniel Cousens)
Pull request description:
Tree-SHA512: 023f04d3743318123977d1c4600d664e2b7578ad973db54b9e65629344be087949540b3450ba467de33d319738304a46aa4caae084cfe387fdf87ed8242ac9ce
2017-12-21 14:29:57 -08:00
Jonas Nick
36b22c9337
Use scratch space dependent batching in ecmult_multi
2017-12-07 20:13:04 +00:00
Jonas Nick
355a38f113
Add pippenger_wnaf ecmult_multi
2017-12-07 20:13:04 +00:00
Andrew Poelstra
dba5471b69
Add ecmult_multi tests
2017-12-07 20:13:04 +00:00
Andrew Poelstra
548de42ecf
add resizeable scratch space API
...
Alignment support by Pieter Wuille.
2017-12-07 20:13:04 +00:00
Daniel Cousens
0e96cdc6b6
fix typo, s/changed/unchanged
2017-11-29 12:32:01 +11:00
Pieter Wuille
d1dc9dfc0a
Get rid of reserved _t in type names
2017-09-27 15:03:20 -07:00
Gregory Maxwell
5e95bf2285
Remove residual parts from the schnorr expirement.
2017-05-03 11:13:28 +00:00
Pieter Wuille
119949232a
Merge #408 : Add secp256k1_ec_pubkey_negate
and secp256k1_ec_privkey_negate
...
8e48aa6 Add `secp256k1_ec_pubkey_negate` and `secp256k1_ec_privkey_negate` (Andrew Poelstra)
Tree-SHA512: 28eeca0b04001958ad86b3c802e33a13273514e9e9802d5b358fd577dc95421a2cffb5591716bea10300717f742f0941c465b9df71dbb4c66d174c643887e06f
2017-03-21 17:54:06 -07:00
Wladimir J. van der Laan
5eb030ca41
test: Use checked_alloc
2017-02-26 15:05:42 +01:00
Andrew Poelstra
8e48aa60dc
Add secp256k1_ec_pubkey_negate
and secp256k1_ec_privkey_negate
2016-12-20 00:37:37 +00:00
llamasoft
353c1bf0d7
Fix secp256k1_ge_set_table_gej_var parameter order
...
Rearranged secp256k1_ge_set_table_gej_var parameters so length comes last (it modifies both *a and *zr).
2016-07-26 14:24:45 -05:00
llamasoft
541b783920
Fix secp256k1_ge_set_all_gej_var parameter order
...
Rearranged secp256k1_ge_set_all_gej_var parameters so length comes after *a.
2016-07-26 14:24:42 -05:00
llamasoft
7d893f4980
Fix secp256k1_fe_inv_all_var parameter order
...
Rearranged secp256k1_fe_inv_all_var parameters so length is after array.
Text editor removed some trailing whitespaces.
2016-07-26 12:15:19 -05:00
Pieter Wuille
926836ad36
Make secp256k1_fe_sqrt constant time
2016-07-09 14:23:44 +02:00
Pieter Wuille
65285a63ee
Merge #403 : configure: add flag to disable OpenSSL tests
...
a9b2a5d configure: add flag to disable OpenSSL tests (Andrew Poelstra)
2016-07-06 12:08:16 +02:00
Andrew Poelstra
a9b2a5d850
configure: add flag to disable OpenSSL tests
...
OpenSSL messes up valgrind.
2016-07-06 08:25:33 +00:00
Pieter Wuille
e6e9805fc4
Add function for testing quadratic residue field/group elements.
2016-07-04 13:55:04 +02:00
Peter Dettman
efd953a7a7
Add Jacobi symbol test via GMP
...
Also add native Jacobi symbol test (Andrew)
Rebased-by: Andrew Poelstra
Rebased-by: Pieter Wuille
2016-07-04 13:16:35 +02:00
Andrew Poelstra
c6191fded8
ecmult_const: unify endomorphism and non-endomorphism skew cases
...
We now do a skew correction even without the endomorphism optimization,
which costs one additional group addition but unifies a lot of code.
2016-06-30 13:28:47 +00:00
Pieter Wuille
43097a44ef
Merge #390 : Update bitcoin-core GitHub links
...
faa2a11 Update bitcoin-core GitHub links (MarcoFalke)
2016-05-08 19:56:34 +02:00
Jonas Nick
093a497ac9
Add testcase which hits additional branch in secp256k1_scalar_sqr
2016-05-02 20:19:00 -07:00
MarcoFalke
faa2a11ce5
Update bitcoin-core GitHub links
2016-04-29 23:14:45 +02:00
Gregory Maxwell
5d4c5a31b9
Prevent damage_array in the signature test from going out of bounds.
2015-11-26 21:02:27 +00:00
Pieter Wuille
646662517f
Improvements for coordinate decompression
2015-11-05 00:04:39 +01:00
Gregory Maxwell
8e48787d97
Change secp256k1_ec_pubkey_combine's count argument to size_t.
2015-10-31 19:04:34 +00:00
Gregory Maxwell
c69dea025a
Clear output in more cases for pubkey_combine, adds tests.
...
Also corrects an outdated comment and adds an additional
secp256k1_ecdsa_signature_parse_compact test.
2015-10-31 09:52:30 +00:00
Gregory Maxwell
269d422703
Comment copyediting.
2015-10-31 08:31:15 +00:00
Pieter Wuille
b4d17da903
Merge pull request #344
...
26abce7 Adds 32 static test vectors for scalar mul, sqr, inv. (Gregory Maxwell)
2015-10-31 02:21:35 +01:00
Gregory Maxwell
26abce75ea
Adds 32 static test vectors for scalar mul, sqr, inv.
...
These were generated by testing more than 10^12 random test vectors
for coverage on instrumented (comparison operator outcomes) 32-bit
and 64-bit code, plus additional edge condition requirements (e.g.
inputs of 0, 1, -1) and then solving a minimum set cover problem.
The required responses were generated with Sage.
This significantly improves the lcov branch coverage report and
makes the tests much more sensitive to mutation testing of the
scalar code.
The challenges and responses are in the form of pairs of scalars:
C1 * C2 == R1
(C1 * C2) * (1 / C2) == C1
C2 * (1 / C2) == 1
C1 * C1 == R2
C1^2 == R2
2015-10-30 21:17:19 +00:00
Gregory Maxwell
5b71a3f460
Better error case handling for pubkey_create & pubkey_serialize, more tests.
...
Makes secp256k1_ec_pubkey_serialize set the length to zero on failure,
also makes secp256k1_ec_pubkey_create set the pubkey to zeros when
the key argument is NULL.
Also adds many additional ARGCHECK tests.
2015-10-30 09:16:40 +00:00
Andrew Poelstra
eed87af10a
Change contrib/laxder from headers-only to files compilable as standalone C
...
Verified that both programs compile with
gcc -I. -I../include -lsecp256k1 -c -W -Wextra -Wall -Werror -ansi -pedantic lax_der_privatekey_parsing.c
gcc -I. -I../include -lsecp256k1 -c -W -Wextra -Wall -Werror -ansi -pedantic lax_der_parsing.c
2015-10-29 18:55:49 -05:00
Pieter Wuille
7914a6ebae
Make lax_der_privatekey_parsing.h not depend on internal code
2015-10-26 02:53:06 +01:00
Pieter Wuille
9234391ed4
Overhaul flags handling
2015-10-24 19:47:13 +02:00
Rusty Russell
1a368980c8
Make flags more explicit, add runtime checks.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-10-24 19:39:44 +02:00
Gregory Maxwell
96be20463f
Add additional tests for eckey and arg-checks.
...
This gets branch coverage up over 90% for me.
2015-10-22 22:57:33 +00:00
Gregory Maxwell
4a243da47c
Move secp256k1_ec_privkey_import/export to contrib.
...
These functions are intended for compatibility with legacy software,
and are not normally needed in new secp256k1 applications.
They also do not obeying any particular standard (and likely cannot
without without undermining their compatibility), and so are a
better fit for contrib.
2015-10-22 22:57:33 +00:00
Gregory Maxwell
b30fc85c9e
Avoid nonce_function_rfc6979 algo16 argument emulation.
...
This avoids data=NULL and data = zeros to producing the same nonce.
Previously the code tried to avoid the case where some data inputs
aliased algo16 inputs by always padding out the data.
But because algo16 and data are different lengths they cannot
emulate each other, and the padding would match a data value of
all zeros.
2015-10-22 22:57:33 +00:00