Fuzzy PSI from Symmetric Primitives with Exact Logarithmic Dependence on Distance Threshold


Abstract

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.

1 Introduction↩︎

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.

1.1 Related Work↩︎

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].

1.2 Our Contribution↩︎

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\).

1.3 Overview of Our Techniques↩︎

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.

2 Preliminaries↩︎

2.1 Notation↩︎

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\).

2.2 Security Model↩︎

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}\).

2.3 Permute+ Share↩︎

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.

Figure 1: Permute + Share Functionality \mathcal{F}_{\mathsf{PS}}

2.4 (Secret-Shared) Private Equality Test.↩︎

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.

Figure 2: (Secret-Shared) Private Equality Test Functionality \mathcal{F}_{\mathsf{PEQT}}/\mathcal{F}_{\mathsf{ssPEQT}}.

2.5 Secure AND and OR.↩︎

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.

Figure 3: Secure AND/OR Functionality \mathcal{F}_\mathsf{AND}/\mathcal{F}_\mathsf{OR}

2.6 Oblivious Transfer↩︎

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.

Figure 4: 1-out-of-l Oblivious Transfer Functionality \mathcal{F}_\mathsf{OT}

2.7 Inner Product↩︎

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.

Figure 5: Inner Product Functionality \mathcal{F}_\mathsf{IP}

2.8 Oblivious programmable PRF↩︎

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.

Figure 6: OPPRF Functionality \mathcal{F}_\mathsf{OPPRF}

2.9 Oblivious Key-Value Stores↩︎

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)\).

2.10 Prefix Trie↩︎

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\).

2.11 (Secret-Shared) Fuzzy Matching for Interval↩︎

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.

Figure 7: (Secret-Shared) Fuzzy Matching for Interval Functionality \mathcal{F}_{\mathsf{IFmat}}/\mathcal{F}_{\mathsf{ssIFmat}}

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.

Figure 8: Secret-Shared Fuzzy Matching for Interval Protocol

2.12 Cuckoo Hashing and Simple Hashing↩︎

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)\).

2.13 Spatial Hashing↩︎

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.

2.14 Fuzzy Mapping and Distributed ID Generation↩︎

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.

Figure 9: Distributed ID Generation Functionality \mathcal{F}_{\mathsf{dIDG}}

2.15 Fuzzy Private Set Intersection and Its Variants↩︎

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.

Figure 10: Fuzzy PSI and Its Variants Functionalities \mathcal{F}_{\mathsf{FPSI}},\mathcal{F}_{\mathsf{FPSI\text{-}SP}},\mathcal{F}_{\mathsf{FPSI\text{-}CA}},\mathcal{F}_{\mathsf{LFPSI}}

3 Equality Conditional Sum/Inner-Product Share↩︎

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.

3.1 Equality Conditional Sum Share↩︎

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.

Figure 11: Equality Conditional Sum (Share) Functionality \mathcal{F}_{\mathsf{ECS(S)}}

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.

Figure 12: Algorithm \mathsf{ShareTrans}

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.

Figure 13: Equality Conditional Sum (Share) Protocol \Pi_{\mathsf{ECS(S)}}

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:

  1. 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.

  2. 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]\).

  3. 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.

  4. 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.

  5. 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]\).

  6. 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.

  7. In step 8, \(\mathsf{Sim}_\mathcal{S}\) executes like an honest sender and learns \(\mathsf{mask}_k,k\in[d]\).

  8. 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:

  1. 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.

  2. 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.

  3. 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.

  4. In step 5, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(\tilde{e}^\mathcal{R}_k,k\in[d]\).

  5. 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]\).

  6. 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)\).

3.2 Equality Conditional Inner-Product Share↩︎

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.

Figure 14: Equality Conditional Inner-Product Share Functionality \mathcal{F}_{\mathsf{ECIPS}}

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.

Figure 15: Equality Conditional Inner-Product Share Protocol \Pi_{\mathsf{ECIPS}}

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:

  1. 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.

  2. 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]\).

  3. 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.

  4. 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.

  5. 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]\).

  6. 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.

  7. 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}\).

  8. 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.

  9. 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:

  1. 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.

  2. 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.

  3. 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.

  4. In step 5, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(\tilde{e}^\mathcal{R}_k,k\in[d]\).

  5. 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]\).

  6. 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.

  7. 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)\).

