]> Git Repo - secp256k1.git/log
secp256k1.git
10 years agoMerge pull request #156
Pieter Wuille [Fri, 12 Dec 2014 14:46:27 +0000 (15:46 +0100)]
Merge pull request #156

8336040 build: disable benchmark by default (Cory Fields)

10 years agoMerge pull request #158
Pieter Wuille [Fri, 12 Dec 2014 13:50:07 +0000 (14:50 +0100)]
Merge pull request #158

28ade27 build: nuke bashisms (Cory Fields)

10 years agobuild: nuke bashisms
Cory Fields [Fri, 12 Dec 2014 02:24:35 +0000 (21:24 -0500)]
build: nuke bashisms

10 years agobuild: disable benchmark by default
Cory Fields [Fri, 12 Dec 2014 01:09:19 +0000 (20:09 -0500)]
build: disable benchmark by default

10 years agoMerge pull request #150
Pieter Wuille [Thu, 11 Dec 2014 00:36:01 +0000 (01:36 +0100)]
Merge pull request #150

cf7b2b4 Fix ECDSA message hashes to 32 bytes (Pieter Wuille)

10 years agoMerge pull request #151
Pieter Wuille [Thu, 11 Dec 2014 00:23:31 +0000 (01:23 +0100)]
Merge pull request #151

a3e0611 Enable tests in x86 travis builds (Pieter Wuille)
45da235 x86 builder (Cory Fields)

10 years agoMerge pull request #149
Pieter Wuille [Wed, 10 Dec 2014 23:50:16 +0000 (00:50 +0100)]
Merge pull request #149

056ad31 Really compile with -O3 by default (Pieter Wuille)

10 years agoMerge pull request #142
Pieter Wuille [Wed, 10 Dec 2014 23:49:22 +0000 (00:49 +0100)]
Merge pull request #142

f22d73e Explicitly access %0..%2 as 64-bit so we use the right registers for x32 ABI (Luke Dashjr)
e66d4d6 Avoid the stack in assembly and use explicit registers (Pieter Wuille)

10 years agoEnable tests in x86 travis builds
Pieter Wuille [Tue, 9 Dec 2014 15:58:52 +0000 (16:58 +0100)]
Enable tests in x86 travis builds

10 years agox86 builder
Cory Fields [Tue, 9 Dec 2014 01:10:50 +0000 (20:10 -0500)]
x86 builder

10 years agoMerge pull request #155
Pieter Wuille [Wed, 10 Dec 2014 23:39:20 +0000 (00:39 +0100)]
Merge pull request #155

971fe81 build: fix openssl detection for cross builds (Cory Fields)

10 years agobuild: fix openssl detection for cross builds
Cory Fields [Wed, 10 Dec 2014 18:17:48 +0000 (13:17 -0500)]
build: fix openssl detection for cross builds

Make sure that the detected openssl successfully links before enabling support.

10 years agoExplicitly access %0..%2 as 64-bit so we use the right registers for x32 ABI
Luke Dashjr [Tue, 9 Dec 2014 17:27:33 +0000 (17:27 +0000)]
Explicitly access %0..%2 as 64-bit so we use the right registers for x32 ABI

10 years agoAvoid the stack in assembly and use explicit registers
Pieter Wuille [Mon, 8 Dec 2014 14:18:55 +0000 (15:18 +0100)]
Avoid the stack in assembly and use explicit registers

10 years agoFix ECDSA message hashes to 32 bytes
Pieter Wuille [Tue, 9 Dec 2014 11:50:47 +0000 (12:50 +0100)]
Fix ECDSA message hashes to 32 bytes

10 years agoReally compile with -O3 by default
Pieter Wuille [Tue, 9 Dec 2014 10:48:34 +0000 (11:48 +0100)]
Really compile with -O3 by default

10 years agoMerge pull request #146
Pieter Wuille [Tue, 9 Dec 2014 10:19:49 +0000 (11:19 +0100)]
Merge pull request #146

c88e2b8 Compile with -O3 by default (Pieter Wuille)

10 years agoMerge pull request #145
Pieter Wuille [Tue, 9 Dec 2014 10:15:30 +0000 (11:15 +0100)]
Merge pull request #145

1f46b00 build: fix __builtin_expect detection for clang (Cory Fields)

