Live data from Hacker News

Xkcd Password Generator

preshing.com

231–240 of 299 posts

Re: Xkcd Password Generator

#231
post #138

Earlier quoted context omitted.

It turns out that you are mistaken. Your favorite book is almost certainly chosen from the 129 million books that Google knows about: http://www.fastcompany.com/1678254/how-many-books-are-there-... That gives you 27 bits of entropy. The average book length is probably not over 400 pages. An average page probably doesn't have over 25 sentences on it. So the whole book contains only ten thousand sentences. That gives y…

The attack you describe is easy to defeat by making a small modification to the selected sentence.

If you choose one of eight small modifications to apply at a randomly-selected character, you get perhaps 6 bits of entropy from the choice of character and 3 bits from the choice of modification. That's better, but adding an extra common word to the end of the sentence would be better still.

Re: Xkcd Password Generator

#232

Earlier quoted context omitted.

This should be higher up. It's scary to see people — intelligent people, I'm sure — saying things like "And that goes even higher when you add punctuation!" No, it doesn't. All of the reasonable punctuation you could add to a sentence adds only a few bits of entropy at best. It also makes the sentence harder to remember— was there a comma or not? Adding unreasonable punctuation or symbols is even worse— you get sligh…

This is not entirely correct, we include non alphanumeric characters (punctuation) in our passwords occasionally because it increases the solution space for a brute force attack. While this doesn't really improve any individual password the fact that we occasionally include non alphanumeric charecters increases the possible password set from 62 possible charecters ^ password length to a something more like 90^passwor…

You seem to believe that you are saying something different from the comment you are replying to, but actually you seem to simply not understand it.

Re: Xkcd Password Generator

#233
post #230

Earlier quoted context omitted.

But it falls into the same boat as any dictionary attack. Most people with a passphrase are probably going to use one from a song. 90% of them are going to use one of the top 1,000 songs, 90% of them are going to start at the beginning of a line. If we say there are ~20 unique lines in the average song, and most people won't use more than ten successive words even if it bridges a line, that's 1000 * 20 * 10 = a keysp…

There's an easy way to defeat this: smellz like T33N SPIRIT! Trivial to memorize. Unlikely to brute force. I use phrases like that for the few locations where password managers don't reach (i.e. the password manager master password).

>.How is this an improvement? I now have to remember a song lyric, and some set of random manipulations of that song lyric. I've used that trick for passwords before, and it was a hassle. But that doesn't even matter— unless you're choosing the manipulations randomly (which is a contradiction in terms) you're falling right back into the exact damn trap the comic was about!

You've added ! at the end, replaced s with z, capitalized some words, and replaced vowels with numbers. These are already standard manipulations in a dictionary attack. And it's causing you to ignore the fact that you've chosen what is probably among the top 10 song lyrics used. "p4ssw0rd!" is "password" as far as a dictionary attacker is concerned. Calling this trivial to brute force is demeaning to the word "trivial". Your attacker wouldn't even laugh at you, because there'd be dozens of other hashes in the file just like yours.

It's been said over and over in these comments: the appearance of randomness is not randomness. Humans are horrible at making things random, as you've just demonstrated. Stop trying to make it look weird, and actually do the math.

Re: Xkcd Password Generator

#234
post #230

Earlier quoted context omitted.

There's an easy way to defeat this: smellz like T33N SPIRIT! Trivial to memorize. Unlikely to brute force. I use phrases like that for the few locations where password managers don't reach (i.e. the password manager master password).

>. How is this an improvement? I now have to remember a song lyric, and some set of random manipulations of that song lyric. I've used that trick for passwords before, and it was a hassle. But that doesn't even matter— unless you're choosing the manipulations randomly (which is a contradiction in terms) you're falling right back into the exact damn trap the comic was about! You've added ! at the end, replaced s with…

It's fairly easy for me to remember those manipulations. But you're right insofar that this would probably be both safer and easier to remember:

   Smells like teen spirit, and I like that plenty mucho!
I'm too lazy to do the math on it, perhaps you can help out?

Edit: It's a little annoying to collect these downvotes from people who either haven't done the math themselves or are too lazy to explain their advanced attack methods.

In my naive opinion my string above is at least equivalent to a 12 character password from a set of "Mixed upper and lower case alphabet plus numbers and common symbols.".

I count each word (10) and both symbols (,!) as a character here.

