Jochen Hoenicke
133c068f37
Reworked rfc6979 signing. ( #72 )
...
This adds an is_canonic parameter to all sign functions. This is a
callback that determines if a signature corresponds to some coin
specific rules. It is used, e. g., by ethereum (where the recovery
byte must be 0 or 1, and not 2 or 3) and or steem signatures (which
require both r and s to be between 2^248 and 2^255).
This also separates the initialization and the step function of the
random number generator, making it easy to restart the signature
process with the next random number.
2016-10-06 16:54:07 +02:00
Jochen Hoenicke
490fbed289
Adapted python unit test to new API
2016-04-25 17:44:37 +02:00
Roman Zeyde
12c3b1ccf6
bignum: add specific tests for bn_mod() edge cases
2015-08-31 21:18:16 +03:00
Jochen Hoenicke
50428bb37b
Added more tests for specific points.
...
Some points designed to test for underflow of x^3-ax.
2015-08-19 21:26:05 +02:00
Jochen Hoenicke
11d14a3946
Fixed unit test for addmod added test for add.
...
- bn_addmod: now only guarantees result < 2*prime.
- bn_add: new test
- bn_mult_half: fixed normalization of prime -> 0.
2015-08-07 11:15:10 +02:00
Jochen Hoenicke
53fa580b81
Added more unit tests
...
- Added Romanz's validate_pubkey test.
- Added special test to check that jacobin_point_add can double.
2015-08-05 22:29:34 +02:00
Jochen Hoenicke
a1408fc5a0
Fix unit test for point_jacobian_add
2015-08-05 22:26:50 +02:00
Roman Zeyde
a9b98a3671
test_curves: generalize UT for bignum cleanup
2015-08-05 21:51:39 +02:00
Pavol Rusnak
418e86c293
remove scons dependency, build shared library with Makefile
2015-08-05 16:16:24 +02:00
Pavol Rusnak
cbbc0bdc71
fix curves unit test by using canonize version of sigencode
2015-08-04 00:41:50 +02:00
Roman Zeyde
793234a0ec
bignum: use constant time comparisons
2015-08-03 10:57:09 +03:00
Roman Zeyde
e569b019c4
test_curves: fix test case name typo
2015-07-24 10:44:56 +03:00
Pavol Rusnak
9c3e51074b
use -O3 instead of -Os
2015-07-07 18:31:04 +02:00
Roman Zeyde
7c58fc11a4
Add support for NIST256P1 elliptic curve
...
This enables SSH ECDSA public key authentication.
2015-06-26 10:33:14 +03:00