10 years agobuild: fix __builtin_expect detection for clang
Cory Fields [Tue, 9 Dec 2014 00:08:49 +0000 (19:08 -0500)]
build: fix __builtin_expect detection for clang

Using AC_CHECK_DECL, the generated test tries to cast the function to void.
Clang doesn't allow that for builtins.

10 years agoMerge pull request #136
Pieter Wuille [Tue, 9 Dec 2014 01:38:27 +0000 (02:38 +0100)]
Merge pull request #136

6558a26 Make the benchmarks print out stats (Pieter Wuille)
000bdf6 Rename bench_verify to bench_recovery (Pieter Wuille)

10 years agoMerge pull request #144
Pieter Wuille [Tue, 9 Dec 2014 00:44:50 +0000 (01:44 +0100)]
Merge pull request #144

992e03b travis: add clang to the test matrix (Cory Fields)

10 years agoMerge pull request #141
Pieter Wuille [Tue, 9 Dec 2014 00:36:11 +0000 (01:36 +0100)]
Merge pull request #141

7c6fed2 Add a few more additional tests. (Gregory Maxwell)
8d11164 Add some additional tests. (Gregory Maxwell)

10 years agoCompile with -O3 by default
Pieter Wuille [Tue, 9 Dec 2014 00:30:43 +0000 (01:30 +0100)]
Compile with -O3 by default

10 years agoMake the benchmarks print out stats
Pieter Wuille [Thu, 4 Dec 2014 19:26:54 +0000 (20:26 +0100)]
Make the benchmarks print out stats

10 years agoRename bench_verify to bench_recovery
Pieter Wuille [Thu, 4 Dec 2014 18:38:52 +0000 (19:38 +0100)]
Rename bench_verify to bench_recovery

10 years agoAdd a few more additional tests.
Gregory Maxwell [Mon, 8 Dec 2014 20:38:16 +0000 (12:38 -0800)]
Add a few more additional tests.

10 years agotravis: add clang to the test matrix
Cory Fields [Thu, 13 Nov 2014 22:50:10 +0000 (17:50 -0500)]
travis: add clang to the test matrix

10 years agoMerge pull request #143
Pieter Wuille [Mon, 8 Dec 2014 22:02:20 +0000 (23:02 +0100)]
Merge pull request #143

e06a924 Include time.h header for time(). (Pavel Janík)

10 years agoInclude time.h header for time().
Pavel Janík [Mon, 8 Dec 2014 19:48:58 +0000 (20:48 +0100)]
Include time.h header for time().

10 years agoAdd some additional tests.
Gregory Maxwell [Mon, 8 Dec 2014 08:48:53 +0000 (00:48 -0800)]
Add some additional tests.

10 years agoMerge pull request #118
Pieter Wuille [Sun, 7 Dec 2014 13:37:05 +0000 (14:37 +0100)]
Merge pull request #118

3ce74b1 Tweak precomputed table size for G (Pieter Wuille)

10 years agoMerge pull request #137
Pieter Wuille [Sun, 7 Dec 2014 13:34:48 +0000 (14:34 +0100)]
Merge pull request #137

39bd94d Variable time normalize (Pieter Wuille)

10 years agoMerge pull request #128
Pieter Wuille [Sun, 7 Dec 2014 13:33:54 +0000 (14:33 +0100)]
Merge pull request #128

b2c9681 Make {mul,sqr}_inner use the same argument order as {mul,sqr} (Pieter Wuille)
6793505 Convert YASM code into inline assembly (Pieter Wuille)
f048615 Rewrite field assembly to match the C version (Pieter Wuille)

10 years agoMerge pull request #138
Pieter Wuille [Sun, 7 Dec 2014 12:17:54 +0000 (13:17 +0100)]
Merge pull request #138

a5759c5 Check return value of malloc (Pieter Wuille)
2b9388b Remove unused secp256k1_fe_inv_all (Pieter Wuille)
f461b76 Allocate precomputation arrays on the heap (Pieter Wuille)

10 years agoCheck return value of malloc
Pieter Wuille [Sun, 7 Dec 2014 01:58:24 +0000 (02:58 +0100)]
Check return value of malloc

10 years agoVariable time normalize
Pieter Wuille [Fri, 5 Dec 2014 02:37:42 +0000 (03:37 +0100)]
Variable time normalize

10 years agoMerge pull request #140
Pieter Wuille [Sat, 6 Dec 2014 17:17:08 +0000 (18:17 +0100)]
Merge pull request #140

