Bitcoin Forum
May 10, 2024, 01:32:16 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Reasonable Brain Wallet Passphrases?  (Read 2810 times)
PrintCoins (OP)
Hero Member
*****
Offline Offline

Activity: 533
Merit: 501


View Profile
March 06, 2013, 04:17:42 PM
 #1

So I am looking into what would be required for a simple brain wallet passphrase generator that produced simple to remember passphrases, but ones that would not be able to be feasibly cracked within one's lifetime.

This comic was the starting point for me:



and someone created a generator here:
http://preshing.com/20110811/xkcd-password-generator

Looking at this thread:
https://bitcointalk.org/index.php?topic=68930.0
it is considered that the number of possible bitcoin addresses is 2^96 or 8e28 (8x10^28).

This passphrase generator does 1949^4 = 1.4e13.

If a gigahash is 10^9 hashes per second, than 1 gigahash should be able to generate every possible hash of this in 1.4e4 seconds (or roughly 4 hours).

If I use something like this:
http://www.infochimps.com/datasets/word-list-100000-official-crossword-words-excel-readable
it comes to about 3171 years for a machine producing 1 gigahash per second. (This would have 10^20 different 4 word combinations)

Assumptions made:
* Checking the blockchain for an address match takes no time (good indexing required to make this fast)
* The hashing hardware that is used to solve bitcoin blocks will generate priv/pub keypairs just as fast
(This second one I am very unsure of)

So to me it seems that using a really basic dictionary of about 2000 words does not produce the security required for this type of environment assuming a 4 word passphrase. A ~100000 word dictionary does produce the needed complexity using today's hardware.

Anyone with a better grasp of this stuff want to take a look and see if I am wildly off?

"Bitcoin: the cutting edge of begging technology." -- Giraffe.BTC
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715347936
Hero Member
*
Offline Offline

Posts: 1715347936

View Profile Personal Message (Offline)

Ignore
1715347936
Reply with quote  #2

1715347936
Report to moderator
1715347936
Hero Member
*
Offline Offline

Posts: 1715347936

View Profile Personal Message (Offline)

Ignore
1715347936
Reply with quote  #2

1715347936
Report to moderator
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4653



View Profile
March 07, 2013, 12:09:39 AM
 #2

Looking at this thread:
https://bitcointalk.org/index.php?topic=68930.0
it is considered that the number of possible bitcoin addresses is 2^96 or 8e28 (8x10^28).

Looking at the thread you linked to, it appears there are 2160 or 1.46e48 (1.46x1048) addresses.  Considerably more than 296
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4653



View Profile
March 07, 2013, 12:27:16 AM
 #3

- snip -
If a gigahash is 10^9 hashes per second, than 1 gigahash should be able to generate every possible hash of this in 1.4e4 seconds (or roughly 4 hours).
- snip -

Generating private/public key pairs involves Eliptic curve encryption.  I'm not not sure either, but I suspect that it takes longer than SHA-256 Hash.

More importantly, anyone who is not re-using bitcoin addresses is protected behind ECDSA, SHA-256, and RIPEMD-160.  This means that for each password that you try, you'll have to do the following steps:

Figure out what algorithm the user chose for converting a passphrase to a private key (typically just a SHA-256 hash of the passphrase).
Calculate the public key via ECDSA.
Calculate SHA-256 hash of the public key.
Calculate RIPEMD-160 of the resulting SHA-256 hash.
Compare the resulting RIPEMD-160 hash the a list of bitcoin addresses you are attempting to crack.

Pages: [1]
  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!