Preprocessing Model in MPC 3 - 基于同态加密的协议 - Over Fields 有限域

参考论文:SoK: Multiparty Computation in the Preprocessing Model

MPC (Secure Multi-Party Computation) 博士生入门资料。抄袭必究

本系列教程将逐字解读参考论文(以下简称MPCiPPM),在此过程中,将论文中涵盖的40篇参考文献进行梳理与讲解。

本教程假设:具备高等数学基础知识;对应用密码学有基础了解。不展开、不解答任何百度可以解答的问题。

1 背景与相关研究介绍

1.1 相关工作

2 基础密码学原语

[MPCiPPM-02]: Basic building blocks of MPC.

3 传统预处理模型

[MPCiPPM-03]: What is Beaver Triple? 文献:

Donald Beaver. Efficient multiparty protocols using circuit randomization.

Donald Beaver. One-Time Tables for Two-Party Computation

Breaking the Limits

[MPCiPPM-04]: Breaking the Limits. 文献:Ivan Damg˚ard, Marcel Keller, Enrique Larraia, Valerio Pastro, Peter Scholl, and Nigel P. Smart. Practical covertly secure MPC for dishonest majority - or: Breaking the SPDZ limits.

3.1 基于同态加密的协议

我们将传统预处理协议分为两类:基于同态加密(HE-based) 和 基于不经意传输(OT-based),依据其生成预处理三元组的方式进行分类。

我们进一步根据协议所使用的底层代数结构进行系统化整理,即:域(fields), 环(rings)。

3.1.1 基于有限域上的运算(Over Fields)

在预处理模型下的大多数开创性 MPC 工作都是基于有限域的。

这是一个自然的选择,因为所使用的底层密码学原语(例如 Shamir 秘密共享或加法秘密共享)本身就是在域上运行的。

3.1.1.1 Orlandi Protocol

[MPCiPPM-05]: Orlandi Protocol. 文献:Claudio Orlandi. LEGO and other cryptographic constructions. Technical report, Citeseer, 2009.

Orlandi~\cite{orlandi2009} 提出了一种基于可验证秘密共享(Verifiable Secret Sharing)的协议,用于在算术电路上执行 MPC,该协议可抵抗最多 n-1 个静态主动腐败参与方。

该协议采用了 Beaver~\cite{C:Beaver91b} 的电路随机化方法,但将代价高昂的部分卸载到一个独立的预处理阶段,在该阶段,各方生成随机份额和随机三元组。这一过程与所要计算的函数及参与方的输入无关。

之后,各方使用生成的三元组在其输入上评估电路。

具体而言,为生成一个随机份额 \[r\],其中 r 是一个随机值,每个参与方 P_i 采样一个随机对 (r_i, \\rho_{r,i}) 并广播其承诺。

然后所有参与方计算 (r, \\rho_r) 的承诺,其中 r = \\sum_{i=1}\^{n} r_i\\rho_r = \\sum_{i=1}\^{n} \\rho_{r,i}

将该承诺记为 C_r,则每个参与方 P_i 设置其份额为 \[r\]i = (r_i, \\rho{r,i}, C_i)

假设已生成两个随机份额 \[a\]\[b\] 并分发给各方。

为生成一个乘法三元组 (\[a\], \[b\], \[c\]),其中 c = a \\cdot b,每个参与方 P_i 使用 Paillier 密码体制~\cite{EC:Paillier99} 的公钥加密其份额 a_i

P_i 广播加密后的份额及其对应的承诺。

利用 Paillier 密码体制的同态性,其他参与方可以将其份额与 P_i 的加密份额相乘,从而获得一个随机份额 \[c\]

该乘积随后被掩码为 (\[c\] + \[r\])

为防止恶意对手,协议会生成冗余数量的三元组,并使用其中一个三元组验证另一个是否正确。

利用这些秘密共享的随机值和三元组,可以计算两个秘密共享输入 \[x\]\[y\] 的乘积。

各方将输入掩码为 d = \[x\] - \[a\]e = \[y\] - \[b\],并打开 de

