[MUD-Dev] Re: [DevMUD] Re: Database module

Jay Carlson nop at mitre.org
Tue Dec 22 10:03:02 CET 1998


cynbe <cynbe at muq.org> wrote:

> (2) If you need to pass numbers through human channels, a possible
>     improvement on UUENCODE-ing style translation is:
>      (a) Pick a set of 1024 words (probably short, single-syllable words)
>      (b) bite off 10-bit chunks from your integer, and use each to select
>          a word from the set:  A 64-bit integer becomes seven words.
>     The result will be a number encoding with much more mnemonic value to
>     native speakers than the corresponding UUENCODE-ed version:  I'm sure
>     any of us can remember seven words easier than 16 random hex digits.

That's what S/Key (and its successor systems) do.  Quoting RFC 2289:

   The one-time password generated by the above procedure is 64 bits in
   length. Entering a 64 bit number is a difficult and error prone
   process. [...] The one-time password therefore
   MAY be converted to, and all servers MUST be capable of accepting it
   as, a sequence of six short (1 to 4 letter) easily typed words that
   only use characters from ISO-646 IVCS. Each word is chosen from a
   dictionary of 2048 words; at 11 bits per word, all one-time passwords
   may be encoded.

   The two extra bits in this encoding are used to store a checksum. [...]

The OTPs spit out look like TERN FANG DINT TOG WRY BAWL, which is certainly
better than the hex.

See the RFC (one copy at
ftp://coast.cs.purdue.edu/pub/tools/unix/skey/docs/rfc2289.txt  ) for the
actual dictionary.

>       (For extra credit:  Pick separate verb, noun and adjective sets of
>     1024 words, and arrange for your numbers to make grammatical
> sentences.
>     I'll bet this will increase the mnemonicity of the encoded numbers
>     significantly.)

If you can get enough information crammed in there.  I'm reminded of the
LambdaCore $wiz_utils:random_password function, which make random
consonant-vowel-consonant-vowel-etc strings of specified length.  There are
6 vowels and 17 consonants (c, f, and k removed to help avoid rude-sounding
random strings).  So, if you know a random password is from this generator
and is of length 6, there are only (6 * 17) ^ 3 possibilities....

Jay





More information about the mud-dev-archive mailing list