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
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