1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-30 03:18:20 +00:00
Commit Graph

434 Commits

Author SHA1 Message Date
Jochen Hoenicke
295a493846
Test vectors for ed25519 + BIP-0032 / SLIP-0010 2016-04-23 23:44:01 +02:00
Jochen Hoenicke
55edf71e27
ed25519 support 2016-04-22 18:21:58 +02:00
Jochen Hoenicke
698f40f385
BIP-32 without gaps, prepare non-ecdsa curves
* Split ecdsa_curve into curve_info and ecdsa_curve to support bip32 on
  curves that don't have a ecdsa_curve.
* Don't fail in key derivation but retry with a new hash.
* Adapted test case accordingly
2016-04-22 17:43:15 +02:00
Pavol Rusnak
de30ffbf9a Merge pull request #53 from jhoenicke/multicurve
Multicurve
2016-04-20 20:40:59 +02:00
Jochen Hoenicke
16ff4387ae New test case for a bip32 hole in nist256 2016-04-20 20:35:22 +02:00
Jochen Hoenicke
f8ac99ebb7 Check for error from get_curve_by_name. 2016-04-20 19:54:18 +02:00
Pavol Rusnak
bf34b4269c Merge pull request #52 from jhoenicke/multicurve
Multicurve
2016-04-20 16:52:47 +02:00
Jochen Hoenicke
d577410fc4 Unit tests for the NIST256P1 curve 2016-04-20 15:13:40 +02:00
Jochen Hoenicke
533c3beb63 Fixed uncompress_coords for NIST curve
The bn_sqrti was broken.  It didn't handle primes where all bits are set
in the lowest limb.
2016-04-20 15:09:11 +02:00
Jochen Hoenicke
b34be66a9c Updated tests 2016-04-20 10:43:53 +02:00
Jochen Hoenicke
0bc1b70c4a Use different seed modifier for different curves 2016-04-20 10:38:11 +02:00
Jochen Hoenicke
c983afd72f Added curve type to HDNode
Every curve gets it's own hierarchy and the curve is remembered in
HD node.  Fixed the private/public key derivations to use the right
modulus.
2016-04-19 18:21:56 +02:00
Pavol Rusnak
f4dd151eb9
change ripemd160 function names to match sha2 functions 2016-04-14 17:28:46 +02:00
Pavol Rusnak
86d6a0b782
adopt ripemd160 from mbedtls 2016-04-14 10:58:26 +02:00
Pavol Rusnak
bb52cb4ac9
adjust format of LICENSE 2016-01-31 12:16:31 +01:00
Karel Bilek
b1a73ed984 Adding cmake to travis
Not 100% if it will work, let's see
2016-01-26 22:32:41 +01:00
Karel Bílek
2802d97d47 Merge pull request #51 from trezor/runn1ng-patch-1
Adding nist256p1 to CMakeLists
2016-01-26 20:08:07 +01:00
Karel Bilek
2b5859ca47 Adding nist256p1 to CMakeLists 2016-01-26 20:07:45 +01:00
Pavol Rusnak
fbc0df736a
call progress callback at the beginning of pbkdf2 calculation 2016-01-19 15:34:31 +01:00
Pavol Rusnak
9a8e982153
implement bip39 cache 2016-01-19 15:11:57 +01:00
Pavol Rusnak
3556c74740
fix build on _WIN32 2015-12-14 22:50:28 +01:00
Pavol Rusnak
6726547a88 Merge pull request #50 from 251io/trezor-crypto-bugfix
Fixes a bug in the test_pbkdf2_hmac_sha256 test.
2015-09-22 00:10:28 +02:00
251
1d7fb4e38f Fixes a bug in the test_pbkdf2_hmac_sha256 test.
This bug fix sets the length of the derived key in the last test_pbkdf2_hmac_sha256 test to 40 bytes to fix a buffer overflow, which is caused by the call to the pbkdf2_hmac_sha256 function, on the memory reserved by the local variable k.
2015-09-21 23:51:10 +02:00
Pavol Rusnak
57cee67855 Merge pull request #49 from romanz/master
bignum: constant time implementation for bn_mod()
2015-08-31 20:27:29 +02:00
Roman Zeyde
12c3b1ccf6 bignum: add specific tests for bn_mod() edge cases 2015-08-31 21:18:16 +03:00
Roman Zeyde
437f8b3856 bignum: constant time implementation for bn_mod() 2015-08-31 20:55:02 +03:00
Pavol Rusnak
e67018178b Merge pull request #48 from jhoenicke/bignumcleanup
Added more tests for specific points.
2015-08-19 21:52:33 +02:00
Jochen Hoenicke
472b90d8ed Added myself to copyright lines. 2015-08-19 21:45:21 +02: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
Pavol Rusnak
74eed547a3 Merge pull request #46 from jhoenicke/bignumcleanup
Fixed more unit tests.  Simplified jacobian_add
2015-08-08 01:56:27 +02:00
Jochen Hoenicke
774ac9cb22 Simplified test for doubling in point_jacobian_add 2015-08-07 11:26:00 +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
Pavol Rusnak
c0a03d1429 Merge pull request #45 from jhoenicke/bignumcleanup
Extended comments, new function bn_add, a bug fix.
2015-08-06 19:50:36 +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
Pavol Rusnak
57166295c4 Merge pull request #44 from jhoenicke/bignumcleanup
My bignum cleanup branch
2015-08-06 00:31:29 +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
Jochen Hoenicke
e1347fcdf8 New Unit Tests
- Added unit tests for the NIST curve.
- Fix some missing bn_mod in unit tests.
- New tests for tricky 2 (2j+1) 2^{4i} exponents.
2015-08-05 21:42:40 +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
60e36dac3b Fixed conditional_negate for larger numbers
Without the bn_mod the numbers get larger (but still < 2*prime), so
conditional_negate should handle this.
2015-08-05 19:36:30 +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
Pavol Rusnak
2e09a9ff35 add b to ecdsa_curve structure 2015-08-05 18:06:10 +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
Pavol Rusnak
d659fd49a5 return back normalization of signatures 2015-08-03 21:47:06 +02:00
Pavol Rusnak
9255595c97 Merge pull request #42 from romanz/master
bignum: use constant time comparisons
2015-08-03 21:46:53 +02:00
Roman Zeyde
793234a0ec bignum: use constant time comparisons 2015-08-03 10:57:09 +03:00
Pavol Rusnak
bfa812441d Merge pull request #41 from romanz/travis
Improve Travis CI usage
2015-07-31 11:04:49 +02:00
Roman Zeyde
558b3fd65b travis: add pytest (for test_curves.py) 2015-07-31 11:40:13 +03:00