1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-18 05:28:40 +00:00
Commit Graph

442 Commits

Author SHA1 Message Date
Pavol Rusnak
ca4057aca0
tests: cleanup fromhex function 2016-10-20 12:04:05 +02:00
Pavol Rusnak
e6574f8eea
extract ck_assert_mem macros to separate file check_mem.h 2016-10-19 20:42:50 +02:00
Pavol Rusnak
ed755120af
fix broken test_speed 2016-10-16 02:26:16 +02:00
Fabian Schuh
54cc18c493 Steem integration 2016-10-16 01:41:20 +02:00
Pavol Rusnak
707c869fb9 Merge pull request #74 from romanz/curve25519
Add support for Curve25519-based ECDH
2016-10-16 01:28:45 +02:00
Roman Zeyde
0167d06378 Fix Travis build 2016-10-15 15:38:23 +03:00
Roman Zeyde
43f86e660d Add Python tests for Curve25519 ECDH 2016-10-15 15:38:23 +03:00
Roman Zeyde
906c543ebc Implement ECDH with Curve25519 at BIP32 module 2016-10-14 23:36:19 +03:00
Jan Pochyla
f45bcc65f2 bip32: deserialize the fingerprint 2016-10-14 14:44:05 +02:00
Roman Zeyde
0ad8a7c627 Add Curve25519 implementation
Using https://github.com/agl/curve25519-donna repository source.
2016-10-13 22:21:58 +03:00
Karel Bilek
0a158f6c7d Add compiled output 2016-10-12 18:04:03 +02:00
Pavol Rusnak
cb25b763b7
add emcripten outputs to gitignore 2016-10-12 17:36:46 +02:00
Pavol Rusnak
b05776be77
add address related funnctions 2016-10-10 11:22:15 +02:00
Pavol Rusnak
ad73c0d4e7
fix ecdsa_address_decode 2016-10-09 23:42:21 +02:00
Pavol Rusnak
4fb15a13d8
add hdnode_get_address 2016-10-08 18:18:32 +02:00
Pavol Rusnak
8764e26368
ecdsa_address_decode now needs version 2016-10-08 18:13:23 +02:00
Pavol Rusnak
430a5087c8
introduce MAX_ADDR_RAW_SIZE and MAX_WIF_RAW_SIZE macros 2016-10-08 18:01:44 +02:00
Pavol Rusnak
d10ec230c0
add support for multibyte address versions 2016-10-08 17:56:12 +02:00
Jochen Hoenicke
157caf3763 ecdsa: fix out-of-bounds read in point_multiply (#71)
Fixes #70.
2016-10-06 16:54:25 +02:00
Jochen Hoenicke
133c068f37 Reworked rfc6979 signing. (#72)
This adds an is_canonic parameter to all sign functions.  This is a
callback that determines if a signature corresponds to some coin
specific rules.  It is used, e. g., by ethereum (where the recovery
byte must be 0 or 1, and not 2 or 3) and or steem signatures (which
require both r and s to be between 2^248 and 2^255).

This also separates the initialization and the step function of the
random number generator, making it easy to restart the signature
process with the next random number.
2016-10-06 16:54:07 +02:00
Jan Pochyla
00413c0b6e bip32: serialization returns nu. of written bytes 2016-10-06 12:36:23 +02:00
Saleem Rashid
db1b638cdf gui: update for newer HDNode API (#68) 2016-09-11 00:35:02 +02:00
Pavol Rusnak
62b8f845f2 Merge pull request #67 from jhoenicke/master
sha2: fix unaligned access.
2016-08-29 22:03:32 +02:00
Jochen Hoenicke
19a1f501c4
Simplified sha256_Final/sha512_Last
- Fix the bug where we zero too many bytes in sha512_Last
  (SHORT_BLOCK_LENGTH != BLOCK_LENGTH -2).
- Get rid of an if branch.
- Don't reverse the last two words in 512_Last that are written later.
- make 256_Final and 512_Last look the same.
2016-08-29 21:55:57 +02:00
Jochen Hoenicke
b3e6eecfce
sha2: Fix unaligned access 2016-08-29 21:55:11 +02:00
Pavol Rusnak
10a2a0014b Merge pull request #66 from axic/bignum
Bignum: add bn_one
2016-08-28 14:28:27 +02:00
Alex Beregszaszi
7e7e462be7 bignum: introduce bn_one 2016-08-27 13:15:20 +01:00
Alex Beregszaszi
e1dfa81ec5 tests: add bn_is_less 2016-08-27 13:07:10 +01:00
Pavol Rusnak
2bd84028c5 Merge pull request #65 from axic/bignum
Bignum: add tests and support little endian mode
2016-08-26 15:44:04 +02: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
4eb2bd239c tests: add bn_zero/bn_is_zero 2016-08-26 12:12:54 +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
Alex Beregszaszi
ec316b6afc tests: add bn_is_equal 2016-08-25 23:07:28 +01:00
Alex Beregszaszi
8eebfb1986 tests: add bn_write_be 2016-08-25 22:51:34 +01:00
Alex Beregszaszi
d890f4d859 tests: include bn_read_be 2016-08-25 22:48:06 +01:00
Pavol Rusnak
7ce6b8b147 Merge pull request #63 from jhoenicke/master
Moved get_ethereum_address from ecdsa to bip32
2016-08-22 11:09:02 +02:00
Pavol Rusnak
3661b04936 Merge pull request #64 from spudowiar/ignore-dependency-generation
Add generated dependency files to .gitignore
2016-08-22 11:07:37 +02:00
Saleem Rashid
a17bac1ab3 gitignore: ignore *.d files
Makefile in trezor/trezor-mcu uses dependency generation now, without
ignoring these files, git marks the submodules as dirty.
2016-08-21 20:25:35 +01:00
Jochen Hoenicke
f4ed55377d Moved get_ethereum_address from ecdsa to bip32
The new name of the function is `hdnode_get_ethereum_address`
and it gets a hdnode as input as opposed to a public key.  This
also avoids first computing the compressed public key and then
uncompressing it.

Test cases were adapted to work with new function.  The test-vectors
are the same as for bip32 and independently checked with an adhoc
python implementation.
2016-08-18 16:21:33 +02:00
Pavol Rusnak
245e2cc23d
update bip39bruteforce tool 2016-08-15 15:21:26 +02:00
Pavol Rusnak
4d6d9fe8ba Merge pull request #62 from jhoenicke/pbkdf2_fast
Faster PBKDF2
2016-07-19 16:43:49 +02:00
Jochen Hoenicke
d8e17d5d4d
Test cases for sha256 and sha512 2016-07-13 22:17:58 +02:00
Jochen Hoenicke
9101c050aa
Smoother progress bar for wakeup
Call interrupt twice as often; makes progress bar smoother.
2016-07-13 22:17:49 +02:00
Jochen Hoenicke
32bda8d1d9
Faster PBKDF2 by reusing intermediate results.
The old implementation needed 6 sha transformations per iterations:

- 2 for computing sha512 of seed,
- 2 for computing digests of ipads/opads,
- 2 for computing digests of intermediate hashes.

The first 4 transformations are the same in every iteration so we cache
them.  A new function hmac_sha512_prepare computes these digests.
We made sha512_Transform visible in pbkdf2 and prevent unneccessary
big/little endian conversions back and forth.
2016-07-13 22:17:23 +02:00