A pass-phrase generator based on the most commonly used 20,000+ english words. The output can be easily modified to suit requirements.
With default settings, it encodes approximately 66 bits of entropy in a relatively simple-to-remember form. (This is approximately equal to a 10 character password using *completely* random numbers, letters and keyboard symbols.) Adding a two-digit number to the phrase results in 72 bits. If more strength is required, the use of two phrases is recommended. Entropy collection is dependent on the Crypto API method getRandomValues.
The top 20,000 english words were obtained from an analysis of Google's Ngram Trillion Word Corpus and an internet lemmas list. Nouns, adjectives and verbs were classified using Google's analysis and WordNet v3.1. In order to increase the number of verbs, verb conjugation was performed using a combination of an irregular verbs table, a list of rules for common variations, and dictionary checking for best-guesses. The verb forms should be correct in a dialect of English - but it may not be the dialect you want! Noun plurals were determined in a similar fashion.
The larger lists include more words from the ngrams, plus words from 2of12id.txt from SCOWL and friends alt12dict package, which probably would have been a better source of word form information for common words than the guessing methods!
A side-effect of this project are the lists of English verbs with forms, and English nouns with plurals, which may be useful in other projects.
Wordlists of English verbs (with infitinitve, preterite, present continuous, and present conjugate forms):
verbs.with.forms.std.csv (4000+ verbs)
verbs.with.forms.large.csv (8000+ verbs)
verbs.with.forms.huge.csv (10000+ verbs)
Wordlists of English nouns (with plurals):
nouns.with.plurals.std.csv (10000+ nouns)
nouns.with.plurals.large.csv (20000+ nouns)
nouns.with.plurals.huge.csv (50000+ nouns)
Use of the large dictionary adds 8 bits of entropy, by using (nearly) every 'word sense' of nouns and adjectives known to WordNet. The phrases generated are generally less memorable than the standard dictionary, it is included more for amusement purposes.
Use of the huge dictionary adds another 2 bits of entropy, by using a huge amount of English words, most of which are uncommon.
Obgligatory XKCD Correct Horse Battery Staple reference.