]> Git Repo - secp256k1.git/log
secp256k1.git
9 years agoMerge pull request #274
Pieter Wuille [Thu, 16 Jul 2015 02:33:29 +0000 (22:33 -0400)]
Merge pull request #274

a83bb48 Make ecmult static precomputation default (Pieter Wuille)

9 years agoMake ecmult static precomputation default
Pieter Wuille [Tue, 14 Jul 2015 16:05:57 +0000 (12:05 -0400)]
Make ecmult static precomputation default

9 years agoMerge pull request #276
Pieter Wuille [Thu, 16 Jul 2015 01:39:29 +0000 (21:39 -0400)]
Merge pull request #276

c37812f Add gen_context src/ecmult_static_context.h to CLEANFILES to fix distclean. (Gregory Maxwell)

9 years agoAdd gen_context src/ecmult_static_context.h to CLEANFILES to fix distclean.
Gregory Maxwell [Thu, 16 Jul 2015 00:05:32 +0000 (00:05 +0000)]
Add gen_context src/ecmult_static_context.h to CLEANFILES to fix distclean.

9 years agoMerge pull request #275
Pieter Wuille [Wed, 15 Jul 2015 22:49:03 +0000 (18:49 -0400)]
Merge pull request #275

76f6769 Fix build with static ecmult altroot and make dist. (Gregory Maxwell)

9 years agoFix build with static ecmult altroot and make dist.
Gregory Maxwell [Wed, 15 Jul 2015 21:56:36 +0000 (21:56 +0000)]
Fix build with static ecmult altroot and make dist.

Gen_context was unable to find the required headers without some
 autotools fixups.  Make dist was also broken without the extra
 sources for the host side table builder utility.

9 years agoMerge pull request #254
Pieter Wuille [Tue, 14 Jul 2015 15:20:10 +0000 (11:20 -0400)]
Merge pull request #254

733c1e6 Add travis build to test the static context. (Thomas Daede)
fbecc38 Add ability to use a statically generated ecmult context. (Thomas Daede)

9 years agoMerge pull request #258
Pieter Wuille [Tue, 14 Jul 2015 01:00:58 +0000 (21:00 -0400)]
Merge pull request #258

e2a07c7 Fix compilation with C++ (Vinnie Falco)

9 years agoAdd travis build to test the static context.
Thomas Daede [Tue, 26 May 2015 18:05:11 +0000 (11:05 -0700)]
Add travis build to test the static context.

9 years agoAdd ability to use a statically generated ecmult context.
Thomas Daede [Wed, 20 May 2015 00:32:35 +0000 (17:32 -0700)]
Add ability to use a statically generated ecmult context.

This vastly shrinks the size of the context required for signing on devices with
memory-mapped Flash.

Tables are generated by the new gen_context tool into a header.

9 years agoMerge pull request #263
Pieter Wuille [Tue, 14 Jul 2015 00:53:04 +0000 (20:53 -0400)]
Merge pull request #263

99fd963 Add secp256k1_ec_pubkey_compress(), with test similar to the related decompress() function. (Thomas Kerin)

9 years agoMerge pull request #270
Pieter Wuille [Tue, 14 Jul 2015 00:26:24 +0000 (20:26 -0400)]
Merge pull request #270

36b305a Verify the result of GMP modular inverse using non-GMP code (Pieter Wuille)

9 years agoMerge pull request #271
Pieter Wuille [Mon, 13 Jul 2015 23:26:35 +0000 (19:26 -0400)]
Merge pull request #271

55399c2 Further performance improvements to _ecmult_wnaf (Peter Dettman)
145cc6e Improve performance of _ecmult_wnaf (Peter Dettman)

9 years agoMerge pull request #273
Pieter Wuille [Mon, 13 Jul 2015 23:18:28 +0000 (19:18 -0400)]
Merge pull request #273

