1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-29 17:48:10 +00:00
Commit Graph

606 Commits

Author SHA1 Message Date
Jochen Hoenicke
1b8bd1852e Adapted U2F to new hdnode API 2016-04-29 16:20:54 +02:00
Jochen Hoenicke
cf38291ca4 Updated branch u2f 2016-04-29 16:19:54 +02:00
Jochen Hoenicke
630e26dd20 use less stack memory in storage_commit 2016-04-27 19:23:02 +02:00
Jochen Hoenicke
da98a3a6fd Don't reflash storage after each PIN entry
Instead of reflashing the whole storage, we use a designated area
in the second storage block, where we mark each PIN failure by a
single zero bit. This is because one can set bits in flash to zero but
not to one.  If the PIN was entered successfully the whole word is
set to zero and the next word stores the new PIN failure counter.
2016-04-27 18:39:04 +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
Pavol Rusnak
b8539a6972
fix wording 2016-04-25 23:46:36 +02:00
Pavol Rusnak
035a6e754f
fix last commit 2016-04-25 23:40:24 +02:00
Pavol Rusnak
9e8c369f93
show address in verifymessage layout 2016-04-25 23:03:57 +02:00
Jochen Hoenicke
51f02ff763
ed25519 support 2016-04-22 18:22:45 +02:00
Jochen Hoenicke
6813ffb431
Remove the public_key hack.
It is no longer necessary to move the public key into a temporary buffer
since the node is specific for the curve and contains the right public
key.
2016-04-21 11:58:39 +02:00
Roman Zeyde
2b2414cb91 Add GPG v2.1 support by signing message digest 2016-04-20 21:01:39 +03:00
Jochen Hoenicke
03c501d9e3 Do not use hardcoded string for secp256k1. 2016-04-20 15:39:15 +02: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
d8aeb63854
pass version/lock_time parameters from SignTx message to signing_init function 2016-04-16 04:47:09 +02:00
Pavol Rusnak
7675a0aa5f
fix usage of inline/static 2016-02-15 15:29:19 +01:00
Pavol Rusnak
4c9149818a
bump version (to 1.3.5) 2016-02-12 18:29:06 +01:00
Pavol Rusnak
1d3c7ee3f2
cleanup Waking up screen usage 2016-01-19 15:36:43 +01:00
Pavol Rusnak
6e3aec0c1b
move submodules to vendor subdirectory 2015-12-15 23:01:54 +01:00
Pavol Rusnak
ed76d030ef
check for sessionPassphraseCached 2015-12-14 22:53:14 +01:00
Pavol Rusnak
f557e6149d
implement GetPublicKey.show_display option 2015-11-19 11:48:26 +01:00
Pavol Rusnak
27183323a4
fail sooner when the device is not initialized 2015-11-19 11:03:16 +01:00
Pavol Rusnak
50c8811af9
double sized font for reset device 2015-11-18 19:52:16 +01:00
Mark Bryars
32f8819997 Generate hardened keys in a unique root 2015-11-05 01:24:37 +01:00
Mark Bryars
9328cad7f1 Add U2F support 2015-11-03 16:47:12 +01:00
Roman Zeyde
c08ff09f0f storage: add compile-time assert for sizeof(Storage) validation 2015-09-06 21:14:23 +03:00
Pavol Rusnak
8372504238 show home screen on Initialize 2015-08-25 19:50:31 +02:00
Roman Zeyde
755b0388f0 firmware: exclude debug functionality from release build 2015-08-24 15:51:20 +03:00
Roman Zeyde
1bb00adc37 fsm: add compile-time assert for response size validation
ttps://gcc.gnu.org/gcc-4.6/changes.html
2015-08-24 13:55:44 +03:00
Pavol Rusnak
8b1f8a4595 show "Web sign in to" when HTTPS is detected 2015-08-21 17:04:38 +02:00
Pavol Rusnak
0c6b3e26e2 prepare 1.3.4 release 2015-08-03 21:59:06 +02:00
Pavol Rusnak
b678ba8811 update protob 2015-08-03 21:27:56 +02:00
Pavol Rusnak
e876aa5094 changed coin max fees 2015-07-29 15:38:00 +02:00
Pavol Rusnak
e8b47901ce show "Go to myTREZOR.com" instead of label when device is not initialized 2015-07-09 23:02:13 +02:00
Pavol Rusnak
9ae7d6bf65 simplify layout Dialog in SignIdentity 2015-07-04 23:45:57 +02:00
Pavol Rusnak
e4d86a49ab rework SignIdentity signing 2015-07-04 23:40:55 +02:00
Pavol Rusnak
eaf209d999 implement CipherKeyValue.iv field 2015-06-29 16:36:50 +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
b4728e6cf9 Merge pull request #27 from jhoenicke/master
New usbDelay that delays and handles USB requests
2015-05-25 10:57:40 +02:00
Pavol Rusnak
02040421cb fix param order in memset 2015-05-18 13:37:44 +02:00
Darin Stanchfield
e99aafd949 fixed salt passing to pbkdf2_hmac_sha512 2015-05-05 12:01:34 -07:00
Jochen Hoenicke
218b9984bb New usbDelay that delays and handles USB requests
Added usbDelay that polls usb port (for system requests) while delaying.
This is called instead of delay in the button and pin delay functions.
Experimental evaluation gave that the cycle count should be roughly divided
by 28.5.
2015-04-29 19:10:48 +02:00
Pavol Rusnak
7d8fb375f0 seconds counter during pin lockdown 2015-04-16 18:16:30 +02:00
Pavol Rusnak
1501ca2f67 activate screensaver on ClearSession message 2015-04-13 19:52:38 +02:00
Pavol Rusnak
ea7e92f5dd make gears turn faster when signing 2015-04-13 18:53:58 +02:00
Pavol Rusnak
795f70075b make SignIdentity.challenge_hidden and SignIdentity.challenge_visual longer (256 bytes) 2015-04-02 17:20:39 +02:00
Pavol Rusnak
ba73f43f71 change "sign in" screen 2015-04-02 16:56:03 +02:00
Pavol Rusnak
00ccf6a8ce bump storage version 2015-04-01 19:43:36 +02:00
Pavol Rusnak
8b268692fe prepare 1.3.3 release 2015-04-01 17:17:37 +02:00
Pavol Rusnak
4cbf29505d don't clear PIN on Initialize 2015-03-31 16:31:29 +02:00
Pavol Rusnak
aee35dc768 add pin_cached + passphrase_cached fields to Features message; add GetFeatures message 2015-03-30 15:47:03 +02:00
Pavol Rusnak
bda4267c38 clear session on Initialize message 2015-03-30 14:41:51 +02:00
Pavol Rusnak
7c6d2fe395 ask for PIN in GetAddress and GetPublicKey messages 2015-03-30 14:38:33 +02:00
ELMr4Ever
e855946d1c Darkcoin to Dash re-branding 2015-03-28 21:12:01 -07:00
Pavol Rusnak
9761dd23e0 prepare 1.3.2 release 2015-03-21 10:44:30 +01:00
Pavol Rusnak
40e174ac87 bump storage version 2015-03-18 13:34:09 +01:00
Pavol Rusnak
f344ec9c9b actually is SLIP-0013 2015-03-17 15:02:07 +01:00
Pavol Rusnak
c286cd75f3 bn_substract_noprime -> bn_subtract 2015-03-17 14:23:58 +01:00
Pavol Rusnak
fb2a085fff update trezor-crypto 2015-03-12 16:14:11 +01:00
Pavol Rusnak
0ee02eb09a revert non-swiping dialogs 2015-03-03 18:35:04 +01:00
Pavol Rusnak
24660f3e2c fix port in signidentity dialog 2015-03-03 17:42:25 +01:00
Pavol Rusnak
65d734df58 add Darkcoin 2015-03-03 02:09:15 +01:00
Pavol Rusnak
d1c62659f7 make signidentity dialog nicer 2015-03-02 21:33:06 +01:00
Pavol Rusnak
1272046375 login -> sign in 2015-03-02 19:58:33 +01:00
Pavol Rusnak
402886e00d Merge pull request #16 from jhoenicke/master
PIN handling - constant time.
2015-02-26 11:38:53 +01:00
Pavol Rusnak
82308d8a38 make wording more verbose (in SignIdentity) 2015-02-25 20:26:21 +01:00
Pavol Rusnak
eefa689b33 call layout functions where needed to rewrite the display after dialog choice 2015-02-25 17:57:47 +01:00
Pavol Rusnak
137a60ce01 set multisig_fp_mismatch when non-multisig input is encountered 2015-02-25 17:03:46 +01:00
Pavol Rusnak
399d4d31b7 replace transaction check hashing 2015-02-25 17:03:46 +01:00
Pavol Rusnak
73c42402b9 implement SignIdentity workflow 2015-02-25 17:03:01 +01:00
Jochen Hoenicke
5d8135be1a Faster signing, smoother progressbar.
Most time in signing transaction on the Trezor side is spent
in layoutProgress.  This patch reduces the calls to this functions.
We also compute the progress differently, reserving 50 % for downloading
input transactions and 50 % for the signing process.  This gives a
smoother experience if the input transactions are large.
2015-02-25 16:37:08 +01:00
Jochen Hoenicke
286ee0525c PIN handling - constant time.
This diff contains three changes.
1. Make timing isPinCorrect independent of storage.pin, to avoid timing attacks
2. Only update failed PIN counter if the user entered a PIN.
   Of course, the fail counter is still incremented, before the PIN is checked.