4 Shared Oblivious PRF↩︎

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].

Figure 16: Shared OPRF functionality \mathcal{F}_{\mathsf{sOPRF}}.

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.

Figure 17: OPRF with shared output protocol for (\mathbb{F}_3,\mathbb{F}_2)-wPRF [37].
Figure 18: OT-based \mathbb{F}_3 \rightarrow \mathbb{F}_2 modulus conversion functionality \mathcal{F}_{\mathsf{ot}\text{-}3\rightarrow2\mathsf{conv}} [37].

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:

  1. \(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\).

  2. \(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.

5 Fuzzy PSI in Low Dimension↩︎

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.

5.1 Fuzzy PSI for \(L_\infty\) Distance↩︎

5.1.1 Construction from OPPRF.↩︎

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.

Figure 19: Fuzzy PSI Protocol \Pi_{\mathsf{FPSI}} for L_\infty in Low Dimension Space from OPPRF

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:

  1. 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]}\).

  2. 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.

  3. 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]\).

  4. 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.

  5. 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.

  6. 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]\).

  7. 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:

  1. 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]}\).

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Figure 20: Optimized Fuzzy PSI Protocol \Pi_{\mathsf{FPSI}} for L_\infty in Low Dimension Space from OPPRF

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:

  1. 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]}\).

  2. 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.

  3. 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]\).

  4. 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]\).

  5. 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.

  6. 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]\).

  7. 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:

  1. 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]}\).

  2. 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.

  3. 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]\).

  4. 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.

  5. 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.

  6. 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. ◻

5.1.2 Construction from sOPRF.↩︎

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.

Figure 21: Fuzzy PSI Protocol \Pi_{\mathsf{FPSI}} for L_\infty in Low Dimension Space from sOPRF

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:

  1. 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]}\).

  2. 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.

  3. 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.

  4. 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]\).

  5. 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.

  6. 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.

  7. 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:

  1. 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]}\).

  2. 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.

  3. In step 5, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(E_\mathcal{R}\).

  4. 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.

  5. 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.

Figure 22: Optimized Fuzzy PSI Protocol \Pi_{\mathsf{FPSI}} for L_\infty in Low Dimension Space from sOPRF

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:

  1. 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]}\).

  2. 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.

  3. 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.

  4. 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]\).

  5. 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]\).

  6. 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.

  7. 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:

  1. 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]}\).

  2. 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.

  3. In step 5, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(E_\mathcal{R}\).

  4. 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]\).

  5. 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.

  6. 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. ◻

5.2 Fuzzy PSI for \(L_{p\in[1,\infty)}\) Distance↩︎

5.2.1 Construction from OPPRF↩︎

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.

a

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:

  1. 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]}\).

  2. 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.

  3. 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]}\).

  4. 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.

  5. 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.

  6. 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]\).

  7. 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:

  1. 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]}\).

  2. 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.

  3. 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]}\).

  4. 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.

  5. 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.

  6. 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.

  7. 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.

5.2.2 Construction from sOPRF↩︎

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.

a

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:

  1. 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]}\).

  2. 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.

  3. 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.

  4. 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]\).

  5. 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]}\).

  6. 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.

  7. 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.

  8. 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:

  1. 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]}\).

  2. 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.

  3. In step 5-6, \(\mathsf{Sim}_\mathcal{R}\) executes like an honest receiver and learns \(E_\mathcal{R}\).

  4. 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]}\).

  5. 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.

  6. 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. ◻

6 Fuzzy PSI in High Dimension↩︎

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.

6.1 Distributed ID Generation↩︎

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.

Figure 25: Distributed ID Generation Protocol \Pi_{\mathsf{dIDG}}

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:

  1. 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]}\).

  2. 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.

  3. 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]\).

  4. 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.

  5. 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.

  6. 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]\).

  7. 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.

  8. 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.

  9. 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]\).

  10. 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.

  11. 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.

  12. 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.

 ◻

6.2 Fuzzy PSI for \(L_\infty\) Distance↩︎

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.

