Commit Graph

229 Commits

Author SHA1 Message Date
ae2679b6e4 Add bench_inv tool 2014-10-30 06:26:05 -07:00
9c698f16d6 Merge pull request #76
7935930 Add unit tests for scalars. (Pieter Wuille)
eca6cdb Switch scalar to use get/set 32-byte arrays (Pieter Wuille)
2014-10-30 06:09:29 -07:00
79359302fb Add unit tests for scalars.
Also add a secp256k1_scalar_is_one function.
2014-10-29 02:11:07 -07:00
eca6cdb123 Switch scalar to use get/set 32-byte arrays 2014-10-29 00:40:56 -07:00
774594e979 Merge pull request #75
a9f5c8b Introduce secp256k1_scalar_t for future constant-time mod order operations (Pieter Wuille)
2014-10-29 00:33:12 -07:00
a9f5c8b875 Introduce secp256k1_scalar_t for future constant-time mod order operations 2014-10-28 04:33:23 -07:00
b2bfdabdeb Merge pull request #72
eb74c36 Abstract out tweak logic to secp256k1_eckey_* functions (Pieter Wuille)
ffffc87 Use internal secp256k1_eckey_ prefix for functions in eckey (Pieter Wuille)
e2f71f1 Move non-ECDSA operations from ecdsa to eckey (Pieter Wuille)
ae6bc76 [API CHANGE] Use secp256k1_ec_ prefix for non-ECDSA key operations (Pieter Wuille)
2014-10-27 05:18:25 -07:00
eb74c36bd2 Abstract out tweak logic to secp256k1_eckey_* functions 2014-10-27 03:27:55 -07:00
ffffc87855 Use internal secp256k1_eckey_ prefix for functions in eckey 2014-10-27 03:01:51 -07:00
e2f71f1efe Move non-ECDSA operations from ecdsa to eckey 2014-10-27 02:58:09 -07:00
ae6bc76e32 [API CHANGE] Use secp256k1_ec_ prefix for non-ECDSA key operations 2014-10-27 02:51:58 -07:00
dc407ed48c Avoid valgrind complaints in OpenSSL initialization check 2014-10-27 02:27:58 -07:00
79f599d37f Tests take too long by default 2014-10-27 02:25:56 -07:00
03bfc07b9e Avoid uninitialized access in secp256k1_gej_double 2014-10-26 06:51:38 -07:00
bff11e9112 Verify num=openssl initialization and check repeatability 2014-10-26 05:39:13 -07:00
b650ab50f7 Merge pull request #71
949c1eb Split up ecmult and ecmult_gen entirely (Pieter Wuille)
2014-10-26 03:55:46 -07:00
949c1ebb5e Split up ecmult and ecmult_gen entirely 2014-10-26 03:42:24 -07:00
bd696ebd3f Merge pull request #68
3fd6253 Better randomization for tests (Pieter Wuille)
2014-10-20 00:04:36 -07:00
3fd6253e13 Better randomization for tests 2014-10-17 16:04:00 -07:00
fabdcc633e Merge pull request #67
bae6a42 Make bench use external interface (Pieter Wuille)
2014-09-29 08:55:21 +02:00
bae6a42be4 Make bench use external interface 2014-09-29 08:21:59 +02:00
b00982fdbd Merge pull request #60
c259a7c Set precomputation table late and unset early. (Pieter Wuille)
04e34d1 Split up signing and verification initialization (Pieter Wuille)
2014-09-28 06:00:31 +02:00
c259a7cbc0 Set precomputation table late and unset early.
Set the global pointer to the precomputation table only after initializing
it completely, and unset it before doing any uninitialization.

