Commit graph

113 commits

Author SHA1 Message Date
Pieter Wuille
3bc866b88f
Merge pull request #20
d7fd4d0 Use endomorphism in precomputations (Peter Dettman)
2014-06-02 10:45:44 +02:00
Peter Dettman
17eec032c8 Support 64bit_asm field on OSX 2014-06-02 15:33:35 +07:00
Peter Dettman
d7fd4d0f6b Use endomorphism in precomputations 2014-05-22 10:17:30 +07:00
Peter Dettman
09ca4f32e2 secp256k1_fe_sqrt checks for success
- secp256k1_fe_sqrt now checks that the value it calculated is actually a square root.
- Add return values to secp256k1_fe_sqrt and secp256k1_ge_set_xo.
- Callers of secp256k1_ge_set_xo can use return value instead of explicit validity checks
- Add random value tests for secp256k1_fe_sqrt
2014-05-21 10:22:14 +07:00
Pieter Wuille
78fb796997
Merge pull request #8
ba8fc0e Check signature nonces for validity (William Swanson)
2014-05-08 20:09:09 +02:00
evoskuil
ac274bff23 Fix x64 gmp init on platforms that define UL as 32 bits. 2014-05-08 10:28:20 -07:00
William Swanson
ba8fc0e28f Check signature nonces for validity
The documentation implies that this check is happening, so make it so.
Without this check, passing an invalid nonce will trigger an internal assertion.
2014-04-24 14:18:44 -07:00
Pieter Wuille
11ab562203 Move implementations from impl/*.h to *_impl.h 2014-03-12 18:40:02 +01:00
Pieter Wuille
65a79b300c Slice bytes of G multiples to avoid cache timings 2014-03-07 00:32:41 +01:00
Peter Dettman
bb7bb81d07 Fix addition chain entry in comments 2014-01-31 11:43:57 +07:00
Peter Dettman
f8ccd9befd Re-write secp256k1_fe_sqrt and secp256k1_fe_inv to use a sliding window over blocks of 1s 2014-01-30 19:16:20 +07:00
Cory Fields
5a9989c52a add missing include 2014-01-17 23:24:12 -05:00
Cory Fields
78cd96b151 autotools: autotools'ify libsecp256k1 2014-01-17 23:24:12 -05:00
Pieter Wuille
60442b835f Remove 5x64 implementation - no actual benefits 2013-12-01 21:16:47 +01:00
Pieter Wuille
399c03f227 Make endomorphism optimization optional 2013-12-01 21:06:20 +01:00
Pieter Wuille
ad52495d72 Check for overflows when order is added at recovery 2013-11-07 20:27:13 +01:00
Pieter Wuille
d0b33489f2 Break malleability by producing S <= order/2 2013-09-19 00:58:42 +02:00
Pieter Wuille
350ade2ab4 Tweak fixes & variable name improvement 2013-07-14 20:49:37 +02:00
Pieter Wuille
86d3cce2a9 Add support for multiplicative tweaking 2013-07-14 17:58:23 +02:00
Pieter Wuille
b0be6aba91 Invert buggy logic in secp256k1_ecdsa_seckey_verify 2013-07-13 01:31:41 +02:00
Diederik Huys
355b4192cf 1st assembly version of field 5x64 code - bugfix 2013-06-17 15:31:06 +02:00
Diederik Huys
dd804adeff 1st assembly version of field 5x64 code 2013-06-16 22:46:43 +02:00
Pieter Wuille
6c78924a10 Inline asm for 5x64 2013-06-09 00:52:14 +02:00
Pieter Wuille
1487ca95c6 Field 5x64 2013-06-09 00:04:55 +02:00
Pieter Wuille
561b0e1044 Private/public key tweaking 2013-05-27 01:18:48 +02:00
Pieter Wuille
e3c5c26f54 Allow private keys with less-than-32-byte secrets 2013-05-24 05:32:53 +02:00
Matt Corallo
6df016fb20 Fix JNI for C instead of C++
(because apparently there is a significant difference...)
2013-05-18 16:05:58 +02:00
Pieter Wuille
12e29b320f Use privkey serialization to construct OpenSSL keys 2013-05-10 00:53:47 +02:00
Pieter Wuille
4bef497b9c Bugfix: correct privkey serialization 2013-05-10 00:52:28 +02:00
Pieter Wuille
0a433ea23c MIT License 2013-05-09 15:24:32 +02:00
Pieter Wuille
2fb64b2da2 Inline verify is slow, this is what unit tests are for 2013-05-05 17:00:05 +02:00
Pieter Wuille
dd08f03799 OpenSSL/EC tests 2013-05-05 16:55:05 +02:00
Pieter Wuille
da3038c757 Privkey import/export 2013-05-05 05:12:43 +02:00
Pieter Wuille
50eb498ece Compact signatures/pubkey recovery 2013-05-05 02:46:07 +02:00
Pieter Wuille
764332d05d Make pubkeys, set_xo, ... ge instead of gej 2013-05-05 01:18:23 +02:00
Pieter Wuille
42cccdaf55 More public implementations 2013-05-05 01:02:05 +02:00
Pieter Wuille
7823916781 Add signing to public interface 2013-05-05 00:21:03 +02:00
Pieter Wuille
42f5e7c58d Remove traces of old mpz-based num 2013-04-30 16:04:33 +02:00
Pieter Wuille
f491cd35df Make constants constant 2013-04-30 15:57:40 +02:00
Pieter Wuille
3f44e1ad36 More num unit tests 2013-04-22 01:53:50 +02:00
Pieter Wuille
404c30a800 Test improvements 2013-04-21 19:07:21 +02:00
Pieter Wuille
79b0ce6c84 Change num_mod semantics 2013-04-21 00:58:15 +02:00
Pieter Wuille
d06e61cbb5 Builtin random 2013-04-20 23:57:20 +02:00
Pieter Wuille
2f9e831d34 Some comments 2013-04-14 22:17:21 +02:00
Pieter Wuille
898cecb3b3 Use GMP's low-level routines for num (mpn_) 2013-04-14 18:13:41 +02:00
Pieter Wuille
f0c89aadc6 Revamp makefile 2013-04-07 01:39:57 +02:00
Pieter Wuille
6baf08dfe4 Support for 32-bit limbs in field_gmp 2013-04-06 22:31:02 +02:00
Pieter Wuille
7a4b7691b6 Reorganize source tree: no .c for non-objects 2013-04-05 02:09:37 +02:00
Pieter Wuille
ea165f47da Add field_gmp; only 64-bit platforms for now 2013-04-05 01:38:29 +02:00
Pieter Wuille
7fef66199e Some group.h comments 2013-04-03 00:58:51 +02:00