Changing base without losing space

Yevgeniy Dodis, Mihai Patracu, Mikkel Thorup

37 Citations (Scopus)

Abstract

We describe a simple, but powerful local encoding technique, implying two surprising results: 1. We show how to represent a vector of n values from ∑ using ⌈ n log2 ∑⌉ bits, such that reading or writing any entry takes O(1) time. This demonstrates, for instance, an "equivalence" between decimal and binary computers, and has been a central toy problem in the field of succinct data structures. Previous solutions required space of n log2 ∑ + n/logO(1) n bits for constant access. 2. Given a stream of n bits arriving online (for any n, not known in advance), we can output a*prefix-free* encoding that uses n + log2 n + O(loglog n) bits. The encoding and decoding algorithms only require O(log n) bits of memory, and run in constant time per word. This result is interesting in cryptographic applications, as prefix-free codes are the simplest counter-measure to extensions attacks on hash functions, message authentication codes and pseudorandom functions. Our result refutes a conjecture of [Maurer, Sjödin 2005] on the hardness of online prefix-free encodings.

Translated title of the contributionChanging base without losing space
Original languageEnglish
Title of host publicationProceedings of the 42nd Annual ACM Symposium on Theory of Computing (STOC)
Number of pages10
PublisherACM
Publication date2010
Pages593-602
Publication statusPublished - 2010
Externally publishedYes

Fingerprint

Dive into the research topics of 'Changing base without losing space'. Together they form a unique fingerprint.

Cite this