1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-04 13:38:28 +00:00
Commit Graph

448 Commits

Author SHA1 Message Date
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
Pavol Rusnak
4912ac550c
Revert "add __dummy field to HDNode where fingerprint used to be (in order not to binary compatibility)"
This reverts commit 9a8df5a4bb.
2016-07-04 18:49:25 +02:00
Pavol Rusnak
c80f0fbc52
remove cpython wrapper - it's broken and nobody uses it 2016-07-04 18:27:28 +02:00
Pavol Rusnak
9a8df5a4bb
add __dummy field to HDNode where fingerprint used to be (in order not to binary compatibility) 2016-07-04 17:37:28 +02:00
Pavol Rusnak
dc167592d5
increase timeout in test_codepoints 2016-07-04 17:32:02 +02:00
Pavol Rusnak
b5f89bb478
fpr -> fingerprint 2016-07-04 17:29:48 +02:00
Pavol Rusnak
ab81351de1 Merge pull request #61 from jhoenicke/master
Compute pubkey only on demand.
2016-07-04 17:28:18 +02:00
Pavol Rusnak
d61a151900
add bn_divmod1000 including unit test 2016-06-28 20:05:01 +02:00
Jochen Hoenicke
3390fcf89e Compute pubkey only on demand.
Remove fingerprint from hdnode structure (if you need it, call
hdnode_fingerprint on the parent hdnode).
Only compute public_key, when hdnode_fill_public_key is called.
2016-06-27 10:13:10 +02:00
Pavol Rusnak
16f477787d Merge pull request #59 from axic/feature/ethereum
Support Ethereum pubkeyhash
2016-06-14 13:55:13 +02:00
Alex Beregszaszi
ec7bea4308 Add tests for ecdsa_get_ethereum_pubkeyhash() 2016-06-13 22:18:40 +01:00
Alex Beregszaszi
ca2fcbf3e3 Add tests for ecdsa_uncompress_pubkey() 2016-06-13 21:59:52 +01:00
Alex Beregszaszi
4e7da75c6e Rewrite ecdsa_uncompress_pubkey() using ecdsa_read_pubkey() 2016-05-23 19:10:06 +01:00
Alex Beregszaszi
aecf8671a1 Add sha3 to cmake 2016-05-23 19:10:06 +01:00
Alex Beregszaszi
1b8e3d557f Implement ecdsa_get_ethereum_pubkeyhash() 2016-05-23 19:10:06 +01:00
Alex Beregszaszi
7d68a6ee17 Add ecdsa_uncompress_pubkey()
Code based on @Arachnid's PR, but has more strict checks
2016-05-17 19:38:14 +01:00
Alex Beregszaszi
d68906ec4e Use proper option for USE_KECCAK via options.h 2016-05-17 18:45:08 +01:00
Pavol Rusnak
23590c05c6
rename index to idx in sha3 to avoid collision with index function in strings.h 2016-05-16 16:59:05 +02:00
Pavol Rusnak
f60cd681f6
fix sign-compare warning 2016-05-16 16:42:34 +02:00
Pavol Rusnak
fd519eae68
add node_modules to .gitignore 2016-05-16 15:29:29 +02:00
Pavol Rusnak
31e05edca7
add script parsing functions 2016-05-16 14:45:09 +02:00
Pavol Rusnak
aae96e8285
add mnemonic generation methods with indexes option 2016-05-13 19:46:12 +02:00
Pavol Rusnak
51c0bb09d8
make salt constant in pbkdf2 2016-05-12 20:57:55 +02:00
Pavol Rusnak
75f2396624
fix makefile for emscripten 2016-05-12 19:57:22 +02:00
Pavol Rusnak
110965f31d
further optimize emscripten 2016-05-12 19:29:24 +02:00
Pavol Rusnak
6dd9ed0756
add hdnode_public_ckd_address_optimized 2016-05-12 17:19:42 +02:00
Jan Pochyla
3c335be049
fix typo 2016-05-12 16:18:35 +02:00
Jan Pochyla
07200a30e6
upgrade bitcoinjs-lib, rename params 2016-05-12 16:18:35 +02:00
Jan Pochyla
3c0176a304
move interface fns to post.js, add web worker & browserify test 2016-05-12 16:18:34 +02:00
Jan Pochyla
da0a2f8662
add npm install to emscripten Makefile 2016-05-12 16:18:34 +02:00
Jan Pochyla
3f4e50ba22
add package.json for emscripten test 2016-05-12 16:18:34 +02:00
Jan Pochyla
778d1b2476
emcripten skeleton for address derivation
See [https://kripken.github.io/emscripten-site/index.html] for a guide.
2016-05-12 16:18:34 +02:00
Pavol Rusnak
9e5d03a1fc
fix alignment in sha functions 2016-05-12 16:16:01 +02:00
Pavol Rusnak
454bebc162
update readme 2016-05-11 21:15:48 +02:00
Pavol Rusnak
242a5de275
simplify pbkdf2 (support only klen == hashlen) and split it 2016-05-01 01:18:50 +02:00
Pavol Rusnak
b8ec5567ba
undef align for ed25519-donna 2016-04-29 17:50:20 +02:00
Pavol Rusnak
406022acb4
remove tools/Makefile 2016-04-28 14:36:04 +02:00
Pavol Rusnak
f7e8c9442d Merge pull request #58 from jhoenicke/master
Handle b58 address with shorter lengths
2016-04-27 23:40:45 +02:00
Pavol Rusnak
d9ec4344fc
use std=c99 2016-04-27 23:37:15 +02:00
Jochen Hoenicke
c6e7d376b7 Handle b58 address with shorter lengths 2016-04-27 23:15:53 +02:00
Pavol Rusnak
489f09a843
fix sizeof usage 2016-04-26 19:51:49 +02:00
Pavol Rusnak
08219ea77a
pbkdf2 now uses new hmac api 2016-04-26 17:43:13 +02:00
Pavol Rusnak
445e859450
split hmac into init/update/final 2016-04-26 17:19:00 +02:00
Pavol Rusnak
ed6debf8c4
reorder parameters of hash_final methods 2016-04-26 11:50:04 +02:00
Pavol Rusnak
c01be339f5
add sha3 from rhash 2016-04-26 11:09:29 +02:00