|
ABSTRACT
Many data structures give away much more information than they were intended to. Whenever privacy is important, we need to be concerned that it might be possible to infer information from the memory representation of a data structure that is not available through its “legitimate” interface. Word processors that quietly maintain old versions of a document are merely the most egregious example of a general problem.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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
O. Amble and D. Knuth. Ordered hash tables. The Computer Journal, 17(2):135-142, 1974. Reprinted in: D. E. Knuth, Selected Papers on Analysis of Algorithms, Center for the Study of Language and Information Lecture Notes, no. 102, Stanford, 2000.
|
| |
2
|
|
 |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
|
 |
7
|
|
 |
8
|
|
| |
9
|
L. J. Guibas and E. Szemeredi. The analysis of double hashing. Journal of Computer and System Sciences, 16:226-274, 1978.
|
| |
10
|
|
| |
11
|
R. J. Lipton and J. F. Naughton. Clocked adversaries for hashing. Algorithmica, 9(3):239-252, 1993.
|
| |
12
|
G. S. Lueker and M. Molodowitch. More analysis of double hashing. Combinatorica, 13(1):83-96, 1993.
|
 |
13
|
|
 |
14
|
|
| |
15
|
R. Seidel and C. Aragon. Randomized search trees. Algorithmica, 16:464-497, 1996.
|
| |
16
|
A. Siegel. On universal classes of fast high performance hash functions, their time-space tradeoff, and their applications. In Proc. 30th IEEE Symp. on Foundations of Computer Science, pages 20-25, 1989.
|
 |
17
|
|
 |
18
|
|
CITED BY 5
|
|
|
|
|
Umut A. Acar , Guy E. Blelloch , Robert Harper , Jorge L. Vittes , Shan Leung Maverick Woo, Dynamizing static algorithms, with applications to dynamic trees and history independence, Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms, January 11-14, 2004, New Orleans, Louisiana
|
|
|
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
E.
Data
Additional Classification:
F.
Theory of Computation
F.2
ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY
K.
Computing Milieux
K.4
COMPUTERS AND SOCIETY
K.4.1
Public Policy Issues
Subjects:
Privacy
K.6
MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS
General Terms:
Algorithms,
Human Factors,
Measurement,
Performance,
Security,
Theory,
Verification
Keywords:
algorithms,
anti-persistence,
data structures,
hash table,
history independence,
privacy,
security
|