1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-27 09:58:27 +00:00
Commit Graph

301 Commits

Author SHA1 Message Date
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
Pavol Rusnak
0983c6c456 Merge pull request #34 from JohnDvorak/patch-1
Change return value of ecdsa_sign_digest
2015-06-18 15:58:12 +02:00
John Dvorak
85cebfe968 Change return value of ecdsa_sign_digest
Error codes were not being propagated, always returned as 0.
2015-06-18 09:55:12 -04:00
Pavol Rusnak
c58d4e03c5 add proof of concept bip39 bruteforce benchmark 2015-05-11 14:24:45 +02:00
Pavol Rusnak
00954da5fe fix /dev/urandom problem 2015-05-04 19:53:06 +02:00
Pavol Rusnak
ffedf8a4d0 suppress warning when debug is disabled 2015-05-04 19:40:15 +02:00
Pavol Rusnak
21d0bb437a cleanup coding style 2015-04-13 18:19:33 +02:00
Pavol Rusnak
6ec585fcee Merge pull request #29 from netanelkl/master
Code Security change
2015-04-13 17:56:32 +02:00
Pavol Rusnak
f1b8f55d92 use curly braces in if block 2015-04-11 20:01:45 +02:00
Pavol Rusnak
99f01a9391 Merge pull request #30 from jhoenicke/master
Added more tests for new multiplications
2015-04-11 19:59:31 +02:00
Jochen Hoenicke
c90f79bce2 Added new tests for point multiplication 2015-04-11 13:12:03 +02:00
Jochen Hoenicke
e432d772c7 Program to precompute the table for scalar_mult
This program pre-computes the table and prints then in the form
that can be included in secp256k1.c
2015-04-11 13:12:03 +02:00
netanelkl
3fd32df8ed More of the same. 2015-04-09 15:05:28 -04:00