54b768c Another redundant secp256k1_fe_normalize (Pieter Wuille)

10 years agoAnother redundant secp256k1_fe_normalize
Pieter Wuille [Sat, 6 Dec 2014 16:30:08 +0000 (17:30 +0100)]
Another redundant secp256k1_fe_normalize

10 years agoMerge pull request #139
Pieter Wuille [Sat, 6 Dec 2014 16:26:26 +0000 (17:26 +0100)]
Merge pull request #139

1c29f2e Remove redundant secp256k1_fe_normalize from secp256k1_gej_add_ge_var. (Gregory Maxwell)

10 years agoRemove redundant secp256k1_fe_normalize from secp256k1_gej_add_ge_var.
Gregory Maxwell [Sat, 6 Dec 2014 13:07:26 +0000 (05:07 -0800)]
Remove redundant secp256k1_fe_normalize from secp256k1_gej_add_ge_var.

This was a missed optimization in the extraction of gej+ge from gej+gej.

10 years agoRemove unused secp256k1_fe_inv_all
Pieter Wuille [Fri, 5 Dec 2014 17:13:51 +0000 (18:13 +0100)]
Remove unused secp256k1_fe_inv_all

10 years agoAllocate precomputation arrays on the heap
Pieter Wuille [Fri, 5 Dec 2014 17:13:28 +0000 (18:13 +0100)]
Allocate precomputation arrays on the heap

10 years agoMerge pull request #135
Pieter Wuille [Thu, 4 Dec 2014 18:15:20 +0000 (19:15 +0100)]
Merge pull request #135

ee3eb4b Fix a memory leak and add a number of small tests. (Gregory Maxwell)

10 years agoFix a memory leak and add a number of small tests.
Gregory Maxwell [Thu, 4 Dec 2014 09:04:00 +0000 (01:04 -0800)]
Fix a memory leak and add a number of small tests.

This fixes a simple copy and paste induced memory leak for the ecdsa init.

The tests are mostly just improving coverage and aren't interesting.

10 years agoMake {mul,sqr}_inner use the same argument order as {mul,sqr}
Pieter Wuille [Tue, 2 Dec 2014 16:51:55 +0000 (17:51 +0100)]
Make {mul,sqr}_inner use the same argument order as {mul,sqr}

10 years agoConvert YASM code into inline assembly
Pieter Wuille [Tue, 2 Dec 2014 16:47:32 +0000 (17:47 +0100)]
Convert YASM code into inline assembly

10 years agoRewrite field assembly to match the C version
Pieter Wuille [Sun, 30 Nov 2014 17:09:02 +0000 (18:09 +0100)]
Rewrite field assembly to match the C version

10 years agoMerge pull request #134
Pieter Wuille [Thu, 4 Dec 2014 11:19:56 +0000 (12:19 +0100)]
Merge pull request #134

29ae131 Make scalar_add_bit test's overflow detection exact (Pieter Wuille)

10 years agoMerge pull request #127
Pieter Wuille [Wed, 3 Dec 2014 20:21:56 +0000 (21:21 +0100)]
Merge pull request #127

c35ff1e Convert lambda splitter to pure scalar code. (Pieter Wuille)
cc604e9 Avoid division when decomposing scalars (Peter Dettman)
ff8746d Add secp256k1_scalar_mul_shift_var (Pieter Wuille)

10 years agoMerge pull request #132
Pieter Wuille [Wed, 3 Dec 2014 20:20:54 +0000 (21:20 +0100)]
Merge pull request #132

efb7d4b Use constant-time conditional moves instead of byte slicing (Pieter Wuille)

10 years agoMerge pull request #133
Pieter Wuille [Wed, 3 Dec 2014 20:20:03 +0000 (21:20 +0100)]
Merge pull request #133

9048def Avoid undefined shift behaviour (Pieter Wuille)

10 years agoMake scalar_add_bit test's overflow detection exact
Pieter Wuille [Wed, 3 Dec 2014 17:30:17 +0000 (18:30 +0100)]
Make scalar_add_bit test's overflow detection exact

10 years agoAvoid undefined shift behaviour
Pieter Wuille [Wed, 3 Dec 2014 17:10:52 +0000 (18:10 +0100)]
Avoid undefined shift behaviour

