Bitcoin Forum
May 08, 2024, 11:35:24 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 »
  Print  
Author Topic: [ANN] bitaddress.org Safe JavaScript Bitcoin address/private key  (Read 153012 times)
casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1136


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
July 30, 2012, 10:03:10 PM
 #221

So it's JavaScript it means it is client side computing no private key is transmitted over the internet?

That is correct.  Run it offline as a further assurance.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
1715211324
Hero Member
*
Offline Offline

Posts: 1715211324

View Profile Personal Message (Offline)

Ignore
1715211324
Reply with quote  #2

1715211324
Report to moderator
1715211324
Hero Member
*
Offline Offline

Posts: 1715211324

View Profile Personal Message (Offline)

Ignore
1715211324
Reply with quote  #2

1715211324
Report to moderator
Bitcoin addresses contain a checksum, so it is very unlikely that mistyping an address will cause you to lose money.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715211324
Hero Member
*
Offline Offline

Posts: 1715211324

View Profile Personal Message (Offline)

Ignore
1715211324
Reply with quote  #2

1715211324
Report to moderator
1715211324
Hero Member
*
Offline Offline

Posts: 1715211324

View Profile Personal Message (Offline)

Ignore
1715211324
Reply with quote  #2

1715211324
Report to moderator
Stephen Gornick
Legendary
*
Offline Offline

Activity: 2506
Merit: 1010


View Profile
July 30, 2012, 10:35:12 PM
 #222

So it's JavaScript it means it is client side computing no private key is transmitted over the internet?

That is correct.  Run it offline as a further assurance.

Run it offline, from a liveOS (e.g., boot to an Ubuntu distribution image) for even further assurance.

Brian Krebs gives an example of doing this for online banking here:
 - http://krebsonsecurity.com/2012/07/banking-on-a-live-cd/

Unichange.me

            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █


dooglus
Legendary
*
Offline Offline

Activity: 2940
Merit: 1330



View Profile
July 30, 2012, 10:38:55 PM
 #223

So it's JavaScript it means it is client side computing no private key is transmitted over the internet?

That is correct.  Run it offline as a further assurance.

It's a single file too - all the graphics, css, scripting are part of the main HTML file.  So just save the page to a USB stick and take it to an offline machine to generate your offline keys & brain wallets.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1009


firstbits:1MinerQ


View Profile WWW
July 31, 2012, 12:03:49 AM
 #224

I just comment out these two lines in src/rpcdump.cpp:

Code:
        pwalletMain->ScanForWalletTransactions(pindexGenesisBlock, true);
        pwalletMain->ReacceptWalletTransactions();

Then you can import keys really quickly.  Since you've probably just generated the private keys anyway using bitaddress.org it's a real waste of time to scan the blockchain for transactions to and from the keys.  I need to restart bitcoin-qt after importing a batch of keys for the keys to show up in the 'receive coins' tab, but that's much better than having to wait for a full rescan after each importprivkey.

I did this too, and also modified the -rescan code so that -rescan=170000 (for example) only scans from block 170000 and beyond.  Perfect if you know you're importing recently-received funds.  IIRC, the way I did it was to modify ScanForWalletTransactions() to have one more 64-bit-integer parameter to say how many blocks to skip, and then created an overload so calls lacking the skip number will default to 0.

This way I can import lots of private keys, but only wait for a blockchain rescan once, and only from the starting point where I began receiving payments with those keys.

Both excellent ideas. Except I use the Ubuntu PPA and don't compile my own source. Drats.
We should petition for a new API call for this. Something like "setrescanstart" which can be default 0 or set off (-1) or given a block # to rescan from, just for the current session. That would save a lot of people time.

casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1136


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
July 31, 2012, 12:39:41 AM
 #225

Both excellent ideas. Except I use the Ubuntu PPA and don't compile my own source. Drats.
We should petition for a new API call for this. Something like "setrescanstart" which can be default 0 or set off (-1) or given a block # to rescan from, just for the current session. That would save a lot of people time.

Rescan is a command-line function, and their command line parser is already well-suited to grabbing and passing numeric arguments, so combining it with the actual rescan argument to me makes the most sense.

Actually, ongoing, a rescan shouldn't be necessary to import a private key with its balance, and ideally the client will maintain an index allowing for instant lookup of value behind a bitcoin address.  Even though the developers haven't considered such an index a priority feature, there is some discussion about maintaining a meta-tree to break the barrier of not having to carry a full block chain, and that meta-tree would serve the same purpose as the index and make a block chain rescan unnecessary.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1009


firstbits:1MinerQ


View Profile WWW
July 31, 2012, 01:05:04 AM
 #226

Rescan is a command-line function, and their command line parser is already well-suited to grabbing and passing numeric arguments, so combining it with the actual rescan argument to me makes the most sense.
Makes sense to me. Something like defaults to scan from block 0, but you can give it a block # to scan from or negative number meaning from current block. eg. -10 scan last 10 blocks. And import privkey doesn't need to rescan as you can just issue the rescan command after importing a whole batch of keys.

