Path: utzoo!mnetor!uunet!seismo!lll-tis!ati.tis.llnl.gov!tjt
From: tjt@ati.tis.llnl.gov (Tim Tessin)
Newsgroups: sci.crypt
Subject: Re: Function needed.
Message-ID: <21895@lll-tis.llnl.gov>
Date: 14 Dec 87 18:50:46 GMT
References: <3523@husc6.harvard.edu>
Sender: nobody@tis.llnl.gov
Reply-To: tjt@ati.tis.llnl.gov (Tim Tessin)
Organization: Lawrence Livermore National Laboratory, Livermore CA
Lines: 24

In article <3523@husc6.harvard.edu> siraj@endor.UUCP (Raad Siraj) writes:
> I need a function that takes in any variable-length message M of m bits,
> and a secret key K of k bits, and produces a fixed length bit pattern of
> s bits.

The best thing I have found so far is to use DES.  It really is not THAT
slow, but granted, slower than XOR based algorithms.

Procedure:  take a 64 bit random seed and feed it thru DES using
successive 56 bit chunks of the original message at each pass.  Use
the 64 bit random number as well as the 64 bit output from the DES
munching to create a 128 bit signature.  Use an XOR method to 
eliminate the need for passing twice thru DES to eliminate 
"meet-in-middle" attacks.  

Reference: "Digital Signatures ...", Communications of ACM, April 1984
Volume 27, Number 4

The DES algorithm routines were posted to the net a while back by
Phil Karn.

Tim Tessin - Lawrence Livermore National Laboratory
Phone: (415) 423-4560
Net:   tjt@ati.tis.llnl.gov (lll-tis.ARPA, lll-tis.UUCP)