Table of Contents
Fetching ...

Capacity-Achieving Gray Codes

Venkatesan Guruswami, Hsin-Po Wang

TL;DR

This paper proposes an implementation of (b) that achieves the capacity of the BSC with positive error exponents, and adds error-correcting functionality to Gray codes by mimicking how software updates back up the files that are getting updated.

Abstract

To ensure differential privacy, one can reveal an integer fuzzily in two ways: (a) add some Laplace noise to the integer, or (b) encode the integer as a binary string and add iid BSC noise. The former is simple and natural while the latter is flexible and affordable, especially when one wants to reveal a sparse vector of integers. In this paper, we propose an implementation of (b) that achieves the capacity of the BSC with positive error exponents. Our implementation adds error-correcting functionality to Gray codes by mimicking how software updates back up the files that are getting updated ("coded Gray code"). In contrast, the old implementation of (b) interpolates between codewords of a black-box error-correcting code ("Grayed code").

Capacity-Achieving Gray Codes

TL;DR

This paper proposes an implementation of (b) that achieves the capacity of the BSC with positive error exponents, and adds error-correcting functionality to Gray codes by mimicking how software updates back up the files that are getting updated.

Abstract

To ensure differential privacy, one can reveal an integer fuzzily in two ways: (a) add some Laplace noise to the integer, or (b) encode the integer as a binary string and add iid BSC noise. The former is simple and natural while the latter is flexible and affordable, especially when one wants to reveal a sparse vector of integers. In this paper, we propose an implementation of (b) that achieves the capacity of the BSC with positive error exponents. Our implementation adds error-correcting functionality to Gray codes by mimicking how software updates back up the files that are getting updated ("coded Gray code"). In contrast, the old implementation of (b) interpolates between codewords of a black-box error-correcting code ("Grayed code").
Paper Structure (10 sections, 1 theorem, 25 equations, 3 figures)

This paper contains 10 sections, 1 theorem, 25 equations, 3 figures.

Key Result

Theorem 1

Fix a BSC with $p \in (0, 1/2)$ and a gap to capacity $\varepsilon > 0$. For sufficiently large $n$, there exists a pair of encoder $\mathcal{E}\colon [m] \to \{0, 1\}^{1\times n}$ and decoder $\mathcal{D}\colon \{0, 1\}^{1\times n} \to [m]$ with code size $m > 2^{(\mathop{\mathrm{Capacity}}\nolimit for all $x \in [m - 1]$ and all $t > 1$. Moreover, the complexity of $\mathcal{E}$ and $\mathcal{D}

Figures (3)

  • Figure 1: A space-efficient differential privacy mechanism. Step 1: encode integers as binary strings. Step 2: spread out the bits. Step 3: superimpose them on a tape. Functions $\varphi_{i_1}(u), \dotsc, \varphi_{i_5}(u)$ are the ones that are nonzero. Labels c and e mean collision and empty, respectively; they both will be replaced by random bits.
  • Figure 2: Figurative illustrations of error-correcting codes and Gray codes.
  • Figure 3: Old approach (not capacity-achieving) versus new approach (capacity-achieving).

Theorems & Definitions (1)

  • Theorem 1: Main theorem