Pages:
Author

Topic: New blog post: Hiding Bitcoins in Your Brain - page 2. (Read 7286 times)

sr. member
Activity: 247
Merit: 250
Cosmic Cubist
I have a brainwallet with a passphrase of two sentences that I'm almost certainly never going to forget. It has unconventional punctuation, made up words, and it doesn't appear anywhere either online or in print. Is it safe to assume that this will be safe for a long, long time?

I don't think anybody knows. But you can find out:

Send a token amount of bitcoin to two more brainwallets, made from each of the sentences.

When somebody else either spends those bitcoins or sends more bitcoins to them, you know that your main brainwallet isn't safe any more.  (are the services that will send you an email when there is activity on a bitcoin address still around?)


So, there is a flaw with that strategy, Gavin:  A shrewd attacker who is systematically scouring passphrase space for coin balances might intentionally pass up most of the smaller, more easily-found jackpots so as not to alert the community that he has this search capability; he may be waiting to pounce until he finds a single, sufficiently-large stash.  Kind of like how the British code-breakers in WW2 intentionally did not act to prevent many U-boat attacks because they didn't want to tip off Germany that Britain had broken the Enigma code.  A classic application of information theory to warfare...

Furthermore, if your short "test" passphrase is a substring of your real passphrase, then by using it as a probe, you've now actually made it easier for attackers to figure out your longer, real passphrase...  Since once they find the shorter passphrase with coins in it, now to find the long one, they only have to search the subspace of longer strings that includes the shorter one as a substring.  

And including ID information (as you suggested earlier) could be counterproductive if the attacker has the capability to trace the transaction graph back to Mt. Gox (say) and compel them to release the customer's dox...  Then they can easily include the ID info when searching for the longer string, AND further they will have evidence that the big stash still belongs to you when they do find it.  
legendary
Activity: 1652
Merit: 2301
Chief Scientist
I have a brainwallet with a passphrase of two sentences that I'm almost certainly never going to forget. It has unconventional punctuation, made up words, and it doesn't appear anywhere either online or in print. Is it safe to assume that this will be safe for a long, long time?

I don't think anybody knows. But you can find out:

Send a token amount of bitcoin to two more brainwallets, made from each of the sentences.

When somebody else either spends those bitcoins or sends more bitcoins to them, you know that your main brainwallet isn't safe any more.  (are the services that will send you an email when there is activity on a bitcoin address still around?)
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
I think that if you are smart then a brainwallet is really not too hard to do. The problem that we are really trying to deal with here (as far as I can tell) is to help those that are "not so smart" (and therefore are unable to create a secure brainwallet).

So I would think that your brainwallet is safe (as I do mine and I welcome the challenge of anyone that wants to try and crack mine - there is a *lot* of BTC there to steal if you can).

Smiley
sr. member
Activity: 342
Merit: 250
I have a brainwallet with a passphrase of two sentences that I'm almost certainly never going to forget. It has unconventional punctuation, made up words, and it doesn't appear anywhere either online or in print. Is it safe to assume that this will be safe for a long, long time?
newbie
Activity: 28
Merit: 0
Blockchain and electrum work quite well enough for me!
sr. member
Activity: 247
Merit: 250
Cosmic Cubist
So, I'm currently trying Diceware (http://world.std.com/~reinhold/diceware.html) (advantage - the original random data never even touches a potentially-compromised computer) with the English word list (http://world.std.com/~reinhold/diceware.wordlist.asc).  It takes about 100 rolls of a 6-sided die (grouped 5 at a time to produce 20 diceware words) to get 256 bits of entropy.  Then I take the resulting 20-word list, break it into 4 chunks of 5 words each (about 64 bits of entropy each), and embed the 5 words in each chunk into a memorable sentence or pair of sentences.  I think I could remember these four chunks, with practice.  Would I still remember them in 20 years?  Doubtful, although I might try using a free spaced-repetition tool like Menemosyne (http://mnemosyne-proj.org/download-mnemosyne.php) to do it.

Example die rolls and the corresponding words:

Chunk #1:
----------
1.  46623 = pz
2.  16546 = chump
3.  23146 = dint
4.  25324 = feed
5.  51335 = rangy

Chunk #2:
----------
6.  14212 = bigot
7.  31325 = glory
8.  25661 = flour
9.  51153 = quinn
10. 14225 = bind

Chunk #3:
----------
11. 43133 = mugho
12. 21541 = crane
13. 45145 = parse
14. 42656 = movie
15. 21146 = louse

