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