We deal with data structures whose current memory representation does not reveal their history. We focus on dictionaries, where this means revealing nothing about the order of insertions or deletions. Our first algorithm is a hash table based on open addressing, allowing $O(1)$ insertion and search. We also present a history independent dynamic perfect hash table that uses space linear in the number of elements inserted and has expected amortized insertion and deletion time $O(1)$. To solve the dynamic perfect hashing problem we devise a general scheme for history independent memory allocation. For fixed-size records this is quite efficient, with insertion and deletion both linear in the size of the record. Our variable-size record scheme is efficient enough for dynamic perfect hashing but not for general use. The main open problem we leave is whether it is possible to implement a variable-size record scheme with low overhead.
Category / Keywords: foundations / hash functions, privacy, history independence Publication Info: STOC '01 Date: received 9 May 2001 Contact author: vteague at cs stanford edu Available formats: Postscript (PS) | Compressed Postscript (PS.GZ) | BibTeX Citation Version: 20010511:121021 (All versions of this report) Discussion forum: Show discussion | Start new discussion