Preprocessing Model in MPC 2 - 背景、基础原语和Beaver三元组

参考论文:SoK: Multiparty Computation in the Preprocessing Model
MPC (Secure Multi-Party Computation) 博士生入门资料。抄袭必究
本系列教程将逐字解读参考论文(以下简称MPCiPPM),在此过程中,将论文中涵盖的40篇参考文献进行梳理与讲解。

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

1 背景与相关研究介绍

安全多方计算(MPC)是一种机制,允许一组彼此不信任的参与方在不泄露各自私有输入的前提下,共同计算一个函数的输出。更具体地说,MPC 允许一个或多个协议参与方获得所计算函数的输出,同时除了从协议输出中可推断的信息外,不会获得其他参与方输入的任何额外信息。

由于其强大的功能性,几乎可以在私有数据上计算任意函数,MPC 成为密码学领域广泛研究的基础原语。

1991 年,关于所谓的 Beaver 三元组 的开创性工作被提出~\cite{C:Beaver91b}。一个 Beaver 三元组的形式为 $(a, b, c)$,其中 $a$ 和 $b$ 是均匀随机的,$c = a \cdot b$。这是一种在随机值上执行乘法的方法,进而可以高效地在秘密输入上执行乘法。然而,直到 2009 年,Orlandi~\cite{orlandi2009} 才定义了一个独立的预处理阶段,用于生成这些代价高昂的 Beaver 三元组,以及一个在函数和输入已知时执行的快速在线阶段。据我们所知,这构成了预处理模型的基础。

预处理模型包括两个阶段:一个与输入无关的预处理阶段,以及一个用于处理输入并输出结果的在线阶段。预处理阶段涉及在随机输入上评估目标函数,这些随机性可以在在线阶段高效地去随机化。

在预处理模型被定义之后,至今已有近 15 年,该模型成为设计 MPC 协议最常见的方式。这是因为预处理模型有助于实现高效的解决方案,从而推动 MPC 在现实应用中的采用。预处理模型中的 MPC 旨在提升协议的整体效率,但重点在于在线阶段。其目标是满足在参与方输入已知后快速评估函数的实际需求,代价是一个相对较慢的预处理阶段,该阶段可以在实际在线执行之前的任何时间进行。

在本研究中,我们对预处理模型中的 MPC 协议进行了系统化整理。首先,我们在该模型中提出了两个主要类别,分别称为 传统预处理 和 特殊预处理,依据其生成的预处理材料类型进行区分。我们将生成 随机值 和 Beaver 三元组 的预处理称为传统预处理,分别用于私有输入的共享和在线阶段的安全乘法执行。我们将提供额外预处理材料以加速特定函数(例如矩阵乘法)在线阶段的预处理称为特殊预处理。

我们进一步根据以下方面对所研究的协议进行系统化整理:所使用的底层密码学原语(用于生成预处理材料);所依赖的数学结构;对于特殊预处理协议,还包括其目标函数。

对于我们分析的 41 个协议,我们总结了其技术概述。虽然我们努力解释每篇论文的技术贡献,但我们的目标是进行抽象以便于理解,而不是详述具体协议,这些内容可在对应的原始论文中找到。因此,我们旨在简化每个协议的技术描述,以突出每篇论文技术贡献背后的核心思想和直觉。

此外,我们还讨论了每个协议的安全假设,并提供了与先前工作的性能比较指标。

具体而言,我们的贡献总结如下:
(1) 我们首次对预处理模型中的 MPC 进行了知识系统化整理,这是一个重要领域,已有大量相关文献但尚未被系统性地综述,并统一了该领域中的常用术语(例如预处理阶段,也被不太准确地称为离线阶段);
(2) 我们根据所生成材料的类型,提出了两大类预处理协议:传统预处理和特殊预处理;
(3) 我们对每个协议的技术细节进行了抽象,重点解释其背后的直觉,以便于理解;
(4) 我们识别了研究空白,并提出了未来研究的方向。

1.1 相关工作

Lindell~\cite{L20} 提出了一篇关于 MPC 的综述文章,明确强调了其背后的安全范式。由于该文章的目标是展示 MPC 已从理论走向现实应用,因此 MPC 的可行性及其应用场景也是该综述的重要组成部分。

