Package: math/snefru Description: Snefru - one-way hash function Version: 2.0b, 2.1b, 2.3 Notes: The one-way hash function, Snefru 2.0, is available by anonymous FTP from arisia.xerox.com in directory /pub/hash. It is available for use by anyone interested. A \$1,000 reward is offered to the first person to break it. General: Snefru 2.0 is a one-way hash function. One-way hash functions have also been called manipulation detection codes (MDC's), message digests, cryptographically secure checksums, cryptographically secure hash totals, and sometimes fingerprints. One way hash functions do not involve use of a secret key or any secret information. They are used to authenticate information, and to verify that the information has not been tampered with. One-way hash functions have the following properties: 1.) Given any input of any size (a file, for example) it is easy to compute the output of the one-way hash function. If the one-way hash function is designated H, then output = H(input) is easy to compute (takes time linear in the size of the input). 2.) Although the input might be very large, the output is relatively small and of fixed size. In Snefru 2.0, the output can be either 128 or 256 bits (selectable by the user). 3.) It is computationally infeasible to find two inputs x and x' that produce the same output. That is, finding x and x' such that: H(x) = H(x') is infeasible. Finding such a pair of inputs is known as "cracking" or "breaking" the one-way hash function. 4.) Given an output, it is computationally infeasible to find an input that produces that output. (This property is not always used). One-way hash functions are not the same as Message Authentication Codes, or MAC's, which involve the use of a secret key. .../REWARD Language(s): assembler, C Requirements: ? Origin: gatekeeper.dec.com:/pub/misc snefru.tar.Z Ralph C. Merkle, merkle@xerox.com Xerox PARC, 3333 Coyote Hill Road Palo Alto, CA 94304 See Also: ? Restrictions: See .../REWARD References: ?