A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Oblivious Transfer

Research Depth 99 in the knowledge graph ☐ I know this ☆ Set as goal
3topics build on this
538prerequisites beneath it
See this on the map →
Computational Hardness AssumptionsThe RSA Cryptosystem→→Garbled CircuitsMulti-Party Computation+1 more
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

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Introduction to Exponents → Order of Operations → Integer Order of Operations → Variable Expressions → The Distributive Property → Variables and Expressions Review → Introduction to Polynomials → Adding and Subtracting Polynomials → Multiplying Polynomials → Factorial → Permutations → Combinations → Counting Principles: Addition and Multiplication Rules → Introduction to Graph Theory → Propositional Logic Foundations → Logical Equivalences → Boolean Algebra → Boolean Type and Truth Values → Comparison Operators and Boolean Tests → Logical Operators and Boolean Algebra → Boolean Algebra and Fundamental Laws → Logic Gates Fundamentals → Implementing Boolean Functions with Gates → Karnaugh Map Simplification → Combinational Circuit Design → Flip-Flops and Latches → Finite State Machines (FSMs) → Deterministic Finite Automata (DFA) → Nondeterministic Finite Automata (NFA) → Two-Way Finite Automata → NFA to DFA Conversion (Subset Construction) → DFA Properties and Minimization Algorithms → Regular Languages: Definition and Characterization → Context-Free Grammars (CFGs) → Pushdown Automata (PDA) → Equivalence of CFGs and Pushdown Automata → Closure Properties of Context-Free Languages → Limitations of Context-Free Languages → Pumping Lemma for Context-Free Languages → Turing Machines → Variants of Turing Machines and Equivalence → Nondeterministic Time Complexity and NP → The P vs. NP Problem → Complexity Class P: Polynomial Time → Hash Functions and Collision Resistance → The RSA Cryptosystem → Computational Hardness Assumptions → Oblivious Transfer

Longest path: 100 steps · 538 total prerequisite topics

Prerequisites (2)

Leads To (3)