PyProPass Pronounceable Password Generator

PyProPass is a simple python script that tries to generate pronounceable passwords. Its name is convenient shortening of python pronounceable password, which, ironically, is a bit of a mouthful.

It uses statistical analysis of natural language (AKA a Markov model) to generate statistically probable sequences of letters for the language in which it is trained, but which are hopefully not actually real words. The result should be a word which is pronounceable (and therefore memorable), but unlikely to be present in any brute force word lists.

Download

Usage

You can use it as a command line program (pypropass.py) or via a simple GUI (pypropass_qt4.py) (requires PyQT4). There are various mangling options which affect the readability (and entropy) of the resulting words. The easiest way is to generate a block of passwords and just choose the one that most appeals. This is done something like the following (15 is the approximate length of the password, -n 5 is the number to generate):

 1 
 2 
 3 
 4 
 5 
 6 
$ python pypropass.py 15 --dont-mangle -n 5
 offervereardedi
 noultedindyinge
 spicksmagaticke
 dooneveralectit
 spirtimensecest

This is the least secure and most readable option. With full mangling, the results have a vague resemblance to pronounceable strings but have to be read a few times before you can figure out what (try reading + as T, # as H, ! as l or i, @ as a, etc, it also splits syllables with dots and commas and so on):

 1 
 2 
 3 
 4 
 5 
 6 
$ python pypropass.py 15 -n 5
 vEr!i,4m;eN_cH!Ndyi,
 rIgh!*U1!ar!@T,!m!3n
 y0u+.er.3m,Ed,!Ppea#
 y0Uld.r3ar;rY+,*m#!#
 off_ED?!ndyin,c!@w

There are intermediate mangling options. Use --help for a full list.

Security considerations

Last edited by mark at 16:26:33 11/01/11 -- "Add pypropass page"

Page loaded in 0.04s
2 calls to Luminous, total: 0.0018s, average: 0.0009s