English

Invertible Bloom Lookup Tables with Less Memory and Randomness

Data Structures and Algorithms 2024-11-27 v3 Cryptography and Security

Abstract

In this work we study Invertible Bloom Lookup Tables (IBLTs) with small failure probabilities. IBLTs are highly versatile data structures that have found applications in set reconciliation protocols, error-correcting codes, and even the design of advanced cryptographic primitives. For storing nn elements and ensuring correctness with probability at least 1δ1 - \delta, existing IBLT constructions require Ω(n(log(1/δ)log(n)+1))\Omega(n(\frac{\log(1/\delta)}{\log(n)}+1)) space and they crucially rely on fully random hash functions. We present new constructions of IBLTs that are simultaneously more space efficient and require less randomness. For storing nn elements with a failure probability of at most δ\delta, our data structure only requires O(n+log(1/δ)loglog(1/δ))\mathcal{O}\left(n + \log(1/\delta)\log\log(1/\delta)\right) space and O(log(log(n)/δ))\mathcal{O}\left(\log(\log(n)/\delta)\right)-wise independent hash functions. As a key technical ingredient we show that hashing nn keys with any kk-wise independent hash function h:U[Cn]h:U \to [Cn] for some sufficiently large constant CC guarantees with probability 12Ω(k)1 - 2^{-\Omega(k)} that at least n/2n/2 keys will have a unique hash value. Proving this is non-trivial as kk approaches nn. We believe that the techniques used to prove this statement may be of independent interest. We apply our new IBLTs to the encrypted compression problem, recently studied by Fleischhacker, Larsen, Simkin (Eurocrypt 2023). We extend their approach to work for a more general class of encryption schemes and using our new IBLT we achieve an asymptotically better compression rate.

Keywords

Cite

@article{arxiv.2306.07583,
  title  = {Invertible Bloom Lookup Tables with Less Memory and Randomness},
  author = {Nils Fleischhacker and Kasper Green Larsen and Maciej Obremski and Mark Simkin},
  journal= {arXiv preprint arXiv:2306.07583},
  year   = {2024}
}
R2 v1 2026-06-28T11:03:39.755Z