Commit Graph

468 Commits

Author SHA1 Message Date
Pieter Wuille ae55e850c7 Use faster byteswapping and avoid alignment-increasing casts. 2015-02-23 04:58:58 -08:00
Pieter Wuille 0bada0e2a9
Merge #214: Improve signing API documentation & specification
8030d7c Improve signing API documentation & specification (Pieter Wuille)
2015-02-16 11:29:15 -08:00
Pieter Wuille 8030d7c0e5 Improve signing API documentation & specification 2015-02-14 15:38:27 -08:00
Pieter Wuille 7b2fc1cac6
Merge #213: Removed gotos, which are hard to trace and maintain.
11690d3 Removed gotos, which are hard to trace and maintain. (Iang)
2015-02-13 10:41:14 -08:00
Iang 11690d3bb9 Removed gotos, which are hard to trace and maintain. 2015-02-12 18:18:31 -08:00
Pieter Wuille 122a1ecf30
Merge pull request #205
6cc8425 Include a comment on secp256k1_ecdsa_sign explaining low-s. (Gregory Maxwell)
2015-02-12 17:05:32 -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 67cbdf0440
Merge pull request #207
039723d Benchmarks for all internal operations (Pieter Wuille)
2015-02-02 20:58:01 -08:00
Pieter Wuille 039723d5da Benchmarks for all internal operations 2015-02-02 20:02:39 -08:00
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