Oblivious Transfer

Research Depth 69 in the knowledge graph I know this Set as goal
Unlocks 3 downstream topics
oblivious-transfer ot-extension mpc-building-block complete-primitive

Core Idea

1-out-of-2 oblivious transfer (OT) is a protocol where a sender has two messages (m0, m1) and a receiver has a choice bit b. After the protocol, the receiver learns m_b but nothing about m_{1-b}, while the sender learns nothing about b. OT is a complete primitive for secure computation: any function can be securely computed using only OT as a building block (Kilian 1988). OT requires computational assumptions — it is impossible information-theoretically. OT extension protocols amortize expensive public-key operations, enabling millions of OTs from a small number of base OTs using only symmetric cryptography.

Explainer

Oblivious transfer (OT) is deceptively simple to state but extraordinarily powerful. In 1-out-of-2 OT, a sender holds two messages m0 and m1, and a receiver holds a bit b. After the protocol, the receiver learns m_b (the message they chose) and nothing about m_{1-b}, while the sender learns nothing about which message was chosen. Both parties are simultaneously ignorant: the sender doesn't know which message was taken, and the receiver doesn't know the message they didn't take. This dual ignorance is what makes OT non-trivial and impossible to achieve without computational assumptions.

OT can be constructed from various public-key assumptions. In the Naor-Pinkas protocol (based on CDH), the receiver sends a pair of group elements, one of which encodes their choice bit. The sender encrypts each message under the corresponding element. The algebraic structure ensures the receiver can decrypt only one message, while the sender cannot determine which one. More recent constructions use lattice-based assumptions, providing post-quantum security. What cannot be done is build OT from one-way functions alone (Impagliazzo-Rudich) — OT genuinely requires public-key-level assumptions, placing it strictly above symmetric primitives in the cryptographic hierarchy.

The theoretical significance of OT lies in its completeness for secure computation (Kilian, 1988): any efficiently computable function can be securely evaluated using OT as the only cryptographic building block. Combined with Yao's garbled circuits, this means two parties can securely compute any function as follows — the garbler constructs the garbled circuit, and the evaluator obtains their input labels via OT (one OT per input bit), ensuring the garbler doesn't learn which labels were selected. For multi-party computation, OT extensions and related techniques generalize this approach. OT is therefore the minimal cryptographic assumption for general secure computation without honest majority.

In practice, OT's main bottleneck is that each invocation requires public-key operations. OT extension (Ishai, Kilian, Nissim, Orlandi, 2003) is the breakthrough optimization: starting from a small number of "base" OTs (128 or 256, performed with expensive public-key crypto), the protocol generates any number of additional OTs using only symmetric operations (hash evaluations). The technique involves exchanging a matrix of bits and using the base OT keys to correlate rows, enabling the amortized cost per OT to drop to a few hash evaluations. Combined with the preprocessing model (precompute random OTs offline, convert to chosen-message OTs online using XOR), this makes practical MPC with millions of OTs feasible. Modern MPC systems can execute billions of OTs per second, transforming OT from a theoretical primitive into a practical workhorse.

Practice Questions 5 questions

Prerequisite Chain

Counting to 10Counting to 20Understanding ZeroThe Number ZeroCounting to FiveOne-to-One CorrespondenceCombining Small Groups Within 5Addition Within 10Addition Within 20Two-Digit Addition Without RegroupingTwo-Digit Addition with RegroupingAddition Within 100Repeated Addition as MultiplicationMultiplication Facts Within 100Division as Equal SharingDivision as Grouping (Measurement Division)Division: Grouping (Repeated Subtraction) ModelDivision: Fair Sharing ModelDivision as Equal SharingDivision as GroupingBasic Division FactsDivision Facts Within 100Two-Digit by One-Digit DivisionDivision with RemaindersRemainders and Quotients in DivisionDivision Word ProblemsIntroduction to Long DivisionFactors and MultiplesPrime and Composite NumbersEquivalent FractionsRelating Fractions and DecimalsDecimal Place ValueReading and Writing DecimalsComparing and Ordering DecimalsAdding and Subtracting DecimalsMultiplying DecimalsDividing DecimalsDividing FractionsMixed Number ArithmeticOrder of OperationsInteger Order of OperationsVariable ExpressionsCombining Like TermsOne-Step EquationsTwo-Step EquationsSolving Multi-Step EquationsEquations with Variables on Both SidesLiteral EquationsSlope-Intercept FormPoint-Slope FormWriting Linear EquationsParallel and Perpendicular Line SlopesGraphing Linear EquationsPiecewise FunctionsStep FunctionsComposition of FunctionsInverse FunctionsRadical Functions and GraphsRational ExponentsExponential Functions and GraphsLogarithms IntroductionTime and Space ComplexityTime Complexity Classes: P and EXPTIMENondeterministic Time Complexity and NPThe P vs. NP ProblemComplexity Class P: Polynomial TimeHash Functions and Collision ResistanceThe RSA CryptosystemComputational Hardness AssumptionsOblivious Transfer

Longest path: 70 steps · 405 total prerequisite topics

Prerequisites (2)

Leads To (3)