According to [1] an 8 char password of that type would take 83½ Days to crack in a Class-F attack ("supercomputer"). I'm purely guessing that those additional 4 "chars" should put it well into the multi-year range, under the premise my other assumptions are not too far off and that the number of english words is quite a bit larger than the number of ascii characters/symbols.

Any of the downvoters care to debunk that with real math?

I'd be honestly curious about a worst-case analysis that assumes the fragment "Smells like teen spirit" does appear in the attackers dictionary.

[1] http://www.lockdown.co.uk/?pg=combi

Re: Xkcd Password Generator

#235
post #30

How about (NOT SECURE YET, IT NEEDS MORE ENTROPY): from nltk.corpus import wordnet as wn all_animals = set() def add_to_set(animal): all_animals.add(animal.name.split('.')[0].replace('_',' ')) for child in animal.hyponyms(): add_to_set(child) add_to_set(wn.synset('animal.n.01')) all_animals = list(all_animals) actions = ['ate','chased','killed','fought','kissed', 'talked to','hated','loved','ambushed','fled'] # can a…

This is truly awesome. You could easily use a more complicated grammar, but it might get tricky to generate a password with a specified amount of entropy.

Re: Xkcd Password Generator

#236
post #206

Careful! This is only using `Math.random` and does not attempt to use `window.crypto.random` (though most browsers do not support it yet: http://jsfiddle.net/alanhogan/trUYu/ ) or anything that would attempt to bring real entropy into the process. I don’t mean to fault the creator of this page, but at the same time, I would not trust this generator for important passwords, simply because you cannot know if others are…

I wouldn't use a JS program served from somebody else's website to generate my password anyway. How do I know it's not sending them a copy of the passwords it generates?

Re: Xkcd Password Generator

#237
post #18

I would actually advise going against this advice. While it isn't a best practice, password sharing can and does happen, as does shoulder-surfing. It would take a LOT of effort to memorise my password, but a simple four word password will probably be remembered by accident. In a year's time if I piss a friend off, I don't want my Facebook password to be readily accessible in their memory. I think more people need to…

Yes, if you share your password, it's probably better to use a password that needs to be written down and can't be memorized, in order to have a chance of revocation. (Or you could just change your password.) But for most of us, most of the time, memorizable passwords are a boon.

Re: Xkcd Password Generator

#238
post #236
post #206

Careful! This is only using `Math.random` and does not attempt to use `window.crypto.random` (though most browsers do not support it yet: http://jsfiddle.net/alanhogan/trUYu/ ) or anything that would attempt to bring real entropy into the process. I don’t mean to fault the creator of this page, but at the same time, I would not trust this generator for important passwords, simply because you cannot know if others are…

I wouldn't use a JS program served from somebody else's website to generate my password anyway. How do I know it's not sending them a copy of the passwords it generates?

Well, I watched network connections and saw none. Do that + use Incognito mode = you're probably good.

Re: Xkcd Password Generator

#239

as embarrassing as it may seem, although having read the good part of this thread, i still don't understand why a four word password, can be more random than something i would get like this: ~$ pwgen -s 8 C0olz5KM Would anybody care to explain this to me, or at least point me to a good place where i can read up on this?

Assuming pwgen isn't actually defective (I haven't looked), you can get more entropy in a shorter password with pwgen. The above looks like 6 bits per character to me, so 48 bits in all. That's 4 bits greater --- 16 times better --- than Randall's estimate for "correct horse battery staple", which is much longer. But "correct horse battery staple office" gets you up to 55 bits. Is it going to be easier to remember "correct horse battery staple office" or "C0olz5KM"? And how about typing them without making errors?

Re: Xkcd Password Generator

#240
post #78

If you look at the source, their word list contains around 1600 words. That is just no where near enough. Using this would give you a very easy to crack password. You need to make up your own passwords with words you come up with.

1600 words is 10.6 bits per word. If you want to reach 70 bits (safe from offline attacks with custom hardware), that means you need 7 words, which is within most people's capacity to memorize. If you increase your wordlist to 65536 words, you can get 16 bits per word, but you have to include words like "lefeuvre", "aarau", and "aubagne". Then you can reach 70 bits in only 5 words. That's not worth it.

Inventing your own words is unlikely to produce very random words. You'll probably mostly invent the same few hundred nonsense words that any other speaker of your native language would invent.

In other words, you have no idea what you are talking about and should not have posted.

Post reply on HN