Changing base without losing space

Yevgeniy Dodis, Mihai Patrascu, Mikkel Thorup

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish (US)
Title of host publicationSTOC'10 - Proceedings of the 2010 ACM International Symposium on Theory of Computing
Pages593-602
Number of pages10
DOIs
StatePublished - 2010
Event42nd ACM Symposium on Theory of Computing, STOC 2010 - Cambridge, MA, United States
Duration: Jun 5 2010Jun 8 2010

Other

Other42nd ACM Symposium on Theory of Computing, STOC 2010
CountryUnited States
CityCambridge, MA
Period6/5/106/8/10

Fingerprint

Hash functions
Authentication
Decoding
Data structures
Hardness
Data storage equipment

Keywords

  • arithmetic coding
  • domain extension of hash functions
  • prefix-free encoding
  • streaming algorithms
  • succinct data structures

ASJC Scopus subject areas

  • Software

Cite this

Dodis, Y., Patrascu, M., & Thorup, M. (2010). Changing base without losing space. In STOC'10 - Proceedings of the 2010 ACM International Symposium on Theory of Computing (pp. 593-602) https://doi.org/10.1145/1806689.1806771

Changing base without losing space. / Dodis, Yevgeniy; Patrascu, Mihai; Thorup, Mikkel.

STOC'10 - Proceedings of the 2010 ACM International Symposium on Theory of Computing. 2010. p. 593-602.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Dodis, Y, Patrascu, M & Thorup, M 2010, Changing base without losing space. in STOC'10 - Proceedings of the 2010 ACM International Symposium on Theory of Computing. pp. 593-602, 42nd ACM Symposium on Theory of Computing, STOC 2010, Cambridge, MA, United States, 6/5/10. https://doi.org/10.1145/1806689.1806771
Dodis Y, Patrascu M, Thorup M. Changing base without losing space. In STOC'10 - Proceedings of the 2010 ACM International Symposium on Theory of Computing. 2010. p. 593-602 https://doi.org/10.1145/1806689.1806771
Dodis, Yevgeniy ; Patrascu, Mihai ; Thorup, Mikkel. / Changing base without losing space. STOC'10 - Proceedings of the 2010 ACM International Symposium on Theory of Computing. 2010. pp. 593-602
@inproceedings{8450e614b1b24ed684d74e64f3b43e9a,
title = "Changing base without losing space",
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{\"o}din 2005] on the hardness of online prefix-free encodings.",
keywords = "arithmetic coding, domain extension of hash functions, prefix-free encoding, streaming algorithms, succinct data structures",
author = "Yevgeniy Dodis and Mihai Patrascu and Mikkel Thorup",
year = "2010",
doi = "10.1145/1806689.1806771",
language = "English (US)",
isbn = "9781605588179",
pages = "593--602",
booktitle = "STOC'10 - Proceedings of the 2010 ACM International Symposium on Theory of Computing",

}

TY - GEN

T1 - Changing base without losing space

AU - Dodis, Yevgeniy

AU - Patrascu, Mihai

AU - Thorup, Mikkel

PY - 2010

Y1 - 2010

N2 - 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.

AB - 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.

KW - arithmetic coding

KW - domain extension of hash functions

KW - prefix-free encoding

KW - streaming algorithms

KW - succinct data structures

UR - http://www.scopus.com/inward/record.url?scp=77954732809&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=77954732809&partnerID=8YFLogxK

U2 - 10.1145/1806689.1806771

DO - 10.1145/1806689.1806771

M3 - Conference contribution

SN - 9781605588179

SP - 593

EP - 602

BT - STOC'10 - Proceedings of the 2010 ACM International Symposium on Theory of Computing

ER -