1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-04 21:48:17 +00:00
Commit Graph

563 Commits

Author SHA1 Message Date
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
Roman Zeyde
8a3ee52d63 travis: add openssl tests 2015-07-31 11:09:15 +03:00
Roman Zeyde
cfbd09d158 travis: use container-based infrastructure 2015-07-31 10:55:06 +03:00
Pavol Rusnak
79738f4251 Merge pull request #40 from romanz/travis
Add Travis CI for unit test suite
2015-07-29 21:02:38 +02:00
Roman Zeyde
f91e912dd2 README: add travis badge 2015-07-29 21:57:41 +03:00
Roman Zeyde
0164137786 tests: fix signedness error 2015-07-29 21:49:00 +03:00
Roman Zeyde
1163992e5c travis: add simple tests 2015-07-29 20:57:30 +03:00
Pavol Rusnak
f9df01c6e6 add CONTRIBUTORS file
generated using the following:

git log --format='%aN <%aE>' --no-merges | sort | uniq -c | sort -nr
2015-07-29 16:38:45 +02:00
Pavol Rusnak
8108524358 Merge pull request #39 from romanz/master
test_curves: fix test case name typo
2015-07-26 16:47:42 +02:00
Roman Zeyde
e569b019c4 test_curves: fix test case name typo 2015-07-24 10:44:56 +03:00
Pavol Rusnak
5ec72d3a5b Merge pull request #38 from romanz/master
Fix few small issues.
2015-07-07 18:32:13 +02:00
Pavol Rusnak
9c3e51074b use -O3 instead of -Os 2015-07-07 18:31:04 +02:00
Roman Zeyde
749cf8b75f gui: fixup after ECDSA updates 2015-07-07 10:58:08 +03:00
Roman Zeyde
ea16aa0b86 Remove unnecessary #include "secp256k1.h" 2015-07-07 10:39:12 +03:00
Roman Zeyde
587d6a65ea Update documentation regarding ECDSA curves support 2015-07-07 10:38:16 +03:00
Pavol Rusnak
f2ef64228a Merge pull request #37 from jdb6167/master
Fixed issues with Python files
2015-07-06 19:00:29 +02:00
Josh Billings
cb0b5169c5 whitespace 2015-07-06 12:48:11 -04:00
Josh Billings
d2120d6da1 two bugfixes: 1. nist256p1.c was not included in setup.py, causing import errors when using TrezorCrypto.so in Python. 2. if you attempted a hardened derivation in python using the compiled TrezorCrypto module, an IntegerOverflowError would occur because Python ints are always signed. one-line fix by changing int to unsigned int in the pyx file 2015-07-06 12:43:30 -04:00
Pavol Rusnak
71c24673ce Merge branch 'ssh-agent' of git://github.com/romanz/trezor-crypto into romanz-ssh-agent
Conflicts:
	ecdsa.c
2015-06-28 21:22:50 +02:00
Pavol Rusnak
36caf5b33a Merge pull request #35 from romanz/master
ecdsa: generate_k_rfc6979() should cleanup its stack before exit
2015-06-28 21:01:57 +02:00
Roman Zeyde
36847ac0d7 ecdsa: generate_k_rfc6979() should cleanup its stack before exit 2015-06-27 10:08:18 +03: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