Computer Science Department
School of Computer Science, Carnegie Mellon University
Strongly History Independent Hashing with Deletion
Guy E. Blelloch, Daniel Golovin
We present a strongly history independent (SHI) hash table that is fast, space efficient, and supports deletions. A hash table that supports deletions is SHI if it has a canonical memory representation up to randomness. That is, the string of random bits and current hash table contents (the set of (key, object) pairs in the hash table) uniquely determine its layout in memory, independently of the sequence of operations from initialization to the current state. Thus, the memory representation of a SHI hash table reveals exactly the information available through the hash table interface, and nothing more. Our construction also reveals a subtle connection between history independent hashing and the Gale-Shapley stable marriage algorithm, which may be of independent interest. Additionally, we give a general technique for converting data structures with canonical representations in a pure pointer machine model into RAM data structures of comparable performance and that are SHI with high probability. Thus we develop the last ingredient necessary to efficiently implement a host of SHI data structures on a RAM.