Hard Lesson I Want To Share With Others – Wallet QT & Encryption

I have a very hard lesson that I feel is important to WARN others about. I’ve have a wallet QT that will not send and I want to share a couple of points that I feel are important and are not disclosed, so I will here.

I “invested” in Litecoin and was careful to read instructions for a couple of months before jumping in as i wanted to do everything correctly. I set up the Wallet QT with the download and the wallet received coins fine, but since I had not planned on selling any, I had never had the need to “SEND”.

Before all of that, I encrypted the wallet and was very careful with the passphrase and I set it up and made multiple copies, wrote it all down, and had the passphrase written down in multiple places, so it’s not a matter of me losing it.

What I learned:

1. Never load wallet with any real amount of coins UNTIL you know that it sends properly, so you don’t run into the same problem as I did.

2. Always get the private key before encrypting the wallet, because once I was locked out, I could never get the private key, and having that I may have been able to import that wallet.dat file into another machine and QT, but could not because the private key was not able to be had.

3. **** (see below with update) ADD RECEIVE ADDRESSES AFTER ENCRYPTIONTHIS IS NOT THE PROBLEM AFTER TESTING, ELIMINATE #3. RECEIVE ADDRESSES CARRIED OVER AFTER ENCRYPTION WHEN TESTED IN QT. PROBLEM IS COMING DOWN TO #1. OR #2. OR A FLAW IN DESIGN OF WALLET QT AND LACK OF PROPER TESTING OF WALLET. 4-19-14

 

I had help from an engineer. He ran two different software programs. He tried to bruteforce attack the wallet, but was unable to.

Since I had the passphrase written down, I gave it to him (I had no other choice) in hopes that that would help him bruteforce it or use it to crack it with software like Crunch. We both thought that would resolve it as I had the passphrase written down.

Both methods did not work, despite having the passphrase, which brings me back to the Private Key.

Like I said, I researched this wallet QT for a couple of months and was very careful in studying up on the encryption part and was aware of the warnings, especially writing it down and making sure not to lose it. What I think it comes down to getting the Private Key before any encryption.

I want to give a FAIR WARNING to anybody and everybody about this. I do not want this to happen to anybody else, let alone have them lose money, or a significant amount, or any amount.

I do not feel as though this was disclosed in a manner one would expect given the outcome. I have to take full responsibility, but I also have to give a FAIR WARNING to others, to take heed. I wouldn’t wish this upon anybody else.

