CRGC-A Practical Framework for Constructing Reusable
Garbled Circuits
关键词:安全多方计算、混淆电路、隐私增强技术
摘要
在这项工作中,我们介绍了两种在半诚实设置中构建可重用混淆电路(RGC)
的方案。我们完全可重用的混淆电路(CRGC)方案允许生成器(甲方)构建
混淆的布尔电路并将其与编码输入一起发送给评估器(乙方)。与姚氏混淆电路
协议相比,评估器可以使用任意数量的输入安全地评估相同的 CRGC。作为权
衡,CRGC 具有可预测的输入位泄漏。我们还提出了一种部分可重用混淆电路
(PRGC)方案,将电路分为可重用和不可重用部分。PRGC 不会泄漏生成器的
输入位。我们将 CRGC 实现与最先进的姚氏混淆电路库 EMP SH2PC 和 Tiny
Garble2 进行基准测试。使用我们的框架,评估 CRGC 的速度比评估由两个现有
库构建的等效姚氏混淆电路快 20 倍。我们的开源库可以以每秒约 8000 万门的
速度将任何 C++函数转换为 RGC,并以每秒约 3.5 亿门的速度重复评估 CRGC。
此外,压缩的 CRGC 的文件大小比未混淆的布尔电路小约 75%。
1.介绍
安全多方计算(SMC)使各方能够在不经意间共享的输入上执行功能,而无
需透露它们[Lindell,2020]。姚氏混淆电路协议协议[Yao,1982,Yao,1986]是一种流
行的用于实现半诚实双方计算的 SMC 协议。按照协议,电路生成器将其编码输
入以及布尔电路的加密和置换门输出表发送到电路评估器。评估器通过不经意
的传输只能获得每个电路的一组编码输入。因此,每次评估器想要从一组新的
输入中获得输出时,它都需要请求另一个混淆电路。混淆电路的文件大小会变
大。我们的可重用混淆电路(RGC)方案允许评估者为多组输入重复使用混淆电
路。与每次评估发送新的姚氏混淆电路相比,它们显着减少了通信开销。RGC
使 A 方能够将混淆的数据发送给不受信任的 B 方,并确保共享数据保持秘密,
并且只能用于原始电路实现的预期目的。B 可以使用任意数量的输入来评估
RGC,而无需透露 A 的输入。
现有的 RGC 方案通常依赖于对于现实世界用例来说过于复杂的加密原语。
相反,我们的关键想法是利用信息论技术来混淆生成器发送给评估器的电线标
签,从而阻碍评估器了解生成器的秘密输入。通过这种方法,评估器可以使用
任意输入重复评估相同的混淆电路。仅当生成器的输入发生变化时,才需要构
建一个全新的混淆电路。虽然构建 RGC 可能比构建不可重用的混淆电路花费更
长的时间,但由于评估速度更快,随着时间的推移,它会得到回报。并非电路
中的所有门都可以在不泄漏输入位的情况下进行混淆。因此,生成器有两个选
择:
1. 它仅使用我们的技术混淆那些不会泄漏信息的门。然后,它将剩余的未混
淆的门分组为 n 个不可重用的子电路,并为这些子电路准备 n 个姚氏混淆
电路协议。通过这种方法,我们获得了电路中可重用和不可重用的部分。
我们将所得电路称为部分可重用混淆电路(PRGC)。
2. 它用我们的技术混淆了所有门,并容忍一定数量的泄漏输入位。我们将由