Bitcoin Forum
October 11, 2024, 08:54:00 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2  All
  Print  
Author Topic: [Electrum] a brainwallet in twelve words  (Read 13293 times)
ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
November 10, 2011, 01:06:59 AM
Last edit: March 14, 2012, 05:19:11 AM by ThomasV
 #1

The new Electrum client uses mnemonic codes to represent random wallet seeds.
A seed is encoded with 12 words from a 1626 words dictionary.
If you lose your wallet, these 12 words are the only thing you need in order to recover it.

Screenshot:

Electrum: the convenience of a web wallet, without the risks
ThePiachu
Sr. Member
****
Offline Offline

Activity: 444
Merit: 307



View Profile WWW
November 10, 2011, 12:10:46 PM
 #2

Very interesting. Reminds me of "correct horse battery staple" - http://xkcd.com/936/ .

1HWbVLhxj7bhewhyapMZpyhqWAeAhJd51E
My Bitcoin Calculator:
http://tpbitcalc.appspot.com/
grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1080


View Profile
November 26, 2011, 03:07:33 PM
 #3

seems pretty cool

ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
March 13, 2012, 06:41:33 AM
 #4

thanks to this feature of Electrum, it is now cited in Forbes:

http://www.forbes.com/sites/jonmatonis/2012/03/12/brainwallet-the-ultimate-in-mobile-money/

oh, and the 2012 official buzzword to say this is "Brainwallet"

Electrum: the convenience of a web wallet, without the risks
John (John K.)
Global Troll-buster and
Legendary
*
Offline Offline

Activity: 1288
Merit: 1227


Away on an extended break


View Profile
March 13, 2012, 07:13:39 AM
 #5

thanks to this feature of Electrum, it is now cited in Forbes:

http://www.forbes.com/sites/jonmatonis/2012/03/12/brainwallet-the-ultimate-in-mobile-money/

oh, and the 2012 official buzzword to say this is "Brainwallet"
Cool! Now we just need "Brainmining" to work  Wink
grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1080


View Profile
March 13, 2012, 11:22:50 AM
 #6

Nice, I don't know who exactly coind the term "brainwallet", but I like it Smiley

Joric
Member
**
Offline Offline

Activity: 67
Merit: 130


View Profile
April 11, 2012, 10:34:36 AM
 #7

Code:
$ ~/Electrum-0.43c/mnemonic.py pain apologize tired bar change think off outside clear fear hit stir
ValueError: 'pain' is not in list

Worldist has changed and there is no 'pain' anymore. Doesn't seem very reliable  Smiley Better use rfc1751.

1JoricCBkW8C5m7QUZMwoRz9rBCM6ZSy96
ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
April 11, 2012, 01:36:01 PM
Last edit: September 01, 2012, 08:29:38 PM by ThomasV
 #8

Code:
$ ~/Electrum-0.43c/mnemonic.py pain apologize tired bar change think off outside clear fear hit stir
ValueError: 'pain' is not in list

Worldist has changed and there is no 'pain' anymore. Doesn't seem very reliable  Smiley Better use rfc1751.

the sequence of word you quoted was used by me as a demonstration screenshot on the website.
the actual dictionary NEVER changed since the release of the software.

Electrum: the convenience of a web wallet, without the risks
Joric
Member
**
Offline Offline

Activity: 67
Merit: 130


View Profile
April 19, 2012, 12:28:02 PM
Merited by xandry (4)
 #9

Code:
$ mnemonic.py 0e590e7dcd80a54737e49d4f95db4fd
blank delight sanctuary demand peach sharp knife never meant

$ mnemonic.py blank delight sanctuary demand peach sharp knife never meant
e590e7dcd80a54737e49d4f95db4fd

$ mnemonic.py e590e7dcd80a54737e49d4f95db4fd
perhaps ever trade eye creator feather tight bloom step

