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

443 Commits

Author SHA1 Message Date
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
Pavol Rusnak
76142522e9
mention Ed25519 in the readme 2016-04-26 02:15:43 +02:00
Pavol Rusnak
5c4e131ada
add speed benchmark (secp256k1 vs ed25519) 2016-04-26 02:15:07 +02:00
Pavol Rusnak
91c64858d0 Merge pull request #57 from jhoenicke/master
Added Unit test, fixed one corner case.
2016-04-26 01:03:46 +02:00
Pavol Rusnak
0054893b60
add test speed for nist256p1 curve as well 2016-04-26 00:17:45 +02:00
Jochen Hoenicke
7b07dff25c
Added Unit test, fixed one corner case. 2016-04-25 22:55:30 +02:00