1.2.1 Observations on subset cover finding problem
First, we reduce the subset cover finding problem to another one that is easier to analyze. Consider the following two problems:
Problem 1 Given \((h_1,\ldots ,h_k)\) and \(h_i:X\rightarrow Y\) for each i, find \((x,x_1,...x_r)\) such that \(H(x)\subseteq \bigcup _{i=1}^rH(x_i)\) where H(x) is denoted by \(H(x)=\{h_1(x),\ldots ,h_k(x)\}\).
Problem 2 Given \((h_1,\ldots ,h_k)\) and \(h_i:X\rightarrow Y\) for each i, find \((x,x_1,...x_r)\) such that \(h_i(x)\in \{h_i(x_1),\ldots ,h_i(x_r)\}\) for each i.
Problem 1 is the original subset cover finding problem, and Problem 2 is a harder variation. A solution to Problem 2 is immediately a solution to Problem 1. However, a solution to Problem 1 is possibly not a solution to Problem 2. We call a solution to Problem 2 as an (r, k)-restricted subset cover with regard to \((h_1,\ldots ,h_k)\). If it is hard to find an (r, k)-restricted subset cover with regard to a randomly sampled function tuple from hash function family \({\mathcal {H}}\), we say that \({\mathcal {H}}\) is an (r, k)-restricted subset-resilient hash function family and (r, k)-rSRH in short. (r, k)-restricted subset resilience is a weaker notion than (r, k)-subset resilience.
Furthermore, we have some observations on these problems:
We can simply add \((r'-r)\) elements into an (r, k)-subset cover and obtain an \((r',k)\)-subset cover. Observation 1 and 2 also work on Problem 2.
Let \((x,x_1,\ldots ,x_r)\) be an (r, k)-restricted subset cover of \((h_1,\ldots ,h_k)\). It implies that for each \(i\in [k]\), there exists \(x_{a_i}\in \{x_1,\ldots ,x_r\}\) such that \(h_i(x)=h_i(x_{a_i})\). Thus, \((x,x_{a_1},\ldots ,x_{a_k})\) is a (k, k)-restricted subset cover. Also, we can obtain an (r, k)-restricted cover from any (k, k)-subset cover due to Observation 2. (Note that Observation 3 is valid for Problem 2 but not for Problem 1.)
Therefore, finding a (k, k)-restricted subset cover is the core of these problems. It can be extended to general (r, k) case by these observations. Recall that finding a (k, k)-restricted subset cover implies finding \((x,x_{a_1},\ldots ,x_{a_i})\) such that \(h_i(x)=h_i(x_i)\) for each i. It is equivalent to the following problem:
Problem 3 Given \((h_1,\ldots ,h_k)\) and \(h_i:X\rightarrow Y\) for each i, find \((x,x_1,...x_r)\) such that \(h_i(x)=h_i(x_i)\) for each i.
A solution to Problem 3 is immediately a (k, k)-restricted subset cover of \((h_1,\ldots ,h_k)\). We simply call it as a k-restricted subset cover. Also, we use k-rSRH to represent (k, k)-rSRH for simplicity.
Problem 3 can be considered a variant of collision-finding problems. The difference is that this problem focuses on k functions and requires \(k+1\) elements as a solution. For each i, \((x,x_i)\) is a collision of \(h_i\). Thus, k-rSRH is a weaker assumption than CRH.
Next, we focus on Problem 3 and k-rSRH and give our results in the three directions. The results can be simply extended to general (r, k)-rSRH and (r, k)-SRH.
1.2.2 Technical overview
Quantum algorithms To find a
k-restricted subset cover for multiple functions, we modify Liu’s algorithm [
32] for finding multi-collision to our multiple function settings (and also modify Hosoyamada’s algorithm [
23] in Appendix B) . We give an overview of the first algorithm in particular, and the second algorithm is modified in a similar method.
Liu’s algorithm, Hosoyamada’s algorithm, and ours rely on Grover’s algorithm. Given a function \(F:X\rightarrow \{0,1\}\) where \(|F^{-1}(1)|=t\), Grover’s algorithm can find \(x\in X\) such that \(F(x)=1\) with probability \(O(tq^2/|X|)\) after q number of quantum evaluations of F. Thus, finding a solution requires approximately \(O((|X|/t)^{1/2})\) number of quantum computations of F.
We first introduce Liu’s algorithm finding multi-collisions w.r.t. k-to-1 functions. Given a k-to-1 function \(H:X\rightarrow Y\) where \(|X|=k|Y|=kN\), it is required to output distinct \(x_1,\ldots ,x_k\) such that \(H(x_1)=...=H(x_k)\). In the beginning, it picks \(t_0\) number of random elements from X, and list them in \(X_1\). Let \(Y_1\) be the list of images of \(X_1\). Next, define F(x) such that \(F_1(x)=1\) if and only if \(H(x)\in Y_1\) and \(x\not \in X_1\), and run Grover’s algorithm on \(F_1\). Grover’s algorithm outputs a solution after \(O(\sqrt{|X|/t_0})=O(\sqrt{N/t_0})\) number of quantum queries to H, which implies a collision of H.
Then, the algorithm repeats Grover’s algorithm \(t_2\) times, obtaining \(t_2\) number of collisions. After that, it lists \(t_2\) collisions in list \(X_2\), and lets \(Y_2\) be the list of images of \(X_2\). Similarly, define \(F_2(x)\) such that \(F_2(x)=1\) if and only if \(F(x)\in Y_2\) and \(x\not \in X_2\). By running Grover’s algorithm, it obtains a 3-collision of H with \(O(\sqrt{(N/t_2)})\) quantum queries to H. Again, it repeats Grover’s algorithm \(t_3\) times, and then lists \(t_3\) 3-collisions in \(X_3\). Similarly, in loop s, it lists \(t_s\) number of s-collision of H in \(X_s\). Let \(t_k=1\). After iterations, it eventually obtains a k-collision of H. With well-defined \(t_1,\ldots ,t_k\), the total number of quantum computations of F in this algorithm is \(O(N^{\frac{1}{2}(1-\frac{1}{2^k-1})})\).
This algorithm can be modified to find k-restricted subset covers. Suppose the target functions \(h_1,\ldots ,h_k\) are all 2-to-1 functions. Given \((h_1,\ldots ,h_k)\), we first picks \(t_0\) random elements of X, and list them in \(X_0\). Let \(Y_1\) be the image of \(X_0\) with regard to \(h_1\). Define \(F_1\) such that \(F_1(x)=1\) if and only if \(h_1(x)\in Y_1\) and \(x\not \in X_1\). Run Grover’s algorithm on \(F_1\) \(t_1\) times. Until now, our algorithm is the same as the original one.
Then, we list the solution of Grover’s algorithm on \(F_1\) in \(X_1'\). Note that each element in \(X_1'\) implies a collision with an element of \(X_0\) with regard to \(h_1\). List these elements of \(X_0\) in \(X_1\).
Next, we inject \(h_2\) to our algorithm. Let \(Y_2\) be the list of images with regard to \(h_2\). Denote \(F_2\) such that \(F_2(x)=1\) if and only if \(h_2(x)\in Y_2\) and \(x\not \in X_1\), and then run Gorver’s algorithm on \(X_2\) \(t_3\) times. Similarly, we list the solutions of Grover’s algorithm in \(X_2'\) and list the corresponding elements of \(X_1\) in \(X_2\).
Observe that \(X_2\) and \(X_2'\) contain collisions w.r.t. \(h_2\). In addition, since \(X_2\subset X_1\), and the collisions of \(X_2\) are all recorded in \(X_1'\). As a result, we obtain a list of \(t_3\) number of 2-restricted subset covers w.r.t. \((h_1,h_2)\).
Similarly, we can inject \(h_3,\ldots ,h_k\) into our algorithm. Eventually, we obtain a k-restricted subset cover with regard to \((h_1,\ldots ,h_k)\). By well-defined \(t_0,\ldots ,t_k\), the number of quantum queries to \(h_i\) is optimized to approximate \(O(N^{\frac{1}{2}(1-\frac{1}{2^{k+1}-1})})\), which is the same as that of Liu’s algorithm for finding \((k+1)\)-collisions.
To eliminate the requirement of 2-to-1 functions, we require \(h_1,\ldots ,h_k\) to be general functions with high compression. Formally, we require that the size of the domain is more than \((k+1)\) times larger than the range (which is not a strong condition for hash functions). This condition guarantees that an element of the domain has a second preimage w.r.t. each \(h_i\) with high probability. In this case, Grover’s algorithms go through with high probability.
Relate to \(\textsf {d}\)CRH Our proof is inspired by [
28], which proves the statement that the existence of multi-collision-resistant hashing (MCRH) implies the existence of (infinitely often) secure
\(\textsf {d}\)CRH. In this paper, we turn to prove a similar statement on
k-rSRH (compressing 2
n bits to
n bits) instead of MCRH.
We start with the case that \(k=2\). To prove that the existence of 2-rSRH implies the existence of \(\textsf {d}\)CRH, we assume towards the contradiction that there does not exist a \(\textsf {d}\)CRH in the world. It implies that there exists a probabilistic polynomial-time algorithm \({\mathcal {A}}\) that samples a uniform collision of \(h\leftarrow {\mathcal {H}}\) with overwhelming probability over the choice of h. Here, a uniform collision \((x_1,x_2)\) of h implies that \(x_1\) is randomly distributed from the domain and \(x_2\) is uniformly distributed from the set \(h^{-1}(h(x_1))\). Next, to show the contradiction, we need to construct a polynomial-time algorithm breaking 2-rSRH using \({\mathcal {A}}\).
Now we can obtain collisions with regard to \(h_1\) and \(h_2\) using \({\mathcal {A}}\), but how to obtain two collision pairs where ones of them are identical? A naive idea is that running \({\mathcal {A}}(h_1)\) and \({\mathcal {A}}(h_2)\) respectively. However, since \({\mathcal {A}}\) outputs uniform collisions, a 2-restricted subset cover only appears with negligible probability.
Recall that \({\mathcal {A}}\) is probablistic. We write \({\mathcal {A}}(h;r)\) where r is the randonmess. If we run \({\mathcal {A}}(h_1)\) twice using randomness \(r_1\) and \(r_2\), we can obtain \((x_1,x_2)\) and \((x_3,x_4)\), which are uniform collisions of \(h_1\) with overwhelming probability. Can we choose particular \(r_1\) and \(r_2\) such that we can build a “bridge" between \(x_1\) and \(x_3\) with regard to \(h_2\)?
We fix the input function of \({\mathcal {A}}\). Now \({\mathcal {A}}(h_1;\cdot )\) can be considered a deterministic function of r. Since we focus on \(x_1\) and \(x_3\) rather than \(x_2\) and \(x_4\), we denote \(f(\cdot )\) by the first element of the \({\mathcal {A}}(h_1;\cdot )\). If we want \((x_1,x_3)\) to be a collision of \(h_2\), the problem becomes finding \(r_1\) and \(r_2\) such that \(h_2(f(r_1))=h_2(f(r_2))\). Surprisingly, it becomes another collision-finding problem w.r.t. \(h_2(f(\cdot ))\).
Therefore, our algorithm breaking 2-rSRH runs as follows. Given \((h_1,h_2)\) and a \(\textsf {d}\)CRH-breaker \({\mathcal {A}}\), define f(r) as the first element of \({\mathcal {A}}(h_1;r)\) and \(h'(r)\triangleq h_2(f(r))\). Next, run \((r_1,r_2)\leftarrow {\mathcal {A}}(h')\). After that, run \((x_1,x_2)\leftarrow {\mathcal {A}}(h_1;r_1)\) and \((x_3,x_4)\leftarrow {\mathcal {A}}(h_1;r_2)\). We observe that \(h_1(x_1)=h_1(x_2)\) and \(h_2(x_1)=h_2(x_3)\) hold.
Next, we need to show that \((x_1,x_2)\) and \((x_1,x_3)\) are both distinct. The proof of the first statement is not complicated. Since \(r_1\) is the first element of output of \({\mathcal {A}}(h')\), \(r_1\) is uniformly distributed from the domain. Thus, \((x_1,x_2)\leftarrow {\mathcal {A}}(h_1;r_1)\) flips a random coin, and \((x_1,x_2)\) is distributed as a uniform collision of \(h_1\). The main problem is the second statement. We prove this statement by in two steps. Let f(r) be the first element of \({\mathcal {A}}(h_1;r)\), which implies that \(x_1=f(r_1)\) and \(x_3=f(r_2)\). First, we observe that f is regular due to the definition of \({\mathcal {A}}\). Thus, for every x, the corresponding sets \(f^{-1}(x)\) are of the same size and distinct. Since \((r_1,r_2)\) is a uniform collision of \(h'\), we prove that \(r_1\) and \(r_2\) drop into the same set \(f^{-1}(x)\) for some x only with negligible probability. Therefore, \(f(r_1)=f(r_2)\) (which implies \(x_1=x_3\)) only holds with negligible probability.
From the above statements, we can construct a machine breaking 2-rSRH with \({\mathcal {A}}\). Then we extend the result to k-rSRH for general constant k by inductions. That is, we constrct a machine breaking \((k+1)\)-rSRH with \({\mathcal {A}}\) together with a machine breaking k-rSRH, say \(\textsf {Break-}k\textsf {-SR}\). By running \(\textsf {Break-}k\textsf {-SR}\) twice with different random coins, we can obtain two k-restricted subset covers of \(h_1,\ldots ,h_k\). Then, we need to build a bridge between the first elements of two subset covers. Similarly, let f(r) be the first elements of \(\textsf {Break-}k\textsf {-SR}(h_1,\ldots ,h_k;r)\) and \(h'(r)\triangleq h_{k+1}(f(r))\). By running \({\mathcal {A}}(h')\), we can obtain the two random coins that we want. Essentially, this implies general relation between \(\textsf {d}\)CRH and k-rSRH for constant k.
Separating from OWP Suppose there exists a fully black-box construction of k-rSRH from OWP f, say \(C^f=(C_1^f,\ldots ,C_k^f)\). It implies that there exists a reduction \({\mathcal {R}}\) such that: if there exists an adversary \({\mathcal {A}}\) that can break k-restricted subset resilience of \(C^f\), then there exists a polynomial-time reduction \({\mathcal {R}}\) inverting f with access to f and \({\mathcal {A}}\) with non-negligible probability. Our result rules out the existence of such a polynomial-time \({\mathcal {R}}\) for any polynomial-time \(C^f\).
Our proof uses Simon’s separating oracle [
38] consisting of two oracles
\(\varGamma =(f,\textsf {CoverFinder})\).
f is a random permutation, and
\(\textsf {CoverFinder}^f(C_1^f,\ldots ,C_k^f)\) is an oracle that can output a
k-restricted subset cover of
\((C_1^f,\ldots ,C_k^f)\) with high probability. (Note that
\(\textsf {CoverFinder}\) may be exponential-time.) Thus,
CoverFinder behaves as the adversary
\({\mathcal {A}}\) breaking
k-rSRH. Now we prove that
\({\mathcal {R}}^{\varGamma }\) cannot invert
f. More formally, we prove that for random
y,
\({\mathcal {R}}^\varGamma (y)\) cannot output
x such that
\(f(x)=y\) with non-negligible probability.
If
\({\mathcal {R}}\) is only given the access to
f rather than
\((f,\textsf {CoverFinder})\), this statement is true since a random permutation
\(f_n\) is one-way with overwhelming probability [
19]. However,
\(\textsf {CoverFinder}\) may be helpful for inversing
f. In our proof, we define a special event called
y-hit. When
\({\mathcal {R}}\) queries
\(\textsf {CoverFinder}\), if it obtains some the preimage of
y with regard to
f from the output, we say that
y-hit occurs. Intuitively,
\({\mathcal {R}}\) can gain some advantage of inversing
y from
\(\textsf {CoverFinder}\) only if it triggers
y-hit in the queries to
\(\textsf {CoverFinder}\) . Nevertheless, since
\(\textsf {CoverFinder}\) outputs a random subset cover for each query,
y-hit only occurs with negligible probability in each query. This implies that
\({\mathcal {R}}\) can hardly gain advantage from the queries to
\(\textsf {CoverFinder}\), and thus it cannot invert
f.
Our proof consists of four steps. First, we construct the separating oracle \(\varGamma \) and show that it can break any k-rSRH. Second, we prove that it is hard to compute \(f^{-1}(y)\) without triggering y-hit even given access to \(\varGamma \). Third, we prove that if there exists a polynomial-time adversary computing \(f^{-1}(y)\) with triggering y-hit, then there exists another polynomial-time adversary computing \(f^{-1}(y)\) without triggering y-hit (which contradicts to the last statement). The last two statements imply the one-wayness of f given access to \(\varGamma \). Finally, we use the above statements to prove the separation result.