It lacks support for codes with trailing zero (it's quite likely if keys considered random, the existing generator uses "%032x").
Importing 0e590e7dcd80a54737e49d4f95db4fd and "blank delight sanctuary demand peach sharp knife never meant" gives different results.


1JoricCBkW8C5m7QUZMwoRz9rBCM6ZSy96
ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
April 19, 2012, 12:57:09 PM
 #10

It lacks support for codes with trailing zero (it's quite likely if keys considered random, the existing generator uses "%032x").
Importing 0e590e7dcd80a54737e49d4f95db4fd and "blank delight sanctuary demand peach sharp knife never meant" gives different results.

thanks for spotting that. I just fixed it and released version 0.43e, whith the patch

Electrum: the convenience of a web wallet, without the risks
ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
April 19, 2012, 01:56:07 PM
Last edit: April 20, 2012, 05:17:00 AM by ThomasV
 #11

WARNING
A new website popped up, that lets users generate addresses from their Electrum or Armory seed: http://brainwallet.org/

Currently, it is not clear who created that website.
I previously thought it was Joric, but he just said he is not the author.

After a quick inspection, the javascript does not send your seed to a remote server.
However, nothing guarantees that the server will always send you the same javascript

In other words: this could very well be a phishing attempt.
If you ever used that website, move your funds to a new wallet immediately!


Electrum: the convenience of a web wallet, without the risks
MoonShadow
Legendary
*
Offline Offline

Activity: 1708
Merit: 1010



View Profile
July 16, 2012, 11:06:52 PM
 #12

Could mnemonic.py be used by any other client to produce a set of English words for a regularly produced address?  Thus being able to print out the 12 word sets of a regularly produced set of private keys for archival backup?

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
MatthewLM
Legendary
*
Offline Offline

Activity: 1190
Merit: 1004


View Profile
July 20, 2012, 07:25:53 PM
 #13

Maybe if you could generate grammatically correct (but likely nonsensical) sentences it would be more memorable?
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
July 22, 2012, 08:25:56 PM
 #14

Maybe if you could generate grammatically correct (but likely nonsensical) sentences it would be more memorable?

It's not hard to remember a "nonsensical" list of words. I use a trick: make some picture(s) in your mind, moving ones if you like. The weirder the pictures the better you'll remember the words.

I've been hiking with my girlfreind in Nepal for 3 weeks... while walking the whole day we got bored and we made up lists of words and kept repeating them... a childs game about packing your stuff and going on vacation. We both used this method and we had multiple lists of 100 words each memorized perfectly. After that got boring, we even managed to assign numbers from 0 to 99 to the words of one of the lists and memorized phone numbers using this code and the mentioned method of making a mental picture.

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
August 01, 2012, 04:36:45 PM
 #15

Maybe if you could generate grammatically correct (but likely nonsensical) sentences it would be more memorable?

loss of entropy aside, I believe that gramatically correct sentences are easier to learn, but they are also easier to forget.
if you make the effort to memorize a non-structured list you are more likely to remember it.


Electrum: the convenience of a web wallet, without the risks
Fluttershy
Sr. Member
****
Offline Offline

Activity: 420
Merit: 250


View Profile
August 30, 2012, 11:00:42 PM
 #16

Just got this client, it looks cool. Of course I copied my words to a random notepad doc I was using for other stuff.

molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
September 01, 2012, 08:25:45 PM
 #17

Just got this client, it looks cool. Of course I copied my words to a random notepad doc I was using for other stuff.

If I understand correctly what you did, I don't think that's a very good idea. An attacker having gained access to your drive could quite easily search for the words in lib/mnemonic.py and find your sentence pretty quickly.

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1009


firstbits:1MinerQ


View Profile WWW
September 18, 2012, 11:10:32 AM
 #18

Is there some way to make Electrum start in Pro Mode? It doesn't seem to remember mode and not window position either (one of my pet peeves!). It's kind of annoying to have to use the menu to switch mode every time started.

If not, then is it acceptable for me to contribute a patch on github that provides these options?

Also, I take it that the seed "word" space is 1626^12 = 3.4154387×10³⁸ - seems like a big enough space roughly close to 64^21, or a 21 char password. Sound about right?

ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
September 18, 2012, 12:28:09 PM
 #19

Is there some way to make Electrum start in Pro Mode? It doesn't seem to remember mode and not window position either (one of my pet peeves!). It's kind of annoying to have to use the menu to switch mode every time started.
If not, then is it acceptable for me to contribute a patch on github that provides these options?

I don't think it is possible at the moment. I find it annoying too; your patch will be welcome.

Quote
Also, I take it that the seed "word" space is 1626^12 = 3.4154387×10³⁸ - seems like a big enough space roughly close to 64^21, or a 21 char password. Sound about right?

the seed length is 128 bits. not sure how to map that into 'chars'

Electrum: the convenience of a web wallet, without the risks
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1009


firstbits:1MinerQ


View Profile WWW
September 19, 2012, 12:26:42 AM
Last edit: September 19, 2012, 12:40:17 AM by BkkCoins
 #20

I don't think it is possible at the moment. I find it annoying too; your patch will be welcome.
I'm just switching over to Electrum because the std client is now using 4GB of my SSD and I want that space back. So far it's looking awesome but there are a few things I'd like to tweak. I'll look at the code on gitHub and see what I can do. I'm new to GitHub but fairly proficient in Python.

Another thing I'd like is SOCKS proxy support, and that's easy to do in Python but depends on how network stuff is done.

the seed length is 128 bits. not sure how to map that into 'chars'
2^128 = 3.402823669×10³⁸ so that's very close to the space for 12 words from 1626 word dict. In terms of brute forcing I think it's roughly the same as using a 21 char password.

Can you comment on what data is visible on the network to the server? I see it says TCP mode and HTTP isn't clickable but is encryption or SSL used? I realize that the keys are not sent over the network but I'm wondering about side channel and contextual info. ie. an eavesdropper could monitor blockchain info retrieval and be able to piece together enough to know if further effort (breaking in to steal notebook) is worthwhile.

Having SOCKS support would allow using Electrum via a ssh tunnel more easily (eg. at web cafes or public access) providing protection from monitoring and MITM type attacks.

edit: Oh. I just read on another thread that genjix is now the dev for Electrum....

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