How to Compress Encrypted Data

Abstract

We study the task of obliviously compressing a vector comprised of nn ciphertexts of size ξ\xi bits each, where at most tt of the corresponding plaintexts are non-zero. This problem commonly features in applications involving encrypted outsourced storages, such as searchable encryption or oblivious message retrieval. We present two new algorithms with provable worst-case guarantees, solving this problem by using only homomorphic additions and multiplications by constants. Both of our new constructions improve upon the state of the art asymptotically and concretely. Our first construction, based on sparse polynomials, is perfectly correct and the first to achieve an asymptotically optimal compression rate by compressing the input vector into O(tξ)\mathcal{O}(t \xi) bits. Compression can be performed homomorphically by performing O(nlogn)\mathcal{O}(n \log n) homomorphic additions and multiplications by constants. The main drawback of this construction is a decoding complexity of Ω(n)\Omega(\sqrt{n}). Our second construction is based on a novel variant of invertible bloom lookup tables and is correct with probability 12κ1-2^{-\kappa}. It has a slightly worse compression rate compared to our first construction as it compresses the input vector into O(ξκt/logt)\mathcal{O}(\xi\kappa t /\log t) bits, where κlogt\kappa \geq \log t. In exchange, both compression and decompression of this construction are highly efficient. The compression complexity is dominated by O(nκ/logt)\mathcal{O}(n \kappa/\log t) homomorphic additions and multiplications by constants. The decompression complexity is dominated by O(κt/logt)\mathcal{O}(\kappa t /\log t) decryption operations and equally many inversions of a pseudorandom permutation

    Similar works