eb2c8ff Add missing casts to SECP256K1_FE_CONST_INNER (Andrew Poelstra)

9 years agoAdd missing casts to SECP256K1_FE_CONST_INNER
Andrew Poelstra [Mon, 13 Jul 2015 13:19:35 +0000 (08:19 -0500)]
Add missing casts to SECP256K1_FE_CONST_INNER

9 years agoFurther performance improvements to _ecmult_wnaf
Peter Dettman [Sun, 12 Jul 2015 07:50:59 +0000 (17:50 +1000)]
Further performance improvements to _ecmult_wnaf

- Initialize 'wnaf' to zeroes using memset
- Add new 'len' arg to speed up smaller scalars (mostly for endo=yes)

9 years agoAdd secp256k1_ec_pubkey_compress(), with test similar to the related decompress(...
Thomas Kerin [Mon, 13 Jul 2015 12:09:00 +0000 (13:09 +0100)]
Add secp256k1_ec_pubkey_compress(), with test similar to the related decompress() function.

9 years agoImprove performance of _ecmult_wnaf
Peter Dettman [Sat, 11 Jul 2015 03:49:04 +0000 (13:49 +1000)]
Improve performance of _ecmult_wnaf

- Track carry explicitly instead of adding to scalar
- Branch-free code for carry calculations

9 years agoVerify the result of GMP modular inverse using non-GMP code
Pieter Wuille [Thu, 9 Jul 2015 15:21:37 +0000 (11:21 -0400)]
Verify the result of GMP modular inverse using non-GMP code

9 years agoMerge pull request #266
Pieter Wuille [Wed, 8 Jul 2015 20:59:19 +0000 (16:59 -0400)]
Merge pull request #266

3f3964e Add specific VERIFY tests for _fe_cmov (Peter Dettman)
a0601cd Fix VERIFY calculations in _fe_cmov methods (Peter Dettman)

9 years agoMerge pull request #267
Pieter Wuille [Wed, 8 Jul 2015 20:39:05 +0000 (16:39 -0400)]
Merge pull request #267

5a43124 Save 1 _fe_negate since s1 == -s2 (Peter Dettman)
a5d796e Update code comments (Peter Dettman)
7d054cd Refactor to save a _fe_negate (Peter Dettman)
b28d02a Refactor to remove a local var (Peter Dettman)
55e7fc3 Perf. improvement in _gej_add_ge (Peter Dettman)

9 years agoSave 1 _fe_negate since s1 == -s2
Peter Dettman [Tue, 7 Jul 2015 12:30:00 +0000 (22:30 +1000)]
Save 1 _fe_negate since s1 == -s2

9 years agoUpdate code comments
Peter Dettman [Mon, 6 Jul 2015 23:46:15 +0000 (09:16 +0930)]
Update code comments

9 years agoAdd specific VERIFY tests for _fe_cmov
Peter Dettman [Mon, 6 Jul 2015 03:11:30 +0000 (12:41 +0930)]
Add specific VERIFY tests for _fe_cmov

9 years agoRefactor to save a _fe_negate
Peter Dettman [Sat, 4 Jul 2015 07:08:46 +0000 (16:38 +0930)]
Refactor to save a _fe_negate

9 years agoRefactor to remove a local var
Peter Dettman [Sat, 4 Jul 2015 07:00:56 +0000 (16:30 +0930)]
Refactor to remove a local var

9 years agoPerf. improvement in _gej_add_ge
Peter Dettman [Sat, 4 Jul 2015 05:02:39 +0000 (14:32 +0930)]
Perf. improvement in _gej_add_ge

- Avoid one weak normalization
- Change one full normalization to weak
- Avoid unnecessary fe assignment
- Update magnitude annotations

9 years agoFix VERIFY calculations in _fe_cmov methods
Peter Dettman [Sat, 4 Jul 2015 04:20:15 +0000 (13:50 +0930)]
Fix VERIFY calculations in _fe_cmov methods

9 years agoMerge pull request #261
Pieter Wuille [Mon, 29 Jun 2015 16:28:15 +0000 (18:28 +0200)]
Merge pull request #261

7657420 Add tests for adding P+Q with P.x!=Q.x and P.y=-Q.y (Pieter Wuille)
8c5d5f7 tests: Add failing unit test for #257 (bad addition formula) (Andrew Poelstra)
5de4c5d gej_add_ge: fix degenerate case when computing P + (-lambda)P (Andrew Poelstra)
bcf2fcf gej_add_ge: rearrange algebra (Andrew Poelstra)

9 years agoAdd tests for adding P+Q with P.x!=Q.x and P.y=-Q.y
Pieter Wuille [Tue, 23 Jun 2015 10:33:49 +0000 (12:33 +0200)]
Add tests for adding P+Q with P.x!=Q.x and P.y=-Q.y

9 years agotests: Add failing unit test for #257 (bad addition formula)
Andrew Poelstra [Sun, 21 Jun 2015 17:11:50 +0000 (10:11 -0700)]
tests: Add failing unit test for #257 (bad addition formula)

9 years agogej_add_ge: fix degenerate case when computing P + (-lambda)P
Andrew Poelstra [Tue, 23 Jun 2015 19:41:02 +0000 (12:41 -0700)]
gej_add_ge: fix degenerate case when computing P + (-lambda)P

If two points (x1, y1) and (x2, y2) are given to gej_add_ge with
x1 != x2 but y1 = -y2, the function gives a wrong answer since
this causes it to compute "lambda = 0/0" during an intermediate
step. (Here lambda refers to an auxiallary variable in the point
addition formula, not the cube-root of 1 used by the endomorphism
optimization.)

This commit catches the 0/0 and replaces it with an alternate
expression for lambda, cmov'ing it in place if necessary.

9 years agogej_add_ge: rearrange algebra
Andrew Poelstra [Tue, 23 Jun 2015 19:35:20 +0000 (12:35 -0700)]
gej_add_ge: rearrange algebra

There is zero functionality or opcount changes here; I need to do
this to make sure both R and M are computed before they are used,
since a future patch will replace either none or both of them.

Also compute r->y directly in terms of r->x, which again will be
used in a future patch.

9 years agoFix compilation with C++
Vinnie Falco [Thu, 18 Jun 2015 13:35:09 +0000 (06:35 -0700)]
Fix compilation with C++

9 years agoMerge pull request #250
Pieter Wuille [Sat, 13 Jun 2015 12:50:30 +0000 (14:50 +0200)]
Merge pull request #250

210ffed Use separate in and out pointers in `secp256k1_ec_pubkey_decompress` (Andrew Poelstra)

9 years agoMerge pull request #247
Pieter Wuille [Sat, 13 Jun 2015 12:49:00 +0000 (14:49 +0200)]
Merge pull request #247

a1d5ae1 Tiny optimization (Pieter Wuille)

9 years agoUse separate in and out pointers in `secp256k1_ec_pubkey_decompress`
Andrew Poelstra [Mon, 11 May 2015 14:55:45 +0000 (09:55 -0500)]
Use separate in and out pointers in `secp256k1_ec_pubkey_decompress`

Right now `secp256k1_ec_pubkey_decompress` takes an in/out pointer to
a public key and replaces the input key with its decompressed variant.
This forces users who store compressed keys in small (<65 byte) fixed
size buffers (for example, the Rust bindings do this) to explicitly
and wastefully copy their key to a larger buffer.

[API BREAK]

9 years agoTiny optimization
Pieter Wuille [Tue, 5 May 2015 18:39:24 +0000 (20:39 +0200)]
Tiny optimization

9 years agoMerge pull request #210
Pieter Wuille [Thu, 30 Apr 2015 19:52:24 +0000 (21:52 +0200)]
Merge pull request #210

2d5a186 Apply effective-affine trick to precomp (Peter Dettman)
4f9791a Effective affine addition in EC multiplication (Peter Dettman)

9 years agoApply effective-affine trick to precomp
Peter Dettman [Mon, 9 Feb 2015 09:34:24 +0000 (16:34 +0700)]
Apply effective-affine trick to precomp

9 years agoEffective affine addition in EC multiplication
Peter Dettman [Tue, 4 Nov 2014 12:16:55 +0000 (19:16 +0700)]
Effective affine addition in EC multiplication

* Make secp256k1_gej_add_var and secp256k1_gej_double return the
  Z ratio to go from a.z to r.z.
* Use these Z ratios to speed up batch point conversion to affine
  coordinates, and to speed up batch conversion of points to a
  common Z coordinate.
* Add a point addition function that takes a point with a known
  Z inverse.
* Due to secp256k1's endomorphism, all additions in the EC
  multiplication code can work on affine coordinate (with an
  implicit common Z coordinate), correcting the Z coordinate of
  the result afterwards.

Refactoring by Pieter Wuille:
* Move more global-z logic into the group code.
* Separate code for computing the odd multiples from the code to bring it
  to either storage or globalz format.
* Rename functions.
* Make all addition operations return Z ratios, and test them.
* Make the zr table format compatible with future batch chaining
  (the first entry in zr becomes the ratio between the input and the
  first output).

Original idea and code by Peter Dettman.

9 years agoMerge pull request #245
Pieter Wuille [Wed, 22 Apr 2015 19:54:10 +0000 (12:54 -0700)]
Merge pull request #245

c146b4a Add bench_internal to gitignore. (Gregory Maxwell)
9c4fb23 Add a secp256k1_fe_cmov unit test. (Gregory Maxwell)

9 years agoMerge pull request #190
Pieter Wuille [Wed, 22 Apr 2015 19:32:58 +0000 (12:32 -0700)]
Merge pull request #190

d227579 Add scalar blinding and a secp256k1_context_randomize() call. (Gregory Maxwell)

9 years agoAdd scalar blinding and a secp256k1_context_randomize() call.
Gregory Maxwell [Wed, 15 Apr 2015 21:35:50 +0000 (21:35 +0000)]
Add scalar blinding and a secp256k1_context_randomize() call.

This computes (n-b)G + bG with random value b, in place of nG in
 ecmult_gen() for signing.

This is intended to reduce exposure to potential power/EMI sidechannels
 during signing and pubkey generation by blinding the secret value with
 another value which is hopefully unknown to the attacker.

It may not be very helpful if the attacker is able to observe the setup
 or if even the scalar addition has an unacceptable leak, but it has low
 overhead in any case and the security should be purely additive on top
 of the existing defenses against sidechannels.

9 years agoAdd bench_internal to gitignore.
Gregory Maxwell [Wed, 22 Apr 2015 19:11:19 +0000 (19:11 +0000)]
Add bench_internal to gitignore.

9 years agoAdd a secp256k1_fe_cmov unit test.
Gregory Maxwell [Wed, 22 Apr 2015 19:07:31 +0000 (19:07 +0000)]
Add a secp256k1_fe_cmov unit test.

(Also add my name to the top of tests.c: I wrote a bunch of that
 and update the copyright dates)

9 years agoMerge pull request #243
Pieter Wuille [Wed, 22 Apr 2015 09:46:20 +0000 (02:46 -0700)]
Merge pull request #243

bb0ea50 Replace set/add with cmov in secp256k1_gej_add_ge. (Gregory Maxwell)

9 years agoMerge pull request #244
Pieter Wuille [Wed, 22 Apr 2015 09:28:05 +0000 (02:28 -0700)]
Merge pull request #244

2d2707a travis: test i686 builds with gmp (Cory Fields)
cf7f702 travis: update to new build infrastructure (Cory Fields)

9 years agotravis: test i686 builds with gmp
Cory Fields [Wed, 22 Apr 2015 04:42:19 +0000 (00:42 -0400)]
travis: test i686 builds with gmp

Test with and without endomorphism.

9 years agotravis: update to new build infrastructure
Cory Fields [Wed, 22 Apr 2015 00:21:00 +0000 (20:21 -0400)]
travis: update to new build infrastructure

See here:
http://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/

These changes remove our use of sudo so that we can move to the container-based
builds. This yields quicker builds and less reliance on the old infrastructure.

9 years agoReplace set/add with cmov in secp256k1_gej_add_ge.
Gregory Maxwell [Wed, 22 Apr 2015 00:20:54 +0000 (00:20 +0000)]
Replace set/add with cmov in secp256k1_gej_add_ge.

Use a conditional move of the same kind we use for the affine points
 in the storage  type instead of multiplying  with the infinity flag
 and adding.  This results in fewer constructions to worry about for
 sidechannel behavior.

It also might be faster: It doesn't appear to benchmark as slower for
 me at least; but I think  the CMOV is faster than the mul_int + add,
 but slower than the set+add;  making it a wash.

9 years agoMerge pull request #241
Pieter Wuille [Sun, 19 Apr 2015 18:32:09 +0000 (11:32 -0700)]
Merge pull request #241

5c2a4fa Fix memory leak in context unit test (Andrew Poelstra)

9 years agoFix memory leak in context unit test
Andrew Poelstra [Thu, 16 Apr 2015 20:56:04 +0000 (15:56 -0500)]
Fix memory leak in context unit test

Before fix, `valgrind ./tests 1` outputs
  ==21959==     in use at exit: 2,228,288 bytes in 8 blocks

after:
  ==23974==     in use at exit: 0 bytes in 0 blocks

9 years agoMerge pull request #239
Pieter Wuille [Tue, 14 Apr 2015 08:02:50 +0000 (01:02 -0700)]
Merge pull request #239

93226a5 secp256k1.c: Add missing DEBUG_CHECKs for sufficiently capable contexts (Andrew Poelstra)

9 years agosecp256k1.c: Add missing DEBUG_CHECKs for sufficiently capable contexts
Andrew Poelstra [Tue, 14 Apr 2015 02:51:38 +0000 (21:51 -0500)]
secp256k1.c: Add missing DEBUG_CHECKs for sufficiently capable contexts

9 years agoMerge pull request #237
Pieter Wuille [Sun, 12 Apr 2015 15:39:45 +0000 (08:39 -0700)]
Merge pull request #237

6066bb6 Fix typo: avg -> max (Pieter Wuille)

9 years agoFix typo: avg -> max
Pieter Wuille [Sun, 12 Apr 2015 13:17:24 +0000 (06:17 -0700)]
Fix typo: avg -> max

9 years agoMerge pull request #236
Pieter Wuille [Sun, 12 Apr 2015 09:05:23 +0000 (02:05 -0700)]
Merge pull request #236

d899b5b Expose ability to deep-copy a context (Andrew Poelstra)

9 years agoExpose ability to deep-copy a context
Andrew Poelstra [Sat, 11 Apr 2015 19:06:54 +0000 (14:06 -0500)]
Expose ability to deep-copy a context

9 years agoMerge pull request #208
Pieter Wuille [Sat, 11 Apr 2015 08:01:32 +0000 (01:01 -0700)]
Merge pull request #208

a9b6595 [API BREAK] Introduce explicit contexts (Pieter Wuille)

9 years ago[API BREAK] Introduce explicit contexts
Pieter Wuille [Wed, 4 Feb 2015 01:27:00 +0000 (17:27 -0800)]
[API BREAK] Introduce explicit contexts

9 years agoMerge pull request #233
Pieter Wuille [Fri, 10 Apr 2015 08:20:23 +0000 (01:20 -0700)]
Merge pull request #233

6534ee1 initialize variable (Cory Fields)

9 years agoMerge pull request #234
Pieter Wuille [Fri, 10 Apr 2015 08:08:52 +0000 (01:08 -0700)]
Merge pull request #234

4450e24 Add a comment about the avoidance of secret data in array indexes. (Gregory Maxwell)

9 years agoMerge pull request #235
Pieter Wuille [Fri, 10 Apr 2015 08:06:51 +0000 (01:06 -0700)]
Merge pull request #235

5098f62 Improve documentation formatting consistency (Daniel Cousens)

9 years agoImprove documentation formatting consistency
Daniel Cousens [Fri, 10 Apr 2015 06:33:33 +0000 (16:33 +1000)]
Improve documentation formatting consistency

9 years agoAdd a comment about the avoidance of secret data in array indexes.
Gregory Maxwell [Mon, 6 Apr 2015 03:48:08 +0000 (03:48 +0000)]
Add a comment about the avoidance of secret data in array indexes.

People elsewhere still seem to be writing crypto code making this
 mistake, so it must not be that well known.

9 years agoinitialize variable
Cory Fields [Fri, 3 Apr 2015 21:16:09 +0000 (17:16 -0400)]
initialize variable

9 years agoMerge pull request #232
Pieter Wuille [Sun, 29 Mar 2015 21:31:45 +0000 (14:31 -0700)]
Merge pull request #232

c01df1a Avoid some implicit type conversions to make C++ compilers happy. (Gregory Maxwell)

9 years agoAvoid some implicit type conversions to make C++ compilers happy.
Gregory Maxwell [Sat, 28 Mar 2015 02:20:36 +0000 (02:20 +0000)]
Avoid some implicit type conversions to make C++ compilers happy.

9 years agoMerge pull request #231
Pieter Wuille [Sat, 28 Mar 2015 00:46:29 +0000 (17:46 -0700)]
Merge pull request #231

33270bf Add a couple comments pointing to particular sections of RFC6979. (Gregory Maxwell)

9 years agoAdd a couple comments pointing to particular sections of RFC6979.
Gregory Maxwell [Sat, 28 Mar 2015 00:43:15 +0000 (00:43 +0000)]
Add a couple comments pointing to particular sections of RFC6979.

9 years agoMerge pull request #230
Pieter Wuille [Fri, 27 Mar 2015 23:58:04 +0000 (16:58 -0700)]
Merge pull request #230

2632019 Brace all the if/for/while. (Gregory Maxwell)

9 years agoBrace all the if/for/while.
Gregory Maxwell [Fri, 27 Mar 2015 23:14:17 +0000 (23:14 +0000)]
Brace all the if/for/while.

Unbraced statements spanning multiple lines has been shown in many
 projects to contribute to the introduction of bugs and a failure
 to catch them in review, especially for maintenance on infrequently
 modified code.

Most, but not all, of the existing practice in the codebase were not
 cases that I would have expected to eventually result in bugs but
 applying it as a rule makes it easier for other people to safely
 contribute.

I'm not aware of any such evidence for the case with the statement
 on a single line, but some people strongly prefer to never do that
 and the opposite rule of "_always_ use a single line for single
 statement blocks" isn't a reasonable rule for formatting reasons.
 Might as well brace all these too, since that's more universally
 acceptable.

[In any case, I seem to have introduced the vast majority of the
 single-line form (as they're my preference where they fit).]

This also removes a broken test which is no longer needed.

9 years agoMerge pull request #229
Pieter Wuille [Fri, 27 Mar 2015 20:49:45 +0000 (13:49 -0700)]
Merge pull request #229

efc571c Add simple testcases for signing with rfc6979 extra entropy. (Gregory Maxwell)
1573a10 Add ability to pass extra entropy to rfc6979 (Pieter Wuille)

9 years agoAdd simple testcases for signing with rfc6979 extra entropy.
Gregory Maxwell [Fri, 27 Mar 2015 11:55:17 +0000 (11:55 +0000)]
Add simple testcases for signing with rfc6979 extra entropy.

9 years agoAdd ability to pass extra entropy to rfc6979
Pieter Wuille [Fri, 20 Mar 2015 16:19:38 +0000 (09:19 -0700)]
Add ability to pass extra entropy to rfc6979

Suggested by Greg Maxwell.

9 years agoMerge pull request #228
Pieter Wuille [Mon, 16 Mar 2015 10:29:29 +0000 (03:29 -0700)]
Merge pull request #228

27bc131 Silence some warnings from pedantic static analysis tools, improve compatibility with C++. (Gregory Maxwell)

9 years agoMerge pull request #218
Pieter Wuille [Mon, 16 Mar 2015 10:24:12 +0000 (03:24 -0700)]
Merge pull request #218

0065a8f Eliminate multiple-returns from secp256k1.c. (Gregory Maxwell)
354ffa3 Make secp256k1_ec_pubkey_create reject oversized secrets. (Gregory Maxwell)

9 years agoEliminate multiple-returns from secp256k1.c.
Gregory Maxwell [Tue, 17 Feb 2015 09:01:48 +0000 (01:01 -0800)]
Eliminate multiple-returns from secp256k1.c.

Goto, multiple returns, continue, and/or multiple breaks in a
 loop are often used to build complex or non-local control
 flow in software.

(They're all basically the same thing, and anyone axiomatically
 opposing goto and not the rest is probably cargo-culting from
 the title of Dijkstra's essay without thinking hard about it.)

Personally, I think the current use of these constructs in the
 code base is fine: no where are we using them to create control-
 flow that couldn't easily be described in plain English, which
 is hard to read or reason about, or which looks like a trap for
 future developers.

Some, however, prefer a more rules based approach to software
 quality.  In particular, MISRA forbids all of these constructs,
 and for good experience based reasons.  Rules also have the
 benefit of being machine checkable and surviving individual
 developers.

(To be fair-- MISRA also has a process for accommodating code that
 breaks the rules for good reason).

I think that in general we should also try to satisfy the rules-
 based measures of software quality, except where there is an
 objective reason not do: a measurable performance difference,
 logic that turns to spaghetti, etc.

Changing out all the multiple returns in secp256k1.c appears to
 be basically neutral:  Some parts become slightly less clear,
 some parts slightly more.

9 years agoMake secp256k1_ec_pubkey_create reject oversized secrets.
Gregory Maxwell [Tue, 17 Feb 2015 08:10:12 +0000 (00:10 -0800)]
Make secp256k1_ec_pubkey_create reject oversized secrets.

9 years agoSilence some warnings from pedantic static analysis tools, improve compatibility...
Gregory Maxwell [Mon, 26 Jan 2015 05:26:09 +0000 (05:26 +0000)]
Silence some warnings from pedantic static analysis tools, improve compatibility with C++.

C doesn't include the null in an array initilized from a
string literal if it doesn't fit, in C++ this is invalid.

The vararray style prototypes and init+calc also changed in
 this commit are not C89 enough for some tools.

9 years agoMerge pull request #221
Pieter Wuille [Mon, 2 Mar 2015 10:44:45 +0000 (02:44 -0800)]
Merge pull request #221

443cd4b Get rid of hex format and some binary conversions (Pieter Wuille)

9 years agoMerge pull request #215
Pieter Wuille [Tue, 24 Feb 2015 10:38:27 +0000 (02:38 -0800)]
Merge pull request #215

8956111 use 128-bit hex seed (Pieter Wuille)
02efd06 Use RFC6979 for test PRNGs (Pieter Wuille)

9 years agoMerge pull request #222
Pieter Wuille [Tue, 24 Feb 2015 10:37:06 +0000 (02:37 -0800)]
Merge pull request #222

7c3771d Disable overlength-strings warnings. (evoskuil)

9 years agoMerge pull request #216
Pieter Wuille [Tue, 24 Feb 2015 10:22:46 +0000 (02:22 -0800)]
Merge pull request #216

ae55e85 Use faster byteswapping and avoid alignment-increasing casts. (Pieter Wuille)

9 years agoDisable overlength-strings warnings.
evoskuil [Mon, 23 Feb 2015 22:12:25 +0000 (14:12 -0800)]
Disable overlength-strings warnings.

9 years agouse 128-bit hex seed
Pieter Wuille [Sat, 14 Feb 2015 23:30:58 +0000 (15:30 -0800)]
use 128-bit hex seed

9 years agoUse RFC6979 for test PRNGs
Pieter Wuille [Fri, 13 Feb 2015 23:56:08 +0000 (15:56 -0800)]
Use RFC6979 for test PRNGs

9 years agoUse faster byteswapping and avoid alignment-increasing casts.
Pieter Wuille [Sun, 22 Feb 2015 13:54:56 +0000 (05:54 -0800)]
Use faster byteswapping and avoid alignment-increasing casts.

9 years agoGet rid of hex format and some binary conversions
Pieter Wuille [Mon, 23 Feb 2015 12:17:37 +0000 (04:17 -0800)]
Get rid of hex format and some binary conversions

9 years agoMerge #214: Improve signing API documentation & specification
Pieter Wuille [Mon, 16 Feb 2015 19:28:42 +0000 (11:28 -0800)]
Merge #214: Improve signing API documentation & specification

8030d7c Improve signing API documentation & specification (Pieter Wuille)

9 years agoImprove signing API documentation & specification
Pieter Wuille [Fri, 13 Feb 2015 02:00:50 +0000 (18:00 -0800)]
Improve signing API documentation & specification

9 years agoMerge #213: Removed gotos, which are hard to trace and maintain.
Pieter Wuille [Fri, 13 Feb 2015 18:41:03 +0000 (10:41 -0800)]
Merge #213: Removed gotos, which are hard to trace and maintain.

11690d3 Removed gotos, which are hard to trace and maintain. (Iang)

9 years agoRemoved gotos, which are hard to trace and maintain.
Iang [Sat, 8 Nov 2014 18:19:10 +0000 (18:19 +0000)]
Removed gotos, which are hard to trace and maintain.

9 years agoMerge pull request #205
Pieter Wuille [Fri, 13 Feb 2015 01:05:18 +0000 (17:05 -0800)]
Merge pull request #205

6cc8425 Include a comment on secp256k1_ecdsa_sign explaining low-s. (Gregory Maxwell)

9 years agoMerge pull request #206
Pieter Wuille [Fri, 13 Feb 2015 00:26:40 +0000 (16:26 -0800)]
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)

9 years agoMerge pull request #161
Pieter Wuille [Sat, 7 Feb 2015 02:21:30 +0000 (18:21 -0800)]
Merge pull request #161

ffccfd2 x86_64 assembly optimization for scalar_4x64 (Pieter Wuille)

9 years agoAdditional comments for the testing PRNG and a seeding fix.
Gregory Maxwell [Mon, 2 Feb 2015 06:46:04 +0000 (06:46 +0000)]
Additional comments for the testing PRNG and a seeding fix.

Rw has additional short-cycle inputs because 2^32/0x464fffff >= 2.

9 years agoSome comments explaining some of the constants in the code.
Gregory Maxwell [Mon, 2 Feb 2015 01:47:23 +0000 (01:47 +0000)]
Some comments explaining some of the constants in the code.

9 years agox86_64 assembly optimization for scalar_4x64
Pieter Wuille [Fri, 12 Dec 2014 15:55:02 +0000 (16:55 +0100)]
x86_64 assembly optimization for scalar_4x64

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