]>
Git Repo - secp256k1.git/log
Pieter Wuille [Mon, 1 Dec 2014 11:36:58 +0000 (12:36 +0100)]
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)
Pieter Wuille [Mon, 1 Dec 2014 11:29:58 +0000 (12:29 +0100)]
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)
Pieter Wuille [Wed, 26 Nov 2014 23:27:08 +0000 (00:27 +0100)]
Remove unused num functions
Pieter Wuille [Wed, 26 Nov 2014 23:08:52 +0000 (00:08 +0100)]
Move lambda-splitting code to scalar.
It's not really an operation on group elements.
Pieter Wuille [Wed, 26 Nov 2014 16:26:39 +0000 (17:26 +0100)]
Switch all EC/ECDSA logic from num to scalar
Pieter Wuille [Wed, 26 Nov 2014 15:22:02 +0000 (16:22 +0100)]
Add scalar splitting functions
Which currently delegate to the lambda-splitter in group.
Pieter Wuille [Wed, 26 Nov 2014 15:04:24 +0000 (16:04 +0100)]
Add secp256k1_scalar_inverse_var which delegates to GMP
Pieter Wuille [Wed, 26 Nov 2014 14:35:06 +0000 (15:35 +0100)]
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.
Pieter Wuille [Wed, 26 Nov 2014 13:47:23 +0000 (14:47 +0100)]
Switch wnaf splitting from num-based to scalar-based
Pieter Wuille [Tue, 25 Nov 2014 14:55:21 +0000 (15:55 +0100)]
Generalize secp256k1_scalar_get_bits
Pieter Wuille [Tue, 25 Nov 2014 14:20:44 +0000 (15:20 +0100)]
Add secp256k1_scalar_add_bit
Pieter Wuille [Sun, 30 Nov 2014 18:50:31 +0000 (19:50 +0100)]
Merge pull request #122
6e05287 Do signature recovery/verification with 4 possible recid case (Pieter Wuille)
Pieter Wuille [Fri, 28 Nov 2014 22:43:00 +0000 (23:43 +0100)]
Do signature recovery/verification with 4 possible recid case
Pieter Wuille [Fri, 28 Nov 2014 21:07:32 +0000 (22:07 +0100)]
Explain why no y=0 check is necessary for doubling
Explanation suggested by Greg Maxwell.
Pieter Wuille [Fri, 28 Nov 2014 14:29:37 +0000 (15:29 +0100)]
Optimize doubling: secp256k1 has no y=0 point
Pieter Wuille [Fri, 28 Nov 2014 20:21:52 +0000 (21:21 +0100)]
Merge pull request #121
2a54f9b Correct typo in comment (Pieter Wuille)
Pieter Wuille [Fri, 28 Nov 2014 15:39:23 +0000 (16:39 +0100)]
Correct typo in comment
Pieter Wuille [Wed, 26 Nov 2014 14:22:45 +0000 (15:22 +0100)]
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)
Pieter Wuille [Mon, 24 Nov 2014 20:29:25 +0000 (21:29 +0100)]
Fix secp256k1_num_set_bin handling of 0
Pieter Wuille [Mon, 24 Nov 2014 11:38:05 +0000 (12:38 +0100)]
Add bounds checking to field element setters
Pieter Wuille [Wed, 26 Nov 2014 14:19:06 +0000 (15:19 +0100)]
Merge pull request #116
665775b Don't split the g factor when not using endomorphism (Pieter Wuille)
Pieter Wuille [Tue, 25 Nov 2014 13:29:02 +0000 (14:29 +0100)]
Don't split the g factor when not using endomorphism
Pieter Wuille [Tue, 25 Nov 2014 12:46:38 +0000 (13:46 +0100)]
Merge pull request #115
e2274c5 build: osx: attempt to work with homebrew keg-only packages (Cory Fields)
Cory Fields [Mon, 24 Nov 2014 16:13:16 +0000 (11:13 -0500)]
build: osx: attempt to work with homebrew keg-only packages
Pieter Wuille [Tue, 18 Nov 2014 16:54:44 +0000 (17:54 +0100)]
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)
Pieter Wuille [Tue, 18 Nov 2014 12:13:17 +0000 (13:13 +0100)]
Add test that recovering infinity fails
Pieter Wuille [Tue, 18 Nov 2014 11:36:20 +0000 (12:36 +0100)]
Test whether recovered public keys are not infinity
Fixes a bug discovered by Sergio Demian Lerner.
Pieter Wuille [Tue, 18 Nov 2014 11:32:53 +0000 (12:32 +0100)]
Make secp256k1_eckey_pubkey_serialize fail for infinity
Pieter Wuille [Tue, 18 Nov 2014 10:38:17 +0000 (11:38 +0100)]
Merge pull request #107
f49b2ef Add DETERMINISTIC to avoid line number/source dependent binaries (Pieter Wuille)
Pieter Wuille [Mon, 17 Nov 2014 12:16:47 +0000 (13:16 +0100)]
Add DETERMINISTIC to avoid line number/source dependent binaries
This will make it easier to detect changes without semantic impact.
Pieter Wuille [Tue, 18 Nov 2014 08:55:30 +0000 (09:55 +0100)]
Merge pull request #108
6c7f0c6 Update README.md (Pieter Wuille)
Pieter Wuille [Mon, 17 Nov 2014 13:04:45 +0000 (14:04 +0100)]
Update README.md
Pieter Wuille [Mon, 17 Nov 2014 12:25:58 +0000 (13:25 +0100)]
Merge pull request #105
71712b2 Switch to C89 comments in prep for making the whole codebase C89 compatible. (Gregory Maxwell)
Pieter Wuille [Sun, 16 Nov 2014 13:52:15 +0000 (14:52 +0100)]
Merge pull request #106
8ca6a9c Correct .gitignore to correctly account for build-aux. (Phillip Mienk)
Phillip Mienk [Sun, 16 Nov 2014 03:47:03 +0000 (19:47 -0800)]
Correct .gitignore to correctly account for build-aux.
Gregory Maxwell [Sat, 15 Nov 2014 15:28:10 +0000 (15:28 +0000)]
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.
Pieter Wuille [Sat, 15 Nov 2014 00:26:15 +0000 (01:26 +0100)]
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)
Pieter Wuille [Fri, 14 Nov 2014 16:52:39 +0000 (17:52 +0100)]
Add overflow analysis to field_10x26_impl.h
Pieter Wuille [Thu, 13 Nov 2014 15:47:40 +0000 (07:47 -0800)]
Add overflow analysis to field_5x52_int128_impl.h
Pieter Wuille [Thu, 13 Nov 2014 15:00:44 +0000 (07:00 -0800)]
Add equalities relating input and output variables
Peter Dettman [Mon, 27 Oct 2014 15:10:26 +0000 (22:10 +0700)]
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
Pieter Wuille [Thu, 13 Nov 2014 12:39:51 +0000 (04:39 -0800)]
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)
Gregory Maxwell [Thu, 13 Nov 2014 00:07:48 +0000 (16:07 -0800)]
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.
Gregory Maxwell [Wed, 12 Nov 2014 23:59:26 +0000 (15:59 -0800)]
field_gmp's negate doesn't need to use the magnitude argument.
Gregory Maxwell [Wed, 12 Nov 2014 23:41:47 +0000 (15:41 -0800)]
Avoid forward static decl of undefined functions, also fix a paren warning in the tests.
Gregory Maxwell [Wed, 12 Nov 2014 23:24:49 +0000 (15:24 -0800)]
Signed/unsigned comparisons in tests.
Gregory Maxwell [Wed, 12 Nov 2014 21:48:46 +0000 (13:48 -0800)]
Avoid unsigned comparison in scalar arith.
Gregory Maxwell [Wed, 12 Nov 2014 21:45:09 +0000 (13:45 -0800)]
Fix varrious signed/unsigned comparisons.
Gregory Maxwell [Wed, 12 Nov 2014 21:32:15 +0000 (13:32 -0800)]
Avoid a shadowed variable.
Gregory Maxwell [Wed, 12 Nov 2014 21:26:26 +0000 (13:26 -0800)]
Remove a VERIFY_CHECK for >=0ness on an unsigned type.
Gregory Maxwell [Wed, 12 Nov 2014 21:24:12 +0000 (13:24 -0800)]
Correct function prototypes and avoid unused parameter warnings.
Pieter Wuille [Wed, 12 Nov 2014 22:02:59 +0000 (14:02 -0800)]
Merge pull request #101
8563713 Add non-null and unused-result warnings for the external API. (Gregory Maxwell)
Gregory Maxwell [Wed, 12 Nov 2014 20:57:35 +0000 (12:57 -0800)]
Reorder static to comply with C99 and switch to the inline macro.
Gregory Maxwell [Wed, 12 Nov 2014 20:05:42 +0000 (12:05 -0800)]
Add non-null and unused-result warnings for the external API.
GCC (and clang) supports extensions to annotate functions so that their
results must be used and so that their arguments can't be statically
provable to be null. If a caller violates these requirements they
get a warning, so this helps them write correct code.
I deployed this in libopus a couple years ago with good success, and
the implementation here is basically copied straight from that.
One consideration is that the non-null annotation teaches the optimizer
and will actually compile out runtime non-nullness checks as dead-code.
Since this is usually not whats wanted, the non-null annotations are
disabled when compiling the library itself.
The commit also removes some dead inclusions of assert.h and introduces
compatibility macros for restrict and inline in preparation for some
portability improvements.
Pieter Wuille [Wed, 12 Nov 2014 19:34:56 +0000 (11:34 -0800)]
Merge pull request #96
6fac238 Use same build template as bitcoin. Add bitcoin_secp.m4. (kiwigb)
f9aac5b Remove INCLUDES. Obsolete, appears unused anyway. (kiwigb)
db72c18 Add autoreconf warnings. Replace obsolete AC_TRY_COMPILE. Remove redundant checks (already done by LT_INIT). (kiwigb)
Pieter Wuille [Wed, 12 Nov 2014 19:22:31 +0000 (11:22 -0800)]
Merge pull request #99
c27fdc0 Document some preconditions (Pieter Wuille)
Pieter Wuille [Tue, 11 Nov 2014 23:21:47 +0000 (15:21 -0800)]
Document some preconditions
Pieter Wuille [Wed, 12 Nov 2014 10:34:33 +0000 (02:34 -0800)]
Merge pull request #98
fb1bb0b Rearrange _gej_add_ge to save an _fe_negate (Peter Dettman)
9338dbf Branch-free point addition (Pieter Wuille)
Peter Dettman [Wed, 12 Nov 2014 04:56:13 +0000 (11:56 +0700)]
Rearrange _gej_add_ge to save an _fe_negate
Pieter Wuille [Tue, 11 Nov 2014 18:32:50 +0000 (10:32 -0800)]
Branch-free point addition
kiwigb [Thu, 6 Nov 2014 12:55:27 +0000 (01:55 +1300)]
Use same build template as bitcoin. Add bitcoin_secp.m4.
kiwigb [Thu, 6 Nov 2014 09:35:41 +0000 (22:35 +1300)]
Remove INCLUDES. Obsolete, appears unused anyway.
kiwigb [Thu, 6 Nov 2014 09:20:05 +0000 (22:20 +1300)]
Add autoreconf warnings. Replace obsolete AC_TRY_COMPILE.
Remove redundant checks (already done by LT_INIT).
Pieter Wuille [Wed, 5 Nov 2014 07:27:57 +0000 (23:27 -0800)]
Merge pull request #95
79ad6d4 Remove some dead variables in the tests. (Gregory Maxwell)
9974d86 Misc. Warning and cosmetic error cleanups. (Gregory Maxwell)
Pieter Wuille [Wed, 5 Nov 2014 07:26:16 +0000 (23:26 -0800)]
Merge pull request #77
1d52a8b Implementations for scalar without data-dependent branches. (Pieter Wuille)
Gregory Maxwell [Tue, 4 Nov 2014 21:47:23 +0000 (13:47 -0800)]
Remove some dead variables in the tests.
Gregory Maxwell [Tue, 4 Nov 2014 21:14:47 +0000 (13:14 -0800)]
Misc. Warning and cosmetic error cleanups.
This fixes a cosmetic precedence bug in the tests along with some
type warnings.
It also adds a dummy cast to the CHECK macro to avoid hundreds
of statement with no effect warnings on compilers that warn about
such things.
Pieter Wuille [Wed, 29 Oct 2014 07:35:49 +0000 (00:35 -0700)]
Implementations for scalar without data-dependent branches.
Pieter Wuille [Tue, 4 Nov 2014 11:00:34 +0000 (03:00 -0800)]
Merge pull request #94
da55986 Label variable-time functions correctly and don't use those in sign (Pieter Wuille)
Pieter Wuille [Tue, 4 Nov 2014 10:34:11 +0000 (02:34 -0800)]
Label variable-time functions correctly and don't use those in sign
Pieter Wuille [Tue, 4 Nov 2014 10:28:15 +0000 (02:28 -0800)]
Fix typo
Pieter Wuille [Tue, 4 Nov 2014 10:27:09 +0000 (02:27 -0800)]
Merge pull request #92
137e77a Address 'constant-time' TODOs in field impls (Peter Dettman)
Peter Dettman [Tue, 4 Nov 2014 05:41:42 +0000 (12:41 +0700)]
Address 'constant-time' TODOs in field impls
Pieter Wuille [Tue, 4 Nov 2014 07:35:17 +0000 (23:35 -0800)]
Merge pull request #93
5362875 warnings: enable quiet builds (Cory Fields)
Cory Fields [Fri, 20 Jun 2014 02:36:24 +0000 (22:36 -0400)]
warnings: enable quiet builds
Pieter Wuille [Mon, 3 Nov 2014 09:44:07 +0000 (01:44 -0800)]
Merge pull request #85
7a8e385 Fix interaction between magnitudes and negation (Pieter Wuille)
Pieter Wuille [Mon, 3 Nov 2014 09:40:12 +0000 (01:40 -0800)]
Merge pull request #89
501d58f Get rid of {num,scalar,ecdsa_sig}_{init,free} (Pieter Wuille)
Pieter Wuille [Mon, 3 Nov 2014 09:31:04 +0000 (01:31 -0800)]
Get rid of {num,scalar,ecdsa_sig}_{init,free}
Pieter Wuille [Mon, 3 Nov 2014 08:41:41 +0000 (00:41 -0800)]
Merge pull request #70
e2d66a2 Fix build for 64bit field under OSX (Peter Dettman)
Peter Dettman [Sun, 26 Oct 2014 02:40:55 +0000 (09:40 +0700)]
Fix build for 64bit field under OSX
- caused by https://github.com/bitcoin/secp256k1/commit/
8881212ebc43e67052ec06dec8beb459769fbab7
- OSX's ar tool doesn't work for empty archives ("ar: no archive members specified")
- introduce COMMON_LIB variable; leave empty when not using asm
Pieter Wuille [Sun, 2 Nov 2014 09:22:20 +0000 (01:22 -0800)]
Fix interaction between magnitudes and negation
Magnitude m means values are allowed to be up to 2 * 0xFFF...FFF * m,
while the argument passed to secp256k1_fe_negate didn't take the 2 into
account. Fix this.
Pieter Wuille [Sun, 2 Nov 2014 08:16:29 +0000 (01:16 -0700)]
Merge pull request #82
8f9a307 Better .gitignore for bench binaries (Pieter Wuille)
fa5c13f Add bench_sign tool (Pieter Wuille)
Pieter Wuille [Sun, 2 Nov 2014 08:15:11 +0000 (01:15 -0700)]
Merge pull request #83
7d681ac Add verification to 32bit field (Peter Dettman)
Pieter Wuille [Sat, 1 Nov 2014 13:01:40 +0000 (06:01 -0700)]
Better .gitignore for bench binaries
Peter Dettman [Sat, 1 Nov 2014 09:58:42 +0000 (16:58 +0700)]
Add verification to 32bit field
- implement _fe_verify for 10x26
- fe is normalized after _fe_clear
- a few corresponding changes in 64bit field
Pieter Wuille [Fri, 31 Oct 2014 15:23:34 +0000 (08:23 -0700)]
Add bench_sign tool
Pieter Wuille [Fri, 31 Oct 2014 15:09:13 +0000 (08:09 -0700)]
Merge pull request #80
504c63d Rename bench to bench_verify (Pieter Wuille)
01097dd Make bench deterministic (Pieter Wuille)
Pieter Wuille [Fri, 31 Oct 2014 10:17:44 +0000 (03:17 -0700)]
Rename bench to bench_verify
Pieter Wuille [Fri, 31 Oct 2014 10:15:25 +0000 (03:15 -0700)]
Make bench deterministic
Pieter Wuille [Fri, 31 Oct 2014 09:18:58 +0000 (02:18 -0700)]
Merge pull request #79
ae2679b Add bench_inv tool (Pieter Wuille)
Pieter Wuille [Fri, 31 Oct 2014 09:17:06 +0000 (02:17 -0700)]
Merge pull request #78
520ba3c Remove OpenSSL bignum implementation (Pieter Wuille)
Pieter Wuille [Wed, 29 Oct 2014 14:47:28 +0000 (07:47 -0700)]
Remove OpenSSL bignum implementation
Pieter Wuille [Thu, 30 Oct 2014 07:06:10 +0000 (00:06 -0700)]
Add bench_inv tool
Pieter Wuille [Thu, 30 Oct 2014 13:08:30 +0000 (06:08 -0700)]
Merge pull request #76
7935930 Add unit tests for scalars. (Pieter Wuille)
eca6cdb Switch scalar to use get/set 32-byte arrays (Pieter Wuille)
Pieter Wuille [Wed, 29 Oct 2014 07:35:38 +0000 (00:35 -0700)]
Add unit tests for scalars.
Also add a secp256k1_scalar_is_one function.
Pieter Wuille [Wed, 29 Oct 2014 07:35:09 +0000 (00:35 -0700)]
Switch scalar to use get/set 32-byte arrays
Pieter Wuille [Wed, 29 Oct 2014 07:32:05 +0000 (00:32 -0700)]
Merge pull request #75
a9f5c8b Introduce secp256k1_scalar_t for future constant-time mod order operations (Pieter Wuille)
Pieter Wuille [Tue, 28 Oct 2014 11:08:15 +0000 (04:08 -0700)]
Introduce secp256k1_scalar_t for future constant-time mod order operations
Pieter Wuille [Mon, 27 Oct 2014 12:17:04 +0000 (05:17 -0700)]
Merge pull request #72
eb74c36 Abstract out tweak logic to secp256k1_eckey_* functions (Pieter Wuille)
ffffc87 Use internal secp256k1_eckey_ prefix for functions in eckey (Pieter Wuille)
e2f71f1 Move non-ECDSA operations from ecdsa to eckey (Pieter Wuille)
ae6bc76 [API CHANGE] Use secp256k1_ec_ prefix for non-ECDSA key operations (Pieter Wuille)
Pieter Wuille [Mon, 27 Oct 2014 10:27:55 +0000 (03:27 -0700)]
Abstract out tweak logic to secp256k1_eckey_* functions
This page took 0.066872 seconds and 4 git commands to generate.