1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-25 15:58:08 +00:00
Commit Graph

40 Commits

Author SHA1 Message Date
Saleem Rashid
85cb0b4f2c bignum: Fix bn_digitcount
bn_digitcount used to use bn_bitcount. This would give the maximum
digits, which would often be higher than the actual number. This would
result in leading zeroes in bn_format.
2017-07-27 21:20:43 +02:00
Saleem Rashid
43ea1392f2 bignum: rename bn_maxdigitcount to bn_digitcount
This reverts commit 5dbdf18b6c.
2017-07-27 21:20:43 +02:00
Pavol Rusnak
5dbdf18b6c
bignum: rename bn_digitcount to bn_maxdigitcount (can return value one higher than the real result) 2017-07-27 19:21:56 +02:00
Saleem Rashid
66993f9e92 bignum: Add bn_format_uint64 2017-07-27 17:55:33 +02:00
Saleem Rashid
88527dde7a bignum: Add exponent and trailing to bn_format 2017-07-27 17:55:33 +02:00
Saleem Rashid
558bc429ec bignum: Add bn_digitcount 2017-07-27 17:55:33 +02:00
Pavol Rusnak
af01ef71fc
bignum: add bn_format 2017-05-17 17:49:35 +02:00
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