Chunk #4:
----------
16. 36634 = loeb
17. 14314 = bland
18. 31623 = grim
19. 33214 = holdup
20. 24566 = et

Full passphrase:  "pz chump dint feed rangy bigot glory flour quinn bind mugho crane parse movie louse loeb bland grim holdup et" - Suitable to feed into SHA-256 or scrypt.

Mnemonics for the four chunks:

1. PZ Myers made me feel like a chump, by dint of making me feed on the rangy grounds of his estate.
2. Call me a bigot, but I find no glory in grinding flour.  Harley Quinn had me in a bind.
3. I hoisted a mugho pine shrub up with my crane.  If only I could parse the meaning of that movie about a louse.
4. Even the Loeb classical library seemed bland to me these days.  But the grim logic of a holdup, et cetera, wouldn't let me go.

So, if you can remember these four passages, and which words in them are the important ones, then you can memorize a passphrase with 256 bits of entropy.  Smiley
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Is there something like CIYAM with a larger set of locations?

It's can be very easily edited/extended (just do a view source and you'll see it's quite readable) - also if anyone has enough interest to dedicate some time working on extending this then I will be happy to put up a task for it on CIYAM Open and allocate at least a bitcoin or two towards the effort.
sr. member
Activity: 247
Merit: 250
Cosmic Cubist
I agree with the use of scrypt (which I use in my offline key generation) and many of the other good suggestions.

Creating a secure "brainwallet" is actually very difficult (as Gavin has pointed out).

The "memory key" idea I have created (http://ciyam.org/memory_key.html) is another way to help - but of course if you want to create something "impossible" to brute force you need to be "creative" and you need to "work at it" (it can take quite a while to come up with something good enough).

I am willing to "test" publicly what *I* can come up with but of course I don't think that the same approach would necessarily work for others.

The problem of creating "secure" passwords has become "the problem" of our time as the "brute force power' has become so strong that a "new approach" is very much needed (if we are ever going to be able to get the "mums and dads" little own "grandmas and grandpas" using it successfully).


Is there something like CIYAM with a larger set of locations?
sr. member
Activity: 247
Merit: 250
Cosmic Cubist
@UncleBobs
a) You can test your passphrase' entropy there:
http://blog.shay.co/password-entropy/

Remember this is only approximation, and not
 exact measurement of entropy.

--------------------
+1 to the both posts of CIYAM Open.
Brainwallet is only good for several years,
and after that it must be replaced with more
 appropriate new software( and coins must be
 transferred to new addresses).

Well, entropy of a string is not really even an objectively definable quantity.  For example, if you type "3.141592653589793238462643"
into that calculator, it thinks it has 139.6 bits of entropy, but to remember it, I only have to remember "pi to 24 decimal places" and then compute it (or look it up) when I need it.

Another example is a page from an old book, which looks like it has a lot of entropy, until you know the book and page number and have access to a library.

In general, even a very long and apparently random string could have been computed by a very short algorithm (e.g., compute pi to 24 places; or, go to library, get that book, turn to page 37) and therefore could be feasible to guess (e.g. by trying all algorithms with minimum description length below a certain size).

This leads to a "pseudo-objective" measure of string entropy called Kolmogorov complexity, http://en.wikipedia.org/wiki/Kolmogorov_complexity, but it is intractable to compute in general.

The only way to be sure that a given passphrase has high Kolmogorov complexity would be to actually try cracking it by searching all algorithms below a certain length.  To be comprehensive, the algorithm should also have read access to all the world's published information.  (To prevent passphrases like, "Page 37 of such-and-such book available on Google.")

I'd say that memorizing randomly-generated stories, or using detailed, already-existing memories that you already know, or some of the other ideas suggested is the way to go, to be confident in ultra-high passphrase security...

Of course, people on this thread would also be well advised to remember this other xkcd comic...  Smiley

http://xkcd.com/538/
full member
Activity: 238
Merit: 100

Here's a crazy idea.


Neat idea! Did you come up with this on your own?

I see one possible weakness however:
What if someone manages to record the exact times "Joespass" decides to log in?
Perhaps there is a way to make this even more secure..?
vip
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
One time when I needed a temporary bitcoin receiving address in a pinch, but before paper wallets were easy to print and carry, I just thought of a silly song I had made up in elementary school which contained some non-words, and took a line from it.  Since I had remembered it that long despite having no use for it, there was no concern of forgetting it, and since it contained nonsense, there was no chance of anyone guessing it.