Zhao 等人~\cite{ZZZCGLT19} 对 MPC 进行了全面的(理论、实践与应用)综述,其动因是近期出现的一些应用场景,与 MPC 的自然设置和需求完全契合。该论文讨论了 MPC 的主要理论构建模块、安全需求与模型,随后聚焦于云辅助 MPC 和面向应用的 MPC,这也是该文章的主要动机。

Vos 等人~\cite{VCE24} 聚焦于一个特定的 MPC 应用,即私集合交集(Private Set Intersection,PSI),特别是那些针对半诚实对手提供安全性的解决方案。其提出的系统化工作旨在识别研究空白,引导协议设计者朝着高效解决当前问题的方向努力。他们的系统化研究表明,一些可能被新研究忽视的旧方案,仍然可以用于构建高效的多方 PSI 协议。

Zhou 等人~\cite{ZTPAFL24} 的综述收集了基于 MPC 的机器学习(ML)解决方案,并将其分为两类:基于同态加密(HE)和基于秘密共享(Secret-Sharing)。该综述并未详细分析所有提出的工作及其技术组件,而是聚焦于识别 MPC 在 ML 中面临的共同挑战及其采用情况。随后,他们还提供了此类系统的实现指南,并基于当前识别出的限制提出了未来研究方向。

另一篇聚焦于 MPC 具体应用的综述由 Zhang 和 Xin~\cite{ZX21} 提出。该工作关注一个活跃的研究领域,即隐私保护深度学习,并讨论了基于 MPC 的解决方案,提供了对每个分析方案的简明概述。

鉴于对类似 SPDZ 的 MPC 协议~\cite{EPRINT:DPSZ11} 的兴趣日益增长——这类协议在安全性与效率之间取得了良好平衡——Orsini~\cite{O21} 对该研究方向进行了综述,涵盖了在不诚实多数设置下具有主动安全性的广泛高效 MPC 协议。

另一篇关于具体高效 MPC 的综述~\cite{FY22} 则超越了 Orsini~\cite{O21} 所分析的“主动安全 + 不诚实多数”场景,也考虑了半诚实对手和诚实多数设置;此外还关注了用于隐私保护机器学习(PPML)的 MPC,并提出了未来研究的方向。

Hastings 等人~\cite{HHNZ19} 对十一种通用 MPC 编译器进行了系统化整理。该系统化工作基于语言表达能力、密码学功能以及开发者可访问性(例如文档的充分性)进行分析,并据此为每种编译器框架提供了推荐意见。

我们的工作是首个针对预处理模型下 MPC 的系统化知识整理(SoK)。

2 基础密码学原语

[MPCiPPM-02]: Basic building blocks of MPC. 简单介绍MPC中涉及的三个基础密码学原语:Secret Sharing (SS), Oblivious Transfer (OT), Homomorphic Encryption (HE)。注意:MPC是一个密码算法系统,由众多密码算法组件组成,包括但不限于:秘密共享及其各类变体(Function Secret Sharing, Linear Secret Sharing, etc),OT及其各类变体,HE及其各类变体,Zero Knowledge Proofs of Knowledge (ZKPoKs) 及其各类变体, Garbled Circuits及其各类变体等。本文只介绍了前三种,但MPC涉及的密码组件远不止于此,至少ZKPoKs就是非常重要的核心组件。

2.1 秘密共享(Secret Sharing)

秘密共享允许将一个秘密分发给一组参与方,使得单独的每一份份额都无法泄露原始秘密的任何信息。
MPC 通常基于线性秘密共享方案(Linear Secret Sharing Schemes,LSSS),其中从份额重构秘密是一个线性映射。
因此,LSSS 具有加法同态性,允许在秘密上间接执行线性运算,而实际运算是在每个参与方本地的份额上进行,无需进一步交互。
加法秘密共享(即秘密是各份额之和)和 Shamir 的秘密共享方案~\cite{S79} 是设计 MPC 协议时最常用的两种选择,它们都具有完美保密性这一特性。

2.2 不经意传输(Oblivious Transfer)

