Skip to main content

History-Independent Cuckoo Hashing

  • Conference paper
Automata, Languages and Programming (ICALP 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5126))

Included in the following conference series:

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.

Due to space limitations we refer the reader to a longer version available at http://www.wisdom.weizmann.ac.il/~naor.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alon, N., Naor, M.: Derandomization, witnesses for Boolean matrix multiplication and construction of perfect hash functions. Algorithmica 16(4-5), 434–449 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  2. Bellare, M., Goldreich, O., Goldwasser, S.: Incremental Cryptography: The Case of Hashing and Signing. In: Desmedt, Y.G. (ed.) CRYPTO 1994. LNCS, vol. 839, pp. 216–233. Springer, Heidelberg (1994)

    Google Scholar 

  3. Bellare, M., Goldreich, O., Goldwasser, S.: Incremental cryptography and application to virus protection. In: 27th STOC, pp. 45–56 (1995)

    Google Scholar 

  4. Bethencourt, J., Boneh, D., Waters, B.: Cryptographic methods for storing ballots on a voting machine. In: 14th NDSS, pp. 209–222 (2007)

    Google Scholar 

  5. Blelloch, G.E., Golovin, D.: Strongly history-independent hashing with applications. In: 48th FOCS, pp. 272–282 (2007)

    Google Scholar 

  6. Buchbinder, N., Petrank, E.: Lower and upper bounds on obtaining history-independence. Inf. Comput. 204(2), 291–337 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  7. Dietzfelbinger, M., Karlin, A.R., Mehlhorn, K., auf der Heide, F.M., Rohnert, H., Tarjan, R.E.: Dynamic perfect hashing: Upper and lower bounds. SIAM J. Comput. 23(4), 738–761 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  8. Dietzfelbinger, M., Weidling, C.: Balanced allocation and dictionaries with tightly packed constant size bins. Theor. Comput. Sci. 380(1-2), 47–68 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  9. Dietzfelbinger, M., Woelfel, P.: Almost random graphs with simple hash functions. In: 35th STOC, pp. 629–638 (2003)

    Google Scholar 

  10. Erlingsson, Ú., Manasse, M., McSherry, F.: A cool and practical alternative to traditional hash tables. In: 7th Workshop on Distributed Data and Structures (2006)

    Google Scholar 

  11. Fotakis, D., Pagh, R., Sanders, P., Spirakis, P.G.: Space efficient hash tables with worst case constant access time. Theor. Comput. Sys. 38(2), 229–248 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  12. Fredman, M.L., Komlós, J., Szemerédi, E.: Storing a sparse table with O(1) worst case access time. J. ACM 31(3), 538–544 (1984)

    Article  MATH  Google Scholar 

  13. Hagerup, T., Miltersen, P.B., Pagh, R.: Deterministic dictionaries. J. Algorithms 41(1), 69–85 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  14. Hartline, J.D., Hong, E.S., Mohr, A.E., Pentney, W.R., Rocke, E.: Characterizing history independent data structures. Algorithmica 42(1), 57–74 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  15. Janson, S., Łuczak, T., Ruciński, A.: Random Graphs. Wiley-Interscience, Chichester (2000)

    MATH  Google Scholar 

  16. Kirsch, A., Mitzenmacher, M., Wieder, U.: More robust hashing: Cuckoo hashing with a stash (manuscript, 2008)

    Google Scholar 

  17. Kutzelnigg, R.: Bipartite random graphs and cuckoo hashing. In: 4th Colloquium on Mathematics and Computer Science, pp. 403–406 (2006)

    Google Scholar 

  18. Micciancio, D.: Oblivious data structures: Applications to cryptography. In: 29th STOC, pp. 456–464 (1997)

    Google Scholar 

  19. Miltersen, P.B.: Error correcting codes, perfect hashing circuits, and deterministic dynamic dictionaries. In: 9th SODA, pp. 556–563 (1998)

    Google Scholar 

  20. Mitzenmacher, M., Vadhan, S.: Why simple hash functions work: Exploiting the entropy in a data stream. In: 19th SODA, pp. 746–755 (2008)

    Google Scholar 

  21. Molnar, D., Kohno, T., Sastry, N., Wagner, D.: Tamper-evident, history-independent, subliminal-free data structures on PROM storage -or- How to store ballots on a voting machine. In: IEEE S&P, pp. 365–370 (2006)

    Google Scholar 

  22. Moran, T., Naor, M., Segev, G.: Deterministic history-independent strategies for storing information on write-once memories. In: 34th ICALP, pp. 303–315 (2007)

    Google Scholar 

  23. Naor, M., Teague, V.: Anti-persistence: History independent data structures. In: 33rd STOC, pp. 492–501 (2001)

    Google Scholar 

  24. Ostlin, A., Pagh, R.: Uniform hashing in constant time and linear space. In: 35th STOC, pp. 622–628 (2003)

    Google Scholar 

  25. Pagh, R., Rodler, F.F.: Cuckoo hashing. J. of Algorithms 51(2), 122–144 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  26. Panigrahy, R.: Efficient hashing with lookups in two memory accesses. In: 16th SODA, pp. 830–839 (2005)

    Google Scholar 

  27. Ross, K.A.: Efficient hash probes on modern processors. In: 23nd International Conference on Data Engineering, pp. 1297–1301 (2007)

    Google Scholar 

  28. Siegel, A.: On universal classes of fast high performance hash functions, their time-space tradeoff, and their applications. In: 30th FOCS, pp. 20–25 (1989)

    Google Scholar 

  29. Zukowski, M., Héman, S., Boncz, P.A.: Architecture conscious hashing. In: 2nd International Workshop on Data Management on New Hardware, vol. 6 (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Luca Aceto Ivan Damgård Leslie Ann Goldberg Magnús M. Halldórsson Anna Ingólfsdóttir Igor Walukiewicz

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Naor, M., Segev, G., Wieder, U. (2008). History-Independent Cuckoo Hashing. In: Aceto, L., Damgård, I., Goldberg, L.A., Halldórsson, M.M., Ingólfsdóttir, A., Walukiewicz, I. (eds) Automata, Languages and Programming. ICALP 2008. Lecture Notes in Computer Science, vol 5126. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70583-3_51

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-70583-3_51

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-70582-6

  • Online ISBN: 978-3-540-70583-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics