Pieter Wuille
f789c5baf2
Merge pull request #215
...
8956111 use 128-bit hex seed (Pieter Wuille)
02efd06 Use RFC6979 for test PRNGs (Pieter Wuille)
2015-02-24 02:38:58 -08:00
Pieter Wuille
8956111802
use 128-bit hex seed
2015-02-23 07:32:37 -08:00
Pieter Wuille
02efd06554
Use RFC6979 for test PRNGs
2015-02-23 07:30:08 -08:00
Pieter Wuille
ae55e850c7
Use faster byteswapping and avoid alignment-increasing casts.
2015-02-23 04:58:58 -08:00
Pieter Wuille
443cd4b8ee
Get rid of hex format and some binary conversions
2015-02-23 04:37:21 -08:00
Pieter Wuille
8030d7c0e5
Improve signing API documentation & specification
2015-02-14 15:38:27 -08:00
Iang
11690d3bb9
Removed gotos, which are hard to trace and maintain.
2015-02-12 18:18:31 -08:00
Pieter Wuille
035406d6db
Merge pull request #206
...
34b898d Additional comments for the testing PRNG and a seeding fix. (Gregory Maxwell)
6efd6e7 Some comments explaining some of the constants in the code. (Gregory Maxwell)
2015-02-12 16:27:19 -08:00
Pieter Wuille
2d4cd53087
Merge pull request #161
...
ffccfd2 x86_64 assembly optimization for scalar_4x64 (Pieter Wuille)
2015-02-06 18:22:16 -08:00
Gregory Maxwell
34b898dc84
Additional comments for the testing PRNG and a seeding fix.
...
Rw has additional short-cycle inputs because 2^32/0x464fffff >= 2.
2015-02-07 00:22:49 +00:00
Gregory Maxwell
6efd6e7777
Some comments explaining some of the constants in the code.
2015-02-07 00:22:13 +00:00
Pieter Wuille
ffccfd2d00
x86_64 assembly optimization for scalar_4x64
2015-02-06 11:32:46 -08:00
Pieter Wuille
039723d5da
Benchmarks for all internal operations
2015-02-02 20:02:39 -08:00
Pieter Wuille
d61e899531
Add group operation counts
2015-01-27 12:32:53 -04:00
Gregory Maxwell
f735446c4d
Convert the rest of the codebase to C89.
...
Update build system to enforce -std=c89 -pedantic.
2015-01-25 17:44:10 +00:00
Gregory Maxwell
bf2e1ac7cd
Convert tests to C89. (also fixes a use of bare "inline" in field)
2015-01-25 15:47:04 +00:00
Pieter Wuille
fc8285f18a
Merge pull request #199
...
fcc48c4 Remove the non-storage cmov (Pieter Wuille)
55422b6 Switch ecmult_gen to use storage types (Pieter Wuille)
41f8455 Use group element storage type in EC multiplications (Pieter Wuille)
e68d720 Add group element storage type (Pieter Wuille)
ff889f7 Field storage type (Pieter Wuille)
2015-01-25 09:16:11 -04:00
Gregory Maxwell
4be8d6fc42
Centralize the definition of uint128_t and use it uniformly.
...
This needs to be renamed along with the other _t types, because _t
is reserved. But that will be done later.
2015-01-25 05:10:40 +00:00
Gregory Maxwell
d9543c904f
Switch scalar code to C89.
2015-01-25 05:09:57 +00:00
Pieter Wuille
fcc48c4561
Remove the non-storage cmov
2015-01-25 00:56:22 -04:00
Pieter Wuille
55422b6aaf
Switch ecmult_gen to use storage types
2015-01-25 00:46:31 -04:00
Pieter Wuille
41f8455434
Use group element storage type in EC multiplications
2015-01-25 00:32:22 -04:00
Pieter Wuille
e68d7208ec
Add group element storage type
2015-01-25 00:31:56 -04:00
Pieter Wuille
ff889f7d90
Field storage type
2015-01-25 00:11:20 -04:00
Pieter Wuille
0768bd55a1
Get rid of variable-length hex string conversions
2015-01-24 21:52:48 -04:00
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
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
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
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
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
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
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