Figure 26: Fuzzy PSI Protocol \Pi_{\mathsf{FPSI}} for L_\infty in High Dimension Space from OPPRF

6.3 Fuzzy PSI for \(L_{p\in[1,\infty)}\) Distance↩︎

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.

a

Figure 27: Fuzzy PSI Protocol \(\Pi_{\mathsf{FPSI}}\) for \(L_{p\in[1,\infty)}\) in High Dimension Space from OPPRF. a — image

7 Implementation and Performance↩︎

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}\).

Table 1: Communication cost (in MB) and running time (in seconds) comparing our protocols to [27], [30]. Cells with - denote trials that ran out of memory. The best result is highlighted in blue, the second best in cyan, and data in red font indicates abnormal values.
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
Table 2: Communication cost (in MB) and running time (in seconds) comparing our protocols to [22], [30]. Cells with - denote trials that ran out of memory. The best result is highlighted in blue, the second best in cyan.
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

7.1 Implementation Details↩︎

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].

7.2 Performance Evaluation↩︎

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.

8 Security Flaws of [30]↩︎

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.

8.1 Security Flaws in Fuzzy Matching↩︎

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.

Figure 28: Fuzzy Matching Protocol for L_\infty Distance in [30]

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.

8.2 Security Flaws in Distributed ID Generation↩︎

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.

Figure 29: Private Index Search Functionality \mathcal{F}_{\mathsf{PIS}}
Figure 30: Distributed ID Generation Protocol in [30]

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.

9 Extended Experiments↩︎

9.1 Comparison Results of FPSI for \(L_\infty\) Distances in WAN Setting↩︎

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.

Table 3: Communication cost (in MB) and running time (in seconds) comparing our protocols to [27], [30] in WAN setting. Cells with - denote trials that ran out of memory. The best result is highlighted in blue, the second best in cyan, and data in red font indicates abnormal values.
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
Table 4: Communication cost (in MB) and running time (in seconds) comparing our protocols to [30] in WAN setting. Cells with - denote trials that ran out of memory. The best result is highlighted in blue, the second best in cyan.
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\).

9.2 Comparison Results of FPSI for \(L_1\) and \(L_2\) Distances↩︎

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.

Table 5: Communication cost (in MB) and running time (in seconds) of our protocols compared with those of [30] for \(L_1\) distance in a low-dimensional LAN setting. Cells with - denote trials that ran out of memory. The best result is highlighted in blue, the second best in cyan, and data in red font indicates abnormal values.
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 - - - - - - - -
Table 6: Communication cost (in MB) and running time (in seconds) of our protocols compared with those of [22], [30] for \(L_1\) distance in a high-dimensional LAN setting. Cells with - denote trials that ran out of memory. The best result is highlighted in blue, the second best in cyan.
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
Table 7: Communication cost (in MB) and running time (in seconds) of our protocols compared with those of [30] for \(L_1\) distance in a low-dimensional WAN setting. Cells with - denote trials that ran out of memory. The best result is highlighted in blue, the second best in cyan, and data in red font indicates abnormal values.
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 - - - - - - - -
Table 8: Communication cost (in MB) and running time (in seconds) of our protocols compared with those of [30] for \(L_1\) distance in a high-dimensional WAN setting. Cells with - denote trials that ran out of memory. The best result is highlighted in blue, the second best in cyan.
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
Table 9: Communication cost (in MB) and running time (in seconds) of our protocols compared with those of [30] for \(L_2\) distance in a low-dimensional LAN setting. Cells with - denote trials that ran out of memory. The best result is highlighted in blue, the second best in cyan, and data in red font indicates abnormal values.
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
Table 10: Communication cost (in MB) and running time (in seconds) of our protocols compared with those of [22], [30] for \(L_2\) distance in a high-dimensional LAN setting. Cells with - denote trials that ran out of memory. The best result is highlighted in blue, the second best in cyan.
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
Table 11: Communication cost (in MB) and running time (in seconds) of our protocols compared with those of [30] for \(L_2\) distance in a low-dimensional WAN setting. Cells with - denote trials that ran out of memory. The best result is highlighted in blue, the second best in cyan, and data in red font indicates abnormal values.
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
Table 12: Communication cost (in MB) and running time (in seconds) of our protocols compared with those of [30] for \(L_2\) distance in a high-dimensional WAN setting. Cells with - denote trials that ran out of memory. The best result is highlighted in blue, the second best in cyan.
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

