Abstract:Cuckoo hashing is a powerful primitive that enables storing items using small space with efficient querying. At a high level, cuckoo hashing maps $n$ items into $b$ entries storing at most $\ell$ items such that each item is placed into one of $k$ randomly chosen entries. Additionally, there is an overflow stash that can store at most $s$ items. Many cryptographic primitives rely upon cuckoo hashing to privately embed and query data where it is integral to ensure small failure probability when constructing cuckoo hashing tables as it directly relates to the privacy guarantees.
As our main result, we present a more query-efficient cuckoo hashing construction using more hash functions. For construction failure probability $\epsilon$, the query overhead of our scheme is $O(1 + \sqrt{\log(1/\epsilon)/\log n})$. Our scheme has quadratically smaller query overhead than prior works for any target failure probability $\epsilon$. We also prove lower bounds matching our construction. Our improvements come from a new understanding of the locality of cuckoo hashing failures for small sets of items.
We also initiate the study of robust cuckoo hashing where the input set may be chosen with knowledge of the hash functions. We present a cuckoo hashing scheme using more hash functions with query overhead $\tilde{O}(\log \lambda)$ that is robust against poly$(\lambda)$ adversaries. Furthermore, we present lower bounds showing that this construction is tight and that extending previous approaches of large stashes or entries cannot obtain robustness except with $\Omega(n)$ query overhead.
As applications of our results, we obtain improved constructions for batch codes and PIR. In particular, we present the most efficient explicit batch code and blackbox reduction from single-query PIR to batch PIR.
What problem does this paper attempt to address?
### What problems does this paper attempt to solve?
This paper is mainly dedicated to solving two key problems in the cryptographic applications of **Cuckoo Hashing**:
1. **Reduce query overhead and ensure negligible construction failure probability**:
- **Background**: In cryptography, Cuckoo Hashing is widely used to construct various cryptographic primitives (such as private information retrieval, private set intersection, etc.). However, traditional Cuckoo Hashing schemes may leak privacy or be exploited by attackers in the face of a relatively large failure probability.
- **Objective**: The paper proposes a new Cuckoo Hashing construction method. By using more hash functions, the query overhead is significantly reduced, and it can maintain optimal performance under any given failure probability \( \epsilon \). Specifically, for the failure probability \( \epsilon \), the query overhead of the new scheme is \( O(1 + \sqrt{\log(1/\epsilon) / \log n}) \), and compared with previous schemes, this improvement is quadratic.
2. **Enhance robustness against adversary attacks**:
- **Background**: In practical applications, an adversary may know the choice of hash functions and select input data accordingly to disrupt the construction of Cuckoo Hashing. In this case, the traditional failure probability analysis no longer applies.
- **Objective**: The paper studies how to make Cuckoo Hashing resistant to adversaries with prior knowledge (that is, the adversary can select input data based on the known hash functions). The author proposes a robust Cuckoo Hashing scheme, whose query overhead is \( O(f(\lambda) \log \lambda) \), where \( f(\lambda)=\omega(1) \) is an arbitrary super - constant function. In addition, the paper also proves the lower bound of this scheme, indicating its optimality.
### Main contributions of the paper
- **Improved query and failure trade - off**: The paper proposes a new Cuckoo Hashing construction, which makes the query overhead reduced by a quadratic level compared with existing schemes. Specifically, for the failure probability \( \epsilon \leq 1/n \), the new scheme only requires \( k = O(1 + \sqrt{\log(1/\epsilon) / \log n}) \) hash functions, and the query overhead is \( O(1 + \sqrt{\log(1/\epsilon) / \log n}) \).
- **Robust Cuckoo Hashing**: The paper is the first to systematically study robust Cuckoo Hashing, that is, it can resist adversary attacks with prior knowledge. The proposed scheme has optimal query overhead and its lower bound is proved, showing the optimality of this scheme.
- **Applications**: Based on the new Cuckoo Hashing construction, the paper improves the construction of multiple cryptographic primitives, including probabilistic batch coding (PBC), robust PBC, black - box reduction from single - query to batch PIR, reusable batch PIR, etc.
### Formula summary
- Query overhead formula: \( O(1 + \sqrt{\log(1/\epsilon) / \log n}) \)
- Number of hash functions: \( k = O(1 + \sqrt{\log(1/\epsilon) / \log n}) \)
- Query overhead of robust Cuckoo Hashing: \( O(f(\lambda) \log \lambda) \)
These formulas show the important progress of the paper in optimizing the performance of Cuckoo Hashing.