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, the evaluator can securely evaluate the same CRGC with an arbitrary number of inputs. As a tradeoff, CRGCs come with predictable input bit leakage. 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 the generator. We benchmark our CRGC implementation against the state-of-the-art Yao's Garbled Circuit libraries EMP SH2PC and TinyGarble2. Using our framework, evaluating a CRGC is up to twenty times faster than evaluating an equivalent Yao's Garbled Circuit constructed by the two existing libraries. Our open-source library can convert any C++ function to an RGC 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.
翻译:在这项工作中,我们引入了两种办法,在半光化环境下建造可再使用的电压电路。我们完全可再利用的电压电路(CRGC)计划允许发电机(A方)建造和发送一个模糊的布林电路,同时向评估员(B方)发送一个编码输入。与姚的电路协议相比,评价员可以任意地对同一CRGC进行量测。作为交换,CRGC将带来可预测的输入位渗漏。我们还提出了一个部分可再利用的电路(PRGC)计划,将电路分成可再使用和不可再使用的部分。PRCGC不会泄漏发电机的输入位子。我们对照Yao的彩色电路库 EMP SH2PC 和 TinyGarble2 进行量评估。在我们的框架中,对CRCGC的评估比对由两个现有图书馆建造的等值Yao Garble的电路路路路路要快20倍。在RGC的二号上,我们的一个开放的CRGC机库可以反复将100万次转换为CMex。