1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-01-10 15:30:55 +00:00
Commit Graph

13136 Commits

Author SHA1 Message Date
Pavol Rusnak
0012883984
trezor.ui.display: fix orientation/backlight calls when NOUI=1 is used 2016-11-06 18:14:23 +01:00
Pavol Rusnak
161bb90e03
tests: add tests for trezor.msg and trezor.ui.display 2016-11-06 17:39:30 +01:00
Pavol Rusnak
33b5436dcc
tests: move to /tests to avoid freezing 2016-11-06 17:04:25 +01:00
Pavol Rusnak
c95ed063db
trezor.crypto.hashlib: remove HashIO (lives as HashWriter somewhere else) 2016-11-06 16:19:25 +01:00
Jan Pochyla
f9827666f8 modtrezorcrypto: fix last commit 2016-11-06 16:06:29 +01:00
Jan Pochyla
20bb7e9b5c sha1: fix context zeroing 2016-11-06 16:02:10 +01:00
Pavol Rusnak
8092be211c
trezor.messages: regenerate messages 2016-11-06 15:51:52 +01:00
Pavol Rusnak
c49c4ea29e
apps.common.coins: make coins definitions more readable + adapt generator 2016-11-06 15:50:39 +01:00
Pavol Rusnak
ca45689808
trezor.crypto: update trezor-crypto submodule 2016-11-06 15:20:46 +01:00
Jochen Hoenicke
949220ac0b
Protect signing against side-channel attack (#81)
Signing uses the bn_inverse function that is prone to side-channel
attacks.  We randomize its argument by multiplying it with a random
non-zero number.  At the end we multiply again by the same number to
cancel it out.

Changed get_k_random to take the prime range as a second argument and
to return a non-zero number.  This function was previously only used
for (non-rfc6979) signing and is now used for side-channel protection.
2016-11-06 15:20:07 +01:00
Pavol Rusnak
e68267e04b
undef ALIGN macro in curve25519 2016-11-06 15:16:09 +01:00
Jan Pochyla
44a3b7f9f1 signtx: fixes, refactoring 2016-11-06 14:23:40 +01:00
Jan Pochyla
adc3dde19e modtrezorcrypto: add HDNode.clone() 2016-11-06 14:23:40 +01:00
Pavol Rusnak
6891c3c463
trezor.config: add wipe method
tests: add tests for config, debug, utils
2016-11-06 12:39:04 +01:00
Pavol Rusnak
998fb9fce6
tests: added check_coverage script
trezor.crypto: update docu
2016-11-06 11:53:22 +01:00
Pavol Rusnak
955bd44684
rename unit tests to match module names 2016-11-06 10:53:28 +01:00
Pavol Rusnak
8b0d7be52a
trezor.crypto: add keccak option to Sha3_*.digest() 2016-11-06 01:49:55 +01:00
Jochen Hoenicke
2950588271
Fix segwit multisig.
Tested, see f41cbedd8becee05a830f418d13aa665125464547db5c7a6cd28f21639fe1228
and c9348040bbc2024e12dcb4a0b4806b0398646b91acf314da028c3f03dd0179fc
on testnet
2016-11-05 22:47:21 +01:00
Jochen Hoenicke
895da908e0
Simplified InputScriptType
Distinguish between single signature and multisig via has_multisig.
2016-11-05 22:47:21 +01:00
Jochen Hoenicke
388750f2d1
Support for P2SH compatible segwit 2016-11-05 22:47:21 +01:00
Jochen Hoenicke
b7b9891cb4
Signing for Segnet Transaction works
see segnet4 txid:
aa434a6ef4fcf350e319bacbd725fa7446f797cb3ed0cd0582826a49d3351ffa
2016-11-05 22:47:21 +01:00
Jochen Hoenicke
e5000fb196
segwit sign (completely untested) 2016-11-05 22:47:18 +01:00
Jochen Hoenicke
5c60be9854
hashes for segwit signature 2016-11-05 22:37:01 +01:00
Jochen Hoenicke
1bd4b99f95
Allow SegWit addresses
New output scripts for segwit addresses in accordance to BIP-142 and BIP-141.
This allows Trezor to pay to segwit users, but it doesn't enable segwit for
Trezor itself.
2016-11-05 22:35:32 +01:00
Pavol Rusnak
bb61fb75d8
segwit address sizes 2016-11-05 22:27:10 +01:00
Pavol Rusnak
2257117278
update protobuf 2016-11-05 21:58:32 +01:00
Jochen Hoenicke
08511d3f81
tools/signtest: Added P2SH segwit inputs 2016-11-05 21:56:48 +01:00
Jochen Hoenicke
6b17bf179b
monkey-patch build_pb.sh to support python3 2016-11-05 21:56:42 +01:00
Jochen Hoenicke
e855c60529 Use bn_add instead of bn_addmod (#80)
The bip32 private key derivation used bn_addmod to handle
wrap around.  This was never sufficient as bn_addmod uses only
bn_fast_mod, so an additional bn_mod is necessary.  The bn_fast_mod
helped when bn_mod was not side-channel safe.  Now that bn_mod uses
constant time code, we can get rid of the unnecessary bn_fast_mod
step and use bn_add instead of bn_addmod.
2016-11-05 21:21:48 +01:00
Pavol Rusnak
192fc5f1ef
trezor.crypto: add sha1, regenerate mocks 2016-11-05 15:26:28 +01:00
Saleem Rashid
19efbeef8d sha2: add sha1_Raw 2016-11-05 15:14:37 +01:00
Saleem Rashid
d812c7209f sha2: import SHA1 implementation 2016-11-05 15:14:37 +01:00
Saleem Rashid
0acfb2cf28 tests: add SHA1 test 2016-11-05 15:14:37 +01:00
Saleem Rashid
1b79c93bbc sha2: NIST FIPS 180-2 naming conventions 2016-11-05 15:14:37 +01:00
Jan Pochyla
3b742aa5dc signtx: WIP 2016-11-03 18:56:21 +01:00
Jan Pochyla
6a98aff8bb WIP: signing pseudocode 2016-11-02 01:03:16 +01:00
Jan Pochyla
783fddf749 messages: do not use const() 2016-11-02 01:03:16 +01:00
Pavol Rusnak
392538d7d2
vendor: update micropython 2016-11-01 22:47:26 +01:00
Pavol Rusnak
34ba0ccd72
trezor.crypto: add key option for blake2s, add unit tests for blake2s 2016-11-01 18:22:29 +01:00
Pavol Rusnak
e9c328919c
trezor.crypto: add blake2s hash, update submodules 2016-11-01 17:31:24 +01:00
Pavol Rusnak
a91e005633
extract block size and digest size as macros in ripemd160 2016-11-01 16:32:44 +01:00
Pavol Rusnak
f4e4c29356
add blake2s, add unittests for blake2s and sha3 2016-11-01 16:22:20 +01:00
Pavol Rusnak
56eb351816
trezor.crypto: add hashlib.HashIO 2016-11-01 15:23:37 +01:00
Pavol Rusnak
897d57803a
add choices to words argument for recovery_device 2016-11-01 13:20:37 +01:00
Karel Bilek
85adb1ea78 Adding dust limits 2016-10-31 18:43:06 +01:00
Pavol Rusnak
459f4a5e7a
add setbit, clearbit, testbit and xor to bignum 2016-10-31 17:26:24 +01:00
Karel Bílek
92bcbc74d7 Genesis block hashes for zcash + zcash testnet rc4 2016-10-31 17:08:47 +01:00
Pavol Rusnak
71890e4edf
implement u2f_counter in LoadDevice, Recoverydevice and ResetDevice messages 2016-10-31 16:20:15 +01:00
Pavol Rusnak
0b4b667ff1
add u2f_counter field to LoadDevice, ResetDevice, RecoveryDevice 2016-10-31 16:09:56 +01:00
Pavol Rusnak
54a045e9de
apps.common: add pseudocode for signing 2016-10-31 15:04:13 +01:00