然后计算 \[z\] = e\[x\] + d\[y\] - de + \[c\],从而得到 z = xy

当评估一个包含 M 次乘法的电路,并要求 s 位统计安全性时,该协议的开销为 O(s / \\log M)

次年,Jakobsen 等人~\cite{ACNS:JakMakNie10} 使用 VIFFBench 框架~\cite{VIFFBench} 实现了 Orlandi 协议并进行了性能评估。

用于测试的计算机配备了 1 GHz 双核 AMD Opteron 2216 处理器,拥有 2 \\times 1 MB 的二级缓存和 2 GB 内存。

主机运行的是 Red Hat Enterprise Linux 5.2,架构为 64 位 x86,通过千兆以太网连接,往返延迟为 0.104 毫秒。

他们使用了 1024 位密钥长度的 Paillier 密码体制。

结果显示,在三方参与的情况下,每次乘法的平均执行时间为 15.9 毫秒。

生成一个乘法三元组的平均时间为:两方参与时为 224.2 毫秒,九方参与时为 188.4 毫秒。

3.1.1.2 BDOZ

[MPCiPPM-06]: BDOZ. 文献:Rikke Bendlin, Ivan Damg˚ard, Claudio Orlandi, and Sarah Zakarias. Semihomomorphic encryption and multiparty computation

Bendlin 等人~\cite{EC:BDOZ11} 提出了首个在预处理模型下生成"标准材料"的实用 MPC 协议。该协议在算术电路上运行,并在不诚实多数设置下提供主动安全性。

在预处理阶段,无需知道输入或待计算的函数。在线阶段非常高效,因为它不需要执行任何密码学操作。各方仅需交换加法份额并验证消息认证码(MAC),即用于验证消息真实性与完整性的密码标签。

BDOZ 协议通过在模 p 的平方域 {\\mathbb{Z}}\^2_p 上使用随机密钥对 K = (\\alpha, \\beta) 计算 MAC,实现主动安全性,以防止参与方在其私有份额上撒谎。

具体而言,值 m 的认证码为:!!! TO BE DONE !!!

一个参与方持有 m 和其 MAC,另一个参与方持有密钥 K。持有 m 的参与方在给定 MAC 的情况下伪造错误值的概率为 1/p

考虑一个值 mn 个参与方秘密共享,每个参与方 P_i 持有份额 m_i,以及 MAC 密钥集合 ({K\^i_{m_1}},...,{K\^i_{m_n}})

若两个密钥 {K\^i_{m_1}} = (\\alpha, \\beta){K\^i_{m_2}} = (\\alpha', \\beta') 满足 \\alpha = \\alpha',则称它们为一致密钥(key-consistent)。对于一致密钥,有:!!! TO BE DONE !!!

m 被打开时,P_i 使用密钥 {K\^i_{m_i}} 检查 P_j 的份额。

P_i 还持有一组 MAC 值 {M_j(m_i)} = \\text{MAC}{K\^j{m_i}}(m_i),用于向 P_j 证明 m_i 是正确的。

因此,值 m 的表示形式为:!!! TO BE DONE !!!

其中,\\left{ m_i, \\left{ K\^i_{m_j}, M_j(m_i) \\right}_{j=1}\^n \\right} 被记为 \[m\],由 P_i 持有。

一个乘法三元组 (\[a\], \[b\], \[c\]) 的表示形式,其中 c = ab,意味着 a, b, c 都是秘密共享并带有 MAC 的。

在该协议中,所有随机值和三元组都是密钥一致的,因此它们可以自由相加。

更具体地说,如果各方持有两个密钥一致的表示 \[x\], \[y\],则可以使用一个预先计算好的密钥一致三元组 (\[a\], \[b\], \[c\]) 来计算新的乘积表示 \[xy\]

通过使用这些 MAC,BDOZ 协议在信息论意义上对适应性恶意对手提供安全性,即使该对手腐化了任意数量的不诚实多数参与方。

该协议的离线阶段在效率上与 Damgård 和 Orlandi 的工作~\cite{C:DamOrl10} 相当,但仅依赖于 Paillier 密码体制的安全性假设。

在在线阶段,BDOZ 避免了对共享值进行承诺,因此每个参与方在执行一次安全乘法时仅需进行 O(n\^2) 次模 p 的乘法运算。

在两方设置下的实现结果表明,每次乘法约耗时 6 毫秒,比 Damgård 和 Orlandi 在相同平台上的协议至少快一个数量级。

3.1.1.3 SPDZ

[MPCiPPM-07]: SPDZ . 文献:Ivan Damg˚ard, Valerio Pastro, Nigel Smart, and Sarah Zakarias. Multiparty Computation from Somewhat Homomorphic Encryption.

与 BDOZ 协议中使用成对密钥对每个秘密份额进行认证的方式不同,Damgård 等人~\cite{DPSZ12} 提出了一种通用的 MPC 协议,使用单一全局密钥对秘密值进行认证。

SPDZ 协议旨在在预处理模型下,基于有限同态加密(SHE),在任意有限域 \\mathbb{F}_{p\^k} 上安全地计算算术电路 C

该协议的设计直觉与动机在于:BDOZ 的认证方式要求每个参与方拥有自己的密钥,并且每个秘密值的 n 个份额都需配备 n 个 MAC,认证开销较大。

相比之下,使用一个全局密钥更为简洁,只需在协议末尾进行一致性检查,若检测到恶意行为则中止协议即可。

假设 s 是一个秘密值,\\alpha 是在域 \\mathbb{F}{p\^k} 上随机选取的全局 MAC 密钥。

s 及其 MAC 值 \\gamma = \\alpha \\cdot s 都以加法方式在各方之间进行秘密共享。

具体而言,在在线阶段,每个共享值 s \\in \\mathbb{F}{p\^k} 表示为:!!! TO BE DONE !!!

其中,\\delta 是预处理阶段生成的公共值,s = s_1 + \\cdots + s_n,且 \\gamma(s)_1 + \\cdots + \\gamma(s)_n = \\alpha \\cdot (s + \\delta)

每个参与方 P_i 持有 s_i\\gamma(s)_i

在全局密钥 \\alpha 下,值 s 的 MAC 为 \\gamma(s),其中:!!! TO BE DONE !!!

由于这些秘密值具有线性结构,因此可以直接使用 Beaver 三元组进行安全乘法计算。

为防止恶意对手向 MAC 中注入错误,SPDZ 引入了牺牲技术(sacrificing technique),在使用三元组前进行验证。

预处理协议生成乘法三元组 ({\\langle a \\rangle}, {\\langle b \\rangle}, {\\langle c \\rangle}),其中 c = ab + \\Delta\\Delta 是可能的错误项。

SPDZ 使用另一个格式相同的三元组 ({\\langle f \\rangle}, {\\langle g \\rangle}, {\\langle h \\rangle}) 进行牺牲验证。

t 为一个随机域元素,则若 \\Delta \\neq 0\\Delta' \\neq 0,则 t \\cdot \\Delta - \\Delta' 不为零的概率在安全参数 \\mathsf{sec} 下是可忽略的(对于域大小至少为 2\^{\\mathsf{sec}})。

这意味着任何错误都将以压倒性概率被检测出来,因为各方必须公开 \\llbracket ta - f \\rrbracket\\llbracket tb - g \\rrbracket

SPDZ 不会在值被打开时立即验证其 MAC,而是直到输出阶段才进行验证。

各方对已打开的值 s 及其对应 MAC 的份额进行随机线性组合,并对结果进行承诺,随后才公开密钥 \\alpha

此时,腐败方已无法利用密钥信息进行攻击。

该协议在信息论意义上对最多 n-1 个主动、适应性腐败参与方提供统计安全性。

在线阶段具有无条件安全性,其总计算与通信复杂度为线性级别 O(n),而 BDOZ 协议为 O(n\^2)

预处理阶段的计算复杂度为每次安全乘法 O(n\^2 / s),其中 s 是与 SHE 密码体制安全参数相关的参数。

而 BDOZ 协议需要 \\Omega(n\^2) 次操作。

在三方设置下,SPDZ 可在预处理阶段约 13 毫秒内准备一次安全的 64 位乘法,这比 BDOZ 最优实现的初步估计快 2 到 3 个数量级。

在在线阶段,一次乘法仅需约 0.05 毫秒。

3.1.1.4 Overdrive

[MPCiPPM-08]: Overdrive. 文献:Marcel Keller, Valerio Pastro, and Dragos Rotaru. Overdrive: Making SPDZ great again.

在 SPDZ 协议~\cite{DPSZ12} 之后,Keller 等人~\cite{CCS:KelOrsSch16} 提出了一个名为 MASCOT 的 MPC 协议(详见第~\ref{OT}节),该协议用不经意传输(OT)替代了 SHE 加密来执行预处理阶段。

随后,Keller 等人~\cite{EC:KelPasRot18} 提出了一种高效执行 SPDZ 预处理的解决方案,称为 Overdrive。该方案在三元组生成与认证方面紧随 MASCOT 的设计,但使用了基于格的 SHE,而非 OT。

该方案的核心是 BDOZ~\cite{BDOZ11} 提出的两方不经意乘法协议。

但与 BDOZ 不同,Overdrive 用 SPDZ 的牺牲技术(sacrifice)替代了乘法正确性的证明,从而避免了最昂贵的部分。

其基本思想是:由于协议中只使用了所有份额之和的加密值,Overdrive 将每方的证明替换为一个全局证明,即各方共同对其秘密输入和累积密文进行联合证明。

这显著减少了计算量,因为每个参与方只需验证一个证明,而不是 n-1 个。

然而,通信复杂度保持不变,因为独立性要求意味着每个参与方仍需在某种程度上向其他所有参与方进行承诺。

为了进一步降低三元组生成的复杂度,Overdrive 在牺牲阶段生成一对相关三元组 ((a, b, ab), (a', b, a'b)),而不是两个独立三元组。

除此之外,从两方协议构造全局乘法的方式与 MASCOT 完全一致,MAC 的结构采用 SPDZ 风格,牺牲步骤也与 SPDZ 和 MASCOT 相同。

Overdrive 支持 n 个参与方,在协议开始前最多允许 n-1 个参与方被腐化。

其预处理阶段有两种模式,分别称为 LowGear 和 HighGear:

LowGear 使用 BDOZ 原始的基于线性同态加密(LHE)的方法,具体实现为零级 LWE(Learning With Errors)基础上的 SHE 方案,即 BGV~\cite{BGV14},该方案支持内建打包(packing)。

这使得 LowGear 在参与方数量较少时非常高效。

在两方设置下,LowGear 在局域网(LAN)中比 MASCOT 快 6 倍,在广域网(WAN)中快 20 倍。

HighGear 更适用于较大的参与方数量。

它使用 SPDZ 原始的零知识证明(ZK proofs),但通过提升紧致性(tightness)和支持批处理(batching)进行了优化。

与 MASCOT 相比,在两方计算(2PC)、128 位安全性、WAN 设置下,HighGear 的三元组生成速度快 6 倍,通信开销保持不变。

3.1.1.5 TopGear

[MPCiPPM-09]: TopGear。文献:Carsten Baum, Daniele Cozzo, and Nigel P. Smart. Using TopGear in overdrive: A more efficient ZKPoK for SPDZ.

HighGear~\cite{EC:KelPasRot18} 在安全参数方面存在若干限制,主要原因是内存和带宽消耗的约束。

Baum 等人~\cite{SAC:BauCozSma19} 提出了一种基于 HighGear 中零知识证明方案(ZKPoK)的改进方法,并将其与 SPDZ 的离线阶段结合,形成了 TopGear 协议。

TopGear 是一个 n 方证明者的 ZKPoK 协议,其中 n 个参与方既作为一个整体的证明者集合,又各自独立地充当验证者。

TopGear 提供对不诚实多数的主动安全性保障。

SPDZ 的离线阶段主要生成共享的随机三元组 ({\\langle a \\rangle}, {\\langle b \\rangle}, {\\langle c \\rangle})

利用 BGV 加密方案的同态性,各方可以计算乘积 c 的加密值。

为了满足主动恶意安全性假设,每个密文都必须附带一个零知识证明(ZKPoK),以防止选择性失败攻击或在预处理阶段的信息泄露。

由于 ZKPoK 会对每个密文的噪声项进行约束,TopGear 利用这一约束来推导 BGV 加密方案的参数,从而确保所有密文都能被有效解密。

TopGear 使用 HighGear 的分布式解密协议来获取 MAC 份额,并将其整合进 Damgård 等人~\cite{ESORICS:DKLPSS13} 的重新共享方案中,以获得 c 的份额及其新的加密值。

该协议的预处理阶段安全性证明与 SPDZ 相同。

该工作提升了离线阶段在安全性、内存使用、带宽消耗和整体吞吐量方面的表现。

Baum 等人~\cite{SAC:BauCozSma19} 在多个设置下实现并对比了 TopGear 与 HighGear~\cite{EC:KelPasRot18} 的性能。

在计算两百万个三元组的场景下,TopGear 的三元组生成吞吐量比 HighGear 高出约 2 到 5 倍。

3.1.1.6 LowGear 2.0

[MPCiPPM-10]: LowGear 2.0。文献:Pascal Reisert, Marc Rivinius, Toomas Krips, and Ralf K¨usters. Overdrive LowGear 2.0: Reduced-bandwidth MPC without sacrifice.

为提升 Overdrive 中 LowGear 模式的效率,Hasler 等人~\cite{ASIACCS:RRKK23} 提出了 LowGear 2.0。LowGear 2.0 引入了一种新的基于线性同态加密(LHE)的预处理方法,通过将成对乘法协议与认证机制结合,去除了 Overdrive 中代价高昂的牺牲步骤。

该预处理的核心是一种两方交换协议,其设计基于 LowGear~\cite{EC:KelPasRot18} 中的原始方案。假设参与方 P_1 持有 \[a\]_1\[b\]_1,分别是 ab 的份额;P_2 持有 \[a\]_2\[b\]_2P_1 使用公钥加密其份额 \[a\]_1\[b\]_1,并将密文 E(\[a\]_1)E(\[b\]_1) 发送给 P_2P_2 计算 E(\[a\]_1) \\cdot \[b\]_2 + E(\[b\]_1) \\cdot \[a\]_2 - E(r),其中 r 是一个随机值,并将结果发送给 P_1P_1 解密该密文,得到 d = \[a\]_1 \\cdot \[b\]_2 + \[a\]_2 \\cdot \[b\]_1 - r。然后,P_1 设置 \[c\]_1 = \[a\]_1 \\cdot \[b\]_1 + dP_2 设置 \[c\]_2 = \[a\]_2 \\cdot \[b\]_2 + r。最终,两方获得一个乘法三元组 (a, b, c),其中 c = \[c\]_1 + \[c\]_2 = ab

为在不使用牺牲步骤的前提下保证三元组的完整性,预处理协议并不直接从 c 构造其 MAC 份额,而是从 \\alpha c = \\alpha(ab) 构造。因此,在构造 c\\alpha c 之前,每个参与方需对其份额 a\\alpha b 进行承诺。为验证三元组的 MAC,每个参与方采样一个随机值,并调用 LowGear 中的标准认证机制,然后检查该随机值与三元组的线性组合。

LowGear 2.0 被实现为 MP-SPDZ 框架~\cite{SP:DEFKSV19} 的扩展模块。与原始 LowGear~\cite{EC:KelPasRot18} 的三元组生成相比,LowGear 2.0 将通信轮数从 3 轮减少为 2 轮。每对有序参与方之间发送的密文数量减少了约 33%。

3.1.2 基于环上的运算

3.1.2.1 RSS19

[MPCiPPM-11]: RSS19. 文献:Deevashwer Rathee, Thomas Schneider, and K. K. Shukla. Improved multiplication triple generation over rings via RLWE-based AHE.

3.1.2.2 Overdrive2k

[MPCiPPM-12]: Overdrive2k. 文献:Emmanuela Orsini, Nigel P. Smart, and Frederik Vercauteren. Overdrive2k: Efficient secure MPC over from somewhat homomorphic encryption.

3.1.2.3 MonZa

[MPCiPPM-13]: MonZa. 文献:Dario Catalano, Mario Di Raimondo, Dario Fiore, and Irene Giacomelli. MonZ2ka: Fast maliciously secure two party computation on .

3.1.2.4 MHZ2k

[MPCiPPM-14]: . 文献:Jung Hee Cheon, Dongwoo Kim, and Keewoo Lee. MHz2k: MPC from HE over Z2k with new packing, simpler reshare, and better ZKP.

3.1.2.5 Multipars

[MPCiPPM-15]: Multipars. 文献:Sebastian Hasler, Pascal Reisert, Marc Rivinius, and Ralf K¨usters. Multipars: Reduced-Communication MPC over Z2k.

3.2 基于OT的协议

3.2.1 基于有限域上的运算

[MPCiPPM-16]: Cut&Choose. 文献:Yehuda Lindell and Benny Pinkas. Secure two-party computation via cut-and-choose oblivious transfer.

[MPCiPPM-17]: TinyOT. 文献:Jesper Buus Nielsen, Peter Sebastian Nordholt, Claudio Orlandi, and Sai Sheshank Burra. A new approach to practical active-secure two-party computation.

[MPCiPPM-18]: Tinier. 文献:Tore Kasper Frederiksen, Marcel Keller, Emmanuela Orsini, and Peter Scholl. A unified approach to MPC with preprocessing using OT.

[MPCiPPM-19]: MASCOT. 文献:Marcel Keller, Emmanuela Orsini, and Peter Scholl. MASCOT: Faster malicious arithmetic secure computation with oblivious transfer.

3.2.2 基于环上的运算

[MPCiPPM-20]: SPDZ2k. 文献:Ronald Cramer, Ivan Damg˚ard, Daniel Escudero, Peter Scholl, and Chaoping Xing. SPDZ2k : Efficient MPC mod 2k for dishonest majority.

3.2.3 基于Silent OT的协议

[MPCiPPM-21]: Silent NISC. 文献:Elette Boyle, Geoffroy Couteau, Niv Gilboa, Yuval Ishai, Lisa Kohl, Peter Rindal, and Peter Scholl. Efficient two-round OT extension and silent noninteractive secure computation.

[MPCiPPM-22]: Silver. 文献:Geoffroy Couteau, Peter Rindal, and Srinivasan Raghuraman. Silver: Silent VOLE and oblivious transfer from hardness of decoding structured LDPC codes.

3.3 Function Dependent Preprocessing

[MPCiPPM-23]: Turbospeedz. 文献:Aner Ben-Efraim, Michael Nielsen, and Eran Omri. Turbospeedz: Double your online SPDZ! Improving SPDZ using function dependent preprocessing.

[MPCiPPM-24]: Boyle FSS. 文献:Elette Boyle, Niv Gilboa, and Yuval Ishai. Secure computation with preprocessing via function secret sharing.

[MPCiPPM-25]: Pika. 文献:Sameer Wagh. Pika: Secure computation using function secret sharing over rings.

3.4 Quintuples

[MPCiPPM-26]: ACEDX21. 文献:Mark Abspoel, Ronald Cramer, Daniel Escudero, Ivan Damg˚ard, and Chaoping Xing. Improved single-round secure multiplication using regenerating codes.

[MPCiPPM-27]: EXY22. 文献:Daniel Escudero, Chaoping Xing, and Chen Yuan. More efficient dishonest majority secure computation over Z2k via galois rings.

[MPCiPPM-28]: Coral. 文献:Zhicong Huang, Wen-jie Lu, Yuchen Wang, Cheng Hong, Tao Wei, and WenGuang Chen. Coral: Maliciously Secure Computation Framework for Packed and Mixed Circuits.

3.5 Degree Reduction

[MPCiPPM-29]: DN. 文献:Ivan Damg˚ard and Jesper Buus Nielsen. Scalable and unconditionally secure multiparty computation.

[MPCiPPM-30]: Garg24. 文献:Sanjam Garg, Abhishek Jain, Pratyay Mukherjee, and Mingyuan Wang. Scalable multiparty computation from non-linear secret sharing.

4 特殊预处理模型

4.1 矩阵三元组和卷积三元组

[MPCiPPM-31]: CDNN15. 文献:Martine de Cock, Rafael Dowsley, Anderson CA Nascimento, and Stacey C Newman. Fast, Privacy Preserving Linear Regression over Distributed Datasets Based on Pre-distributed Data

[MPCiPPM-32]: SecureML. 文献:Payman Mohassel and Yupeng Zhang. SecureML: A system for scalable privacy-preserving machine learning.

[MPCiPPM-33]: SecureNN. 文献:Sameer Wagh, Divya Gupta, and Nishanth Chandran. SecureNN: 3-party secure computation for neural network training.

[MPCiPPM-34]: CKRR20. 文献:Hao Chen, Miran Kim, Ilya P. Razenshteyn, Dragos Rotaru, Yongsoo Song, and Sameer Wagh. Maliciously secure matrix multiplication with applications to private deep learning.

[MPCiPPM-35]: RRHK23. 文献:Marc Rivinius, Pascal Reisert, Sebastian Hasler, and Ralf Kuesters. Convolutions in overdrive: Maliciously secure convolutions for MPC.

[MPCiPPM-36]: LowGear2.0. 文献:Pascal Reisert, Marc Rivinius, Toomas Krips, and Ralf K¨usters. Overdrive LowGear 2.0: Reduced-bandwidth MPC without sacrifice.

4.2 查找表 LookUp Tables

[MPCiPPM-37]: TinyTable. 文献:Ivan Damg˚ard, Jesper Buus Nielsen, Michael Nielsen, and Samuel Ranellucci. The TinyTable protocol for 2-party secure computation, or: Gatescrambling revisited.

[MPCiPPM-38]: Multi-TinyTable. 文献:Marcel Keller, Emmanuela Orsini, Dragos Rotaru, Peter Scholl, Eduardo Soria-Vazquez, and Srinivas Vivek. Faster secure multi-party computation of AES and DES using lookup tables.

[MPCiPPM-39]: SPOP-LUT. 文献: Ghada Dessouky, Farinaz Koushanfar, Ahmad-Reza Sadeghi, Thomas Schneider, Shaza Zeitouni, and Michael Zohner. Pushing the communication barrier in secure computation using lookup tables.

[MPCiPPM-40]: FLUTE. 文献:Andreas Br¨uggemann, Robin Hundt, Thomas Schneider, Ajith Suresh, and Hossein Yalame. FLUTE: Fast and secure lookup table evaluations.

[MPCiPPM-41]: MAESTRO. 文献:Hiraku Morita, Erik Pohle, Kunihiko Sadakane, Peter Scholl, Kazunari Tozawa, and Daniel Tschudi. MAESTRO: Multi-party AES using Lookup Tables.

4.3 布尔电路与算术电路的转换

[MPCiPPM-42]: Dabits. 文献:Dragos Rotaru and Tim Wood. Marbled Circuits: Mixing Arithmetic and Boolean Circuits with Active Security.

[MPCiPPM-43]: EDaBits. 文献:Daniel Escudero, Satrajit Ghosh, Marcel Keller, Rahul Rachuri, and Peter Scholl. Improved primitives for MPC over mixed arithmetic-binary circuits.

4.4 Tuples

[MPCiPPM-44]: Arithmetic Tuples。在preprocessing phase生成一种包含一堆元素的元组。

文献:Pascal Reisert, Marc Rivinius, Toomas Krips, and Ralf Kuesters. Arithmetic tuples for MPC.