Papers
Topics
Authors
Recent
Search
2000 character limit reached

Oblivious Pseudorandom Functions (OPRFs)

Updated 8 December 2025
  • OPRFs are defined as two-party protocols that allow a client to obtain F_K(x) without revealing its input while the server keeps the secret key K.
  • Implementations include RSA-based and DDH-based constructions that use blinding to ensure correctness, obliviousness, and pseudorandomness.
  • Extensions like Blocklisted OPRFs support privacy-preserving checks in federated authentication, secure password registration, and malware detection.

An Oblivious Pseudorandom Function (OPRF) is a two-party cryptographic primitive in which a client and a server jointly compute a keyed pseudorandom function FK(x)F_K(x)—the client receives the output for its private input xx, while the server holds the secret key KK, but neither party learns anything more about the other's secret than what is inherent in the function output. OPRFs form a foundational building block for privacy-preserving protocols, enabling applications such as federated authentication, secure password registration, and blacklisting with input privacy maintained throughout. Their rigorous security stems from cryptographic assumptions such as the RSA inversion assumption or the Decisional Diffie-Hellman (DDH) problem, coupled with blinding techniques and, in advanced variants, privacy-preserving set intersection and embedding strategies (Buccafurri et al., 1 Dec 2025, Zhang et al., 21 Jul 2025).

1. Formal Definition and Properties

Let {FK:DR}K\{F_K : D \to R\}_K denote a family of keyed functions, parameterized by server-generated key KKeyGen(1λ)K \leftarrow KeyGen(1^\lambda). An OPRF protocol operates between a client input xDx \in D and a server holding KK, satisfying three core guarantees:

  • Correctness: Upon completion, the client obtains output y=FK(x)y = F_K(x).
  • Obliviousness: The server learns nothing about xx; the client learns nothing about KK beyond what is implied by yy.
  • Pseudorandomness: FK(x)F_K(x) is computationally indistinguishable from uniform to the client, assuming an honest server.

This is formally realized by protocols decomposing into the sequence:

  1. Client: Compute (X,r)Blind(x)(X, r) \leftarrow Blind(x) and send XX to server.
  2. Server: YEvalK(X)Y \leftarrow Eval_K(X) and send YY to client.
  3. Client: yUnblind(Y,r)y \leftarrow Unblind(Y, r) to obtain FK(x)F_K(x).

Correct protocol execution ensures that y=FK(x)y = F_K(x) and the above security properties hold even if one party is malicious (Buccafurri et al., 1 Dec 2025, Zhang et al., 21 Jul 2025).

2. Concrete Constructions

RSA-Based OPRF

A standard OPRF construction uses RSA blind signatures. The server (central service) possesses an RSA key (N,e,d)(N, e, d) with N=pqN = pq, ed1modφ(N)ed \equiv 1 \bmod \varphi(N). Hash functions H,HH, H' are modeled as random oracles. The PRF is defined as:

FK(x)=H(xdmodN)F_K(x) = H'(x^{d} \bmod N)

Protocol steps:

  • Client picks rZNr \leftarrow \mathbb{Z}_N^*, computes X=H(x)remodNX = H(x) \cdot r^e \bmod N; sends XX to server.
  • Server computes Y=XdmodNY = X^d \bmod N; returns YY.
  • Client computes y=Yr1modNy = Y \cdot r^{-1} \bmod N; output is FK(x)=H(y)F_K(x) = H'(y).

In some applications, the outer hash HH' may be omitted and the domain-specific y=(H(x))dy = (H(x))^d used directly (Buccafurri et al., 1 Dec 2025).

DDH-Based OPRF (Naor–Pinkas)

With cyclic group GG of prime order pp (DDH-hard), and hash H:XGH : X \rightarrow G:

  • Client chooses random rZpr \in \mathbb{Z}_p, sends T=H(x)rT = H(x)^r.
  • Server computes U=Tk=H(x)rkU = T^k = H(x)^{rk} for secret kk.
  • Client unblinds: y=Ur1=H(x)ky = U^{r^{-1}} = H(x)^k.
  • Final output: PRFk(x)=KDF(y)PRF_k(x) = \mathcal{KDF}(y) using a key-derivation function KDF\mathcal{KDF} (Zhang et al., 21 Jul 2025).

Security requires the DDH assumption, random oracle modeling, and blinding to protect xx.

3. Extensions: Blocklisted OPRFs (B-OPRF)

Blocklisted OPRFs (B-OPRFs) generalize OPRFs to allow the server to enforce a blocklist BXB \subseteq X (possibly “fuzzy,” via metric embedding). The evaluation only succeeds if xBx \notin B; otherwise, the process aborts without revealing PRFK(x)PRF_K(x) (Zhang et al., 21 Jul 2025).

