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:D→R}K\{F_K : D \to R\}_K denote a family of keyed functions, parameterized by server-generated key K←KeyGen(1λ)K \leftarrow KeyGen(1^\lambda). An OPRF protocol operates between a client input x∈Dx \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 xx0.
  • Pseudorandomness: xx1 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 xx2 and send xx3 to server.
  2. Server: xx4 and send xx5 to client.
  3. Client: xx6 to obtain xx7.

Correct protocol execution ensures that xx8 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 xx9 with KK0, KK1. Hash functions KK2 are modeled as random oracles. The PRF is defined as:

KK3

Protocol steps:

  • Client picks KK4, computes KK5; sends KK6 to server.
  • Server computes KK7; returns KK8.
  • Client computes KK9; output is {FK:D→R}K\{F_K : D \to R\}_K0.

In some applications, the outer hash {FK:D→R}K\{F_K : D \to R\}_K1 may be omitted and the domain-specific {FK:D→R}K\{F_K : D \to R\}_K2 used directly (Buccafurri et al., 1 Dec 2025).

DDH-Based OPRF (Naor–Pinkas)

With cyclic group {FK:D→R}K\{F_K : D \to R\}_K3 of prime order {FK:D→R}K\{F_K : D \to R\}_K4 (DDH-hard), and hash {FK:D→R}K\{F_K : D \to R\}_K5:

  • Client chooses random {FK:D→R}K\{F_K : D \to R\}_K6, sends {FK:D→R}K\{F_K : D \to R\}_K7.
  • Server computes {FK:D→R}K\{F_K : D \to R\}_K8 for secret {FK:D→R}K\{F_K : D \to R\}_K9.
  • Client unblinds: K←KeyGen(1λ)K \leftarrow KeyGen(1^\lambda)0.
  • Final output: K←KeyGen(1λ)K \leftarrow KeyGen(1^\lambda)1 using a key-derivation function K←KeyGen(1λ)K \leftarrow KeyGen(1^\lambda)2 (Zhang et al., 21 Jul 2025).

Security requires the DDH assumption, random oracle modeling, and blinding to protect K←KeyGen(1λ)K \leftarrow KeyGen(1^\lambda)3.

3. Extensions: Blocklisted OPRFs (B-OPRF)

Blocklisted OPRFs (B-OPRFs) generalize OPRFs to allow the server to enforce a blocklist K←KeyGen(1λ)K \leftarrow KeyGen(1^\lambda)4 (possibly “fuzzy,” via metric embedding). The evaluation only succeeds if K←KeyGen(1λ)K \leftarrow KeyGen(1^\lambda)5; otherwise, the process aborts without revealing K←KeyGen(1λ)K \leftarrow KeyGen(1^\lambda)6 (Zhang et al., 21 Jul 2025).

The architecture involves:

  • Metric-space embedding: Transform K←KeyGen(1λ)K \leftarrow KeyGen(1^\lambda)7 to K←KeyGen(1λ)K \leftarrow KeyGen(1^\lambda)8 (embedding key K←KeyGen(1λ)K \leftarrow KeyGen(1^\lambda)9), compute x∈Dx \in D0.
  • Two-phase protocol:
    • Explicit check: OPRF-based embedding and private distance-aware set intersection. Abort if too close to x∈Dx \in D1.
    • Commit token: Upon passing, compute x∈Dx \in D2 (x∈Dx \in D3), then OPRF on x∈Dx \in D4 gives output; x∈Dx \in D5 stores x∈Dx \in D6.
    • Implicit check: For subsequent queries, x∈Dx \in D7 recomputes x∈Dx \in D8, x∈Dx \in D9 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 KK0 is used by each identity provider (IdP):

  • Each KK1 applies KK2 to the blinded input, yielding KK3.
  • CTS computes KK4.
  • IdP retrieves KK5.

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 KK6 and KK7, inverting KK8 is computationally infeasible.
  • Random Oracle Model: KK9 and y=FK(x)y = F_K(x)0 (or y=FK(x)y = F_K(x)1) behave as ideal random functions.
  • DDH (for group-based OPRF): The indistinguishability of y=FK(x)y = F_K(x)2 from random group elements.

Obliviousness for the input arises from the one-wayness of blinding (e.g., y=FK(x)y = F_K(x)3 masks y=FK(x)y = F_K(x)4), 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 y=FK(x)y = F_K(x)5, 2 exponentiations, 1 inversion y=FK(x)y = F_K(x)6-bit value to server; receives y=FK(x)y = F_K(x)7-bit result
Server (CTS) 1 exponentiation y=FK(x)y = F_K(x)8-bit response

For y=FK(x)y = F_K(x)9-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 xx0. In password-blocklisting experiments with xx1 (embedded to xx2), explicit check latency is xx3 s and subsequent implicit check is xx4 ms; communication is correspondingly xx5 MB and xx6 KB. For blocklisted MACs in malware applications with xx7, explicit check is xx8 s and xx9 MB, implicit check just KK0 s and KK1 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 KK2); 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).