Bitcoin Public and Private Keys - dummies

HD address generation seems to work in bitcoin 0.13.0rc1 :-)

"The only people who should be running fully synchronizing nodes are miners and businesses and uber-geeks like theymos who enjoy fiddling with technology."
Gavin Andresen
Compiled bitcoin-0.13.0rc1 from source on Ubuntu.
Like in older versions, there was no menu visible in bitcoin-qt (it was in the binaries) but I finally solved it through:
sudo apt-get remove appmenu-qt5
I then added the following code:
https://github.com/bitcoin/bitcoin/pull/8206/files
so I could dump the extended private master key (xprv....)
and recompiled.
To dump the wallet (that here includes the master key):
In bitcoin-qt: click help, then choose console
walletpassphrase passphrasehere 60
dumpwallet filename
I then checked some of the addresses generated in bitcoin-qt here:
https://github.com/bip32JP/bip32.github.io
Substituting the BIP32 Extended Key and using:
Custom Path: m/0'/0'/0' (for the first address, etc.)
THEY AGREED!
(edit: and also the private keys)
Thanks, core developers and especially:
Jonas Schnelli
It's nice not having to worry anymore if the backup of your (encrypted) wallet.dat file has become outdated.
submitted by sumBTC to Bitcoin [link] [comments]

need help recovering my wallet.

So i bought some coins thru coinpal in 2011. I have the email which contains the bitcoin address that the coins were sent to, at some point in 2012 or something, i lost interest in bitcoin. reformatted and repurposed the drives, etc. but i did backup my wallet files, and after searching i found a wallet.dat file that is compatible with the old bitcoin qt client
under the recieve tab, it shows 3 addresses, one of which has no label, The second has the address contained in the email from coinbase, and the third has another address that i believe i had sent coins to at some point.
The two "labels" i can search on blockchain.info and they both have a balance. HOWEVER.. when you right click copy address, it copes an entirely different address.
this address has a zero balance. in all 3 spots.
So ive tried importing the wallet into bitcoin core, it does not show anything, so i know this is an older file created by the older bitcoin qt client.
ive run several commands in the debug console, trying to dump the private keys, but for some reason the wallet file i have does not contain the private keys for the two addresses that have coins.
I had someone trying to help me but he says the wallet is encrypted.
so i opened the debug console and tried to unlock the wallet using the passphrase i think i would have used, and it tells me that the wallet is not encrypted
which makes sense because i remember specifically not encrypting the wallet because i always forget passwords.
Whats weird is, how did these addresses get put into the label section of the recieveing tab? i know for a fact that one of them which contains 2btc i could have manually entered myself, because i do have a record of the address on my email from coinpal.
the second one tho, i have no idea where i would have found the address. They both have one transaction right around the same time, and they both have a balance. one of 2btc, one of .4 btc. the transaction dates line up to when i bought the coins.
im having data recovery done on my hard drives at this point to look for more bitcoin wallets, because im pretty sure i had more bitcoins in there as well. at least 6 or 8 more that i can remember.
So is it possible that the wallet file is corrupt? if so is it repairable?
or is it more liekely that ADDRESSES listed in the recieve tab are the actual addresses contained in the wallet file, and the labels are something else? im ripping my hair out trying to figure this out.. I have a wallet file. it has 2 addresses listed which i can verify both have a balance, but i cannot gain access.
i remember in 2011 buying some coins, and like the next day my computer crashed and got stuck in a boot loop so i had to reformat. and i remember backing up my wallet on a flash drive, and trying to restore it and the coins not showing up even after the blockchain loaded.
i have not yet finished loading the blockchain on my bitcoin qt app, so maybe that has somethign to do with it, but i find it odd that these addresses do not have the correct private keys.
any ideas?
submitted by cttigwelder to Bitcoin [link] [comments]

The Very Basics of Using a QT Wallet

Since Shield hardforked from Verge recently to Bitcoin Core 0.16, I noticed many are not familiar with the current QT wallet. This is very basic stuff I think everyone in crypto should know how to do. Like encrypt the wallet, back the wallet up, create addresses with labels, enable coin control, and how to dump & import private keys.
https://steemit.com/cryptocurrency/@methoncrypto/basic-use-of-shield-v3-qt-wallet
submitted by verystrongHODLer to CryptoCurrency [link] [comments]

Salvaging an old bitcoin wallet