I’m curious why the two lessons (see #1. and #2. are not disclosed on the official website of Litecoin) are not clearly discussed on www.litecoin.org?

It is one thing to be able to RECEIVE, it is another thing to not be able to SEND. I tried getting help but was told I lost the passphrase or screwed up in encryption somehow. I still do not see how.

The engineer that helped me was able to tell me that it was not a matter of capital letters or being one letter off, etc. But then again, he was unable to bruteforce it at all. That is where it came down to the Private Key issue. He said with that, there would at least be a possibility, but that is where it lies for now.

I do not see anywhere that it says to get the Private Key before encryption. One would think that would be an important point to have on a homepage, rather than not being properly disclosed, with instructions coming from a multitude of forums.

I guess if any Alt Coins want any real credibility in the real world, they will have to do a proper job of disclosing things, as i feel kind of stupid, but not stupid to the extent that they accused me of losing my passphrase which is not true. Given the fact that it would not allow Bruteforce attack makes me wonder even still what the cause was, perhaps I will never know. But it is important to let others know the lesson, as this didn’t go so well as an “investment”. I never got the feeling that Litecoin really cared, but their lack of disclosure is telling enough.

Perhaps the technology will change and eliminate these problems. Perhaps there is a solution. All of which, this could all be avoided, and needs to be fixed before this currency can even expect to go mainstream. After all, it is disclosed to encrypt. And it was, and it was written down.

FAIR WARNING TO ALL.     1HE858Ln14qUWdwv48dwnkCyXMQUeTaDCY

Donate if you feel this was helpful and you feel coins need to disclose all, because they are not. So I did.

ADDITIONAL READING: https://en.bitcoin.it/wiki/How_to_import_private_keys *Note this is BTC info, though I had issue with LTC, and that’s the problem.

Below is NOT accurate. Someone tested this and the below is not “true”. Through process of elimination, #3. is not the problem for this very reason. 4-19-14

3. ******(UPDATE) I was asked if I added RECEIVE ADDRESSES before or after encryption, and I set up the RECEIVE addresses before I encrypted, as I recall. That was one of the first things that I remember doing, but we are going back to last year! I was told that if I set up RECEIVE addresses before encryption, then that is my problem. The reason apparently is because when you encrypt, it throws out the old keys for the addresses. Nowhere do I recall seeing this stern warning, ever. But this sounds right, but how was I to know? So now it comes down to whether I have a backup of the wallet from before encryption (which was before I received any coins). Decryption is also a possibility, but nobody knows how that is done in this situation. Above is not accurate, so this eliminates #3. 4-19-14

So let it be a warning, since this is not BOLDLY disclosed on the www.litecoin.org homepage from what I can tell, is DO NOT LOAD A WALLET with coins until AFTER encryption, because it generates new keys for the receive addresses. (Not accurate or true as when tested, disregard, see “blue” text which eliminates #3. as being problem, this information was wrong information and proven wrong when tested.)

So I was told I lost the passphrase or inputted it incorrectly. I do not believe that to be the case. I do believe that what happened was I set up RECEIVE addresses prior to encryption, and then when I encrypted, it caused me grief. This sounds accurate. This is the hard lesson I am thinking is the problem. Once arriving at the problem, the lesson can be learned. Whether or not there is a solution remains to be seen.

I will say this, the instructions for the wallet QT’s need to properly disclose the pitfalls in advance, with a step by step, because users of cryptocurrencies shouldn’t have to learn the hard way. It shouldn’t come to months of trying to figure out the problem, only to have to help instruct others, but this is what it came to. There needs to be a manual that points this out. I have.

What to avoid. #1, #2, and #3.     I think these are sound points to be made and should be posted clear as day. Again, I don’t want anyone learning the hard way. Seems like #3 is where I screwed up, having to take full responsibility. Seems to me this could all be avoided. Development is one thing, basic instructions and warnings to the users is another. After testing, #3. IS NOT THE PROBLEM AS WHEN TESTED, THIS WAS NOT THE CASE, WHICH ELIMINATES #3. AS THE SOURCE OF PROBLEM). THIS MEANS THAT PROBLEM IS GOING TO BE #1. OR #2. AS THE PROBLEM OR LITECOIN HAS A FLAWED WALLET, ONE THAT THAT WAS NOT PROPERLY TESTED. 4-18-14

5-5-14 Notes:

Digging through encryption or bin/ 32/ litecoin-qt and come across the following and don’t know if it is jibberish or what, probably, but worth noting.

Warning: error reading wallet.dat! All keys read correctly but transaction data or address book entries might be missing or incorrect.

“Warning wallet.dat corrupt, data salvaged! Original wallet.dat (timestamp).bak in %s if your balance or transactions are incorrect you should restore your backup bitcoin.core

You must set rpcpassword <password> in configuration file”

Found more stuff I could read. Don’t know if it is even real or just encrypted garbage or fluff I found.

 

http://cur.lv/952hw

17 comments for “Hard Lesson I Want To Share With Others – Wallet QT & Encryption

  1. woodman
    April 15, 2014 at 4:50 pm

    https://play.google.com/store/apps/details?id=de.schildbach.wallet.litecoin&hl=en

    https://github.com/hank/litecoin-wallet/issues/15

    http://blog.litecoin.org/2013/12/litecoin-086-release-notes.html

    https://litecointalk.org/index.php?topic=2339.0 (not exactly my problem but relevant to extent of research / issue is with the private key, seems someone’s hiding the key and obscuring it from view…, perhaps a clue)
    Someone just said as they never saw anything saying or any prompt to dumppriv key prior to encryption. Question, is this standard operating procedure? She then went on to say someone’s making bank like the gift cards they issue at Xmas and knowing that 30% will never be redeemed. How is this exactly trust in the community? or will Litecoin just blame the users for losing the passphrase?

  2. Rob D
    April 20, 2014 at 8:38 pm

    Your experience compelled me to gain a better understanding of QT wallet operation including the automatic provisioning of “change” addresses when sending from QT and the manual process for handling private keys (via RPC dump & import) which is the basis of securing ownership of unspent coin in the blockchain. Also, while the litecointalk thread referenced in your comment is spot-on a reddit thread I examined was also very helpful.
    http://www.reddit.com/r/Bitcoin/comments/1bhky4/i_recovered_my_lost_bitcoins/

    • woodman
      April 20, 2014 at 9:20 pm

      Yah that Reddit link was a very helpful read, just got done. I’m posting that on the site!

  3. woodman
    April 21, 2014 at 12:55 pm

    (NOTES from Bitcoin Stackexchange (above reply) Hmmmmm….. Ruby or PyWallet

    It’s possible that Ubuntu uses a different keyboard layout to the one you’re trying to open the wallet on. The letters you think you’re typing are actually not the ones the computer is seeing. Have you still got the Ubuntu boot disk? If you have, boot into it, open a text editor, and type the password. Make sure it appears the exact same way as you’re typing. Symbols, punctuation, and the characters on the lower left of your keyboard are the ones to check most vigerously. This is a very plausible explanation, and has caught me out in a different situation perviously. – Anonymous Dec 6 ’13 at 3:51

    Good idea, others have suggested the same. I booted into the same old laptop with the same live CD. Passphrase typed the same – i even went so far and ran bitcoin-qt, downloaded the block chain. Still sees it as wrong passphrase. I appreciate any and all ideas to help me brain storm. – tjc Dec 6 ’13 at 3:56
    add comment
    2 Answers
    active oldest votes
    up vote 1 down vote

    As a follow up I was able to discover the actual passphrase by using the ruby script from this thread https://bitcointalk.org/index.php?topic=85495.

    See my post # 312 for the details if you need help solving this kind of problem. The folks in that thread are very helpful.

    Much thanks to all who helped. It was a stressful and frustrating experience – from which I learned a lot.

  4. woodman
    April 21, 2014 at 1:05 pm

    Member
    **

    Activity: 81

    View Profile

    Ignore

    Re: Encrypted wallet.dat, lost password, any solutions?
    December 08, 2013, 09:25:09 PM

    #312
    After about 12 hours of working on it, I successfully ran the script and found my actual passcode for both a Bitcoin and Litecoin wallet within hours of running the script. They were 20 character random passphrases. For Bitcoin, the problem was a character deletion. For Litecoin, it was a mistyped character.

    This successfully ended a 4 day stressful quest during which I learned a lot. It was very frustrating at times but ultimately rewarding in a sense of personal accomplishment. I do not have any coding experience and no Windows admin experience. With the kind help and recorded knowledge of posters to this forum thread I was able to figure it out. For those of you this comes easy, good on you. But remember there are those of us out there who have to work really hard to understand this stuff and make it work.

    What follows is a laymen’s description of how to get this to work in Windows 7. Hopefully other novice users like me will find it useful if they come across this. I apologize for any errors or misinformation – hopefully it can be corrected by others who know more.

    Revalin’s ruby passcode cracking script workflow for Windows 7 for both Bitcoin and Litecoin wallets.

    (If needed, substutue Litecoin and litcoind for Bitcoin and bitcoind in the instructions below.)

    Preparation Phase:

    1) Install Ruby 1.9 or newer for Windows http://rubyinstaller.org/downloads/

    2) Choose one of the scripts in this thread that best fits your needs. (I chose a version recorded here http://pastebin.com/nWTBxPES – but frankly do not recall how I came across the link). Cut and paste the script into Notepad and save as “brute.rb” using the quotations. Right click on the file and open it in edit. Edit the top of the script putting your expected passphrase between the quotations in the line passphrase = “oops”. Save the changes. I saved it to the desktop.

    3) Drag and drop that brute.rb file into the folder C:\Program Files (x86)\Bitcoin\daemon. It will then be in a folder with the bitcoind application file.

    *4) Add a config file for bitcoind at C:\Users\addyourusername\AppData\Roaming (or wherever your computer has the wallet.dat file for Bitcoin-qt). Name the config file bitcoin.conf and put the following in it:

    rpcuser=bitcoinrpc
    rpcpassword=anypassword (apparently any random password will work here)

    Note: Other instructions call for adding the line rpcpassword=anypassword to the ruby script. This did not work for me and only worked when I did not add it to the script.

    Running Phase:

    1) Navigate to C:\Program Files (x86)\Bitcoin\daemon. Double click on the bitcoind application. An empty command promp will open (not even a blinking cursor) with C:\Program Files (x86)\Bitcoin\daemon\bitcoind.exe in the title bar. Leave this open and running.

    2) Open the Windows start button and type Ruby in the search bar. Then select and open Start Command Prompt with Ruby. A command propt will open with some version of the following: ruby 1.9.3p484 (2013-11-22) [i386-ming32] and a blinking cursor at C:\Users\yourusername>

    type ruby brute.rb

    The script should start running and you will see it fill with lines of attempted and failed passphrases. If it succeeds, it stops running and prints Found it! youractualpasscode

    *Note: for step 4 above, I still do not know the proper way to make a config file for windows 7. I struggled with this and finally got something to work. If anyone can give some simple and complete instructions please add them.

    madmooseman
    Newbie
    *

    Activity: 9

    View Profile

    Ignore

    Re: Encrypted wallet.dat, lost password, any solutions?
    December 12, 2013, 10:40:42 AM

    #313
    Quote
    type ruby brute.rb

    The script should start running and you will see it fill with lines of attempted and failed passphrases. If it succeeds, it stops running and prints Found it! youractualpasscode

    *Note: for step 4 above, I still do not know the proper way to make a config file for windows 7. I struggled with this and finally got something to work. If anyone can give some simple and complete instructions please add them.

    I assume with this you have to navigate to the folder where brute.rb is?

    Whether I run it on windows or ubuntu, I have the same problem – it says that my RPC password is incorrect, even when copying the password from the file.

    It does try one guess first, but it isn’t correct.

    Here is the code I’m running (with my passwords censored)

    Code:

    #!/usr/bin/ruby
    require “net/http”
    require “json”

    $rpc_pass = “rpc-pass”
    words = [‘pass1’, ‘pass2’, ‘pass3’, ‘pass4’]
    max_words = 4

    def test(passphrase)
    puts passphrase.inspect
    request = Net::HTTP::Post.new(“/”)
    request.basic_auth “”, $rpc_pass
    request.body = { method:”walletpassphrase”, params:[passphrase, 1] }.to_json
    response = Net::HTTP.new(“localhost”, 8332).request(request)
    if response.code == “401” ; puts “Incorrect RPC user/pass” ; exit 1 ; end
    ret = JSON.parse response.body
    if ret[“error”].nil? ; puts “\nFound it! #{passphrase.inspect}” ; exit ; end
    return if ret[“error”][“code”] == -14 # wrong passphrase
    raise “WTF? #{ret.inspect}”
    end

    (1..max_words).each do |n_words|
    words.permutation(n_words).each do |perm|
    [” “, “”].repeated_permutation(perm.count + 2).each do |j|
    test([“”, *perm, “”].zip(j).join)
    end
    end
    end

    puts “No luck.”

    My problem is that I have a list of words, but I don’t know the order. I know that I used either 3 or 4 of these words.

    I also have seen people saying to use John the Ripper on this, but I can’t for the life of me work it out.

    Alternatively, I can offer a “pretty decent” reward if someone can get it based on the lists of possible passwords, the mkey section of the wallet and whatever else you need (short of the wallet file itself).

    Any help would be much appreciated.

    From comments #312 and #313

  5. woodman
    April 21, 2014 at 1:08 pm

    Interesting enough (for Ubuntu) says that they got wrong Password when they typed it in or copied the word …..this could very well be the problem right here, with how Linux Mint is reading the keyboard? But this is getting highly technical and it shouldn’t ever get to this point.
    The coin developers should offer a service to help people rather than blaming them for losing passphrase. Their blame game really shows their lack of ethics and integrity.

  6. woodman
    April 21, 2014 at 3:28 pm

    http://blog.lifebloodnetworks.com/?p=1657 (NOTES ONLY)

    Thanks for the great instructions.

    The only problem I’m having is that my external keyboard (USB) is not recognized when I need to enter the crypt passphrase to boot. I can work around this since the internal keyboard works. I was wondering if you knew how I could get the external one working again (it worked in my previous 10.04 install).

    Nicholas J Ingrassellino
    February 19th, 2013
    REPLY
    QUOTE

    Have never seen that but I assume it has something to do with the minimal environment setup by GRUB 2. Since you have not yet entered your password, and thus not loaded the filesystem where your kernel modules are, that might have something to do with it. This is just a guess on my part. Truth be told, I am not sure where to look but that sounds like as good a start as any.

    On the other hand it is USB so, unless the keyboard is doing something weird, it should just work…
    ae
    February 19th, 2013
    REPLY
    QUOTE

    Thanks. If I do figure out a solution I’ll post back here. The strange thing is that it works fine on my old 10.04 installation (same hardware). I would assume that it would also work on 12.04, so the difference must be in something that Mint is/is not doing.

    I guess I’ll start by looking for something special that the Ubuntu bootload is doing; maybe they are explicitly loading a USB driver.

    The good thing is that Mint13 lets me use the built-in keyboard and then closet the screen. On 10.04 closing the screen caused all external video to be lost until reboot.

  7. woodman
    April 26, 2014 at 12:40 pm

    https://litecointalk.org/index.php?topic=7072.0
    The developers don’t know why it works, it just works! Makes a lot of sense. From space bars to apostrophes to people wasting all day to people losing coins, it seems that this is a clusterfuck.

  8. woodman
    May 22, 2014 at 3:08 pm

    EDIT: solved…

    I have an encrypted electrum wallet that i was going to take some funds from but when I try to send BTC it says incorrect password. I have never changed it since I set it initially and I have it saved as a note on my phone. I know I’m not missing a word because it was 12 words long and I have 12 words in my note.

    Help please

    9 comments
    share
    save
    hide
    give gold
    report

    all 9 comments
    sorted by:
    best
    formatting helpreddiquette

    [–]SearchForTruthNow2 1 point 23 minutes ago

    Maybe you mistyped some words? You didnt test again in the past?

    permalink
    save
    report
    give gold
    reply

    [–]TotalMelancholy[S] 1 point 20 minutes ago

    it’s the password electrum gave me when i encrypted my wallet and i copied it down exactly onto my phone, and they’re all spelled correctly on my phone. so unless electrum had a misspelled word that i corrected when i typed it i dont know what the problem is

    permalink
    save
    parent
    report
    give gold
    reply

    [–][deleted] 16 minutes ago

    [deleted]

    [–]TotalMelancholy[S] 1 point 15 minutes ago

    ohh…so what do I do?

    permalink
    save
    report
    give gold
    reply

    [–]StingLikeABeee 1 point 13 minutes ago

    this is not your password, it is the seed for your wallet

    rename default_wallet in your wallet folder
    Open electrum
    Restore an existing wallet
    chose Standard Wallet
    type in seed (12 words you saved)

    permalink
    save
    parent
    report
    give gold
    reply

    [–]TotalMelancholy[S] 1 point 11 minutes ago

    thanks! you and /u/murbul helped

    permalink
    save
    parent
    report
    give gold
    reply

    [–]StingLikeABeee 1 point 9 minutes ago

    better you don’t save them on your phone. Everyone with access to the seed can restore your wallet and has access to your bits without a password

    permalink
    save
    parent
    report
    give gold
    reply

    [–]TotalMelancholy[S] 1 point 7 minutes ago

    I understand the seed part now, but if no one has access to my phone then isn’t it still secure? the note also isn’t labeled so how would anyone know what the random words are?

    regardless, i’ll find another method of storing it

    permalink
    save
    parent
    report
    give gold
    reply

    [–]murbul 1 point 14 minutes ago

    The 12 words is your wallet seed and is different to the password. The password is something you would have set yourself.

    If you have truly forgotten the password, you can just restore your wallet from the seed (create new wallet -> restore from seed)

    permalink
    save
    report
    give gold
    reply

    [–]BTCmacroecon 1 point just now

    murbul, is this specific to the “electrum” wallet that I am not familiar with? I have a similar problem, very similar. I never lost the passphrase and the likelihood of inputting the passphrase 2x in exact same problem is highly unlikely. Esp on characters over 30 long. I have a friend that believes he can access by hidden files and I believe it is time to try that route, he is quite knowledgeable on Linux. The hidden files are there as we found in terminal, and that’s as far as we made it. What’s your take? Beginners bad luck as it received fine, and I kept loading wallet, but never sent anything, but was bad deal when it wouldn’t send and I got error messages. But I have a hard time believing I screwed up.

    permalink
    save
    parent
    edit
    delete
    reply

    [–]TotalMelancholy[S] 2 points 12 minutes ago

    this worked, I feel dumb now but thankful that you and /u/StingLikeABeee helped. thanks!

  9. August 25, 2014 at 10:13 am

    When someone writes an article he/she keeps the thought of a user in his/her brain that how a user can be aware
    of it. Therefore that’s why this piece of
    writing is perfect. Thanks!

  10. woodman
    September 8, 2014 at 3:08 pm
  11. woodman
    September 8, 2014 at 3:50 pm

    https://bitcointalk.org/index.php?topic=398155.msg6964230#msg6964230

    PY Wallet info and extraction of priv keys…..apparently glitch in program….worth review.

    Done Y / N
    N

  12. woodman
    October 4, 2014 at 11:03 pm

    If private key was not exported and then wallet encrypted, this is a major problem. Don’t recall reading that anywhere, but apparently with X and Y coordinates, it’s not possible to go back and get private keys.
    Possible to go back and get private key another way if wallet is corrupted via recovery. PyWallet recovery tool. BlackCoin suggested going to wallet and running SalvageWallet if it’s an option at all. BlackCoin has that option.

    Check out Salvage Wallet? Y N? N

    Start asking if coins clearly point this out with other coins, meaning do they explicitly tell people to export private key prior to encryption or do they just give instructions on encryption? Do they teach people to load a small amount of coin in wallet first to ensure it sends prior…..prior to loading with substantial amount of coin, to make sure it works? Do they care?

  13. woodman
    March 6, 2015 at 9:56 pm

    https://cryptoinfinity.com/showthread.php?tid=1204&pid=4950#pid4950

    *See notes from MMH
    **Keyboard layout, Ubuntu, notepad…

  14. March 8, 2015 at 10:30 pm

    I blog quite often and I really thank you for your content.
    The article has really peaked my interest. I’m going to bookmark your site and keep checking for new
    details about once a week. I opted in for your Feed as well.

Leave a Reply

Your email address will not be published. Required fields are marked *