slothbag
Sr. Member
****
Offline Offline

Activity: 369
Merit: 250



View Profile
August 02, 2012, 07:13:00 AM
Last edit: August 02, 2012, 01:33:08 PM by slothbag
 #227

Is it possible to include the ability to encrypt and decrypt the private key string and private key QR code with a simple passphrase.

I would like to print up a paper wallet but require entering a pass phrase to decode it.. then I can leave the paper wallet on a desk and be pretty confident if someone took it they wouldn't be able to use it without some brute force cracking.

Stephen Gornick
Legendary
*
Offline Offline

Activity: 2506
Merit: 1010


View Profile
August 02, 2012, 04:00:25 PM
 #228

I would like to print up a paper wallet but require entering a pass phrase to decode it.. then I can leave the paper wallet on a desk and be pretty confident if someone took it they wouldn't be able to use it without some brute force cracking.

That topic occurs earlier in this thread, but is not being implemented on BitAddress.org:
 - http://bitcointalk.org/index.php?topic=43496.msg750838#msg750838


And it was suggested by about a half dozen people on the bitcoin banknote thread:
 - http://bitcointalk.org/index.php?topic=92969.msg1036869#msg1036869

Unichange.me

            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █


casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1136


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
August 02, 2012, 04:23:52 PM
 #229

Is it possible to include the ability to encrypt and decrypt the private key string and private key QR code with a simple passphrase.

I would like to print up a paper wallet but require entering a pass phrase to decode it.. then I can leave the paper wallet on a desk and be pretty confident if someone took it they wouldn't be able to use it without some brute force cracking.



I am thinking of proposing specs for this, and then modifying my Casascius Bitcoin Utility to be a proof of concept.

What I have in mind...  You all know that 5xxxxx is a private key... I am thinking of defining another prefix (e.g. Pxxxxxx) to be a "private key that needs something else to be redeemed".  (In minikeys, Sxxxxx is a private key, and Pxxxxxx could be a protected minikey)

That "something else" could be a passphrase, another private key, or a combination of both.  The specification I draft will accommodate base cases.

My utility will be needed to actually decrypt them, but by publishing and standardizing the encoding, I'll be able to get others to jump on the bandwagon (similar to how I did with the minikey).

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
payb.tc
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000



View Profile
August 03, 2012, 12:08:59 AM
 #230

on the new brainwallet tab, i updated my local copy to say input type="password". perhaps you could think about this for the next revision.

people probably aren't using this in public, but might still feel better not having their phrase shown on the screen.
slothbag
Sr. Member
****
Offline Offline

Activity: 369
Merit: 250



View Profile
August 03, 2012, 01:25:26 AM
 #231

I am thinking of proposing specs for this, and then modifying my Casascius Bitcoin Utility to be a proof of concept.

What I have in mind...  You all know that 5xxxxx is a private key... I am thinking of defining another prefix (e.g. Pxxxxxx) to be a "private key that needs something else to be redeemed".  (In minikeys, Sxxxxx is a private key, and Pxxxxxx could be a protected minikey)

That "something else" could be a passphrase, another private key, or a combination of both.  The specification I draft will accommodate base cases.

My utility will be needed to actually decrypt them, but by publishing and standardizing the encoding, I'll be able to get others to jump on the bandwagon (similar to how I did with the minikey).

Funnily enough, initially I was thinking the best approach was to modify your dot.net wallet app to include private key encryption and a QR renderer.  Then I thought it would be easier for this BitAddress tool, but if thats already been discussed and rejected I guess its back to modifying your dot.net app.  If the code is generic enough it should compile and run in Mono and be cross platform.

I like your proposal.  Keep us posted.
casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1136


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
August 03, 2012, 01:39:44 AM
 #232

I am thinking of proposing specs for this, and then modifying my Casascius Bitcoin Utility to be a proof of concept.

What I have in mind...  You all know that 5xxxxx is a private key... I am thinking of defining another prefix (e.g. Pxxxxxx) to be a "private key that needs something else to be redeemed".  (In minikeys, Sxxxxx is a private key, and Pxxxxxx could be a protected minikey)

That "something else" could be a passphrase, another private key, or a combination of both.  The specification I draft will accommodate base cases.

My utility will be needed to actually decrypt them, but by publishing and standardizing the encoding, I'll be able to get others to jump on the bandwagon (similar to how I did with the minikey).

Funnily enough, initially I was thinking the best approach was to modify your dot.net wallet app to include private key encryption and a QR renderer.  Then I thought it would be easier for this BitAddress tool, but if thats already been discussed and rejected I guess its back to modifying your dot.net app.  If the code is generic enough it should compile and run in Mono and be cross platform.

I like your proposal.  Keep us posted.