不经意传输(Oblivious Transfer,OT)~\cite{NP99, R05, EGL85, IK97} 是一种在两个参与方之间执行的协议:发送方与接收方。
最基本的 OT 协议是"二选一 OT",允许发送方向接收方传输两个值中的一个。
更一般地说,OT 允许发送方向接收方传输多个信息中的某些部分。
在 OT 过程中,发送方无法得知哪些信息被接收方实际接收,而接收方也无法获得其未接收的信息的任何内容。
OT 是实现 MPC 的完备原语~\cite{K88, GMW19}。
尽管 OT 是一种计算代价较高的密码学原语,但 OT 扩展技术~\cite{C:IKNP03, B86} 允许仅使用少量昂贵的标准 OT 操作,然后通过调用常数数量的相对廉价的对称密钥原语,执行大量额外的 OT 操作。
OT 扩展是众多 MPC 协议中的核心构建模块。

2.3 同态加密(Homomorphic Encryption)

同态加密(Homomorphic Encryption,HE)是一种加密形式,允许在密文上直接执行计算,而无需先解密。
HE 有多种类型:
部分同态加密(PHE):允许在密文上无限次执行加法或乘法中的一种;
有限同态加密(SHE):允许在密文上执行有限次数的加法与乘法;
完全同态加密(FHE):允许在密文上无限次执行加法与乘法。
PHE 中,尤其是加法同态加密(Additively Homomorphic Encryption,AHE),又称线性同态加密(Linearly Homomorphic Encryption,LHE),例如 Paillier 密码体制~\cite{EC:Paillier99},以及 SHE,已被广泛用于与 MPC 结合,或用于辅助生成预处理阶段的原始材料。

3 传统预处理模型

[MPCiPPM-03]: What is Beaver Triple? Beaver Triple 是Preprocessing Model的基石。理解了beaver triple,后续一切preprocessing model不过是对beaver triple的改进、变形或拓展 (so far, 以后或许会有新的形式出来)。
文献:
Donald Beaver. Efficient multiparty protocols using circuit randomization.
Donald Beaver. One-Time Tables for Two-Party Computation

在本节中,我们分析了多年来在传统预处理阶段材料生成方面做出开创性工作的协议。
我们再次强调,所谓传统预处理,是指旨在生成以下类型预处理材料的协议:
随机值(randoms):用于在在线阶段共享私有输入;
三元组(triples):用于在在线阶段高效执行安全乘法;
平方值(squares):与三元组类似,用于在在线阶段更高效地执行平方运算;
共享比特(shared bits):用于加速在线阶段非线性函数的计算。

对于每个协议,我们解释其核心技术贡献,描述其安全性假设,并说明其性能,通常是相对于已有工作的改进。

Beaver 三元组

Beaver 三元组是一组秘密共享值,具有如下特殊形式:$ (\langle{a}\rangle,\langle{b}\rangle,\langle{c}\rangle) $,其中 $a$ 和 $b$ 是均匀采样的随机值,$c$ 是 $a$ 与 $b$ 的乘积。它用于在 MPC 协议中安全地执行乘法运算。该方法最早由 Donald Beaver 提出~\cite{C:Beaver91b,B98},因此得名;也常被称为乘法三元组(multiplication triple)。

Beaver 三元组的核心思想是:为每个电路门选择随机输入,并先用这些随机值评估电路门,然后通过纠正误差一次性获得结果。
该纠正过程基于一种技术,旨在证明两个秘密的乘积是第三个秘密~\cite{JC:Beaver91}。

考虑电路 $C_F$ 中的一个门 $g_k \in {+,\times}$。当 $g_k$ 是乘法门 $(\times)$ 时,真实输出值 $x_k$ 可通过公式 $x_k = r_k - \Delta_k$ 计算,其中 $r_k$ 是 $g_k$ 输出线的随机值,$\Delta_k$ 是其纠正值。
由于随机值和纠正值可以在不知晓真实输入的情况下提前准备,一旦输入值可用,电路门即可被重构以获得结果。

Beaver 三元组将交互轮数减少了一个数量级。

Breaking the Limits

[MPCiPPM-04]: 论文 Breaking the Limits。来自Ivan Damgard,MPC的奠基人物。非常随和的小个子老头,满头白发,自己还在写论文、带团队,活跃于欧洲各MPC会议或活动中。他本人及其团队每年产出大量高质量论文,涵盖MPC的多个领域,理论和应用都有涉及。
文献: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.

