Commit graph

323 commits

Author SHA1 Message Date
Pieter Wuille
24b3c65e0d Add a test case for ECDSA recomputing infinity 2014-12-01 14:45:05 +01:00
Pieter Wuille
32600e5086 Add a test for r >= order signature handling
Suggested by Greg Maxwell.
2014-12-01 14:23:09 +01:00
Pieter Wuille
0af5b47133
Merge pull request #120
e3d692f Explain why no y=0 check is necessary for doubling (Pieter Wuille)
f7dc1c6 Optimize doubling: secp256k1 has no y=0 point (Pieter Wuille)
2014-12-01 12:38:13 +01:00
Pieter Wuille
e2e8a362ad
Merge pull request #117
c76be9e Remove unused num functions (Pieter Wuille)
4285a98 Move lambda-splitting code to scalar. (Pieter Wuille)
f24041d Switch all EC/ECDSA logic from num to scalar (Pieter Wuille)
6794be6 Add scalar splitting functions (Pieter Wuille)
d1502eb Add secp256k1_scalar_inverse_var which delegates to GMP (Pieter Wuille)
b5c9ee7 Make test_point_times_order test meaningful again (Pieter Wuille)
0b73059 Switch wnaf splitting from num-based to scalar-based (Pieter Wuille)
1e6c77c Generalize secp256k1_scalar_get_bits (Pieter Wuille)
5213207 Add secp256k1_scalar_add_bit (Pieter Wuille)
2014-12-01 12:32:19 +01:00
Pieter Wuille
c76be9efa0 Remove unused num functions 2014-11-30 23:38:01 +01:00
Pieter Wuille
4285a98722 Move lambda-splitting code to scalar.
It's not really an operation on group elements.
2014-11-30 23:38:01 +01:00
Pieter Wuille
f24041d6aa Switch all EC/ECDSA logic from num to scalar 2014-11-30 23:38:01 +01:00
Pieter Wuille
6794be6080 Add scalar splitting functions
Which currently delegate to the lambda-splitter in group.
2014-11-30 23:38:01 +01:00
Pieter Wuille
d1502eb459 Add secp256k1_scalar_inverse_var which delegates to GMP 2014-11-30 23:38:01 +01:00
Pieter Wuille
b5c9ee756f Make test_point_times_order test meaningful again
As wnaf splitting is scalar based, multiplying with the order directly
would be reduced to multiplication with zero before even converting to
wnaf.
2014-11-30 23:38:01 +01:00
Pieter Wuille
0b73059709 Switch wnaf splitting from num-based to scalar-based 2014-11-30 23:38:01 +01:00
Pieter Wuille
1e6c77c321 Generalize secp256k1_scalar_get_bits 2014-11-30 23:38:01 +01:00
Pieter Wuille
5213207856 Add secp256k1_scalar_add_bit 2014-11-30 23:37:58 +01:00
Pieter Wuille
3c0ae43d66
Merge pull request #122
6e05287 Do signature recovery/verification with 4 possible recid case (Pieter Wuille)
2014-11-30 19:51:44 +01:00
Pieter Wuille
6e0528785d Do signature recovery/verification with 4 possible recid case 2014-11-29 10:57:50 +01:00
Pieter Wuille
e3d692ff75 Explain why no y=0 check is necessary for doubling
Explanation suggested by Greg Maxwell.
2014-11-28 22:18:50 +01:00
Pieter Wuille
f7dc1c6513 Optimize doubling: secp256k1 has no y=0 point 2014-11-28 22:18:30 +01:00
Pieter Wuille
666d3b5132
Merge pull request #121
2a54f9b Correct typo in comment (Pieter Wuille)
2014-11-28 21:23:07 +01:00
Pieter Wuille
2a54f9bcee Correct typo in comment 2014-11-28 16:39:36 +01:00
Pieter Wuille
9d64145781
Merge pull request #114
99f0728 Fix secp256k1_num_set_bin handling of 0 (Pieter Wuille)
d907ebc Add bounds checking to field element setters (Pieter Wuille)
2014-11-26 15:24:18 +01:00
Pieter Wuille
99f0728f23 Fix secp256k1_num_set_bin handling of 0 2014-11-26 15:21:31 +01:00
Pieter Wuille
d907ebc0e3 Add bounds checking to field element setters 2014-11-26 15:21:31 +01:00
Pieter Wuille
bb2cd94e09
Merge pull request #116
665775b Don't split the g factor when not using endomorphism (Pieter Wuille)
2014-11-26 15:19:59 +01:00
Pieter Wuille
665775b2b9 Don't split the g factor when not using endomorphism 2014-11-25 14:29:02 +01:00
Pieter Wuille
9431d6b112
Merge pull request #115
e2274c5 build: osx: attempt to work with homebrew keg-only packages (Cory Fields)
2014-11-25 13:51:52 +01:00
Cory Fields
e2274c58e6 build: osx: attempt to work with homebrew keg-only packages 2014-11-24 11:49:22 -05:00
Pieter Wuille
ad2028f989
Merge pull request #110
3bf029d Add test that recovering infinity fails (Pieter Wuille)
4861f83 Test whether recovered public keys are not infinity (Pieter Wuille)
bbe67d8 Make secp256k1_eckey_pubkey_serialize fail for infinity (Pieter Wuille)
2014-11-18 18:01:55 +01:00
Pieter Wuille
3bf029d676 Add test that recovering infinity fails 2014-11-18 13:13:17 +01:00
Pieter Wuille
4861f83686 Test whether recovered public keys are not infinity
Fixes a bug discovered by Sergio Demian Lerner.
2014-11-18 12:37:39 +01:00
Pieter Wuille
bbe67d8b29 Make secp256k1_eckey_pubkey_serialize fail for infinity 2014-11-18 12:37:38 +01:00
Pieter Wuille
11a78460f4
Merge pull request #107
f49b2ef Add DETERMINISTIC to avoid line number/source dependent binaries (Pieter Wuille)
2014-11-18 11:42:05 +01:00
Pieter Wuille
f49b2ef840 Add DETERMINISTIC to avoid line number/source dependent binaries
This will make it easier to detect changes without semantic impact.
2014-11-18 11:08:44 +01:00
Pieter Wuille
a5f7483d3e
Merge pull request #108
6c7f0c6 Update README.md (Pieter Wuille)
2014-11-18 09:56:25 +01:00
Pieter Wuille
6c7f0c621c Update README.md 2014-11-17 14:04:45 +01:00
Pieter Wuille
c48cdc4cb3
Merge pull request #105
71712b2 Switch to C89 comments in prep for making the whole codebase C89 compatible. (Gregory Maxwell)
2014-11-17 13:26:37 +01:00
Pieter Wuille
e5b9357b60
Merge pull request #106
8ca6a9c Correct .gitignore to correctly account for build-aux. (Phillip Mienk)
2014-11-16 14:54:50 +01:00
Phillip Mienk
8ca6a9c06f Correct .gitignore to correctly account for build-aux. 2014-11-15 19:47:03 -08:00
Gregory Maxwell
71712b27e5 Switch to C89 comments in prep for making the whole codebase C89 compatible.
This should be whitespace/comment only changes and should produce the same
object code.
2014-11-15 07:33:07 -08:00
Pieter Wuille
21288f2d05
Merge pull request #103
f8cce95 Add overflow analysis to field_10x26_impl.h (Pieter Wuille)
a518598 Add overflow analysis to field_5x52_int128_impl.h (Pieter Wuille)
fa0d620 Add equalities relating input and output variables (Pieter Wuille)
5dd421b Rewrite mul/sqr for 32bit/64bit (Peter Dettman)
2014-11-15 01:29:44 +01:00
Pieter Wuille
f8cce95650 Add overflow analysis to field_10x26_impl.h 2014-11-14 17:52:39 +01:00
Pieter Wuille
a51859871a Add overflow analysis to field_5x52_int128_impl.h 2014-11-13 07:47:40 -08:00
Pieter Wuille
fa0d620668 Add equalities relating input and output variables 2014-11-13 07:00:44 -08:00
Peter Dettman
5dd421bab5 Rewrite mul/sqr for 32bit/64bit
- interleave calculation of the lower and upper partial product ranges, and reduction
- less registers needed, more opportunities for parallel ops
2014-11-13 04:46:17 -08:00
Pieter Wuille
027eb9c610
Merge pull request #102
a099073 Enable warnings. (Gregory Maxwell)
861f9a5 field_gmp's negate doesn't need to use the magnitude argument. (Gregory Maxwell)
f0709ac Avoid forward static decl of undefined functions, also fix a paren warning in the tests. (Gregory Maxwell)
3276e7d Signed/unsigned comparisons in tests. (Gregory Maxwell)
850562e Avoid unsigned comparison in scalar arith. (Gregory Maxwell)
65a14ab Fix varrious signed/unsigned comparisons. (Gregory Maxwell)
e9e0e21 Avoid a shadowed variable. (Gregory Maxwell)
e28a8b8 Remove a VERIFY_CHECK for >=0ness on an unsigned type. (Gregory Maxwell)
2cad067 Correct function prototypes and avoid unused parameter warnings. (Gregory Maxwell)
a4a43d7 Reorder static to comply with C99 and switch to the inline macro. (Gregory Maxwell)
2014-11-13 04:41:08 -08:00
Gregory Maxwell
a099073a7e Enable warnings.
Wno-unused-function is used for the moment because of the checking
 functions which are currently only used by VERIFY but are not (yet?)
 ifdefed out in normal builds.
2014-11-13 01:45:57 -08:00
Gregory Maxwell
861f9a59cc field_gmp's negate doesn't need to use the magnitude argument. 2014-11-13 01:45:56 -08:00
Gregory Maxwell
f0709ac57e Avoid forward static decl of undefined functions, also fix a paren warning in the tests. 2014-11-13 01:45:49 -08:00
Gregory Maxwell
3276e7d4e2 Signed/unsigned comparisons in tests. 2014-11-12 15:47:12 -08:00
Gregory Maxwell
850562e3f1 Avoid unsigned comparison in scalar arith. 2014-11-12 15:47:12 -08:00
Gregory Maxwell
65a14abb48 Fix varrious signed/unsigned comparisons. 2014-11-12 15:47:12 -08:00