Abstract

Cuckoo hashing is a common hashing technique, guaranteeing constant-time lookups in the worst case. Adding a stash was proposed by Kirsch, Mitzenmacher, and Wieder at SICOMP 2010, as a way to reduce the probability of failure (i.e., the probability that a valid Cuckoo assignment fails to exist). It has since become a standard technique in areas such as cryptography, where a negligible probability of failure is often required. We focus on an extension of Cuckoo hashing that allows multiple items per bucket, which improves the load factor. That extension was also analyzed by Kirsch et al. in the presence of a stash. In particular, letting d be the number of items per bucket, and s be the stash size, Kirsch et al. showed that, for constant d and s, the failure probability is O(n(s+1)(1−d)). In this paper, we first report a bug in the analysis by Kirsch et al. by showing a counter-example leading to an asymptotically-larger probability of failure (Ω(n−d−s−1)). Then we provide a general analysis and upper bound of the failure probability for (almost) arbitrary d and s, instead of just constant, which is useful for applications in cryptography. We finally deduce from the general analysis a tight bound Θ(n−d−s) for the probability of failure, for constants d and s.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call