Garbled circuit
A garbling scheme turns a Boolean circuit into a garbled circuit , an encoding key that maps each input to a garbled input , and decoding information , so that evaluating on and decoding gives while reveals nothing else about . The syntax and security notions below are those of BHR12.
Syntax
A garbling scheme is a tuple of efficient algorithms for Boolean circuits :
- , a randomized algorithm outputting a garbled circuit , an encoding key and decoding information .
- , a deterministic algorithm mapping to a garbled input .
- , a deterministic algorithm outputting a garbled output .
- , a deterministic algorithm outputting or .
The scheme is projective: the encoding key is a list of label pairs , and , so the garbled input of consists of one label per input bit.
Properties
Correctness
is correct if for all , all circuits , all and all output by ,
Privacy
The adversary chooses a circuit and an input; in world it receives the garbled circuit, the garbled input and the decoding information, and in world a simulator’s output computed from and alone.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{prv}}_{\calG,\calA,\Sim}(\secpar)$}
\begin{algorithmic}
\State $b \getsr \bits$
\State $(f, x, \stA) \gets \calA(1^\secpar)$
\Comment{$f : \bits^m \to \bits^k$ a circuit, $x \in \bits^m$}
\State $(F, e, d) \gets \mathsf{Garble}(1^\secpar, f)$; $X := \mathsf{Encode}(e, x)$
\State $\mathit{out}_0 := (F, X, d)$
\State $\mathit{out}_1 \gets \Sim(1^\secpar, f, f(x))$
\State $b' \gets \calA(\stA, \mathit{out}_b)$
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
A garbling scheme is private if there is an efficient such that for all efficient ,
is negligible. A garbled circuit scheme here is a correct, projective and private garbling scheme.
Variations
Privacy relative to side information
BHR12 parameterize privacy by a side-information function : the simulator receives and in place of and . With the topology of , which omits the function each gate computes, the garbled circuit also hides beyond its topology — BHR12. A simulator for computable from is a simulator for the notion above, applied to — standard.
Obliviousness and authenticity
Obliviousness asks that , without , be simulatable from the side information alone, so that the evaluator learns nothing about ; authenticity asks that no efficient adversary given output a garbled output with . They serve private and verifiable outsourcing of computation — BHR12.
Other results
- Any PRF gives a private projective garbling scheme (PRF ⇒ garbled circuits) — BHR12; its garbled table has four ciphertexts per gate — standard.
- XOR gates need no garbled table and no cryptographic operation (free XOR), in the random oracle model — KS08. With half gates, AND gates take two ciphertexts and XOR gates stay free, which is optimal among linear garbling schemes, a class that covers all known practical techniques — ZRE15. Slicing wire labels in half brings AND gates to bits with free XOR, from a circular correlation-robust hash — RR21.
- A garbling scheme and OT give two-party computation secure against semi-honest adversaries (Yao’s protocol) — Yao86, LP09.
Participates in
Builds on Garbled circuit
Produces Garbled circuit