Back in 2013 I experimented in a little bitcoin mining using an asicminer blade v2, bfgminer, and bitcoin-qt, until my computer crashed. I forgot about it for a few years, but with the rise in bitcoin price I decided it was worth the effort to retrieve what little bitcoin I made.
So far I managed to get the wallet.dat off the old hard drive. I installed bitcoin-qt but have unsuccessfully tried to download the blockchain over the past month. It tells me I've got over 0.19 bitcoin. I might be better off importing it into electrum if I can get the private key.
The console asks for a passphrase when I try to dump the private key, but none of the passwords I have written down are working. One password has a comma in it and gives me a JSON error message including the half of the password after the comma.
I have been using John The Ripper Bleeding Jumbo to try to extract the hash but bitcoin2john.py tells me that the wallet.dat is not encrypted.
I'm not sure how to proceed at this point. Do I need to download the entire blockchain in order for my password to work, or to send my bitcoin to another wallet? Is there another trusted program I can use to get the hash or private key?
submitted by k9jeep to BitcoinBeginners [link] [comments]

The ultimate back-up plan: Your private key, stored in the block chain, encrypted

[edit: It is the ultimate back-up, but it doesn't mean it is the safest. I'm too tired to figure that out. I'm just explaining how to store a private key in the block chain, in case it is useful or can be made useful.]
I had that idea if someone is interested, though I guess people won't like it. It's a bit wild. We encrypt the key and put it in the block chain with a trick.
I'm not saying everyone should do this, but it could be useful to know it can be done.
If you trust encryption and your password more than back-ups or a third-party, then it could be nice. I'm no encryption expert but it should be strong enough.
"Instead of taking 1.3 quadrillion years, our magical cracking supercomputer would only need 328 trillion years." http://www.kotfu.net/2011/08/what-does-it-take-to-hack-aes/
If it's flawed or gets cracked after a billion years, I decline all responsibility. But you can be sneaky about it. I propose a sneaky trick at the end. It's a bit rough on the edges and crazy but I'll put it out there. If people like it, there are always ways to streamline.
Anyway, you can't memorize the key as you can memorize a password. It's true you can put it on paper; then lose the paper. You can encrypt it and keep it on hard drive, then lose the hard drive. Or on a service, and lose the service. The block chain though, is going to stay around as long as you need the key. So I suggest this whole alternative.
You can still put the information on paper if you want. But now, just your memory is enough. Just the password.
The drawback is the infinitesimal odd of someone finding out and spending a lot of years and resources on brute-forcing. I'm not sure what would be the odds of success. Just make it so decades of computing resource cost more than what's inside.
Now I'll explain how to do it from A to Z, for the few interested.
Plan: 0) Vanity 1) Get the key 2) Encrypt the key 3) Put the key in the block chain 4) Retrieval 5) Conclusion
0) Optional: Vanity I recommend a vanity address (choosing the first part of the address). So if worst comes to worst, you find it from memory in the block chain. And also, it's kinda neato. How-to: first, download VanityGen, direct/wiki. Extract it, then Open a console window at the location with shift-right click in the folder, if you have vista/7/8. Then type "vanitygen 1something" in it. It has to start with 1. If it's too long it'll take a lot of time. Ctrl-C to cancel if it's too long. Faster with GPU: oclvanitygen -D 0:0 1something (maybe broken atm) When you have the key, type "importprivkey mykey" in Help->Debug->Console of bitcoin-qt, to add it. Result of this optional step: A beautiful address which can be retrieved from memory if needed (after it has been seen in the block chain with a transaction)
1) Get the key - Download open source Pywallet: direct/profile - Extract pywallet.py somewhere. Shift-right click in the folder and "open a console window" - In the console, type: pywallet --dumpwallet dump.txt If your wallet is encrypted, then add --passphrase=PASSPHRASE Now you find the key in dump.txt. (note: it reads the wallet at C:\Users\x\Bitcoin) Result of this step: the private key; it looks like 51 characters starting with the number 5. (To delete dump.txt, you can use a software so it can't be recovered from HDD, like Recuva it seems)
2) Encrypt the key - Choose an algorithm. Personally, I pick AES-256. - Download a trustworthy program to encrypt text with the algorithm. Here are two with GUI I found. It's open source but I didn't check it, so it's not 100% safe: http://sourceforge.net/projects/textcrypt/ https://code.google.com/p/immediatecrypt/downloads/list They're both jar files. Maybe you can click them. Personally I have to go in the console; I'm so tired of that coffee cup. "C:\Program Files (x86)\Java\jre7\bin\java.exe" -jar ImmediateCrypt.jar. It gave me an error though. Not the other. Maybe someone can suggest better. - Choose a good password. It's all about the password (and the software). AES is weak with weak password. And crazy strong with a good password. This is not like websites with protection against brute-force. People can brute-force fully if they find out. I like psycho-pass method which is about a pattern on the keyboard instead of semantics. Side Info: http://www.jmir.org/2012/1/e10/ http://www.jmir.org/2013/8/e161/ Or a passphrase if you want. Here is a nice table with password entropy: http://en.wikipedia.org/wiki/Password_strength#Random_passwords Below 64 bits of entropy, it's too unsafe, it's too weak. We need 128 bits or above, as far as I know. That is 25 random alphanumeric. If you're feeling paranoid, 256 bits. You can check entropy of password roughly here: http://rumkin.com/tools/password/passchk.php Remember it is not like websites. There is no "Forgot password?" button. Memorize it permanently; and maybe write it down in your favorite book just in case, I don't know. Result of this step: the encrypted key. It doesn't matter what it looks like as long as it takes you back to the key when you click "Decrypt". (on a different software, preferably)
3) Put the key in the block chain It works by sending some minimum amount to fake addresses, with data encoded in the addresses. Can't try this part because I don't have bitcoins. :[ Only a wallet! If some liked the guide particularly: 1thxd4KJLhBMcfCYaVKYMA8Atv3Dfx9hb :3 I'll follow the method of this great article: http://www.righto.com/2014/02/ascii-bernanke-wikileaks-photographs.html (the blog is remarkable!) - We're supposed to split the encrypted key in chunks of 20 characters. Then convert from ASCII to hex. Last chunk we fill with extra zeros. I wrote a little javascript to do it all automatically! If you don't like it, find a software, or do it manually. Not tested much but seems to work for my test. I'll say how to know if it worked. Copy that: encrypted='';har=(encrypted.split ('').map(function(c){return c.charCodeAt(0).toString(16); }));ek="";har.forEach(function(c){ek+=c;});while(ek.length%40!=0)ek+='0';iEK=0;ek2='';while(ek.length>0){ek2+=ek.substr(iEK,iEK+40) + "\n";if(ek.length>=40)ek=ek.substr(40,ek.length-40);else ek='';};ek2;
Check eventual comments to know if it's a hack/broken mess.
I don't do much Javascript, or much anything. Paste the whole thing in the javascript console. To open the console: Chrome, Ctrl-Shift-J. Firefox, Ctrl-Shift-K. IE9, F12. Put your encrypted key between the '' right at the beginning, then enter.
This should display rows of 40-characters chunks of the encrypted key in hex format (numbers, and a to f). I have 6 chunks but it depends on encryption. It should give twice as much characters as the input except for last zeros, and follow this conversion table from Char to Hx column. If it doesn't, call the police. Or use some Ascii to Hex service.
Now we take these chunks one by one and use https://blockchain.info/q/hashtoaddress/the_hex_chunk to convert to BTC addresses.
Send spare money to each one (the strict minimum is suspect and it'd get found easily) in the right order (wait for 1 or 2 confirmations each time to be sure).
And we're done! The information is safe and cozy, in the block chain. Not safe from brute-forcing, but safe from ourselves; and that's safer, isn't it?
4) Retrieval
Alright, how do we go back from the addresses to the encrypted key? I can't try it myself, but apparently, according to the article: 1) Get the transaction ID on blockchain.info, by going to the wallet's profile 2) Go to http://blockexplorer.com/rawtx/your_transaction_id 3) There will be something like that: "out":[ { "value":"25.08603421", "scriptPubKey":"OP_DUP OP_HASH160 27a1f12771de5cc3b73941664b2537c15316be43 OP_EQUALVERIFY OP_CHECKSIG" } ]
And you need to translate the "27a1f12771de5cc3b73941664b2537c15316be43" part from hex to Unicode. The result should be the chunk of encrypted key, written in hex again. You put all the parts together in order, remove extra zeros. Then use a program to go back from hex bytes to ASCII. Maybe someone can do it or I'll put the javascript one of these days if people are interested; I don't think they'll be. Usually I'm serious and extensive but you can't imagine how tired I am these days, of everything. Anyway, you put that ASCII in the AES program with your password, you click Decrypt.
Then you have your private key.
If you do this, don't lose other back-ups until you have successfully retrieved the key, to know it works.
5) Conclusion I understand that there's a small chance that someone figures the transactions are data, reassembles the parts, has massive luck and breaks the crazy strong encryption with supercomputers and botnets in less than decades, or aliens hack your bitcoins with quantum computers, ect... But I don't know, that seems very unlikely to me; more unlikely than losing personal back-ups or third-parties being untrustworthy.
More importantly, it gives peace of mind of not having to manage back-up stuff. You can format your hard drive and burn your house down if you want without worrying about losing stuff; well, except the house. And maybe the wife. Or you go to prison 20 years, and it'll still be there. If some of you want to go to prison. I know of one.
Here's a complicated idea for the extra-extra-paranoid: You send just one letter by one letter of the encrypted key, into dozens of fake addresses, to which you send bitcoins you got from an exchange and not from the main wallet, and only you know the correct addresses/order with the data, because of a pattern in the other letters. For example, the 2nd letter of the 1st data part is the 1st letter of your password when it's hashed. The 3rd letter of the 2nd data part is the 2nd letter of your hashed password. Ect... And it's not true for the other parts. So you know the order, but not someone without the password. It can go like this for many parts, then maybe if you run out of letters you send through a different wallet. All other characters are misleading except the 1st one, or last one, being the key character. And you also send money to other fake wallets which are purely misleading. Even if a flaw in AES was found and it could be broken instantly, an attacker would have to find the correct combination even before the strong encryption brute-forcing, he can't even know if he has the right combination, and that can be a big number of combinations. You can do the math. It's exponential stuff, I think. That's something I just thought of quickly, and I don't know much about any of that. Someone can find better. (Maybe, or maybe not, there's something about the encryption output which makes it so we can find the order back without password, then we'd need some kind of trick to obfuscate the position or nature of key characters but I won't spend any more time on something likely to be wrong/uninteresting).
tl;dr: "It works by sending some minimum amount to fake addresses, with data encoded in the addresses. "
Point is, once we know we can store data in the block chain, there are plenty of ways to make it so we're never locked out from the main address.
Well, if you can remember the password.
I hope this was useful to someone!
Goodbye
submitted by yemethzi to Bitcoin [link] [comments]

