[math-fun] Re: How many passphrases?
From: "Bernie Cosell" <bernie@fantasyfarm.com>
I'm trying to get a *rough* feel for how many simple passphrases there are in (say) twenty characters. Nothing fancy with punctuation and capitalization, and I don't want to worry that "doghouse" and "dog" followed by "house" will actually result in the same passphrase.
Right, that will throw the numbers off but I guess not by much. Decide whether you want one- or two-letter words. The thing is, remembering a passphrase like A A HOUSE IN DOOR OF CAT I A is a pain. Say you decide three letters at a minimum. The number of n-letter phrases is the sum of The number of 3-letter words x the number of n-3 -letter phrases The number of 4-letter words x the number of n-4 -letter phrases ... Starting from the the shortest, you can build a table of the number of 3-, 4-, 5-, ... 20-letter phrases. It's a good idea to use that table to generate each possible phrase with equal probability. If not, you don't get the same amount of randomness. For a given position in the phrase (= 20 - length of remaining phrase) you weight each of the possibilities above by the product there. I use a plausible-spelling password generator that works in a similar way. I get only about 10^8 eight-letter passwords. I print eight at a time, and pick one. That reduces the final randomness to about 10^7. $ goodwords ..... Total = 242310103 duthibas gogenipe ussinfei ristamai caglicot ultoadim cangivor prusibat Each letter gives a factor of about 12: $ goodwords 10 ....... Total = 34360818451 honitapusa rrhictimir brinongood ikareliore incoucourt nychiomaco lailsongra Making the words more "English-like" reduces the number of possibilities, of course. Here 6 is the amount of overlap with words in the dictionary: $ /fs/bin/goodwords 10 6 ..... Total = 3801081 aphthallop apophosere sunsteamed belacernae talematica generolith isognathic Adding grammar to your phrases--or choosing only phrases that made grammatical sense-- would have a similar effect.
[I'm trying to argue that if you make your passphrase 20 characters long, it doesn't make *ANY* difference what it is, it'll be massively hard to brute-force crack [compared, for example, to *anything* you do with an eight-character password -- even if you allow utterly random character strings, there are only about 6*10^15 8-char passwords], and so just pick something easy to remember and easy to type, but make it LONG.
I agree, except the longer the phrase and the shorter the words, the harder it is to remember. And if you print more phrases before picking one, or modify the phrase from what was generated, you're reducing the randomness. --Steve $ /fs/bin/goodwords 16 8 ......... Total = 289228 unexhortationing otopharyngophony plausibilitative patroclusionally semiparallelizer superdemocratian unornamentalizes insuppressorious $ /fs/bin/goodwords 24 8 ................. Total = 1706932 introsusceptatorialising sodioplatinizationalizer hypogastrotometricalness semitheologicopsychoanal subplantigrammatological nonpresentialisticalness
participants (1)
-
Steve Witham