3. Don't cache the PIN, but just the fact that the PIN was entered.  The
   cache should be in sync with storage.pin in any case.
2015-02-22 15:42:31 +01:00
Pavol Rusnak
ad6fc7b5a7 update protobuf 2015-02-20 19:01:45 +01:00
Pavol Rusnak
2f5e520345 add description to layoutAddress 2015-02-19 14:11:27 +01:00
Pavol Rusnak
f2f50aa188 bump version to 1.3.1 2015-02-16 15:23:30 +01:00
Pavol Rusnak
94531f264e speed up public ckd (used in multisig) 2015-02-15 20:47:53 +01:00
Pavol Rusnak
07c8c4963a use const char * const * for wordlist 2015-02-14 12:40:32 +01:00
Pavol Rusnak
60bb2fe2b1 use Knuth shuffles 2015-02-13 20:51:02 +01:00
Pavol Rusnak
7d3196a057 correctly skip utf-8 characters 2015-02-13 17:42:23 +01:00
Pavol Rusnak
7fd1e894f5 refactor font handling 2015-02-13 15:37:23 +01:00
Pavol Rusnak
03faa85cc4 integrate signing reorder patch by Jochen 2015-02-11 17:38:32 +01:00
Pavol Rusnak
ed3fbf901c passphrase protection -> encryption (in dialog) 2015-02-05 18:59:43 +01:00
Pavol Rusnak
b5221ce2e9 introduce homescreen 2015-02-04 21:27:07 +01:00
Pavol Rusnak
d35b741f08 enable OP_RETURN 2015-02-04 20:04:59 +01:00
Pavol Rusnak
40efefc571 rework pin handling 2015-01-27 13:00:25 +01:00
Pavol Rusnak
012d38a9a0 increasePinFails before asking PIN 2015-01-26 21:41:43 +01:00
Pavol Rusnak
7dacfd69ee check for flash operation failure 2015-01-26 21:10:51 +01:00
Pavol Rusnak
5f8a4f6da1 use hdnode_private_ckd_cached where appropriate 2015-01-26 20:24:07 +01:00
Pavol Rusnak
31385f71f4 update nanopb to 0.2.9.2 2015-01-26 14:02:14 +01:00
Pavol Rusnak
32158bbb5c refactor fsm_getRootNode into fsm_getDerivedNode 2015-01-26 13:53:06 +01:00
Pavol Rusnak
8f48ffe63c extract fsm_getCoin 2015-01-26 12:51:56 +01:00
Pavol Rusnak
0981ed98b6 Merge pull request #7 from runn1ng/master
correcting transponed QR code
2015-01-18 13:43:10 +01:00
cf18
880f058482 correcting transponed QR code 2015-01-18 04:23:56 +01:00
Pavol Rusnak
b5eecb30be downgrade nanopb to LTS version 0.2.9.1 2014-12-27 16:05:34 +01:00
Pavol Rusnak
b06780e0a7 prepare 1.3.0 release 2014-12-25 18:32:00 +01:00
Pavol Rusnak
48cc36b1b9 adapt to new base58 api, use CoinType.address_type_p2sh field 2014-12-23 03:18:29 +01:00
Pavol Rusnak
1674edcbac p2sh addresses can have 35 characters 2014-12-22 21:16:49 +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
0898c707d9 move change logic before confirmation 2014-12-20 20:55:32 +01:00
Pavol Rusnak
7000451f71 implement OutputScriptType_PAYTOMULTISIG, reorganize compile_output code 2014-12-20 20:34:19 +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
309604d286 change setup wording 2014-12-16 18:45:39 +01:00
Pavol Rusnak
0e92d4c588 error checking of hdnode functions return values 2014-12-16 18:28:46 +01:00
Pavol Rusnak
1385de1154 use const where appropriate 2014-12-16 16:50:12 +01:00
Pavol Rusnak
567537cd03 update to new multisig api 2014-12-16 14:28:47 +01:00
Pavol Rusnak
961566c9b7 implement ApplySetttings.use_passphrase 2014-12-13 19:29:27 +01:00
Pavol Rusnak
7e27275ec8 allow 15/15 multisig 2014-12-10 20:20:03 +01:00
Pavol Rusnak
43ff5baeab such happy doge 2014-12-10 18:58:27 +01:00
Pavol Rusnak
92cfcd1565 implement GetAddress.multisig field 2014-12-10 18:04:51 +01:00
Pavol Rusnak
6561647d6b update pb 2014-12-10 15:44:26 +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
10fc0b69fc check LoadDevice.skip_checksum field 2014-12-08 19:58:13 +01:00
Pavol Rusnak
d07f6026e9 detect multisig by SPENDMULTISIG flag 2014-12-07 13:11:29 +01:00
Pavol Rusnak
91451f88b5 multisig 2014-12-06 19:12:55 +01:00
Pavol Rusnak
a16e8c0e04 more layout fixes 2014-11-27 17:23:04 +01:00
Pavol Rusnak
0c050e7fca update layouts for message operations 2014-11-26 18:52:30 +01:00
Pavol Rusnak
f75515544f move Sign/Verify to crypto.c/h, implement Encrypt/Decrypt 2014-11-25 19:32:04 +01:00
Pavol Rusnak
960c665aac update protobuf, require address for verifymsg 2014-11-15 02:00:07 +01:00
Pavol Rusnak
c051dfde9d update trezor-crypto 2014-10-30 01:38:40 +01:00
Pavol Rusnak
8b70713e2b update protobuf 2014-10-30 00:51:28 +01:00
Pavol Rusnak
8f1c40a933 start implementing EncryptMessage/DecryptMessage 2014-10-22 19:53:25 +02:00
Pavol Rusnak
ba63157a77 check coin->address_type while building output 2014-08-19 00:49:17 +02:00
Pavol Rusnak
e5d55967a0 implement GetAddress.show_display 2014-08-13 11:08:15 +02:00
Pavol Rusnak
63c6d046d1 add PublicKey.xpub field 2014-08-07 21:53:55 +02:00
Pavol Rusnak
e5bdf1943a align encryption of hdnode with mnemonic logic 2014-08-07 20:56:56 +02:00
Pavol Rusnak
524f2a957a enable stack protector 2014-07-31 19:44:03 +02:00
Pavol Rusnak
a2eb43b057 fix message length in msg_read_tiny 2014-07-27 16:20:35 +02:00
Pavol Rusnak
ea4d99cfee change recovery logic 2014-07-10 18:11:44 +02:00
Pavol Rusnak
2707e8aff6 move APPVER guards from includes to app code 2014-07-07 15:03:34 +02:00
Pavol Rusnak
df524b9f35 prepare 1.2.0 release 2014-07-03 01:20:34 +02:00
Pavol Rusnak
9ca3854146 use estimate instead of real size of tx when calculating fee warning 2014-07-01 19:48:54 +02:00
Pavol Rusnak
849e758eb4 double the delay before buttonupdate 2014-06-26 00:26:47 +02:00
Pavol Rusnak
e9fd756daa better UI for layoutSignMessage, layoutVerifyMessage and layoutCipherKeyValue 2014-06-21 00:31:44 +02:00
Pavol Rusnak
ea42f6af4e adapt to new opencm3 include structure 2014-06-19 00:12:31 +02:00
Pavol Rusnak
441bb3b513 implement ClearSession 2014-06-17 16:03:07 +02:00
Pavol Rusnak
272e10152f bump to v 1.1.0 2014-06-11 20:42:48 +02:00
Pavol Rusnak
67ad043209 adapt to new aes api 2014-06-09 19:00:07 +02:00
Pavol Rusnak
9d1cc7933d adjust reset_device loop to match recovery_device loop 2014-06-06 16:25:54 +02:00
Pavol Rusnak
cf95f50997 adjust protobuf 2014-06-06 12:56:31 +02:00
Pavol Rusnak
8c4540ef91 use 1st, 2nd, 3rd, etc. for recovery (not 1., 2., 3., etc). 2014-06-06 03:01:11 +02:00
Pavol Rusnak
465ec2104b throw UnexpectedMessage failure on unknown messages 2014-06-06 02:45:15 +02:00
Pavol Rusnak
1a1ba46e2c update protobuf 2014-06-06 02:37:58 +02:00
Pavol Rusnak
7cba60895d update protobuf, disable SimpleSignTx 2014-06-05 23:45:01 +02:00
Pavol Rusnak
80ab3b40b4 show Preparing instead of Signing where trezor is not signing :) 2014-06-04 19:42:41 +02:00
Pavol Rusnak
2b68813a4c adjust script_sig size for use with multisig
adjust delays used when wrong pin is entered
2014-06-04 18:00:35 +02:00
Pavol Rusnak
c8faf4aeaa show verified message & wait for button 2014-06-02 20:40:20 +02:00
Pavol Rusnak
2066f9e95c use imported flag to indicate that storage was imported from an external source 2014-05-26 00:58:17 +02:00
Pavol Rusnak
555b56181e use button confirmation for loaddevice 2014-05-25 18:32:12 +02:00
Pavol Rusnak
d7169a342c fix initialize handling in interactive mode 2014-05-20 15:37:58 +02:00
Pavol Rusnak
0d0a1ab5f2 import v1.0.0 2014-04-29 14:38:32 +02:00