Public and Private Key- How it works in Bitcoin. - YouTube Dash: QT Wallet Private Key Export/Import = G15E17 Hack bitcoin (private script) 2019 How to Generate Private Key from a Bitcoin watch only address 2020 BITCOIN DUMP... HODL or SELL?

Trying to use this posted method: To export a private key from your Satoshi bitcoin-qt client: launch your bitcoin client as usual and wait for it to load the blockchain and start up click on 'help' in the menu bar (top right) click on 'debug window' select the 'console' tab type: walletpassphrase "your walletpassphrase here" 600 type: dumpprivkey [your bitcoin address here] this will return ... Adds a private key (as returned by dumpprivkey) to your wallet. This may take a while, as a rescan is done, looking for existing transactions. Optional [rescan] parameter added in 0.8.0. Note: There's no need to import public key, as in ECDSA (unlike RSA) this can be computed from private key. Y invalidateblock <hash> Bitcoin Private Keys Directory. PrivateKeys.pw is the most complete Bitcoin, Bitcoin Segwit, Bitcoin Cash, Bitcoin SV, Ethereum, Litecoin, Dogecoin, Dash, Zcash, CLAM private keys explorer. Our directory contains all possible Elliptic Curve Digital Signature Algorithm (ECDSA) secp256k1 private keys in decimal, hexadecimal, raw, and WIF formats. Wallet Private Key Encryption (on CWallet) #352. Merged ... if an attacker gets the wallet, they can still just dump it in their .bitcoin folder and send coins, its better to be backward compatible if users dont encrypt than just break that too for nothing. ... The private key will have to be swappable, through no fault of bitcoin's. Copy the old wallet.dat to your Bitcoin directory. Open up a terminal and run the bitcoind daemon: bitcoind -daemon. Retrieve a list of all the addresses in the wallet: bitcoind listaddressgroupings. For every address you want the private key from, dump it: bitcoind dumpprivkey <bitcoinaddress> Stop the daemon before changing the wallet.dat file:

[index] [9683] [13359] [29866] [15267] [9856] [21099] [16768] [3497] [25376] [1394]

Public and Private Key- How it works in Bitcoin. - YouTube

Keep your Private Keys safe: ... BITCOIN PRICE DUMP EXPLAINED! Is this the recovery already? ... Math Behind Bitcoin and Elliptic Curve Cryptography (Explained Simply) - Duration: 11:13. RSA Public Key Encryption Algorithm (cryptography). How & why it works. See my blog for more about bitcoin and it's emerging opportunity -----... In this tutorial we are going to get our private keys from the bitcoin core wallet. This only works when you created the bitcoin address in the same wallet. ... EXPORT PRIVATE KEY: dumpprivkey + "walletaddress"-----Private key is ORIGINAL wallet, you can move to any other wallet (web, electrum, qt, java ...). The most important thing is that it can NEVER ... How to Generate Private Key from a Bitcoin watch only address 2020 We help you generate bitcoin private key for non spendable funds. online bitcoin private key generator private key finder and ...

#