Pavol Rusnak
3015045df6
apps.common.coins: update to return CoinType, not dict (also modify generator)
2016-11-09 14:46:59 +01:00
Pavol Rusnak
d1bfc76d91
tools: fix signtest.py
2016-11-09 12:39:25 +01:00
Jan Pochyla
25ab4dd2ea
signtx: clean up test
2016-11-09 12:36:44 +01:00
Jan Pochyla
d7bc138262
signtx: remove forgotten import
2016-11-09 12:36:44 +01:00
Pavol Rusnak
b0fa0466dc
trezor.crypto.curve: implement verify_recover function for ecdsa
2016-11-08 23:52:04 +01:00
Pavol Rusnak
c8eb2bf17b
trezor.crypto: prepend recid to ecdsa signatures
2016-11-08 23:10:31 +01:00
Pavol Rusnak
a31dba225e
test: add test for trezor.config.wipe
2016-11-08 21:34:52 +01:00
Pavol Rusnak
2dc9d6ac4e
sign: inline write_tx_header, write_tx_middle and write_tx_footer functions
...
they are semantically incorrect and obfuscating what's really being done
2016-11-08 21:06:21 +01:00
Pavol Rusnak
32e699efdb
trezor.crypto.der: convert -> encode
...
small cleanup to new unit test
2016-11-08 20:25:55 +01:00
Pavol Rusnak
b3bc71c481
tests: extract micropython binary to variable in run_tests.sh
2016-11-08 19:05:20 +01:00
Jan Pochyla
d2c71b3a58
signtx: add first test, make it all work
2016-11-08 18:50:13 +01:00
Jan Pochyla
b20e62ffa8
update submodule trezor-crypto
2016-11-08 18:50:13 +01:00
Pavol Rusnak
4cd2d1eb13
readme: small changes
2016-11-08 18:35:01 +01:00
Pavol Rusnak
2d0675341b
trezor.crypto: use 64-byte ecdsa signatures (for now)
2016-11-08 18:33:03 +01:00
Pavol Rusnak
9fb6e328a0
trezor.crypto: add der module
2016-11-08 16:59:08 +01:00
Pavol Rusnak
810d478f4c
check return values of ecdsa_sign calls
2016-11-08 15:48:44 +01:00
Pavol Rusnak
8d1109986c
trezor.crypto: curve.nist256p1 and curve.secp256k1 now sign/verify 256-bit digests, not arbitrary length messages
2016-11-08 15:38:45 +01:00
Pavol Rusnak
046ced3f81
rework txapi class to use local cache, add txcache fixtures
2016-11-08 15:07:58 +01:00
Jan Pochyla
1bb20c2521
signtx: serialize tx meta
2016-11-07 17:00:11 +01:00
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