Oblivious transfer

Oblivious Transfer (OT) is a two-party protocol between a sender and a receiver . In the basic 1-out-of-2 variant, the sender holds two messages and the receiver holds a choice bit; at the end, the receiver learns the chosen message while the sender learns nothing about the choice, and the receiver learns nothing about the unchosen message.

Syntax

A 1-out-of-2 OT is a pair with message space , following the two-party protocol syntax:

  • is a randomized algorithm generating public parameters,
  • and are stateful interactive algorithms with:
    • input: a pair of messages
    • input: a choice bit
    • output:
    • output:

We write

Properties

Correctness

An OT is -correct if for all and ,

where and When we say is perfectly correct.

Sender Privacy

The receiver should not learn the unchosen message . The adversary commits to a choice bit and two sender input pairs that agree on the chosen value (); after observing the honest receiver’s view, it tries to determine which pair the sender used.

\begin{algorithm}
\algname{Game}
\caption{$\Game^{\text{s-priv}}_{\OT,\calA}(\secpar)$}
\begin{algorithmic}
\State $\pp \gets \Setup(1^\secpar)$
\State $(c, x_0, x_1, x_0', x_1', \stA) \gets \calA(1^\secpar, \pp)$
\Comment{Admissible: $x_c = x_c'$}
\State $(x_0^{(0)}, x_1^{(0)}) := (x_0, x_1)$; $(x_0^{(1)}, x_1^{(1)}) := (x_0', x_1')$
\State $b \getsr \bits$
\State Run $\langle S(\pp, x_0^{(b)}, x_1^{(b)}), R(\pp, c) \rangle$; let $\View_R$ denote R's view
\State $b' \gets \calA(\View_R, \stA)$
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}

An OT has sender-private (or message hiding) if for all efficient admissible ,

is negligible. Because , the receiver’s output is identical in both worlds; any distinguishing advantage must come from the view alone.

Receiver Privacy

The sender should not learn the receiver’s choice bit . The adversary commits to sender inputs ; after observing the honest sender’s view, it tries to determine which bit the receiver chose.

\begin{algorithm}
\algname{Game}
\caption{$\Game^{\text{r-priv}}_{\OT,\calA}(\secpar)$}
\begin{algorithmic}
\State $\pp \gets \Setup(1^\secpar)$
\State $(x_0, x_1, \stA) \gets \calA(1^\secpar, \pp)$
\State $c \getsr \bits$
\State Run $\langle S(\pp, x_0, x_1), R(\pp, c) \rangle$; let $\View_S$ denote S's view
\State $c' \gets \calA(\View_S, \stA)$
\Return $[c' = c]$
\end{algorithmic}
\end{algorithm}

An OT has receiver-private (or choice-hiding) if for all efficient ,

is negligible.

Malicious Security

The definitions above are semi-honest: both parties follow the protocol honestly, and security holds against a party that tries to learn extra information from its view. Under malicious security, the adversary may deviate from the protocol arbitrarily. Game-based definitions extend naturally to this setting (e.g., in the receiver privacy game, the adversary sends arbitrary messages rather than running the honest ). However, game-based definitions alone do not capture all malicious-sender attacks (e.g., forcing the receiver to output a value other than ).

Variations

Rabin OT

Introduced by Rab81, Rabin’s OT is a simpler variant where the sender transmits a single message and the receiver obtains it with probability , receiving otherwise — without the sender learning which outcome occurred. Rabin OT and 1-out-of-2 OT are equivalent; each implies the other by efficient reductions.

-out-of- OT

A generalization where the sender holds messages and the receiver chooses a set of size , learning while the sender learns nothing about .

The 1-out-of- variant is equivalent to single-server PIR with data privacy (SPIR).

OT Extension

OT from public-key primitives requires expensive operations per transfer. OT extension (IKNP03) shows how to generate a large number of OTs from a small number of base OTs using only symmetric-key operations, making OT practical at scale.

Random OT

In a Random OT, the parties do not choose their inputs: the sender receives uniformly random and the receiver receives a uniformly random bit and the value . Random OT can be converted to standard OT with a single round of communication.

Other results