Here is my first attempt at a passphrase generator that tries to produce
proper sentences. The idea here is similar to Diceware except I'm hoping
the results will be easier to memorize by having proper sentence
structure. Also, it uses /dev/urandom instead of dice.

http://sea-to-sky.net/~sreid/passphrase

It requires the Moby part-of-speech lexicon (which is now public domain
according to http://www.clres.com/dict.html) available at this address:

ftp://ftp.dcs.shef.ac.uk/share/ilash/Moby/mpos.tar.Z

The program is written in Perl and is only intended as a proof of
concept. It is _very_ inefficient, especially with memory usage.

Below is some sample output. The amount of entropy per passphrase should
be more than 89 bits, or almost the same as seven Diceware words.
However, if you generate N passphrases and pick the one that is easiest
to remember then you should subtract log2(N) bits from your entropy
estimate (assume an adversary knows how to try passphrases in order of
easiest-to-remember to hardest-to-remember).

1- the optative furore dankly bedevil the sixty-six creamware 
2- the mouthless clepsydras sweatily abdicated the unfelt Commons 
3- the talkative admirer cracking endure the declivous Andizhan 
4- the unrested Atabrine corruptly graving the stateside flatness 
5- the unvibrant kataplasia valorously reissuing the calcareous Portage 

This is not nearly as good as I had hoped. Does anyone have any
suggestions for producing output that is more correct english? I'm
wondering if maybe the lexicon I'm using isn't so good. Or maybe my
knowledge of sentence structure hmm, with Yoda on par it is.

I think this idea was first proposed by someone on either Cypherpunks,
Coderpunks or Cryptography a couple of years ago. I don't remember who
proposed it but I think the example passphrase given was "the happy duck
slowly kisses the yellow book". I don't really expect to generate
passphrases that are _that_ easy to remember (there's probably not much
entropy there due to the simple words) but I would at least like to
generate passphrases that can conjure up some kind of mental image to
aid memorization.


Reply via email to