|
Posted by Barry Margolin on December 27, 2007, 5:04 pm
If you were Registered and logged in, you could reply and use other advanced thread options
> Barry Margolin wrote:
>
> > roberson@hushmail.com (Walter Roberson) wrote:
> >
> >>>> Barry Margolin wrote:
> >>>>> How could the hash possibly be guaranteed to be unique?
> >>>> For a limited set of inputs, this is very easy.
> >>> Yes. then it is not a hash. It may be an encryption, or a translation.
> >> http://en.wikipedia.org/wiki/Perfect_hash_function
> >>
> >> http://burtleburtle.net/bob/hash/perfect.html
> >> "Minimal perfect hashing"
> >>
> >>
> >> I've never seen Perfect Hashing referred to as an encryption or
> >> translation, only ever as a "hash function".
> >
> > These are not the kind of hashing that the OP is talking about. He's
> > asking about cryptographic hashes, which are claimed to be
> > non-reversible.
>
>
> The OP asked about non-reversible hashes, which are not just the
> cryptographic hashes.
>
> > In this case, an important reason for the
> > non-reversibility is that they're many-to-one.
>
>
> Which is true for only the set of inputs, not arbitrary subsets of inputs.
>
> > The word "hash" is used in a number of different contexts in computer
> > science, you have to be careful not to confuse them.
>
> Nonsense, it's always the same: A hash is a function A^* -> B^m for fixed
> alphabets A and B and a fixed integer m.
But the types of hashes and their properties are very dependent on WHY
you're hashing. The algorithms you use to implement a symbol table
(which is where perfect hashing becomes useful) are completely different
from those used for cryptography (where it's important that it be
difficult to generate the same hash) or password encryption (where
irreversibility is critical).
--
Barry Margolin, barmar@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***
*** PLEASE don't copy me on replies, I'll read them in the group ***
|