Pavol Rusnak
459f4a5e7a
add setbit, clearbit, testbit and xor to bignum
2016-10-31 17:26:24 +01:00
Alex Beregszaszi
7e7e462be7
bignum: introduce bn_one
2016-08-27 13:15:20 +01:00
Alex Beregszaszi
8581614d66
bignum: introduce write uint32/uint64
2016-08-26 12:41:54 +01:00
Alex Beregszaszi
7956c2f2f1
bignum: implement bitcount
2016-08-26 12:31:51 +01:00
Alex Beregszaszi
29e82018cd
bignum: rename bn_load_uint* to bn_read_uint*
2016-08-26 12:14:01 +01:00
Alex Beregszaszi
97454d9cbc
bignum: use the compiler's built in memory copy for bn_copy
2016-08-26 12:12:54 +01:00
Alex Beregszaszi
d061139da9
bignum: introduce load uint32/uint64
2016-08-26 12:12:54 +01:00
Alex Beregszaszi
339d2f44a9
bignum: introduce is_even/is_odd
2016-08-26 12:12:54 +01:00
Alex Beregszaszi
dd25a2ee5a
bignum: introduce copy
2016-08-26 01:08:55 +01:00
Alex Beregszaszi
62a0db8c4e
bignum: introduce read/write_le
2016-08-25 23:18:24 +01:00
Pavol Rusnak
d61a151900
add bn_divmod1000 including unit test
2016-06-28 20:05:01 +02:00
Jochen Hoenicke
f93b003cbc
Extended comments, new function bn_add, a bug fix.
...
Describe normalized, partly reduced and reduced numbers.
Comment which function expects which kind of input.
Removed unused bn_bitlen.
Add bn_add that does not reduce.
Bug fix in ecdsa_validate_pubkey: bn_mod before bn_is_equal.
Bug fix in hdnode_private_ckd: bn_mod after bn_addmod.
2015-08-06 19:09:23 +02:00
Jochen Hoenicke
f2081d88d8
New jacobian_add that handles doubling.
...
Fix bug where jacobian_add is called with two identical points.
2015-08-05 21:23:04 +02:00
Jochen Hoenicke
6ba4d288b0
Cleaned up bignum code
...
1. Fixed bn_multiply_step to handle small primes.
2. Removed many calls to bn_mod to prevent side-channel leakage.
2015-08-05 19:36:30 +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
Jochen Hoenicke
56f5777b68
Refactored code for point doubling.
...
New function `bn_mult_3_2` that multiplies by 3/2.
This function is used in point_double and point_jacobian_double.
Cleaned up point_add and point_double, more comments.
2015-03-22 17:55:01 +01:00
Jochen Hoenicke
d4788bddfd
Added modulus to bn_subtractmod
2015-03-17 19:17:56 +01:00
Pavol Rusnak
e37ba822e6
bn_substract -> bn_subtractmod, bn_substract_noprime -> bn_subtract
...
remove dead code
2015-03-17 14:19:50 +01:00
Pavol Rusnak
03a8925e0f
rename BN_PRINT define to USE_BN_PRINT
2014-07-07 21:24:10 +02:00
Pavol Rusnak
b9d5896174
make pubkey validation optional, extract options to separate header
2014-07-07 20:14:36 +02:00
Pavol Rusnak
612f5ab050
fix copyright headers
2014-05-22 20:54:58 +02:00
Pavol Rusnak
2e4ec7fe0a
introduce ecdsa_address_to_hash160
2014-01-30 20:34:05 +01:00
Pavol Rusnak
8423c7abfd
add check that pub.y != res.y
2014-01-04 17:39:37 +01:00
Pavol Rusnak
52485b9008
define BN_PRINT if not defined
2013-10-08 18:54:21 +02:00
Pavol Rusnak
9205c0d952
use canonical signatures (if S > Order/2: S = Order - S)
2013-10-08 14:06:48 +02:00
Pavol Rusnak
678e5b1af2
use #if instead of #ifdef for conditional macros
2013-10-03 17:32:27 +02:00
Pavol Rusnak
7ed18947ba
simplify divmod58
2013-09-25 12:39:23 +02:00
Pavol Rusnak
74a5b04b81
verify now supports compressed keys
2013-09-24 18:48:46 +02:00
Pavol Rusnak
638cf2310b
cleanup
2013-09-20 21:49:17 +02:00
Pavol Rusnak
92f070498f
add function for computing addresses
2013-09-20 17:13:24 +02:00
Pavol Rusnak
1fda6fe339
add bn_zero, bn_bits, bn_lshift, bn_rshift, bn_normalize to bignum
2013-09-19 02:54:10 +02:00
Pavol Rusnak
afc9bcfe30
implement bip32 - https://en.bitcoin.it/wiki/BIP_0032
2013-09-12 21:20:03 +02:00
Pavol Rusnak
07d1c22730
refactor code -> bignum.c/h
2013-09-12 03:18:35 +02:00