The architecture involves:

  • Metric-space embedding: Transform xx to z=Embe(x)z = Emb_e(x) (embedding key ee), compute blockedB,T(z)=bB:d(z,Emb(b))T\text{blocked}_{B,T}(z) = \exists b \in B : d(z, Emb(b)) \leq T.
  • Two-phase protocol:
    • Explicit check: OPRF-based embedding and private distance-aware set intersection. Abort if too close to BB.
    • Commit token: Upon passing, compute t=z+ht = z + h (h=Hash(xze)h = Hash(x||z||e)), then OPRF on tt gives output; SS stores (t,k)(t,k).
    • Implicit check: For subsequent queries, CC recomputes tt, SS allows efficient evaluation bypassing set intersection.
  • Security: The client’s chance to evade blocklisting combines unpredictability of the permutation, PRF security, and false accept/reject rates parameterized by the blocklist embedding (Zhang et al., 21 Jul 2025).

4. Domain-Specific and Privacy-Preserving Transformations

To enforce unlinkability across federated authentication domains, a domain-specific exponent tit_i is used by each identity provider (IdP):

  • Each IdPiIdP_i applies tit_i to the blinded input, yielding Xi=[Blind(x)]timodNX_i = [Blind(x)]^{t_i} \bmod N.
  • CTS computes Yi=XidmodNY_i = X_i^d \bmod N.
  • IdP retrieves PIDi=Yi(rti)1modN=(H(UPI))dtimodNPID_i = Y_i \cdot (r^{t_i})^{-1} \bmod N = (H(UPI))^{d t_i} \bmod N.

This transformation ensures that each IdP derives a pseudonymous identifier specific to its own domain, with no raw user identifier or possibility for cross-domain linkage, while still enabling global duplicate-registration checks (Buccafurri et al., 1 Dec 2025).

5. Security Analysis

The core security rests on established cryptographic assumptions:

  • RSA inversion (for RSA-based OPRF): Given (N,e)(N,e) and uZNu \in \mathbb{Z}_N^*, inverting udu^d is computationally infeasible.
  • Random Oracle Model: HH and HH' (or KDF\mathcal{KDF}) behave as ideal random functions.
  • DDH (for group-based OPRF): The indistinguishability of H(x)kH(x)^k from random group elements.

Obliviousness for the input arises from the one-wayness of blinding (e.g., X=H(x)reX = H(x) r^e masks xx), and pseudorandomness follows from standard reduction arguments. In B-OPRFs, cheating probabilities are bounded by the unpredictability of embedding permutations and the blocklist embedding’s statistical parameters. The security of embedding and blocklist checks is ensured through the use of additional OPRF/VOLE wrappers and cryptographic hashing that hides intermediate values (Buccafurri et al., 1 Dec 2025, Zhang et al., 21 Jul 2025).

6. Efficiency and Practical Implementations

The computational and communication overhead of OPRF protocols is well-understood and practical:

Actor Computation Communication
Client (IdP) 1 hash, 1 rZNr \leftarrow \mathbb{Z}_N^*, 2 exponentiations, 1 inversion N|N|-bit value to server; receives N|N|-bit result
Server (CTS) 1 exponentiation N|N|-bit response

For $2048$-bit RSA, evaluation time is in the low-millisecond range. OPRF-based blocklisting incurs higher cost due to private set intersection, but supports efficient repeat evaluations via token caching, reducing repeated cost to O(d)O(d). In password-blocklisting experiments with B3×105|B| \sim 3 \times 10^5 (embedded to E1,500E \sim 1,500), explicit check latency is $1.42$ s and subsequent implicit check is $11$ ms; communication is correspondingly $5.6$ MB and $21$ KB. For blocklisted MACs in malware applications with n1,000n \sim 1,000, explicit check is $41.3$ s and $102$ MB, implicit check just $4.7$ s and $49$ KB (Buccafurri et al., 1 Dec 2025, Zhang et al., 21 Jul 2025).

7. Applications and Protocol Flows

Federated Authentication

The privacy-preserving protocol for federated identity relies on OPRF for blinded registration and duplicate-enrollment detection while resisting cross-domain correlation. Each enrollment proceeds as:

  1. User submits UPI to IdP.
  2. IdP blinds UPI, applies domain exponent, and transmits to CTS.
  3. CTS evaluates OPRF, returns result for unblinding.
  4. IdP derives pseudonymous domain identifier and proves key possession.
  5. CTS stores (PID, status) and issues a blind signature token (Buccafurri et al., 1 Dec 2025).

Blocklisting in PAKE and Executable MACs

B-OPRFs enable privacy-preserving password blocklisting in augmented PAKE and blocklisted MAC computation for malware-free executables:

  • PAKE blocklisting: Input is checked against both exact and near matches of known weak passwords (edit distance 1\leq 1); explicit check requires set intersection, implicit (repeat) check is fast.
  • Executable MAC: Inputs are compared to blocklisted malware embeddings using PSI, with communication and latency improvements over monolithic approaches (Zhang et al., 21 Jul 2025).

These demonstrations highlight OPRFs’ adaptability to stringent privacy and efficiency requirements in diverse privacy-preserving distributed systems.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (2)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Oblivious Pseudorandom Functions (OPRFs).