References↩︎

[1]
X. S. Wang, Y. Huang, Y. Zhao, H. Tang, X. Wang, and D. Bu, “Efficient genome-wide, privacy-preserving similar patient query based on private edit distance,” in Proceedings of the 22nd ACM SIGSAC conference on computer and communications security, denver, CO, USA, october 12-16, 2015, 2015, pp. 492–503, doi: 10.1145/2810103.2813725.
[2]
A. Kulshrestha and J. R. Mayer, “Identifying harmful media in end-to-end encrypted communication: Efficient private membership computation,” in 30th USENIX security symposium, USENIX security 2021, august 11-13, 2021, 2021, pp. 893–910, [Online]. Available: https://www.usenix.org/conference/usenixsecurity21/presentation/kulshrestha.
[3]
B. Pal, M. Islam, T. Ristenpart, and R. Chatterjee, “Might I get pwned: A second generation password breach alerting service,” CoRR, vol. abs/2109.14490, 2021, [Online]. Available: https://arxiv.org/abs/2109.14490.
[4]
A. van Baarsen and S. Pu, “Fuzzy private set intersection with large hyperballs,” in Advances in cryptology - EUROCRYPT 2024 - 43rd annual international conference on the theory and applications of cryptographic techniques, zurich, switzerland, may 26-30, 2024, proceedings, part V, 2024, vol. 14655, pp. 340–369, doi: 10.1007/978-3-031-58740-5\_12.
[5]
A. Chakraborti, G. Fanti, and M. K. Reiter, “Distance-aware private set intersection,” in 32nd USENIX security symposium, USENIX security 2023, anaheim, CA, USA, august 9-11, 2023, 2023, pp. 319–336, [Online]. Available: https://www.usenix.org/conference/usenixsecurity23/presentation/chakraborti-intersection.
[6]
B. Pinkas, T. Schneider, and M. Zohner, “Faster private set intersection based on OT extension,” in USENIX security, 2014, [Online]. Available: https://www.usenix.org/conference/usenixsecurity14/technical-sessions/presentation/pinkas.
[7]
V. Kolesnikov, R. Kumaresan, M. Rosulek, and N. Trieu, “Efficient batched oblivious PRF with applications to private set intersection,” in CCS 2016, 2016, doi: 10.1145/2976749.2978381.
[8]
B. Pinkas, M. Rosulek, N. Trieu, and A. Yanai, “SpOT-light: Lightweight private set intersection from sparse OT extension,” in CRYPTO 2019, 2019, doi: 10.1007/978-3-030-26954-8\_13.
[9]
M. Chase and P. Miao, “Private set intersection in the internet setting from lightweight oblivious PRF,” in CRYPTO 2020, 2020, doi: 10.1007/978-3-030-56877-1\_2.
[10]
B. Pinkas, M. Rosulek, N. Trieu, and A. Yanai, PSI from PaXoS: Fast, malicious private set intersection,” in EUROCRYPT 2020, 2020, doi: 10.1007/978-3-030-45724-2\_25.
[11]
G. Garimella, B. Pinkas, M. Rosulek, N. Trieu, and A. Yanai, “Oblivious key-value stores and amplification for private set intersection,” in CRYPTO 2021, 2021, doi: 10.1007/978-3-030-84245-1\_14.
[12]
G. Garimella, P. Mohassel, M. Rosulek, S. Sadeghian, and J. Singh, “Private set operations from oblivious switching,” in PKC 2021, 2021, doi: 10.1007/978-3-030-75248-4\_21.
[13]
M. Rosulek and N. Trieu, “Compact and malicious private set intersection for small sets,” in CCS ’21: 2021 ACM SIGSAC conference on computer and communications security, virtual event, republic of korea, november 15 - 19, 2021, 2021, pp. 1166–1181, doi: 10.1145/3460120.3484778.
[14]
P. Rindal and P. Schoppmann, VOLE-PSI: Fast OPRF and circuit-PSI from vector-OLE,” in EUROCRYPT 2021, 2021, doi: 10.1007/978-3-030-77886-6\_31.
[15]
S. Raghuraman and P. Rindal, “Blazing fast PSI from improved OKVS and subfield VOLE,” in Proceedings of the 2022 ACM SIGSAC conference on computer and communications security, CCS 2022, los angeles, CA, USA, november 7-11, 2022, 2022, pp. 2505–2517, doi: 10.1145/3548606.3560658.
[16]
D. Bui and G. Couteau, “Improved private set intersection for sets with small entries,” in Public-key cryptography - PKC 2023 - 26th IACR international conference on practice and theory of public-key cryptography, atlanta, GA, USA, may 7-10, 2023, proceedings, part II, 2023, vol. 13941, pp. 190–220, doi: 10.1007/978-3-031-31371-4\_7.
[17]
Y. Chen, M. Zhang, C. Zhang, M. Dong, and W. Liu, “Private set operations from multi-query reverse private membership test,” in Public-key cryptography - PKC 2024 - 27th IACR international conference on practice and theory of public-key cryptography, sydney, NSW, australia, april 15-17, 2024, proceedings, part III, 2024, vol. 14603, pp. 387–416, doi: 10.1007/978-3-031-57725-3\_13.
[18]
M. J. Freedman, K. Nissim, and B. Pinkas, “Efficient private matching and set intersection,” in EUROCRYPT 2004, 2004, doi: 10.1007/978-3-540-24676-3\_1.
[19]
G. Garimella, M. Rosulek, and J. Singh, “Structure-aware private set intersection, with applications to fuzzy matching,” in Advances in cryptology - CRYPTO 2022 - 42nd annual international cryptology conference, CRYPTO 2022, santa barbara, CA, USA, august 15-18, 2022, proceedings, part I, 2022, vol. 13507, pp. 323–352, doi: 10.1007/978-3-031-15802-5\_12.
[20]
G. Garimella, M. Rosulek, and J. Singh, “Malicious secure, structure-aware private set intersection,” in Advances in cryptology - CRYPTO 2023 - 43rd annual international cryptology conference, CRYPTO 2023, santa barbara, CA, USA, august 20-24, 2023, proceedings, part I, 2023, vol. 14081, pp. 577–610, doi: 10.1007/978-3-031-38557-5\_19.
[21]
G. Garimella, B. Goff, and P. Miao, “Computation efficient structure-aware PSI from incremental function secret sharing,” in Advances in cryptology - CRYPTO 2024 - 44th annual international cryptology conference, santa barbara, CA, USA, august 18-22, 2024, proceedings, part VIII, 2024, vol. 14927, pp. 309–345, doi: 10.1007/978-3-031-68397-8\_10.
[22]
Y. Gao, L. Qi, X. Liu, Y. Luo, and L. Wang, “Efficient fuzzy private set intersection from fuzzy mapping,” in Advances in cryptology - ASIACRYPT 2024 - 30th international conference on the theory and application of cryptology and information security, kolkata, india, december 9-13, 2024, proceedings, part VI, 2024, vol. 15489, pp. 36–68, doi: 10.1007/978-981-96-0938-3\_2.
[23]
W. Chongchitmate, S. Lu, and R. Ostrovsky, “Approximate PSI with near-linear communication,” IACR Cryptol. ePrint Arch., p. 682, 2024, [Online]. Available: https://eprint.iacr.org/2024/682.
[24]
D. Richardson, M. Rosulek, and J. Xu, “Fuzzy PSI via oblivious protocol routing.” Cryptology ePrint Archive, Paper 2024/1642, 2024, [Online]. Available: https://eprint.iacr.org/2024/1642.
[25]
E.-O. Blass and G. Noubir, “Assumption-free fuzzy PSI via predicate encryption.” Cryptology ePrint Archive, Paper 2025/217, 2025, [Online]. Available: https://eprint.iacr.org/2025/217.
[26]
C. Zhang et al., “Fast fuzzy PSI from symmetric-key techniques.” Cryptology ePrint Archive, Paper 2025/885, 2025, [Online]. Available: https://eprint.iacr.org/2025/885.
[27]
D. Bui, G. Garimella, P. Miao, and P. V. L. Pham, “New framework for structure-aware PSI from distributed function secret sharing,” in Advances in cryptology – ASIACRYPT 2025, 2025, pp. 294–326.
[28]
A. van Baarsen and S. Pu, “Fuzzy private set intersection from VOLE,” in Advances in cryptology – ASIACRYPT 2025, 2025, pp. 327–360.
[29]
L. Piske, J. Singh, N. Trieu, V. Kolesnikov, and V. Zikas, “Distance-aware OT with application to fuzzy PSI,” in Proceedings of the 2025 ACM SIGSAC conference on computer and communications security, CCS 2025, taipei, taiwan, october 13-17, 2025, 2025, pp. 4679–4691, doi: 10.1145/3719027.3744857.
[30]
C. Dang, X. Zhou, and B. Liang, “Efficient fuzzy PSI based on prefix representation,” in Proceedings of the 2025 ACM SIGSAC conference on computer and communications security, CCS 2025, 2025, doi: 10.1145/3719027.3765203.
[31]
C. A. Meadows, “A more efficient cryptographic matchmaking protocol for use in the absence of a continuously available third party,” in Proceedings of the 1986 IEEE symposium on security and privacy, oakland, california, USA, april 7-9, 1986, 1986, pp. 134–137, doi: 10.1109/SP.1986.10022.
[32]
Y. Ishai, J. Kilian, K. Nissim, and E. Petrank, “Extending oblivious transfers efficiently,” in CRYPTO 2003, 2003, doi: 10.1007/978-3-540-45146-4\_9.
[33]
E. Boyle et al., “Efficient two-round OT extension and silent non-interactive secure computation,” in CCS 2019, 2019, doi: 10.1145/3319535.3354255.
[34]
V. Kolesnikov, N. Matania, B. Pinkas, M. Rosulek, and N. Trieu, “Practical multi-party private set intersection from symmetric-key techniques,” in Proceedings of the 2017 ACM SIGSAC conference on computer and communications security, CCS 2017, 2017, pp. 1257–1272, doi: 10.1145/3133956.3134065.
[35]
M. Chase, E. Ghosh, and O. Poburinnaya, “Secret-shared shuffle,” in Advances in cryptology - ASIACRYPT 2020 - 26th international conference on the theory and application of cryptology and information security, daejeon, south korea, december 7-11, 2020, proceedings, part III, 2020, vol. 12493, pp. 342–372, doi: 10.1007/978-3-030-64840-4\_12.
[36]
S. Peceny, S. Raghuraman, P. Rindal, and H. Shah, “Efficient permutation correlations and batched random access for two-party computation,” in Public-key cryptography - PKC 2025 - 28th IACR international conference on practice and theory of public-key cryptography, røros, norway, may 12-15, 2025, proceedings, part IV, 2025, vol. 15677, pp. 76–109, doi: 10.1007/978-3-031-91829-2\_3.
[37]
N. Alamati, G.-V. Policharla, S. Raghuraman, and P. Rindal, “Improved alternating-moduli PRFs and post-quantum signatures,” in Advances in cryptology - CRYPTO 2024 - 44th annual international cryptology conference, santa barbara, CA, USA, august 18-22, 2024, proceedings, part VIII, 2024, vol. 14927, pp. 274–308, doi: 10.1007/978-3-031-68397-8\_9.
[38]
O. Goldreich, The foundations of cryptography - volume 2: Basic applications. Cambridge University Press, 2004.
[39]
Y. Lindell, How to simulate it - A tutorial on the simulation proof technique,” in Tutorials on the foundations of cryptography, Y. Lindell, Ed. Springer International Publishing, 2017, pp. 277–346.
[40]
P. Mohassel and S. S. Sadeghian, “How to hide circuits in MPC an efficient framework for private function evaluation,” in EUROCRYPT 2013, 2013, doi: 10.1007/978-3-642-38348-9\_33.
[41]
M. O. Rabin, “How to exchange secrets with oblivious transfer,” IACR Cryptol. ePrint Arch., vol. 2005, p. 187, 2005, [Online]. Available: http://eprint.iacr.org/2005/187.
[42]
C. Zhang, Y. Chen, W. Liu, M. Zhang, and D. Lin, “Linear private set union from Multi-Query reverse private membership test,” in 32nd USENIX security symposium (USENIX security 23), Aug. 2023, pp. 337–354, [Online]. Available: https://www.usenix.org/conference/usenixsecurity23/presentation/zhang-cong.
[43]
B. Pinkas, T. Schneider, O. Tkachenko, and A. Yanai, “Efficient circuit-based PSI with linear communication,” in Advances in cryptology - EUROCRYPT 2019, part III, 2019, vol. 11478, pp. 122–153, doi: 10.1007/978-3-030-17659-4\_5.
[44]
B. Pinkas, T. Schneider, G. Segev, and M. Zohner, “Phasing: Private set intersection using permutation-based hashing,” in USENIX security 2015, 2015, [Online]. Available: https://www.usenix.org/conference/usenixsecurity15/technical-sessions/presentation/pinkas.
[45]
R. Pagh and F. F. Rodler, “Cuckoo hashing,” J. Algorithms, vol. 51, no. 2, pp. 122–144, 2004, doi: 10.1016/j.jalgor.2003.12.002.
[46]
B. Pinkas, T. Schneider, and M. Zohner, “Scalable private set intersection based on OT extension,” ACM Trans. Priv. Secur., vol. 21, no. 2, pp. 7:1–7:35, 2018, doi: 10.1145/3154794.
[47]
N. Chandran, D. Gupta, and A. Shah, “Circuit-PSI with linear complexity via relaxed batch OPPRF,” Proc. Priv. Enhancing Technol., vol. 2022, no. 1, pp. 353–372, 2022, doi: 10.2478/popets-2022-0018.
[48]
T. Lu et al., “Efficient 2PC for constant round secure equality testing and comparison,” in 34th USENIX security symposium., 2025.
[49]
D. Boneh, Y. Ishai, A. Passelègue, A. Sahai, and D. J. Wu, “Exploring crypto dark matter: - new simple PRF candidates and their applications,” in Theory of cryptography - 16th international conference, TCC 2018, panaji, india, november 11-14, 2018, proceedings, part II, 2018, vol. 11240, pp. 699–729, doi: 10.1007/978-3-030-03810-6\_25.
[50]
P. Rindal, Vole-PSI.” https://github.com/ladnir/volepsi.
[51]
Y. Jia, S.-F. Sun, H.-S. Zhou, J. Du, and D. Gu, “Shuffle-based private set union: Faster and more secure,” in USENIX security 22, 2022, [Online]. Available: https://www.usenix.org/conference/usenixsecurity22/presentation/jia.
[52]
[53]
[54]
L. Roy, “SoftSpokenOT: Quieter OT extension from small-field silent VOLE in the minicrypt model,” in Advances in cryptology - CRYPTO 2022 - 42nd annual international cryptology conference, CRYPTO 2022, santa barbara, CA, USA, august 15-18, 2022, proceedings, part I, 2022, vol. 13507, pp. 657–687, doi: 10.1007/978-3-031-15802-5\_23.
[55]
P. Rindal, libOTe: an efficient, portable, and easy to use Oblivious Transfer Library.” https://github.com/osu-crypto/libOTe.
[56]
P. Rindal, cryptotools.” https://github.com/ladnir/cryptoTools.
[57]
P. Rindal, coproto.” https://github.com/Visa-Research/coproto.

  1. The prefix property ensures at most one such \(v_k^*\) exists per dimension.↩︎

  2. When \(q_k > w_k\), the left endpoint is used.↩︎

  3. For convenience, we assume \(q_k\leq w_k\). The case \(q_k> w_k\) is handled analogously by a second OPPRF.↩︎

  4. 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.↩︎

  5. We assume \(l=2^\eta\) for some integer \(\eta\).↩︎

  6. For example, for \(l=4\), the algorithm \(\mathsf{ShareTrans}\) will convert the sharing of \(0011\) into the sharing of \(1\oplus 2\).↩︎

  7. https://github.com/asu-crypto/daOT-fuzzyPSI↩︎

  8. 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\).↩︎

  9. Since [27] only supports \(\delta\in\{10,30,60,120,250\}\), we align their results with ours using the closest matching \(\delta\) values.↩︎