Lets assume hypothetically that I have these all written down on paper somewhere. In comparison to the keystore, which I consider a JSON file that's too long, can I theoretically disregard all other information with the exception of my salt, passphrase and ciphertext, in order to decrypt my private key...or is there another variable that I would need?
1 Answer
You definitely also need the iv
. The mac
is optional (helps prevent decrypting "successfully" with the wrong password and thus getting the wrong private key).
Everything else should be standard for the current version of the software you used to generate the file, so you should be able to recreate it if need be.
That said, for paper wallets, I think BIP39 mnemonic phrases are a lot easier to write down, and they're recoverable even if you get a couple letters wrong or even miss an entire word. I would recommend generating a private key from a random seed phrase and a password and then importing that into geth
.
-
Interesting. Thanks. The IV and SALT are essentially the same function right? Except the IV only works for the first 16 bytes of the cipher– StephenCommented Mar 30, 2018 at 15:24
-
The salt is an input into the key derivation function. The IV is for the encryption. They serve similar purposes but in different steps. Commented Mar 30, 2018 at 17:22
-
So one more question if you don't mind. If I had the salt, IV and cipher, how long would it take me to theoretically brute force a 9 character length password– StephenCommented Apr 5, 2018 at 15:46
-