I have already added the QR stuff, I have just done so many dirty hacks to my code to perform one-off tasks that it's now a total mess and I'd be embarrassed to check it in.  But I'd zip it up and e-mail it to you if you wanted to start where I left off.  It will print QR paper wallets and dump the bitcoin addresses to a text file, but prints a hard coded quantity and dumps to a hard coded text file because I was just in a hurry to get some more coldwallets I could use with my website (where the private key is on paper but the bitcoin address stays online so the server can serve it)

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
pointbiz (OP)
Sr. Member
****
Offline Offline

Activity: 437
Merit: 415

1ninja


View Profile
August 04, 2012, 12:42:29 AM
 #233

on the new brainwallet tab, i updated my local copy to say input type="password". perhaps you could think about this for the next revision.

people probably aren't using this in public, but might still feel better not having their phrase shown on the screen.


That's a good point. I think it's worthwhile to have the ability to toggle show/hide for passphrase text.
I'll add that to the next version.

Coder of: https://www.bitaddress.org      Thread
Open Source JavaScript Client-Side Bitcoin Wallet Generator
Donations: 1NiNja1bUmhSoTXozBRBEtR8LeF9TGbZBN   PGP
dooglus
Legendary
*
Offline Offline

Activity: 2940
Merit: 1330



View Profile
August 04, 2012, 06:49:24 AM
 #234

on the new brainwallet tab, i updated my local copy to say input type="password". perhaps you could think about this for the next revision.

people probably aren't using this in public, but might still feel better not having their phrase shown on the screen.


That's a good point. I think it's worthwhile to have the ability to toggle show/hide for passphrase text.
I'll add that to the next version.

Maybe also the option to have 2 boxes where I can type the passphrase twice, have it not show up, but have an indication of whether I typed it the same both times.  I understand some people might want the passphrase displayed on-screen, so they can check whether they typed it right, but for those who don't want it displayed it's useful to have a "type it again to make sure" box.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
fivemileshigh
Full Member
***
Offline Offline

Activity: 136
Merit: 100


View Profile
August 04, 2012, 11:57:52 AM
 #235

[newb]

Re:the brain wallet tab:

Is there a minimum recommended passphrase ? Are 30 characters enough?

[/newb] thanks!

And further: is bitaddress.org the only way to recover the private key, or are there alternatives?
dooglus
Legendary
*
Offline Offline

Activity: 2940
Merit: 1330



View Profile
August 04, 2012, 04:26:49 PM
 #236

[newb]

Re:the brain wallet tab:

Is there a minimum recommended passphrase ? Are 30 characters enough?

[/newb] thanks!

And further: is bitaddress.org the only way to recover the private key, or are there alternatives?


bitaddress is just doing an sha256 hash of the brain wallet passphrase to get the private key, and then encoding it into wallet import format in the standard way.  So creating an alternative would be trivial.  I don't know of existing software that will do the job, but it probably already exists.

For the first step:

Code:
$ echo -n 'abcdefghijklmnopqrstuvwxyz 123' | sha256sum
daa0f2bcf5f0ea99d3df46a07af6202f781ff46016ce14b94b66eee000b0056b  -

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1009


firstbits:1MinerQ


View Profile WWW
August 04, 2012, 11:31:29 PM
 #237

Blockchain.info has now added Brain Wallet support with the same format.

Note that the value above,

daa0f2bcf5f0ea99d3df46a07af6202f781ff46016ce14b94b66eee000b0056b

is the hex version of the private key. You can verify that by plugging it into the Wallet Details tab on bitaddress.org and see that you get the same WIF format private key. I also verified that the hex version can be imported into blockchain.info directly.

So if bitaddress.org were to vanish you could still use blockchain.info. But vanishing is impossible if you save the page to your local computer first (since it can be opened in a browser locally any time later and still function).


BkkCoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1009


firstbits:1MinerQ


View Profile WWW
August 06, 2012, 12:49:06 AM
 #238

Might it be useful/possible to add a feature to wallet details that could sum keys like the vanitygen keyconv utility?

I think the wallet details tab can be used to create a hex public key for input to vanitygen. This allows third party vanity address generation now. The result is a partial key that must be combined back with the original hex private key to form the new trusted private key (and address).

But currently users would have to trust a third party to compile the keyconv utility, or compile it themselves. So having bitaddress.org with such a sum tool would make it easier for third party address generation to be workable.

Not sure how hard that sum process is but it seems like it may be useful, and perhaps could be used in other applications involving third party private keys.

dooglus
Legendary
*
Offline Offline

Activity: 2940
Merit: 1330



View Profile
August 06, 2012, 07:44:15 AM
 #239

Blockchain.info has now added Brain Wallet support with the same format.

I'm not seeing it.  Where can I find the brain wallet support on blockchain.info?

Thanks.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
rockxie
Sr. Member
****
Offline Offline

Activity: 284
Merit: 254


View Profile
August 06, 2012, 07:54:50 AM
 #240

Blockchain.info has now added Brain Wallet support with the same format.

I'm not seeing it.  Where can I find the brain wallet support on blockchain.info?

Thanks.


Import / Export   
Pages: « 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!