[ale] OT - making really strong pass phrases - was New encryption technology using a piece of paper

Ron Frazier atllinuxenthinfo at c3energy.com
Tue Sep 6 16:44:15 EDT 2011


Hi Michael W.,

Thanks for the info.  OK, now I have to go find my scientific 
calculator.  OK, I see what you're saying.  Each word has 2048 (at 
least) permutations depending on the lexicon, so 11 bits of entropy per 
word.  All I was saying was this.  If each word has 4 characters, all 
lower case, and you have 6 words, then you have 24 total characters.  
Your total number of permutations with words is 2048 ^ 6, which should 
work out to the same number you quoted.  My calculator shows 7.379 x 
10^19.  2^66 comes out to the same thing.  However, if each group of 4 
characters didn't have to be a word, but could be gibberish, and they're 
still lower case, then the number of permutations for each group of 4 
characters becomes 26^4 = 456,976 rather than 2048.  In the case of 
gibberish characters in every character slot, still lower case, the 
number of permutations for 24 characters becomes 26^24 = 9.107 x 10^33.  
So, what I was getting at was that if you have 24 characters of random 
gibberish, the attacker will have to try up to approximately 1 x 10^14 
times more random permutations (the difference between 10^19 and 10^33) 
to hit on your password.

Now, I'm not saying pass phrases are not effective.  They obviously can 
be if they're long enough.  Every thing you do to increase the alphabet 
you're using, the more difficult the password is to crack by brute 
force.  I know you already are familiar with all this.  I'm just 
bringing it up for discussion for those people who haven't investigated 
it as much.

So, here are some various options to use for a 24 character password, 
assuming the attacker knows your "word" strategy, if you're using one.

1) your original example, 6 words of 4 characters separated by spaces 
from a 2048 word lexicon, disregarding spaces since attacker knows 
they're there
    2048^6 permutations = 2^66 permutations = 7.379x10^19 permutations
    Time to crack offline at 100 billion guesses / second (single 
powerful machine): 737.87 million seconds = 204.96 thousand hours = 8.54 
thousand days = 23.4 years.
       That ain't bad, for my Amazon login, assuming they'll let me put 
all that in there.
    Note that, if you aim a 1000 PC botnet (100 trillion guesses / 
second) at the problem, this drops to 8.5 days, still a long time, but 
doable for high value data.

2) 6 words, 4 characters each, upper and lower case characters used.  
So, in the simplest case, each word could have the first letter lower 
case or capitalized.  This doubles the number of permutations per word.
    4096^6 permutations = 2^72 permutations = 4.722 x 10^21 permutations
    Time to crack @ 100 billion guesses / second: 4.722 x 10^10 seconds 
= 13.12 million hours = 546 thousand days = 1.5 thousand years
       Now we're talking!
    Time to crack @ 100 trillion guesses / second: 1.5 years

Now, we've got upper and lower case in the picture.  Let's bring in 
digits and symbols.  Lets assume we separate the words by a digit or a 
symbol.  I'm assuming a total alphabet of 26 lower case, 26 upper case, 
10 digits, and 33 symbols for a total of 95 available characters.  That 
means digits and symbols are 43 possible characters.  Assuming the 
attacker still knows our word strategy, but not necessarily our 
capitalization nor symbol strategy (except that trying simpler things 
didn't work), we have the following:

    Permutations for words: 4096^6 = 2^72 = 4.722 x 10^21
    Permutations for 5 digits / symbols between words: 43^5 = 147.008 x 10^6

Now, the permutations for these two sets of things together will 
multiply together, thus:

    Permutations for the whole shabang: (4.722 x 10^21) x (147.008 x 
10^6) = 694.174 x 10^27
    Time to crack @ 100 billion guesses / second = 6.942 x 10^18 seconds 
= 1.928 x 10^15 hours = 80.344 x 10^12 days = 220.121 x 10^9 years
    Time to crack @ 100 trillion guesses / second = 220.121 million years

Now, my point is not that you need to protect your Amazon login for 220 
million years from a botnet array.  What I am getting at is that, just 
by adding capitalization and digits and symbols to the same pass phrase, 
your protection from the botnet array attack goes from 8.5 days to 220 
million years with very little change in the difficulty or memorability 
of the pass phrase.  People with experience in cryptography may see this 
as old hat.  However, people not as familiar with the math may be very 
surprised how much of an insane increase in security just making these 
little changes makes.  This is particularly relevant in the case of a 
website that won't allow you to put a very long pass phrase in.  Say you 
had a one or two or three word pass phrase.  No matter what you do to 
it, it won't be incredibly secure.  However, if that's all you can put 
in, adding upper / lower case, digits, and symbols, if you have a 
choice, dramatically increases the level of security.  Also, using a 
lexicon with more than 2048 words will dramatically increase security.

Sincerely,

Ron

On 9/6/2011 11:05 AM, Michael H. Warfield wrote:
> On Tue, 2011-09-06 at 09:53 -0400, Ron Frazier wrote:
>    
snip
>> many sites, good entropy if they're long, if attacker knows you're using
>> words separated by spaces, his search for your pass phrase becomes much
>> easier
>>      
> No it doesn't.  If he knows that you are using 6 words all in lower case
> separated by a single space coming from 2048 words (assuming he even
> knows your entire lexicon - change it how you want), the chances of him
> guessing your password are one chance in 73786976294838206464 (2^66) per
> guess.  That might just give him reason to shake his head an walk off.
>
> The xkcd example of 4 words from a similar lexicon gives you one chance
> in 17592186044416 (2^44) per guess.  He's still not going to brute force
> that.
>
>    

-- 

(PS - If you email me and don't get a quick response, you might want to
call on the phone.  I get about 300 emails per day from alternate energy
mailing lists and such.  I don't always see new messages very quickly.)

Ron Frazier

770-205-9422 (O)   Leave a message.
linuxdude AT c3energy.com



More information about the Ale mailing list