Damgård 等人~\cite{ESORICS:DKLPSS13} 提出了一种基于有限同态加密(SHE)的协议,该协议不仅生成 Beaver 三元组,还生成“平方对”(square pairs),即一组共享对 $({\langle{a}\rangle},{\langle{b}\rangle})$,满足 $b = a^2$;以及“共享比特”(shared bits),即一组单个共享值 $\langle{a}\rangle$,其中 $a \in {0,1}$。

该 MPC 协议可实现隐匿安全(covert security)或主动安全(active security)。虽然“平方对”和“单比特共享”在早期一些工作中已有出现,但 Damgård 等人~\cite{ESORICS:DKLPSS13} 是首个对其进行形式化定义的研究。

生成平方对

假设每个参与方 $P_i$ 持有 ${\mathbf{a}}i$,即秘密值 ${\mathbf{a}}$ 的一份份额,其密文 $c{{\mathbf{a}}i}$ 对所有参与方可见。
各方计算 $c{\mathbf{a}} \leftarrow c_{\mathbf{a}1} + \cdots + c{\mathbf{a}n}$,然后计算 $c{\mathbf{a}^2} \leftarrow c_{\mathbf{a}} \cdot c_{\mathbf{a}}$。
所有参与方执行一次重新共享协议,使得每个参与方 $P_i$ 获得份额 ${\mathbf{b}}_i$,其中 ${\mathbf{b}} = {\mathbf{b}}_1 + \cdots + {\mathbf{b}}n$,并且密文 $c{\mathbf{b}}$ 对所有人可见。

为了进行认证,各方计算 $c_{\gamma(\mathbf{a})} \leftarrow c_{\mathbf{a}} \cdot c_{\alpha}$ 和 $c_{\gamma(\mathbf{b})} \leftarrow c_{\mathbf{b}} \cdot c_{\alpha}$,其中 $\alpha$ 是全局 MAC 密钥。
各方再次执行重新共享协议,使得每个参与方 $P_i$ 获得 ${\gamma}(\mathbf{a})_i$ 和 ${\gamma}(\mathbf{b})_i$。
之后,每个参与方将各个明文元素解密,得到秘密共享的平方对 $({\langle{a_i}\rangle},{\langle{b_i}\rangle})$。

生成共享比特

各方在获得 $c_{\mathbf{a}}$ 后,计算并解密 $c_{\mathbf{a}^2}$,将明文记为 ${\mathbf{s}} = {\mathbf{a}}^2$。
若 ${\mathbf{s}}$ 中任意位置为 $0$,则将其设为 $1$。
然后,各方取一个固定平方根 ${\mathbf{t}}$,加密 ${\mathbf{t}}^{-1} \cdot c_{\mathbf{a}}$,记为 $c_{\mathbf{v}}$。
各方计算 $c_{\gamma(\mathbf{v})} \leftarrow c_{\mathbf{v}} \cdot c_{\alpha}$,并以与生成平方对相同的方式进行重新共享与解密。
最终,每个参与方 $P_i$ 获得一个共享比特 $\langle{b_i}\rangle$。

三元组生成与安全性

乘法三元组的生成方式紧随 SPDZ 协议范式~\cite{DPSZ12},我们将在后文进一步解释。
Damgård 等人~\cite{ESORICS:DKLPSS13} 通过将“牺牲技术”(sacrificing technique)扩展应用于平方对与比特共享,实现了主动安全性。

在线阶段

在在线阶段,为对共享值 ${\langle{x}\rangle}$ 进行平方运算,各方取一个平方对 $({\langle{a}\rangle},{\langle{b}\rangle})$,部分打开 ${\langle{x}\rangle} - {\langle{a}\rangle}$ 得到 $\epsilon$,然后每个参与方计算:⟨z⟩←⟨b⟩+2⋅ϵ⋅⟨x⟩−ϵ
 
共享比特在执行高级操作时非常有用,例如比较、比特分解、定点与浮点运算。

性能评估

该协议的离线阶段运行时间约为 SPDZ 的两倍,基于知识零知识证明(ZKPoKs)。
在一个 64 位素数域上,3 个参与方的 SPDZ 在线阶段可实现每秒约 20,000 次乘法的平均吞吐量。
而 Damgård 等人~\cite{ESORICS:DKLPSS13} 的在线协议在单线程下可执行 98,000 次乘法每秒,在 4 线程下达到 287,000 次乘法每秒。

3.1 基于同态加密的协议

3.1.1 基于有限域上的运算

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

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

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

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

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

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

3.1.2 基于环上的运算

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

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

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

[MPCiPPM-14]: MH{\mathbb{Z}_{2^k}}. 文献:Jung Hee Cheon, Dongwoo Kim, and Keewoo Lee. MHz2k: MPC from HE over Z2k with new packing, simpler reshare, and better ZKP.

[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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/93802.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/93802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ACCESS/SQL SERVER保存软件版本号为整数类型,转成字符串

在 Access 中,若已将版本号(如1.3.15)转换为整数形式(如10315,即1*10000 3*100 15),可以通过 SQL 的数学运算反向解析出原始版本号格式(主版本.次版本.修订号)。实现思…

编程语言学习

精通 Java、Scala、Python、Go、Rust、JavaScript ✅ 1. Java 面向对象编程(OOP)、异常处理、泛型JVM 原理、内存模型(JMM)、垃圾回收(GC)多线程与并发(java.util.concurrent)Java 8…

软件测试:如何利用Burp Suite进行高效WEB安全测试

Burp Suite 被广泛视为 Web 应用安全测试领域的行业标准工具集。要发挥其最大效能,远非简单启动扫描即可,而是依赖于测试者对其模块化功能的深入理解、有机组合及策略性运用。一次高效的测试流程,始于精细的环境配置与清晰的测试逻辑。测试初…

华为认证 HCIA/HCIP/HCIE 全面解析(2025 版)

说实话,想在IT行业站稳脚跟,没有过硬的技术和资历,光凭热情和一腔干劲根本不行。 而华为认证,作为业内公认的“技术护照”,已经成了许多人打开职场大门的关键。 你会发现,越来越多的企业在招聘时&#xff0…

ComfyUI-3D-Pack:3D创作的AI神器

一、应用介绍 单图转3D网格:输入一张角色图,能输出基本成型的3D Mesh,还自带UV展开和贴图输出,可直接导入到Blender等软件中使用。多视角图像生成:可以基于算法生成围绕3D模型的多视角图像,用于3D模型展示…

【java面试day15】mysql-聚簇索引

文章目录问题💬 Question 1💬 Question 2相关知识问题 💬 Question 1 Q:什么是聚簇索引,什么是非聚簇索引? A:聚簇索引主要是指数据与索引放到一块,B树的叶子节点保存了整行数据&a…

【typenum】 16 无符号整数标记

一、源码 这段代码是 Rust 中用于实现编译时无符号整数的核心部分。它定义了一个 Unsigned trait 并为两种类型实现了该 trait&#xff1a;UTerm&#xff08;表示零&#xff09;和 UInt<U, B>&#xff08;表示非零数字&#xff09;。 定义&#xff08;marker_traits.rs&a…

重温k8s基础概念知识系列四(服务、负载均衡和联网)

文章目录1、Kubernetes 网络模型2、为什么需要 Service&#xff1f;2.1、定义service2.2、Service的类型2.3、Service 工作原理2.4、Service 与 DNS3、Ingress&#xff08;高级流量管理&#xff09;3.1、定义Ingress 资源3.2、Ingress 规则4、常见面试高频问答5、总结1、Kubern…

基于SpringBoot的停车场管理系统【2026最新】

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

Nginx前后端分离反代(VUE+FastAPI)

原文链接&#xff1a;Nginx前后端分离反代&#xff08;VUEFastAPI&#xff09; < Ping通途说 0.前言 工作需求自己全栈开发了一个后台后端&#xff0c;要求前后端分离&#xff0c;即nginx静态代理前端文件&#xff0c;再代理后端接口。以前自己也遇过这种情况&#xff0c;但…

豆包1.5 Vision Lite 对比 GPT-5-min,谁更适合你?实测AI模型选型利器 | AIBase

“团队要上线一个智能客服系统&#xff0c;预算有限&#xff0c;中文场景为主&#xff0c;偶尔需要读图——该选豆包1.5还是GPT-5-min&#xff1f;” “个人开发者想接大模型API做写作助手&#xff0c;要求响应快、成本低&#xff0c;Claude Haiku、Moonshot、GPT-5-min 哪个更…

Swift与C++混编深度解决方案:手动桥接 vs SwiftyCPP框架性能终极评测

Swift与C混编深度解决方案&#xff1a;手动桥接 vs SwiftyCPP框架性能终极评测一、技术背景与行业痛点1.1 Swift与C互操作现状1.2 行业痛点数据二、解决方案架构对比2.1 手动桥接OC中间层实现细节&#xff1a;2.2 SwiftyCPP自动框架技术突破&#xff1a;三、性能深度评测3.1 测…

[Oracle数据库] Oracle 常用函数

目录 一、先搞懂这些基础约定 二、数值函数&#xff1a;处理数字的 “小帮手” 1️⃣MOD (n1, n2)&#xff1a;取余数 2️⃣ROUND (n1 [, n2])&#xff1a;四舍五入 3️⃣TRUNC (n1 [, n2])&#xff1a;截断&#xff08;不四舍五入&#xff09; 其他常用数值函数 三、字…

Pytorch模型复现笔记-STN(空间注意力Transformer网络)讲解+架构搭建(可直接copy运行)+ MNIST数据集视角调整实验

Spatial Transformer Networks 本文了讲述STN的基本架构&#xff0c;空间几何注意力模块的基本原理&#xff0c;冒烟测试以及STN在MNIST数据集用于模型自动调整图片视角的实验&#xff0c;如果大家有不懂或者发现了错误的地方&#xff0c;欢迎讨论。 中文名&#xff1a;空间Tra…

【LeetCode】16. 最接近的三数之和

文章目录16. 最接近的三数之和题目描述示例 1&#xff1a;示例 2&#xff1a;提示&#xff1a;解题思路算法分析问题本质分析排序双指针法详解双指针移动策略搜索过程可视化各种解法对比算法流程图边界情况处理时间复杂度分析空间复杂度分析关键优化点实际应用场景测试用例设计…

微信小程序实现蓝牙开启自动播放BGM

下面是一个完整的微信小程序实现方案&#xff0c;当蓝牙设备连接时自动播放背景音乐(BGM)。实现思路监听蓝牙设备连接状态当检测到蓝牙设备连接时&#xff0c;自动播放音乐当蓝牙断开时&#xff0c;停止音乐播放处理相关权限和用户交互完整代码实现1. 项目结构text/pages/index…

XML 序列化与操作详解笔记

一、XML 基础概念XML&#xff08;eXtensible Markup Language&#xff0c;可扩展标记语言&#xff09;是一种用于存储和传输数据的标记语言&#xff0c;由 W3C 制定&#xff0c;具有以下特点&#xff1a;可扩展性&#xff1a;允许自定义标记&#xff08;如<Student>、<…

第八十四章:实战篇:图 → 视频:基于 AnimateDiff 的视频合成链路——让你的图片“活”起来,瞬间拥有“电影感”!

AI图生视频前言&#xff1a;从“刹那永恒”到“动态大片”——AnimateDiff&#xff0c;让图片“活”起来&#xff01;第一章&#xff1a;痛点直击——静态图像到视频&#xff0c;不是“幻灯片”那么简单&#xff01;第二章&#xff1a;探秘“时间魔法”&#xff1a;AnimateDiff…

2025深大计算机考研复试经验贴(已上岸)

如果你在初试出分前看到此贴 我建议&#xff1a; 准备机试和简历&#xff0c;即使你不估分&#xff1a;因为如果要准备春招的话&#xff0c;也总要刷题和做简历的。尽早估分&#xff0c;查一下往年的复试线&#xff0c;如果有望进复试&#xff0c;可尽早开始准备。 Preface …

用Pygame开发桌面小游戏:从入门到发布

一、引言 Pygame是一个基于Python的跨平台游戏开发库,它提供了简单易用的图形、声音和输入处理功能,非常适合新手入门游戏开发。本文将以"经典游戏合集"项目为例,带你一步步了解如何使用Pygame开发、打包和发布自己的桌面小游戏。 二、开发环境搭建 安装Python:…