January 01, 1970
Fuzzy private set intersection (FPSI) is a protocol that enables a sender with a set of \(d\)-dimensional vectors \(Q\) and a receiver with a set of \(d\)-dimensional vectors \(W\) to learn items \(\mathbf{q}\in Q\) for which there exists some \(\mathbf{w}\in W\) satisfying \(\mathsf{dist}(\mathbf{q}, \mathbf{w}) \leq \delta\) under a given distance metric. Previous FPSI works have demonstrated a linear scaling with the distance threshold \(\delta\), while some recent works have achieved a poly-logarithmic dependence on \(\delta\). However, these protocols either support only the \(L_\infty\) distance, or they support general \(L_{p\in[1,\infty]}\) distances but rely on expensive additive homomorphic encryption (AHE). Achieving exact logarithmic dependence on \(\delta\) for general \(L_{p\in[1,\infty]}\) distances without relying on costly AHE would constitute a theoretical breakthrough in optimal threshold scaling and a practical advance toward scalable FPSI applications.
In this work, we present new FPSI protocols for \(L_{p\in[1,\infty]}\) distances that are entirely built from oblivious transfer (OT) and symmetric-key primitives. We propose FPSI protocols based on both the apart and the separate assumptions, which are applicable to low- and high-dimensional settings, respectively. Our constructions achieve strictly logarithmic complexity in \(\delta\), which is optimal in the sense that distinguishing all values in an interval of length \(O(\delta)\) necessarily requires \(\Omega(\log \delta)\) bits of information. Our core idea is to perform fuzzy matching via prefix representation and interactively determine the correct prefix using equality conditions. To this end, we propose a suite of new components that can be implemented efficiently using only OT and symmetric-key operations.
We implement our FPSI protocols and compare them with the state-of-the-art FPSI protocols for \(L_{p\in[1,\infty]}\) distance. Experiments show that our protocols outperform the prior state-of-the-art by up to \(43.7\times\) in runtime and \(31.3\times\) in communication.
Fuzzy private set intersection (FPSI) allows a receiver to identify elements in a sender’s set that lie within a certain distance from its own elements, without revealing any additional information. This functionality is essential for applications involving noisy or approximate data, including genomic sequence matching [1], similar image retrieval [2], compromised credential detection [3], illegal content screening [4], and weak password identification [5].
While standard private set intersection (PSI) has matured over decades of research [6]–[17] and achieved high practical efficiency, FPSI remains in a comparatively early research phase. Although introduced twenty years ago by Freedman et al. [18], FPSI has only attracted sustained research interest in recent years [4], [5], [19]–[30]. Conceptually related to PSI, FPSI entails greater design challenge due to its support for fuzzy matching rather than exact matching. As a result, current FPSI protocols still face unresolved theoretical issues and substantial efficiency bottlenecks, which hinder their practical deployment. Neither the asymptotic complexity nor the concrete efficiency of existing solutions has yet reached a satisfactory level.
In this work, we focus on the FPSI protocols for general Minkowski (\(L_{p\in[1,\infty]}\)) distance metrics in the semi-honest setting. Unlike standard PSI, the overhead of FPSI is related to more parameters, including set size \(m,n\), dimension \(d\), and distance threshold \(\delta\). An overview of existing FPSI constructions is presented below, with a focus on their parameter complexity and cryptographic operations used.
Set size and dimension. FPSI typically builds upon a fuzzy matching sub-protocol that allows a receiver to verify whether the distance between its element and the sender’s element is within a threshold \(\delta\). This sub-protocol can be viewed as a special case of FPSI where both sets contain a single element. A straightforward FPSI construction would perform fuzzy matching for every sender-receiver element pair, resulting in quadratic complexity \(O(mn)\), where \(m\) and \(n\) denote the set sizes of the sender and receiver, respectively.
To reduce the number of fuzzy matching operations, existing FPSI protocols typically rely on distributional assumptions about set elements. The two primary assumptions adopted in the literature are the apart assumption and the separate assumption. The apart assumption requires that the distance between any two elements within a party’s set exceeds \(2\delta d^{1/p}\) (or \(2\delta(d^{1/p}+1)\)), which simplifies to \(2\delta\) and \(4\delta\) for \(L_\infty\) distance. This represents a relatively mild constraint. Under this assumption, spatial hashing techniques [4], [19] can reduce the number of fuzzy matching operations from \(O(mn)\) to \(O(\min\{m,n\} \cdot 2^d)\), making it suitable for low-dimensional setting.
For high-dimensional setting, the stronger separate assumption is adopted, which assumes that for each element, there exists at least one dimension where its distance from all other elements exceeds \(2\delta\). This assumption implies the apart assumption. As shown by van Baarsen and Pu [4], randomly generated sets satisfy the separate assumption with overwhelming probability in dimension \(d\). FPSI protocols based on this assumption typically achieve polynomial dependence on \(d\), making them suitable for high-dimensional settings. Notably, under this assumption, Gao et al. [22] achieved linear complexity in \(d\) for the first time, i.e., \(O(d(m+n))\).
Distance threshold. Fuzzy matching protocols typically rely on an interval testing sub-protocol. For \(L_\infty\) distance, verifying whether the distance between \(d\)-dimensional elements \(\mathbf{q}= (q_1,\ldots,q_d)\) and \(\mathbf{w}= (w_1,\ldots,w_d)\) is within \(\delta\) requires checking that \(|w_k - q_k| \leq \delta\) for every \(k \in [d]\), which is equivalent to testing whether each \(w_k\) lies in the interval \([q_k - \delta, q_k + \delta]\). A straightforward method enumerates all \(t \in [q_k - \delta, q_k + \delta]\) and tests whether \(w_k = t\), resulting in a linear cost of \(O(\delta)\) in the threshold. This approach has been employed in several recent works [4], [22], [26], [29], resulting in \(O(d\delta)\) complexity for fuzzy matching.
To improve efficiency, Chakraborti et al. [5] introduced a prefix-based method that represents the interval \([q_k - \delta, q_k+\delta]\) using only \(O(\log \delta)\) prefixes. Interval testing then reduces to checking whether any prefix of \(w_k\) matches the prefix set of the interval, achieving an optimal logarithmic complexity of \(O(\log \delta)\) per dimension. While this reduces the interval testing cost from \(O(\delta)\) to \(O(\log\delta)\), its application to fuzzy matching typically introduces an additional factor of \(O((\log\delta)^d)\) [21], [27], [28], [30], leading to an overall complexity of \(O(d\log\delta+(\log\delta)^d)\) for \(L_\infty\).
Moreover, unlike \(L_\infty\) distance, general Minkowski distances \(L_{p\in[1,\infty)}\) do not support independent per-dimension interval testing, making prefix techniques considerably more challenging to apply. Consequently, nearly all FPSI protocols for \(L_{p\in[1,\infty)}\) distance achieve only linear complexity \(O(\delta)\) in the threshold [4], [22], [26], [28], [29]. A recent exception is the work by Dang et al. [30], which proposed a prefix-based fuzzy matching protocol for \(L_{p\in[1,\infty)}\) distances with complexity \(O(dp\log\delta+(2\log\delta)^d)\). However, their construction still retains an exponential term \(O((2\log\delta)^d)\) and, more critically, contains a security flaw that we have identified (See Appendix 8 for more details). Therefore, constructing a secure fuzzy matching protocol for general \(L_{p\in[1,\infty)}\) distances with complexity \(O(dp\log\delta)\) remains an open problem.
Public-key vs. symmetric-key. Early private set intersection (PSI) protocols relied on public-key primitives such as DDH [31] or additively homomorphic encryption (AHE) [18], thus suffered from limited efficiency. The emergence of OT extension [32], [33] enabled efficient generation of numerous OT instances using only lightweight symmetric-key operations and a small number of base OTs. This breakthrough shifted the design paradigm, leading to modern PSI protocols [14], [15] that achieve orders of magnitude improvement over public-key-based approaches. A similar transition is now underway in FPSI, where recent work aims to replace public-key operations with OT and symmetric-key techniques.
However, many current FPSI protocols still heavily rely on inefficient DDH [4] or AHE [22], [30]. Recently, several concurrent works [26]–[29] have employed OT and symmetric-key operations to enhance FPSI efficiency. Despite this progress, these constructions have not achieved optimal asymptotic efficiency. They either lack support for general \(L_{p\in[1,\infty)}\) distance [27], [29], or exhibit linear dependency on the threshold \(\delta\) for \(L_{p\in[1,\infty)}\) distance [26], [29].
We summarize our main contributions as follows, with a detailed comparison of asymptotic complexities against previous works provided in Table ¿tbl:tab:compare?.
Equality Conditional Sum/Inner-Product Share. We introduce two new cryptographic protocols as the core building blocks of our construction: Equality Conditional Sum Share (ECSS) and Equality Conditional Inner-Product Share (ECIPS). The ECSS protocol enables efficient computation of \(L_\infty\) distance, while ECIPS supports \(L_{p\in[1,\infty)}\) distance. Both protocols can be efficiently implemented using OT and symmetric-key operations and may be of independent interest.
New Fuzzy Matching for Both \(L_\infty\) and \(L_{p\in[1,\infty)}\) Distances. Built on ECSS and ECIPS, we propose the first fuzzy matching protocol based on OT and symmetric-key operations that supports both \(L_\infty\) and \(L_{p\in[1,\infty)}\) distances while achieving exact logarithmic dependence on the distance threshold \(\delta\). Existing solutions either exhibit strictly worse asymptotic complexities [26], [28], [29] or rely on expensive AHE [30].
Fuzzy PSI Protocols for Low-Dimensional Spaces. By combining our fuzzy matching protocol with spatial hashing and cuckoo hashing techniques, we construct FPSI protocols for both \(L_\infty\) and \(L_{p\in[1,\infty)}\) distances in low-dimensional settings. Our protocols rely on apart assumption [4], where the distance between any two elements within a party’s set must exceed \(2\delta d^{1/p}\), or alternatively \(2\delta(d^{1/p}+1)\). For \(L_\infty\) distance, these bounds simplify to \(2\delta\) and \(4\delta\), respectively. The corresponding asymptotic complexities are provided in Table ¿tbl:tab:compare?.
Fuzzy PSI Protocols for High-Dimensional Spaces. For high-dimensional setting, we avoid the exponential \(O(2^d)\) cost of spatial hashing by employing an interactive fuzzy mapping method, specifically a distributed ID generation (dIDG) protocol. Consistent with prior works [4], [22], [30], our high-dimensional protocols rely on the separate assumption. Asymptotic complexities are summarized in Table ¿tbl:tab:compare?.
Experimental Evaluation. We implement our FPSI protocols for \(L_{p\in[1,\infty]}\) distance and conduct comprehensive comparisons with state-of-the-art FPSI protocols [22], [27], [30]. Experimental results show that our protocols achieve significant performance improvements, with runtime up to \(43.7\times\) faster and communication reduced by up to \(31.3\times\).
Before presenting a high-level overview of our FPSI protocols, we first fix the notations. The sender \(\mathcal{S}\) holds set \(Q = \{\mathbf{q}_j\}_{j\in[m]} \subseteq \mathbb{U}^{d}\) and the receiver \(\mathcal{R}\) holds set \(W = \{\mathbf{w}_i\}_{i\in[n]} \subseteq \mathbb{U}^{d}\), where \(d\) is the element dimension and \(\delta\) the distance threshold. The \(k\)-th component of \(\mathbf{q}_j\) (\(\mathbf{w}_i\)) is denoted \(q_{j,k}\) (\(w_{i,k}\)) for \(k\in[d]\).
Fuzzy Matching for \(L_\infty\). An intuitive idea for an \(L_\infty\) fuzzy matching protocol is described below. Here, a sender holds \(\mathbf{q}\) and a receiver holds \(\mathbf{w}\), and the receiver will learn whether \(\mathsf{dist}_\infty(\mathbf{q},\mathbf{w})\leq\delta\). The protocol employs AHE and an Oblivious Key-Value Store (OKVS) scheme [11]. The basic idea is for the receiver to encode a ciphertext of \(0\) for every integer within \(\delta\) in each dimension of its element, namely \(E_k:=\mathsf{Encode}(\{(w_k+v,\mathsf{Enc}_{pk}(0))\}_{v\in[-\delta,\delta]})\) for \(k\in[d]\). The sender then decodes using its element \(\mathbf{q}\) and sums the results as \(c:=\sum_{k\in[d]}\mathsf{Decode}(E_k,q_k)\). If \(\mathsf{dist}_\infty(\mathbf{q},\mathbf{w})\leq\delta\), the sum \(c\) is a ciphertext of \(0\); otherwise, it is random. Next, the sender adds a random plaintext \(r\) to \(c\) using additive homomorphism, sends the result, and the receiver decrypts to verify if it matches \(r\). This basic method, adopted in prior works [4], [22], incurs communication and computation costs linear in \(\delta\).
To reduce the overhead, the protocol can be optimized via prefix representation, which constitutes the core contribution of [30]. Instead of enumerating all integers in the interval, the receiver encodes only the \(l=O(\log\delta)\) prefixes representing the interval. Correspondingly, the sender decodes using the prefixes of its own element. Concretely, the receiver first computes the prefix representation \(\{w_{k,1}^*,\dots,w_{k,l}^*\}\) of each interval \([w_k-\delta,w_k+\delta]\) and constructs an OKVS \(E_k:=\mathsf{Encode}(\{(w_{k,v}^*,\mathsf{Enc}_{pk}(0))\}_{v\in[l]})\) for each dimension \(k\in[d]\). The sender computes its own prefixes \(\{q_{k,1}^*,\dots,q_{k,l'}^*\}\), picks a random value \(a_k\) per dimension, and computes for each prefix the value \(u_{k,v}:=\mathsf{Decode}(E_k,q_{k,v}^*)+\mathsf{Enc}_{pk}(a_k)\). Note that if \(q_{k,v}^*\) matches some \(w_{k,v'}^*\), we have \(|q_k-w_k|\leq \delta\) and \(u_{k,v}\) is a ciphertext of \(a_k\). Then, the sender sends \(\{u_{k,v}\}_{k\in[d],v\in[l']}\) along with \(r=H(\sum_{k\in[d]} a_k)\), where \(H\) is a universal hash function. Finally, the receiver exhaustively checks all combinations \(\mathbf{v}=(v_1,\dots,v_d)\in[l']^d\) by testing whether \(r = H(\sum_{k} \mathsf{Dec}_{sk}(u_{k,v_k}))\).
The avove protocol suffers from three main issues. First, it relies on expensive AHE operations, which impacts efficiency. Second, the receiver must traverse all \(O((\log\delta)^d)\) possible prefix combinations, introducing significant computational overhead. Third and most critically, the protocol is insecure. The security flaw originates in the sender’s masking step. For each dimension \(k\), the same random mask \(a_k\) is added to all prefix decoding results \(\{\mathsf{Decode}(E_k,q_{k,v}^*)\}_{v\in[l']}\). This leaks information about the sender’s input. A detailed attack demonstrating this vulnerability is provided in Appendix 8.
We now describe our approach to address these issues. For the first problem, our key observation is that we can achieve the same functionality using additive secret sharing (ASS) instead of AHE. In this approach, the receiver encodes \(\{(w_{k,v}^*, r_k)\}_{v \in [l]}\) into an OKVS, where \(r_k\) is a random value picked by the receiver. The sender subsequently decodes it using its own prefixes \(\{q_{k,v}^*\}_{v\in[l']}\) to obtain the values \(r_{k,v}'\). If \(q_k\) lies within the interval \([w_k - \delta, w_k + \delta]\), there exists some \(v \in [l']\) such that \(r_{k,v}' = r_k\); otherwise, with overwhelming probability, \(r_{k,v}' \neq r_k\) for every \(v \in [l']\). Thus, the pair \((r_{k,v}', -r_k)\) forms a conditional zero-sharing: it yields shares of zero exactly when the interval test succeeds, and shares of a random value otherwise. A challenge arises because OKVS guarantees obliviousness only when encoded values are uniformly random, so we cannot directly send an OKVS encoding a fixed value. We resolve this by employing an Oblivious Programmable PRF (OPPRF) [34] instead of OKVS. This leverages the standard technique of using an OPRF to generate a one-time pad, thereby ensuring the necessary randomness for the encoded values. To tackle the remaining efficiency and security concerns, we introduce a new primitive named Equality Conditional Sum (ECS). In the ECS functionality, both the sender and receiver input sets of two-dimensional vectors, denoted \(A = \{ \mathbf{a}_{k,v} = (a_{k,v}^0, a_{k,v}^1) \}_{k \in [d], v \in [l]}\) and \(B = \{ \mathbf{b}_{k,v} = (b_{k,v}^0, b_{k,v}^1) \}_{k \in [d], v \in [l]}\), where \(k\) indexes dimensions and \(v\) indexes prefixes. The component with superscript \(1\) is used for comparison, while the component with superscript \(0\) is used for summation. The functionality identifies, for each dimension \(k\), an index \(v_k^* \in [l]\) such that \(a_{k,v_k^*}^1 = b_{k,v_k^*}^1\)1; if no such index exists, a random \(v_k^*\) is selected. It then computes the sum \(\mathsf{Sum} := \sum_{k \in [d]} (a_{k, v_k^*}^0 + b_{k, v_k^*}^0)\) and delivers \(\mathsf{Sum}\) to the receiver.
Afger the OPPRF evaluation, both parties proceed to invoke the ECS functionality. In this phase, the sender acts as the ECS receiver, providing input vectors in which both components are set to its OPPRF outputs, that is, \(b_{k,v}^0 = b_{k,v}^1 := r_{k,v}'\). Meanwhile, the receiver participates as the ECS sender, constructing input vectors with the first component set to zero and the second component containing the random values generated during OPPRF encoding: \(a_{k,v}^0 := 0\), \(a_{k,v}^1 := r_k\). This construction ensures that the sender learns \(\sum_{k \in [d]} r_k\) if and only if a zero-sharing condition is satisfied in every dimension, which is equivalent to \(|w_k - q_k| \leq \delta\) for all \(k \in [d]\). To complete the verification, the receiver also computes \(\mathsf{Rand} := \sum_{k \in [d]} r_k\), and the parties check whether the sender’s output from ECS equals \(\mathsf{Rand}\). Therefore, a secure ECS protocol based on OT and symmetric cryptographic primitives, with an overhead of only \(O(d \log \delta)\), is sufficient to address all the challenges mentioned above.
Equality Conditional Sum (Share). We now present the construction of our ECS protocol, along with a variant called ECS Share (ECSS) that outputs secret shares of \(\mathsf{Sum}\) rather than delivering the result directly to the receiver. This ECSS variant is useful in our high-dimensional FPSI construction.
The general idea of our ECS protocol is to let the receiver obtain \(v_k^*\) when \(a_{k,v_k^*}^1 = b_{k,v_k^*}^1\); otherwise, the receiver gets a random \(v_k^*\). The receiver subsequently calculates and sums over these \(v_k^*\) values. Specifically, the protocol proceeds through the following steps. First, both parties execute a secret-shared Private Equality Test (ssPEQT) on all pairs \((a_{k,v}^1, b_{k,v}^1)\), obtaining secret-shared bits \(e_{k,v}^\mathcal{S}\) and \(e_{k,v}^\mathcal{R}\) such that \(e_{k,v}^\mathcal{S} \oplus e_{k,v}^\mathcal{R} = 1\) if and only if \(a_{k,v}^1 = b_{k,v}^1\). Next, each party locally XORs its bits across all \(v\), yielding \(\tilde{e}_{k,0}^\mathcal{S} := \bigoplus_{v\in[l]} e_{k,v}^\mathcal{S}\) and \(\tilde{e}_{k,0}^\mathcal{R} := \bigoplus_{v\in[l]} e_{k,v}^\mathcal{R}\). Consequently, \(\tilde{e}_{k,0}^\mathcal{S} \oplus \tilde{e}_{k,0}^\mathcal{R} = 1\) exactly when there exists a \(v_k^* \in [l]\) satisfying \(a_{k,v_k^*}^1 = b_{k,v_k^*}^1\). If such \(v_k^*\) exists, let \(\eta=\log l\) and define \(S_\alpha:=\{x_\eta\dots x_{\alpha+1} 1 x_{\alpha-1}\dots x_1:x_1,\dots,x_{\eta}\in\{0,1\}\}\), the parties compute \(\tilde{e}_{k,\alpha}^\mathcal{S} := \bigoplus_{i\in S_\alpha} e_{k,i}^\mathcal{S}\) and \(\tilde{e}_{k,\alpha}^\mathcal{R} := \bigoplus_{i\in S_\alpha} e_{k,i}^\mathcal{R}\). It can be simply verified that \((\tilde{e}_{k,\alpha}^\mathcal{S},\tilde{e}_{k,\alpha}^\mathcal{R})\) forms the secret shares of the \(\alpha\)-th bit of \(v_k^*\). By assembling all \(\eta\) bits, the parties learn exactly the shares of \(v_k^*\). Specifically, the sender learns \(v_k^\mathcal{S}\) and the receiver learns \(v_k^\mathcal{R}\), with \(v_k^\mathcal{S} \oplus v_k^\mathcal{R} = v_k^*\). Now, the goal is for the receiver to learn \(v_k^*\) only if such an index exists; otherwise it should receive a random index. This is achieved via a 2-choice-bit OT: the sender samples a random index \(r_k \leftarrow [l]\) and inputs \((v_k^\mathcal{S}, r_k)\) if \(\tilde{e}_{k,0}^\mathcal{S}=1\), and \((r_k, v_k^\mathcal{S})\) otherwise. The receiver inputs \(\tilde{e}_{k,0}^\mathcal{R}\). This ensures the receiver reconstructs the correct \(v_k^\mathcal{S}\) precisely when \(\tilde{e}_{k,0}^\mathcal{S} \oplus \tilde{e}_{k,0}^\mathcal{R} = 1\).
After the receiver obtains \(v_k^*\), the parties invoke a 1-out-of-\(l\) OT. In this step, the sender selects random masks \(\{\mathsf{mask}_k\}_{k\in[d]}\) subject to \(\sum_{k\in[d]} \mathsf{mask}_k = 0\), and inputs \(\{a_{k,v}^0 + \mathsf{mask}_k\}_{v\in[l]}\). The receiver inputs \(v_k^*\) and receives \(\gamma_k = a_{k,v_k^*}^0 + \mathsf{mask}_k\). The receiver then computes \(\mathsf{Sum} := \sum_{k\in[d]} (\gamma_k + b_{k,v_k^*}^0)\). For ECSS, the sender instead picks all masks arbitrarily and sets its own share as \(-\sum_{k\in[d]} \mathsf{mask}_k\).
The steps described above correctly implement the ECS functionality, but they introduce a security issue that could compromise sender privacy. Specifically, allowing the receiver to learn each \(v_k^*\) directly could reveal information about the sender’s set. To address this issue, we propose to let the receiver learn a permuted index \(\pi(v_k^*)\) instead, where \(\pi\) is a random permutation over \([l]\) chosen by the sender and kept hidden from the receiver. This is achieved using a Permute + Share (PS) protocol [35], [36]. In the PS protocol, the sender inputs a permutation \(\pi\), the receiver inputs a vector \(\mathbf{b}_k = (b_{k,1}^1,\dots,b_{k,l}^1)\), and both parties receive additive shares of the permuted vector. Concretely, the sender obtains \(\mathbf{b}^\mathcal{S} = (b_{k,1}^\mathcal{S},\dots,b_{k,l}^\mathcal{S})\) and the receiver obtains \(\mathbf{b}^\mathcal{R} = (b_{k,1}^\mathcal{R},\dots,b_{k,l}^\mathcal{R})\), such that \(b_{k,v}^\mathcal{S} + b_{k,v}^\mathcal{R} = b_{k,\pi(v)}^1\). The sender then computes \(\tilde{a}_{k,v}^1 := a_{k,\pi(v)}^1 - b_{k,v}^\mathcal{S}\). At this stage, the parties can invoke ssPEQT on \(\tilde{a}_{k,v}^1\) and \(b_{k,v}^\mathcal{R}\); one can verify that \(\tilde{a}_{k,v}^1 = b_{k,v}^\mathcal{R}\) if and only if \(a_{k,\pi(v)}^1 = b_{k,\pi(v)}^1\). Subsequently, following the steps previously outlined, the parties obtain secret shares of \(\pi(v_k^*)\).
Combining the above techniques yields the ECS (and ECSS) protocol. For \(L_{p\in[1,\infty)}\) distance, we introduce a similar component called Equality Conditional Inner-Product Share (ECIPS), which is constructed analogously to ECSS but replaces the local summation with an inner product protocol. Details are provided in Section 3.2.
Fuzzy Matching for \(L_{p\in[1,\infty)}\). Previous works [4], [22] encode \(\{(w_k + v, \mathsf{Enc}_{pk}(|v|^p))\}_{v\in[-\delta,\delta]}\) into an OKVS. If \(q_k \in [w_k-\delta, w_k+\delta]\), the sender decodes precisely the ciphertext of \(|w_k - q_k|^p\). Using additive homomorphism, a ciphertext of \(\mathsf{dist}_p(\mathbf{q},\mathbf{w})^p = \sum_{k\in[d]}|w_k - q_k|^p\) can then be obtained. This method, however, requires enumerating all values in the interval. Dang et al. [30] proposed a new approach leveraging prefix representation. Assuming \(q_k \leq w_k\), their core idea is to find a public midpoint \(q_k \leq w' \leq w_k\) such that \(|w_k - q_k| = |w_k - w'| + |q_k - w'|\). The receiver encodes ciphertext of \(|w_k - w'|\) into the OKVS, and the sender locally adds \(|q_k - w'|\) after decoding. They observed that the right endpoint of the prefix-generated interval satisfies this property2. More concretely, let \(\{w_{k,1}^*, \dots, w_{k,l}^*\}\) be the prefix representation of \([w_k-\delta, w_k]\), and let \(q_{k,v'}^*\) be a prefix of \(q_k\) that matches some \(w_{k,v}^*\). The receiver encodes \(\{w_{k,v}^*, \mathsf{Enc}(|w_k - \mathsf{UpBound}(w_{k,v}^*)|)\}_{v\in[l]}\), where \(\mathsf{UpBound}(w_{k,v}^*)\) denotes the right endpoint of the interval corresponding to prefix \(w_{k,v}^*\). The sender computes the ciphertext of \(|w_k - q_k|\) as \(\mathsf{Decode}(E, q_{k,v'}^*) + |q_k - \mathsf{UpBound}(q_{k,v'}^*)|\). To obtain the ciphertext of \(|w_k - q_k|^p\), the receiver encodes for each \(t\in[p]\) the values \(\mathsf{Enc}(|w_k - \mathsf{UpBound}(w_{k,v}^*)|^t)\). The sender then uses the binomial formula to derive the ciphertext of \(|w_k - q_k|^p\) as \(\sum_{t\in[0,p]}\binom{p}{t}\mathsf{Enc}(|w_k - \mathsf{UpBound}(w_{k,v}^*)|^t)\cdot |q_k - \mathsf{UpBound}(q_{k,v'}^*)|^{p-t}\).
The prefix technique expands the sender’s decoding attempts per dimension by a multiplicative factor \(l = O(\log \delta)\). Dang et al. [30] employed a method analogous to their \(L_\infty\) construction to sum across dimensions, but it inherits the same shortcomings of insecurity and an additional \(O((\log \delta)^d)\) factor. To resolve these issues, our initial step is again to adopt ASS in place of AHE. In particular, the parties obtain secret shares of \(|w_k - w'|\), denoted \(\llbracket |w_k - w'| \rrbracket_\mathcal{S}\) and \(\llbracket |w_k - w'| \rrbracket_\mathcal{R}\), rather than a ciphertext. Consequently, both parties should locally apply the binomial formula to their shares to compute shares of \(|w_k - q_k|^p\), instead of having the sender perform this computation alone. This presents a challenge because the sender alone knows the binomial coefficients \(\binom{p}{t}|q_k - w'|^{p-t}\), and revealing them would leak information about its input.
We address this by reframing the computation as an inner product problem. Define the vectors \[\begin{align} \label{aaa} \mathbf{a}^0 &= \bigl(0, \llbracket |w_k - w'| \rrbracket_\mathcal{R}, \dots, \llbracket |w_k - w'|^p \rrbracket_\mathcal{R}\bigr), \\ \mathbf{b}^0 &= \bigl(1, \llbracket |w_k - w'| \rrbracket_\mathcal{S}, \dots, \llbracket |w_k - w'|^p \rrbracket_\mathcal{S}\bigr), \\ \mathbf{b}^1 &= \bigl(|q_k - w'|^{p}, \binom{p}{1}|q_k - w'|^{p-1}, \dots, 1\bigr). \end{align}\tag{1}\] Here, \(\mathbf{a}^0\) is known to the receiver, and \(\mathbf{b}^0,\mathbf{b}^1\) are known to the sender. The binomial computation thus reduces to computing the inner product \(\langle \mathbf{a}^0 + \mathbf{b}^0, \mathbf{b}^1 \rangle\). This can be implemented using an inner product protocol of length \(p+1\), which can in turn be realized via \(p+1\) instances of Oblivious Linear Evaluation (OLE) protocol.
To eliminate the \(O((\log \delta)^d)\) expansion, we introduce a new primitive called Equality Conditional Inner-Product Share (ECIPS), analogous to ECSS. In ECIPS, the sender inputs \(A = \{ \mathbf{a}_{k,v}=(\mathbf{a}_{k,v}^0, a_{k,v}^2) \}_{k \in [d], v \in [l]}\) and the receiver inputs \(B = \{ \mathbf{b}_{k,v} = (\mathbf{b}_{k,v}^0, \mathbf{b}_{k,v}^1, b_{k,v}^2) \}_{k \in [d], v \in [l]}\). The superscript \(2\) components are used for equality comparison, while the superscript \(0,1\) components are used for the inner product. For each dimension \(k\), the functionality identifies an index \(v_k^* \in [l]\) such that \(a_{k,v_k^*}^2 = b_{k,v_k^*}^2\); if none exists, a random \(v_k^*\) is chosen. It then computes the inner product sum \(\mathsf{IPSum} := \sum_{k \in [d]} \langle \mathbf{a}_{k, v_k^*}^0 + \mathbf{b}_{k, v_k^*}^0, \mathbf{b}_{k, v_k^*}^1\rangle\) and outputs secret shares of \(\mathsf{IPSum}\) to the two parties.
Similar to our \(L_\infty\) distance protocol, we first let the participants obtain the conditional additive sharing of \(|w_k-q_k|^t\) for \(t\in[p]\) via an OPPRF. Denote this sharing by \((r_{k,t},\,r_{k,v,t}')\), that is, if the prefix \(q_{k,v}^*\) of \(q_k\) equals some prefix of the interval \([w_k-\delta,w_k]\)3, then \(r_{k,t}+r_{k,v,t}'=|w_k-w'|^t\), otherwise the shares are random. In addition, the parties also generate a conditional zero sharing, denoted \((r_{k,p+1},r_{k,v,p+1}')\), for later equality testing. With these shares, the sender defines \(\mathbf{b}^0_{k,v}:=(1,r'_{k,v,1},\dots,r'_{k,v,p}),\mathbf{b}^1_{k,v}:=(\binom{p}{0}|q_k-\mathsf{UpBound}(q_{k,v}^*)|^p,\dots,\binom{p}{p-1}|q_k-\mathsf{UpBound}(q_{k,v}^*)|^1,1),b_{k,v}^2:=r'_{k,v,p+1}\), and the receiver defines \(\mathbf{a}^0_{k,v}:=(0,r_{k,1},\dots,r_{k,p}),a_{k,v}^2:=r_{k,p+1}\). The two parties then invoke the ECIPS functionality on these inputs, receiving outputs \(\mathsf{Rand}_\mathcal{S}\) and \(\mathsf{Rand}_\mathcal{R}\). By the functionality of ECIPS, if \(\forall k\in[d], |q_k-w_k|\leq \delta\), then \(\mathsf{Rand}_\mathcal{S} + \mathsf{Rand}_\mathcal{R} = \sum_{k\in[d]}|w_k-q_k|^p =\mathsf{dist}_p(\mathbf{w},\mathbf{q})^p\). Now, the parties can thus complete \(L_p\) fuzzy matching by checking whether \(\mathsf{Rand}_\mathcal{S} \in [-\mathsf{Rand}_\mathcal{R},\, -\mathsf{Rand}_\mathcal{R} + \delta^p]\) via the fuzzy matching for interval functionality [5], [22].
The ECIPS construction follows a pattern similar to ECSS, with overhead \(O(dp\log\delta)\). Further details are provided in Section 3.2.
Fuzzy PSI for Low Dimensional Spaces. We illustrate the construction using FPSI for \(L_\infty\) distance. The approach for \(L_{p\in[1,\infty)}\) distances follows a similar pattern. Fuzzy matching corresponds to the special case of FPSI where each party holds a single element. When both parties have multiple elements, spatial hashing techniques [4], [19], [21], [28], [30] are commonly employed in low-dimensional settings to reduce the number of pairwise comparisons. This method requires the points of the parties to be at least \(2\delta\) or \(4\delta\) apart for successful OKVS/OPPRF encoding. The core idea is to partition the space into a grid of cells with side length \(2\delta\). For each of its elements, the sender assigns as an identifier (ID) the coordinates of the cell containing that element. The receiver, for each of its elements, considers all cells that intersect the \(\delta\)-radius ball centered at the element, yielding \(2^d\) IDs per element. This encoding guarantees that if \(\mathsf{dist}(\mathbf{w}_i, \mathbf{q}_j) \leq \delta\), the ID sets of \(\mathbf{w}_i\) and \(\mathbf{q}_j\) intersect.
Once the ID sets are computed, the receiver encodes its IDs into an OKVS. Concretely, for each element \(\mathbf{w}_i\), each of its \(2^d\) associated IDs \(\{id_{\mathbf{w}_i,t}\}_{t\in[2^d]}\), the receiver encodes \(\{(id_{\mathbf{w}_i,t} || (w_{i,k}+v),\; \mathsf{Enc}_{pk}(0)\}_{i\in[n],t\in[2^d],v\in[-\delta,\delta]}\). The sender, for each of its elements \(\mathbf{q}_i\), decodes using the query \(id_{\mathbf{q}_i} || q_{i,k}\). This ensures that only when the IDs match does the sender obtain a \(0\)-ciphertext (or, when using OPPRF, shares of \(0\)). When the prefix optimization is applied, the receiver concatenates each ID with the corresponding prefix before encoding, and the sender similarly appends prefixes to its decoding queries. Because each dimension of each sender element requires \(l = O(\log \delta)\) decoding attempts, the sender must examine all \(O((\log \delta)^d)\) possible prefix combinations.
As previously noted, eliminating the \(O((\log\delta)^d)\) factor requires the parties to run an ECS protocol, which thereby introduces an interaction phase after OPPRF. In contrast, prior traversal-based methods avoided such interaction by having the sender locally enumerate all possible summation items. This interaction, however, raises a new challenge: the receiver must correctly match its encoded shares with the corresponding decoding results from the sender to form valid inputs for the ECS.
To overcome this challenge, we employ Simple/Cuckoo hashing [6]. Specifically, the sender inserts its elements into a Cuckoo hash table using each element’s ID as the hash key. In parallel, the receiver inserts its elements into a Simple hash table, encoding shares of \(0\) in each bin. Crucially, under the apart assumption, this ensures that in each bin of the receiver’s table, at most one element lies within distance \(\delta\) of sender’s element. Thus, ECS can be performed bin-by-bin, resolving the alignment problem introduced by departing from purely local traversal.
Nevertheless, the introduction of Cuckoo hashing also reveals the sender’s hashing positions, which leaks information about its entire set. We mitigate this leakage by incorporating a Permute+Share (PS) protocol [35]. The sender locally chooses a random permutation and uses the PS protocol to jointly permute the order of bins with the receiver, thereby hiding the original cuckoo hashing order. We further propose an optimization based on our newly introduced shared OPRF (sOPRF) functionality. Using sOPRF, the parties can realize a shared OPPRF where the receiver’s PRF shares directly serve as the corresponding evaluation shares for the sender. In this setting, the parties only need to run ECS for non-empty bins, and the PS step can be omitted entirely. Additional details are provided in Sections 5.1.2 and 5.2.2.
Fuzzy PSI for High Dimensional Spaces. Under the apart assumption, spatial hashing incurs a \(2^d\) blow-up, as the receiver must generate \(2^d\) IDs per element. Gao et al. [22] introduced a distributed ID generation (dIDG) protocol with expansion rate \(1\) under the stronger separate assumption, generating only one ID per element for both parties.
Roughly speaking, their idea assigns to each element \(\mathbf{q}\) an ID defined as \({id}_{\mathbf{q}} := F_Q(\mathbf{q}) + F_W(\mathbf{q})\), where \(F_Q(\cdot)\) and \(F_W(\cdot)\) are functions constructed such that for any close pair \(\mathsf{dist}(\mathbf{q}, \mathbf{w}) \leq \delta\), we have \(F_{Q}(\mathbf{q})=F_Q(\mathbf{w})\) and \(F_W(\mathbf{q})=F_W(\mathbf{w})\). Critically, the function \(F_Q(\cdot)\) (resp. \(F_W(\cdot)\)) is keyed by the sender’s set \(Q\) (resp. receiver’s set \(W\)). Since each party holds only its own key, the protocol requires the receiver to obliviously evaluate \(F_Q(\cdot)\) on its own set \(W\), and symmetrically, the sender to obliviously evaluate \(F_W(\cdot)\) on \(Q\). Taking the receiver side as an example, \(F_Q\) is constructed as follows. For each dimension \(k\), a random value \(r_k\) is assigned to each projection interval \([q_k-\delta, q_k+\delta]\), and overlapping intervals in the same dimension are merged and assigned the same \(r_k\). Then \(F_Q(\mathbf{w}) = \sum_{k=1}^d r_k\), where \(r_k\) corresponds to the interval containing \(w_k\). This construction, however, introduces collisions: distinct \(\mathbf{w}_1 \neq \mathbf{w}_2\) may yield \(F_Q(\mathbf{w}_1) = F_Q(\mathbf{w}_2)\), revealing proximity information. To eliminate this leakage, Gao et al. [22] incorporate a DH key exchange, defining the final ID as \(id_\mathbf{w} := (F_Q(\mathbf{w}) + F_W(\mathbf{w}))^{sk_s \cdot sk_r}\), where \(sk_s\) and \(sk_r\) are secret DH keys held by the sender and receiver. The receiver thus obtains \(id_\mathbf{w}\) without learning \(F_Q(\mathbf{w})\) directly, thereby concealing collisions.
The construction of Gao et al. [22] incurs a cost of \(O(d\delta(m+n))\). Dang et al. [30] adopt a similar approach but incorporate a prefix technique, reducing complexity to \(O(d\log\delta(m+n))\). However, we find their construction remains insecure. Beyond the earlier mentioned insecurity due to mask reuse, we identify a further security flaw in their distributed ID generation. Gao et al. [22] define the final ID as \({id}_\mathbf{w}= (F_Q(\mathbf{w}) + F_W(\mathbf{w}))^{sk_s \cdot sk_r}\), which involves symmetric operations from both parties. In contrast, Dang et al. [30] effectively set \({id}_\mathbf{w}:= F_Q(\mathbf{w})\), omitting both the receiver’s \(F_W\) evaluation and the DH step. This simplification reintroduces the collision leakage that the DH exchange was designed to prevent. A full analysis is given in Appendix 8. Additionally, we note that both protocols in [22], [30] still rely on relatively inefficient AHE.
To address these issues, we design a dIDG protocol based on OT and symmetric-key primitives. The core idea is to compute all intermediate values in secret‑shared form. Both Gao et al. [22] and Dang et al. [30] use an OKVS to encode AHE ciphertexts of the random values \(r_k\). Our first step is also to replace AHE with ASS. Correspondingly, we replace OKVS with an OPPRF. To incorporate the prefix technique, the receiver must be able to identify which prefix decodes correctly. Fortunately, our previously introduced ECSS functionality exactly fulfills this requirement: we first run an OPPRF, followed by an ECSS protocol, so that the parties obtain additive shares of \(F_Q(\mathbf{w})\). The receiver then locally adds its own \(F_W(\mathbf{w})\) to obtain shares of \(F_Q(\mathbf{w})+F_W(\mathbf{w})\). The next step is to derive the final IDs. In prior work, a DH key exchange is used to compute \(id_{\mathbf{w}} = (F_Q(\mathbf{w})+F_W(\mathbf{w}))^{sk_s \cdot sk_r}\), which requires expensive group exponentiation. We abstract this operation as the evaluation of a weak pseudorandom function \(F_{sk}(x)=x^{sk}\), so that the final ID can be expressed as \[id_{\mathbf{w}} := F_{sk_s}\!\bigl(F_{sk_r}(F_Q(\mathbf{w})+F_W(\mathbf{w}))\bigr).\] To avoid exponentiation, we introduce a new primitive called shared oblivious PRF (sOPRF), a variant of OPRF in which both the input and the output are additively secret‑shared. By invoking two sequential sOPRF instances on the shares of \(F_Q(\mathbf{w})+F_W(\mathbf{w})\), the parties finally obtain shares of \(id_{\mathbf{w}}\), which can then be opened to the receiver.
Once the dIDG protocol is executed, the parties proceed with the same operations as in our low‑dimensional FPSI protocol, but now using the IDs produced by dIDG instead of spatial‑hashing‑based IDs. This substitution removes the \(2^d\) factor inherent in spatial hashing. The complete protocol is described in Section 6.
The remaining question is how to construct an efficient sOPRF. We find that the recent shared‑output OPRF of Alamati et al. [37], built from OT and symmetric‑key operations, offers a promising starting point. We revisit their protocol and introduce a simple yet crucial twist to additionally support shared input, yielding our sOPRF construction. See Section 4 for the full description.
We use \(\kappa\) and \(\lambda\) to denote the computational and statistical security parameters, respectively. We use \([n]\) to denote the set \(\{1,2,\dots,n\}\). For a bit string \(b\) we let \(b_i\) denote the \(i\)th bit. We use the abbreviation PPT to denote probabilistic polynomial-time. We say that a function \(f\) is negligible in \(\kappa\) if it vanishes faster than the inverse of any polynomial in \(\kappa\), and write it as \(f(\kappa) = \mathsf{negl}(\kappa)\). \(a := b\) denotes that \(a\) is assigned by \(b\). The operator \(||\) denotes concatenation. We use \(Q = \{\mathbf{q}_1,\dots,\mathbf{q}_m\}\subseteq \mathbb{U}^{d}\) to denote a set of \(m\) \(d\)-dimensional elements. In this work, we consider \(L_\infty\) and \(L_{p\in[1,\infty)}\) distance metrics, i.e., \(\mathsf{dist}_\infty(\mathbf{q},\mathbf{w}) = \mathsf{max}_{k\in[d]}|q_k-w_k|\) and \(\mathsf{dist}_p(\mathbf{q},\mathbf{w}) = (\sum_{k\in[d]}|q_k-w_k|^p)^{\frac{1}{p}}\), where \(\mathbf{q}=(q_1,\dots,q_d),\mathbf{w}=(w_1,\dots,w_d)\). For a key-value set \(A = \{(x_i,y_i)\}_{i\in[n]}\), we use \(A[x_i]\) to denote \(y_i\).
Similar to most previous protocols for FPSI, we use the standard notion of security in the presence of semi-honest adversaries [38], [39].
Let \(\mathcal{F}\) be a functionality between a sender \(\mathcal{S}\) with input \(Y\) and a receiver \(\mathcal{R}\) with input \(X\). Let \(\Pi\) be a two-party protocol for computing \(\mathcal{F}\).
Semi-honest Security. Let \(\mathsf{view}_{\mathcal{P}}^{\Pi}(X,Y)\) be the views of party \(\mathcal{P}\) (\(\mathcal{P}\in \{\mathcal{S},\mathcal{R}\}\)) in the protocol, which consists of \(\mathcal{P}\)’s input, randomness tape, and received messages during the protocol. Let \(\mathsf{output}(X,Y)\) be the output of both parties in the protocol.
Definition 1. A protocol \(\Pi\) is said to securely compute functionality \(\mathcal{F}\) against semi-honest \(\mathcal{P}\) if for every PPT adversary \(\mathcal{A}\) that corrupting \(\mathcal{P}\), there exists a PPT simulator \(\mathsf{Sim}_\mathcal{P}\) such that for all inputs \(X\) and \(Y\),
\(\{\mathsf{view}_{\mathcal{P}}^{\Pi}(X,Y),\mathsf{output}(X,Y)\} \approx_c \{\mathsf{Sim}_{\mathcal{P}}(In(\mathcal{P}),\mathcal{F}(X,Y)),\mathcal{F}(X,Y)\}\)
where \(In(\mathcal{P})\) denotes the input of \(\mathcal{P}\).
The Permute + Share (PS) functionality [35], [40] takes as input a vector from the sender and a permutation from the receiver. It then provides both parties with additive shares of the permuted vector. The formal definition is given in Figure 1.
In the private equality test (PEQT) functionality, a sender and a receiver respectively provide inputs \(a, b \in\{0,1\}^l\), and the receiver learns a bit indicating whether \(a = b\). We also define a secret-shared variant, ssPEQT, which outputs an additive boolean share of the equality result to each party. The formal definitions are provided in Figure 2.
The AND (resp. OR) functionality takes as input \(n\)-bit shares \(\{b_i^0\}_{i\in[n]}\) from party \(P_0\) and \(\{b_i^1\}_{i\in[n]}\) from party \(P_1\). It then provides each party with a share of the result \(\bigwedge_{i=1}^n (b_i^0\oplus b_i^1)\) (resp. \(\bigvee_{i=1}^n (b_i^0\oplus b_i^1)\)). The formal definition is provided in Figure 3.
Oblivious Transfer (OT) [41] is a fundamental cryptographic primitive widely used in secure multiparty computation. While the \(1\)-out-of-\(2\) variant is the most common, we present the formal definition for the more general \(1\)-out-of-\(l\) OT functionality in Figure 4.
The inner product (IP) functionality takes a length-\(n\) vector from both a sender and a receiver, and outputs their inner product to the receiver. This functionality can be realized via \(n\) instances of Oblivious Linear Evaluation (OLE). Its formal definition is given in Figure 5.
Programmable PRF (PPRF) [34] consists of two algorithms \((\mathsf{Hint},F)\) and resembles a standard PRF, except it outputs programmed values on a specified set of input keys. The \(\mathsf{Hint}\) algorithm takes a PRF key \(k\), a set of programmed keys \(K\), and corresponding values \(V\), and outputs a hint \(\mathsf{hint}\) that encodes these key-value pairs.
An Oblivious PPRF (OPPRF), based on a PPRF scheme \((\mathsf{Hint},F)\), is a two-party protocol between a sender and a receiver. The sender inputs \((K,V)\), the receiver inputs a query set \(X = \{x_i\}_{i\in [t]}\), and the functionality samples a random key \(k\), computes \(\mathsf{hint}\leftarrow \mathsf{Hint}(k,K,V)\) and \(f_i = F(k,\mathsf{hint},x_i)\), then gives \(k,\mathsf{hint}\) to the sender and \(\mathsf{hint},\{f_i\}_{i\in[t]}\) to the receiver. We give the formal definition of OPPRF functionality in Figure 6.
The Oblivious Key-Value Store (OKVS) [10], [11], [42] is a data structure that maps a set of keys to corresponding values such that, when values are random, the structure’s distribution reveals no information about the keys. The formal definition is as follows:
Definition 2 (Oblivious Key-Value Store). An OKVS is parameterized by a set \(\mathcal{K}\) of keys, a set \(\mathcal{V}\) of values, and consists of two algorithms:
\(\mathsf{Encode}(\{(x_1,y_1),\dots,(x_n,y_n)\})\): on input key-value pairs \(\{(x_i, y_i)\}_{i\in [n]} \subseteq \mathcal{K}\times \mathcal{V}\), outputs an object \(E\) (or, probability \(2^{-\lambda}\), an error \(\perp\)).
\(\mathsf{Decode}(E, x):\) on input \(E\) and a key \(x\), outputs a value \(y \in \mathcal{V}\).
Correctness. For all \(A\subseteq \mathcal{K}\times \mathcal{V}\) with distinct keys:
\((x,y)\in A\) and \(\perp\ne E \leftarrow \mathsf{Encode}(A)\Longrightarrow \mathsf{Decode}(E,x) = y\)
Obliviousness. For all distinct \(\{x_1^0,\dots,x_n^0\}\) and \(\{x_1^1,\dots,x^1_n\}\), if \(\mathsf{Encode}\) does not output \(\perp\) for \(\{x_1^0,\dots,x_n^0\}\) or \(\{x_1^1,\dots,x_n^1\}\), then the following distributions are computationally indistinguishable:
\(\{E|y_i\leftarrow \mathcal{V},i\in [n], \mathsf{Encode}((x_1^0,y_1),\dots,(x_n^0,y_n))\}\)
\(\{E|y_i\leftarrow \mathcal{V},i\in [n], \mathsf{Encode}((x_1^1,y_1),\dots,(x_n^1,y_n))\}\)
\(t\)-Randomness [26]. For any \(A= \{(x_1,y_1), \dots, (x_n,y_n)\}\) and for all distinct \(\{x_i^*\}_{i\in[t]}\) satisfying \(x_i^* \notin \{x_1,\dots,x_n\},i\in[t]\), the distribution of \(\{\mathsf{Decode}(E,x_i^*)\}_{i\in[t]}\) is statistically indistinguishable to that of uniform distribution over \(\mathcal{V}^t\), where \(E\leftarrow \mathsf{Encode}(A)\).
The Prefix Trie technique [5], [28] reduces the problem of testing integer interval membership to a set intersection problem between \({O}(\log \delta)\)-sized sets. The key insight is that any length-\(O(\delta)\) interval can be represented using \(O(\log \delta)\) distinct prefixes. This approach uses two algorithms:
\(\mathsf{PrefixTrie}(q-\delta,q+\delta)\rightarrow \{{q}_1^*,\dots,{q}_l^*\}\)
\(\mathsf{PrefixPath}(w,\delta)\rightarrow \{{w}_1^*,\dots,{w}_{l'}^*\}\)
where \(l= O(\log \delta), l'= O(\log \delta)\).
The \(\mathsf{PrefixTrie}\) algorithm takes the two endpoints of an input interval and outputs a prefix set that represents this interval. The \(\mathsf{PrefixPath}\) algorithm takes a number and an interval radius as inputs, and returns a set of prefixes associated with that number. Their correctness guarantees that for any integers \(w,q\in \mathbb{Z}\), \(w\in [q-\delta,q+\delta]\) if and only if there exists a unique \(i\in [l']\) such that \({w}^*_i\in \{{q}^*_1,\dots,{q}^*_l\}\). The original construction of [5] required \(O(\delta)\) time complexity, and this was later improved by [4] to \(O(\log \delta)\).
A prefix of the form \(q^* = q_l q_{l-1} \dots q_t \in \{0,1\}^{l-t+1}\) denotes the interval whose left endpoint is \(q_l q_{l-1} \dots q_t 0 \dots 0\) and whose right endpoint is \(q_l q_{l-1} \dots q_t 1 \dots 1\). We define the right and left endpoints of the interval respectively as \(\mathsf{Bound}(0,q^*) \;:=\; q_l q_{l-1} \dots q_t 1 \dots 1\), \(\mathsf{Bound}(1,q^*) \;:=\; q_l q_{l-1} \dots q_t 0 \dots 0\).
The fuzzy matching for interval functionality (IFmat) [5], [22] enables a sender with an interval and a receiver with a number to determine whether the number falls within that interval. We also define a secret-shared variant, referred to as ssIFmat, where the output is delivered to both parties in the form of additive shares. A formal definition is provided in Figure 7.
The design of the existing IFmat protocol [5] proceeds as follows: both parties first compute their respective prefix sets, and then invoke a PSI‑Cardinality (PSI‑CA) protocol to obtain the output of IFmat. To obtain a secret‑shared output, we follow a similar high‑level approach, but with a key difference: we replace the PSI‑CA step with a circuit‑PSI protocol, which allows the parties to learn secret‑shares indicating whether each element belongs to the intersection. Because prefix encoding guarantees that the intersection contains at most one element, we can simplify existing circuit‑PSI protocols [14], [43] by omitting the hashing phase. The parties can then simply XOR the shares of the corresponding indicator bits. A formal description of our ssIFmat protocol is given in Figure 8.
The hash-to-bin technique using Cuckoo/Simple hashing was introduced by Pinkas et al. [6], [44] for PSI. The sender uses hash functions \(h_1,\dots,h_\alpha\) to map \(m\) items into \(m_c = (1+\epsilon)m\) bins via Cuckoo hashing [45], ensuring at most one item per bin, while the receiver assigns each item \(w\in W\) to bins \(h_1(w),\dots,h_\alpha(w)\) via simple hashing. Following [46], we use three hash functions with zero stash size, achieving failure probability \(2^{-\lambda}\).
We generalize this scheme by decoupling bin index computation from stored items. Let \(Y^*\leftarrow\mathsf{Cuckoo}_{h_1,h_2,h_3}^{m_c}(\{(x_i,y_i)\}_{i\in[m]})\) denote building a Cuckoo table on \(X=\{x_i\}_{i\in [m]}\) while storing \(Y=\{y_i\}_{i\in[m]}\) in bins, with similar notation for \(\mathsf{Simple}\). When \(X=Y\), this reduces to traditional simple/cuckoo hashing, abbreviated as \(\mathsf{Cuckoo}_{h_1,h_2,h_3}^{m_c}(X)\) and \(\mathsf{Simple}_{h_1,h_2,h_3}^{m_c}(X)\).
Spatial hashing [4], [19] partitions the space into grid cells, limiting point matching to a bounded number of neighboring cells. This technique plays a role in FPSI analogous to Cuckoo/Simple hashing in standard PSI. However, since the number of relevant cells grows exponentially with dimension, the approach is primarily suitable for low-dimensional spaces.
Formally, for vectors \(\mathbf{q}= (q_1,\dots,q_d)\) and \(\mathbf{w}= (w_1,\dots,w_d)\), define:
\(\mathsf{cell}_\delta(\mathbf{q}) := (\lfloor q_1/2\delta\rfloor,\dots,\lfloor q_d/2\delta\rfloor)\)
\(\mathsf{neighbor}_\delta(\mathbf{w}):=\{(\lfloor w_1/2\delta\rceil-b_1,\dots,\lfloor w_d/2\delta\rceil-b_d)|i\in[d],b_i\in \{0,1\}\}\)
Baarsen and Pu [4] established the following lemmas.
Lemma 1 (Maximal Distance in a Cell). Given two points \(\mathbf{q},\mathbf{w}\in \mathbb{U}^d\) located in the same cell with side length \(2\delta\), then the distance between them is \(\mathsf{dist}_p(\mathbf{w}, \mathbf{q}) < 2\delta d^{\frac{1}{p}}\) where \(p \in [1,\infty]\). Specifically, if \(p = \infty, \mathsf{dist}_\infty(\mathbf{w}, \mathbf{q}) < 2\delta\).
Lemma 2 (Unique Center). Suppose there are multiple \(L_p\) balls \((p \in [1,\infty])\) with radius \(\delta\) lying in a \(d\)-dimensional space which is tiled by cells with side length \(2\delta\). If these balls’ centers are at least \(2\delta d^{\frac{1}{p}}\) apart from each other, then for each cell, there is at most one center lying in this cell. Specifically, if \(p =\infty\), then this holds for disjoint balls, since \(2\delta d^{\frac{1}{p}}\) degrades to \(2\delta\) in this case.
Lemma 3 (Unique Ball). Suppose there are multiple \(L_p\) balls \((p \in [1,\infty])\) with radius \(\delta\) lying in a \(d\)-dimensional space which is tiled by cells with side length \(2\delta\). If these balls’ centers are at least \(2\delta (d^{\frac{1}{p}}+1)\) apart from each other, then there exists at most one ball intersecting with the same cell. Specifically, if \(p =\infty\), then this holds for \(L_\infty\) balls with \(4\delta\)-apart centers.
Fuzzy mapping [22], [26] generates a set of IDs for each element, ensuring that if two elements are within a distance \(\delta\), their corresponding ID sets have a non-empty intersection. We give the formal definition in [26] below.
Definition 3 (Fuzzy Mapping). A \((\mathsf{r}_{\mathcal{S}},\mathsf{r}_{\mathcal{R}})\)-Fuzzy Mapping scheme for distance metric \(\mathsf{dist}\) consists a tuple of algorithms \(\mathsf{Fmap} = (\mathsf{Setup}, \mathsf{IDGen}_{\mathcal{S}},\mathsf{IDGen}_{\mathcal{R}})\):
\(\mathsf{Setup}(Q,W)\): on input two sets \(Q = \{\mathbf{q}_j\}_{j\in[m]}\subseteq \mathbb{U}^{d}, W = \{\mathbf{w}_i\}_{i\in[n]}\subseteq \mathbb{U}^{d}\), outputs a state \(\mathsf{st}\).
\(\mathsf{IDGen}_{\mathcal{S}}(\mathbf{q},\mathsf{st})\): on input an item \(\mathbf{q}\in \mathbb{U}^d\) and a state \(\mathsf{st}\), outputs a size-\(\mathsf{r}_{\mathcal{S}}\) ID set \(\mathsf{ID}_\mathbf{q}= \{id^{\mathcal{S}}_1,\dots,id^{\mathcal{S}}_{\mathsf{r}_{\mathcal{S}}}\}\).
\(\mathsf{IDGen}_{\mathcal{R}}(\mathbf{w},\mathsf{st})\): on input an item \(\mathbf{w}\in \mathbb{U}^d\) and a state \(\mathsf{st}\), outputs a size-\(\mathsf{r}_{\mathcal{R}}\) ID set \(\mathsf{ID}_\mathbf{w}= \{id^{\mathcal{R}}_1,\dots,id^{\mathcal{R}}_{\mathsf{r}_{\mathcal{R}}}\}\).
\(\mathsf{r}_{\mathcal{S}}\) and \(\mathsf{r}_{\mathcal{R}}\) are the expansion rates of the sender and receiver, respectively. The expansion rate of the Fuzzy mapping scheme is \(\mathsf{r}:=\mathsf{max}(\mathsf{r}_{\mathcal{S}},\mathsf{r}_{\mathcal{R}})\).
Correctness. For any \(\mathbf{q}\in Q\) and \(\mathbf{w}\in W\), if \(\mathsf{dist}(\mathbf{q},\mathbf{w})\leq \delta\), then \(\mathsf{ID}_\mathbf{q}\cap \mathsf{ID}_\mathbf{w}\neq \emptyset\), where \(\mathsf{st}\leftarrow \mathsf{Setup}(Q,W), \mathsf{ID}_\mathbf{q}\leftarrow \mathsf{IDGen}_{\mathcal{S}}(\mathbf{q},\mathsf{st}),\) \(\mathsf{ID}_\mathbf{w}\leftarrow \mathsf{IDGen}_{\mathcal{R}}(\mathbf{w},\mathsf{st})\).
Distinctiveness. \(\forall i,i'\in [n],i\ne i'\), the probability of \(\mathsf{ID}_{\mathbf{w}_i}\cap \mathsf{ID}_{\mathbf{w}_{i'}} \ne \emptyset\) is negligible, where \(\mathsf{st}\leftarrow \mathsf{Setup}(Q,W),\mathsf{ID}_{\mathbf{w}_i}\leftarrow \mathsf{IDGen}_{\mathcal{R}}(\mathsf{st},\mathbf{w}_{i}),\mathsf{ID}_{\mathbf{w}_{i'}}\leftarrow \mathsf{IDGen}_{\mathcal{R}}(\mathsf{st},\mathbf{w}_{i'})\).
Randomness. For any \(Q = \{\mathbf{q}_j\}_{j\in[m]}\subseteq \mathbb{U}^{d}, W = \{\mathbf{w}_i\}_{i\in[n]}\subseteq \mathbb{U}^{d}\), the distribution of \(\{\mathsf{ID}_\mathbf{q}\}_{\mathbf{q}\in Q}\) and \(\{\mathsf{ID}_\mathbf{w}\}_{\mathbf{w}\in W}\) is statistically indistinguishable to that of uniform distribution, where \(\mathsf{st}\leftarrow \mathsf{Setup}(Q,W), \mathsf{ID}_\mathbf{q}\leftarrow \mathsf{IDGen}_{\mathcal{S}}(\mathbf{q},\mathsf{st}),\mathsf{ID}_\mathbf{w}\leftarrow \mathsf{IDGen}_{\mathcal{R}}(\mathbf{w},\mathsf{st}),\mathbf{q}\in Q, \mathbf{w}\in W\).
Silence. The output of algorithm \(\mathsf{Setup}\) is \(\perp\). In other words, the algorithms \(\mathsf{IDGen}_{\mathcal{S}}(\mathbf{q},\mathsf{st})\) and \(\mathsf{IDGen}_{\mathcal{R}}(\mathbf{w},\mathsf{st})\) do not require a common input and work independently.
A fuzzy mapping scheme must guarantee correctness and distinctiveness. Randomness and silence are optional, with a key constraint: a non-silent scheme must be random.
Fuzzy mapping serves to reduce the number of required element comparisons in FPSI. Rather than comparing distances for all \(m \cdot n\) element pairs, only those sharing an ID need to be compared.
Spatial hashing is one instantiation of fuzzy mapping, satisfying the properties of correctness, distinctiveness, and silence, but it incurs an expansion rate of \(2^d\). To achieve a constant expansion rate of \(1\), Gao et al. [22] introduced an interactive method for ID generation, termed distributed ID generation (dIDG). We formally define this functionality in Figure 9.
In this section, we define the functionality of FPSI and its variants, including FPSI, FPSI-cardinality (FPSI-CA), labeled FPSI (LFPSI), and FPSI with sender privacy (FPSI-SP). The formal definition of these functionalities is given in Figure 10.
In this section, we introduce the equality conditional sum share (ECSS) and equality conditional inner-product share (ECIPS), two new primitives that serve as the core building blocks for our FPSI protocols supporting the \(L_\infty\) and \(L_{p\in[1,\infty)}\) distance metrics, respectively.
We define equality conditional secret sharing (ECSS) and its variant, equality conditional sum (ECS). As the name suggests, the difference is that ECS sends the summation result directly to the receiver, while ECSS outputs a secret sharing between the parties.
In ECS, the sender and receiver input sets of two-dimensional vectors: \(A = \{ \mathbf{a}_{k,v} = (a_{k,v}^0, a_{k,v}^1) \}_{k \in [d], v \in [l]}\) and \(B = \{ \mathbf{b}_{k,v} = (b_{k,v}^0, b_{k,v}^1) \}_{k \in [d], v \in [l]}\). The superscript \(1\) is used for comparison and superscript \(0\) is used for summation.
For each dimension \(k\), the functionality finds \(v_k^* \in [l]\) such that \(a_{k,v_k^*}^1 = b_{k,v_k^*}^1\). If multiple exist, \(v_k^*\) is set as their XOR4; otherwise \(v_k^*\) is chosen randomly. It then computes \(\mathsf{Sum} := \sum_{k \in [d]} (a_{k, v_k^*}^0 + b_{k, v_k^*}^0)\) and sends \(\mathsf{Sum}\) to the receiver. For ECSS, the parties learn secret shares of \(\mathsf{Sum}\).
The ideal functionality for ECS(S) is given in Figure 11.
We present our ECS(S) protocol in Figure 13, which requires calling a sharing conversion algorithm \(\mathsf{ShareTrans}\) to convert the \(l\)-bit vector5 sharing into the sharing in \([l]\), representing the XOR at position \(1\) of this vector.6 The \(\mathsf{ShareTrans}\) algorithm is given in Figure 12.
We argue the correctness of the \(\mathsf{ShareTrans}\). If \(e_\beta\) is a share of \(1\), and the \(\alpha\)-th bit of \(\beta\) is \(1\). Then \(\beta \in S_\alpha\), so \(e_\beta\) is XORed into \(\tilde{e}_\alpha\). This means the \(\alpha\)-th bit of \(\tilde{e}\) accumulates the effect of a share of \(1\). Consequently, \(\tilde{e}\) can be viewed as the share representation of the XOR over all \(\beta\) for which \(e_\beta\) is a share of \(1\). For the case where all \(e_\beta\) are shares of \(0\), it follows that \(\tilde{e}\) will also be a share of \(0\).
As outlined in the introduction, we construct the ECS protocol as follows. First, the parties invoke PS to permute the index \(v\). They then run ssPEQT, \(\mathsf{ShareTrans}\), and 2-choice-bit OT to give the receiver the permuted \(v_k^*\). Finally, the parties use the mask-then-unmask trick to obtain the \(\mathsf{Sum}\) for the receiver. We note that the OR in step 4 is to handle cases where multiple \(v_k^*\) satisfy \(a_{k,v_k^*}^1 = b_{k,v_k^*}^1\). In our FPSI construction, at most one such \(v_k^*\) exists, so the parties can locally XOR their results without invoking the OR functionality.
we argue the correctness of ECS described in Figure 13. The correctness for ECSS is similar.
Correctness. Let \(E_k\) and \(v_k^*\) be defined as in Figure 11. For \(k \in [d], v \in [l]\), the correctness of PS and ssPEQT ensures that: \[e_{k,v}^\mathcal{S} \oplus e_{k,v}^{\mathcal{R}} = 1 \Longleftrightarrow a^1_{k,\pi_k(v)} = b^1_{k,\pi_k(v)}.\] By the correctness of the secure OR functionality, we have: \[\tilde{e}^\mathcal{S}_{k,0} \oplus \tilde{e}^\mathcal{R}_{k,0} = 1 \Longleftrightarrow \exists \tilde{v}_k \in [l] \text{ such that } a^1_{k,\pi_k(\tilde{v}_k)} = b^1_{k,\pi_k(\tilde{v}_k)}.\] From the correctness of \(\mathsf{ShareTrans}\), \(\tilde{e}^{\mathcal{S}}_k\) and \(\tilde{e}^{\mathcal{R}}_k\) form shares of \(\tilde{v}_k = \bigoplus_{i \in \pi_k^{-1}(E_k)} i = \pi_k^{-1}(v_k^*)\) if \(\tilde{e}^\mathcal{S}_{k,0} \oplus \tilde{e}^\mathcal{R}_{k,0} = 1\); otherwise, they form shares of \(0\). The OT in Step 7 ensures \(\mathcal{R}\) learns \(\tilde{v}_k = \pi_k^{-1}(v_k^*)\) if the condition holds, or a random value otherwise. Therefore, the final sum is computed correctly: \[\begin{align} \mathsf{Sum} &= \sum_{k \in [d]} \left( b^{\mathcal{R},0}_{k,\tilde{v}_k} + \gamma_k \right) \\ &= \sum_{k \in [d]} \left( b^{\mathcal{R},0}_{k,\tilde{v}_k} + \tilde{a}_{k,\tilde{v}_k}^0 + \mathsf{mask}_k \right) \\ &= \sum_{k \in [d]} \left( b^{\mathcal{R},0}_{k,\tilde{v}_k} + a^0_{k,\pi_k(\tilde{v}_k)} + b^{\mathcal{S},0}_{k,\tilde{v}_k} \right) \\ &= \sum_{k \in [d]} \left( a^0_{k,v_k^*} + b^0_{k,v_k^*} \right) \end{align}\]
We prove the security of the protocol for the case of ECS. The security proof of ECSS is similar.
Theorem 1. The protocol in Figure 13 securely computes \(\mathcal{F}_{\mathsf{ECS}}\) against semi-honest adversaries in the \((\mathcal{F}_{\mathsf{PS}},\mathcal{F}_\mathsf{ssPEQT},\mathcal{F}_\mathsf{OR},\mathcal{F}_\mathsf{OT})\)-hybrid model.
Below we give details of the proof of Theorem 1.
Proof. We exhibit simulators \(\mathsf{Sim}_{\mathcal{S}}\) and \(\mathsf{Sim}_{\mathcal{R}}\) for simulating corrupt \(\mathcal{S}\) and \(\mathcal{R}\) respectively, and argue the indistinguishability of the produced transcript from the real execution.
Corrupt Sender: \(\mathsf{Sim}_\mathcal{S}(A = \{\mathbf{a}_{k,v} = (a_{k,v}^0,a_{k,v}^1)\}_{k\in[d],v\in[l]})\) simulates the view of corrupt semi-honest sender. It executes as follows:
In step 1, \(\mathsf{Sim}_\mathcal{S}\) selects random permutations \(\pi_k\) and \(\mathbf{b}_{k,v}^\mathcal{S}\leftarrow \mathbb{F}^2\) for \(k\in[d],v\in[l]\). Then, it invokes PS receiver’s simulator \(\mathsf{Sim}_\mathsf{PS}^\mathcal{R}(\pi_k,\{\mathbf{b}_{k,v}^\mathcal{S}\}_{v\in[l]})\) and appends the output to the view.
In step 2, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(\tilde{\mathbf{a}}_{k,v},k\in[d],v\in[l]\).
In step 3, \(\mathsf{Sim}_\mathcal{S}\) selects random \(e^{\mathcal{S}}_{k,v}\leftarrow \{0,1\}, k\in[d],v\in[l]\). Then, it invokes the ssPEQT simulator \(\mathsf{Sim}_\mathsf{ssPEQT}(\tilde{a}_{k,v}^1,e_{k,v}^\mathcal{S})\) and appends the output to the view.
In step 4, \(\mathsf{Sim}_\mathcal{S}\) selects random \(\tilde{e}^{\mathcal{S}}_{k,0}\leftarrow \{0,1\}, k\in[d]\). Then, \(\mathsf{Sim}_\mathcal{S}\) invokes the OR simulator \(\mathsf{Sim}_\mathsf{OR}(\{e^\mathcal{S}_{k,v}\}_{v\in[l]},\tilde{e}_{k,0}^\mathcal{S})\) and appends the output to the view.
In step 5-6, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(\tilde{e}^\mathcal{S}_k,m_{k,0},m_{k,1},k\in[d]\).
In step 7, \(\mathsf{Sim}_{\mathcal{S}}\) invokes the OT sender’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}((m_{k,0},m_{k,1}),\perp)\) and appends the output to the view.
In step 8, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(\mathsf{mask}_k,k\in[d]\).
In step 9, \(\mathsf{Sim}_{\mathcal{S}}\) invokes the OT sender’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}(\{\tilde{a}^0_{k,v}+\mathsf{mask}_k\}_{v\in[l]},\perp)\) and appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{S}}\) is indistinguishable from the real one. In the ECS protocol, the sender has no output, and all intermediate messages are secret shares. Consequently, the security of the underlying components guarantees that the simulator’s output is computationally indistinguishable from the view in the real protocol.
Corrupt Receiver: \(\mathsf{Sim}_{\mathcal{R}}(B = \{\mathbf{b}_{k,v} = (b_{k,v}^0,b_{k,v}^1)\}_{k\in[d],v\in[l]},\mathsf{Sum})\) simulates the view of corrupt semi-honest receiver. It executes as follows:
In step 1, \(\mathsf{Sim}_\mathcal{R}\) selects random \(\mathbf{b}_{k,v}^\mathcal{R}\leftarrow \mathbb{F}^2\) for \(k\in[d],v\in[l]\). Then, it invokes PS sender’s simulator \(\mathsf{Sim}_\mathsf{PS}^\mathcal{S}(\{\mathbf{b}_{k,v}\}_{v\in[l]},\{\mathbf{b}_{k,v}^\mathcal{R}\}_{v\in[l]})\) and appends the output to the view.
In step 3, \(\mathsf{Sim}_\mathcal{R}\) selects random \(e^{\mathcal{R}}_{k,v}\leftarrow \{0,1\}, k\in[d],v\in[l]\). Then, it invokes the ssPEQT simulator \(\mathsf{Sim}_\mathsf{ssPEQT}(b_{k,v}^{\mathcal{R},1},e_{k,v}^\mathcal{R})\) and appends the output to the view.
In step 4, \(\mathsf{Sim}_\mathcal{R}\) selects random \(\tilde{e}^{\mathcal{R}}_{k,0}\leftarrow \{0,1\}, k\in[d]\). Then, \(\mathsf{Sim}_\mathcal{R}\) invokes the OR simulator \(\mathsf{Sim}_\mathsf{OR}(\{e^\mathcal{R}_{k,v}\}_{v\in[l]},\tilde{e}_{k,0}^\mathcal{R})\) and appends the output to the view.
In step 5, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(\tilde{e}^\mathcal{R}_k,k\in[d]\).
In step 7, \(\mathsf{Sim}_{\mathcal{R}}\) picks random \(m_k^*\leftarrow [l],k\in[d]\). Then, it invokes the OT receiver’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(\tilde{e}^\mathcal{R}_{k,0},m_k^*)\) and appends the output to the view. \(\mathsf{Sim}_{\mathcal{R}}\) also computes \(\tilde{v}_k:= m_k^*\oplus \tilde{e}_k^{\mathcal{R}},k\in[d]\).
In step 9, \(\mathsf{Sim}_{\mathcal{R}}\) picks random \(\gamma_k\leftarrow \mathbb{F}\) for \(k\in[d-1]\) and computes \(\gamma_d:=\mathsf{Sum}-\sum_{k\in[d]}b_{k,\tilde{v}_k}^{\mathcal{R},0}-\sum_{k\in[d-1]}\gamma_k\). Then, it invokes the OT receiver’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(\tilde{v}_k,\gamma_k)\) and appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{R}}\) is indistinguishable from the real one.
We formally prove this by a standard hybrid argument method. We define four hybrid transcripts \(T_0, T_1, T_2,T_3\) where \(T_0\) is real view of \(\mathcal{R}\), and \(T_3\) is the output of \(\mathsf{Sim}_{\mathcal{R}}\).
\(\text{Hybrid}_0\). The first hybrid is the real interaction described in Figure 13. Here, an honest \(\mathcal{R}\) uses input \(B\), honestly interacts with the corrupt \(\mathcal{S}\). Let \(T_0\) denote the real view of \(\mathcal{R}\).
\(\text{Hybrid}_1\). Let \(T_1\) be the same as \(T_0\), except that the PS, ssPEQT, and OR execution are replaced by simulator \(\mathsf{Sim}^\mathcal{S}_{\mathsf{PS}}, \mathsf{Sim}^\mathcal{R}_{\mathsf{ssPEQT}},\mathsf{Sim}^\mathcal{R}_{\mathsf{OR}}\). Since the receiver only learns random shares, the security of PS, ssPEQT, and OR functionality guarantee this view is indistinguishable from \(T_0\).
\(\text{Hybrid}_2\). Let \(T_2\) be the same as \(T_1\), except that the 1-out-of-2 OT execution are replaced by simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(\tilde{e}^\mathcal{R}_{k,0},m_k^*)\). If \(\forall \tilde{v}_k\in [l]\), \(\tilde{a}_{k,v}^1\ne b_{k,v}^{\mathcal{R},1}\), we know that \(\mathcal{R}\) will learn a random \(m_k^*\). The security of OT functionality guarantees this view is indistinguishable from \(T_1\). If \(\exists \tilde{v}_k\in [l]\), \(\tilde{a}_{k,\tilde{v}_k}^1 = b_{k,\tilde{v}_k}^{\mathcal{R},1}\), we know that \(\mathcal{R}\) will learn this \(\tilde{v}_k\). Since the sender has permuted the positions of \(a_{k,v}^1 = b_{k,v}^1\). As a result, \(\tilde{v}_k\) is also a random index in the view of \(\mathcal{R}\). The security of OT functionality guarantees this view is indistinguishable from \(T_1\).
\(\text{Hybrid}_3\). Let \(T_3\) be the same as \(T_2\), except that the 1-out-of-\(l\) OT execution are replaced by simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(\tilde{v}_k,\gamma_k)\). The randomness of \(\mathsf{mask}_k\) guarantees each \(\gamma_k\) is also random, conditioned on \(\sum_{k\in[d]}(b_{k,\tilde{v}_k}^{\mathcal{R},0}+\gamma_k)=\mathsf{Sum}\). As a result, the security of OT functionality guarantees this view is indistinguishable from \(T_2\). This hybrid is exactly the view output by the simulator.
◻
Complexity. When using state-of-the-art PS [36] and ssPEQT [47], [48], our ECS(S) protocol in Figure 13 has computational complexity \(O(dl)\) and communication complexity \(O(dl)\).
In this section, we formally define the equality conditional inner-product share (ECIPS). It is worth noting that our definition slightly diverges from the naming convention, as the first vector in the inner product is secret-shared between the parties. This adjustment is made to align with the requirements of our FPSI protocol. The ideal functionality for ECIPS is given in Figure 14.
We present our ECIPS protocol in Figure 15. Our ECIPS construction follows a structure similar to that of ECSS, with a key procedural difference: after the receiver obtains \(v_k^*\), the parties invoke an inner product protocol to compute the equality-conditional inner product, rather than locally summing the values as in ECSS.
we argue the correctness of ECIPS described in Figure 15.
Correctness. Similar to ECSS protocol, we have \(\tilde{v}_k = \pi_k^{-1}(v_k^*)\). Therefore, the final sum is computed correctly: \[\begin{align} o_s+o_r &= \sum_{k\in[d]} (\langle \mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k},\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle+\langle \mathbf{x}_k,\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle +\langle \mathbf{y}_k,\mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k} \rangle +z_k-h_k-\mathsf{mask}_k^2)\\ &= \sum_{k\in[d]} (\langle \mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k},\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle+\langle \tilde{\mathbf{a}}_{k,\tilde{v}_k}^0+\mathsf{\mathbf{mask}}_k^0,\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle +\langle \mathbf{b}_{k,\tilde{v}_k}^{\mathcal{S},1}+\mathsf{\mathbf{mask}}_k^1,\mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k} \rangle \\ &+\langle \tilde{\mathbf{a}}_{k,\tilde{v}_k}^0, \mathbf{b}_{k,\tilde{v}_k}^{\mathcal{S},1} \rangle+\mathsf{mask}_k^2-\langle \mathbf{mask}_k^0||\mathbf{mask}_k^1, \mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k}||\mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k} \rangle-\mathsf{mask}_k^2)\\ &= \sum_{k\in[d]} (\langle \mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k},\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle+\langle \tilde{\mathbf{a}}_{k,\tilde{v}_k}^0,\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle +\langle \mathbf{b}_{k,\tilde{v}_k}^{\mathcal{S},1},\mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k} \rangle +\langle \tilde{\mathbf{a}}_{k,\tilde{v}_k}^0, \mathbf{b}_{k,\tilde{v}_k}^{\mathcal{S},1} \rangle)\\ &= \sum_{k \in [d]} (\langle \mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k} + \tilde{\mathbf{a}}_{k,\tilde{v}_k}^0,\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} + \mathbf{b}_{k,\tilde{v}_k}^{\mathcal{S},1} \rangle) \\ &= \sum_{k \in [d]} (\langle \mathbf{b}^{0}_{k,\pi_k(\tilde{v}_k)} + \mathbf{a}_{k,\pi_k(\tilde{v}_k)}^0,\mathbf{b}^{1}_{k,\pi_k(\tilde{v}_k)} \rangle) \\ &= \sum_{k \in [d]} (\langle \mathbf{b}^{0}_{k,v_k^*} + \mathbf{a}_{k,v_k^*}^0,\mathbf{b}^{1}_{k,v_k^*} \rangle) \end{align}\]
We prove the security of the protocol described in Figure 15.
Theorem 2. The protocol in Figure 15 securely computes \(\mathcal{F}_{\mathsf{ECIPS}}\) against semi-honest adversaries in the \((\mathcal{F}_{\mathsf{PS}},\mathcal{F}_\mathsf{ssPEQT},\mathcal{F}_\mathsf{OR},\mathcal{F}_\mathsf{OT},\mathcal{F}_\mathsf{IP})\)-hybrid model.
Below we give details of the proof of Theorem 2.
Proof. We exhibit simulators \(\mathsf{Sim}_{\mathcal{S}}\) and \(\mathsf{Sim}_{\mathcal{R}}\) for simulating corrupt \(\mathcal{S}\) and \(\mathcal{R}\) respectively, and argue the indistinguishability of the produced transcript from the real execution.
Corrupt Sender: \(\mathsf{Sim}_\mathcal{S}(A = \{\mathbf{a}_{k,v} = (\mathbf{a}_{k,v}^0,a_{k,v}^2)\}_{k\in[d],v\in[l]},o_s)\) simulates the view of corrupt semi-honest sender. It executes as follows:
In step 1, \(\mathsf{Sim}_\mathcal{S}\) selects random permutations \(\pi_k\) and \(\mathbf{b}_{k,v}^\mathcal{S}\leftarrow \mathbb{F}^{2p+1}\) for \(k\in[d],v\in[l]\). Then, it invokes PS receiver’s simulator \(\mathsf{Sim}_\mathsf{PS}^\mathcal{R}(\pi_k,\{\mathbf{b}_{k,v}^\mathcal{S}\}_{v\in[l]})\) and appends the output to the view.
In step 2, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(\tilde{\mathbf{a}}_{k,v}^0,{a}_{k,v}^2,k\in[d],v\in[l]\).
In step 3, \(\mathsf{Sim}_\mathcal{S}\) selects random \(e^{\mathcal{S}}_{k,v}\leftarrow \{0,1\}, k\in[d],v\in[l]\). Then, it invokes the ssPEQT simulator \(\mathsf{Sim}_\mathsf{ssPEQT}(\tilde{a}_{k,v}^2,e_{k,v}^\mathcal{S})\) and appends the output to the view.
In step 4, \(\mathsf{Sim}_\mathcal{S}\) selects random \(\tilde{e}^{\mathcal{S}}_{k,0}\leftarrow \{0,1\}, k\in[d]\). Then, \(\mathsf{Sim}_\mathcal{S}\) invokes the OR simulator \(\mathsf{Sim}_\mathsf{OR}(\{e^\mathcal{S}_{k,v}\}_{v\in[l]},\tilde{e}_{k,0}^\mathcal{S})\) and appends the output to the view.
In step 5-6, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(\tilde{e}^\mathcal{S}_k,m_{k,0},m_{k,1},k\in[d]\).
In step 7, \(\mathsf{Sim}_{\mathcal{S}}\) invokes the OT sender’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}((m_{k,0},m_{k,1}),\perp)\) and appends the output to the view.
In step 8, \(\mathsf{Sim}_\mathcal{S}\) picks random \(\mathbf{mask}_k^0,\mathbf{mask}_k^1\leftarrow\mathbb{F}^{p},k\in[d]\). \(\mathsf{Sim}_\mathcal{S}\) also picks random \(\mathsf{mask}_k^2\leftarrow\mathbb{F}\) for \(k\in[d-1]\) and computes \(\mathsf{mask}_d^2:= o_s-\sum_{k\in[d-1]}\mathsf{mask}_k^{2}\).
In step 9, \(\mathsf{Sim}_{\mathcal{S}}\) invokes the OT sender’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}(\{(\tilde{\mathbf{a}}_{k,v}^0+\mathsf{\mathbf{mask}}_k^0,\mathbf{b}_{k,v}^{\mathcal{S},1}+\mathsf{\mathbf{mask}}_k^1,\langle \tilde{\mathbf{a}}_{k,v}^0, \mathbf{b}_{k,v}^{\mathcal{S},1} \rangle+\mathsf{mask}_k^2)\}_{v\in[l]},\perp)\) and appends the output to the view.
In step 10, \(\mathsf{Sim}_{\mathcal{S}}\) invokes the IP sender’s simulator \(\mathsf{Sim}_\mathsf{IP}^\mathcal{S}((\mathbf{mask}_k^0,\mathbf{mask}_k^1),\perp)\) and appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{S}}\) is indistinguishable from the real one. Note that the output of the sender \(\mathcal{S}\) in ECIPS is a random share, i.e., \(o_s\). In a real protocol, the sender randomly selects \(\mathsf{mask}_k^2,k\in[d]\) and computes \(o_s=\sum_{k\in[d]}\mathsf{mask}_k^2\). In the simulation, we have \(\mathsf{mask}_k^2,k\in[d-1]\) and \(o_s\) are random, \(\mathsf{mask}_d^2 =o_s-\sum_{k\in[d-1]}\mathsf{mask}_k^d\). Therefore, these two distributions are identical. From the security of the underlying components, we have that the simulator’s output is computationally indistinguishable from the view in the real protocol.
Corrupt Receiver: \(\mathsf{Sim}_{\mathcal{R}}(B = \{\mathbf{b}_{k,v} = (\mathbf{b}_{k,v}^0,\mathbf{b}_{k,v}^1,b_{k,v}^2)\}_{k\in[d],v\in[l]},o_r)\) simulates the view of corrupt semi-honest receiver. It executes as follows:
In step 1, \(\mathsf{Sim}_\mathcal{R}\) selects random \(\mathbf{b}_{k,v}^\mathcal{R}\leftarrow \mathbb{F}^{2p+1}\) for \(k\in[d],v\in[l]\). Then, it invokes PS sender’s simulator \(\mathsf{Sim}_\mathsf{PS}^\mathcal{S}(\{\mathbf{b}_{k,v}\}_{v\in[l]},\{\mathbf{b}_{k,v}^\mathcal{R}\}_{v\in[l]})\) and appends the output to the view.
In step 3, \(\mathsf{Sim}_\mathcal{R}\) selects random \(e^{\mathcal{R}}_{k,v}\leftarrow \{0,1\}, k\in[d],v\in[l]\). Then, it invokes the ssPEQT simulator \(\mathsf{Sim}_\mathsf{ssPEQT}(b_{k,v}^{\mathcal{R},2},e_{k,v}^\mathcal{R})\) and appends the output to the view.
In step 4, \(\mathsf{Sim}_\mathcal{R}\) selects random \(\tilde{e}^{\mathcal{R}}_{k,0}\leftarrow \{0,1\}, k\in[d]\). Then, \(\mathsf{Sim}_\mathcal{R}\) invokes the OR simulator \(\mathsf{Sim}_\mathsf{OR}(\{e^\mathcal{R}_{k,v}\}_{v\in[l]},\tilde{e}_{k,0}^\mathcal{R})\) and appends the output to the view.
In step 5, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(\tilde{e}^\mathcal{R}_k,k\in[d]\).
In step 7, \(\mathsf{Sim}_{\mathcal{R}}\) picks random \(m_k^*\leftarrow [l],k\in[d]\). Then, it invokes the OT receiver’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(\tilde{e}^\mathcal{R}_{k,0},m_k^*)\) and appends the output to the view. \(\mathsf{Sim}_{\mathcal{R}}\) also computes \(\tilde{v}_k:= m_k^*\oplus \tilde{e}_k^{\mathcal{R}},k\in[d]\).
In step 9, \(\mathsf{Sim}_{\mathcal{R}}\) picks random \((\mathbf{x}_k,\mathbf{y}_k,z_k)\leftarrow \mathbb{F}^{2p+1}\). Then, it invokes the OT receiver’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(\tilde{v}_k,(\mathbf{x}_k,\mathbf{y}_k,z_k))\) and appends the output to the view.
In step 10, \(\mathsf{Sim}_{\mathcal{R}}\) picks random \(h_k\leftarrow \mathbb{F}\) for \(k\in[d-1]\) and computes \(h_d:=o_r-\sum_{k\in[d]}(\langle \mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k},\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle+ \langle \mathbf{x}_k,\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle+\langle \mathbf{y}_k,\mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k} \rangle+ z_k)-\sum_{k\in[d-1]} h_k\). Then, \(\mathsf{Sim}_{\mathcal{R}}\) invokes the IP receiver’s simulator \(\mathsf{Sim}_\mathsf{IP}^\mathcal{R}((\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k},\mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k}),h_k)\) and appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{R}}\) is indistinguishable from the real one.
We formally prove this by a standard hybrid argument method. We define five hybrid transcripts \(T_0, T_1, T_2,T_3,T_4\) where \(T_0\) is real view of \(\mathcal{R}\), and \(T_4\) is the output of \(\mathsf{Sim}_{\mathcal{R}}\).
\(\text{Hybrid}_0\). The first hybrid is the real interaction described in Figure 15. Here, an honest \(\mathcal{R}\) uses input \(B\), honestly interacts with the corrupt \(\mathcal{S}\). Let \(T_0\) denote the real view of \(\mathcal{R}\).
\(\text{Hybrid}_1\). Let \(T_1\) be the same as \(T_0\), except that the PS, ssPEQT, and OR execution are replaced by simulator \(\mathsf{Sim}^\mathcal{S}_{\mathsf{PS}}, \mathsf{Sim}^\mathcal{R}_{\mathsf{ssPEQT}},\mathsf{Sim}^\mathcal{R}_{\mathsf{OR}}\). Since the receiver only learns random shares, the security of PS, ssPEQT, and OR functionality guarantee this view is indistinguishable from \(T_0\).
\(\text{Hybrid}_2\). Let \(T_2\) be the same as \(T_1\), except that the 1-out-of-2 OT execution are replaced by simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(\tilde{e}^\mathcal{R}_{k,0},m_k^*)\). If \(\forall \tilde{v}_k\in [l]\), \(\tilde{a}_{k,v}^2\ne b_{k,v}^{\mathcal{R},2}\), we know that \(\mathcal{R}\) will learn a random \(m_k^*\). The security of OT functionality guarantees this view is indistinguishable from \(T_1\). If \(\exists \tilde{v}_k\in [l]\), \(\tilde{a}_{k,\tilde{v}_k}^2 = b_{k,\tilde{v}_k}^{\mathcal{R},2}\), we know that \(\mathcal{R}\) will learn this \(\tilde{v}_k\). Since the sender has permuted the positions of \(a_{k,v}^2 = b_{k,v}^2\). As a result, \(\tilde{v}_k\) is also a random index in the view of \(\mathcal{R}\). The security of OT functionality guarantees this view is indistinguishable from \(T_1\).
\(\text{Hybrid}_3\). Let \(T_3\) be the same as \(T_2\), except that the 1-out-of-\(l\) OT execution are replaced by simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(\tilde{v}_k,(\mathbf{x}_k,\mathbf{y}_k,z_k))\). The randomness of \(\mathbf{mask}_k^0,\mathbf{mask}_k^1,\mathsf{mask}_k^2\) guarantees \((\mathbf{x}_k,\mathbf{y}_k,z_k)\) is also random. The security of OT functionality guarantees this view is indistinguishable from \(T_2\).
\(\text{Hybrid}_4\). Let \(T_3\) be the same as \(T_2\), except that the IP execution are replaced by simulator \(\mathsf{Sim}_\mathsf{IP}^\mathcal{R}((\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k},\mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k}),h_k)\). Note that the output of the receiver \(\mathcal{R}\) in ECIPS is a random share, i.e., \(o_r\). In a real protocol, this share is defined as \(o_r:= \sum_{k\in[d]} (\langle \mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k},\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle+\langle \mathbf{x}_k,\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle +\langle \mathbf{y}_k,\mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k} \rangle +z_k-h_k)\), where \(\langle \mathbf{x}_k,\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle, \langle \mathbf{y}_k,\mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k} \rangle, z_k\) and \(h_k\) are random, conditioned on these values sum to \(o_r\). In the simulation, we have \(\{\langle \mathbf{x}_k,\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle, \langle \mathbf{y}_k,\mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k} \rangle, z_k\}_k\in[d], \{h_k\}_{k\in[d-1]}\) and \(o_r\) are random, \(h_d =o_r-\sum_{k\in[d]}(\langle \mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k},\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle+ \langle \mathbf{x}_k,\mathbf{b}^{\mathcal{R},1}_{k,\tilde{v}_k} \rangle+\langle \mathbf{y}_k,\mathbf{b}^{\mathcal{R},0}_{k,\tilde{v}_k} \rangle+ z_k)-\sum_{k\in[d-1]} h_k\). Therefore, these two distributions are identical. From the security of IP, we have that the simulator’s output is computationally indistinguishable from the view in the real protocol. This hybrid is exactly the view output by the simulator.
◻
Complexity. When using state-of-the-art PS [36] and ssPEQT [47], [48], our ECIPS protocol in Figure 13 has computation complexity \(O(dpl)\) and communication complexity \(O(dpl)\).
This section introduces a variant of OPRF called shared OPRF (sOPRF). Unlike standard OPRF, sOPRF accepts queries in an additively secret-shared form and returns additive secret shares of the corresponding PRF values to the parties. Consequently, the PRF’s domain and range must be additive groups.
The ideal functionality for sOPRF is depicted in Figure [fig:fsoprf].
Recently, Alamati et al. [37] introduced a weak 1 PRF construction based on the alternating-moduli paradigm [49]. They also presented several oblivious PRF (OPRF) protocols with shared output that rely solely on OT and symmetric-key operations, achieving high efficiency. We observe that their protocol can be extended to support both shared input and output—resulting in a shared OPRF (sOPRF).
Alamati et al. [37] proposed the following weak PRF construction based on the alternating-moduli paradigm [49]:
Definition 4 ([37]). Let \(n,m,t \in \mathbb{N}\), and let \(p, q\) be distinct primes. The \((\mathbb{F}_p,\mathbb{F}_q)\)-wPRF is defined as \[F_k(x) := \mathbf{B} \cdot_q \bigl( \mathbf{A} \cdot_p [k \odot_p x] \bigr),\] where \(x,k \in \mathbb{F}_p^n\) and \(\mathbf{A} \in \mathbb{F}_p^{m \times n}, \mathbf{B} \in \mathbb{F}_q^{t \times m}\) are uniformly distributed. Here \(\cdot_p\) and \(\odot_p\) denote multiplication and component-wise multiplication modulo \(p\), respectively.
Alamati et al. [37] gave two instantiations, denoted \((\mathbb{F}_3,\mathbb{F}_2)\)-wPRF and \((\mathbb{F}_2,\mathbb{F}_3)\)-wPRF, by setting \((p,q)=(3,2)\) and \((p,q)=(2,3)\), respectively. For \((\mathbb{F}_3,\mathbb{F}_2)\)-wPRF, they showed that security is preserved even when the key \(k \in \mathbb{F}_2^n\), which leads to simplifications in the protocol.
We recall their OPRF with shared output construction for \((\mathbb{F}_3,\mathbb{F}_2)\)-wPRF. The protocol invokes an OT-based \(\mathbb{F}_3 \rightarrow \mathbb{F}_2\) modulus conversion functionality \(\mathcal{F}_{\mathsf{ot}\text{-}3\rightarrow2\mathsf{conv}}\), defined in Figure 18. The construction for \((\mathbb{F}_2,\mathbb{F}_3)\)-wPRF is analogous and is omitted. The formal description appears in Figure 17.
We now adapt the protocol in Figure 17 into a shared OPRF protocol that also supports shared input. The key observation is that \(P_1\)’s input \(x\) is only used in the computation of \(f := x - h_0 - h_1\). Because \(P_0\) knows only one of \(\{h_0, h_1\}\), this step effectively one-time-pad encrypts \(x\) using \(h_0 + h_1\), leaking no information about \(x\).
To extend the protocol to shared inputs, where \(x = x_0 + x_1\) with \(P_0\) holding \(x_0\) and \(P_1\) holding \(x_1\), we modify the computation as follows:
\(P_1\) computes \(f_1 := x_1 - h_0 - h_1\) (which, analogously, leaks nothing about \(x_1\)) and sends \(f_1\) to \(P_0\).
\(P_0\), upon receiving \(f_1\), computes \(f := f_1 + x_0\) and continues the original protocol from Figure 17.
Security follows directly from the one-time-pad encryption, while correctness is verified by \(f = f_1 + x_0 = (x_1 - h_0 - h_1) + x_0 = x - h_0 - h_1\). Thus, we obtain a secure sOPRF protocol supporting both input and output sharing.
For low-dimensional space, we use spatial hashing [4], [19] to avoid quadratic costs, adding an \(O(2^d)\) factor to the communication and receiver’s computation. We present two FPSI constructions for \(L_\infty\) and \(L_{p\in[1,\infty)}\) distances, leveraging OPPRF [34] and sOPRF, respectively.
In this section, we give our construction of the FPSI (and its variants) for \(L_\infty\) distance from OPPRF. As outlined in the introduction, our protocol proceeds in two main stages. First, we combine OPPRF, prefix trie techniques, and our newly proposed ECS protocol to achieve single-element fuzzy matching. We then extend this to handle multiple elements by employing spatial hashing and cuckoo hashing techniques to align the inputs across both parties. The formal description is given in Figure 19.
We argue the correctness of FPSI for \(L_{\infty}\) in Figure 19.
Correctness. For \(u\in[m_c]\), if \(\exists \mathbf{w}_i\in W\), s.t. \(\mathsf{dist}(Q^*[\pi(u)],\mathbf{w}_i)\leq \delta\), then the correctness of spatial hashing ensures \(\exists t\in[2^d]\), s.t. \(\mathsf{cell}_\delta(Q^*[\pi(u)]) = \mathcal{C}_{i,t}\), thus \(\forall k\in[d], \mathsf{cell}_\delta(Q^*[\pi(u)])||k||\alpha_{\pi(u)} = \mathcal{C}_{i,t}||k||\alpha_{\pi(u)}\) and \(|Q^*[\pi(u)]_k-w_{i,k}|\leq \delta\). By the property of prefix and the correctness of OPPRF, \(\exists !v\in[l]\), s.t. \(r^\mathcal{S}_{\pi(u),k,v}=r^\mathcal{R}_{\pi(u),k}\). The correctness of ECS guarantees \(\mathsf{Rand}^{\mathcal{S}}_{\pi(u)} = \mathsf{Rand}^{\mathcal{R}}_{\pi(u)}\). Then, the correctness of ssPEQT and PS ensures \(\tilde{b}_{\pi(u)}^\mathcal{S}\oplus \tilde{b}_{\pi(u)}^\mathcal{R}=1\) and \(b_u^{\mathcal{S}}\oplus \bar{b}_u^{\mathcal{R}}=1\). Finally, the correctness of OT ensures the receiver learns \({Q}^*[\pi(u)]\) if \(b_u^{\mathcal{S}}\oplus \bar{b}_u^{\mathcal{R}}=1\). If \(\forall i\in [n], \mathsf{dist}({Q}^*[\pi(u)],\mathbf{w}_i)> \delta\), we have \(\exists k\in[d]\), s.t. \(\forall v\in[l], q_{\pi(u),k,v}^*\notin \{w_{i,k,v'}\}_{v'\in [l']}\). Therefore, the pseudorandomness of PRF in OPPRF guarantees \(r^\mathcal{S}_{\pi(u),k,v}\) is pseudorandom. By setting \(\mathsf{len}= \log |\mathbb{F}|= \lambda +\log mn +\log l\), a union bound shows the probability of \(\exists i\in [n], u\in[m_c], v\in [l], r^\mathcal{S}_{\pi(u),k,v}=r^\mathcal{R}_{\pi(u),k}\) is negligible \(2^{-\lambda}\). By the correctness of ECS, \(\mathsf{Rand}^{\mathcal{S}}_{\pi(u)}\) is also pseudorandom. As a result, \(\mathsf{Rand}^{\mathcal{S}}_{\pi(u)}\ne \mathsf{Rand}^{\mathcal{R}}_{\pi(u)}\) with overwhelming probability and \(\mathcal{R}\) learns \(\perp\) in the final OT.
We prove the security of the protocol described in Figure 19.
Theorem 3. The protocol in Figure 19 securely computes \(\mathcal{F}_{\mathsf{FPSI}}\) for \(L_{\infty}\) against semi-honest adversaries in the (\(\mathcal{F}_\mathsf{OPPRF}\),\(\mathcal{F}_{\mathsf{ECS}}\), \(\mathcal{F}_{\mathsf{PS}}\), \(\mathcal{F}_\mathsf{ssPEQT}\),\(\mathcal{F}_\mathsf{OT}\))-hybrid model.
Below we give details of the proof of Theorem 3.
Proof. We exhibit simulators \(\mathsf{Sim}_{\mathcal{S}}\) and \(\mathsf{Sim}_{\mathcal{R}}\) for simulating corrupt \(\mathcal{S}\) and \(\mathcal{R}\) respectively, and argue the indistinguishability of the produced transcript from the real execution.
Corrupt Sender: \(\mathsf{Sim}_\mathcal{S}(Q=\{\mathbf{q}_j\}_{j\in [m]})\) simulates the view of corrupt semi-honest sender. It executes as follows:
In step 1-2, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(Q^*,\tau,\{q^*_{\tau(j),k,v}\}_{j\in[m],k\in[d],v\in[l]}\).
In step 4, \(\mathsf{Sim}_\mathcal{S}\) selects random \(\mathsf{hint}, r^{\mathcal{S}}_{\tau(j),k,v},j\in [m],k\in[d],v\in[l]\). Then, it invokes the OPPRF’s simulator \(\mathsf{Sim}_\mathsf{OPPRF}^\mathcal{R}(\{\mathsf{cell}_\delta (Q^*[\tau(j)])||k||q^*_{\tau(j),k,v}||\alpha_{\tau(j)}\}_{j\in [m],k\in [d],v\in[l]},(\mathsf{hint}, \{r_{\tau(j),k,v}^\mathcal{S}\}_{j\in[m],k\in[d],v\in[l]}))\) and appends the output to the view.
In step 5, \(\mathsf{Sim}_\mathcal{S}\) selects random \(r_{u,k,v}^\mathcal{S}\leftarrow \mathbb{F},u\in [m_c]\setminus \{\tau(j)\}_{j\in[m]},k\in[d],v\in[l]\).
In step 6, \(\mathsf{Sim}_{\mathcal{S}}\) selects random \(\mathsf{Rand}^{\mathcal{S}}_u\leftarrow \mathbb{F},u\in[m_c]\). Then, it invokes the ECS receiver’s simulator \(\mathsf{Sim}_\mathsf{ECS}^\mathcal{R}(\{\mathbf{b}_{u,k,v}=(r^\mathcal{S}_{u,k,v},r_{u,k,v}^\mathcal{S})\}_{k\in[d],v\in[l]},\mathsf{Rand}^{\mathcal{S}}_{u})\) and appends the output to the view.
In step 7, \(\mathsf{Sim}_\mathcal{S}\) selects random \(\tilde{b}^{\mathcal{S}}_{u}\leftarrow \{0,1\}, u\in[m_c]\). Then, it invokes the ssPEQT simulator \(\mathsf{Sim}_\mathsf{ssPEQT}(\mathsf{Rand}^{\mathcal{S}}_u,\tilde{b}_{u}^{\mathcal{S}})\) and appends the output to the view.
In step 8, \(\mathsf{Sim}_\mathcal{S}\) selects a random permutation \(\pi\) over \([m_c]\), random bits \(\bar{b}_u^{\mathcal{S}}\leftarrow \{0,1\},u\in[m_c]\). Then, it invokes PS receiver’s simulator \(\mathsf{Sim}_\mathsf{PS}^\mathcal{R}(\pi,\{\bar{b}_u^{\mathcal{S}}\}_{u\in [m_c]})\) and appends the output to the view. \(\mathsf{Sim}_\mathcal{S}\) also computes \(b_u^\mathcal{S}=\bar{b}_u^\mathcal{S}\oplus \tilde{b}_{\pi(u)}^\mathcal{S},u\in[m_c]\).
In step 10, for \(u\in [m_c]\), \(\mathsf{Sim}_{\mathcal{S}}\) invokes OT sender’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}(\perp,Q^*[\pi(u)])\) if \(b_u^\mathcal{S}=0\) and \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}(Q^*[\pi(u)],\perp)\) if \(b_u^\mathcal{S}=1\). Then, it appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{S}}\) is indistinguishable from the real one. We formally prove this by a standard hybrid argument method. We define three hybrid transcripts \(T_0, T_1, T_2\) where \(T_0\) is real view of \(\mathcal{S}\), and \(T_2\) is the output of \(\mathsf{Sim}_{\mathcal{S}}\).
\(\text{Hybrid}_0\). The first hybrid is the real interaction described in Figure 19. Here, an honest \(\mathcal{R}\) uses input \(W\), honestly interacts with the corrupt \(\mathcal{S}\). Let \(T_0\) denote the real view of \(\mathcal{S}\).
\(\text{Hybrid}_1\). Let \(T_1\) be the same as \(T_0\), except that all OPPRF values \(r_{\tau(j),k,v}^\mathcal{S}\) are replaced by randomly selected values. Since the set \(Q\) satisfies the apart assumption, that is, \(\mathsf{cell}_\delta(Q^*[\tau(j)])\) are distinct, resulting in \(r_{\tau(j),k,v}^\mathcal{S}\) are also distinct. If \(\exists i\in[n],v'\in[l']\), s.t. \(q_{\tau(j),k,v}^*=w_{i,k,v'}^*\), we have \(r_{\tau(j),k,v}^\mathcal{S} = r_{\tau(j),k}^\mathcal{R}\), which is truly random. Otherwise, if \(\forall i\in[n],v'\in[l'], q_{\tau(j),k,v}^*\neq w_{i,k,v'}^*\), from the pseudorandomness of OPPRF, \(r_{\tau(j),k,v}^\mathcal{S}\) is a pseudorandom value. As a result, by the pseudorandomness of PRF in OPPRF, this hybrid is computationally indistinguishable from \(T_0\).
\(\text{Hybrid}_2\). Let \(T_2\) be the same as \(T_1\), except that the OPPRF, ECS, ssPEQT, PS and OT execution are replaced by simulator \(\mathsf{Sim}^\mathcal{R}_{\mathsf{OPPRF}},\mathsf{Sim}^\mathcal{S}_{\mathsf{ECS}},\mathsf{Sim}^\mathcal{R}_{\mathsf{PS}}, \mathsf{Sim}^\mathcal{S}_{\mathsf{ssPEQT}},\mathsf{Sim}^\mathcal{S}_{\mathsf{OT}}\). The security of OPPRF, ECS, ssPEQT, PS and OT functionality guarantee this view is computationally indistinguishable from \(T_1\). This hybrid is exactly the view output by the simulator.
Corrupt Receiver: \(\mathsf{Sim}_{\mathcal{R}}(W,I)\) simulates the view of corrupt semi-honest receiver. It executes as follows:
In step 3, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(\{w^*_{i,k,v}\}_{i\in[n],k\in[d],v\in[l']},\{\mathcal{C}_{i,t}\}_{i\in[n],t\in[2^d]},\) \(\{r_{u,k}^\mathcal{R}\}_{u\in[m_c],k\in[d]},\{\mathsf{Rand}^{\mathcal{R}}_u\}_{u\in[m_c]}\).
In step 4, \(\mathsf{Sim}_\mathcal{R}\) defines \(\mathsf{List}\) as an honest receiver and picks random \(\mathsf{hint},sk_\mathcal{R}\). Then, it invokes the OPPRF sender’s simulator \(\mathsf{Sim}_\mathsf{OPPRF}^\mathcal{S}(\mathsf{List},(\mathsf{hint},sk_\mathcal{R}))\) and appends the output to the view.
In step 6, \(\mathsf{Sim}_{\mathcal{R}}\) invokes the ECS sender’s simulator \(\mathsf{Sim}_\mathsf{ECS}^\mathcal{S}(\{\mathbf{a}_{u,k,v}=(0,r_{u,k}^\mathcal{R})\}_{k\in[d],v\in[l]},\mathsf{Rand}^{\mathcal{R}}_{u})\) and appends the output to the view.
In step 7, \(\mathsf{Sim}_\mathcal{R}\) selects random \(\tilde{b}^{\mathcal{R}}_{u}\leftarrow \{0,1\}, u\in[m_c]\). Then, it invokes the ssPEQT simulator \(\mathsf{Sim}_\mathsf{ssPEQT}(\mathsf{Rand}^{\mathcal{R}}_u,\tilde{b}_{u}^{\mathcal{R}})\) and appends the output to the view.
In step 8, \(\mathsf{Sim}_\mathcal{R}\) selects random values \(\bar{b}_u^{\mathcal{R}}\leftarrow \{0,1\},u\in[m_c]\). Then, it invokes PS sender’s simulator \(\mathsf{Sim}_\mathsf{PS}^\mathcal{S}(\{\tilde{b}_u^\mathcal{R}\}_{u\in [m_c]},\{\bar{b}_u^{\mathcal{R}}\}_{u\in [m_c]})\) and appends the output to the view.
In step 9, \(\mathsf{Sim}_\mathcal{R}\) uses \(\perp\) to pad \(I\) to \(m_c\) elements and permutes these elements randomly. Let \(I=\{\mathbf{z}_1,\dots,\mathbf{z}_{m_c}\}\). Then, \(\mathsf{Sim}_\mathcal{R}\) invokes OT receiver’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(\bar{b}_u^\mathcal{R},\mathbf{z}_u)\) and appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{R}}\) is indistinguishable from the real one. In the simulation, the way \(\mathcal{R}\) obtains the elements in \(I\) is identical to the real execution since the elements in \(I\) are randomly permuted. By the underlying simulators’ indistinguishability, the simulated view is computationally indistinguishable from the real. ◻
FPSI variants. The FPSI protocol described in Figure 19 can be easily adapted to support several FPSI variants with only minor adjustments. For LFPSI, the sender simply replaces \(Q^*[\pi(u)]\) with the corresponding label in the final OT step. For FPSI-CA, the sender sends \(b_u^\mathcal{S}\) to the receiver in Step 9, allowing the receiver to compute \(b_u := b_u^\mathcal{S} \oplus \bar{b}_u^{\mathcal{R}}\) and output the Hamming weight of \(\mathbf{b}= (b_1, \dots, b_{m_c})\). For FPSI-SP, the roles are effectively reversed: the receiver sends \(\bar{b}_u^{\mathcal{R}}\) to the sender, who then outputs the set \(\{ Q^*[\pi(u)] : b_u^\mathcal{S} \oplus \bar{b}_u^{\mathcal{R}} = 1,u\in[m_c] \}\). In this case, the sender functionally acts as the receiver in the FPSI-SP definition.
Trade-off from the execution order of PS and PEQT. In our protocol shown in Figure 19, the parties currently use ssPEQT in step 7 to test whether \(\mathsf{Rand}^{\mathcal{S}}_u\) and \(\mathsf{Rand}^{\mathcal{R}}_u\) are equal, then apply PS to the indicator bits in step 8. These two steps can be swapped—the parties may first permute \(\mathsf{Rand}^{\mathcal{R}}_u\) and then test equality between the permuted result using standard PEQT. This reordering improves computational efficiency by replacing ssPEQT with PEQT, but at the expense of communication, since PS would then operate on \(O(\lambda)\)-bit strings rather than single bits.
Optimization from AND. Since testing the \(L_\infty\) distance can be decomposed into independent interval tests for each dimension, we can simplify the protocol as follows. Instead of invoking the ECS protocol, the parties perform ssPEQT on \(r_{u,k,v}^\mathcal{S}\) and \(r_{u,k}^\mathcal{R}\) for each dimension, then XOR the results across all prefixes per dimension. The resulting outputs are combined across dimensions using an AND protocol to produce a secret sharing of the fuzzy matching indication bit. This approach is both simpler and more efficient than the ECS-based construction. The formal description is provided in Figure 20.
We argue the correctness of FPSI for \(L_{\infty}\) in Figure 20.
Correctness. For \(u\in[m_c]\), if \(\exists \mathbf{w}_i\in W\), s.t. \(\mathsf{dist}(Q^*[\pi(u)],\mathbf{w}_i)\leq \delta\), then the correctness of spatial hashing ensures \(\exists t\in[2^d]\), s.t. \(\mathsf{cell}_\delta(Q^*[\pi(u)]) = \mathcal{C}_{i,t}\), thus \(\forall k\in[d], \mathsf{cell}_\delta(Q^*[\pi(u)])||k||\alpha_{\pi(u)} = \mathcal{C}_{i,t}||k||\alpha_{\pi(u)}\) and \(|Q^*[\pi(u)]_k-w_{i,k}|\leq \delta\). By the property of prefix and the correctness of OPPRF, \(\exists !v\in[l]\), s.t. \(r^\mathcal{S}_{\pi(u),k,v}=r^\mathcal{R}_{\pi(u),k}\). Therefore, \(\forall k\in [d], \exists! v\in[l]\), s.t. \(b_{\pi(u),k,v}^\mathcal{S}\oplus b_{\pi(u),k,v}^\mathcal{R}=1\) and \(b_{\pi(u),k}^\mathcal{S} \oplus b_{\pi(u),k}^\mathcal{R}=1\). By the correctness of AND, \(\tilde{b}^{\mathcal{S}}_{\pi(u)}\oplus \tilde{b}^{\mathcal{R}}_{\pi(u)}=1\). Same as Figure 19, the receiver learns \({Q}^*[\pi(u)]\) if \(b_u^{\mathcal{S}}\oplus \bar{b}_u^{\mathcal{R}}=1\). If \(\forall i\in [n], \mathsf{dist}({Q}^*[\pi(u)],\mathbf{w}_i)> \delta\), we have \(\exists k\in[d]\), s.t. \(\forall v\in[l], q_{\pi(u),k,v}^*\notin \{w_{i,k,v'}\}_{v'\in [l']}\). Therefore, the pseudorandomness of PRF in OPPRF guarantees \(r^\mathcal{S}_{\pi(u),k,v}\) is pseudorandom. By setting \(\mathsf{len}= \log |\mathbb{F}|= \lambda +\log mn +\log l\), a union bound shows the probability of \(\exists i\in [n], u\in[m_c], v\in [l], r^\mathcal{S}_{\pi(u),k,v}=r^\mathcal{R}_{\pi(u),k}\) is negligible \(2^{-\lambda}\). By the correctness of ssPEQT and AND, \(\forall v\in[l], b_{\pi(u),k,v}^\mathcal{S}\oplus b_{\pi(u),k,v}^\mathcal{R}=0\) and \(\tilde{b}_{\pi(u)}^\mathcal{S}\oplus \tilde{b}_{\pi(u)}^\mathcal{R}=0\). As a result, \(\mathcal{R}\) learns \(\perp\) in the final OT.
We prove the security of the protocol described in Figure 20.
Theorem 4. The protocol in Figure 20 securely computes \(\mathcal{F}_{\mathsf{FPSI}}\) for \(L_{\infty}\) against semi-honest adversaries in the (\(\mathcal{F}_\mathsf{OPPRF}\),\(\mathcal{F}_{\mathsf{AND}}\), \(\mathcal{F}_\mathsf{ssPEQT}\),\(\mathcal{F}_\mathsf{OT}\))-hybrid model.
Below we give details of the proof of Theorem 4.
Proof. We exhibit simulators \(\mathsf{Sim}_{\mathcal{S}}\) and \(\mathsf{Sim}_{\mathcal{R}}\) for simulating corrupt \(\mathcal{S}\) and \(\mathcal{R}\) respectively, and argue the indistinguishability of the produced transcript from the real execution.
Corrupt Sender: \(\mathsf{Sim}_\mathcal{S}(Q=\{\mathbf{q}_j\}_{j\in [m]})\) simulates the view of corrupt semi-honest sender. It executes as follows:
In step 1-2, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(Q^*,\tau,\{q^*_{\tau(j),k,v}\}_{j\in[m],k\in[d],v\in[l]}\).
In step 4, \(\mathsf{Sim}_\mathcal{S}\) selects random \(\mathsf{hint}, r^{\mathcal{S}}_{\tau(j),k,v},j\in [m],k\in[d],v\in[l]\). Then, it invokes OPPRF’s simulator \(\mathsf{Sim}_\mathsf{OPPRF}^\mathcal{R}(\{\mathsf{cell}_\delta (Q^*[\tau(j)])||k||q^*_{\tau(j),k,v}||\alpha_{\tau(j)}\}_{j\in [m],k\in [d],v\in[l]},(\mathsf{hint}, \{r_{\tau(j),k,v}^\mathcal{S}\}_{j\in[m],k\in[d],v\in[l]}))\) and appends the output to the view.
In step 5, \(\mathsf{Sim}_\mathcal{S}\) selects random \(r_{u,k,v}^\mathcal{S}\leftarrow \mathbb{F},u\in [m_c]\setminus \{\tau(j)\}_{j\in[m]},k\in[d],v\in[l]\).
In step 6, \(\mathsf{Sim}_\mathcal{S}\) selects random \(b^{\mathcal{S}}_{u,k,v}\leftarrow \{0,1\}, u\in[m_c],k\in[d],v\in[l]\). Then, it invokes the ssPEQT simulator \(\mathsf{Sim}_\mathsf{ssPEQT}(r^\mathcal{S}_{u,k,v},b^{\mathcal{S}}_{u,k,v})\) and appends the output to the view. \(\mathsf{Sim}_\mathcal{S}\) also computes \(b_{u,k}^\mathcal{S}:=\oplus_{v\in[l]}b^\mathcal{S}_{u,k,v},u\in[m_c],k\in[d]\).
In step 7, \(\mathsf{Sim}_\mathcal{S}\) selects random \(\tilde{b}^{\mathcal{S}}_{u}\leftarrow \{0,1\}, u\in[m_c]\). Then, it invokes the AND simulator \(\mathsf{Sim}_\mathsf{AND}(\{b^{\mathcal{S}}_{u,k}\}_{k\in[d]},\tilde{b}_u^\mathcal{S})\) and appends the output to the view.
In step 8, \(\mathsf{Sim}_\mathcal{S}\) selects a random permutation \(\pi\) over \([m_c]\), random bits \(\bar{b}_u^{\mathcal{S}}\leftarrow \{0,1\},u\in[m_c]\). Then, it invokes PS receiver’s simulator \(\mathsf{Sim}_\mathsf{PS}^\mathcal{R}(\pi,\{\bar{b}_u^{\mathcal{S}}\}_{u\in [m_c]})\) and appends the output to the view. \(\mathsf{Sim}_\mathcal{S}\) also computes \(b_u^\mathcal{S}=\bar{b}_u^\mathcal{S}\oplus \tilde{b}_{\pi(u)}^\mathcal{S},u\in[m_c]\).
In step 10, for \(u\in [m_c]\), \(\mathsf{Sim}_{\mathcal{S}}\) invokes OT sender’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}(\perp,Q^*[\pi(u)])\) if \(b_u^\mathcal{S}=0\) and \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}(Q^*[\pi(u)],\perp)\) if \(b_u^\mathcal{S}=1\). Then, it appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{S}}\) is indistinguishable from the real one. We formally prove this by a standard hybrid argument method. We define three hybrid transcripts \(T_0, T_1, T_2\) where \(T_0\) is real view of \(\mathcal{S}\), and \(T_2\) is the output of \(\mathsf{Sim}_{\mathcal{S}}\).
\(\text{Hybrid}_0\). The first hybrid is the real interaction described in Figure 20. Here, an honest \(\mathcal{R}\) uses input \(W\), honestly interacts with the corrupt \(\mathcal{S}\). Let \(T_0\) denote the real view of \(\mathcal{S}\).
\(\text{Hybrid}_1\). Let \(T_1\) be the same as \(T_0\), except that all OPPRF values \(r_{\tau(j),k,v}^\mathcal{S}\) are replaced by randomly selected values. Since the set \(Q\) satisfies the apart assumption, that is, \(\mathsf{cell}_\delta(Q^*[\tau(j)])\) are distinct, resulting in \(r_{\tau(j),k,v}^\mathcal{S}\) are also distinct. If \(\exists i\in[n],v'\in[l']\), s.t. \(q_{\tau(j),k,v}^*=w_{i,k,v'}^*\), we have \(r_{\tau(j),k,v}^\mathcal{S} = r_{\tau(j),k}^\mathcal{R}\), which is truly random. Otherwise, if \(\forall i\in[n],v'\in[l'], q_{\tau(j),k,v}^*\neq w_{i,k,v'}^*\), from the pseudorandomness of OPPRF, \(r_{\tau(j),k,v}^\mathcal{S}\) is a pseudorandom value. As a result, by the pseudorandomness of PRF in OPPRF, this hybrid is computationally indistinguishable from \(T_0\).
\(\text{Hybrid}_2\). Let \(T_2\) be the same as \(T_1\), except that the OPPRF, ssPEQT, AND, PS and OT execution are replaced by simulator \(\mathsf{Sim}^\mathcal{R}_{\mathsf{OPPRF}}, \mathsf{Sim}^\mathcal{S}_{\mathsf{ssPEQT}},\mathsf{Sim}^\mathcal{S}_{\mathsf{AND}},\mathsf{Sim}^\mathcal{R}_{\mathsf{PS}},\mathsf{Sim}^\mathcal{S}_{\mathsf{OT}}\). The security of OPPRF, ssPEQT, AND, PS and OT functionality guarantee this view is computationally indistinguishable from \(T_1\). This hybrid is exactly the view output by the simulator.
Corrupt Receiver: \(\mathsf{Sim}_{\mathcal{R}}(W,I)\) simulates the view of corrupt semi-honest receiver. It executes as follows:
In step 3, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(\{w^*_{i,k,v}\}_{i\in[n],k\in[d],v\in[l']},\{\mathcal{C}_{i,t}\}_{i\in[n],t\in[2^d]},\) \(\{r_{u,k}^\mathcal{R}\}_{u\in[m_c],k\in[d]},\{\mathsf{Rand}^{\mathcal{R}}_u\}_{u\in[m_c]}\).
In step 4, \(\mathsf{Sim}_\mathcal{R}\) defines \(\mathsf{List}\) as an honest receiver and picks random \(\mathsf{hint},sk_\mathcal{R}\). Then, it invokes the OPPRF sender’s simulator \(\mathsf{Sim}_\mathsf{OPPRF}^\mathcal{S}(\mathsf{List},(\mathsf{hint},sk_\mathcal{R}))\) and appends the output to the view.
In step 6, \(\mathsf{Sim}_\mathcal{R}\) selects random \(b^{\mathcal{R}}_{u,k,v}\leftarrow \{0,1\}, u\in[m_c],k\in[d],v\in[l]\). Then, it invokes the ssPEQT simulator \(\mathsf{Sim}_\mathsf{ssPEQT}(r^\mathcal{R}_{u,k,v},b^{\mathcal{R}}_{u,k,v})\) and appends the output to the view. \(\mathsf{Sim}_\mathcal{R}\) also computes \(b_{u,k}^\mathcal{R}:=\oplus_{v\in[l]}b^\mathcal{R}_{u,k,v},u\in[m_c],k\in[d]\).
In step 7, \(\mathsf{Sim}_\mathcal{R}\) selects random \(\tilde{b}^{\mathcal{R}}_{u}\leftarrow \{0,1\}, u\in[m_c]\). Then, it invokes the AND simulator \(\mathsf{Sim}_\mathsf{AND}(\{b^{\mathcal{R}}_{u,k}\}_{k\in[d]},\tilde{b}_u^\mathcal{R})\) and appends the output to the view.
In step 8, \(\mathsf{Sim}_\mathcal{R}\) selects random values \(\bar{b}_u^{\mathcal{R}}\leftarrow \{0,1\},u\in[m_c]\). Then, it invokes PS sender’s simulator \(\mathsf{Sim}_\mathsf{PS}^\mathcal{S}(\{\tilde{b}_u^\mathcal{R}\}_{u\in [m_c]},\{\bar{b}_u^{\mathcal{R}}\}_{u\in [m_c]})\) and appends the output to the view.
In step 9, \(\mathsf{Sim}_\mathcal{R}\) uses \(\perp\) to pad \(I\) to \(m_c\) elements and permutes these elements randomly. Let \(I=\{\mathbf{z}_1,\dots,\mathbf{z}_{m_c}\}\). Then, \(\mathsf{Sim}_\mathcal{R}\) invokes OT receiver’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(\bar{b}_u^\mathcal{R},\mathbf{z}_u)\) and appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{R}}\) is indistinguishable from the real one. In the simulation, the way \(\mathcal{R}\) obtains the elements in \(I\) is identical to the real execution since the elements in \(I\) are randomly permuted. By the underlying simulators’ indistinguishability, the simulated view is computationally indistinguishable from the real. ◻
In this section, we give our construction of the FPSI (and its variants) for \(L_\infty\) distance from sOPRF. As discussed in introduction, sOPRF naturally provides the receiver with secret shares of the sender’s evaluation only for non‑empty bins, eliminating the need for dummy values in empty bins. The parties then run ECSS solely on those non‑empty bins. Since empty bins are never involved, the sender’s Cuckoo‑hashing arrangement remains hidden, and no global PS step is required. The formal protocol is described in Figure 21.
We argue the correctness of FPSI for \(L_{\infty}\) in Figure 21.
Correctness. For \(j\in[m]\), if \(\exists \mathbf{w}_i\in W\), s.t. \(\mathsf{dist}(Q^*[\tau(j)],\mathbf{w}_i)\leq \delta\), then the correctness of spatial hashing ensures \(\exists t\in[2^d]\), s.t. \(\mathsf{cell}_\delta(Q^*[\tau(j)]) = \mathcal{C}_{i,t}\), thus \(\forall k\in[d], \mathsf{cell}_\delta(Q^*[\tau(j)])||k||\alpha_{\tau(j)} = \mathcal{C}_{i,t}||k||\alpha_{\tau(j)}\) and \(|Q^*[\tau(j)]_k-w_{i,k}|\leq \delta\). By the property of prefix and the correctness of sOPRF and OKVS, \(\exists !v\in[l]\), s.t. \(r^\mathcal{S}_{j,k,v}=f^1_{j,k,v}\). The correctness of ECSS guarantees \(\mathsf{Rand}^{\mathcal{S}}_{j} + \mathsf{Rand}^{\mathcal{R}}_{j}=r^\mathcal{S}_{j,k,v}-f^1_{j,k,v}=0\). Then, the correctness of PEQT ensures \(b_j=1\). Finally, the correctness of OT ensures the receiver learns \({Q}^*[\tau(j)]\). If \(\forall i\in [n], \mathsf{dist}({Q}^*[\tau(j)],\mathbf{w}_i)> \delta\), we have \(\exists k\in[d]\), s.t. \(\forall v\in[l], q_{\tau(j),k,v}^*\notin \{w_{i,k,v'}\}_{v'\in [l']}\). Therefore, the randomness of OKVS guarantees \(r^\mathcal{S}_{j,k,v}\) is random. By setting \(\mathsf{len}= \log |\mathbb{F}|= \lambda +\log mn +\log l\), a union bound shows the probability of \(\exists i\in [n], u\in[m_c], v\in [l], r^\mathcal{S}_{j,k,v}-f^1_{j,k,v}=0\) is negligible \(2^{-\lambda}\). By the correctness of ECS, \(\mathsf{Rand}^{\mathcal{S}}_{j}\) is also pseudorandom. As a result, \(\mathsf{Rand}^{\mathcal{S}}_{j}\ne \mathsf{Rand}^{\mathcal{R}}_{j}\) with overwhelming probability. \(\mathcal{R}\) receives \(b_j=0\) and learns \(\perp\) in the final OT.
We prove the security of the protocol described in Figure 21.
Theorem 5. The protocol in Figure 21 securely computes \(\mathcal{F}_{\mathsf{FPSI}}\) for \(L_{\infty}\) against semi-honest adversaries in the (\(\mathcal{F}_{\mathsf{sOPRF}}\),\(\mathcal{F}_{\mathsf{ECSS}}\), \(\mathcal{F}_\mathsf{PEQT}\),\(\mathcal{F}_\mathsf{OT}\))-hybrid model.
Below we give details of the proof of Theorem 5.
Proof. We exhibit simulators \(\mathsf{Sim}_{\mathcal{S}}\) and \(\mathsf{Sim}_{\mathcal{R}}\) for simulating corrupt \(\mathcal{S}\) and \(\mathcal{R}\) respectively, and argue the indistinguishability of the produced transcript from the real execution.
Corrupt Sender: \(\mathsf{Sim}_\mathcal{S}(Q=\{\mathbf{q}_j\}_{j\in [m]})\) simulates the view of corrupt semi-honest sender. It executes as follows:
In step 1-2, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(Q^*,\tau,\{q^*_{\tau(j),k,v}\}_{j\in[m],k\in[d],v\in[l]}\).
In step 4, \(\mathsf{Sim}_\mathcal{S}\) selects random \(f^0_{j,k,v},j\in [m],k\in[d],v\in[l]\). Then, it invokes the sOPRF receiver’s simulator \(\mathsf{Sim}_\mathsf{sOPRF}^\mathcal{R}(\{\mathsf{cell}_\delta (Q^*[\tau(j)])||k||q^*_{\tau(j),k,v}||\alpha_{\tau(j)}\}_{j\in [m],k\in [d],v\in[l]}, \{f_{j,k,v}^0\}_{j\in[m],k\in[d],v\in[l]})\) and appends the output to the view.
In step 5, \(\mathsf{Sim}_\mathcal{S}\) selects \(3nd2^dl'\) random key-value pairs \(\mathsf{List}\) and computes \(E_\mathcal{R}=\mathsf{Encode}(\mathsf{List})\). Then, it appends \(E_\mathcal{R}\) to the view.
In step 6, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(r_{j,k,v}^\mathcal{S},j\in[m],k\in[d],v\in[l]\).
In step 7, \(\mathsf{Sim}_{\mathcal{S}}\) selects random \(\mathsf{Rand}^{\mathcal{S}}_j\leftarrow \mathbb{F},j\in[m]\). Then, it invokes the ECSS receiver’s simulator \(\mathsf{Sim}_\mathsf{ECSS}^\mathcal{R}(\{\mathbf{b}_{j,k,v}=(r^\mathcal{S}_{j,k,v},r_{j,k,v}^\mathcal{S})\}_{k\in[d],v\in[l]},\mathsf{Rand}^{\mathcal{S}}_{j})\) and appends the output to the view.
In step 8, \(\mathsf{Sim}_\mathcal{S}\) invokes the PEQT sender’s simulator \(\mathsf{Sim}^\mathcal{S}_\mathsf{PEQT}(-\mathsf{Rand}^{\mathcal{S}}_j,\perp)\) and appends the output to the view.
In step 9, for \(j\in [m]\), \(\mathsf{Sim}_{\mathcal{S}}\) invokes OT sender’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}(\perp,Q^*[\tau(j)])\). Then, it appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{S}}\) is indistinguishable from the real one. We formally prove this by a standard hybrid argument method. We define four hybrid transcripts \(T_0, T_1, T_2,T_3\) where \(T_0\) is real view of \(\mathcal{S}\), and \(T_3\) is the output of \(\mathsf{Sim}_{\mathcal{S}}\).
\(\text{Hybrid}_0\). The first hybrid is the real interaction described in Figure 21. Here, an honest \(\mathcal{R}\) uses input \(W\), honestly interacts with the corrupt \(\mathcal{S}\). Let \(T_0\) denote the real view of \(\mathcal{S}\).
\(\text{Hybrid}_1\). Let \(T_1\) be the same as \(T_0\), except that all PRF values are replaced by randomly selected values, i.e., \(f^0_{j,k,v}+f^1_{j,k,v}\) and \(f_{sk_\mathcal{R}}(\mathcal{C}_{i,t}||k||w_{i,k,v}^*||\alpha)\) are replaced by truly random values. By the pseudorandomness of PRF in sOPRF, this hybrid is computationally indistinguishable from \(T_0\).
\(\text{Hybrid}_2\). Let \(T_2\) be the same as \(T_1\), except that the OKVS \(E_\mathcal{R}\) is generated from randomly selected key-value pairs. Since \(f_{sk_\mathcal{R}}(\mathcal{C}_{i,t}||k||w_{i,k,v}^*||\alpha)\) has been replaced by truly random values, the obliviousness of OKVS scheme guarantees this view is statistically indistinguishable from \(T_2\).
\(\text{Hybrid}_3\). Let \(T_3\) be the same as \(T_2\), except that the sOPRF, ECSS, PEQT and OT execution are replaced by simulator \(\mathsf{Sim}^\mathcal{R}_{\mathsf{sOPRF}},\mathsf{Sim}^\mathcal{S}_{\mathsf{ECSS}},\mathsf{Sim}^\mathcal{S}_{\mathsf{PEQT}},\mathsf{Sim}^\mathcal{S}_{\mathsf{OT}}\). The security of sOPRF, ECSS, PEQT and OT functionality guarantee this view is computationally indistinguishable from \(T_2\). This hybrid is exactly the view output by the simulator.
Corrupt Receiver: \(\mathsf{Sim}_{\mathcal{R}}(W,I)\) simulates the view of corrupt semi-honest receiver. It executes as follows:
In step 3, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(\{w^*_{i,k,v}\}_{i\in[n],k\in[d],v\in[l']},\{\mathcal{C}_{i,t}\}_{i\in[n],t\in[2^d]}\).
In step 4, \(\mathsf{Sim}_\mathcal{R}\) selects random \(sk_{\mathcal{R}}\) and \(f_{j,k,v}^1,j\in[m],k\in[d],v\in[l]\). Then, it invokes the sOPRF sender’s simulator \(\mathsf{Sim}_\mathsf{sOPRF}^\mathcal{S}(sk_\mathcal{R}, \{f_{j,k,v}^1\}_{j\in[m],k\in[d],v\in[l]})\) and appends the output to the view.
In step 5, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(E_\mathcal{R}\).
In step 7, \(\mathsf{Sim}_{\mathcal{R}}\) selects random \(\mathsf{Rand}^{\mathcal{R}}_j\leftarrow \mathbb{F},j\in[m]\). Then, it invokes the ECSS sender’s simulator \(\mathsf{Sim}_\mathsf{ECSS}^\mathcal{S}(\{\mathbf{a}_{j,k,v}=(-f^1_{j,k,v},f_{j,k,v}^1)\}_{k\in[d],v\in[l]},\mathsf{Rand}^{\mathcal{R}}_{j})\) and appends the output to the view.
In step 8-9, \(\mathsf{Sim}_\mathcal{R}\) uses \(\perp\) to pad \(I\) to \(m\) elements and permutes these elements randomly. Let \(I=\{\mathbf{z}_1,\dots,\mathbf{z}_{m}\}\). For \(j\in [m]\), \(\mathsf{Sim}_\mathcal{R}\) sets \(b_j = 1\) if and only if \(\mathbf{z}_j\notin W\), otherwise, \(b_j=0\). Then, \(\mathsf{Sim}_\mathcal{R}\) invokes the PEQT receiver’s simulator \(\mathsf{Sim}_\mathsf{PEQT}^\mathcal{R}(\mathsf{Rand}^{\mathcal{R}}_j,b_j)\) and appends the output to the view. \(\mathsf{Sim}_\mathcal{R}\) also invokes OT receiver’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(b_j,\mathbf{z}_j)\) and appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{R}}\) is indistinguishable from the real one. In the real execution, the sender selects a random injection \(\tau\) to shuffle its set elements. In the simulation, the way \(\mathcal{R}\) obtains the elements in \(I\) is identical to the real execution since the elements in \(I\) are randomly permuted. By the underlying simulators’ indistinguishability, the simulated view is computationally indistinguishable from the real. ◻
FPSI variants. Similar to the OPPRF-based construction, our sOPRF-based FPSI protocol (Figure 21) can also be adapted to other FPSI variants with minimal modifications. For LFPSI, the sender replaces \(Q^*[\tau(u)]\) with the corresponding label in the final OT step. For FPSI-CA, the receiver directly outputs the Hamming weight of \(\vec{b} = (b_1, \dots, b_{m})\). For FPSI-SP, the roles are effectively reversed: the sender acts as the receiver in the PEQT step (step 8) to learn each \(b_j\), and then outputs the set \({ Q^*[\tau(j)] : b_j = 1, j \in [m] }\). In this case, the sender functionally acts as the receiver in the FPSI-SP definition.
Optimization from AND. Similar to the OPPRF-based construction, our sOPRF-based FPSI protocol (Figure 21) can also be optimized using AND functionality. The formal description is given in Figure 22.
We argue the correctness of FPSI for \(L_{\infty}\) in Figure 22.
Correctness. For \(j\in[m]\), if \(\exists \mathbf{w}_i\in W\), s.t. \(\mathsf{dist}(Q^*[\tau(j)],\mathbf{w}_i)\leq \delta\), then the correctness of spatial hashing ensures \(\exists t\in[2^d]\), s.t. \(\mathsf{cell}_\delta(Q^*[\tau(j)]) = \mathcal{C}_{i,t}\), thus \(\forall k\in[d], \mathsf{cell}_\delta(Q^*[\tau(j)])||k||\alpha_{\tau(j)} = \mathcal{C}_{i,t}||k||\alpha_{\tau(j)}\) and \(|Q^*[\tau(j)]_k-w_{i,k}|\leq \delta\). By the property of prefix and the correctness of sOPRF and OKVS, \(\exists !v\in[l]\), s.t. \(r^\mathcal{S}_{j,k,v}=f^1_{j,k,v}\). Therefore, \(\forall k\in [d], \exists! v\in[l]\), s.t. \(b_{j,k,v}^\mathcal{S}\oplus b_{j,k,v}^\mathcal{R}=1\) and \(b_{j,k}^\mathcal{S} \oplus b_{j,k}^\mathcal{R}=1\). By the correctness of AND, \(\tilde{b}^{\mathcal{S}}_{j}\oplus \tilde{b}^{\mathcal{R}}_{j}=1\). Same as Figure 19, the receiver learns \({Q}^*[\tau(j)]\) if \(b_j^{\mathcal{S}}\oplus \bar{b}_j^{\mathcal{R}}=1\). If \(\forall i\in [n], \mathsf{dist}({Q}^*[\tau(j)],\mathbf{w}_i)> \delta\), we have \(\exists k\in[d]\), s.t. \(\forall v\in[l], q_{\tau(j),k,v}^*\notin \{w_{i,k,v'}\}_{v'\in [l']}\). Therefore, the randomness of OKVS guarantees \(r^\mathcal{S}_{j,k,v}\) is random. By setting \(\mathsf{len}= \log |\mathbb{F}|= \lambda +\log mn +\log l\), a union bound shows the probability of \(\exists i\in [n], u\in[m_c], v\in [l], r^\mathcal{S}_{j,k,v}-f^1_{j,k,v}=0\) is negligible \(2^{-\lambda}\). By the correctness of ssPEQT and AND, \(\forall v\in[l], b_{j,k,v}^\mathcal{S}\oplus b_{j,k,v}^\mathcal{R}=0\) and \(\tilde{b}_{j}^\mathcal{S}\oplus \tilde{b}_{j}^\mathcal{R}=0\). As a result, \(\mathcal{R}\) learns \(\perp\) in the final OT.
We prove the security of the protocol described in Figure 22.
Theorem 6. The protocol in Figure 22 securely computes \(\mathcal{F}_{\mathsf{FPSI}}\) for \(L_{\infty}\) against semi-honest adversaries in the (\(\mathcal{F}_{\mathsf{sOPRF}}\),\(\mathcal{F}_{\mathsf{AND}}\), \(\mathcal{F}_\mathsf{ssPEQT}\),\(\mathcal{F}_\mathsf{OT}\))-hybrid model.
Below we give details of the proof of Theorem 6.
Proof. We exhibit simulators \(\mathsf{Sim}_{\mathcal{S}}\) and \(\mathsf{Sim}_{\mathcal{R}}\) for simulating corrupt \(\mathcal{S}\) and \(\mathcal{R}\) respectively, and argue the indistinguishability of the produced transcript from the real execution.
Corrupt Sender: \(\mathsf{Sim}_\mathcal{S}(Q=\{\mathbf{q}_j\}_{j\in [m]})\) simulates the view of corrupt semi-honest sender. It executes as follows:
In step 1-2, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(Q^*,\tau,\{q^*_{\tau(j),k,v}\}_{j\in[m],k\in[d],v\in[l]}\).
In step 4, \(\mathsf{Sim}_\mathcal{S}\) selects random \(f^0_{j,k,v},j\in [m],k\in[d],v\in[l]\). Then, it invokes the sOPRF receiver’s simulator \(\mathsf{Sim}_\mathsf{sOPRF}^\mathcal{R}(\{\mathsf{cell}_\delta (Q^*[\tau(j)])||k||q^*_{\tau(j),k,v}||\alpha_{\tau(j)}\}_{j\in [m],k\in [d],v\in[l]}, \{f_{j,k,v}^0\}_{j\in[m],k\in[d],v\in[l]})\) and appends the output to the view.
In step 5, \(\mathsf{Sim}_\mathcal{S}\) selects \(3nd2^dl'\) random key-value pairs \(\mathsf{List}\) and computes \(E_\mathcal{R}=\mathsf{Encode}(\mathsf{List})\). Then, it appends \(E_\mathcal{R}\) to the view.
In step 6, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(r_{j,k,v}^\mathcal{S},j\in[m],k\in[d],v\in[l]\).
In step 7, \(\mathsf{Sim}_\mathcal{S}\) selects random \(b^{\mathcal{S}}_{j,k,v}\leftarrow \{0,1\}, j\in[m],k\in[d],v\in[l]\). Then, it invokes the ssPEQT simulator \(\mathsf{Sim}_\mathsf{ssPEQT}(r^\mathcal{S}_{j,k,v},b^{\mathcal{S}}_{j,k,v})\) and appends the output to the view. \(\mathsf{Sim}_\mathcal{S}\) also computes \(b_{j,k}^\mathcal{S}:=\oplus_{v\in[l]}b^\mathcal{S}_{j,k,v},j\in[m],k\in[d]\).
In step 8, \(\mathsf{Sim}_\mathcal{S}\) selects random \(\tilde{b}^{\mathcal{S}}_{j}\leftarrow \{0,1\}, j\in[m]\). Then, it invokes the AND simulator \(\mathsf{Sim}_\mathsf{AND}(\{b^{\mathcal{S}}_{j,k}\}_{k\in[d]},\tilde{b}_j^\mathcal{S})\) and appends the output to the view.
In step 9, for \(j\in [m]\), \(\mathsf{Sim}_{\mathcal{S}}\) invokes OT sender’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}(\perp,Q^*[\tau(j)])\) if \(\tilde{b}_j^\mathcal{S}=0\) and \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}(Q^*[\tau(j)],\perp)\) if \(\tilde{b}_j^\mathcal{S}=1\). Then, it appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{S}}\) is indistinguishable from the real one. We formally prove this by a standard hybrid argument method. We define four hybrid transcripts \(T_0, T_1, T_2,T_3\) where \(T_0\) is real view of \(\mathcal{S}\), and \(T_3\) is the output of \(\mathsf{Sim}_{\mathcal{S}}\).
\(\text{Hybrid}_0\). The first hybrid is the real interaction described in Figure 22. Here, an honest \(\mathcal{R}\) uses input \(W\), honestly interacts with the corrupt \(\mathcal{S}\). Let \(T_0\) denote the real view of \(\mathcal{S}\).
\(\text{Hybrid}_1\). Let \(T_1\) be the same as \(T_0\), except that all PRF values are replaced by randomly selected values, i.e., \(f^0_{j,k,v}+f^1_{j,k,v}\) and \(f_{sk_\mathcal{R}}(\mathcal{C}_{i,t}||k||w_{i,k,v}^*||\alpha)\) are replaced by truly random values. By the pseudorandomness of PRF in sOPRF, this hybrid is computationally indistinguishable from \(T_0\).
\(\text{Hybrid}_2\). Let \(T_2\) be the same as \(T_1\), except that the OKVS \(E_\mathcal{R}\) is generated from randomly selected key-value pairs. Since \(f_{sk_\mathcal{R}}(\mathcal{C}_{i,t}||k||w_{i,k,v}^*||\alpha)\) has been replaced by truly random values, the obliviousness of OKVS scheme guarantees this view is statistically indistinguishable from \(T_2\).
\(\text{Hybrid}_3\). Let \(T_3\) be the same as \(T_2\), except that the sOPRF, ssPEQT, AND and OT execution are replaced by simulator \(\mathsf{Sim}^\mathcal{R}_{\mathsf{sOPRF}},\mathsf{Sim}^\mathcal{S}_{\mathsf{ssPEQT}},\mathsf{Sim}^\mathcal{S}_{\mathsf{AND}},\mathsf{Sim}^\mathcal{S}_{\mathsf{OT}}\). The security of sOPRF, ssPEQT, AND and OT functionality guarantee this view is computationally indistinguishable from \(T_2\). This hybrid is exactly the view output by the simulator.
Corrupt Receiver: \(\mathsf{Sim}_{\mathcal{R}}(W,I)\) simulates the view of corrupt semi-honest receiver. It executes as follows:
In step 3, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(\{w^*_{i,k,v}\}_{i\in[n],k\in[d],v\in[l']},\{\mathcal{C}_{i,t}\}_{i\in[n],t\in[2^d]}\).
In step 4, \(\mathsf{Sim}_\mathcal{R}\) selects random \(sk_{\mathcal{R}}\) and \(f_{j,k,v}^1,j\in[m],k\in[d],v\in[l]\). Then, it invokes the sOPRF sender’s simulator \(\mathsf{Sim}_\mathsf{sOPRF}^\mathcal{S}(sk_\mathcal{R}, \{f_{j,k,v}^1\}_{j\in[m],k\in[d],v\in[l]})\) and appends the output to the view.
In step 5, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(E_\mathcal{R}\).
In step 7, \(\mathsf{Sim}_\mathcal{R}\) selects random \(b^{\mathcal{R}}_{j,k,v}\leftarrow \{0,1\}, j\in[m],k\in[d],v\in[l]\). Then, it invokes the ssPEQT simulator \(\mathsf{Sim}_\mathsf{ssPEQT}(f^1_{j,k,v},b^{\mathcal{R}}_{j,k,v})\) and appends the output to the view. \(\mathsf{Sim}_\mathcal{R}\) also computes \(b_{j,k}^\mathcal{R}:=\oplus_{v\in[l]}b^\mathcal{R}_{j,k,v},j\in[m],k\in[d]\).
In step 8, \(\mathsf{Sim}_\mathcal{R}\) selects random \(\tilde{b}^{\mathcal{R}}_{j}\leftarrow \{0,1\}, j\in[m]\). Then, it invokes the AND simulator \(\mathsf{Sim}_\mathsf{AND}(\{b^{\mathcal{R}}_{j,k}\}_{k\in[d]},\tilde{b}_j^\mathcal{R})\) and appends the output to the view.
In step 9, \(\mathsf{Sim}_\mathcal{R}\) uses \(\perp\) to pad \(I\) to \(m\) elements and permutes these elements randomly. Let \(I=\{\mathbf{z}_1,\dots,\mathbf{z}_{m}\}\). Then, \(\mathsf{Sim}_\mathcal{R}\) invokes OT receiver’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(\tilde{b}_j^\mathcal{R},\mathbf{z}_j)\) and appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{R}}\) is indistinguishable from the real one. In the real execution, the sender selects a random injection \(\tau\) to shuffle its set elements. In the simulation, the way \(\mathcal{R}\) obtains the elements in \(I\) is identical to the real execution since the elements in \(I\) are randomly permuted. By the underlying simulators’ indistinguishability, the simulated view is computationally indistinguishable from the real. ◻
In this section, we give our construction of the FPSI (and its variants) for \(L_{p\in[1,\infty)}\) distance from OPPRF.
The formal description is given in Figure 23.

Figure 23: Fuzzy PSI Protocol \(\Pi_{\mathsf{FPSI}}\) for \(L_{p\in[1,\infty)}\) in Low Dimension Space from OPPRF. a — image
We argue the correctness of FPSI for \(L_{p\in[1,\infty)}\) in Figure 23.
Correctness. For \(u\in[m_c]\), if \(\exists \mathbf{w}_i\in W\), s.t. \(\mathsf{dist}(Q^*[\pi(u)],\mathbf{w}_i)\leq \delta\), then the correctness of spatial hashing ensures \(\exists t\in[2^d]\), s.t. \(\mathsf{cell}_\delta(Q^*[\pi(u)]) = \mathcal{C}_{i,t}\), thus \(\forall k\in[d], \mathsf{cell}_\delta(Q^*[\pi(u)])||\sigma||k||\alpha_{\pi(u)} = \mathcal{C}_{i,t}||\sigma||k||\alpha_{\pi(u)}\) and \(|Q^*[\pi(u)]_k-w_{i,k}|\leq \delta\). By the property of prefix, \(\exists !v\in[l],v'\in [l'],\sigma\in\{0,1\}\), s.t. \(q_{\pi(u),k,v}^*=w_{i,\sigma,k,v'}^*\). By the correctness of OPPRF, we have \(\forall \gamma\in[p], r^{\mathcal{S}}_{\pi(u),\sigma,k,v,\gamma}=r^{\mathcal{R}}_{\pi(u),k,\gamma}+|w_{i,k} -\mathsf{Bound}(\sigma,w_{i,\sigma,k,v'})|^\gamma\) and \(r^{\mathcal{S}}_{\pi(u),\sigma,k,v,p+1}=r^{\mathcal{R}}_{\pi(u),k,p+1}\). Then, the correctness of ECIPS guarantees \[\begin{align} \mathsf{Rand}^{\mathcal{S}}_{\pi(u)}+\mathsf{Rand}^{\mathcal{R}}_{\pi(u)} &= \sum_{k\in[d]}\langle \mathbf{a}^0_{\pi(u),\sigma,k,v}+ \mathbf{b}^0_{\pi(u),\sigma,k,v}, \mathbf{b}^1_{\pi(u),\sigma,k,v} \rangle \\ &= \sum_{k\in[d]}\sum_{\gamma\in[0,p]} \binom{p}{\gamma}|w_{i,k} - \mathsf{Bound}(\sigma,w_{i,\sigma,k,v'}^*)|^\gamma \cdot |Q^*[\pi(u)]_k-\mathsf{Bound}(\sigma,q_{\pi(u),k,v}^*)|^{p-\gamma}\\ &=\sum_{k\in[d]} |w_{i,k}-Q^*[\pi(u)]_k|^p\\ &=\mathsf{dist}(\mathbf{w}_{i},Q^*[\pi(u)])^p \end{align}\] By the correctness of ssIFmat, \(\tilde{b}^\mathcal{S}_{\pi(u)}\oplus \tilde{b}_{\pi(u)}^\mathcal{R}=1\) iff \(\mathsf{Rand}^{\mathcal{S}}_{\pi(u)}\in [-\mathsf{Rand}^{\mathcal{R}}_{\pi(u)} ,-\mathsf{Rand}^{\mathcal{R}}_{\pi(u)}+\delta^p]\), which means \(\mathsf{dist}(\mathbf{w}_{i},Q^*[\pi(u)])^p\in [0,\delta^p]\). Then, the correctness of ssPEQT and PS ensures \(\tilde{b}_{\pi(u)}^\mathcal{S}\oplus \tilde{b}_{\pi(u)}^\mathcal{R}=1\) and \(b_u^{\mathcal{S}}\oplus \bar{b}_u^{\mathcal{R}}=1\). Finally, the correctness of OT ensures the receiver learns \({Q}^*[\pi(u)]\) if \(b_u^{\mathcal{S}}\oplus \bar{b}_u^{\mathcal{R}}=1\). If \(\forall i\in [n], \mathsf{dist}({Q}^*[\pi(u)],\mathbf{w}_i)> \delta\), we have \(\exists k\in[d]\), s.t. \(\forall v\in[l], q_{\pi(u),k,v}^*\notin \{w_{i,k,v'}\}_{v'\in [l']}\). Therefore, the pseudorandomness of PRF in OPPRF guarantees \(r^\mathcal{S}_{\pi(u),k,v}\) is pseudorandom, resulting in \(\mathbf{b}_{\pi(u),\sigma,k,v}^0\) being also pseudorandom (except the first component). The correctness of ECIPS guarantees \(\mathsf{Rand}^{\mathcal{S}}_{\pi(u)}+\mathsf{Rand}^{\mathcal{R}}_{\pi(u)}\) is also pseudorandom. By setting \(\mathsf{len}= \log |\mathbb{F}|= \lambda +\log mn +\log l+p\log \delta\), a union bound shows the probability of \(\exists i\in [n], u\in[m_c], v\in [l], \mathsf{Rand}^{\mathcal{S}}_{\pi(u)}+\mathsf{Rand}^{\mathcal{R}}_{\pi(u)}\in [0,\delta^p]\) is negligible \(2^{-\lambda}\). As a result, \(b_u^{\mathcal{S}}\oplus \bar{b}_u^{\mathcal{R}}=0\) with overwhelming probability. \(\mathcal{R}\) learns \(\perp\) in the final OT.
We prove the security of the protocol described in Figure 23.
Theorem 7. The protocol in Figure 23 securely computes \(\mathcal{F}_{\mathsf{FPSI}}\) for \(L_{p\in[1,\infty)}\) against semi-honest adversaries in the (\(\mathcal{F}_\mathsf{OPPRF}\),\(\mathcal{F}_{\mathsf{ECIPS}}\), \(\mathcal{F}_{\mathsf{PS}}\), \(\mathcal{F}_\mathsf{ssPEQT}\),\(\mathcal{F}_\mathsf{OT}\))-hybrid model.
Below we give details of the proof of Theorem 7.
Proof. We exhibit simulators \(\mathsf{Sim}_{\mathcal{S}}\) and \(\mathsf{Sim}_{\mathcal{R}}\) for simulating corrupt \(\mathcal{S}\) and \(\mathcal{R}\) respectively, and argue the indistinguishability of the produced transcript from the real execution.
Corrupt Sender: \(\mathsf{Sim}_\mathcal{S}(Q=\{\mathbf{q}_j\}_{j\in [m]})\) simulates the view of corrupt semi-honest sender. It executes as follows:
In step 1-2, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(Q^*,\tau,\{q^*_{\tau(j),k,v}\}_{j\in[m],k\in[d],v\in[l]}\).
In step 4, \(\mathsf{Sim}_\mathcal{S}\) selects random \(\mathsf{hint}, \mathbf{r}^{\mathcal{S}}_{\tau(j),\sigma,k,v},j\in [m],\sigma\in \{0,1\},k\in[d],v\in[l]\). Then, it invokes the OPPRF receiver’s simulator \(\mathsf{Sim}_\mathsf{OPPRF}^\mathcal{R}(\{\mathsf{cell}_\delta (Q^*[\tau(j)])||\sigma||k||q^*_{\tau(j),k,v}||\alpha_{\tau(j)}\}_{j\in [m],\sigma\in\{0,1\}, k\in [d],v\in[l]},\) \((\mathsf{hint}, \{\mathbf{r}_{\tau(j),\sigma,k,v}^\mathcal{S}\}_{j\in[m],\sigma\in\{0,1\},k\in[d],v\in[l]}))\) and appends the output to the view.
In step 5-6, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(\{\mathbf{b}^0_{u,\sigma,k,v},\mathbf{b}^1_{u,\sigma,k,v},b^2_{u,\sigma,k,v}\}_{u\in[m_c],\sigma\in \{0,1\},k\in[d],v\in[l]}\).
In step 8, \(\mathsf{Sim}_{\mathcal{S}}\) selects random \(\mathsf{Rand}^{\mathcal{S}}_u\leftarrow \mathbb{F},u\in[m_c]\). Then, it invokes the ECIPS receiver’s simulator \(\mathsf{Sim}_\mathsf{ECIPS}^\mathcal{R}(\{\mathbf{b}^0_{u,\sigma,k,v},\mathbf{b}^1_{u,\sigma,k,v},b^2_{u,\sigma,k,v}\}_{\sigma\in \{0,1\},k\in[d],v\in[l]},\mathsf{Rand}^{\mathcal{S}}_{u})\) and appends the output to the view.
In step 9, \(\mathsf{Sim}_\mathcal{S}\) selects random \(\tilde{b}^{\mathcal{S}}_{u}\leftarrow \{0,1\}, u\in[m_c]\). Then, it invokes the ssIFmat simulator \(\mathsf{Sim}_\mathsf{ssIFmat}(\mathsf{Rand}^{\mathcal{S}}_u,\tilde{b}_{u}^{\mathcal{S}})\) and appends the output to the view.
In step 10, \(\mathsf{Sim}_\mathcal{S}\) selects a random permutation \(\pi\) over \([m_c]\), random bits \(\bar{b}_u^{\mathcal{S}}\leftarrow \{0,1\},u\in[m_c]\). Then, it invokes PS receiver’s simulator \(\mathsf{Sim}_\mathsf{PS}^\mathcal{R}(\pi,\{\bar{b}_u^{\mathcal{S}}\}_{u\in [m_c]})\) and appends the output to the view. \(\mathsf{Sim}_\mathcal{S}\) also computes \(b_u^\mathcal{S}=\bar{b}_u^\mathcal{S}\oplus \tilde{b}_{\pi(u)}^\mathcal{S},u\in[m_c]\).
In step 12, for \(u\in [m_c]\), \(\mathsf{Sim}_{\mathcal{S}}\) invokes OT sender’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}(\perp,Q^*[\pi(u)])\) if \(b_u^\mathcal{S}=0\) and \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}(Q^*[\pi(u)],\perp)\) if \(b_u^\mathcal{S}=1\). Then, it appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{S}}\) is indistinguishable from the real one. We formally prove this by a standard hybrid argument method. We define three hybrid transcripts \(T_0, T_1, T_2\) where \(T_0\) is real view of \(\mathcal{S}\), and \(T_2\) is the output of \(\mathsf{Sim}_{\mathcal{S}}\).
\(\text{Hybrid}_0\). The first hybrid is the real interaction described in Figure 23. Here, an honest \(\mathcal{R}\) uses input \(W\), honestly interacts with the corrupt \(\mathcal{S}\). Let \(T_0\) denote the real view of \(\mathcal{S}\).
\(\text{Hybrid}_1\). Let \(T_1\) be the same as \(T_0\), except that all OPPRF values \(\mathbf{r}_{\tau(j),\sigma,k,v}^\mathcal{S}\) are replaced by randomly selected values. Since the set \(Q\) satisfies the apart assumption, that is, \(\mathsf{cell}_\delta(Q^*[\tau(j)])\) are distinct, resulting in \(\mathbf{r}_{\tau(j),\sigma,k,v}^\mathcal{S}\) are also distinct. If \(\exists i\in[n],\sigma\in \{0,1\},v'\in[l']\), s.t. \(q_{\tau(j),k,v}^*=w_{i,\sigma,k,v'}^*\), we have \({r}_{\tau(j),\sigma,k,v,1}^\mathcal{S} = {r}_{\tau(j),k,1}^\mathcal{R}+|w_{i,k}-\mathsf{Bound}(\sigma,w^*_{i,\sigma,k,v})|^1,\dots,{r}_{\tau(j),\sigma,k,v,p+1}^\mathcal{S} = {r}_{\tau(j),k,p+1}^\mathcal{R}\), which are truly random. Otherwise, if \(\forall i\in[n],\sigma\in \{0,1\},v'\in[l'], q_{\tau(j),k,v}^*\neq w_{i,\sigma,k,v'}^*\), from the pseudorandomness of OPPRF, \(\mathbf{r}_{\tau(j),\sigma,k,v}^\mathcal{S}\) is a pseudorandom value. As a result, by the pseudorandomness of PRF in OPPRF, this hybrid is computationally indistinguishable from \(T_0\).
\(\text{Hybrid}_2\). Let \(T_2\) be the same as \(T_1\), except that the OPPRF, ECIPS, ssIFmat, PS and OT execution are replaced by simulator \(\mathsf{Sim}^\mathcal{R}_{\mathsf{OPPRF}},\mathsf{Sim}^\mathcal{S}_{\mathsf{ECIPS}},\mathsf{Sim}^\mathcal{R}_{\mathsf{PS}}, \mathsf{Sim}^\mathcal{S}_{\mathsf{ssIFmat}},\mathsf{Sim}^\mathcal{S}_{\mathsf{OT}}\). The security of OPPRF, ECIPS, ssIFmat, PS and OT functionality guarantee this view is computationally indistinguishable from \(T_1\). This hybrid is exactly the view output by the simulator.
Corrupt Receiver: \(\mathsf{Sim}_{\mathcal{R}}(W,I)\) simulates the view of corrupt semi-honest receiver. It executes as follows:
In step 3, the simulator \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(\{w^*_{i,\sigma,k,v}\}_{i\in[n],\sigma\in \{0,1\},k\in[d],v\in[l']},\) \(\{\mathcal{C}_{i,t}\}_{i\in[n],t\in[2^d]},\{r_{u,k,1}^\mathcal{R},\dots,r_{u,k,p+1}^\mathcal{R}\}_{u\in[m_c],k\in[d]}\).
In step 4, \(\mathsf{Sim}_\mathcal{R}\) defines \(\mathsf{List}\) as an honest receiver and picks random \(\mathsf{hint},sk_\mathcal{R}\). Then, it invokes the OPPRF sender’s simulator \(\mathsf{Sim}_\mathsf{OPPRF}^\mathcal{S}(\mathsf{List},(\mathsf{hint},sk_\mathcal{R}))\) and appends the output to the view.
In step 7, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(\{\mathbf{a}^0_{u,\sigma,k,v},a^2_{u,\sigma,k,v}\}_{u\in[m_c],\sigma\in \{0,1\},k\in[d],v\in[l]}\).
In step 8, \(\mathsf{Sim}_{\mathcal{R}}\) picks random \(\mathsf{Rand}^{\mathcal{R}}_u,u\in[m_c]\). Then, it invokes the ECIPS sender’s simulator \(\mathsf{Sim}_\mathsf{ECIPS}^\mathcal{S}(\{\mathbf{a}^0_{u,\sigma,k,v},a^2_{u,\sigma,k,v}\}_{\sigma\in \{0,1\},k\in[d],v\in[l]},\mathsf{Rand}^{\mathcal{R}}_{u})\) and appends the output to the view.
In step 9, \(\mathsf{Sim}_\mathcal{R}\) selects random \(\tilde{b}^{\mathcal{R}}_{u}\leftarrow \{0,1\}, u\in[m_c]\). Then, it invokes the ssIFmat simulator \(\mathsf{Sim}_\mathsf{ssIFmat}(\mathsf{Rand}^{\mathcal{R}}_u,\tilde{b}_{u}^{\mathcal{R}})\) and appends the output to the view.
In step 10, \(\mathsf{Sim}_\mathcal{R}\) selects random values \(\bar{b}_u^{\mathcal{R}}\leftarrow \{0,1\},u\in[m_c]\). Then, it invokes PS sender’s simulator \(\mathsf{Sim}_\mathsf{PS}^\mathcal{S}(\{\tilde{b}_u^\mathcal{R}\}_{u\in [m_c]},\{\bar{b}_u^{\mathcal{R}}\}_{u\in [m_c]})\) and appends the output to the view.
In step 12, \(\mathsf{Sim}_\mathcal{R}\) uses \(\perp\) to pad \(I\) to \(m_c\) elements and permutes these elements randomly. Let \(I=\{\mathbf{z}_1,\dots,\mathbf{z}_{m_c}\}\). Then, \(\mathsf{Sim}_\mathcal{R}\) invokes OT receiver’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(\bar{b}_u^\mathcal{R},\mathbf{z}_u)\) and appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{R}}\) is indistinguishable from the real one. In the simulation, the way \(\mathcal{R}\) obtains the elements in \(I\) is identical to the real execution since the elements in \(I\) are randomly permuted. By the underlying simulators’ indistinguishability, the simulated view is computationally indistinguishable from the real. ◻
FPSI variants. The protocol presented in Figure 23 can be similarly extended to support other FPSI variants with straightforward modifications. These adaptations follow exactly the same adjustments as described for the \(L_\infty\) protocol in Figure 19, and we omit them here.
Trade-off from the execution order of PS and IFmat. Similar to the \(L_\infty\) protocol in Figure 19, we can also achieve a trade-off between computation and communication by adjusting the order of (ss)IFmat and PS protocols.
In this section, we give our construction of the FPSI (and its variants) for \(L_{p\in[1,\infty)}\) distance from sOPRF. Its idea is similar to the protocol for \(L_\infty\) distance, which only requires ECIPS execution for non-empty bins. The formal description is given in Figure 24.

Figure 24: Fuzzy PSI Protocol \(\Pi_{\mathsf{FPSI}}\) for \(L_{p\in[1,\infty)}\) in Low Dimension Space from sOPRF. a — image
FPSI variants. The protocol presented in Figure 24 can be similarly extended to support other FPSI variants with straightforward modifications. These adaptations follow exactly the same adjustments as described for the \(L_\infty\) protocol in Figure 21, and we omit them here.
We argue the correctness of FPSI for \(L_{p\in[1,\infty)}\) in Figure 24.
Correctness. For \(j\in[m]\), if \(\exists \mathbf{w}_i\in W\), s.t. \(\mathsf{dist}(Q^*[\tau(j)],\mathbf{w}_i)\leq \delta\), then the correctness of spatial hashing ensures \(\exists t\in[2^d]\), s.t. \(\mathsf{cell}_\delta(Q^*[\tau(j)]) = \mathcal{C}_{i,t}\), thus \(\forall k\in[d], \mathsf{cell}_\delta(Q^*[\tau(j)])||\sigma||k||\alpha_{\tau(j)} = \mathcal{C}_{i,t}||\sigma||k||\alpha_{\pi(u)}\) and \(|Q^*[\tau(j)]_k-w_{i,k}|\leq \delta\). By the property of prefix, \(\exists !v\in[l],v'\in [l'],\sigma\in\{0,1\}\), s.t. \(q_{\pi(u),k,v}^*=w_{i,\sigma,k,v'}^*\). By the correctness of sOPRF and OKVS, we have \(\forall \gamma\in[p], r^{\mathcal{S}}_{j,\sigma,k,v,\gamma}=f^{1}_{j,\sigma,k,v,\gamma}+|w_{i,k} -\mathsf{Bound}(\sigma,w_{i,\sigma,k,v'})|^\gamma\) and \(r^{\mathcal{S}}_{j,\sigma,k,v,p+1}=f^{1}_{j,\sigma,k,v,p+1}\). Then, the correctness of ECIPS guarantees \[\begin{align} \mathsf{Rand}^{\mathcal{S}}_{j}+\mathsf{Rand}^{\mathcal{R}}_{j} &= \sum_{k\in[d]}\langle \mathbf{a}^0_{j,\sigma,k,v}+ \mathbf{b}^0_{j,\sigma,k,v}, \mathbf{b}^1_{j,\sigma,k,v} \rangle \\ &= \sum_{k\in[d]}\sum_{\gamma\in[0,p]} \binom{p}{\gamma}|w_{i,k} - \mathsf{Bound}(\sigma,w_{i,\sigma,k,v'}^*)|^\gamma \cdot |Q^*[\tau(j)]_k-\mathsf{Bound}(\sigma,q_{\tau(j),k,v}^*)|^{p-\gamma}\\ &=\sum_{k\in[d]} |w_{i,k}-Q^*[\tau(j)]_k|^p\\ &=\mathsf{dist}(\mathbf{w}_{i},Q^*[\tau(j)])^p \end{align}\] By the correctness of IFmat, \(b_j=1\) iff \(\mathsf{Rand}^{\mathcal{S}}_{j}\in [-\mathsf{Rand}^{\mathcal{R}}_{j} ,-\mathsf{Rand}^{\mathcal{R}}_{j}+\delta^p]\), which means \(\mathsf{dist}(\mathbf{w}_{i},Q^*[\tau(j)])^p\in [0,\delta^p]\). Finally, the correctness of OT ensures the receiver learns \({Q}^*[\tau(j)]\). If \(\forall i\in [n], \mathsf{dist}({Q}^*[\tau(j)],\mathbf{w}_i)> \delta\), we have \(\exists k\in[d]\), s.t. \(\forall v\in[l], q_{\tau(j),k,v}^*\notin \{w_{i,k,v'}\}_{v'\in [l']}\). Therefore, the randomness of OKVS guarantees \(\mathbf{r}^\mathcal{S}_{j,\sigma,k,v}\) is random, resulting in \(\mathbf{b}_{j,\sigma,k,v}^0\) is also pseudorandom (except the first component). The correctness of ECIPS guarantees \(\mathsf{Rand}^{\mathcal{S}}_{j}+\mathsf{Rand}^{\mathcal{R}}_{j}\) is also random. By setting \(\mathsf{len}= \log |\mathbb{F}|= \lambda +\log mn +\log l+p\log \delta\), a union bound shows the probability of \(\exists i\in [n], j\in[m], v\in [l], \mathsf{Rand}^{\mathcal{S}}_{j}+\mathsf{Rand}^{\mathcal{R}}_{j}\in [0,\delta^p]\) is negligible \(2^{-\lambda}\). As a result, \(\mathcal{R}\) receives \(b_j=0\) in IFmat and learns \(\perp\) in the final OT.
We prove the security of the protocol described in Figure 24.
Theorem 8. The protocol in Figure 24 securely computes \(\mathcal{F}_{\mathsf{FPSI}}\) for \(L_{p\in[1,\infty)}\) against semi-honest adversaries in the (\(\mathcal{F}_{\mathsf{sOPRF}}\), \(\mathcal{F}_{\mathsf{ECIPS}}\), \(\mathcal{F}_{\mathsf{IFmat}}\), \(\mathcal{F}_\mathsf{OT}\))-hybrid model.
Below we give details of the proof of Theorem 8.
Proof. We exhibit simulators \(\mathsf{Sim}_{\mathcal{S}}\) and \(\mathsf{Sim}_{\mathcal{R}}\) for simulating corrupt \(\mathcal{S}\) and \(\mathcal{R}\) respectively, and argue the indistinguishability of the produced transcript from the real execution.
Corrupt Sender: \(\mathsf{Sim}_\mathcal{S}(Q=\{\mathbf{q}_j\}_{j\in [m]})\) simulates the view of corrupt semi-honest sender. It executes as follows:
In step 1-2, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(Q^*,\tau,\{q^*_{\tau(j),k,v}\}_{j\in[m],k\in[d],v\in[l]}\).
In step 4, \(\mathsf{Sim}_\mathcal{S}\) selects random \(\mathbf{f}^0_{j,\sigma,k,v},j\in [m],\sigma\in \{0,1\},k\in[d],v\in[l]\). Then, it invokes the sOPRF’s simulator \(\mathsf{Sim}_\mathsf{sOPRF}^\mathcal{R}(\{\mathsf{cell}_\delta (Q^*[\tau(j)])||\sigma||k||q^*_{\tau(j),k,v}||\alpha_{\tau(j)}\}_{j\in [m],k\in [d],v\in[l]}, \{\mathbf{f}_{j,\sigma,k,v}^0\}_{j\in[m],k\in[d],v\in[l]})\) and appends the output to the view.
In step 6, \(\mathsf{Sim}_\mathcal{S}\) selects \(3nd2^dl'\) random key-value pairs \(\mathsf{List}\) and computes \(E_\mathcal{R}=\mathsf{Encode}(\mathsf{List})\). Then, it appends \(E_\mathcal{R}\) to the view.
In step 7, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(\mathbf{r}_{j,\sigma,k,v}^\mathcal{S}\in \mathbb{F}^{p+1},j\in[m],\sigma\in \{0,1\},k\in[d],v\in[l]\).
In step 8, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(\{\mathbf{b}^0_{j,\sigma,k,v},\mathbf{b}^1_{j,\sigma,k,v},b^2_{j,\sigma,k,v}\}_{j\in[m],\sigma\in \{0,1\},k\in[d],v\in[l]}\).
In step 10, \(\mathsf{Sim}_{\mathcal{S}}\) selects random \(\mathsf{Rand}^{\mathcal{S}}_j\leftarrow \mathbb{F},j\in[m]\). Then, it invokes the ECIPS receiver’s simulator \(\mathsf{Sim}_\mathsf{ECIPS}^\mathcal{R}(\{\mathbf{b}^0_{j,\sigma,k,v},\mathbf{b}^1_{j,\sigma,k,v},b^2_{j,\sigma,k,v}\}_{\sigma\in \{0,1\},k\in[d],v\in[l]},\mathsf{Rand}^{\mathcal{S}}_{j})\) and appends the output to the view.
In step 11, \(\mathsf{Sim}_\mathcal{S}\) invokes the IFmat sender’s simulator \(\mathsf{Sim}_\mathsf{IFmat}^\mathcal{S}(\mathsf{Rand}^{\mathcal{S}}_j,\perp)\) and appends the output to the view.
In step 12, for \(j\in [m]\), \(\mathsf{Sim}_{\mathcal{S}}\) invokes OT sender’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{S}(\perp,Q^*[\tau(j)])\). Then, it appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{S}}\) is indistinguishable from the real one. We formally prove this by a standard hybrid argument method. We define four hybrid transcripts \(T_0, T_1, T_2,T_3\) where \(T_0\) is real view of \(\mathcal{S}\), and \(T_3\) is the output of \(\mathsf{Sim}_{\mathcal{S}}\).
\(\text{Hybrid}_0\). The first hybrid is the real interaction described in Figure 24. Here, an honest \(\mathcal{R}\) uses input \(W\), honestly interacts with the corrupt \(\mathcal{S}\). Let \(T_0\) denote the real view of \(\mathcal{S}\).
\(\text{Hybrid}_1\). Let \(T_1\) be the same as \(T_0\), except that all PRF values are replaced by randomly selected values, i.e., \(\mathbf{f}^0_{j,\sigma,k,v}+\mathbf{f}^1_{j,\sigma,k,v}\) and \(f_{sk_\mathcal{R}}(\mathcal{C}_{i,t}||\sigma||k||w_{i,\sigma,k,v}^*||\alpha)\) are replaced by truly random values. By the pseudorandomness of PRF in sOPRF, this hybrid is computationally indistinguishable from \(T_0\).
\(\text{Hybrid}_2\). Let \(T_2\) be the same as \(T_1\), except that the OKVS \(E_\mathcal{R}\) is generated from randomly selected key-value pairs. Since \(f_{sk_\mathcal{R}}(\mathcal{C}_{i,t}||\sigma||k||w_{i,\sigma,k,v}^*||\alpha)\) has been replaced by truly random values, the obliviousness of OKVS scheme guarantees this view is statistically indistinguishable from \(T_2\).
\(\text{Hybrid}_3\). Let \(T_3\) be the same as \(T_2\), except that the sOPRF, ECIPS, IFmat and OT execution are replaced by simulator \(\mathsf{Sim}^\mathcal{R}_{\mathsf{sOPRF}},\mathsf{Sim}^\mathcal{S}_{\mathsf{ECIPS}},\mathsf{Sim}^\mathcal{S}_{\mathsf{IFmat}},\mathsf{Sim}^\mathcal{S}_{\mathsf{OT}}\). The security of sOPRF, ECIPS, IFmat and OT functionality guarantee this view is computationally indistinguishable from \(T_2\). This hybrid is exactly the view output by the simulator.
Corrupt Receiver: \(\mathsf{Sim}_{\mathcal{R}}(W,I)\) simulates the view of corrupt semi-honest receiver. It executes as follows:
In step 3, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(\{w^*_{i,\sigma,k,v}\}_{i\in[n],\sigma\in \{0,1\},k\in[d],v\in[l']},\{\mathcal{C}_{i,t}\}_{i\in[n],t\in[2^d]}\).
In step 4, \(\mathsf{Sim}_\mathcal{R}\) selects random \(sk_{\mathcal{R}}\) and \(\mathbf{f}_{j,\sigma,k,v}^1,j\in[m],\sigma\in \{0,1\},k\in[d],v\in[l]\). Then, it invokes the sOPRF sender’s simulator \(\mathsf{Sim}_\mathsf{sOPRF}^\mathcal{S}(sk_\mathcal{R}, \{\mathbf{f}_{j,\sigma,k,v}^1\}_{j\in[m],\sigma\in \{0,1\},k\in[d],v\in[l]})\) and appends the output to the view.
In step 5-6, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(E_\mathcal{R}\).
In step 9, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(\{\mathbf{a}^0_{j,\sigma,k,v},a^2_{j,\sigma,k,v}\}_{j\in[m],\sigma\in \{0,1\},k\in[d],v\in[l]}\).
In step 10, \(\mathsf{Sim}_{\mathcal{R}}\) picks random \(\mathsf{Rand}^{\mathcal{R}}_j,j\in[m]\). Then, it invokes the ECIPS sender’s simulator \(\mathsf{Sim}_\mathsf{ECIPS}^\mathcal{S}(\{\mathbf{a}^0_{j,\sigma,k,v},a^2_{j,\sigma,k,v}\}_{\sigma\in \{0,1\},k\in[d],v\in[l]},\mathsf{Rand}^{\mathcal{R}}_{j})\) and appends the output to the view.
In step 11-12, \(\mathsf{Sim}_\mathcal{R}\) uses \(\perp\) to pad \(I\) to \(m\) elements and permutes these elements randomly. Let \(I=\{\mathbf{z}_1,\dots,\mathbf{z}_{m}\}\). For \(j\in [m]\), \(\mathsf{Sim}_\mathcal{R}\) sets \(b_j = 1\) if and only if \(\mathbf{z}_j\notin W\), otherwise, \(b_j=0\). Then, \(\mathsf{Sim}_\mathcal{R}\) invokes the IFmat receiver’s simulator \(\mathsf{Sim}_\mathsf{IFmat}^\mathcal{R}(\mathsf{Rand}^{\mathcal{R}}_j,b_j)\) and appends the output to the view. \(\mathsf{Sim}_\mathcal{R}\) also invokes OT receiver’s simulator \(\mathsf{Sim}_\mathsf{OT}^\mathcal{R}(b_j,\mathbf{z}_j)\) and appends the output to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{R}}\) is indistinguishable from the real one. In the real execution, the sender selects a random injection \(\tau\) to shuffle its set elements. In the simulation, the way \(\mathcal{R}\) obtains the elements in \(I\) is identical to the real execution since the elements in \(I\) are randomly permuted. By the underlying simulators’ indistinguishability, the simulated view is computationally indistinguishable from the real. ◻
For high-dimensional space, we use distributed ID generation (dIDG) [22], [26], [30] to avoid \(O(2^d)\) costs. Similar to our FPSI protocols in low dimension, we present two FPSI constructions for \(L_\infty\) and \(L_p\) distances, leveraging OPPRF [34] and sOPRF [26], respectively.
In this section, we present the construction of our dIDG protocol, which achieves only \(O(d\log\delta(m+n))\) complexity. The formal description of our construction is given in Figure 25.
Correctness. If \(\exists \mathbf{q}_j\in Q, \mathbf{w}_i\in W\), s.t. \(\mathsf{dist}(\mathbf{q}_j,\mathbf{w}_i)\leq \delta\), we have \(\forall k\in[d], q_{j,k} \in [w_{i,k}-\delta,w_{i,k}+\delta]\). By the property of prefix, we have \(\forall k\in[d], \exists ! v\in [l],v'\in[l'], q_{j,k,v}^* = w_{i,k,v'}^*\) Then, from the definition of \(B\), we have \(B[k||q_{j,k,v}^*]=B[k||w_{i,k,v'}^*] = B[k||w_{i,k,1}^*],k\in[d]\). By the correctness of sOPRF and OKVS, we have \(r_{\mathcal{S},j,k,v,0} = B[k||w_{i,k,v'}^*]+f_{\mathcal{S},j,k,v,0}^1\) and \(r_{\mathcal{S},j,k,v,1} =f_{\mathcal{S},j,k,v,1}^1\). By the correctness of ECSS, we have \(\sigma_{\mathcal{S},j}'+\sigma_{\mathcal{S},j}^1= \sum_{k\in[d]} (r_{\mathcal{S},j,k,v,0} -f_{\mathcal{S},j,k,v,0}^1 )=\sum_{k\in[d]} B[k||w_{i,k,v'}^*]=\mathsf{pid}^{\mathcal{R}}_i\). By the correctness of final two sOPRF, we have \(id_{\mathbf{q}_j} = F_{sk_{\mathcal{R}}'}(F_{sk_{\mathcal{S}}'}( \mathsf{pid}^{\mathcal{R}}_i+\mathsf{pid}^{\mathcal{S}}_j ))\). Symmetrically, we also have \(id_{\mathbf{w}_i} = F_{sk_{\mathcal{R}}'}(F_{sk_{\mathcal{S}}'}( \mathsf{pid}^{\mathcal{R}}_i+ \mathsf{pid}^{\mathcal{S}}_j)) = id_{\mathbf{q}_j}\).
Distinctiveness. For any \(i \in [n]\), the \(d\)-separate set assumption guarantees the existence of a \(k_i \in [d]\) such that the interval \([w_{i,k_i} - \delta, w_{i,k_i} + \delta]\) does not overlap with any other interval \([w_{i',k_i} - \delta, w_{i',k_i} + \delta]\) for \(i' \neq i\). By the property of prefix, we have \(\forall i,i'\in[n], \{w_{i,k_i,v}^*\}_{v\in [l']}\cap \{w_{i',k_{i'},v}^*\}_{v\in [l']}=\emptyset\). Consequently, a unique and uniform random value \(\mathsf{Rand}^{\mathcal{R}}_{i,k_i}\) is added to \(\mathsf{pid}^{\mathcal{R}}_{i}\), ensuring that \(\mathsf{pid}^{\mathcal{R}}_{i}\) is independent of \(\mathsf{pid}^{\mathcal{R}}_{i'}\) for all \(i' \neq i\). By setting \(|\mathbb{F}| \geq \lambda + \log n\), the union bound demonstrates that the probability of \(\exists i' \neq i\) such that \(\mathsf{pid}^{\mathcal{R}}_{i'} = \mathsf{pid}^{\mathcal{R}}_i\) is negligible \(2^{-\lambda}\). Since \(\mathsf{ID}_{\mathbf{w}_i} = F_{sk_{\mathcal{R}}'}(F_{sk_{\mathcal{S}}'}( \mathsf{pid}^{\mathcal{R}}_i+\Delta_i ))\), where \(\Delta_i\) is the remaining addend, it follows that the probability of \(\exists i' \neq i\) such that \(\mathsf{ID}_{\mathbf{w}_{i'}} = \mathsf{ID}_{\mathbf{w}_i}\) is also negligible \(2^{-\lambda}\).
Randomness. The randomness can be easily obtained by combining the distinctiveness and the pseudorandomness of PRFs.
Theorem 9. The protocol in Figure 25 securely computes \(\mathcal{F}_{\mathsf{dIDG}}\) against semi-honest adversaries in the \((\mathcal{F}_{\mathsf{sOPRF}},\mathcal{F}_{\mathsf{ECSS}})\)-hybrid model.
Below we give details of the proof of Theorem 9.
Proof. Since the protocol is symmetric, we only exhibit the simulator \(\mathsf{Sim}_{\mathcal{S}}\) for simulating corrupt \(\mathcal{S}\) and argue the indistinguishability of the produced transcript from the real execution.
Corrupt Sender: \(\mathsf{Sim}_\mathcal{S}(Q,\{\mathsf{ID}_{q_j}\}_{j\in [m]})\) simulates the view of corrupt semi-honest sender. It executes as follows:
In step 1, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender, and learns \(\{q_{j,k,v}^*\}_{j\in[m],k\in[d],v\in[l]}\).
In step 3, \(\mathsf{Sim}_\mathcal{S}\) generates a PRF key \(sk_{\mathcal{S}}\) and selects random \(\{\mathbf{f}_{\mathcal{R},i,k,v}^0\}_{i\in[n],k\in[d],v\in[l']}\). Then, it invokes sOPRF sender’s simulator \(\mathsf{Sim}_\mathsf{sOPRF}^\mathcal{S}((sk_{\mathcal{S}},0),\{\mathbf{f}_{\mathcal{R},i,k,v}^0\}_{i\in[n],k\in[d],v\in[l']})\) and appends the output to the view.
In step 4-6, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender, and learns \(A, A', \mathsf{Rand}^{\mathcal{S}}_{j,k},\mathsf{pid}^{\mathcal{S}}_{j}, j\in[m],k\in[d]\).
In step 7, \(\mathsf{Sim}_\mathcal{S}\) selects random \(\mathbf{f}_{\mathcal{S},j,k,v}^0\leftarrow \mathbb{F}^2,j\in [m],k\in[d],v\in[l]\). Then, it invokes the sOPRF receiver’s simulator \(\mathsf{Sim}_\mathsf{sOPRF}^\mathcal{R}(\{k||q_{j,k,v}^*\}_{j\in[m],k\in[d],v\in[l]},\{\mathbf{f}_{\mathcal{S},j,k,v}^0\}_{j\in[m],k\in[d],v\in[l]})\) and appends the output to the view.
In step 9, \(\mathsf{Sim}_\mathcal{S}\) picks \(dnl'\) random key-value pairs and computes the corresponding OKVS \(E_\mathcal{R}\). Then it appends \(E_{\mathcal{R}}\) to the view.
In step 10, \(\mathsf{Sim}_\mathcal{S}\) honestly computes \(\mathbf{r}_{\mathcal{S},j,k,v}^0={r}_{\mathcal{S},j,k,v,0}^0||{r}_{\mathcal{S},j,k,v,1}^0,j\in[m],k\in[d],v\in[l]\).
In step 11, \(\mathsf{Sim}_{\mathcal{S}}\) selects random \(\sigma_{\mathcal{R},i}^0\leftarrow \mathbb{F},i\in[n]\). Then, it invokes the ECSS receiver’s simulator \(\mathsf{Sim}_\mathsf{ECSS}^\mathcal{R}(\{\bar{\mathbf{f}}_{\mathcal{R},i,k,v}=(-{f}^0_{\mathcal{R},i,k,v,0},{f}^0_{\mathcal{R},i,k,v,1})\}_{k\in[d],v\in[l']},\sigma_{\mathcal{R},i}^0)\) and appends the output to the view.
In step 12, \(\mathsf{Sim}_{\mathcal{S}}\) selects random \(\sigma_{\mathcal{S},j}'\leftarrow \mathbb{F},i\in[n]\). Then, it invokes the ECSS sender’s simulator \(\mathsf{Sim}_\mathsf{ECSS}^\mathcal{S}(\{\mathbf{r}_{\mathcal{S},j,k,v}\}_{k\in[d],v\in[l]},\sigma_{\mathcal{S},j}')\) and appends the output to the view.
In step 13, \(\mathsf{Sim}_\mathcal{S}\) honestly computes \(\sigma_{\mathcal{S},j}^0:=\sigma_{\mathcal{S},j}'+\mathsf{pid}^{\mathcal{S}}_j, j\in[m]\).
In step 14, \(\mathsf{Sim}_\mathcal{S}\) generates a PRF key \(sk_{\mathcal{S}}'\) and selects random \(\{\rho_{\mathcal{S},j}^0\}_{j\in[m]}\cup \{\rho_{\mathcal{R},i}^0\}_{i\in[n]}\). Then, it invokes sOPRF sender’s simulator \(\mathsf{Sim}_\mathsf{sOPRF}^\mathcal{S}(sk_{\mathcal{S}}',\{\sigma_{\mathcal{S},j}^0\}_{j\in[m]}\cup \{\sigma_{\mathcal{R},i}^0\}_{i\in[n]},\{\rho_{\mathcal{S},j}^0\}_{j\in[m]}\cup \{\rho_{\mathcal{R},i}^0\}_{i\in[n]})\) and appends the output to the view.
In step 15, \(\mathsf{Sim}_\mathcal{S}\) selects random \(\{\theta_{\mathcal{S},j}^0\}_{j\in[m]}\cup \{\theta_{\mathcal{R},i}^0\}_{i\in[n]}\). Then, it invokes sOPRF receiver’s simulator \(\mathsf{Sim}_\mathsf{sOPRF}^\mathcal{S}(\{\rho_{\mathcal{S},j}^0\}_{j\in[m]}\cup \{\rho_{\mathcal{R},i}^0\}_{i\in[n]},\{\theta_{\mathcal{S},j}^0\}_{j\in[m]}\cup \{\theta_{\mathcal{R},i}^0\}_{i\in[n]})\) and appends the output to the view.
In step 16, \(\mathsf{Sim}_\mathcal{S}\) sets \(\theta_{\mathcal{S},j}^1:=\mathsf{ID}_{\mathbf{q}_j} - \theta_{\mathcal{S},j}^0\) and append \(\{\theta_{\mathcal{S},j}^1\}\) to the view.
Now we argue that the view output by \(\mathsf{Sim}_{\mathcal{S}}\) is indistinguishable from the real one. We formally prove this by a standard hybrid argument method. We define five hybrid transcripts \(T_0, T_1, T_2,T_3,T_4\) where \(T_0\) is real view of \(\mathcal{S}\), and \(T_4\) is the output of \(\mathsf{Sim}_{\mathcal{S}}\).
\(\text{Hybrid}_0\). The first hybrid is the real interaction described in Figure 25. Here, an honest \(\mathcal{R}\) uses input \(W\), honestly interacts with the corrupt \(\mathcal{S}\). Let \(T_0\) denote the real view of \(\mathcal{S}\).
\(\text{Hybrid}_1\). Let \(T_1\) be the same as \(T_0\), except that all PRF values \(F_{sk_{\mathcal{R}}}(\cdot)\) are replaced by randomly selected values. This hybrid is computationally indistinguishable from \(T_0\) by the pseudorandomness of the PRF.
\(\text{Hybrid}_2\). Let \(T_2\) be the same as \(T_1\), except that the OKVS \(E_{\mathcal{R}}\) is computed from \(dnl'\) random key-value pairs. Note that in the previous hybrid, the key-value pairs used to compute OKVS are \(\{(k||w_{i,k,v}^*,\mathsf{Rand}^{\mathcal{R}}_{i,k}||0+\mathbf{f}_{i,k,v})\}_{i\in[n],k\in[d],t\in[-\delta,\delta]}\), where \(\mathbf{f}_{i,k,v}\) is truly random value. Note that \(\mathcal{S}\) knows nothing about any \(\mathbf{f}_{i,k,v}\) because it only learns secret shares of some of these values (i.e., those \(\mathbf{f}_{i,k,v}\) satisfying \(\exists i\in[n],k\in[d],v\in[l],v'\in[l']\), s.t. \(q_{j,k,v}^*=w_{i,k,v'}^*\)). By the obliviousness property of OKVS, \(T_1\) and \(T_2\) are statistically indistinguishable.
\(\text{Hybrid}_3\). Let \(T_3\) be the same as \(T_2\), except that all PRF values \(F_{sk_{\mathcal{R}}'}(\cdot)\) are replaced by randomly selected values. This hybrid is computationally indistinguishable from \(T_2\) by the pseudorandomness of the PRF.
\(\text{Hybrid}_4\). Let \(T_4\) be the same as \(T_3\), except that the generation of \(\theta_{\mathcal{S},j}^1\) is now the same as the simulation. In other words, instead of computing \(id_{\mathbf{q}_j}\) as in step 17, where \(\theta_{\mathcal{S},j}^1\) are uniform random, we instead compute \(id_{\mathbf{q}_j}\) randomly and then program \(\theta_{\mathcal{S},j}^1\) to contain the correct value. This change has no effect on sender’s view distribution. \(T_2\) and \(T_3\) are identical.
\(\text{Hybrid}_5\). Let \(T_5\) be the same as \(T_4\), except that all ECSS and sOPRF executions are replaced by ECSS and sOPRF’s simulator. Since the outputs of ECSS and sOPRF are both random secret shares, the security of ECSS and sOPRF functionality guarantee this view is indistinguishable from \(T_4\). This hybrid is exactly the view output by the simulator.
◻
In this section, we present our FPSI protocol (and its variants) for \(L_\infty\) distance. The construction largely mirrors that of Section 5, with the key modification being the replacement of the spatial hashing with the dIDG protocol (Figure 25). Consequently, we detail only the OPPRF-based construction here, as other trade-offs and optimizations apply similarly and are thus omitted. The formal protocol is described in Figure 26.
In this section, we give our construction of the FPSI (and its variants) for \(L_{p\in[1,\infty)}\) distance from OPPRF. Similar to protocols for \(L_\infty\) distance, we only give the OPPRF-based construction here, as other trade-offs and optimizations apply similarly and are thus omitted. The formal description is given in Figure 27.

Figure 27: Fuzzy PSI Protocol \(\Pi_{\mathsf{FPSI}}\) for \(L_{p\in[1,\infty)}\) in High Dimension Space from OPPRF. a — image
We conduct an experimental evaluation of our FPSI protocols and compare them against state-of-the-art FPSI schemes [22], [27], [30]. The work [28] is excluded from the comparison as their protocol was not implemented. Additionally, we do not include [29] due to concerns regarding potential issues in their implementation. Our examination of the code provided in [29]7 reveals anomalous performance trends with respect to the parameter \(\delta\). Specifically, when \(\delta\) is increased from \(10\) to \(10,000\), the communication cost remains unchanged, and the running time for large \(\delta\) values is nearly identical to—or in some cases even shorter than—that for small \(\delta\) values.8 This contradicts the theoretical analysis, which indicates that the protocol’s cost should scale linearly with \(\delta\), suggesting possible inaccuracies in their implementation.
We have implemented all our proposed FPSI protocols. Due to space limitations, we only compare FPSI protocols for \(L_\infty\) distances in this section. We have included a comparison of FPSI protocols for \(L_1\) and \(L_2\) distances in Appendix 9.2. For clarity, we adopt the following naming scheme: each protocol is denoted as \(\Pi_{\mathsf{ID}}^{\mathsf{assumption}}\), where the superscript indicates the underlying assumption and the subscript abbreviates the main cryptographic components. Under the apart assumption, the five concrete protocols are:
\(\Pi_{\mathsf{OE}\text{-}\mathsf{1}}^{\mathsf{apart}}\): The FPSI construction in Figure 19, it is based on OPPRF and ECS;
\(\Pi_{\mathsf{OE}\text{-}\mathsf{2}}^{\mathsf{apart}}\): Same as Figure 19 but use the trade-off we discussed in Section 5.1.1, that is, it use PS + PEQT instead of ssPEQT + PS;
\(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\): The FPSI construction in Figure 20, it is based on OPPRF and AND;
\(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\): The FPSI construction in Figure 21, it is based on sOPRF and ECSS;
\(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\): The FPSI construction in Figure 22, it is based on sOPRF and AND.
The protocols under the separate assumption follow the same naming pattern, only with the superscript changed to \(\mathsf{sep}\).
| Threshold \(\delta\) | ||||||||||||
| 16 | 32 | 64 | 128 | 256 | ||||||||
| Set Size \(m=n\) | Dimension \(d\) | Protocol | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time |
| [27] | 2.882 | 1.282 | 3.349 | 1.285 | 3.521 | 1.347 | 4.115 | 1.391 | 4.286 | 1.506 | ||
| [30]-Low | 7.930 | 0.618 | 9.346 | 0.815 | 10.72 | 0.896 | 11.90 | 1.012 | 13.46 | 1.183 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 2.237 | 0.439 | 2.391 | 0.439 | 2.589 | 0.442 | 2.814 | 0.464 | 2.985 | 0.499 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 2.673 | 0.437 | 2.832 | 0.412 | 3.024 | 0.423 | 3.224 | 0.448 | 3.415 | 0.452 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 1.894 | 0.368 | 2.035 | 0.375 | 2.224 | 0.386 | 2.395 | 0.395 | 2.558 | 0.412 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 2.195 | 0.225 | 2.391 | 0.234 | 2.593 | 0.268 | 2.853 | 0.307 | 3.057 | 0.328 | ||
| 2 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 1.421 | 0.185 | 1.603 | 0.203 | 1.804 | 0.238 | 1.994 | 0.239 | 2.191 | 0.252 | |
| [27] | 5.573 | 1.368 | 9.274 | 1.594 | 9.550 | 1.783 | 15.50 | 1.993 | 15.75 | 2.316 | ||
| [30]-Low | 40.94 | 1.438 | 54.39 | 1.542 | 38.39 | 1.486 | 48.45 | 1.682 | 61.85 | 2.005 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 3.784 | 0.501 | 4.200 | 0.508 | 4.897 | 0.655 | 5.406 | 0.638 | 5.902 | 0.708 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 4.176 | 0.486 | 4.666 | 0.504 | 5.333 | 0.613 | 5.875 | 0.665 | 6.348 | 0.674 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 3.359 | 0.433 | 3.786 | 0.449 | 4.48 | 0.557 | 4.862 | 0.591 | 5.374 | 0.607 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 3.334 | 0.291 | 3.727 | 0.353 | 4.310 | 0.355 | 4.812 | 0.398 | 5.190 | 0.455 | ||
| 3 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 2.497 | 0.257 | 2.876 | 0.291 | 3.441 | 0.308 | 3.813 | 0.349 | 4.227 | 0.389 | |
| [27] | 19.02 | 3.736 | 52.07 | 5.047 | 52.34 | 7.893 | 121.7 | 10.53 | 122.1 | 16.48 | ||
| [30]-Low | 108.2 | 3.359 | 144.0 | 3.725 | 100.3 | 3.074 | 127.2 | 3.648 | 162.9 | 4.634 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 7.530 | 0.707 | 8.720 | 0.737 | 9.830 | 0.803 | 11.42 | 0.899 | 12.51 | 0.981 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 7.949 | 0.708 | 9.11 | 0.756 | 10.26 | 0.829 | 11.86 | 0.902 | 13.02 | 0.985 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 6.976 | 0.642 | 8.104 | 0.687 | 9.330 | 0.743 | 10.82 | 0.844 | 11.88 | 0.916 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 5.631 | 0.432 | 6.443 | 0.488 | 7.227 | 0.571 | 8.175 | 0.633 | 8.982 | 0.715 | ||
| \(2^8\) | 4 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 4.704 | 0.387 | 5.557 | 0.463 | 6.329 | 0.527 | 7.110 | 0.584 | 7.917 | 0.648 |
| [27] | 27.67 | 2.252 | 35.55 | 2.667 | 38.17 | 3.122 | 47.55 | 4.354 | 50.18 | 6.172 | ||
| [30]-Low | 126.3 | 12.35 | 149.0 | 14.55 | 171.5 | 16.86 | 189.1 | 19.32 | 207.9 | 21.97 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 19.50 | 1.702 | 22.69 | 1.918 | 25.86 | 2.072 | 29.62 | 2.318 | 32.89 | 2.527 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 19.97 | 1.637 | 23.19 | 1.837 | 26.33 | 2.059 | 30.05 | 2.304 | 33.33 | 2.489 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 17.12 | 1.567 | 20.20 | 1.786 | 23.14 | 1.965 | 26.13 | 2.169 | 29.17 | 2.383 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 21.49 | 1.633 | 24.89 | 1.881 | 28.29 | 2.183 | 32.23 | 2.481 | 35.68 | 2.852 | ||
| 2 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 18.67 | 1.572 | 21.91 | 1.808 | 25.10 | 2.108 | 28.27 | 2.377 | 31.60 | 2.654 | |
| [27] | 71.11 | 5.155 | 130.6 | 7.451 | 134.5 | 9.959 | 229.9 | 13.76 | 233.9 | 18.52 | ||
| [30]-Low | 655.3 | 21.22 | 869.9 | 26.22 | 614.0 | 25.95 | 775.2 | 29.69 | 989.7 | 34.29 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 44.79 | 3.147 | 52.57 | 3.651 | 60.35 | 4.178 | 69.33 | 4.888 | 77.42 | 5.441 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 45.33 | 3.138 | 53.09 | 3.623 | 60.86 | 4.149 | 69.84 | 4.817 | 77.75 | 5.368 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 41.51 | 3.043 | 49.06 | 3.562 | 56.50 | 4.083 | 64.29 | 4.649 | 75.13 | 5.196 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 39.70 | 3.316 | 46.25 | 3.919 | 52.89 | 4.578 | 60.58 | 5.201 | 67.34 | 5.985 | ||
| 3 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 35.99 | 3.181 | 42.29 | 3.846 | 48.71 | 4.474 | 55.15 | 5.093 | 61.56 | 5.767 | |
| [27] | 284.2 | 33.59 | 814.3 | 61.69 | 819.6 | 106.5 | 1932 | 147.4 | 1937 | 230.8 | ||
| [30]-Low | 1732 | 47.62 | 2304 | 61.83 | 1602 | 52.04 | 2033 | 62.05 | 2604 | 75.78 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 102.2 | 6.814 | 121.5 | 8.081 | 140.1 | 9.411 | 160.6 | 10.79 | 179.9 | 12.35 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 103.0 | 6.767 | 121.7 | 7.973 | 140.7 | 9.374 | 161.3 | 10.73 | 180.4 | 12.19 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 97.95 | 6.643 | 116.7 | 7.971 | 135.1 | 9.279 | 154.3 | 10.68 | 172.8 | 12.01 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 74.07 | 7.063 | 87.29 | 8.518 | 100.3 | 9.945 | 114.7 | 11.51 | 127.8 | 13.01 | ||
| \(2^{12}\) | 4 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 69.30 | 6.936 | 82.28 | 8.409 | 94.78 | 9.842 | 107.9 | 11.62 | 120.5 | 12.83 |
| [27] | 416.0 | 18.86 | 542.1 | 24.34 | 584.1 | 33.64 | 734.2 | 56.36 | - | - | ||
| [30]-Low | 1946 | 197.5 | 2262 | 238.7 | 2614 | 272.3 | 2953 | 312.9 | 3295 | 349.9 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 297.7 | 24.28 | 348.3 | 27.75 | 398.8 | 32.39 | 460.0 | 37.23 | 510.8 | 41.79 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 298.3 | 23.18 | 348.9 | 26.84 | 399.4 | 31.54 | 460.8 | 36.35 | 511.6 | 40.09 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 262.0 | 22.79 | 310.1 | 26.49 | 357.8 | 31.06 | 406.4 | 35.45 | 454.3 | 41.55 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 334.4 | 29.32 | 388.8 | 34.18 | 443.1 | 39.78 | 508.3 | 46.29 | 562.7 | 51.22 | ||
| 2 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 299.2 | 29.15 | 351.0 | 33.61 | 403.0 | 39.06 | 455.0 | 45.42 | 506.8 | 51.22 | |
| [27] | 1111 | 78.08 | 2062 | 113.9 | 2125 | 162.5 | - | - | - | - | ||
| [30]-Low | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 704.0 | 57.36 | 828.5 | 69.94 | 953.4 | 79.64 | 1098 | 91.64 | 1226 | 103.1 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 704.7 | 56.49 | 828.8 | 69.28 | 953.5 | 78.97 | 1098 | 90.69 | 1226 | 102.6 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 652.9 | 55.88 | 773.1 | 68.55 | 894.2 | 78.12 | 1019 | 89.72 | 1144 | 101.8 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 629.1 | 65.24 | 734.6 | 80.08 | 840.8 | 90.52 | 965.1 | 104.2 | 1073 | 119.2 | ||
| 3 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 578.1 | 64.73 | 680.3 | 79.69 | 782.6 | 90.69 | 887.1 | 104.3 | 991.1 | 116.7 | |
| [27] | 4517 | 520.7 | - | - | - | - | - | - | - | - | ||
| [30]-Low | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 1628 | 140.8 | 1930 | 169.8 | 2237 | 200.5 | 2563 | 234.4 | 2867 | 267.4 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 1629 | 138.9 | 1931 | 167.9 | 2235 | 199.3 | 2563 | 233.5 | 2870 | 265.5 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 1560 | 139.5 | 1858 | 167.5 | 2158 | 200.1 | 2460 | 231.1 | 2760 | 265.9 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 1182 | 151.4 | 1391 | 183.0 | 1602 | 213.3 | 1835 | 250.9 | 2045 | 282.9 | ||
| \(2^{16}\) | 4 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 1116 | 150.6 | 1320 | 181.7 | 1526 | 213.7 | 1732 | 248.6 | 1938 | 284.2 |
| Threshold \(\delta\) | ||||||||||||
| 16 | 32 | 64 | 128 | 256 | ||||||||
| Set Size \(m=n\) | Dimension \(d\) | Protocol | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time |
| [22] | 34.67 | 5.615 | 68.09 | 10.29 | 134.9 | 19.39 | 268.6 | 38.43 | 535.9 | 75.63 | ||
| [30]-High | 65.14 | 7.138 | 70.16 | 7.274 | 75.26 | 7.885 | 79.40 | 7.992 | 121.0 | 13.65 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 11.71 | 1.519 | 13.52 | 1.728 | 15.09 | 1.806 | 16.83 | 1.948 | 18.39 | 2.134 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 12.13 | 1.497 | 13.98 | 1.673 | 15.55 | 1.787 | 17.29 | 1.979 | 18.85 | 2.147 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 11.10 | 1.481 | 12.89 | 1.606 | 14.43 | 1.726 | 15.94 | 1.896 | 17.45 | 2.028 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 12.46 | 1.254 | 14.53 | 1.374 | 16.46 | 1.574 | 18.46 | 1.756 | 20.29 | 1.872 | ||
| 6 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 11.41 | 1.233 | 13.44 | 1.344 | 15.35 | 1.519 | 17.16 | 1.671 | 18.94 | 1.807 | |
| [22] | 46.16 | 7.593 | 90.71 | 13.75 | 179.8 | 26.52 | 358.0 | 51.05 | 714.4 | 105.2 | ||
| [30]-High | 86.86 | 9.531 | 93.55 | 9.612 | 100.3 | 10.18 | 105.9 | 10.59 | 161.3 | 18.32 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 15.07 | 1.831 | 17.11 | 2.042 | 19.15 | 2.224 | 21.76 | 2.387 | 23.96 | 2.657 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 15.51 | 1.807 | 17.51 | 2.027 | 19.62 | 2.212 | 22.18 | 2.437 | 24.40 | 2.679 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 14.32 | 1.786 | 16.32 | 1.993 | 18.33 | 2.183 | 20.68 | 2.359 | 22.86 | 2.603 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 16.41 | 1.589 | 18.80 | 1.748 | 21.22 | 1.997 | 23.99 | 2.219 | 26.61 | 2.548 | ||
| 8 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 15.22 | 1.514 | 17.58 | 1.749 | 19.96 | 1.973 | 22.56 | 2.198 | 25.10 | 2.507 | |
| [22] | 57.65 | 9.496 | 113.3 | 17.12 | 224.7 | 32.93 | 447.5 | 64.26 | 893.0 | 130.4 | ||
| [30]-High | 108.5 | 11.79 | 116.9 | 11.85 | 125.3 | 13.12 | 132.3 | 13.16 | 201.6 | 22.73 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 17.99 | 2.157 | 20.70 | 2.448 | 23.63 | 2.691 | 26.76 | 2.974 | 30.01 | 3.185 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 18.45 | 2.146 | 21.12 | 2.399 | 24.09 | 2.653 | 27.13 | 2.947 | 30.50 | 3.175 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 17.17 | 2.059 | 19.79 | 2.379 | 22.64 | 2.594 | 25.45 | 2.868 | 28.84 | 3.122 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 19.97 | 1.873 | 23.03 | 2.205 | 26.31 | 2.475 | 29.72 | 2.738 | 33.16 | 3.022 | ||
| \(2^8\) | 10 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 18.66 | 1.838 | 21.70 | 2.159 | 24.95 | 2.422 | 28.10 | 2.714 | 31.41 | 2.982 |
| [22] | 554.7 | 112.1 | 1089 | 208.1 | 2159 | 389.3 | 4297 | 754.1 | - | - | ||
| [30]-High | 1043 | 110.7 | 1123 | 111.8 | 1204 | 123.5 | 1271 | 125.9 | 1936 | 218.2 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 159.3 | 15.39 | 185.5 | 17.82 | 212.6 | 20.21 | 241.3 | 22.53 | 268.0 | 25.08 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 159.7 | 15.34 | 186.2 | 17.65 | 213.0 | 20.15 | 241.8 | 22.47 | 268.5 | 25.06 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 153.0 | 15.03 | 179.0 | 17.59 | 205.4 | 20.13 | 231.8 | 22.31 | 258.0 | 24.74 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 177.8 | 16.21 | 207.4 | 18.79 | 237.2 | 21.54 | 269.0 | 24.03 | 298.6 | 26.69 | ||
| 6 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 171.1 | 16.08 | 200.1 | 18.68 | 229.5 | 21.39 | 259.0 | 23.82 | 288.2 | 26.51 | |
| [22] | 738.5 | 153.5 | 1451 | 275.4 | 2877 | 522.1 | 5728 | 1014 | - | - | ||
| [30]-High | 1390 | 147.7 | 1497 | 152.4 | 1605 | 162.5 | 1694 | 165.1 | 2581 | 291.5 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 210.6 | 20.44 | 246.1 | 23.56 | 281.8 | 26.67 | 320.1 | 30.08 | 355.9 | 33.16 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 211.1 | 20.38 | 246.4 | 23.44 | 282.1 | 26.57 | 320.5 | 29.97 | 356.5 | 33.09 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 202.6 | 20.21 | 237.1 | 23.23 | 272.3 | 26.49 | 307.4 | 29.84 | 342.7 | 32.99 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 235.7 | 21.64 | 274.9 | 25.05 | 314.6 | 28.17 | 357.2 | 32.13 | 396.9 | 35.38 | ||
| 8 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 227.0 | 21.39 | 265.7 | 24.78 | 304.9 | 28.35 | 344.1 | 31.89 | 383.1 | 35.33 | |
| [22] | 922.4 | 191.2 | 1813 | 344.8 | 3595 | 649.1 | 7159 | 1265 | - | - | ||
| [30]-High | 1736 | 185.1 | 1870 | 188.9 | 2006 | 205.2 | 2117 | 207.9 | 3226 | 358.7 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 262.1 | 25.46 | 306.4 | 29.38 | 350.9 | 33.27 | 398.8 | 37.42 | 443.6 | 41.19 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 262.4 | 25.44 | 306.7 | 29.28 | 351.4 | 33.24 | 399.3 | 37.12 | 444.4 | 41.08 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 252.1 | 25.26 | 295.5 | 28.89 | 339.5 | 32.89 | 383.4 | 37.06 | 427.4 | 41.02 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 293.2 | 26.99 | 342.8 | 31.31 | 392.4 | 35.68 | 445.0 | 39.97 | 495.0 | 44.04 | ||
| \(2^{12}\) | 10 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 282.6 | 26.95 | 331.4 | 31.18 | 380.1 | 35.42 | 429.1 | 39.86 | 478.5 | 44.24 |
| [22] | - | - | - | - | - | - | - | - | - | - | ||
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 2540 | 245.9 | 2967 | 285.2 | 3397 | 319.9 | 3860 | 364.6 | 4292 | 400.6 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 2541 | 241.7 | 2968 | 284.2 | 3398 | 319.7 | 3860 | 364.5 | 4293 | 400.2 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 2442 | 240.5 | 2862 | 282.6 | 3283 | 318.4 | 3707 | 365.7 | 4131 | 402.3 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 2848 | 262.9 | 3324 | 307.3 | 3803 | 348.1 | 4316 | 397.2 | 4797 | 434.9 | ||
| 6 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 2750 | 261.8 | 3219 | 307.1 | 3689 | 345.6 | 4163 | 393.2 | 4638 | 433.4 | |
| [22] | - | - | - | - | - | - | - | - | - | - | ||
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 3367 | 324.6 | 3937 | 375.1 | 4511 | 426.8 | 5128 | 480.6 | 5704 | 539.9 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 3369 | 322.4 | 3938 | 374.8 | 4511 | 425.8 | 5128 | 479.5 | 5705 | 538.7 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 3239 | 321.5 | 3798 | 373.9 | 4361 | 424.8 | 4926 | 481.4 | 5492 | 542.7 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 3778 | 353.6 | 4414 | 406.8 | 5053 | 463.2 | 5737 | 521.3 | 6379 | 583.8 | ||
| 8 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 3649 | 352.7 | 4275 | 406.6 | 4904 | 462.5 | 5535 | 517.9 | 6167 | 581.2 | |
| [22] | - | - | - | - | - | - | - | - | - | - | ||
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 4196 | 404.4 | 4908 | 466.8 | 5624 | 539.8 | 6396 | 605.2 | 7118 | 673.1 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 4196 | 403.6 | 4908 | 465.5 | 5625 | 539.3 | 6396 | 600.3 | 7118 | 672.3 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 4036 | 403.2 | 4734 | 466.2 | 5439 | 539.6 | 6144 | 604.3 | 6853 | 673.6 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 4709 | 438.5 | 5502 | 511.7 | 6303 | 585.7 | 7157 | 648.8 | 7960 | 725.9 | ||
| \(2^{16}\) | 10 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 4549 | 436.7 | 5331 | 505.7 | 6117 | 582.8 | 6906 | 645.3 | 7696 | 726.7 |
We conduct our experiments on a server with an Intel(R) Xeon(R) Platinum 8575C CPU (8 physical cores) and 64 GB RAM. All experiments are executed with a single thread. We set the computational security parameter \(\kappa = 128\) and the statistical security parameter \(\lambda = 40\). We simulate the network connection using the Linux command \(\mathsf{tc}\). We benchmark the full protocol runtime in a low-latency LAN environment (10Gbps bandwidth with 0.02ms RTT latency). We also conduct experiments under a WAN setting (400 Mbps bandwidth, 80 ms RTT latency), which are provided in Appendix 9.1.
Our protocols are written in C++, and we use the following libraries in our implementation. Our complete implementation will be freely available on GitHub.
Shared OPRF. We use OPRF with shared-output in [37] to instantiate our sOPRF.
OPPRF, OKVS and ssPEQT. We use state-of-the-art OPPRF, OKVS and ssPEQT implementation in [15], [50].
Permute + Share. We use the implementation of [51], [52] to implement Permute + Share functionality.
Fuzzy matching for interval. We use the implementation of previous FPSI work [22], [53] to implement fuzzy matching for interval functionality [5].
OT. We use SoftSpokenOT [54] implemented in libOTe [55], and set field bits to 5 to balance computation and communication.
For computing hash functions and PRG calls, we employ the \(\mathsf{cryptoTools}\) library [56], while for network communication, we utilize \(\mathsf{Coproto}\) [57].
Specifically, our evaluation uses the following parameters: set size \(m=n \in\{2^{8}, 2^{12}, 2^{16}\}\), distance threshold \(\delta \in \{16,32,64,128,256\}\)9, and dimension \(d\) chosen as \(\{2,3,4 \}\) for the apart assumption and \(\{6,8,10 \}\) for the separate assumption. The results are shown in Table 1 and Table 2, respectively.
Comparison in Low Dimension. As shown in Table 1, we observed that, for \(d\in\{3,4\}\), [30]-Low’s data shows non-monotonic scaling with \(\delta\), with costs dropping unexpectedly at \(\delta=64\) (marked in red), suggesting potential implementation issues. Nevertheless, our protocols exhibit significant performance improvements in almost all parameters. For instance, with \(n=m=2^{12}\), \(d=4\), and \(\delta=256\), our \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) achieves up to \(18\times\) speedup and \(21.6\times\) lower communication overhead. While \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) performs best at smaller set sizes (\(n=2^8\)), \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) scales more favorably as the set size increases, owing to the higher efficiency of the OPRF protocol within OPPRF under large parameter settings.
Comparison in High Dimension. As shown in Table 2, our protocols maintain substantial advantages in high-dimensional settings. For example, with \(m=n=2^8\), \(d=4\), and \(\delta=256\), our \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) achieves up to \(43.7\times\) speedup and \(28.4\times\) lower communication overhead. Notably, both [22] and [30]-High encountered memory overflow at \(m=n=2^{16}\), whereas our protocols execute successfully under the same configuration.
In this section, we identify security flaws in the protocols of [30]. Their constructions contain two distinct flaws: one in the fuzzy matching protocol and another in the distributed ID generation protocol. Since all of their FPSI protocols adopt the same fuzzy matching idea, these security flaws affect every FPSI variant presented in their work, including both low- and high-dimensional cases for \(L_\infty\) and \(L_{p\in[1,\infty)}\) distances, thereby rendering them all insecure.
We analyze the security flaws in their fuzzy matching protocol for \(L_\infty\) distance as an example. The \(L_p\) distance variant suffers from the same vulnerabilities, which we omit here. We begin by reviewing their \(L_\infty\) fuzzy matching protocol, presented in Figure 28.
Security Flaw. The primary security flaw in their protocol occurs in step 5. Here, each value \(u_{k,v}\) is derived from the sender’s element as \(u_{k,v} = \mathsf{Decode}(E, q_{k,v}^*)\). To ensure security, each \(u_{k,v}\) must be masked with an independent random value, analogous to a one-time pad encryption. However, the protocol reuses a single random value \(a_k\) to mask all \(\{u_{k,v}\}_{v \in [l]}\) within the same dimension. This reuse is equivalent to key reuse in a one-time pad and therefore compromises the protocol’s security.
A Concrete Attack. We present a concrete attack. In step 6, the receiver obtains all ciphertexts \(\{u^*_{k,v}\}_{k\in[d],v\in[l']}\). Decrypting each yields \[m_{k,v} := \mathsf{Dec}_{sk}(u_{k,v}^*) = \mathsf{Dec}_{sk}\bigl(\mathsf{Decode}(E, H_{\gamma_1}(k||q_{k,v}^*))\bigr) + a_k .\] Since the same mask \(a_k\) is reused across all \(v\in[l']\), the receiver can eliminate \(a_k\) by computing differences between the \(m_{k,v}\), even without knowing \(a_k\). For instance, \[\Delta_1 := m_{k,2} - m_{k,1} = \mathsf{Dec}_{sk}\bigl(\mathsf{Decode}(E, H_{\gamma_1}(q_{k,2}^*))\bigr) - \mathsf{Dec}_{sk}\bigl(\mathsf{Decode}(E, H_{\gamma_1}(q_{k,1}^*))\bigr).\] Now \(\Delta_1\) depends only on the sender’s element \(\mathbf{q}\), not on \(a_k\). The receiver can then guess candidate values for \(q_{k,1}^*\) and \(q_{k,2}^*\), compute the corresponding right-hand side of the above equation, and check whether it matches \(\Delta_1\). A successful match reveals information about the sender’s private input \(\mathbf{q}\).
Proof Flaw. We then examine where their security proof breaks down. In their introduction, they assert that security holds because “only one value in \(\{u_{k,v} \boxplus a_k\}_{v \in [l]}\) encrypts \(a_k\) for each \(k\), while others encrypt random values.”
For instance, in the case where the receiver’s output is \(0\), their proof (Theorem 4) simulates each ciphertext \(u^*_{k,v}\) as a random ciphertext (see Step \(3'\) of the simulator in Security against a Corrupted Receiver). They argue that due to the randomness of the OKVS, \(u^*_{k,v}\) is indistinguishable from a random ciphertext (cf. hybrids \(\mathcal{H}_0\)–\(\mathcal{H}'_0\) in the same proof).
This reasoning misapplies the randomness property of OKVS. The formal randomness guarantee of an OKVS states that if a key is not in the encoded set, the decoded value appears random to any party that does not know the OKVS encoding \(E\) (see Section 2.9 for the formal definition). In their protocol, however, the receiver itself generates \(E\) and thus knows it completely. Consequently, from the receiver’s perspective, no randomness remains in the decoding result \(u^*_{k,v}\)—the receiver can directly check whether a query \(q\) satisfies \(u^* = \mathsf{Decode}(E, H(q))\).
The situation parallels that of a Pseudo-Random Function (PRF). A function family is a PRF if an adversary with oracle access cannot distinguish it from a truly random function, provided the adversary does not know the PRF key. If the key is revealed, the adversary trivially distinguishes the two. Here the OKVS encoding \(E\) plays the role of the key; once it is known to the receiver, the randomness condition no longer applies. Hence, their security proof is invalid on this point.
We analyze the security flaws in their distributed ID generation protocol. We first review their dIDG protocol, which is shown in Figure 30. Their construction requires invoking a Private Index Search (PIS) functionality, which we have formally defined in Figure 29.
Security Flaws. Their dIDG protocol suffers from two security flaws. The first, already discussed in Section 8.1, arises from the sender’s reuse of a single \(\mathsf{mask}_{j,k}\) to mask all \(\{u_{j,k,v}\}_{v\in[l']}\); we do not elaborate on it further here.
A second problem is that the IDs generated by their protocol fail to satisfy the randomness requirement defined for fuzzy mapping (see Section 2.14). In other words, the ID set \(\{id_{\mathbf{q}_j}\}_{j\in[m]}\) depends on the receiver’s set \(W\), thereby leaking additional information about receiver’s set. The lack of randomness stems from the fact that their ID definition incorporates only randomness contributed by the receiver, while the receiver’s OKVS encoding may assign identical random values to overlapping intervals (see step 3). This can lead to collisions of the form \(\exists j_1 \neq j_2\) such that \(id_{\mathbf{q}_{j_1}} = id_{\mathbf{q}_{j_2}}\), which reveals to the sender that some receiver’s element lies near either \(\mathbf{q}_{j_1}\) or \(\mathbf{q}_{j_2}\).
A Concrete Attack. We present a concrete example to illustrate the leakage in their protocol. Let \(m = n = 2\), \(d = 2\), \(\delta = 1\), and suppose the sender holds \(Q = \{\mathbf{q}_1 = (1,0), \mathbf{q}_2 = (1,3)\}\) while the receiver holds \(W = \{\mathbf{w}_1 = (1,1), \mathbf{w}_2 = (4,2)\}\). It is straightforward to verify that \(Q\) and \(W\) satisfy the separate assumption.
Following the receiver’s encoding procedure, in the first dimension the projection interval \([0,2]\) of \(\mathbf{w}_1\) is assigned a random value \(\mathsf{Rand}^{\mathcal{R}}_{1,1}\), and the interval \([3,5]\) of \(\mathbf{w}_2\) is assigned \(\mathsf{Rand}^{\mathcal{R}}_{2,1}\). In the second dimension, \(\mathbf{w}_1\)’s interval \([0,2]\) is assigned \(\mathsf{Rand}^{\mathcal{R}}_{1,2}\), and \(\mathbf{w}_2\)’s interval \([1,3]\) is assigned \(\mathsf{Rand}^{\mathcal{R}}_{2,2}\). However, because the intervals \([0,2]\) and \([1,3]\) overlap in the second dimension, the random value associated with \([1,3]\) is reassigned to \(\mathsf{Rand}^{\mathcal{R}}_{1,2}\), meaning the entire combined interval \([0,3]\) is encoded with \(\mathsf{Rand}^{\mathcal{R}}_{1,2}\).
Consequently, the receiver defines the ID of its first element as \(id_{\mathbf{w}_1} = \mathsf{Rand}^{\mathcal{R}}_{1,1} + \mathsf{Rand}^{\mathcal{R}}_{1,2}\) and the ID of its second element as \(id_{\mathbf{w}_2} = \mathsf{Rand}^{\mathcal{R}}_{2,1} + \mathsf{Rand}^{\mathcal{R}}_{1,2}\).
Now consider the sender. Its first element \(\mathbf{q}_1 = (1,0)\) decodes to \(\mathsf{Rand}^{\mathcal{R}}_{1,1}\) in the first dimension and \(\mathsf{Rand}^{\mathcal{R}}_{1,2}\) in the second dimension, yielding \(id_{\mathbf{q}_1} = \mathsf{Rand}^{\mathcal{R}}_{1,1} + \mathsf{Rand}^{\mathcal{R}}_{1,2}\). Its second element \(\mathbf{q}_2 = (1,3)\) also decodes to \(\mathsf{Rand}^{\mathcal{R}}_{1,1}\) and \(\mathsf{Rand}^{\mathcal{R}}_{1,2}\), giving \(id_{\mathbf{q}_2} = \mathsf{Rand}^{\mathcal{R}}_{1,1} + \mathsf{Rand}^{\mathcal{R}}_{1,2} = id_{\mathbf{q}_1}\). Observing that \(id_{\mathbf{q}_1} = id_{\mathbf{q}_2}\), the sender learns that there exists a receiver element within distance \(\delta\) of \(\mathbf{q}_1\) or \(\mathbf{q}_2\). In an FPSI protocol, the sender should obtain no information about the receiver’s set, so this constitutes an unintended information leakage.
Proof Flaw. We then examine where their security proof breaks down. The security proof for their dIDG protocol (Theorem 12) is not itself flawed (apart from the issue described in Section 8.1), because in that proof the simulator is given the actual inputs and outputs of the parties. For instance, when the sender is corrupted, the simulator receives \((Q, \mathsf{ID}_Q)\) and can completely simulate the sender’s view of the protocol.
The actual error lies in the proof of their full FPSI protocol, namely Theorem 14. In that proof, to invoke the dIDG simulator, the authors simulate the identifiers using randomly generated IDs (see step \(2'\) of the simulator under Security for corrupted Sender). This step implicitly assumes that the generated IDs are uniformly random. However, as we have shown, their ID construction does not satisfy this randomness property. Consequently, this assumption invalidates their proof.
This section presents an experimental comparison of our FPSI protocols for the \(L_\infty\) distance against related works under a WAN setting with 400 Mbps bandwidth and 80 ms RTT latency. We include the protocols from [27], [30] in the comparison. The implementation in [22] employs an in‑memory transport, specifically ‘coproto::LocalAsyncSocket::makePair()’, which operates independently of actual network conditions. Consequently, it is unaffected by the latency and bandwidth constraints of our WAN setup and therefore cannot be meaningfully evaluated under this configuration.
Following the methodology used for our LAN experiments, we conducted tests in both low‑dimensional (\(d \in \{2,3,4\}\)) and high‑dimensional (\(d \in \{6,8,10\}\)) cases. The results are presented in Table 3 and Table 4, respectively.
| Threshold \(\delta\) | ||||||||||||
| 16 | 32 | 64 | 128 | 256 | ||||||||
| Set Size \(m=n\) | Dimension \(d\) | Protocol | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time |
| [27] | 2.882 | 4.269 | 3.349 | 4.935 | 3.521 | 5.586 | 4.115 | 5.727 | 4.286 | 5.858 | ||
| [30]-Low | 7.930 | 1.849 | 9.346 | 1.975 | 10.72 | 2.088 | 11.90 | 2.222 | 13.46 | 2.382 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 2.237 | 3.292 | 2.391 | 3.358 | 2.589 | 3.389 | 2.814 | 3.392 | 2.985 | 3.623 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 2.673 | 3.329 | 2.832 | 3.391 | 3.024 | 3.398 | 3.224 | 3.448 | 3.415 | 3.666 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 1.894 | 2.321 | 2.035 | 2.339 | 2.224 | 2.391 | 2.395 | 2.461 | 2.558 | 2.549 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 2.195 | 2.922 | 2.391 | 2.941 | 2.593 | 2.962 | 2.853 | 2.968 | 3.057 | 2.969 | ||
| 2 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 1.421 | 1.748 | 1.603 | 1.768 | 1.804 | 1.812 | 1.994 | 1.833 | 2.191 | 1.849 | |
| [27] | 5.573 | 5.741 | 9.274 | 6.044 | 9.550 | 6.252 | 15.50 | 6.608 | 15.75 | 7.005 | ||
| [30]-Low | 40.94 | 3.082 | 54.39 | 3.602 | 38.39 | 3.427 | 48.45 | 3.613 | 61.85 | 4.156 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 3.784 | 3.398 | 4.200 | 3.526 | 4.897 | 3.562 | 5.406 | 3.625 | 5.902 | 3.682 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 4.176 | 3.468 | 4.666 | 3.642 | 5.333 | 3.668 | 5.875 | 3.692 | 6.348 | 3.711 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 3.359 | 2.459 | 3.786 | 2.706 | 4.48 | 2.792 | 4.862 | 2.859 | 5.374 | 2.878 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 3.334 | 2.935 | 3.727 | 2.961 | 4.310 | 2.971 | 4.812 | 2.978 | 5.190 | 3.019 | ||
| 3 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 2.497 | 1.953 | 2.876 | 1.987 | 3.441 | 2.075 | 3.813 | 2.101 | 4.227 | 2.181 | |
| [27] | 19.02 | 8.806 | 52.07 | 11.53 | 52.34 | 15.13 | 121.7 | 18.46 | 122.1 | 23.93 | ||
| [30]-Low | 108.2 | 6.178 | 144.0 | 7.791 | 100.3 | 5.974 | 127.2 | 7.745 | 162.9 | 9.024 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 7.530 | 3.674 | 8.720 | 3.719 | 9.830 | 3.986 | 11.42 | 4.019 | 12.51 | 4.126 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 7.949 | 3.742 | 9.11 | 3.799 | 10.26 | 3.972 | 11.86 | 4.091 | 13.02 | 4.154 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 6.976 | 2.919 | 8.104 | 2.986 | 9.330 | 3.075 | 10.82 | 3.281 | 11.88 | 3.361 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 5.631 | 3.051 | 6.443 | 3.075 | 7.227 | 3.099 | 8.175 | 3.317 | 8.982 | 3.381 | ||
| \(2^8\) | 4 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 4.704 | 2.166 | 5.557 | 2.212 | 6.329 | 2.252 | 7.110 | 2.441 | 7.917 | 2.492 |
| [27] | 27.67 | 6.022 | 35.55 | 6.617 | 38.17 | 7.263 | 47.55 | 8.416 | 50.18 | 10.29 | ||
| [30]-Low | 126.3 | 16.17 | 149.0 | 19.02 | 171.5 | 22.25 | 189.1 | 25.92 | 207.9 | 29.17 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 19.50 | 5.347 | 22.69 | 5.491 | 25.86 | 5.878 | 29.62 | 6.206 | 32.89 | 6.219 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 19.97 | 5.161 | 23.19 | 5.365 | 26.33 | 5.746 | 30.05 | 6.067 | 33.33 | 6.271 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 17.12 | 3.918 | 20.20 | 4.318 | 23.14 | 4.558 | 26.13 | 4.844 | 29.17 | 5.139 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 21.49 | 4.699 | 24.89 | 4.936 | 28.29 | 5.218 | 32.23 | 5.641 | 35.68 | 5.916 | ||
| 2 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 18.67 | 3.604 | 21.91 | 3.879 | 25.10 | 4.185 | 28.27 | 4.601 | 31.60 | 4.891 | |
| [27] | 71.11 | 10.03 | 130.6 | 14.09 | 134.5 | 15.58 | 229.9 | 21.21 | 233.9 | 28.28 | ||
| [30]-Low | 655.3 | 36.44 | 869.9 | 45.82 | 614.0 | 39.51 | 775.2 | 46.39 | 989.7 | 56.91 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 44.79 | 7.185 | 52.57 | 8.051 | 60.35 | 8.954 | 69.33 | 9.771 | 77.42 | 10.66 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 45.33 | 7.161 | 53.09 | 7.919 | 60.86 | 8.762 | 69.84 | 9.678 | 77.75 | 10.41 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 41.51 | 6.251 | 49.06 | 7.054 | 56.50 | 7.838 | 64.29 | 8.602 | 75.13 | 9.307 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 39.70 | 6.581 | 46.25 | 7.353 | 52.89 | 8.137 | 60.58 | 9.039 | 67.34 | 9.855 | ||
| 3 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 35.99 | 5.663 | 42.29 | 6.438 | 48.71 | 7.149 | 55.15 | 7.871 | 61.56 | 8.626 | |
| [27] | 284.2 | 46.15 | 814.3 | 84.53 | 819.6 | 129.1 | 1932 | 188.7 | 1937 | 300.3 | ||
| [30]-Low | 1732 | 86.11 | 2304 | 111.8 | 1602 | 86.87 | 2033 | 107.1 | 2604 | 132.9 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 102.2 | 12.89 | 121.5 | 14.73 | 140.1 | 16.72 | 160.6 | 18.69 | 179.9 | 20.56 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 103.0 | 12.83 | 121.7 | 14.82 | 140.7 | 16.64 | 161.3 | 18.59 | 180.4 | 20.73 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 97.95 | 11.75 | 116.7 | 13.64 | 135.1 | 15.63 | 154.3 | 17.58 | 172.8 | 19.53 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 74.07 | 11.41 | 87.29 | 13.31 | 100.3 | 15.02 | 114.7 | 16.95 | 127.8 | 19.41 | ||
| \(2^{12}\) | 4 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 69.30 | 10.73 | 82.28 | 12.15 | 94.78 | 14.02 | 107.9 | 15.72 | 120.5 | 17.49 |
| [27] | 416.0 | 30.76 | 542.1 | 38.52 | 584.1 | 50.15 | 734.2 | 68.63 | - | - | ||
| [30]-Low | 1946 | 250.6 | 2262 | 298.7 | 2614 | 348.5 | 2953 | 387.8 | 3295 | 438.6 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 297.7 | 35.62 | 348.3 | 40.54 | 398.8 | 47.29 | 460.0 | 53.87 | 510.8 | 59.69 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 298.3 | 34.51 | 348.9 | 39.81 | 399.4 | 46.06 | 460.8 | 53.13 | 511.6 | 58.98 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 262.0 | 32.35 | 310.1 | 37.59 | 357.8 | 43.09 | 406.4 | 49.72 | 454.3 | 55.53 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 334.4 | 37.37 | 388.8 | 43.22 | 443.1 | 49.84 | 508.3 | 56.92 | 562.7 | 63.52 | ||
| 2 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 299.2 | 34.77 | 351.0 | 40.35 | 403.0 | 46.95 | 455.0 | 53.62 | 506.8 | 59.63 | |
| [27] | 1111 | 93.36 | 2062 | 143.7 | 2125 | 181.5 | - | - | - | - | ||
| [30]-Low | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 704.0 | 81.89 | 828.5 | 98.51 | 953.4 | 111.7 | 1098 | 128.3 | 1226 | 144.6 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 704.7 | 80.66 | 828.8 | 97.38 | 953.5 | 110.9 | 1098 | 127.3 | 1226 | 143.8 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 652.9 | 77.29 | 773.1 | 94.43 | 894.2 | 107.4 | 1019 | 123.5 | 1144 | 139.3 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 629.1 | 79.97 | 734.6 | 96.75 | 840.8 | 110.4 | 965.1 | 126.7 | 1073 | 142.6 | ||
| 3 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 578.1 | 76.98 | 680.3 | 93.53 | 782.6 | 106.2 | 887.1 | 121.6 | 991.1 | 137.1 | |
| [27] | 4517 | 701.5 | - | - | - | - | - | - | - | - | ||
| [30]-Low | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 1628 | 194.6 | 1930 | 233.2 | 2237 | 274.7 | 2563 | 317.2 | 2867 | 361.2 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 1629 | 193.6 | 1931 | 232.3 | 2235 | 273.4 | 2563 | 316.5 | 2870 | 361.2 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{apart}}\) | 1560 | 190.2 | 1858 | 228.9 | 2158 | 269.6 | 2460 | 311.7 | 2760 | 354.5 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 1182 | 181.2 | 1391 | 217.6 | 1602 | 255.3 | 1835 | 295.7 | 2045 | 337.1 | ||
| \(2^{16}\) | 4 | \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) | 1116 | 177.1 | 1320 | 213.4 | 1526 | 250.2 | 1732 | 290.8 | 1938 | 329.3 |
| Threshold \(\delta\) | ||||||||||||
| 16 | 32 | 64 | 128 | 256 | ||||||||
| Set Size \(m=n\) | Dimension \(d\) | Protocol | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time |
| [30]-High | 65.14 | 11.71 | 70.16 | 11.81 | 75.26 | 12.52 | 79.40 | 14.08 | 121.0 | 21.32 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 11.71 | 4.909 | 13.52 | 5.117 | 15.09 | 5.321 | 16.83 | 5.601 | 18.39 | 5.666 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 12.13 | 5.026 | 13.98 | 5.236 | 15.55 | 5.552 | 17.29 | 5.627 | 18.85 | 5.718 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 11.10 | 3.984 | 12.89 | 4.231 | 14.43 | 4.512 | 15.94 | 4.576 | 17.45 | 4.642 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 12.46 | 4.643 | 14.53 | 4.761 | 16.46 | 4.919 | 18.46 | 5.145 | 20.29 | 5.302 | ||
| 6 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 11.41 | 3.558 | 13.44 | 3.699 | 15.35 | 3.898 | 17.16 | 4.118 | 18.94 | 4.369 | |
| [30]-High | 86.86 | 14.47 | 93.55 | 15.69 | 100.3 | 16.13 | 105.9 | 16.85 | 161.3 | 26.89 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 15.07 | 5.189 | 17.11 | 5.619 | 19.15 | 6.017 | 21.76 | 6.035 | 23.96 | 6.082 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 15.51 | 5.252 | 17.51 | 5.478 | 19.62 | 5.861 | 22.18 | 5.904 | 24.40 | 6.295 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 14.32 | 4.561 | 16.32 | 4.829 | 18.33 | 4.952 | 20.68 | 5.087 | 22.86 | 5.389 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 16.41 | 5.051 | 18.80 | 5.103 | 21.22 | 5.356 | 23.99 | 5.642 | 26.61 | 5.899 | ||
| 8 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 15.22 | 3.739 | 17.58 | 4.097 | 19.96 | 4.549 | 22.56 | 4.696 | 25.10 | 4.824 | |
| [30]-High | 108.5 | 18.83 | 116.9 | 19.74 | 125.3 | 20.07 | 132.3 | 20.83 | 201.6 | 30.32 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 17.99 | 5.284 | 20.70 | 5.871 | 23.63 | 6.243 | 26.76 | 6.536 | 30.01 | 6.725 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 18.45 | 5.609 | 21.12 | 6.253 | 24.09 | 6.253 | 27.13 | 6.478 | 30.50 | 6.759 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 17.17 | 4.587 | 19.79 | 5.087 | 22.64 | 5.654 | 25.45 | 5.915 | 28.84 | 5.942 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 19.97 | 5.185 | 23.03 | 5.606 | 26.31 | 5.828 | 29.72 | 6.172 | 33.16 | 6.438 | ||
| \(2^8\) | 10 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 18.66 | 4.035 | 21.70 | 4.578 | 24.95 | 4.873 | 28.10 | 5.351 | 31.41 | 5.464 |
| [30]-High | 1043 | 138.5 | 1123 | 140.7 | 1204 | 150.8 | 1271 | 156.2 | 1936 | 257.5 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 159.3 | 19.58 | 185.5 | 21.74 | 212.6 | 24.65 | 241.3 | 27.39 | 268.0 | 30.08 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 159.7 | 19.61 | 186.2 | 21.86 | 213.0 | 24.83 | 241.8 | 27.51 | 268.5 | 29.98 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 153.0 | 17.92 | 179.0 | 21.12 | 205.4 | 23.42 | 231.8 | 25.66 | 258.0 | 28.24 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 177.8 | 20.04 | 207.4 | 22.69 | 237.2 | 25.34 | 269.0 | 28.01 | 298.6 | 30.81 | ||
| 6 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 171.1 | 18.45 | 200.1 | 21.45 | 229.5 | 24.39 | 259.0 | 26.79 | 288.2 | 29.66 | |
| [30]-High | 1390 | 179.2 | 1497 | 186.7 | 1605 | 203.2 | 1694 | 205.2 | 2581 | 348.2 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 210.6 | 24.79 | 246.1 | 27.97 | 281.8 | 31.63 | 320.1 | 35.78 | 355.9 | 39.52 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 211.1 | 25.23 | 246.4 | 27.73 | 282.1 | 31.92 | 320.5 | 35.14 | 356.5 | 38.58 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 202.6 | 23.41 | 237.1 | 26.47 | 272.3 | 29.83 | 307.4 | 33.78 | 342.7 | 36.99 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 235.7 | 25.25 | 274.9 | 28.38 | 314.6 | 32.78 | 357.2 | 36.59 | 396.9 | 40.42 | ||
| 8 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 227.0 | 24.16 | 265.7 | 27.46 | 304.9 | 31.08 | 344.1 | 34.79 | 383.1 | 38.52 | |
| [30]-High | 1736 | 223.9 | 1870 | 228.9 | 2006 | 251.4 | 2117 | 254.2 | 3226 | 430.6 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 262.1 | 29.54 | 306.4 | 34.19 | 350.9 | 38.37 | 398.8 | 43.46 | 443.6 | 47.89 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 262.4 | 30.17 | 306.7 | 34.39 | 351.4 | 38.44 | 399.3 | 43.19 | 444.4 | 46.94 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 252.1 | 28.25 | 295.5 | 33.16 | 339.5 | 37.09 | 383.4 | 41.47 | 427.4 | 45.96 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 293.2 | 30.83 | 342.8 | 35.34 | 392.4 | 40.08 | 445.0 | 44.58 | 495.0 | 49.62 | ||
| \(2^{12}\) | 10 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 282.6 | 29.67 | 331.4 | 34.58 | 380.1 | 38.93 | 429.1 | 43.23 | 478.5 | 47.73 |
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 2540 | 263.3 | 2967 | 308.3 | 3397 | 347.6 | 3860 | 395.6 | 4292 | 433.9 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 2541 | 262.7 | 2968 | 307.2 | 3398 | 346.3 | 3860 | 394.2 | 4293 | 433.5 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 2442 | 257.1 | 2862 | 302.3 | 3283 | 341.7 | 3707 | 387.5 | 4131 | 425.3 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 2848 | 278.6 | 3324 | 325.4 | 3803 | 368.5 | 4316 | 418.6 | 4797 | 459.1 | ||
| 6 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 2750 | 272.8 | 3219 | 320.9 | 3689 | 363.3 | 4163 | 411.5 | 4638 | 451.3 | |
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 3367 | 348.9 | 3937 | 405.7 | 4511 | 460.7 | 5128 | 519.7 | 5704 | 582.4 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 3369 | 348.9 | 3938 | 404.8 | 4511 | 460.2 | 5128 | 518.2 | 5705 | 581.8 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 3239 | 342.2 | 3798 | 397.7 | 4361 | 452.8 | 4926 | 508.2 | 5492 | 572.1 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 3778 | 369.1 | 4414 | 429.8 | 5053 | 488.8 | 5737 | 551.7 | 6379 | 617.8 | ||
| 8 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 3649 | 364.2 | 4275 | 422.8 | 4904 | 480.9 | 5535 | 541.2 | 6167 | 608.7 | |
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 4196 | 436.4 | 4908 | 504.5 | 5624 | 581.7 | 6396 | 647.3 | 7118 | 728.4 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 4196 | 434.7 | 4908 | 502.8 | 5625 | 580.8 | 6396 | 647.4 | 7118 | 726.9 | ||
| \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) | 4036 | 427.1 | 4734 | 495.2 | 5439 | 573.6 | 6144 | 635.6 | 6853 | 714.7 | ||
| \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 4709 | 460.8 | 5502 | 535.7 | 6303 | 616.8 | 7157 | 684.9 | 7960 | 772.8 | ||
| \(2^{16}\) | 10 | \(\Pi_{\mathsf{SA}}^{\mathsf{sep}}\) | 4549 | 454.2 | 5331 | 525.4 | 6117 | 609.1 | 6906 | 676.4 | 7696 | 759.5 |
As shown in Table 3 and 4, our protocols maintain performance advantages in WAN settings similar to those observed in LAN scenarios. We find that [30]-Low still has data anomaly issues (marked in red) as in the LAN settings. Given that communication overhead contributes more significantly to the total runtime in WAN environments, the communication efficiency of our protocol translates into corresponding improvements in running time. For instance, in the low‑dimensional setting with \(n=2^{12}\), \(d=4\), and \(\delta=256\), our \(\Pi_{\mathsf{SA}}^{\mathsf{apart}}\) finishes in 17.49 seconds, compared to 300.3 seconds for [27] and 132.9 seconds for [30]-Low. This represents a speedup of approximately \(17.2\times\) and \(7.6\times\), respectively. In the high‑dimensional setting with \(n=2^{12}\), \(d=10\), and \(\delta=256\), our \(\Pi_{\mathsf{OA}}^{\mathsf{sep}}\) completes in 45.96 seconds, while [30]-High requires 430.6 seconds, yielding a speedup of about \(9.4\times\).
In this section, we compare our FPSI protocols for \(L_{p\in\{1,2\}}\) distance with existing works [22], [30]. We omitted [27] as its protocol exclusively supports \(L_\infty\) distance. Furthermore, we exclude [29] due to apparent issues in their reported results for \(L_{p}\) distance. Specifically, their data exhibits an anomalous trend where the runtime decreases as the parameter \(\delta\) increases. For example, in Table 2 (\(L_1\) distance, \(n = 2^{12}\), \(d = 10\)), the runtime declines from 147.94s (\(\delta = 10\)) to 126.94s (\(\delta = 30\)). This reduction lies beyond typical experimental variance and suggests potential inconsistencies in their implementation or measurement.
Similar to our \(L_{\infty}\) protocols, we will name our protocol:
\(\Pi_{\mathsf{OE}\text{-}\mathsf{1}}^{\mathsf{apart}}\): The FPSI construction in Figure 23, it is based on OPPRF and ECIPS;
\(\Pi_{\mathsf{OE}\text{-}\mathsf{2}}^{\mathsf{apart}}\): same as Figure 23 but use the trade-off we discussed in section 5.2.1, that is, it use PS + IFmat instead of ssIfmat + PS;
\(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\): The FPSI construction in Figure 24, it is based on sOPRF and ECIPS.
The protocols under the separate assumption follow the same naming pattern, only with the superscript changed to \(\mathsf{sep}\).
Same as our experiments for \(L_\infty\) distance, our evaluation uses the following parameters: set size \(m=n \in\{2^{8}, 2^{12}, 2^{16}\}\), threshold \(\delta \in \{16,32,64,128,256\}\), and dimension \(d\) chosen as \(\{2,3,4 \}\) for the apart assumption and \(\{6,8,10 \}\) for the separate assumption. We note that in our testing for \(L_2\) distance, we only considered the case of \(d=2\) when \(m=n=2^{16}\), as we found that all protocols had memory overflow when \(d\in \{3,4 \}\). We tested the performance of LAN (10Gbps bandwidth with 0.02ms RTT latency) and WAN (400 Mbps bandwidth, 80 ms RTT latency) network environments separately. For the same reason as \(L_\infty\) distance, we excluded [22] in our comparison under WAN setting.
For \(L_1\) distance, experimental results are presented in Tables 5, 6, 7, and 8 for the low-dimensional/LAN, high-dimensional/LAN, low-dimensional/WAN, and high-dimensional/WAN settings, respectively. Corresponding results for \(L_2\) distance are provided in Tables 9, 10, 11, and 12.
Similar to the case of \(L_\infty\) distance, we observe that for \(d > 2\), the communication cost of [30]-Low still decreases when \(\delta\) changes from \(32\) to \(64\). However, unlike in the \(L_\infty\) setting, its running time increases significantly. These anomalies are marked in red in Tables 5, 7, 9, and 11.
Even accounting for the above irregularities, our protocol consistently achieves the best and second‑best performance across all tested parameter sets and network settings. For example, in the case of \(L_1\) distance under LAN with \(m=n=2^8\), \(d=4\), and \(\delta=256\), our \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) completes in only \(2.823\) seconds with \(34.6\) MB of communication, whereas [30]-Low requires \(195.8\) seconds and \(398.6\) MB—corresponding to a \(69.4\times\) speed‑up and an \(11.5\times\) reduction in communication overhead.
Similarly, for the high‑dimensional setting (\(d=10\), \(\delta=256\), \(m=n=2^{8}\)), \(\Pi_{\mathsf{OE}\text{-}\mathsf{2}}^{\mathsf{sep}}\) finishes in \(4.237\) seconds, yielding speed‑ups of \(34\times\) over [22] and \(7.3\times\) over [30]-High, while reducing communication by factors of \(16.4\times\) and \(5.3\times\), respectively.
| Threshold \(\delta\) | ||||||||||||
| 16 | 32 | 64 | 128 | 256 | ||||||||
| Set Size \(m=n\) | Dimension \(d\) | Protocol | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time |
| [30]-Low | 15.51 | 3.853 | 19.55 | 5.767 | 23.87 | 7.823 | 28.50 | 10.95 | 33.42 | 13.86 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 7.638 | 0.981 | 8.602 | 0.986 | 9.197 | 1.034 | 9.883 | 1.068 | 11.24 | 1.158 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 7.698 | 0.917 | 8.656 | 0.929 | 9.181 | 0.965 | 9.959 | 1.016 | 11.25 | 1.094 | ||
| 2 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 7.329 | 0.695 | 8.435 | 0.719 | 9.269 | 0.804 | 10.19 | 0.887 | 11.55 | 0.988 | |
| [30]-Low | 57.46 | 4.731 | 84.30 | 5.776 | 81.50 | 26.21 | 94.96 | 24.61 | 115.1 | 25.47 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 13.51 | 1.119 | 15.54 | 1.244 | 17.31 | 1.338 | 19.62 | 1.487 | 22.33 | 1.674 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 13.51 | 1.088 | 15.39 | 1.174 | 17.26 | 1.271 | 19.65 | 1.407 | 22.54 | 1.578 | ||
| 3 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 12.15 | 0.967 | 13.83 | 1.058 | 15.55 | 1.203 | 17.47 | 1.305 | 19.86 | 1.498 | |
| [30]-Low | 154.1 | 16.21 | 225.6 | 17.09 | 309.1 | 167.7 | 344.9 | 194.1 | 398.6 | 195.8 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 25.83 | 1.716 | 30.68 | 2.012 | 35.65 | 2.256 | 40.04 | 2.534 | 46.27 | 2.916 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 26.11 | 1.673 | 30.46 | 1.934 | 35.52 | 2.215 | 40.08 | 2.475 | 46.09 | 2.824 | ||
| \(2^8\) | 4 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 20.08 | 1.538 | 23.47 | 1.821 | 26.67 | 2.128 | 30.21 | 2.464 | 34.60 | 2.823 |
| [30]-Low | 248.2 | 56.23 | 312.8 | 79.41 | 381.9 | 115.7 | 456.1 | 153.5 | 534.7 | 194.1 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 89.29 | 5.833 | 101.9 | 6.798 | 115.2 | 7.854 | 128.2 | 8.869 | 148.0 | 10.23 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 88.55 | 5.026 | 101.0 | 5.949 | 114.2 | 6.561 | 127.3 | 7.343 | 147.0 | 8.603 | ||
| 2 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 96.44 | 6.608 | 110.1 | 7.858 | 124.2 | 9.062 | 138.2 | 10.28 | 159.1 | 11.89 | |
| [30]-Low | 919.3 | 69.22 | 1349 | 83.46 | 1304 | 364.5 | 1519 | 365.5 | 1842 | 371.6 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 183.1 | 11.71 | 214.6 | 14.13 | 246.3 | 16.48 | 278.4 | 19.27 | 320.5 | 22.14 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 182.3 | 10.83 | 213.7 | 13.29 | 245.2 | 14.95 | 277.5 | 17.33 | 319.7 | 20.34 | ||
| 3 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 168.2 | 12.84 | 194.7 | 15.68 | 221.3 | 18.35 | 249.0 | 21.43 | 286.1 | 24.45 | |
| [30]-Low | 2465 | 224.7 | 3610 | 251.7 | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 383.5 | 26.83 | 456.5 | 32.81 | 532.4 | 39.39 | 610.9 | 46.14 | 699.6 | 52.91 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 381.7 | 25.87 | 455.2 | 31.88 | 530.4 | 38.31 | 607.9 | 45.29 | 697.7 | 53.19 | ||
| \(2^{12}\) | 4 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 292.9 | 27.65 | 343.8 | 34.24 | 397.0 | 40.88 | 449.7 | 47.89 | 515.8 | 55.65 |
| [30]-Low | 3971 | 957.4 | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 1404 | 96.58 | 1612 | 114.4 | 1824 | 134.1 | 2039 | 153.8 | 2357 | 177.2 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 1392 | 81.55 | 1597 | 97.77 | 1807 | 114.7 | 2020 | 131.9 | 2336 | 153.4 | ||
| 2 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 1536 | 116.7 | 1762 | 140.1 | 1991 | 163.5 | 2220 | 189.1 | 2552 | 216.1 | |
| [30]-Low | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 2919 | 219.9 | 3421 | 269.9 | 3931 | 327.7 | 4446 | 381.6 | 5128 | 451.7 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 2905 | 206.1 | 3407 | 256.3 | 3916 | 309.3 | 4427 | 360.9 | 5107 | 426.9 | ||
| 3 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 2695 | 253.9 | 3127 | 307.5 | 3563 | 372.2 | 3999 | 436.2 | 4599 | 506.7 | |
| [30]-Low | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | - | - | - | - | - | - | - | - | - | - | ||
| \(2^{16}\) | 4 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 4699 | 612.9 | - | - | - | - | - | - | - | - |
| Threshold \(\delta\) | ||||||||||||
| 16 | 32 | 64 | 128 | 256 | ||||||||
| Set Size \(m=n\) | Dimension \(d\) | Protocol | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time |
| [22] | 34.77 | 5.871 | 68.21 | 11.32 | 135.1 | 19.92 | 268.7 | 39.32 | 536.1 | 76.97 | ||
| [30]-High | 91.67 | 9.581 | 106.7 | 9.846 | 116.7 | 12.87 | 125.0 | 13.04 | 173.3 | 19.37 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 21.81 | 2.031 | 24.53 | 2.225 | 27.07 | 2.486 | 29.74 | 2.652 | 33.62 | 2.994 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 21.87 | 2.003 | 24.57 | 2.178 | 27.09 | 2.414 | 29.75 | 2.567 | 33.59 | 2.825 | ||
| 6 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 25.45 | 1.889 | 29.14 | 2.163 | 32.48 | 2.423 | 36.08 | 2.664 | 40.76 | 3.098 | |
| [22] | 46.26 | 14.06 | 90.84 | 23.64 | 180.0 | 27.18 | 358.2 | 52.4 | 714.6 | 106.5 | ||
| [30]-High | 122.2 | 12.84 | 142.2 | 13.17 | 155.5 | 17.21 | 166.6 | 17.26 | 231.0 | 25.09 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 28.19 | 2.376 | 31.84 | 2.711 | 35.03 | 2.962 | 38.52 | 3.226 | 43.91 | 3.565 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 28.29 | 2.379 | 31.86 | 2.664 | 35.06 | 2.945 | 38.64 | 3.188 | 43.88 | 3.498 | ||
| 8 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 33.44 | 2.408 | 38.13 | 2.783 | 42.58 | 3.093 | 47.28 | 3.401 | 53.81 | 3.859 | |
| [22] | 57.75 | 19.81 | 113.5 | 33.91 | 224.9 | 37.28 | 447.6 | 68.99 | 893.2 | 144.2 | ||
| [30]-High | 152.7 | 15.89 | 177.7 | 16.05 | 194.3 | 21.16 | 208.2 | 21.73 | 288.6 | 30.98 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 34.69 | 2.825 | 39.06 | 3.147 | 43.23 | 3.595 | 47.61 | 3.906 | 54.41 | 4.363 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 34.75 | 2.832 | 39.15 | 3.115 | 43.18 | 3.514 | 47.59 | 3.805 | 54.41 | 4.237 | ||
| \(2^8\) | 10 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 41.28 | 2.899 | 47.04 | 3.308 | 52.80 | 3.794 | 58.67 | 4.183 | 66.82 | 4.733 |
| [22] | 556.3 | 98.2 | 1091 | 247.1 | 2161 | 434.9 | 4300 | 683.9 | - | - | ||
| [30]-High | 1466 | 146.9 | 1706 | 149.5 | 1866 | 193.4 | 2000 | 197.2 | 2773 | 293.3 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 304.5 | 21.72 | 345.1 | 25.12 | 386.6 | 28.46 | 427.8 | 31.62 | 488.8 | 35.33 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 303.8 | 20.66 | 344.3 | 23.72 | 385.5 | 26.39 | 426.8 | 29.76 | 487.4 | 33.36 | ||
| 6 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 367.0 | 25.25 | 420.1 | 29.42 | 473.5 | 33.68 | 526.9 | 37.60 | 599.9 | 42.19 | |
| [22] | 740.1 | 141.9 | 1453 | 499.3 | 2879 | 548.1 | 5731 | 866.4 | - | - | ||
| [30]-High | 1955 | 197.2 | 2275 | 198.1 | 2488 | 259.9 | 2666 | 268.7 | 3695 | 387.8 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 402.7 | 28.26 | 457.1 | 32.53 | 511.7 | 36.98 | 566.9 | 41.69 | 647.6 | 46.82 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 402.2 | 27.06 | 456.2 | 31.29 | 510.4 | 35.24 | 565.5 | 39.52 | 646.2 | 44.34 | ||
| 8 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 486.5 | 33.12 | 557.3 | 38.78 | 628.1 | 43.88 | 699.0 | 49.47 | 796.2 | 55.81 | |
| [22] | 923.9 | 484.5 | 1815 | 558.3 | 3598 | 657.8 | 7162 | 1087 | - | - | ||
| [30]-High | 2443 | 242.1 | 2843 | 250.9 | 3109 | 324.3 | 3332 | 327.3 | 4618 | 485.8 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 501.2 | 35.16 | 569.0 | 40.41 | 637.2 | 46.09 | 706.0 | 50.98 | 806.6 | 57.38 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 500.7 | 33.61 | 567.8 | 39.22 | 636.4 | 44.34 | 705.0 | 49.41 | 805.0 | 55.61 | ||
| \(2^{12}\) | 10 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 606.1 | 41.05 | 693.9 | 48.08 | 783.0 | 54.88 | 871.7 | 61.26 | 992.5 | 69.31 |
| [22] | - | - | - | - | - | - | - | - | - | - | ||
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 4872 | 347.1 | 5532 | 405.2 | 6196 | 465.2 | 6861 | 522.1 | 7843 | 587.3 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 4860 | 332.5 | 5517 | 388.9 | 6180 | 449.1 | 6843 | 501.5 | 7822 | 563.7 | ||
| 6 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 5904 | 414.4 | 6764 | 486.4 | 7627 | 564.3 | 8491 | 634.6 | 9669 | 712.4 | |
| [22] | - | - | - | - | - | - | - | - | - | - | ||
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 6460 | 463.8 | 7333 | 541.2 | 8216 | 615.3 | 9100 | 679.6 | 10407 | 763.2 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 6448 | 454.9 | 7319 | 524.1 | 8199 | 598.5 | 9082 | 657.6 | 10386 | 738.9 | ||
| 8 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 7836 | 559.4 | 8978 | 649.1 | 10123 | 740.6 | 11273 | 821.6 | 12841 | 930.1 | |
| [22] | - | - | - | - | - | - | - | - | - | - | ||
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 8045 | 577.7 | 9136 | 657.1 | 10237 | 750.1 | 11340 | 856.3 | 12966 | 965.1 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 8032 | 562.5 | 9121 | 639.6 | 10220 | 730.7 | 11322 | 838.1 | 12944 | 939.9 | ||
| \(2^{16}\) | 10 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 9768 | 692.2 | 11191 | 796.9 | 12623 | 916.9 | 14056 | 1036 | 16010 | 1169 |
| Threshold \(\delta\) | ||||||||||||
| 16 | 32 | 64 | 128 | 256 | ||||||||
| Set Size \(m=n\) | Dimension \(d\) | Protocol | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time |
| [30]-Low | 15.51 | 5.344 | 19.55 | 6.937 | 23.87 | 11.62 | 28.50 | 11.83 | 33.42 | 13.62 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 7.638 | 4.327 | 8.602 | 4.338 | 9.197 | 4.447 | 9.883 | 4.514 | 11.24 | 4.659 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 7.698 | 4.583 | 8.656 | 4.609 | 9.181 | 4.703 | 9.959 | 4.716 | 11.25 | 4.875 | ||
| 2 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 7.329 | 3.645 | 8.435 | 3.675 | 9.269 | 3.724 | 10.19 | 3.889 | 11.55 | 3.988 | |
| [30]-Low | 57.46 | 6.805 | 84.30 | 8.697 | 81.50 | 26.52 | 94.96 | 29.92 | 115.1 | 31.31 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 13.51 | 4.712 | 15.54 | 4.842 | 17.31 | 4.947 | 19.62 | 5.041 | 22.33 | 5.167 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 13.51 | 4.875 | 15.39 | 5.054 | 17.26 | 5.208 | 19.65 | 5.279 | 22.54 | 5.497 | ||
| 3 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 12.15 | 3.919 | 13.83 | 4.138 | 15.55 | 4.314 | 17.47 | 4.518 | 19.86 | 4.714 | |
| [30]-Low | 154.1 | 21.16 | 225.6 | 23.31 | 309.1 | 170.2 | 344.9 | 171.8 | 398.6 | 174.9 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 25.83 | 5.506 | 30.68 | 5.864 | 35.65 | 6.192 | 40.04 | 6.706 | 46.27 | 7.266 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 26.11 | 5.822 | 30.46 | 6.156 | 35.52 | 6.463 | 40.08 | 6.849 | 46.09 | 7.508 | ||
| \(2^8\) | 4 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 20.08 | 4.803 | 23.47 | 5.052 | 26.67 | 5.422 | 30.21 | 5.857 | 34.60 | 6.293 |
| [30]-Low | 248.2 | 66.21 | 312.8 | 93.19 | 381.9 | 127.9 | 456.1 | 155.1 | 534.7 | 206.5 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 89.29 | 11.83 | 101.9 | 12.96 | 115.2 | 14.41 | 128.2 | 15.75 | 148.0 | 17.73 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 88.55 | 11.14 | 101.0 | 12.19 | 114.2 | 13.39 | 127.3 | 14.62 | 147.0 | 16.13 | ||
| 2 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 96.44 | 11.88 | 110.1 | 13.39 | 124.2 | 14.88 | 138.2 | 16.33 | 159.1 | 18.28 | |
| [30]-Low | 919.3 | 92.95 | 1349 | 112.1 | 1304 | 378.9 | 1519 | 388.3 | 1842 | 403.2 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 183.1 | 20.45 | 214.6 | 23.74 | 246.3 | 27.04 | 278.4 | 30.57 | 320.5 | 34.71 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 182.3 | 19.79 | 213.7 | 22.87 | 245.2 | 26.05 | 277.5 | 29.16 | 319.7 | 33.15 | ||
| 3 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 168.2 | 19.91 | 194.7 | 23.23 | 221.3 | 26.67 | 249.0 | 29.92 | 286.1 | 34.29 | |
| [30]-Low | 2465 | 277.2 | 3610 | 326.1 | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 383.5 | 41.67 | 456.5 | 49.47 | 532.4 | 58.11 | 610.9 | 67.08 | 699.6 | 77.24 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 381.7 | 40.67 | 455.2 | 48.92 | 530.4 | 57.16 | 607.9 | 65.95 | 697.7 | 75.27 | ||
| \(2^{12}\) | 4 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 292.9 | 38.37 | 343.8 | 46.21 | 397.0 | 53.93 | 449.7 | 62.35 | 515.8 | 71.39 |
| [30]-Low | 3971 | 1004 | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 1404 | 142.9 | 1612 | 168.5 | 1824 | 194.8 | 2039 | 220.6 | 2357 | 254.7 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 1392 | 128.3 | 1597 | 151.8 | 1807 | 174.8 | 2020 | 198.5 | 2336 | 228.7 | ||
| 2 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 1536 | 152.7 | 1762 | 180.2 | 1991 | 207.4 | 2220 | 237.1 | 2552 | 272.6 | |
| [30]-Low | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 2919 | 315.4 | 3421 | 383.8 | 3931 | 458.4 | 4446 | 531.2 | 5128 | 618.7 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 2905 | 302.3 | 3407 | 365.6 | 3916 | 437.5 | 4427 | 505.1 | 5107 | 592.3 | ||
| 3 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 2695 | 316.6 | 3127 | 383.4 | 3563 | 458.1 | 3999 | 541.6 | 4599 | 616.1 | |
| [30]-Low | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | - | - | - | - | - | - | - | - | - | - | ||
| \(2^{16}\) | 4 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 4699 | 733.7 | - | - | - | - | - | - | - | - |
| Threshold \(\delta\) | ||||||||||||
| 16 | 32 | 64 | 128 | 256 | ||||||||
| Set Size \(m=n\) | Dimension \(d\) | Protocol | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time |
| [30]-High | 91.67 | 13.9 | 106.7 | 14.49 | 116.7 | 17.56 | 125.0 | 19.81 | 173.3 | 26.49 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 21.81 | 6.098 | 24.53 | 6.251 | 27.07 | 6.529 | 29.74 | 6.872 | 33.62 | 7.326 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 21.87 | 6.248 | 24.57 | 6.585 | 27.09 | 7.052 | 29.75 | 7.323 | 33.59 | 7.378 | ||
| 6 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 25.45 | 5.566 | 29.14 | 6.256 | 32.48 | 6.485 | 36.08 | 6.739 | 40.76 | 6.982 | |
| [30]-High | 122.2 | 17.51 | 142.2 | 20.55 | 155.5 | 24.63 | 166.6 | 24.78 | 231.0 | 33.91 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 28.19 | 6.489 | 31.84 | 6.931 | 35.03 | 7.321 | 38.52 | 7.813 | 43.91 | 8.511 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 28.29 | 6.919 | 31.86 | 7.293 | 35.06 | 7.505 | 38.64 | 8.066 | 43.88 | 8.472 | ||
| 8 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 33.44 | 6.401 | 38.13 | 6.445 | 42.58 | 6.972 | 47.28 | 7.376 | 53.81 | 8.069 | |
| [30]-High | 152.7 | 23.24 | 177.7 | 23.83 | 194.3 | 29.22 | 208.2 | 29.62 | 288.6 | 41.05 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 34.69 | 7.228 | 39.06 | 7.391 | 43.23 | 8.389 | 47.61 | 8.624 | 54.41 | 9.252 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 34.75 | 7.394 | 39.15 | 7.745 | 43.18 | 8.525 | 47.59 | 9.112 | 54.41 | 9.371 | ||
| \(2^8\) | 10 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 41.28 | 6.932 | 47.04 | 7.331 | 52.80 | 8.041 | 58.67 | 8.621 | 66.82 | 8.998 |
| [30]-High | 1466 | 182.1 | 1706 | 191.2 | 1866 | 245.1 | 2000 | 250.3 | 2773 | 355.7 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 304.5 | 30.99 | 345.1 | 34.83 | 386.6 | 38.75 | 427.8 | 43.24 | 488.8 | 48.11 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 303.8 | 30.51 | 344.3 | 33.87 | 385.5 | 37.54 | 426.8 | 41.46 | 487.4 | 46.04 | ||
| 6 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 367.0 | 34.26 | 420.1 | 41.18 | 473.5 | 46.21 | 526.9 | 49.64 | 599.9 | 56.52 | |
| [30]-High | 1955 | 242.1 | 2275 | 254.6 | 2488 | 318.4 | 2666 | 329.8 | 3695 | 476.2 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 402.7 | 39.59 | 457.1 | 44.22 | 511.7 | 49.87 | 566.9 | 54.99 | 647.6 | 61.48 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 402.2 | 38.28 | 456.2 | 43.66 | 510.4 | 48.52 | 565.5 | 53.31 | 646.2 | 59.62 | ||
| 8 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 486.5 | 46.09 | 557.3 | 51.39 | 628.1 | 58.71 | 699.0 | 64.46 | 796.2 | 71.32 | |
| [30]-High | 2443 | 297.1 | 2843 | 319.6 | 3109 | 395.8 | 3332 | 408.3 | 4618 | 592.4 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 501.2 | 47.84 | 569.0 | 54.52 | 637.2 | 60.17 | 706.0 | 66.99 | 806.6 | 75.21 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 500.7 | 46.71 | 567.8 | 53.01 | 636.4 | 59.26 | 705.0 | 65.15 | 805.0 | 73.65 | ||
| \(2^{12}\) | 10 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 606.1 | 54.85 | 693.9 | 63.73 | 783.0 | 70.58 | 871.7 | 75.21 | 992.5 | 89.49 |
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 4872 | 442.9 | 5532 | 508.8 | 6196 | 581.8 | 6861 | 649.7 | 7843 | 735.8 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 4860 | 429.1 | 5517 | 491.7 | 6180 | 562.3 | 6843 | 627.2 | 7822 | 710.8 | ||
| 6 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 5904 | 499.1 | 6764 | 573.4 | 7627 | 657.1 | 8491 | 735.9 | 9669 | 833.5 | |
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 6460 | 588.2 | 7333 | 677.3 | 8216 | 766.9 | 9100 | 843.4 | 10407 | 957.6 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 6448 | 575.8 | 7319 | 662.5 | 8199 | 747.4 | 9082 | 822.9 | 10386 | 938.9 | ||
| 8 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 7836 | 663.1 | 8978 | 766.7 | 10123 | 868.3 | 11273 | 959.6 | 12841 | 1088 | |
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 8045 | 732.2 | 9136 | 831.6 | 10237 | 938.1 | 11340 | 1064 | 12966 | 1207 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 8032 | 720.9 | 9121 | 815.5 | 10220 | 921.6 | 11322 | 1041 | 12944 | 1183 | ||
| \(2^{16}\) | 10 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 9768 | 824.4 | 11191 | 941.8 | 12623 | 1069 | 14056 | 1211 | 16010 | 1369 |
| Threshold \(\delta\) | ||||||||||||
| 16 | 32 | 64 | 128 | 256 | ||||||||
| Set Size \(m=n\) | Dimension \(d\) | Protocol | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time |
| [30]-Low | 26.70 | 3.912 | 33.15 | 5.464 | 40.14 | 7.343 | 47.92 | 9.841 | 56.97 | 12.21 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 10.03 | 1.089 | 11.36 | 1.182 | 12.58 | 1.234 | 13.82 | 1.331 | 15.79 | 1.418 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 10.07 | 1.028 | 11.36 | 1.039 | 12.53 | 1.102 | 13.74 | 1.199 | 15.74 | 1.318 | ||
| 2 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 10.28 | 0.869 | 11.80 | 0.969 | 13.09 | 1.049 | 14.51 | 1.185 | 16.46 | 1.278 | |
| [30]-Low | 110.4 | 4.447 | 163.9 | 5.681 | 141.8 | 22.34 | 169.4 | 22.86 | 211.3 | 23.37 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 18.88 | 1.447 | 22.00 | 1.615 | 24.92 | 1.767 | 27.88 | 1.934 | 31.97 | 2.125 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 18.96 | 1.372 | 21.96 | 1.522 | 24.55 | 1.723 | 27.70 | 1.783 | 31.80 | 2.034 | ||
| 3 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 17.37 | 1.256 | 19.79 | 1.472 | 22.35 | 1.657 | 25.12 | 1.865 | 28.58 | 2.138 | |
| [30]-Low | 295.1 | 14.12 | 437.2 | 15.86 | 468.3 | 164.1 | 540.3 | 164.8 | 648.7 | 167.3 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 37.40 | 2.319 | 44.39 | 2.758 | 51.35 | 3.187 | 58.61 | 3.685 | 67.17 | 4.139 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 37.78 | 2.402 | 44.56 | 2.774 | 51.93 | 3.312 | 58.78 | 3.728 | 66.96 | 4.226 | ||
| \(2^8\) | 4 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 29.00 | 2.256 | 33.98 | 2.653 | 39.03 | 3.194 | 43.94 | 3.663 | 50.25 | 4.148 |
| [30]-Low | 427.2 | 60.38 | 530.5 | 86.35 | 642.3 | 117.4 | 766.7 | 153.5 | 911.5 | 195.3 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 129.3 | 7.996 | 148.4 | 9.487 | 167.8 | 10.93 | 187.3 | 12.55 | 216.1 | 14.38 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 127.8 | 6.668 | 147.0 | 7.654 | 166.3 | 8.818 | 184.7 | 10.04 | 213.9 | 11.75 | ||
| 2 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 140.4 | 9.635 | 161.3 | 11.58 | 182.0 | 13.46 | 202.5 | 15.38 | 233.0 | 17.62 | |
| [30]-Low | 1767 | 70.64 | 2622 | 89.98 | 2268 | 363.9 | 2710 | 366.6 | 3381 | 375.4 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 267.9 | 16.51 | 315.8 | 20.16 | 362.3 | 23.91 | 410.2 | 27.77 | 471.3 | 31.75 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 266.9 | 15.09 | 313.9 | 18.29 | 360.6 | 21.76 | 407.2 | 24.94 | 468.4 | 28.71 | ||
| 3 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 246.1 | 19.13 | 285.9 | 23.16 | 325.8 | 27.47 | 365.6 | 31.93 | 419.7 | 36.57 | |
| [30]-Low | 4721 | 229.6 | 6996 | 262.7 | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 567.1 | 38.61 | 676.5 | 48.09 | 789.3 | 57.28 | 900.1 | 66.89 | 1035 | 77.86 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 563.6 | 37.25 | 674.2 | 46.07 | 786.6 | 55.19 | 898.9 | 64.81 | 1031 | 74.79 | ||
| \(2^{12}\) | 4 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 431.3 | 41.92 | 507.4 | 51.77 | 585.5 | 61.97 | 662.5 | 72.65 | 760.7 | 84.09 |
| [30]-Low | 6835 | 971.7 | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 2052 | 141.6 | 2361 | 170.8 | 2674 | 201.9 | 2986 | 233.7 | 3452 | 269.1 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 2032 | 116.7 | 2336 | 141.5 | 2643 | 166.2 | 2950 | 192.8 | 3412 | 223.2 | ||
| \(2^{16}\) | 2 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 2251 | 173.9 | 2586 | 209.7 | 2923 | 247.5 | 3260 | 285.8 | 3745 | 334.1 |
| Threshold \(\delta\) | ||||||||||||
| 16 | 32 | 64 | 128 | 256 | ||||||||
| Set Size \(m=n\) | Dimension \(d\) | Protocol | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time |
| [22] | 34.87 | 7.812 | 68.33 | 15.77 | 135.2 | 20.08 | 268.9 | 39.31 | 536.2 | 81.12 | ||
| [30]-High | 105.1 | 9.669 | 126.9 | 9.976 | 132.4 | 13.33 | 145.0 | 14.55 | 200.2 | 22.18 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 26.67 | 2.208 | 30.06 | 2.447 | 33.14 | 2.685 | 36.30 | 2.902 | 41.17 | 3.187 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 26.74 | 2.182 | 30.04 | 2.317 | 32.99 | 2.596 | 36.16 | 2.735 | 41.06 | 3.035 | ||
| 6 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 32.67 | 2.217 | 37.28 | 2.571 | 41.58 | 2.827 | 46.07 | 3.145 | 52.27 | 3.531 | |
| [22] | 46.36 | 8.954 | 90.95 | 16.41 | 180.1 | 27.11 | 358.3 | 52.19 | 714.8 | 121.4 | ||
| [30]-High | 140.0 | 12.84 | 169.0 | 13.28 | 176.2 | 17.46 | 192.6 | 18.57 | 265.5 | 28.57 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 35.09 | 2.661 | 38.95 | 2.944 | 42.97 | 3.226 | 47.26 | 3.569 | 53.86 | 3.965 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 34.99 | 2.592 | 38.93 | 2.852 | 42.86 | 3.122 | 47.17 | 3.451 | 53.84 | 3.792 | ||
| 8 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 43.04 | 2.789 | 48.91 | 3.199 | 54.62 | 3.701 | 60.61 | 4.037 | 69.01 | 4.506 | |
| [22] | 57.84 | 10.04 | 113.6 | 17.55 | 225.0 | 33.83 | 447.8 | 69.04 | 893.3 | 136.8 | ||
| [30]-High | 174.9 | 15.54 | 211.1 | 16.20 | 219.9 | 21.47 | 240.3 | 22.49 | 330.9 | 34.07 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 42.74 | 3.079 | 47.94 | 3.528 | 53.00 | 3.976 | 58.22 | 4.252 | 66.58 | 4.678 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 42.76 | 3.025 | 47.92 | 3.384 | 53.02 | 3.804 | 58.15 | 4.079 | 66.63 | 4.537 | ||
| \(2^8\) | 10 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 53.19 | 3.418 | 60.54 | 3.868 | 67.79 | 4.467 | 75.19 | 4.895 | 85.74 | 5.481 |
| [22] | 557.8 | 99.78 | 1093 | 314.8 | 2163 | 438.2 | 4302 | 687.9 | - | - | ||
| [30]-High | 1681 | 150.3 | 2030 | 156.5 | 2118 | 209.9 | 2320 | 228.5 | 3202 | 351.8 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 379.7 | 24.36 | 428.7 | 27.99 | 477.7 | 31.52 | 527.3 | 35.51 | 603.4 | 40.19 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 378.4 | 22.96 | 427.3 | 26.46 | 476.0 | 29.48 | 524.8 | 32.78 | 601.3 | 37.53 | ||
| 6 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 473.9 | 30.63 | 541.2 | 35.35 | 608.7 | 41.37 | 676.3 | 46.19 | 770.8 | 51.29 | |
| [22] | 741.6 | 143.6 | 1455 | 455.2 | 2882 | 485.8 | 5733 | 1053 | - | - | ||
| [30]-High | 2239 | 198.5 | 2703 | 204.9 | 2818 | 275.4 | 3082 | 291.9 | 4248 | 448.1 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 501.8 | 31.46 | 567.0 | 36.28 | 632.1 | 41.14 | 697.1 | 46.17 | 798.8 | 52.06 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 500.7 | 30.03 | 565.5 | 34.58 | 630.2 | 39.09 | 694.9 | 43.78 | 796.5 | 49.17 | ||
| 8 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 628.2 | 39.73 | 717.7 | 46.22 | 806.7 | 52.69 | 896.3 | 62.42 | 1022 | 67.08 | |
| [22] | 925.4 | 241.9 | 1817 | 559.4 | 3600 | 725.1 | 7165 | 1281 | - | - | ||
| [30]-High | 2798 | 246.7 | 3377 | 255.6 | 3519 | 341.5 | 3845 | 356.1 | 5294 | 549.6 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 625.1 | 38.49 | 705.6 | 44.97 | 786.1 | 50.91 | 867.6 | 57.02 | 994.2 | 64.44 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 623.6 | 37.55 | 703.9 | 43.24 | 784.3 | 48.68 | 865.5 | 54.57 | 991.9 | 61.57 | ||
| \(2^{12}\) | 10 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 782.4 | 48.67 | 893.4 | 57.25 | 1005 | 65.37 | 1117 | 73.48 | 1273 | 83.18 |
| [22] | - | - | - | - | - | - | - | - | - | - | ||
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 6090 | 402.9 | 6875 | 463.5 | 7667 | 537.2 | 8464 | 602.4 | 9699 | 682.5 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 6069 | 376.2 | 6850 | 434.4 | 7638 | 504.1 | 8430 | 561.2 | 9659 | 640.7 | ||
| 6 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 7640 | 502.3 | 8725 | 588.4 | 9815 | 682.4 | 10908 | 768.4 | 12438 | 867.9 | |
| [22] | - | - | - | - | - | - | - | - | - | - | ||
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 8066 | 537.1 | 9109 | 621.5 | 10157 | 707.1 | 11206 | 786.7 | 12846 | 888.5 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 8046 | 512.7 | 9082 | 589.7 | 10125 | 669.9 | 11170 | 741.2 | 12808 | 844.2 | ||
| 8 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 10133 | 674.9 | 11572 | 784.4 | 13018 | 897.1 | 14466 | 998.9 | 16501 | 1130 | |
| [22] | - | - | - | - | - | - | - | - | - | - | ||
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 10045 | 659.9 | 11338 | 755.3 | 12644 | 866.1 | 13953 | 980.9 | 15997 | 1115 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 10024 | 634.1 | 11313 | 729.8 | 12613 | 827.1 | 13917 | 943.5 | 15955 | 1067 | ||
| \(2^{16}\) | 10 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 12628 | 827.6 | 14420 | 957.4 | 16221 | 1100 | 18026 | 1254 | 20562 | 1420 |
| Threshold \(\delta\) | ||||||||||||
| 16 | 32 | 64 | 128 | 256 | ||||||||
| Set Size \(m=n\) | Dimension \(d\) | Protocol | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time |
| [30]-Low | 26.70 | 7.109 | 33.15 | 10.48 | 40.14 | 12.55 | 47.91 | 15.31 | 56.96 | 19.37 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 10.03 | 4.574 | 11.36 | 4.645 | 12.58 | 4.681 | 13.82 | 4.773 | 15.79 | 4.779 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 10.07 | 4.792 | 11.36 | 4.794 | 12.53 | 4.953 | 13.74 | 4.987 | 15.74 | 4.989 | ||
| 2 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 10.28 | 3.913 | 11.80 | 4.008 | 13.09 | 4.155 | 14.51 | 4.192 | 16.46 | 4.321 | |
| [30]-Low | 110.4 | 10.42 | 163.9 | 12.34 | 141.8 | 32.17 | 169.4 | 33.65 | 211.3 | 30.65 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 18.88 | 4.943 | 22.00 | 5.089 | 24.92 | 5.401 | 27.88 | 5.755 | 31.97 | 6.103 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 18.96 | 5.248 | 21.96 | 5.388 | 24.55 | 5.642 | 27.70 | 6.012 | 31.80 | 6.204 | ||
| 3 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 17.37 | 4.476 | 19.79 | 4.704 | 22.35 | 4.988 | 25.12 | 5.337 | 28.58 | 5.545 | |
| [30]-Low | 295.1 | 23.96 | 437.2 | 29.89 | 468.3 | 176.9 | 540.3 | 182.3 | 648.7 | 183.6 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 37.40 | 6.259 | 44.39 | 7.053 | 51.35 | 7.585 | 58.61 | 8.382 | 67.17 | 9.154 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 37.78 | 6.633 | 44.56 | 7.444 | 51.93 | 7.818 | 58.78 | 8.501 | 66.96 | 9.363 | ||
| \(2^8\) | 4 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 29.00 | 5.587 | 33.98 | 6.229 | 39.03 | 6.682 | 43.94 | 7.533 | 50.25 | 8.219 |
| [30]-Low | 427.2 | 69.12 | 530.5 | 103.1 | 642.3 | 138.9 | 766.6 | 177.8 | 911.5 | 217.9 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 129.3 | 15.54 | 148.4 | 17.71 | 167.8 | 19.97 | 187.3 | 21.93 | 216.1 | 24.71 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 127.8 | 13.92 | 147.0 | 15.84 | 166.3 | 17.73 | 184.7 | 19.36 | 213.9 | 21.99 | ||
| 2 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 140.4 | 16.02 | 161.3 | 18.33 | 182.0 | 20.73 | 202.5 | 23.07 | 233.0 | 26.05 | |
| [30]-Low | 1767 | 129.6 | 2622 | 166.1 | 2268 | 414.4 | 2710 | 440.1 | 3381 | 472.4 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 267.9 | 28.74 | 315.8 | 33.63 | 362.3 | 39.01 | 410.2 | 44.49 | 471.3 | 50.45 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 266.9 | 26.99 | 313.9 | 31.93 | 360.6 | 36.75 | 407.2 | 41.98 | 468.4 | 47.62 | ||
| 3 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 246.1 | 28.21 | 285.9 | 33.38 | 325.8 | 38.35 | 365.6 | 43.78 | 419.7 | 49.83 | |
| [30]-Low | 4721 | 370.6 | 6996 | 474.4 | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 567.1 | 60.32 | 676.5 | 73.15 | 789.3 | 86.95 | 900.1 | 100.2 | 1035 | 115.6 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 563.6 | 59.03 | 674.2 | 71.24 | 786.6 | 83.93 | 898.9 | 97.91 | 1031 | 112.5 | ||
| \(2^{12}\) | 4 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 431.3 | 56.45 | 507.4 | 68.35 | 585.5 | 80.55 | 662.5 | 93.18 | 760.7 | 106.9 |
| [30]-Low | 6835 | 1136 | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{apart}}\) | 2052 | 210.4 | 2361 | 249.7 | 2674 | 290.2 | 2986 | 332.6 | 3452 | 382.8 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{apart}}\) | 2032 | 185.6 | 2336 | 217.7 | 2643 | 252.2 | 2950 | 289.1 | 3412 | 335.3 | ||
| \(2^{16}\) | 2 | \(\Pi_{\mathsf{SE}}^{\mathsf{apart}}\) | 2251 | 226.2 | 2586 | 267.8 | 2923 | 312.1 | 3260 | 355.4 | 3745 | 410.5 |
| Threshold \(\delta\) | ||||||||||||
| 16 | 32 | 64 | 128 | 256 | ||||||||
| Set Size \(m=n\) | Dimension \(d\) | Protocol | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time | Comm. | Time |
| [30]-High | 105.1 | 14.58 | 126.9 | 15.39 | 132.4 | 18.84 | 145.0 | 19.95 | 200.2 | 29.34 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 26.67 | 6.298 | 30.06 | 6.627 | 33.14 | 7.489 | 36.30 | 7.642 | 41.17 | 7.964 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 26.74 | 6.494 | 30.04 | 6.813 | 32.99 | 7.264 | 36.16 | 7.725 | 41.06 | 8.099 | ||
| 6 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 32.67 | 6.351 | 37.28 | 6.653 | 41.58 | 6.701 | 46.07 | 7.078 | 52.27 | 7.782 | |
| [30]-High | 140.0 | 18.28 | 169.0 | 19.85 | 176.2 | 26.13 | 192.6 | 27.39 | 265.5 | 38.67 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 35.09 | 7.537 | 38.95 | 7.875 | 42.97 | 8.028 | 47.26 | 8.378 | 53.86 | 9.188 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 34.99 | 7.854 | 38.93 | 7.981 | 42.86 | 8.213 | 47.17 | 8.881 | 53.84 | 9.113 | ||
| 8 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 43.04 | 6.844 | 48.91 | 7.124 | 54.62 | 7.757 | 60.61 | 8.089 | 69.01 | 9.154 | |
| [30]-High | 174.9 | 24.35 | 211.1 | 24.85 | 219.9 | 31.29 | 240.3 | 33.11 | 330.9 | 47.25 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 42.74 | 8.145 | 47.94 | 8.284 | 53.00 | 9.223 | 58.22 | 9.326 | 66.58 | 9.824 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 42.76 | 8.447 | 47.92 | 8.627 | 53.02 | 8.991 | 58.15 | 9.486 | 66.63 | 10.11 | ||
| \(2^8\) | 10 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 53.19 | 7.731 | 60.54 | 8.019 | 67.79 | 8.987 | 75.19 | 9.341 | 85.74 | 10.25 |
| [30]-High | 1681 | 194.4 | 2030 | 211.7 | 2118 | 266.6 | 2320 | 290.5 | 3202 | 437.9 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 379.7 | 36.57 | 428.7 | 41.79 | 477.7 | 45.56 | 527.3 | 50.61 | 603.4 | 56.24 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 378.4 | 35.33 | 427.3 | 39.11 | 476.0 | 43.43 | 524.8 | 47.67 | 601.3 | 53.62 | ||
| 6 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 473.9 | 43.75 | 541.2 | 50.14 | 608.7 | 55.03 | 676.3 | 60.89 | 770.8 | 69.67 | |
| [30]-High | 2239 | 258.7 | 2703 | 280.5 | 2818 | 348.9 | 3082 | 371.9 | 4248 | 559.1 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 501.8 | 46.18 | 567.0 | 51.88 | 632.1 | 58.58 | 697.1 | 64.52 | 798.8 | 72.65 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 500.7 | 44.71 | 565.5 | 49.98 | 630.2 | 56.34 | 694.9 | 62.45 | 796.5 | 70.01 | ||
| 8 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 628.2 | 56.14 | 717.7 | 62.55 | 806.7 | 71.66 | 896.3 | 78.52 | 1022 | 84.36 | |
| [30]-High | 2798 | 322.3 | 3377 | 347.7 | 3519 | 429.3 | 3845 | 459.4 | 5294 | 676.7 | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 625.1 | 55.56 | 705.6 | 63.87 | 786.1 | 71.04 | 867.6 | 79.12 | 994.2 | 88.96 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 623.6 | 54.47 | 703.9 | 61.85 | 784.3 | 69.59 | 865.5 | 76.69 | 991.9 | 86.55 | ||
| \(2^{12}\) | 10 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 782.4 | 66.35 | 893.4 | 77.83 | 1005 | 86.01 | 1117 | 100.6 | 1273 | 111.7 |
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 6090 | 535.9 | 6875 | 616.1 | 7667 | 702.9 | 8464 | 783.9 | 9699 | 892.1 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 6069 | 511.9 | 6850 | 581.6 | 7638 | 664.9 | 8430 | 741.3 | 9659 | 842.7 | ||
| 6 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 7640 | 623.8 | 8725 | 720.8 | 9815 | 820.2 | 10908 | 920.7 | 12438 | 1048 | |
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 8066 | 711.3 | 9109 | 816.1 | 10157 | 925.1 | 11206 | 1025 | 12846 | 1160 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 8046 | 685.7 | 9082 | 788.5 | 10125 | 890.2 | 11170 | 986.1 | 12808 | 1128 | ||
| 8 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 10133 | 820.7 | 11572 | 947.5 | 13018 | 1075 | 14466 | 1201 | 16501 | 1355 | |
| [30]-High | - | - | - | - | - | - | - | - | - | - | ||
| \(\Pi_{\mathsf{OE}\text{-1}}^{\mathsf{sep}}\) | 10045 | 880.6 | 11338 | 1003 | 12644 | 1130 | 13953 | 1274 | 15997 | 1456 | ||
| \(\Pi_{\mathsf{OE}\text{-2}}^{\mathsf{sep}}\) | 10024 | 866.1 | 11313 | 987.3 | 12613 | 1095 | 13917 | 1237 | 15955 | 1420 | ||
| \(2^{16}\) | 10 | \(\Pi_{\mathsf{SE}}^{\mathsf{sep}}\) | 12628 | 1020 | 14420 | 1167 | 16221 | 1327 | 18026 | 1494 | 20562 | 1699 |
The prefix property ensures at most one such \(v_k^*\) exists per dimension.↩︎
When \(q_k > w_k\), the left endpoint is used.↩︎
For convenience, we assume \(q_k\leq w_k\). The case \(q_k> w_k\) is handled analogously by a second OPPRF.↩︎
In our FPSI, at most one such \(v_k^*\) exists per dimension. We define the functionality in this general form because our ECS construction inherently satisfies this property.↩︎
We assume \(l=2^\eta\) for some integer \(\eta\).↩︎
For example, for \(l=4\), the algorithm \(\mathsf{ShareTrans}\) will convert the sharing of \(0011\) into the sharing of \(1\oplus 2\).↩︎
This is also reflected in their paper. For example, Table 2 in [29] reports for set size \(2^{12}\) and dimension \(d=10\) a runtime of \(129.17\) seconds for \(\delta=10\), compared to \(125.02\) seconds for \(\delta=30\).↩︎
Since [27] only supports \(\delta\in\{10,30,60,120,250\}\), we align their results with ours using the closest matching \(\delta\) values.↩︎