This causes fail-fast behavior in case of race conditions between
initialization and operations using it.
2014-09-13 17:19:30 +02:00
04e34d18c3 Split up signing and verification initialization 2014-09-13 17:14:17 +02:00
da556eb772 Merge pull request #62
1136bed Make secp256k1_ge_set_gej work with the point at infinity (Pieter Wuille)
2014-09-13 16:26:27 +02:00
1136bedbc2 Make secp256k1_ge_set_gej work with the point at infinity 2014-09-13 00:46:32 +02:00
a3e5d5d0ea Merge pull request #57
62c3f55 Nothing-up-my-sleeving blinding for a*G (Pieter Wuille)
2014-09-01 23:09:59 +02:00
f023dc53c4 Merge pull request #58
3ed6dfa Only use the libcrypto part of OpenSSL (Pieter Wuille)
2014-09-01 22:07:39 +02:00
3ed6dfae69 Only use the libcrypto part of OpenSSL 2014-09-01 19:45:51 +02:00
62c3f55a9d Nothing-up-my-sleeving blinding for a*G 2014-09-01 14:56:12 +02:00
d531b04ea9 Merge pull request #56
fa492f0 Fix a signedness mistake in secp256k1_num_set_hex (Pieter Wuille)
2014-08-28 02:22:02 +02:00
fa492f059d Fix a signedness mistake in secp256k1_num_set_hex
We were using a potentially signed char as index in an array.
2014-08-27 01:21:57 +02:00
e2beb0bd2d Merge pull request #51
364fde6 fix unsigned warning in num_gmp_impl.h (caktux)
2014-08-27 01:20:19 +02:00
9a57dd278a Merge pull request #54
1c7fa13 Add VERIFY_CHECK/DEBUG_CHECK and use CHECK macros more (Pieter Wuille)
2014-08-26 15:00:44 +02:00
1c7fa133a6 Add VERIFY_CHECK/DEBUG_CHECK and use CHECK macros more 2014-08-26 01:23:51 +02:00
41863ce2ca Merge pull request #55
8881212 Make tests and bench just use asm directly instead of library (Pieter Wuille)
2014-08-24 02:16:06 +02:00
87c782f632 Merge pull request #53
2f6c801 Try to not leave secret data on the stack or heap. (Gregory Maxwell)
2014-08-23 14:13:10 +02:00
8881212ebc Make tests and bench just use asm directly instead of library
Thanks to Cory Fields for the suggestion.
2014-08-19 13:40:19 +02:00
8a0ee2357a Merge pull request #50
1a749b4 Add secp256k1_num_eq and use it in tests (Pieter Wuille)
2014-08-17 15:47:45 +02:00
2f6c801911 Try to not leave secret data on the stack or heap.
This makes a basic effort and has not been audited.
Doesn't appear to have a measurable performance impact on bench.

It also adds a secp256k1_num_free to secp256k1_ecdsa_pubkey_create.
2014-08-14 07:06:36 -07:00
364fde65f6 fix unsigned warning in num_gmp_impl.h 2014-08-11 16:09:09 -04:00
1a749b4a6e Add secp256k1_num_eq and use it in tests 2014-08-09 19:22:42 +02:00
13e44df743 Merge pull request #49
25f4aec Add high-level secp256k1.c tests (Pieter Wuille)
2014-08-03 21:55:07 +02:00
25f4aec02f Add high-level secp256k1.c tests 2014-08-03 19:54:41 +02:00
d36e409536 Merge pull request #47
7280781 travis: minimize the dependencies available for each build config (Cory Fields)
2014-07-26 14:44:09 +02:00
6c2f5ad94b Merge pull request #46
3ab1178 build: grab full paths to host tools (Cory Fields)
2014-07-26 14:43:35 +02:00
7280781c3a travis: minimize the dependencies available for each build config
This is a more realistic representation of a build environment. Helps to ensure
configure logic and that headers aren't accidentally assumed to be present.
2014-07-25 11:35:16 -04:00
3ab1178d54 build: grab full paths to host tools
This ensures that make will work even if PATH has changed, which is often the
case when cross-compiling.

Fixes cross-compiled builds when integrated into Bitcoin's repo.
2014-07-24 17:20:02 -04:00
7d1956ff8d Merge pull request #44
21f81a8 Correct secp256k1_fe_verify and use it everywhere (Pieter Wuille)
59447da Test demonstrating discrepancy in sqr output (Peter Dettman)
2014-07-23 02:27:35 +02:00
21f81a8469 Correct secp256k1_fe_verify and use it everywhere 2014-07-17 21:07:40 +02:00