Pieter Wuille
3bb9c44719
Rewrite ECDSA signature parsing code
...
There are now 2 encoding formats supported: 64-byte "compact" and DER.
The latter is strict: the data has to be exact DER, though the values
inside don't need to be valid.
2015-10-21 16:13:37 +02:00
Pieter Wuille
fa57f1bdf1
Use secp256k1_rand_int and secp256k1_rand_bits more
...
Update the unit tests to make use of the new RNG functions.
2015-10-21 16:13:37 +02:00
Pieter Wuille
49b374985d
Add new tests for the extra testrand functions
2015-10-21 16:13:37 +02:00
Pieter Wuille
f684d7d987
Faster secp256k1_rand_int implementation
2015-10-21 16:13:37 +02:00
Pieter Wuille
251b1a62d3
Improve testrand: add extra random functions
...
This commit adds functions:
* secp256k1_rand_bits, which works like secp256k1_rand32, but consumes
less randomness
* secp256k1_rand_int, which produces a uniform integer over any range
* secp256k1_rand_bytes_test, which works like secp256k1_rand256_test
but for arbitrary byte array
2015-10-21 16:13:37 +02:00
Pieter Wuille
31994c8e5b
Merge pull request #338
...
f79aa88
Bugfix: swap arguments to noncefp (Pieter Wuille)
2015-10-21 16:11:44 +02:00
Pieter Wuille
f79aa88373
Bugfix: swap arguments to noncefp
2015-10-21 03:40:37 +02:00
Pieter Wuille
c98df263ed
Merge pull request #319
...
67f7da4
Extensive interface and operations tests for secp256k1_ec_pubkey_parse. (Gregory Maxwell)
ee2cb40
Add ARG_CHECKs to secp256k1_ec_pubkey_parse/secp256k1_ec_pubkey_serialize (Gregory Maxwell)
2015-10-14 14:32:26 +02:00
Gregory Maxwell
67f7da4087
Extensive interface and operations tests for secp256k1_ec_pubkey_parse.
...
This also makes use of optional valgrind instrumentation if -DVALGRIND
is set.
This also moves secp256k1.c above secp256k1.h in tests.c or otherwise
we get non-null macros on the public functions which may defeat some
of the VERIFY checks.
2015-10-13 19:47:55 +00:00
Gregory Maxwell
ee2cb4007d
Add ARG_CHECKs to secp256k1_ec_pubkey_parse/secp256k1_ec_pubkey_serialize
...
This also makes secp256k1_ec_pubkey_parse's init of pubkey more unconditional.
2015-10-13 19:39:58 +00:00
Pieter Wuille
7450ef171d
Merge pull request #328
...
7c823e3
travis: fixup module configs (Cory Fields)
2015-10-11 17:16:34 +02:00
Pieter Wuille
68a3c766ad
Merge pull request #329
...
b13d749
Fix couple of typos in API comments (Gustav Simonsson)
2015-10-11 17:15:32 +02:00
Pieter Wuille
98135ee3d2
Merge pull request #332
...
37100d7
improve ECDH header-doc (Jonas Schnelli)
2015-10-11 16:47:10 +02:00
Jonas Schnelli
37100d7284
improve ECDH header-doc
...
- use pubkey instead of point
- use privkey instead of scalar
2015-10-05 20:50:59 +02:00
Gustav Simonsson
b13d749947
Fix couple of typos in API comments
2015-09-30 17:23:13 +02:00
Cory Fields
7c823e3030
travis: fixup module configs
2015-09-29 20:37:50 -04:00
Pieter Wuille
cc3141a003
Merge pull request #325
...
338fc8b
Add API exports to secp256k1_nonce_function_default and secp256k1_nonce_function_rfc6979. (Gregory Maxwell)
2015-09-30 00:51:46 +02:00
Pieter Wuille
ee58fae4f8
Merge pull request #326
...
213aa67
Do not force benchmarks to be statically linked. (Gregory Maxwell)
2015-09-30 00:49:38 +02:00
Gregory Maxwell
213aa67397
Do not force benchmarks to be statically linked.
...
Libtool will do the right thing and use whatever is available
based on --enable-shared/--enable-static.
This also means that some of the things we build actually
test the dynamic library.
2015-09-29 19:03:51 +00:00
Gregory Maxwell
338fc8bd71
Add API exports to secp256k1_nonce_function_default and secp256k1_nonce_function_rfc6979.
2015-09-29 18:56:21 +00:00
Pieter Wuille
52fd03f1ba
Merge pull request #320
...
9f6993f
Remove some dead code. (Gregory Maxwell)
2015-09-28 21:48:09 +02:00
Gregory Maxwell
9f6993f370
Remove some dead code.
2015-09-28 05:43:51 +00:00
Pieter Wuille
357f8cd8f5
Merge pull request #314
...
118cd82
Use explicit symbol visibility. (Gregory Maxwell)
4e64608
Include public module headers when compiling modules. (Gregory Maxwell)
2015-09-25 21:36:18 +02:00
Gregory Maxwell
118cd8210f
Use explicit symbol visibility.
...
The use of static makes this somewhat redundant currently, though if
we later have multiple compilation units it will be needed.
This also sets the dllexport needed for shared libraries on win32.
2015-09-25 05:42:20 +00:00
Gregory Maxwell
4e64608082
Include public module headers when compiling modules.
...
Also fix the nullness requirements for schnorr nonce-pair generation.
2015-09-24 21:50:06 +00:00
Pieter Wuille
1f414378b8
Merge pull request #316
...
2b199de
Use the explicit NULL macro for pointer comparisons. (Gregory Maxwell)
2015-09-24 19:36:54 +02:00
Pieter Wuille
fe0d463494
Merge pull request #317
...
cfe0ed9
Fix miscellaneous style nits that irritate overactive static analysis. (Gregory Maxwell)
2015-09-24 19:34:39 +02:00
Gregory Maxwell
cfe0ed916a
Fix miscellaneous style nits that irritate overactive static analysis.
...
Also increase consistency with how overflow && zero is tested, and
avoid some mixed declarations and code that GCC wasn't detecting.
2015-09-24 08:42:37 +00:00
Gregory Maxwell
2b199de888
Use the explicit NULL macro for pointer comparisons.
...
This makes it more clear that a null check is intended. Avoiding the
use of a pointer as a test condition alse increases the type-safety
of the comparisons.
(This is also MISRA C 2012 rules 14.4 and 11.9)
2015-09-23 22:00:43 +00:00
Pieter Wuille
9e9051687c
Merge pull request #294
...
dd891e0
Get rid of _t as it is POSIX reserved (Pieter Wuille)
2015-09-22 21:26:34 +02:00
Pieter Wuille
dd891e0ed5
Get rid of _t as it is POSIX reserved
2015-09-21 21:03:37 +02:00
Pieter Wuille
201819b3bc
Merge pull request #313
...
912f203
Eliminate a few unbraced statements that crept into the code. (Gregory Maxwell)
2015-09-21 20:56:31 +02:00
Gregory Maxwell
912f203fc5
Eliminate a few unbraced statements that crept into the code.
...
Also avoids some easily avoided multiple-returns.
2015-09-21 17:21:35 +00:00
Pieter Wuille
eeab823b70
Merge pull request #299
...
486b9bb
Use a flags bitfield for compressed option to secp256k1_ec_pubkey_serialize and secp256k1_ec_privkey_export (Luke Dashjr)
05732c5
Callback data: Accept pointers to either const or non-const data (Luke Dashjr)
1973c73
Bugfix: Reinitialise buffer lengths that have been used as outputs (Luke Dashjr)
788038d
Use size_t for lengths (at least in external API) (Luke Dashjr)
c9d7c2a
secp256k1_context_set_{error,illegal}_callback: Restore default handler by passing NULL as function argument (Luke Dashjr)
9aac008
secp256k1_context_destroy: Allow NULL argument as a no-op (Luke Dashjr)
64b730b
secp256k1_context_create: Use unsigned type for flags bitfield (Luke Dashjr)
2015-09-20 04:59:30 +02:00
Luke Dashjr
486b9bb8ce
Use a flags bitfield for compressed option to secp256k1_ec_pubkey_serialize and secp256k1_ec_privkey_export
2015-09-19 19:33:30 +00:00
Luke Dashjr
05732c5a5f
Callback data: Accept pointers to either const or non-const data
2015-09-19 19:33:28 +00:00
Luke Dashjr
1973c7379e
Bugfix: Reinitialise buffer lengths that have been used as outputs
2015-09-19 19:33:24 +00:00
Luke Dashjr
788038d323
Use size_t for lengths (at least in external API)
2015-09-19 19:33:21 +00:00
Luke Dashjr
c9d7c2a484
secp256k1_context_set_{error,illegal}_callback: Restore default handler by passing NULL as function argument
2015-09-19 19:32:52 +00:00
Luke Dashjr
9aac008038
secp256k1_context_destroy: Allow NULL argument as a no-op
2015-09-19 19:32:48 +00:00
Luke Dashjr
64b730bc3f
secp256k1_context_create: Use unsigned type for flags bitfield
2015-09-19 19:32:21 +00:00
Pieter Wuille
cb04ab5e3c
Merge pull request #309
...
81e45ff
Update group_impl.h (GSongHashrate)
2015-09-19 21:25:51 +02:00
Pieter Wuille
a55166950f
Merge pull request #295
...
c996d53
Print success (Pieter Wuille)
2015-09-19 21:24:31 +02:00
GSongHashrate
81e45ff9d1
Update group_impl.h
2015-09-17 22:38:21 +01:00
Pieter Wuille
85e3a2cc08
Merge pull request #112
...
2b4cf41
Use pkg-config always when possible, with failover to manual checks for libcrypto (Luke Dashjr)
2015-09-04 20:24:42 +02:00
Pieter Wuille
b2eb63b2d7
Merge pull request #293
...
dc0ce9f
[API BREAK] Change argument order to out/outin/in (Pieter Wuille)
2015-09-04 20:22:49 +02:00
Pieter Wuille
dc0ce9fc41
[API BREAK] Change argument order to out/outin/in
2015-09-04 17:45:57 +02:00
Pieter Wuille
6d947cadcc
Merge pull request #298
...
6da1446
build: fix parallel build (Cory Fields)
2015-09-04 17:29:00 +02:00
Pieter Wuille
c822693eff
Merge pull request #301
...
b183b41
bugfix: "ARG_CHECK(ctx != NULL)" makes no sense (Cory Fields)
2015-09-04 16:17:20 +02:00
Pieter Wuille
6d043505b0
Merge pull request #303
...
263dcbc
remove unused assignment (Cory Fields)
2015-09-04 16:15:14 +02:00