Unable to decrypt wallet.wallet file

Unable to decrypt wallet.wallet file

Manage alerts

Loading saved threads...

user116159 · External communityPost link
External question — Bitcoin Stack Exchange Author: user116159 Original post: https://bitcoin.stackexchange.com/questions/102902 License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/ Adaptation: HTML converted to plain text; contact email addresses removed. I have a wallet.wallet file that I think was created with Android bitcoin wallet or Multibit. It's base64 encoded. Putting it in a decoder, it gives me this information, redacted just in case: {"iv":"randomalphanumeric==","v":1,"iter":1000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"randomalphanumeric=","ct":"randomalphanumeric="} When I try to upload any part of that, including just the raw base64, into Electrum (the recommended alternative since multibit was deprecated) I get errors that its invalid. The android bitcoin app either can't read it or I don't know my password. Does anyone have any idea what this is or what its for? Is it even cryptocurrency related? Also, the last string has a ton of characters including forward slash "/" and plus signs "+". Not sure if that helps. I did attempt to try and follow with this thread Bitcoin Wallet for Android - Issues decrypting the wallet backup BIN file using OpenSSL , but to no avail. I get "error reading input file"
Quote
Report
RedGrittyBrick · External communityPost link
External answer — Bitcoin Stack Exchange Author: RedGrittyBrick Original post: https://bitcoin.stackexchange.com/a/102937 License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/ Adaptation: HTML converted to plain text; contact email addresses removed. Does anyone have any idea what this is or what its for? It is obviously related to cryptography. Since the Bitcoin network itself doesn't use encryption, this is likely a configuration file or data file for a specific wallet's scheme of encrypting the private-keys and other information that need to be protected from being stolen and misused. { "iv":"randomalphanumeric==", "v":1, "iter":1000, "ks":256, "ts":64, "mode":"ccm", "adata":"", "cipher":"aes", "salt":"randomalphanumeric=", "ct":"randomalphanumeric=" } iv is initialisation vector v is version iter is number of iterations of hashing when deriving key from password + salt. ks is key size. ts is tag size (for authentication-tag in CCM). mode is an encryption mode. ccm is probably something like cipher chaining mode ? cipher is the encryption algorithm. aes is the " advanced encryption standard ". salt is a random number used to combat attacks using precomputed dictionaries. ct is probably "ciphertext" - the encrypted version of some data ("plaintext"). the last string has a ton of characters including forward slash "/" and plus signs "+" That is fairly common in encoding methods used to take binary data and present it using readable/printable characters. In this case it is probably base64 encoding. As I think you know, encoding is not encryption, just an easily reversible presentation method. By itself, it is of no use to you. If you know the password (encryption key) you could probably decrypt the possible ciphertext (ct value) after reversing the base64 encoding. You could then examine the (potentially binary) "plaintext" to see if it contains a Bitcoin private key. The popular openssl application supports AES. See its documentation . I would start by listing algorithms using openssl enc -ciphers If you have a version that supports AES CCM (and maybe no version does) I would select that and then apply appropriate values to command arguments such as -iter , -iv etc. There are many freely available tools and libraries for AES.
Quote
Report

Post Reply

Checking account access…