

It is frustrating that popular password generators are hard to actually analyze in terms of strength. So between the relatively small modulo bias and the much larger deliberate bias toward more likely sounding syllables, it would require a level of analysis beyond what I am willing to do to actually calculate the min-entropy.
MAN PWGEN GENERATOR
It is a relatively small bias that comes up through a common design error when trying to pick a number between 1 and N even when the underlying random number generator is good. I have argued that we should be using min-entropy in such cases.Īdditionally, some versions of pwgen are subject to the modulo bias.


There is no clear answer to what notion of entropy is most appropriate when password creation schemes when the schemes do not produce uniform output. A link to the video of the talk and the slides are here: Note I discuss this in my PasswordConLV15 talk. This is true of most "pronounceable" password generators. This is because it tries to mimic some of the frequencies we have in English. Some passwords are more likely than others. Pwgen does not produce passwords uniformly. The actual answer to your question is too hard for me to reasonably calculate, but I can say a few useful things about this. But it is far more than enough against automatized login scripts particularly if something (like a fail2ban) causes a hard, low limit to the possible tries. It means, that pwgen is probably quite sophistically tuned also for the high entropy, and not only to produce easily pronouncable passwords.ģ6 bit is not enough defense against gpu-accelerated, clustered brute force attacks. Typically, text data can be compressed to around 10% of its original size, while xz could reach only a 60% ratio. Note: although the output was a text file, xz could compress it only with a surprisingly bad ratio. Replayed measurements didn't show a significant dispersion.īased on this, the entropy of a single, 8 byte-long pwgen password is 8*8*593412/1048576 = 36.2 bits of entropy. Generates an 1MB long password, compresses it with the best known flags of the best known compressor, and measures the size of the output. The command pwgen 1048576|xz -9ve -|wc -c But I think we can use a strong compressor to approximate the entropy.

Include at least one special character in the password.An exact answer would require a deeper analyzis of the pwgen source code, or a more exact measurement. It provides less secure passwords to allow system administrators to not have to worry with random passwords accidentally contain offensive substrings. Generate random passwords that do not contain vowels or numbers that might be mistaken for vowels. Generate completely random, hard-to-memorize passwords. This is the default if the standard output is a tty device. Include at least one number in the password. Include at least one capital letter in the password. It may be useful for users who have bad vision, but in general use of this option is not recommended. This reduces the number of possible passwords significantly, and as such reduces the quality of the passwords. When standard output (stdout) is not a tty, pwgen will only generate one password, as this tends to be much more convenient for shell scripts, and in order to be compatible with previous versions of this program.ĭon't include numbers in the generated passwords.ĭon't bother to include any capital letters in the generated passwords.ĭon't use characters that could be confused by the user when printed, such as “l” and “1”, or “0” or “O”. This prevents someone from being able to “shoulder surf” the user's chosen password. Used interactively, pwgen will display a screenful of passwords, allowing the user to pick a single password, and then quickly erase the screen. Hence, its default behavior differs depending on whether the standard output is a tty device or a pipe to another program. The pwgen program is designed to be used both interactively, and in shell scripts. On the other hand, completely randomly generated passwords have a tendency to be written down, and are subject to being compromised in that fashion. In particular, passwords generated by pwgen without the -s option should not be used in places where the password could be attacked via an off-line brute-force attack. Human-memorable passwords are never going to be as secure as completely completely random passwords. The pwgen program generates passwords which are designed to be easily memorized by humans, while being as secure as possible.
