Commit graph

484 commits

Author SHA1 Message Date
Gregory Maxwell
792bcdb015 Covert several more files to C89. 2015-01-24 23:34:09 +00:00
Pieter Wuille
45cdf4479d
Merge pull request #193
25b35c7 Convert field code to strict C89 (+ long long, +__int128) (Gregory Maxwell)
3627437 C89 nits and dead code removal. (Gregory Maxwell)
2015-01-24 18:51:50 -04:00
Pieter Wuille
17db09e3af
Merge pull request #194
402878a fix ifdef/ifndef (mb300sd)
2015-01-24 15:26:15 -04:00
mb300sd
402878ae11 fix ifdef/ifndef 2015-01-23 17:09:50 -05:00
Gregory Maxwell
25b35c7ecb Convert field code to strict C89 (+ long long, +__int128)
This makes the software more portable to embedded systems
 and static analysis tools.

Sadly, it can't result in identical binaries because C99 mixed
 declarations seem to make GCC emit superfluous stack-pointer
 updates. The compiler is also somewhat dependent on the
 declaration order.
2015-01-23 05:48:27 +00:00
Gregory Maxwell
3627437d80 C89 nits and dead code removal. 2015-01-23 04:17:12 +00:00
Pieter Wuille
a9f350d309
Merge pull request #191
4732d26 Convert the field/group/ecdsa constant initialization to static consts (Pieter Wuille)
19f3e76 Remove unused secp256k1_fe_inner_{start, stop} functions (Pieter Wuille)
f1ebfe3 Convert the scalar constant initialization to static consts (Pieter Wuille)
2015-01-22 23:10:50 -05:00
Pieter Wuille
4732d26069 Convert the field/group/ecdsa constant initialization to static consts 2015-01-22 22:44:52 -05:00
Pieter Wuille
19f3e76002 Remove unused secp256k1_fe_inner_{start, stop} functions 2015-01-22 22:44:52 -05:00
Pieter Wuille
f1ebfe399f Convert the scalar constant initialization to static consts 2015-01-22 22:44:48 -05:00
Pieter Wuille
50cc6ab062
Merge pull request #178
941e221 Add tests for handling of the nonce function in signing. (Gregory Maxwell)
2015-01-05 15:08:12 +01:00
Gregory Maxwell
941e221f66 Add tests for handling of the nonce function in signing. 2015-01-04 17:28:39 -08:00
Pieter Wuille
10c81ffb5d
Merge pull request #177
7688e34 Add magnitude limits to secp256k1_fe_verify to ensure that it's own tests function correctly. (Gregory Maxwell)
70ae0d2 Use secp256k1_fe_equal_var in secp256k1_fe_sqrt_var. (Gregory Maxwell)
2015-01-04 15:24:23 +01:00
Gregory Maxwell
7688e341c5 Add magnitude limits to secp256k1_fe_verify to ensure that it's own tests function correctly. 2015-01-02 07:52:27 -08:00
Pieter Wuille
4ee4f7ac3f
Merge pull request #176
9ab9335 Add a reference consistency test to ge_tests. (Pieter Wuille)
60571c6 Rework group tests (Pieter Wuille)
2015-01-02 16:28:54 +01:00
Gregory Maxwell
70ae0d2851 Use secp256k1_fe_equal_var in secp256k1_fe_sqrt_var.
In theory this should be faster, since secp256k1_fe_equal_var is able to
 shortcut the normalization.  On x86_64 the improvement appears to be in
 the noise for me.  At least it makes the code cleaner.
2014-12-31 05:56:00 -08:00
Pieter Wuille
7767b4d25b
Merge pull request #175
d26e26f Avoid constructing an invalid signature with probability 1:2^256. (Gregory Maxwell)
2014-12-29 17:51:40 +01:00
Pieter Wuille
9ab93355f2 Add a reference consistency test to ge_tests.
This adds all points used in the test together in random order, which
should result in infinity.

