I’m used to backing up my encrypted wallets using a seed phrase. It seems that the MobileCoin desktop client uses 128-bit “encrypted entropy”. Presumably, this means that the entropy string doesn’t function without the password? What is the minimum amount of data I need to store to recover my wallet?
This is a great question. @sara worked on this so is probably the best person to answer.
Hi @ObserverParadox - we are using argon2 password hashing to get the bytes with which we encrypt the account key and entropy. To recover your wallet, you will need to store the password that you use. Re: the minimum amount of data you need to store, I believe it’s 128 bits (looking at discussions such as hash - Argon2 output length and parameter storage? - Cryptography Stack Exchange).
Okay, I think I’ve figured it out.
The entropy seed that it shows when you go to “Retrieve Secret Entropy” is actually the entire unencrypted 256-bit seed. The config file is stored at
~/Library/Application Support/MobileCoin Desktop Wallet/config.json on Mac, and contains the Argon2-encrypted seed, with the wallet password as the encryption key.
I can restore my wallet with just the secret entropy, but I have to give it a new password to encrypt the config file with. To have a backup of my MobileCoin wallet in a Cryptosteel or similar, I need to store the 64 hex digits of the seed.
Is this all correct?
Yep - this is correct!