Commit Graph

307 Commits

Author SHA1 Message Date
Pieter Wuille 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
Pieter Wuille 04e34d18c3 Split up signing and verification initialization 2014-09-13 17:14:17 +02:00
Pieter Wuille 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
Pieter Wuille 1136bedbc2 Make secp256k1_ge_set_gej work with the point at infinity 2014-09-13 00:46:32 +02:00
Pieter Wuille a3e5d5d0ea
Merge pull request #57
62c3f55 Nothing-up-my-sleeving blinding for a*G (Pieter Wuille)
2014-09-01 23:09:59 +02:00
Pieter Wuille f023dc53c4
Merge pull request #58
3ed6dfa Only use the libcrypto part of OpenSSL (Pieter Wuille)
2014-09-01 22:07:39 +02:00
Pieter Wuille 3ed6dfae69 Only use the libcrypto part of OpenSSL 2014-09-01 19:45:51 +02:00
Pieter Wuille 62c3f55a9d Nothing-up-my-sleeving blinding for a*G 2014-09-01 14:56:12 +02:00
Pieter Wuille 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
Pieter Wuille 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
Pieter Wuille e2beb0bd2d
Merge pull request #51
364fde6 fix unsigned warning in num_gmp_impl.h (caktux)
2014-08-27 01:20:19 +02:00
Pieter Wuille 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
Pieter Wuille 1c7fa133a6 Add VERIFY_CHECK/DEBUG_CHECK and use CHECK macros more 2014-08-26 01:23:51 +02:00
Pieter Wuille 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
Pieter Wuille 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
Pieter Wuille 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
Pieter Wuille 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
Gregory Maxwell 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
caktux 364fde65f6 fix unsigned warning in num_gmp_impl.h 2014-08-11 16:09:09 -04:00
Pieter Wuille 1a749b4a6e Add secp256k1_num_eq and use it in tests 2014-08-09 19:22:42 +02:00
Pieter Wuille 13e44df743
Merge pull request #49
25f4aec Add high-level secp256k1.c tests (Pieter Wuille)
2014-08-03 21:55:07 +02:00
Pieter Wuille 25f4aec02f Add high-level secp256k1.c tests 2014-08-03 19:54:41 +02:00
Pieter Wuille 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
Pieter Wuille 6c2f5ad94b
Merge pull request #46
3ab1178 build: grab full paths to host tools (Cory Fields)
2014-07-26 14:43:35 +02:00
Cory Fields 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
Cory Fields 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
Pieter Wuille 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
Pieter Wuille 21f81a8469 Correct secp256k1_fe_verify and use it everywhere 2014-07-17 21:07:40 +02:00
Peter Dettman 59447da38d Test demonstrating discrepancy in sqr output 2014-07-17 21:07:38 +02:00
Pieter Wuille 5e53856862
Merge pull request #16
f16be77 Use batch inversion in G precomputation (Peter Dettman)
2014-07-17 19:59:12 +02:00
Peter Dettman f16be77ffc Use batch inversion in G precomputation 2014-07-17 15:33:00 +07:00
Pieter Wuille 83fd36c6f8 Merge pull request #42 from lclc/patch-1
Update README.md : Travis status
2014-07-03 15:56:31 +02:00
Lucas Betschart 70ef4f548b Update README.md : Travis status
I like that :)
2014-07-03 15:44:08 +02:00
Pieter Wuille 61a203517a
Merge pull request #40
42822ba Improve normalization performance for 32bit (Peter Dettman)
2014-06-25 02:50:20 +02:00
Peter Dettman 42822baaa8 Improve normalization performance for 32bit
- Uses a similar approach to the latest 64bit _normalize.
- Add one useful optimization back into the 64bit _normalize too.

Performance of 'bench' improved by around 0.5% for the 32bit field (but tested on a 64-bit machine).
2014-06-23 12:12:58 +07:00
Pieter Wuille f33793fb99
Merge pull request #34
62c5890 No releases yet anyway (Pieter Wuille)
2014-06-21 00:09:44 +02:00
Pieter Wuille 62c5890208 No releases yet anyway 2014-06-21 00:07:37 +02:00
Pieter Wuille 176b5041f3
Merge pull request #32
b0cc21f build: add travis support (Cory Fields)
d409087 build: add autogen. How was this missing? (Cory Fields)
2014-06-20 23:26:31 +02:00
Pieter Wuille 9849c6898c
Merge pull request #31
0592d11 Introduce CHECK() for tests that works with NDEBUG. (Pieter Wuille)
2014-06-20 23:25:38 +02:00
Pieter Wuille e65183ae54
Merge pull request #28
4d79beb Do not free endomorphism constants when disabled (Pieter Wuille)
2014-06-20 23:25:05 +02:00
Cory Fields b0cc21f896 build: add travis support
This adds a huge matrix of builds. The undesirable ones can be removed.
2014-06-19 14:56:23 -04:00
Cory Fields d40908763a build: add autogen. How was this missing? 2014-06-19 14:56:23 -04:00
Pieter Wuille 0592d117da Introduce CHECK() for tests that works with NDEBUG. 2014-06-16 01:30:17 +02:00
Pieter Wuille 4d79bebdff Do not free endomorphism constants when disabled 2014-06-15 23:31:17 +02:00
Pieter Wuille ebfa43b20a
Merge pull request #25
6d6102f A few improvements to the sqrt tests (Peter Dettman)
2014-06-03 22:01:47 +02:00
Pieter Wuille b110f84bbb
Merge pull request #24
9037707 Rewrite 5x52 normalize method to be faster (Peter Dettman)
2014-06-03 21:59:33 +02:00
Pieter Wuille 728554dfae
Merge pull request #18
4212f7d packaging: add pkg-config file to gitignore (Cory Fields)
67a4765 packaging: fixup pkg-config (Cory Fields)
81b2fae packaging: remove the --with-pkgconfigdir option (Cory Fields)
c7ee71f add pkg-config support (Amir Taaki)
2014-06-03 21:53:58 +02:00
Peter Dettman 9037707720 Rewrite 5x52 normalize method to be faster 2014-06-03 18:59:21 +07:00
Peter Dettman 6d6102fee4 A few improvements to the sqrt tests 2014-06-03 17:50:27 +07:00
Pieter Wuille 5355746867
Merge pull request #17
a86f241 Add MacPorts default include/lib paths for OSX (Peter Dettman)
2014-06-02 10:51:37 +02:00