RFC 1751 (rfc1751) - Page 2 of 15


A Convention for Human-Readable 128-bit Keys



Alternative Format: Original Text Document



RFC 1751              Human-Readable 128-bit Keys          December 1994


   Because of the need for interoperability, it is undesirable to have
   different dictionaries for different languages.  Also, the current
   dictionary only uses characters from the invariant portion of ISO-
   646.  Finally, there is an installed base of users and applications
   with this dictionary.

The Proposal

   The code (see Appendix A) which S/Key uses to convert 64-bit numbers
   to six English words contains two primitives which perform
   conversions either way.  The primitive btoe(char *engout,char *c)
   takes a 64-bit quantity referenced by c and places English words in
   the string referenced by engout.  The primitive etob(char *out,char
   *e) performs the opposite with an input string of English words
   referenced by e, and by placing the 64-bit result into the buffer
   referenced by out.

   The aforementioned primitives can be applied to both halves of a
   128-bit key, or both halves of a string of twelve English words.  Two
   new primitives (see Appendix B), key2eng(char *engout,char *key) and
   eng2key(char *keyout,char *eng) serve as wrappers which call the
   S/Key primitives twice, once for each half of the 128-bit key or
   string of twelve words.

   For example, the 128-bit key of:

                  CCAC 2AED 5910 56BE 4F90 FD44 1C53 4766

   would become

         RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE

   Likewise, a user should be able to type in

          TROD MUTE TAIL WARM CHAR KONG HAAG CITY BORE O TEAL AWL

   as a key, and the machine should make the translation to:

                  EFF8 1F9B FBC6 5350 920C DD74 16DE 8009

   If this proposal is to work, it is critical that the dictionary of
   English words does not change with different implementations.  A
   freely redistributable reference implementation is given in
   Appendices A and B.







McDonald