StreakPeaked· Practice

ExamsGATETechnical

An algorithm has to store several keys generated by an adversary in a hash table. The adversary is malicious who tries to maximize the number of collisions. Let k be the number of keys, m be the number of slots in the hash table, and k > m. Which one of the following is the best hashing strategy to counteract the adversary?

  1. Division method, i.e., use the hash function h(k) = k mod m.
  2. Multiplication method, i.e., use the hash function h(k) = [m(kA − [kA])], where A is a carefully chosen constant.
  3. Universal hashing method.
  4. If k is a prime number, use Division method. Otherwise, use Multiplication method.

Correct answer: Universal hashing method.

Solution

Universal hashing is designed to minimize the impact of an adversary by randomly selecting a hash function from a family of functions, making it difficult for the adversary to predict and exploit collisions. This randomness ensures that even if the keys are chosen maliciously, the expected number of collisions remains low, providing a robust defense against collision attacks.

Related GATE Technical questions

⚔️ Practice GATE Technical free + battle 1v1 →