Pieter Wuille
0172be92e5
Merge #397 : Small fixes for sha256
...
3f8b78e
Fix undefs in hash_impl.h (Kirill Fomichev)
2ab4695
Fix state size in sha256 struct (Kirill Fomichev)
2016-05-25 18:23:57 +02:00
Kirill Fomichev
3f8b78e5e9
Fix undefs in hash_impl.h
2016-05-21 10:18:57 +03:00
Kirill Fomichev
2ab46954cb
Fix state size in sha256 struct
2016-05-21 10:17:06 +03:00
Pieter Wuille
6875b013e6
Merge #386 : Add some missing VERIFY_CHECK(ctx != NULL)
...
bcc4881
Add some missing `VERIFY_CHECK(ctx != NULL)` for functions that use `ARG_CHECK` (Andrew Poelstra)
2016-05-08 20:02:45 +02:00
Pieter Wuille
2c52b5d244
Merge #389 : Cast pointers through uintptr_t under JNI
...
47b9e78
Cast pointers through uintptr_t under JNI (Jon Griffiths)
2016-05-08 19:58:26 +02:00
Pieter Wuille
43097a44ef
Merge #390 : Update bitcoin-core GitHub links
...
faa2a11
Update bitcoin-core GitHub links (MarcoFalke)
2016-05-08 19:56:34 +02:00
Pieter Wuille
31c9c12130
Merge #391 : JNI: Only call ecdsa_verify if its inputs parsed correctly
...
a40c701
JNI: Only call ecdsa_verify if its inputs parsed correctly (Jon Griffiths)
2016-05-08 19:55:41 +02:00
Pieter Wuille
1cb2302cad
Merge #392 : Add testcase which hits additional branch in secp256k1_scalar_sqr
...
093a497
Add testcase which hits additional branch in secp256k1_scalar_sqr (Jonas Nick)
2016-05-08 19:52:53 +02:00
Pieter Wuille
d2ee340561
Merge #388 : bench_ecdh: fix call to secp256k1_context_create
...
f36f9c6
bench_ecdh: fix call to secp256k1_context_create (Andrew Poelstra)
2016-05-08 19:50:25 +02:00
Jonas Nick
093a497ac9
Add testcase which hits additional branch in secp256k1_scalar_sqr
2016-05-02 20:19:00 -07:00
Jon Griffiths
a40c701c83
JNI: Only call ecdsa_verify if its inputs parsed correctly
...
Return 0 otherwise instead of calling it with bad parameters.
2016-05-02 23:21:43 +12:00
MarcoFalke
faa2a11ce5
Update bitcoin-core GitHub links
2016-04-29 23:14:45 +02:00
Jon Griffiths
47b9e78e07
Cast pointers through uintptr_t under JNI
...
Fixes warnings of the form "warning: cast to pointer from integer of
different size" when building on 32 bit platforms. This is the same
approach used for pointer conversions in the openjdk sources.
2016-04-28 20:41:00 +12:00
Andrew Poelstra
f36f9c64bb
bench_ecdh: fix call to secp256k1_context_create
2016-04-27 10:16:18 +00:00
Andrew Poelstra
bcc4881d3a
Add some missing VERIFY_CHECK(ctx != NULL)
for functions that use ARG_CHECK
...
The `ARG_CHECK` macro requires that a variable called `ctx` exist and be
non-NULL. However, in several functions that do not use the context variable,
we simply ignore it with `(void)ctx`. Replace these with explicit checks for
non-NULLness to avoid invalid memory accesses.
2016-04-26 15:49:02 +00:00
Pieter Wuille
7b549b1abc
Merge #373 : build: fix x86_64 asm detection for some compilers
...
3f8fdfb
build: fix x86_64 asm detection for some compilers (Cory Fields)
2016-02-16 20:44:41 +01:00
Pieter Wuille
bc7c93c6cd
Merge #374 : Add note about y=0 being possible on one of the sextic twists
...
e72e93a
Add note about y=0 being possible on one of the sextic twists (Andrew Poelstra)
2016-02-16 20:43:16 +01:00
Pieter Wuille
e4570184ff
Merge #364 : JNI rebased
...
86e2d07
JNI library: cleanup, removed unimplemented code (GreenAddress)
3093576 JNI library (GreenAddress)
2016-02-16 20:34:27 +01:00
GreenAddress
86e2d07e4c
JNI library: cleanup, removed unimplemented code
2016-02-01 14:07:29 +01:00
GreenAddress
3093576aa4
JNI library
...
Squashed and rebased. Thanks to @theuni and @faizkhan00 for doing
the majority of work here! Also thanks to @btchip for help with debugging
and review.
2016-02-01 14:07:18 +01:00
Pieter Wuille
bd2895fdd9
Merge pull request #371
...
e5a9047
[Trivial] Remove double semicolons (paveljanik)
2016-01-27 20:59:02 +01:00
Andrew Poelstra
e72e93ad9c
Add note about y=0 being possible on one of the sextic twists
2016-01-10 08:35:59 +00:00
Cory Fields
3f8fdfbec1
build: fix x86_64 asm detection for some compilers
...
I Noticed this on OSX with clang, though it likely happens elsewhere as well.
The result is disabled x86_64 asm.
Due to missing escaping, this $0 was interpreted as the function name
SECP_64BIT_ASM_CHECK, causing the compile-check to be broken on some compilers.
The actual check looked like this:
int main()
{
uint64_t a = 11, tmp;
__asm__ __volatile__("movq SECP_64BIT_ASM_CHECKx100000000,%1; mulq %%rsi" : "+a"(a) : "S"(tmp) : "cc", "%rdx");
return 0;
}
It seems even more odd that it compiled anywhere.
2016-01-04 11:40:00 -05:00
paveljanik
e5a904788e
[Trivial] Remove double semicolons
2015-12-30 08:42:42 +01:00
Pieter Wuille
c18b869e58
Merge pull request #360
...
83221ec
Add experimental features to configure (Pieter Wuille)
2015-12-12 21:42:10 +01:00
Pieter Wuille
3026daa095
Merge pull request #302
...
03d4611
Add sage verification script for the group laws (Pieter Wuille)
2015-12-01 21:02:23 +01:00
Pieter Wuille
03d4611c81
Add sage verification script for the group laws
2015-11-29 16:03:07 +01:00
Pieter Wuille
a965937290
Merge pull request #361
...
5d4c5a3
Prevent damage_array in the signature test from going out of bounds. (Gregory Maxwell)
2015-11-27 00:56:03 +01:00
Pieter Wuille
83221ecb00
Add experimental features to configure
2015-11-27 00:20:28 +01:00
Gregory Maxwell
5d4c5a31b9
Prevent damage_array in the signature test from going out of bounds.
2015-11-26 21:02:27 +00:00
Pieter Wuille
419bf7fd9d
Merge pull request #356
...
03d84a4
Benchmark against OpenSSL verification (Pieter Wuille)
2015-11-24 21:55:33 +01:00
Pieter Wuille
6c527eceee
Merge pull request #357
...
445f7f1
Fix for Windows compile issue (ptschip)
2015-11-17 01:47:32 +01:00
ptschip
445f7f104c
Fix for Windows compile issue
...
Change CPPFLAGS_FOR_BUILD path (by paveljanik)
2015-11-16 16:40:12 -08:00
Pieter Wuille
03d84a427f
Benchmark against OpenSSL verification
2015-11-15 15:47:49 +01:00
Pieter Wuille
2bfb82b10e
Merge pull request #351
...
06aeea5
Turn secp256k1_ec_pubkey_serialize outlen to in/out (Pieter Wuille)
2015-11-05 20:49:42 +01:00
Pieter Wuille
06aeea555e
Turn secp256k1_ec_pubkey_serialize outlen to in/out
2015-11-05 06:01:56 +01:00
Pieter Wuille
970164dace
Merge pull request #348
...
6466625
Improvements for coordinate decompression (Pieter Wuille)
2015-11-05 01:32:55 +01:00
Pieter Wuille
646662517f
Improvements for coordinate decompression
2015-11-05 00:04:39 +01:00
Pieter Wuille
e2100ad5b3
Merge pull request #347
...
8e48787
Change secp256k1_ec_pubkey_combine's count argument to size_t. (Gregory Maxwell)
c69dea0
Clear output in more cases for pubkey_combine, adds tests. (Gregory Maxwell)
269d422
Comment copyediting. (Gregory Maxwell)
2015-11-01 23:02:24 +01:00
Gregory Maxwell
8e48787d97
Change secp256k1_ec_pubkey_combine's count argument to size_t.
2015-10-31 19:04:34 +00:00
Gregory Maxwell
c69dea025a
Clear output in more cases for pubkey_combine, adds tests.
...
Also corrects an outdated comment and adds an additional
secp256k1_ecdsa_signature_parse_compact test.
2015-10-31 09:52:30 +00:00
Gregory Maxwell
269d422703
Comment copyediting.
2015-10-31 08:31:15 +00:00
Pieter Wuille
b4d17da903
Merge pull request #344
...
26abce7
Adds 32 static test vectors for scalar mul, sqr, inv. (Gregory Maxwell)
2015-10-31 02:21:35 +01:00
Pieter Wuille
47092650f9
Merge pull request #345
...
5b71a3f
Better error case handling for pubkey_create & pubkey_serialize, more tests. (Gregory Maxwell)
2015-10-31 00:41:21 +01:00
Gregory Maxwell
26abce75ea
Adds 32 static test vectors for scalar mul, sqr, inv.
...
These were generated by testing more than 10^12 random test vectors
for coverage on instrumented (comparison operator outcomes) 32-bit
and 64-bit code, plus additional edge condition requirements (e.g.
inputs of 0, 1, -1) and then solving a minimum set cover problem.
The required responses were generated with Sage.
This significantly improves the lcov branch coverage report and
makes the tests much more sensitive to mutation testing of the
scalar code.
The challenges and responses are in the form of pairs of scalars:
C1 * C2 == R1
(C1 * C2) * (1 / C2) == C1
C2 * (1 / C2) == 1
C1 * C1 == R2
C1^2 == R2
2015-10-30 21:17:19 +00:00
Gregory Maxwell
5b71a3f460
Better error case handling for pubkey_create & pubkey_serialize, more tests.
...
Makes secp256k1_ec_pubkey_serialize set the length to zero on failure,
also makes secp256k1_ec_pubkey_create set the pubkey to zeros when
the key argument is NULL.
Also adds many additional ARGCHECK tests.
2015-10-30 09:16:40 +00:00
Pieter Wuille
3b7bc695ef
Merge pull request #343
...
eed87af
Change contrib/laxder from headers-only to files compilable as standalone C (Andrew Poelstra)
2015-10-30 03:35:30 +01:00
Andrew Poelstra
eed87af10a
Change contrib/laxder from headers-only to files compilable as standalone C
...
Verified that both programs compile with
gcc -I. -I../include -lsecp256k1 -c -W -Wextra -Wall -Werror -ansi -pedantic lax_der_privatekey_parsing.c
gcc -I. -I../include -lsecp256k1 -c -W -Wextra -Wall -Werror -ansi -pedantic lax_der_parsing.c
2015-10-29 18:55:49 -05:00
Pieter Wuille
d7eb1ae96d
Merge pull request #342
...
7914a6e
Make lax_der_privatekey_parsing.h not depend on internal code (Pieter Wuille)
2015-10-26 19:47:40 +01:00
Pieter Wuille
7914a6ebae
Make lax_der_privatekey_parsing.h not depend on internal code
2015-10-26 02:53:06 +01:00