10 years agoUse constant-time conditional moves instead of byte slicing
Pieter Wuille [Tue, 2 Dec 2014 19:20:13 +0000 (20:20 +0100)]
Use constant-time conditional moves instead of byte slicing

10 years agoMerge pull request #131
Pieter Wuille [Tue, 2 Dec 2014 17:36:36 +0000 (18:36 +0100)]
Merge pull request #131

82f9254 Fix typo (Pieter Wuille)

10 years agoFix typo
Pieter Wuille [Tue, 2 Dec 2014 17:35:33 +0000 (18:35 +0100)]
Fix typo

10 years agoMerge pull request #129
Pieter Wuille [Tue, 2 Dec 2014 16:52:22 +0000 (17:52 +0100)]
Merge pull request #129

35399e0 Bugfix: b is restricted, not r (Pieter Wuille)

10 years agoBugfix: b is restricted, not r
Pieter Wuille [Tue, 2 Dec 2014 16:43:42 +0000 (17:43 +0100)]
Bugfix: b is restricted, not r

10 years agoConvert lambda splitter to pure scalar code.
Pieter Wuille [Mon, 1 Dec 2014 17:22:04 +0000 (18:22 +0100)]
Convert lambda splitter to pure scalar code.

This enables the use of the endomorphism optimization without bignum.

10 years agoAvoid division when decomposing scalars
Peter Dettman [Sat, 15 Nov 2014 16:04:02 +0000 (23:04 +0700)]
Avoid division when decomposing scalars

- In secp256k1_gej_split_exp, there are two divisions used. Since the denominator is a constant known at compile-time, each can be replaced by a multiplication followed by a right-shift (and rounding).
- Add the constants g1, g2 for this purpose and rewrite secp256k1_scalar_split_lambda_var accordingly.
- Remove secp256k1_num_div since no longer used

Rebased-by: Pieter Wuille
10 years agoAdd secp256k1_scalar_mul_shift_var
Pieter Wuille [Mon, 1 Dec 2014 16:11:59 +0000 (17:11 +0100)]
Add secp256k1_scalar_mul_shift_var

10 years agoMerge pull request #119
Pieter Wuille [Tue, 2 Dec 2014 15:40:09 +0000 (16:40 +0100)]
Merge pull request #119

597128d Make num optional (Pieter Wuille)
659b554 Make constant initializers independent from num (Pieter Wuille)

10 years agoMerge pull request #124
Pieter Wuille [Tue, 2 Dec 2014 15:39:07 +0000 (16:39 +0100)]
Merge pull request #124

4d4eeea Make secp256k1_fe_mul_inner use the r != property (Pieter Wuille)
be82e92 Require that r and b are different for field multiplication. (Pieter Wuille)

10 years agoMerge pull request #126
Pieter Wuille [Mon, 1 Dec 2014 21:40:05 +0000 (22:40 +0100)]
Merge pull request #126

24b3c65 Add a test case for ECDSA recomputing infinity (Pieter Wuille)
32600e5 Add a test for r >= order signature handling (Pieter Wuille)

10 years agoAdd a test case for ECDSA recomputing infinity
Pieter Wuille [Mon, 1 Dec 2014 13:45:05 +0000 (14:45 +0100)]
Add a test case for ECDSA recomputing infinity

10 years agoAdd a test for r >= order signature handling
Pieter Wuille [Mon, 1 Dec 2014 13:23:07 +0000 (14:23 +0100)]
Add a test for r >= order signature handling

Suggested by Greg Maxwell.

10 years agoMake secp256k1_fe_mul_inner use the r != property
Pieter Wuille [Sun, 30 Nov 2014 18:38:07 +0000 (19:38 +0100)]
Make secp256k1_fe_mul_inner use the r != property

Suggested by Peter Dettman.

10 years agoRequire that r and b are different for field multiplication.
Pieter Wuille [Sun, 30 Nov 2014 18:27:24 +0000 (19:27 +0100)]
Require that r and b are different for field multiplication.

Suggested by Peter Dettman, this prepares for slightly faster muitiplication
which writes results immediately to r before finishing reading b.

10 years agoMake num optional
Pieter Wuille [Fri, 28 Nov 2014 00:23:55 +0000 (01:23 +0100)]
Make num optional

10 years agoMake constant initializers independent from num
Pieter Wuille [Thu, 27 Nov 2014 18:12:13 +0000 (19:12 +0100)]
Make constant initializers independent from num

