Dispersing Hash Functions
Rasmus Pagh December 2000 |
Abstract:
A new hashing primitive is introduced: dispersing hash
functions. A family of hash functions is dispersing if, for any set
of a certain size and random , the expected value of is
not much larger than the expectancy if had been chosen at random from the
set of all functions.
We give tight, up to a logarithmic factor, upper and lower bounds on the size of dispersing families. Such families previously studied, for example universal families, are significantly larger than the smallest dispersing families, making them less suitable for derandomization. We present several applications of dispersing families to derandomization (fast element distinctness, set inclusion, and static dictionary initialization). Also, a tight relationship between dispersing families and extractors, which may be of independent interest, is exhibited. We also investigate the related issue of program size for hash functions which are nearly perfect. In particular, we exhibit a dramatic increase in program size for hash functions more dispersing than a random function Available as PostScript, PDF, DVI. |