Using universal hashing (in a randomized algorithm or data structure) refers to selecting a hash function at random from a family of hash functions with a certain mathematical property (see definition below). This guarantees a low number of collisions in expectation, even if the data is chosen by an adversary. Many universal families are known (for hashing integers, vectors, strings), and their evaluation is often very efficient. Universal hashing has numerous uses in computer science, for example in implementations of hash tables, randomized algorithms, and cryptography.
Read more about Universal Hashing: Introduction, Mathematical Guarantees, Constructions
Famous quotes containing the word universal:
“Not because Socrates has said it, but because it is really in my nature, and perhaps a little more than it should be, I look upon all humans as my fellow-citizens, and would embrace a Pole as I would a Frenchman, subordinating this national tie to the common and universal one.”
—Michel de Montaigne (15331592)