CRGC -- A Practical Framework for Constructing Reusable Garbled Circuits
In this work, we introduce two schemes to construct reusable garbled circuits (RGCs) in the semi-honest setting. Our completely reusable garbled circuit (CRGC) scheme allows the generator (party A) to construct and send an obfuscated boolean circuit along with an encoded input to the evaluator (part...
Gespeichert in:
Hauptverfasser: | , , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | In this work, we introduce two schemes to construct reusable garbled circuits
(RGCs) in the semi-honest setting. Our completely reusable garbled circuit
(CRGC) scheme allows the generator (party A) to construct and send an
obfuscated boolean circuit along with an encoded input to the evaluator (party
B). In contrast to Yao's Garbled Circuit protocol, B can securely evaluate the
same CRGC with an arbitrary number of inputs. As a tradeoff, CRGCs predictably
leak some input bits of A to B. We also propose a partially reusable garbled
circuit (PRGC) scheme that divides a circuit into reusable and non-reusable
sections. PRGCs do not leak input bits of A. We benchmark our CRGC
implementation against the state-of-the-art garbled circuit libraries EMP SH2PC
and TinyGarble2. Using our framework, evaluating a CRGC is up to twenty times
faster, albeit with weaker privacy guarantees, than evaluating an equivalent
garbled circuit constructed by the two existing libraries. Our open-source
library can convert any C++ function to a CRGC at approx. 80 million gates per
second and repeatedly evaluate a CRGC at approx. 350 million gates per second.
Additionally, a compressed CRGC is approx. 75% smaller in file size than the
unobfuscated boolean circuit. |
---|---|
DOI: | 10.48550/arxiv.2203.12646 |