10 years agoMerge pull request #120
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)

10 years agoMerge pull request #117
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)

10 years agoRemove unused num functions
Pieter Wuille [Wed, 26 Nov 2014 23:27:08 +0000 (00:27 +0100)]
Remove unused num functions

10 years agoMove lambda-splitting code to scalar.
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.

10 years agoSwitch all EC/ECDSA logic from num to scalar
Pieter Wuille [Wed, 26 Nov 2014 16:26:39 +0000 (17:26 +0100)]
Switch all EC/ECDSA logic from num to scalar

10 years agoAdd scalar splitting functions
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.

10 years agoAdd secp256k1_scalar_inverse_var which delegates to GMP
Pieter Wuille [Wed, 26 Nov 2014 15:04:24 +0000 (16:04 +0100)]
Add secp256k1_scalar_inverse_var which delegates to GMP

10 years agoMake test_point_times_order test meaningful again
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.

10 years agoSwitch wnaf splitting from num-based to scalar-based
Pieter Wuille [Wed, 26 Nov 2014 13:47:23 +0000 (14:47 +0100)]
Switch wnaf splitting from num-based to scalar-based

10 years agoGeneralize secp256k1_scalar_get_bits
Pieter Wuille [Tue, 25 Nov 2014 14:55:21 +0000 (15:55 +0100)]
Generalize secp256k1_scalar_get_bits

10 years agoAdd secp256k1_scalar_add_bit
Pieter Wuille [Tue, 25 Nov 2014 14:20:44 +0000 (15:20 +0100)]
Add secp256k1_scalar_add_bit

10 years agoMerge pull request #122
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)

10 years agoDo signature recovery/verification with 4 possible recid case
Pieter Wuille [Fri, 28 Nov 2014 22:43:00 +0000 (23:43 +0100)]
Do signature recovery/verification with 4 possible recid case

10 years agoExplain why no y=0 check is necessary for doubling
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.

10 years agoOptimize doubling: secp256k1 has no y=0 point
Pieter Wuille [Fri, 28 Nov 2014 14:29:37 +0000 (15:29 +0100)]
Optimize doubling: secp256k1 has no y=0 point

10 years agoMerge pull request #121
Pieter Wuille [Fri, 28 Nov 2014 20:21:52 +0000 (21:21 +0100)]
Merge pull request #121

2a54f9b Correct typo in comment (Pieter Wuille)

10 years agoCorrect typo in comment
Pieter Wuille [Fri, 28 Nov 2014 15:39:23 +0000 (16:39 +0100)]
Correct typo in comment

10 years agoTweak precomputed table size for G
Pieter Wuille [Wed, 26 Nov 2014 22:45:34 +0000 (23:45 +0100)]
Tweak precomputed table size for G

10 years agoMerge pull request #114
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)

10 years agoFix secp256k1_num_set_bin handling of 0
Pieter Wuille [Mon, 24 Nov 2014 20:29:25 +0000 (21:29 +0100)]
Fix secp256k1_num_set_bin handling of 0

10 years agoAdd bounds checking to field element setters
Pieter Wuille [Mon, 24 Nov 2014 11:38:05 +0000 (12:38 +0100)]
Add bounds checking to field element setters

10 years agoMerge pull request #116
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)

10 years agoDon't split the g factor when not using endomorphism
Pieter Wuille [Tue, 25 Nov 2014 13:29:02 +0000 (14:29 +0100)]
Don't split the g factor when not using endomorphism

10 years agoMerge pull request #115
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)

10 years agobuild: osx: attempt to work with homebrew keg-only packages
Cory Fields [Mon, 24 Nov 2014 16:13:16 +0000 (11:13 -0500)]
build: osx: attempt to work with homebrew keg-only packages

10 years agoMerge pull request #110
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)

10 years agoAdd test that recovering infinity fails
Pieter Wuille [Tue, 18 Nov 2014 12:13:17 +0000 (13:13 +0100)]
Add test that recovering infinity fails

10 years agoTest whether recovered public keys are not infinity
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.

10 years agoMake secp256k1_eckey_pubkey_serialize fail for infinity
Pieter Wuille [Tue, 18 Nov 2014 11:32:53 +0000 (12:32 +0100)]
Make secp256k1_eckey_pubkey_serialize fail for infinity

10 years agoMerge pull request #107
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)

This page took 0.064895 seconds and 4 git commands to generate.