Gregory Maxwell
6cc8425c91
Include a comment on secp256k1_ecdsa_sign explaining low-s.
...
This was suggested by DavidEGrayson.
2015-02-02 02:47:24 +00:00
Pieter Wuille
f88343f2eb
Merge pull request #203
...
d61e899
Add group operation counts (Pieter Wuille)
2015-01-29 00:37:39 -04:00
Pieter Wuille
d61e899531
Add group operation counts
2015-01-27 12:32:53 -04:00
Pieter Wuille
2473f17121
Merge pull request #202
...
b5bbce6
Some readme updates, e.g. removal of the GMP field. (Gregory Maxwell)
2015-01-26 01:18:24 -04:00
Gregory Maxwell
b5bbce62e1
Some readme updates, e.g. removal of the GMP field.
2015-01-26 05:07:00 +00:00
Pieter Wuille
f0d851ee6a
Merge pull request #201
...
f735446
Convert the rest of the codebase to C89. (Gregory Maxwell)
2015-01-25 14:23:22 -04:00
Pieter Wuille
a0ea88456f
Merge pull request #200
...
bf2e1ac
Convert tests to C89. (also fixes a use of bare "inline" in field) (Gregory Maxwell)
2015-01-25 13:59:31 -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
Pieter Wuille
fff412e10c
Merge pull request #197
...
4be8d6f
Centralize the definition of uint128_t and use it uniformly. (Gregory Maxwell)
d9543c9
Switch scalar code to C89. (Gregory Maxwell)
2015-01-25 01:38:24 -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
7137be8110
Merge pull request #196
...
0768bd5
Get rid of variable-length hex string conversions (Pieter Wuille)
2015-01-24 22:15:36 -04:00
Pieter Wuille
0768bd55a1
Get rid of variable-length hex string conversions
2015-01-24 21:52:48 -04:00
Pieter Wuille
e84e761915
Merge pull request #195
...
792bcdb
Covert several more files to C89. (Gregory Maxwell)
2015-01-24 21:36:12 -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
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