Suggested by Greg Maxwell.
2014-12-29 17:21:39 +01:00
Pieter Wuille
60571c6e45 Rework group tests 2014-12-29 15:38:17 +01:00
Gregory Maxwell
d26e26f2f4 Avoid constructing an invalid signature with probability 1:2^256. 2014-12-28 19:40:40 -08:00
Pieter Wuille
b450c34843
Merge pull request #163
bbd5ba7 Use rfc6979 as default nonce generation function (Pieter Wuille)
b37fbc2 Implement SHA256 / HMAC-SHA256 / RFC6979. (Pieter Wuille)
c6e7f4e [API BREAK] Use a nonce-generation function instead of a nonce (Pieter Wuille)
2014-12-23 14:40:47 +01:00
Pieter Wuille
d57cae9473
Merge pull request #154
49ee0db Add _normalizes_to_zero_var variant (Peter Dettman)
eed599d Add _fe_normalizes_to_zero method (Peter Dettman)
d7174ed Weak normalization for secp256k1_fe_equal (Pieter Wuille)
0295f0a weak normalization (Pieter Wuille)
2014-12-22 22:19:00 +01:00
Peter Dettman
49ee0dbe16 Add _normalizes_to_zero_var variant 2014-12-20 14:38:29 +01:00
Peter Dettman
eed599dd72 Add _fe_normalizes_to_zero method 2014-12-20 14:38:24 +01:00
Pieter Wuille
d7174edf5f Weak normalization for secp256k1_fe_equal 2014-12-20 14:38:20 +01:00
Pieter Wuille
0295f0a33d weak normalization 2014-12-20 14:38:07 +01:00
Pieter Wuille
bbd5ba7cfa Use rfc6979 as default nonce generation function 2014-12-20 14:36:13 +01:00
Pieter Wuille
b37fbc280e Implement SHA256 / HMAC-SHA256 / RFC6979. 2014-12-20 14:36:13 +01:00
Pieter Wuille
c6e7f4e8d8 [API BREAK] Use a nonce-generation function instead of a nonce 2014-12-20 14:36:11 +01:00
Pieter Wuille
cf0c48bea5
Merge pull request #169
603c33b Make signing fail if a too small buffer is passed. (Pieter Wuille)
2014-12-18 21:59:15 +01:00
Pieter Wuille
603c33bc80 Make signing fail if a too small buffer is passed.
Bug discovered by Sergio Demian Lerner.
2014-12-18 01:28:06 +01:00
Pieter Wuille
6d1660663f
Merge pull request #168
7277fd7 Remove GMP field implementation (Pieter Wuille)
2014-12-18 01:20:56 +01:00
Pieter Wuille
7277fd76e2 Remove GMP field implementation 2014-12-17 12:41:31 +01:00
Pieter Wuille
e99c4c461c
Merge pull request #123
13278f6 Add explanation about how inversion can be avoided (Pieter Wuille)
ce7eb6f Optimize verification: avoid field inverse (Pieter Wuille)
2014-12-16 23:29:58 +01:00
Pieter Wuille
13278f642c Add explanation about how inversion can be avoided 2014-12-16 22:52:07 +01:00
Pieter Wuille
ce7eb6fb3d Optimize verification: avoid field inverse
Suggested by Greg Maxwell.
2014-12-16 22:38:17 +01:00
Pieter Wuille
a098f783fc
Merge pull request #160
1ba4a60 Configure options reorganization (Pieter Wuille)
2014-12-16 13:59:19 +01:00
Pieter Wuille
38acd0167b
Merge pull request #165
6a59012 Make git ignore bench_recover when configured with benchmark enabled (Pavel Janík)
2014-12-16 13:57:11 +01:00
Pavel Janík
6a59012f04 Make git ignore bench_recover when configured with benchmark enabled 2014-12-16 07:43:19 +01:00
Pieter Wuille
1ba4a60a51 Configure options reorganization 2014-12-13 15:04:28 +01:00
Pieter Wuille
3c0f246e7e
Merge pull request #157
5190079 build: use subdir-objects for automake (Cory Fields)
2014-12-12 15:48:28 +01:00
Pieter Wuille
808dd9b3f5
Merge pull request #156
8336040 build: disable benchmark by default (Cory Fields)
2014-12-12 15:46:50 +01:00
Pieter Wuille
8dc75e98af
Merge pull request #158
28ade27 build: nuke bashisms (Cory Fields)
2014-12-12 14:50:17 +01:00
Cory Fields
28ade27da1 build: nuke bashisms 2014-12-11 21:24:35 -05:00
Cory Fields
5190079e31 build: use subdir-objects for automake 2014-12-11 20:18:54 -05:00
Cory Fields
8336040f79 build: disable benchmark by default 2014-12-11 20:09:22 -05:00
Pieter Wuille
bccaf86caa
Merge pull request #150
cf7b2b4 Fix ECDSA message hashes to 32 bytes (Pieter Wuille)
2014-12-11 01:39:34 +01:00
Pieter Wuille
2a53a472f2
Merge pull request #151
a3e0611 Enable tests in x86 travis builds (Pieter Wuille)
45da235 x86 builder (Cory Fields)
2014-12-11 01:23:37 +01:00
Pieter Wuille
5f5a31fe0a
Merge pull request #149
056ad31 Really compile with -O3 by default (Pieter Wuille)
2014-12-11 00:50:21 +01:00
Pieter Wuille
3907277dcf
Merge pull request #142
f22d73e Explicitly access %0..%2 as 64-bit so we use the right registers for x32 ABI (Luke Dashjr)
e66d4d6 Avoid the stack in assembly and use explicit registers (Pieter Wuille)
2014-12-11 00:49:31 +01:00