Post
Topic
Board Bitcoin Discussion
Re: Forget brainwallet - could you memorize an entire private key?
by
deepceleron
on 27/08/2014, 01:34:37 UTC
Be careful with only using 160 bits of entropy for private keys.  The strength of ECDSA keys when the public key is known is half the key size.  For full length key 256 bits length = 128 bits strength.   So 160 bits mean 80 bit of strength.  This is not beyond brute force.  It may not be economical but brute forcing the private key from the public key is feasible.

That's a very good point I've glossed over, that when you spend, you are releasing more information that can be used to deduce the private key, worse if in conjunction with a weak random generator by the spending wallet. I was comparing directly the possible key size to possible address size.

To simplify the brute force would require some information about how the simplified public key was encoded; here I just showed it was shortened by being a much smaller number, other discoverable encodings of small keys include SHA256 (brainwallet). Putting the small key through 777 rounds of Centrifuge and Lanarea, for example, makes the encoding more obscure and more costly to rainbow-table, but still is not security equivalent to using a full random key. The encoding technique also becomes one more thing to remember.

I must add that I started the topic wanting to challenge people to memorize their own 55-letter random string, and remember it a day, a week, a month later, but the thesis changed as I was typing it.