I would venture to guess that anything that can be reliably recalled from childhood should be suitable candidate material.  The work of embedding it into your brain has already been done.
legendary
Activity: 938
Merit: 1001
bitcoin - the aerogel of money
Humans are really bad at remembering phrases and numbers. 

Even a seemingly easy to remember phrase like "category platypus ennui toast" will not last more than 3-6 months in most peoples' long term memory, unless they rehearse it regularly.  Most regular bitcoin users are too busy/lazy to keep rehearsing their passphrases.  Also, rehearsal can accumulate errors over the years and overwrite the original memory, so to be safe you would have to write down the passphrase to remind yourself once in a while, which defeats the whole point of a brain wallet.

Humans are good at remembering images, however.

Instead of memorizing phrases, I would recommend employing your visual memory, for example like this: Go for a jog/walk/bike ride along a particular route once a week, for a period of 6 months. Then use the GPS coordinates of certain key points along the route as your passphrase. Even if you forget the coordinates, you are unlikely to forget the locations, and you can always look them up on a map.

Implicit memory is even more reliable than visual memory.

Though time consuming, this is probably the most secure way to set up a brain wallet:

http://www.extremetech.com/extreme/133067-unbreakable-crypto-store-a-30-character-password-in-your-brains-subconscious-memory



hero member
Activity: 520
Merit: 500
More power to everyone who is willing to have their ability to memorize potentially be a critical point of failure in retrieving their bitcoins. But what happens if you just forget it? I could never seriously recommend to anyone to store their savings in an account for more than a few months with only a memorized password, especially one that needs to be sufficiently long. Bank accounts, retirement accounts, etc, can still be recovered if you forget your password. Bitcoin is extremely secure, but also extremely unforgiving.
member
Activity: 103
Merit: 10
It From Bit
Thanks for the great links CIYAM and Ukigo  Shocked

Here are my tests so far:

- 12 words similar to Electrum:

dumb gattaca simp argonaut redact finger elephant duplex orinoco fan depilate roster Entropy: 463.98 bits

- Individual 4 words, like xkcd:

dumb gattaca simp argonaut Entropy: 138.37 bits
redact finger elephant duplex Entropy: 161.77 bits
orinoco fan depilate roster Entropy: 143.69 bits

- CIYAM situation/event password

R00L20A01E06Y01D07R04F11Z18  Entropy: 153.16 bits
jr. member
Activity: 42
Merit: 1000
@UncleBobs
a) You can test your passphrase' entropy there:
http://blog.shay.co/password-entropy/

Remember this is only approximation, and not
 exact measurement of entropy.

--------------------
+1 to the both posts of CIYAM Open.
Brainwallet is only good for several years,
and after that it must be replaced with more
 appropriate new software( and coins must be
 transferred to new addresses).
legendary
Activity: 3598
Merit: 2386
Viva Ut Vivas
I memorize each letter and number and associate it with something I can remember.

taking a few numbers from my private address: 8Sp57A

that subset I remember that when I was 8 years old I broke my arm, the 'S' I think about Superman, the 'p' stands for taking a piss, 57 for 57 Chevy that my dad rebuilt, the A is for Al's restaurant on Happy Days...

just a simple way of remembering it all no problem Tongue
legendary
Activity: 1400
Merit: 1013
Here's another method for converting large numbers into memorizable form:

http://en.wikipedia.org/wiki/Mnemonic_major_system
member
Activity: 103
Merit: 10
It From Bit
My best reference on difficulty at this point is this cartoon ( ! )

 https://xkcd.com/936/

which claims 4 words would take 550 years at 1000 guesses per second.
If the ratio of ~11 bits per word is correct you'd need 23 words to achieve 256 bits of entropy.

Basically it means we need to stop thinking in terms of passwords, and even passphrases, and instead think about pass-short stories.

Thanks.  OK, that does cause me some concern. 
legendary
Activity: 1400
Merit: 1013
My best reference on difficulty at this point is this cartoon ( ! )

 https://xkcd.com/936/

which claims 4 words would take 550 years at 1000 guesses per second.
If the ratio of ~11 bits per word is correct you'd need 23 words to achieve 256 bits of entropy.

Basically it means we need to stop thinking in terms of passwords, and even passphrases, and instead think about pass-short stories.
Pages:
Jump to: