## History-Independent Cuckoo Hashing

### Cached

### Download Links

Citations: | 9 - 4 self |

### BibTeX

@MISC{Naor_history-independentcuckoo,

author = {Moni Naor and Gil Segev and Udi Wieder},

title = {History-Independent Cuckoo Hashing},

year = {}

}

### OpenURL

### Abstract

Cuckoo hashing is an efficient and practical dynamic dictionary. It provides expected amortized constant update time, worst case constant lookup time, and good memory utilization. Various experiments demonstrated that cuckoo hashing is highly suitable for modern computer architectures and distributed settings, and offers significant improvements compared to other schemes. In this work we construct a practical history-independent dynamic dictionary based on cuckoo hashing. In a history-independent data structure, the memory representation at any point in time yields no information on the specific sequence of insertions and deletions that led to its current content, other than the content itself. Such a property is significant when preventing unintended leakage of information, and was also found useful in several algorithmic settings. Our construction enjoys most of the attractive properties of cuckoo hashing. In particular, no dynamic memory allocation is required, updates are performed in expected amortized constant time, and membership queries are performed in worst case constant time. Moreover, with high probability, the lookup procedure queries only two memory entries which are independent and can be queried in parallel. The approach underlying our construction is to enforce a canonical memory representation on cuckoo hashing. That is, up to the initial randomness, each set of elements has a unique memory representation.

### Citations

217 |
Storing a sparse table with O(1) worst case access time
- Fredman, Komlós, et al.
- 1984
(Show Context)
Citation Context ...ed constant time, and membership queries in worst case constant time. Roughly speaking, this data structure is a history independent variant of the perfect hash table of Fredman, Komlós and Szemerédi =-=[12]-=- and its dynamic extension due to Dietzfelbinger et al. [7]. Buchbinder and Petrank [6] provided a separation between the two notions of history independence for comparison based algorithms. They esta... |

156 |
Two algorithms for maintaining order in a list
- DIETZ, SLEATOR
- 1987
(Show Context)
Citation Context ...og n) in the worst case, and updates are performed in O(logn) expected time. Finally, they presented a strongly history independent data structure for the order-maintenance problem (see, for example, =-=[4, 8]-=-) which supports comparisons in constant worst case time, and updates in constant expected time. UDI: I think latter BG constructions use the hash table constructions in a black-box manner? If so, we ... |

136 | Cuckoo Hashing
- Pagh, Rodler
- 2004
(Show Context)
Citation Context ...r maintaining a set under insertions and deletions of elements, while supporting membership queries. Our construction is inspired by the highly practical cuckoo hashing, introduced by Pagh and Rudler =-=[25]-=-, and guarantees history independence while enjoying most of the attractive features of cuckoo hashing. In what follows we briefly discuss the notion of history independence and several of its applica... |

133 | Dynamic perfect hashing: upper and lower bounds
- Dietzfelbinger, Karlin, et al.
- 1994
(Show Context)
Citation Context ...ant time. Roughly speaking, this data structure is a history independent variant of the perfect hash table of Fredman, Komlós and Szemerédi [12] and its dynamic extension due to Dietzfelbinger et al. =-=[7]-=-. Buchbinder and Petrank [6] provided a separation between the two notions of history independence for comparison based algorithms. They established lower bounds for obtaining strong history independe... |

81 | Incremental cryptography: The case of hashing and signing
- Bellare, Goldreich, et al.
- 1994
(Show Context)
Citation Context ...ere naturally introduced in a cryptographic setting. Micciancio showed that oblivious trees 2 can be used to guarantee privacy in the incremental signature scheme of Bellare, Goldreich and Goldwasser =-=[2, 3]-=-. An incremental signature scheme is private if the signatures it outputs do not give any information on the sequence of edit operations that have been applied to produce the final document. An additi... |

63 | Two Simplified Algorithms for Maintaining Order in a List
- Bender, Cole, et al.
(Show Context)
Citation Context ...og n) in the worst case, and updates are performed in O(logn) expected time. Finally, they presented a strongly history independent data structure for the order-maintenance problem (see, for example, =-=[4, 8]-=-) which supports comparisons in constant worst case time, and updates in constant expected time. UDI: I think latter BG constructions use the hash table constructions in a black-box manner? If so, we ... |

61 | Derandomization, witnesses for Boolean matrix multiplication, and construction of perfect hash functions
- ALON, NAOR
- 1996
(Show Context)
Citation Context ...tead of a dynamic hash table), and in this case the construction time of the table determines the insertion and deletion time. Perfect hash tables with such properties were suggested by Alon and Naor =-=[1]-=-, Miltersen [19], and Hagerup, Miltersen and Pagh [13]. Asymptotically, the construction of Hagerup et al. is the most efficient one, and provides an O(s log s) construction time on s elements. Instan... |

47 | Space efficient hash tables with worst case constant access time
- Fotakis, Pagh, et al.
(Show Context)
Citation Context ...ally small. Memory utilization. Our construction achieves memory utilization of essentially 50% (as in cuckoo hashing), and of 25% when supporting deletions. More efficient variants of cuckoo hashing =-=[8, 11, 26]-=- circumvent the 50% barrier and achieve better memory utilization by either using more than two hash functions, or storing more than one element in each entry. It would be interesting to transform the... |

47 |
On universal classes of fast high performance hash functions, their time-space tradeo, and their applications
- Siegel
- 1989
(Show Context)
Citation Context ... in the cuckoo graph is constant. Alternatively, our construction can be instantiated with the highly efficient hash functions of Dietzfelbinger and Woelfel [9] (improving the constructions of Siegel =-=[28]-=- and Ostlin and Pagh [24]). These hash functions are almost n δ -wise independent with high probability (for some constant 0 < δ < 1), can be evaluated in constant time, and each function can be descr... |

36 | Incremental cryptography and application to virus protection
- Bellare, Goldreich, et al.
- 1995
(Show Context)
Citation Context ...ere naturally introduced in a cryptographic setting. Micciancio showed that oblivious trees 2 can be used to guarantee privacy in the incremental signature scheme of Bellare, Goldreich and Goldwasser =-=[2, 3]-=-. An incremental signature scheme is private if the signatures it outputs do not give any information on the sequence of edit operations that have been applied to produce the final document. An additi... |

36 | Pagh: Deterministic Dictionaries
- Hagerup, Miltersen, et al.
- 2001
(Show Context)
Citation Context ...onstruction time of the table determines the insertion and deletion time. Perfect hash tables with such properties were suggested by Alon and Naor [1], Miltersen [19], and Hagerup, Miltersen and Pagh =-=[13]-=-. Asymptotically, the construction of Hagerup et al. is the most efficient one, and provides an O(s log s) construction time on s elements. Instantiated with their construction, our data structure sup... |

36 | Why Simple Hash Functions Work: Exploiting the Entropy in a Data Stream
- Mitzenmacher, Vadhan
(Show Context)
Citation Context ...vertheless, simulations (see, for example, [25]) give a strong evidence that simple heuristics work for the choice of the hash functions as far as cuckoo hashing is concerned (Mitzenmacher and Vadhan =-=[20]-=- provide some theoretical justification). Thus we expect our scheme to be efficient in practice. Our construction can be instantiated with O(log n)-wise independent hash functions, and still provide t... |

32 | Oblivious data structures: Applications to cryptography
- Micciancio
- 1997
(Show Context)
Citation Context ...efly discuss the notion of history independence and several of its applications, and the main properties of cuckoo hashing. Notions of history independence. Naor and Teague [23], following Micciancio =-=[18]-=-, formalized two notions of history independence: a data structure is weakly history independent if any two sequences of operations that lead to the same content induce the same distribution on the me... |

30 | Balanced allocation and dictionaries with tightly packed constant size bins
- Dietzfelbinger, Weidling
- 2005
(Show Context)
Citation Context ...ally small. Memory utilization. Our construction achieves memory utilization of essentially 50% (as in cuckoo hashing), and of 25% when supporting deletions. More efficient variants of cuckoo hashing =-=[8, 11, 26]-=- circumvent the 50% barrier and achieve better memory utilization by either using more than two hash functions, or storing more than one element in each entry. It would be interesting to transform the... |

30 | Anti-persistence: History independent data structures. Cryptology ePrint Archive
- Naor, Teague
- 2001
(Show Context)
Citation Context ...ing. In what follows we briefly discuss the notion of history independence and several of its applications, and the main properties of cuckoo hashing. Notions of history independence. Naor and Teague =-=[23]-=-, following Micciancio [18], formalized two notions of history independence: a data structure is weakly history independent if any two sequences of operations that lead to the same content induce the ... |

26 |
A cool and practical alternative to traditional hash tables
- Erlingsson, Manasse, et al.
- 2006
(Show Context)
Citation Context ...ures and distributed settings. Cuckoo hashing was found competitive with the best known dictionaries having an average case (but no non-trivial worst case) guarantee on lookup time (see, for example, =-=[10, 25, 27, 29]-=-). 1.1 Related Work Micciancio [18] formalized the problem of designing oblivious data structures. He considered a rather weak notion of history independence, and devised a variant of 2–3 trees whose ... |

21 | Almost Random Graphs with Simple Hash Functions
- Dietzfelbinger, Woelfel
- 2003
(Show Context)
Citation Context ... the expected size of a connected component in the cuckoo graph is constant. Alternatively, our construction can be instantiated with the highly efficient hash functions of Dietzfelbinger and Woelfel =-=[9]-=- (improving the constructions of Siegel [28] and Ostlin and Pagh [24]). These hash functions are almost n δ -wise independent with high probability (for some constant 0 < δ < 1), can be evaluated in c... |

20 | More Robust Hashing: Cuckoo Hashing with a Stash. To appear
- Kirsch, Mitzenmacher, et al.
- 2008
(Show Context)
Citation Context ...case in [5]). Secondly, if an element that causes a rehash is inserted and deleted multiple times, each time an entire rehash must be performed. Avoiding rehashing by stashing elements. Kirsch et al. =-=[16]-=- suggested a practical augmentation to cuckoo hashing in order to avoid rehashing: exploiting a secondary data structure for storing elements that create cycles, starting from the second cycle of each... |

19 | Tamper-evident, history-independent, subliminal-free data structures on PROM storage -or- How to store ballots on a voting machine (extended abstract
- Molnar, Kohno, et al.
- 2006
(Show Context)
Citation Context ...ormation on the sequence of edit operations that have been applied to produce the final document. An additional cryptographic application includes, for example, designing vote storage mechanisms (see =-=[4, 21, 22]-=-). As the order in which votes are cast is public, a vote storage mechanism must be history independent in order to guarantee the privacy of the election process. History independent data structures a... |

17 | Error correcting codes, perfect hashing circuits, and deterministic dynamic dictionaries
- Miltersen
- 1998
(Show Context)
Citation Context ...ic hash table), and in this case the construction time of the table determines the insertion and deletion time. Perfect hash tables with such properties were suggested by Alon and Naor [1], Miltersen =-=[19]-=-, and Hagerup, Miltersen and Pagh [13]. Asymptotically, the construction of Hagerup et al. is the most efficient one, and provides an O(s log s) construction time on s elements. Instantiated with thei... |

17 |
Uniform hashing in constant time and linear space
- Pagh, Pagh
(Show Context)
Citation Context ...onstant. Alternatively, our construction can be instantiated with the highly efficient hash functions of Dietzfelbinger and Woelfel [9] (improving the constructions of Siegel [28] and Ostlin and Pagh =-=[24]-=-). These hash functions are almost n δ -wise independent with high probability (for some constant 0 < δ < 1), can be evaluated in constant time, and each function can be described using only O(n) memo... |

17 | Efficient hashing with lookups in two memory accesses
- Panigrahy
- 2005
(Show Context)
Citation Context ...ally small. Memory utilization. Our construction achieves memory utilization of essentially 50% (as in cuckoo hashing), and of 25% when supporting deletions. More efficient variants of cuckoo hashing =-=[8, 11, 26]-=- circumvent the 50% barrier and achieve better memory utilization by either using more than two hash functions, or storing more than one element in each entry. It would be interesting to transform the... |

16 | Characterizing history independent data structures
- Hartline, Hong, et al.
(Show Context)
Citation Context ... yield the same content are identical. Our constructions in this paper are strongly history independent. An alternative characterization of strong history independence was provided by Hartline et al. =-=[14]-=-. Roughly speaking, they showed that strong history independence is equivalent to having a canonical representation up to the choice of initial randomness. More formal definitions of the two notions a... |

13 | Efficient Hash Probes on Modern Processors
- Ross
- 2007
(Show Context)
Citation Context ...ures and distributed settings. Cuckoo hashing was found competitive with the best known dictionaries having an average case (but no non-trivial worst case) guarantee on lookup time (see, for example, =-=[10, 25, 27, 29]-=-). 1.1 Related Work Micciancio [18] formalized the problem of designing oblivious data structures. He considered a rather weak notion of history independence, and devised a variant of 2–3 trees whose ... |

12 | Cryptographic Methods for Storing Ballots on a Voting Machine
- Bethencourt, Boneh, et al.
- 2007
(Show Context)
Citation Context ...ormation on the sequence of edit operations that have been applied to produce the final document. An additional cryptographic application includes, for example, designing vote storage mechanisms (see =-=[4, 21, 22]-=-). As the order in which votes are cast is public, a vote storage mechanism must be history independent in order to guarantee the privacy of the election process. History independent data structures a... |

11 | Strongly history-independent hashing with applications
- Blelloch, Golovin
- 2007
(Show Context)
Citation Context ... of which receives a sequence of insert and delete operations, and their goal is to determine the elements in the symmetric difference between their sets. Now, suppose that each party processes 1 See =-=[5]-=- for some amusing anecdotes of this nature. 2 These are trees whose shape does not leak information. 1sits sequence of operations using a data structure in which each set of elements has a canonical r... |

6 | Bipartite Random Graphs and Cuckoo Hashing
- Kutzelnigg
- 2006
(Show Context)
Citation Context ...ining elements. The most challenging aspect of our work is dealing with the unlikely event in which a connected component contains more than one cycle. Rehashing and history independence. It is known =-=[17]-=- that even if h0 and h1 are completely random functions, with probability Ω(1/n) there will be a connected component with more than one cycle. In this case the given set cannot be stored using h0 and ... |

4 | Deterministic history-independent strategies for storing information on write-once memories
- Moran, Naor, et al.
- 2007
(Show Context)
Citation Context ...ormation on the sequence of edit operations that have been applied to produce the final document. An additional cryptographic application includes, for example, designing vote storage mechanisms (see =-=[4, 21, 22]-=-). As the order in which votes are cast is public, a vote storage mechanism must be history independent in order to guarantee the privacy of the election process. History independent data structures a... |

2 |
Lower and upper bounds on obtaining history-independence
- Buchbinder, Petrank
- 2006
(Show Context)
Citation Context ...hly speaking, they showed that a reversible data structure is strongly history independent if and only if it has a canonical representation up to the choice initial randomness. Buchbinder and Petrank =-=[7]-=- provided a separation between the two notions of history independence for comparison based algorithms. They established lower bounds for obtaining strong history independence for a large class of dat... |

1 |
Architecture conscious hashing
- Zukowski, Héman, et al.
- 2006
(Show Context)
Citation Context ...ures and distributed settings. Cuckoo hashing was found competitive with the best known dictionaries having an average case (but no non-trivial worst case) guarantee on lookup time (see, for example, =-=[10, 25, 27, 29]-=-). 1.1 Related Work Micciancio [18] formalized the problem of designing oblivious data structures. He considered a rather weak notion of history independence, and devised a variant of 2–3 trees whose ... |

1 |
Cuckoo hashing. Journal of Algorithms
- Pagh, Rodler
- 2004
(Show Context)
Citation Context ...r maintaining a set under insertions and deletions of elements, while supporting membership queries. Our construction is inspired by the highly practical cuckoo hashing, introduced by Pagh and Rodler =-=[25]-=-, and guarantees history independence while enjoying most of the attractive features of cuckoo hashing. In what follows we briefly discuss the notion of history independence and several of its applica... |

1 |
Cuckoo hashing with a stash
- Kirsch, Mitzenmacher, et al.
- 2008
(Show Context)
Citation Context ...ay lead to a high storage overhead. Secondly, if an element that causes a rehash is inserted and deleted multiple times, each time an entire rehash must be performed. Stashing elements. Kirsch et al. =-=[16]-=- suggested a practical augmentation to cuckoo hashing: exploiting a secondary data structure for storing elements that create cycles, starting from the second cycle of each component. That is, wheneve... |