Property-Preserving Hash Functions for Hamming Distance from Standard Assumptions
2022Conference / Journal
Authors
Kasper Green Larsen Mark Simkin Nils Fleischhacker
Research Hub
Research Hub A: Kryptographie der Zukunft
Research Challenges
RC 2: Quantum-Resistant Cryptography
RC 3: Foundations of Privacy
Abstract
Property-preserving hash functions allow for compressing long inputs x0x0 and x1x1 into short hashes h(x0)h(x0) and h(x1)h(x1) in a manner that allows for computing a predicate P(x0,x1)P(x0,x1) given only the two hash values without having access to the original data. Such hash functions are said to be adversarially robust if an adversary that gets to pick x0x0 and x1x1 after the hash function has been sampled, cannot find inputs for which the predicate evaluated on the hash values outputs the incorrect result.
In this work we construct robust property-preserving hash functions for the hamming-distance predicate which distinguishes inputs with a hamming distance at least some threshold t from those with distance less than t. The security of the construction is based on standard lattice hardness assumptions.
Our construction has several advantages over the best known previous construction by Fleischhacker and Simkin (Eurocrypt 2021). Our construction relies on a single well-studied hardness assumption from lattice cryptography whereas the previous work relied on a newly introduced family of computational hardness assumptions. In terms of computational effort, our construction only requires a small number of modular additions per input bit, whereas the work of Fleischhacker and Simkin required several exponentiations per bit as well as the interpolation and evaluation of high-degree polynomials over large fields. An additional benefit of our construction is that the description of the hash function can be compressed to λλ bits assuming a random oracle. Previous work has descriptions of length O(ℓλ)O(ℓλ) bits for input bit-length ℓℓ.
We prove a lower bound on the output size of any property-preserving hash function for the hamming distance predicate. The bound shows that the size of our hash value is not far from optimal.