This is the fingerprint 0.50 package, beta.
930809
Daniel J. Bernstein, djb@silverton.berkeley.edu.

fingerprint produces a base-64-sanely-encoded fingerprint of its input.
There are no options. I imagine this fingerprint as something universal
and permanent, which people will use forever. If the fingerprint is ever
broken, I'd rather make an entirely new program than try to extend this
one.

A fingerprint is 76 characters long. What does it contain? Here's a list:

1. A Snefru-8 (version 2.5, 8 passes, 512->256) hash.
   (Derived from the Xerox Secure Hash Function.)
2. An MD5 hash, as per RFC 1321.
   (Derived from the RSADSI MD5 Message-Digest Algorithm.)
3. A CRC checksum, as in the new cksum utility.
4. Length modulo 2^40.

The output format is not expected to be compatible with anything.
However, I have helper utilities which take a fingerprint and produce 
the purported output of Merkle's snefru program (fptosnefru), the 
purported output of RSADSI's mddriver -x (fptomd5), or the purported 
output of the POSIX cksum program (fptocksum).

Also included: (1) a clone of the snefru program, with some extra 
features; (2) a cksum implementation; (3) an md5 driver; (4) libraries
with a uniform interface for calculating these hashes; (5) some 
documentation.

To compile, just make. To try a few simple tests, make test. To see how
fast the various hash functions can handle a megabyte of data on your
machine, make speedtest.

I'm writing this because I want to set up a global database which maps
fingerprints to network locations. Thanks to the tripwire authors for
unknowingly giving this project a push, and thanks of course to the
hash function designers and implementors.

Thanks to the alpha testers for their comments and criticism:

  Eric Backus <ericb@lsid.hp.com>
  Alan Barrett <barrett@daisy.ee.und.ac.za>
  Paul Haahr <haahr@mv.us.adobe.com>
  Mark C. Henderson <mch@wimsey.bc.ca>
  Stephan Neuhaus <neuhaus@informatik.uni-kl.de>
  Danny Padwa <padwad@gs.com>
  Eric Rescorla <ekr@eitech.com>
  Icarus Sparry <I.Sparry@ss1.bath.ac.uk>

Continuing worries: I still have to make sure I'm giving all appropriate
credit here. Also, I haven't tested *_addn properly. I'm not too happy
with the man pages, which were to a large extent mechanically produced;
I'd appreciate any suggestions for improvement.

echo hi | fingerprint:
JoXEhdflGxZdS89tDd5zpFx0JRJyX0k67EH0Jod7aet4hIjB.hGhon0veN0BZRfi058HZQ06U0JD	
