FleXOR: Flexible garbling for XOR gates that beats free-XOR
Vladimir Kolesnikov, Payman Mohassel, Mike Rosulek
CRYPTO 2014 [pdf]
When garbling a circuit, suppose an XOR gate has input wire labels ⚠ {$(A, A\oplus \Delta_A)$} and ⚠ {$(B, B\oplus \Delta_B)$} and we would like the output wire to have labels ⚠ {$(C, C\oplus \Delta_C)$} for some value ⚠ {$C$}. The case of ⚠ {$\Delta_A = \Delta_B = \Delta_C$} corresponds to free XOR, since we can simply set ⚠ {$C = A \oplus B$}.
Flexible XOR (fleXOR) is an approach for garbling XOR gates that works with any ⚠ {$\Delta_A, \Delta_B, \Delta_C$} values (these ⚠ {$\Delta$} values are called offsets). Roughly speaking, the garbler chooses random labels ⚠ {$A', B'$} and includes the following ciphertexts:
- encryption of
⚠ {$A'$}under⚠ {$A$} - encryption of
⚠ {$A' \oplus \Delta_C$}under⚠ {$A \oplus \Delta_A$} - encryption of
⚠ {$B'$}under⚠ {$B$} - encryption of
⚠ {$B' \oplus \Delta_C$}under⚠ {$B \oplus \Delta_B$}
Hence, the evaluator can open up exactly one of ciphertexts 1/2, and one of ciphertexts 3/4. This effectively translates ⚠ {$(A, A\oplus \Delta_A)$} labels to ⚠ {$(A', A'\oplus \Delta_C)$}, and translates ⚠ {$(B, B\oplus \Delta_B)$} labels to ⚠ {$(B', B'\oplus \Delta_C)$}. Since the "translated" labels have the same desired offset ⚠ {$\Delta_C$}, we can now do the free-XOR trick of setting ⚠ {$C = A' \oplus B'$}.
Using garbled row-reduction, ciphertexts 1 & 3 can be removed (by choosing ⚠ {$A'$} and ⚠ {$C'$} implicitly and pseudorandomly). Further, if ⚠ {$\Delta_A = \Delta_C$} then ciphertext 2 is not needed; if ⚠ {$\Delta_B = \Delta_C$}, then ciphertext 4 is not needed. Overall, the fleXOR method results in a garbled gate consisting of ⚠ {$|\{\Delta_A, \Delta_B, \Delta_C\}| - 1$} ciphertexts.
By choosing ⚠ {$\Delta$} offsets for each wire in different ways, different properties can be achieved:
- By setting
⚠ {$\Delta$}to be the same for all wires, the construction collapses to standard Free-XOR - It is possible to set the
⚠ {$\Delta$}values to avoid the circularity problem of Free-XOR, pointed out by CKKZ12. With appropriate choice of offsets, fleXOR can be instantiated under a weaker (related-key, non-circular) hardness assumption. - Free-XOR is compatible with 4-to-3 garbled row-reduction applied to non-XOR gates, but it is incompatible with the 4-to-2 variant described in PSSW09. Hence, with free-XOR the XOR gates cost nothing (in terms of garbled circuit size) while the AND gates cost 3 ciphertexts. With appropriate choice of offsets, fleXOR is compatible with 4-to-2 row reduction of its non-XOR gates. Hence, XOR gates cost 0, 1, or 2 ciphertexts, and non-XOR gates cost 2. For many circuits, this can lead to smaller overall size of garbled circuits than previous methods.
Categories:
- Home page
- All papers, by:
- .. category
- .. author names
- .. publication date
- .. recently added
- .. recently updated
- Glossary
- About
- Just getting started in MPC?
- Guidelines
- Todo List
Search Papers
Bibliography Categories
