Jochen Hoenicke
c4e1c5953e
Fix shift overflow
...
Avoid undefined behavior by casting uint8_t to uint32_t before shifting
by 24 bits.
2018-03-27 15:00:25 +02:00
Pavol Rusnak
4a2d68acb9
use explicit_bzero where possible; update trezor-crypto
2018-01-16 19:49:47 +01:00
Pavol Rusnak
c4e3596803
update trezor-crypto, adapt firmware to to changes
2018-01-13 15:20:10 +01:00
Saleem Rashid
6e25e0b363
coins: Use curve_info instead of HasherType
2017-12-10 20:53:44 +01:00
Saleem Rashid
268e7de109
Update trezor-crypto
2017-12-10 20:53:44 +01:00
Saleem Rashid
0e60ba54b7
crypto: Use Hasher for message signing
2017-12-10 20:53:44 +01:00
Saleem Rashid
54b0869535
signing: Use Hasher instead of SHA256_CTX
2017-12-09 16:28:40 +01:00
Jochen Hoenicke
bbf6b1b097
Implemented VerifyMessage for bech32
2017-11-05 19:28:07 +01:00
Jochen Hoenicke
b5fa8a266a
New CoinInfo separated from protobuf structures
...
Having CoinType using the protobuf structures has several disadvantages.
- We always need to change trezor-common if we need a new field (like
bech32 prefix)
- Every time Trezor initializes it sends all this information out and
nobody cares.
- The protobuf structures add storage overhead due to their fixed size.
I also removed most of the `has_` fields except for forkid:
- `has_segwit` was merged with segwit
- `has_coin_shortcut` can be replaced by test for NULL if necessary.
The fields were reordered for better padding.
2017-11-05 19:23:34 +01:00
Pavol Rusnak
18d8cb3c56
add project website (trezor.io) to license header
2017-11-05 17:47:23 +01:00
Jochen Hoenicke
3440ead4c9
Fix multisig for BCC
2017-07-30 22:58:26 +02:00
Pavol Rusnak
b5f9a5738f
segwit support for SignMessage, VerifyMessage
2017-07-25 19:32:20 +02:00
Pavol Rusnak
3d7d0f0734
use C99 for loop where possible
2017-07-23 22:20:51 +02:00
Roman Zeyde
0bb7f16b78
crypto: allow Ed25519 signing larger digests ( #124 )
2016-10-24 12:41:10 +02:00
Roman Zeyde
b57c0ff430
Use trezor-crypto ECDH, adding Curve25519 support
2016-10-16 01:34:02 +02:00
Pavol Rusnak
7ddccdb7f4
Revert "simplify cryptoMessageVerify call"
...
This reverts commit 3a42032c63
.
2016-10-10 17:42:42 +02:00
Pavol Rusnak
c0181b1aec
extract address related stuff into trezor-crypto
2016-10-10 11:26:52 +02:00
Pavol Rusnak
e70900d49e
don't tie message verification with P2PKH addresses
2016-10-10 10:17:51 +02:00
Pavol Rusnak
3a42032c63
simplify cryptoMessageVerify call
2016-10-10 00:18:57 +02:00
Daira Hopwood
69d99d202d
Add support for multi-byte address prefixes.
2016-10-10 00:05:45 +02:00
Jochen Hoenicke
a0ade6343e
Reworked rfc6979 signing. ( #116 )
...
New parameter is_canonical that allows for generating signatures that
have additional requirements.
2016-10-06 16:58:05 +02:00
Jochen Hoenicke
ae4dff6e5f
Only compute pubkey on demand.
...
Changed all hdnode callers to call hdnode_fill_public_key if
they need the public key.
2016-06-27 10:13:18 +02:00
Roman Zeyde
63696dc474
crypto: add ECDH session key generation
2016-06-10 22:17:02 +03:00
Pavol Rusnak
d20671b517
handle various signed_message_headers correctly
2016-05-17 18:13:08 +02:00
Pavol Rusnak
e1fa896d6c
disable ECIES
2016-05-12 21:09:34 +02:00
Jochen Hoenicke
e0539f8f8b
Move public key recovery (verify) to trezor-crypto
2016-04-27 18:10:21 +02:00
Pavol Rusnak
5e5138066a
adapt the reorder of hash_final functions
2016-04-26 11:53:58 +02:00
Jochen Hoenicke
51f02ff763
ed25519 support
2016-04-22 18:22:45 +02:00
Roman Zeyde
2b2414cb91
Add GPG v2.1 support by signing message digest
2016-04-20 21:01:39 +03:00
Jochen Hoenicke
56238e63fc
Added curve type to HD node.
...
Create a different root node for every curve type to separate the key
space.
2016-04-19 18:23:12 +02:00
Pavol Rusnak
d488366e36
Merge branch 'master' of git://github.com/romanz/trezor-mcu into romanz-master
...
Conflicts:
firmware/crypto.c
2015-06-28 21:26:15 +02:00
Roman Zeyde
381f90b38a
cryptoMessageSign() should check the return value of ecdsa_sign_digest()
2015-06-27 10:20:19 +03:00
Roman Zeyde
0ac032917b
enable Trezor to perform SSH public key authentication
...
support both NIST256P1 and SECP256K1 ECDSA curves.
2015-06-26 10:43:39 +03:00
Pavol Rusnak
c286cd75f3
bn_substract_noprime -> bn_subtract
2015-03-17 14:23:58 +01:00
Pavol Rusnak
73c42402b9
implement SignIdentity workflow
2015-02-25 17:03:01 +01:00
Pavol Rusnak
2f5e520345
add description to layoutAddress
2015-02-19 14:11:27 +01:00
Pavol Rusnak
94531f264e
speed up public ckd (used in multisig)
2015-02-15 20:47:53 +01:00
Pavol Rusnak
5f8a4f6da1
use hdnode_private_ckd_cached where appropriate
2015-01-26 20:24:07 +01:00
Pavol Rusnak
b5eecb30be
downgrade nanopb to LTS version 0.2.9.1
2014-12-27 16:05:34 +01:00
Pavol Rusnak
30a55829e5
rework hashing of transactions
2014-12-21 20:34:14 +01:00
Pavol Rusnak
2a2eba7de5
rework layoutProgress functions
2014-12-21 18:58:56 +01:00
Pavol Rusnak
03a053c944
implement change logic for multisig
2014-12-21 02:15:56 +01:00
Pavol Rusnak
0d427f2cd2
fix confirm layouts in multisig operation
2014-12-20 02:38:53 +01:00
Pavol Rusnak
cce9d783a6
introduce cryptoMultisigFingerprint
2014-12-16 18:56:44 +01:00
Pavol Rusnak
4122b56e1c
check return value of cryptoHDNodePathToPubkey
2014-12-16 18:49:49 +01:00
Pavol Rusnak
0e92d4c588
error checking of hdnode functions return values
2014-12-16 18:28:46 +01:00
Pavol Rusnak
567537cd03
update to new multisig api
2014-12-16 14:28:47 +01:00
Pavol Rusnak
92cfcd1565
implement GetAddress.multisig field
2014-12-10 18:04:51 +01:00
Pavol Rusnak
86dd83f93b
sign message speedup
...
see https://github.com/spesmilo/electrum/pull/695/files#diff-3
2014-12-08 21:21:44 +01:00
Pavol Rusnak
f75515544f
move Sign/Verify to crypto.c/h, implement Encrypt/Decrypt
2014-11-25 19:32:04 +01:00