Honest Majority MPC with Abort with Minimal Online Communication

    2022/10/14 19:37 下午 标签: #安全多方计算

    今天给大家带来是发表于Latincrypt'21上的一篇文章Honest Majority MPC with Abort with Minimal Online Communication, 原文链接: https://eprint.iacr.org/2020/1556

    1 Abstract

    本文专注于优化诚实大多数设定下(\(t<n/2\))多方计算协议的在线阶段的通信复杂度, 提出了一个通用和简单方法将定义在任意环上基于任意秘密共享方案的被动安全协议转化为具有中止安全性(Security with abort)的恶意安全协议, 可抵抗恶意敌手的附加攻击(additive attack). 所得协议在线阶段的总通信复杂度为\(1.5(n-1)\)个份额, 相当于每方通信1.5个份额. 对于\(n=3\), \(t=1\)的复制秘密共享(RSS), 在线阶段每方仅需通信1个环元素, 比BLAZE协议的通信复杂度相当, 同时具有更简单的设计.

    2 Introduction

    根据所需的安全级别和对计算输出所需的保证, MPC协议通常涉及如下几个要点:

    1. 安全级别: 腐化方\(t\)所占参与方总数\(n\)的比例.
      • 诚实大多数(honest-majority): \(t<n/2\), 不依赖于任何计算困难性假设, 可做到信息论安全, 计算效率高;
      • 不诚实大多数(dishonest-majority): \(t<n\), 必须依赖于计算困难性假设, 只能做到可证明安全, 计算效率低.
    2. 敌手可能的腐化类型:
      • 被动腐化(passive corruption): 遵循协议, 但试图从发送/接收的信息中获得有用的信息;
      • 主动腐化(active corruption): 敌手可以任意地偏离协议.
    3. 计算的输出:
      • 输出可达性(guaranteed output delivery): 无论敌手行为如何, 诚实方必须得到输出;
      • 公平性(fairness): 如果敌手得到了输出, 则诚实方也必须得到输出;
      • 中止安全性(Security with abort): 敌手可以控制哪些诚实方能得到输出, 哪些诚实方中止. 即诚实参与方要么得到正确的输出, 要么中止协议(得不到输出).

    MPC协议的重点在于最小化协议的通信复杂度. 常见做法: 离线/在线范式. 关键: 优化在线阶段的通信开销.

    3 Preliminaries

    3.1 Notation and Security Definition

    \(n\)方, 腐化门限\(t\), 诚实大多数设定, 满足\(n=2t+1\). \(\mathcal R\)是组成\(\mathbb Z_{p^k}\)或\(\mathsf{GF}(p^k)\)的环, \(p\)为素数, \(k\)为非负整数. \(\kappa\)是统计安全参数.

    假设点对点安全信道的同步网络、广播信道.

    假设存在一个带有中止(abort)的广播信道, 即各参与方要么得到广播的值, 要么生成\(\perp\)并中止. 此外, 还假设当诚实方中止时, 所有诚实方均中止. 可通过echo-broadcast来实例化, 即让发送方通过点对点信道发送要广播的值, 然后接收方交换值的hash, 若不一致则中止.

    3.2 Linear Secret-Sharing

    考虑\(\mathcal R\)上的线性秘密共享方案(linear secret-sharing scheme, LSSS), 记为\([\cdot]\), 包含随机映射函数: \(\mathsf{share}:\mathcal R\rightarrow(\mathcal R^m)^n\), 使得对所有\(x\in\mathcal R\), \(\mathsf{share}(x)=\{x_i\}_{i=1}^n\), 满足如下三点:

    • 隐私性(Privacy): 对于满足$|J|\leq t$的任意子集\(J\subseteq\{1,\cdots,n\}\), 不能从\(\{x_i\}_{i\in J}\)中得到\(x\)的信息.
    • 重构(Reconstuction): 存在\(\mathsf{rec}:(\mathcal R^{m})^{t+1}\rightarrow\mathcal R\), 使得对满足$|J|=t+1$的任意子集\(J\in\{1,\cdots,n\}\), 有\(\mathsf{rec}(\{x_i\}_{x\in J})=x\).
    • 线性性(Linearity): 给定\(\{y_i\}_i^n=\mathsf{share}(y)\), \(\mathsf{share}(x+y)\)的像在\(\{x_i+y_i\}_{i}\)中.

    记\([x]^J:=\{x_i\}_{i\in J}\), \([x]:=[x]^{1,\cdots,n}\).

    \(\mathsf{rec}\)的定义可以扩展到多于\(t+1\)个份额: 令\(K\subseteq\{1,\cdots,n\}\)满足$|K|\geq t+1$, 对于满足$|J|=t+1$的所有\(J\subseteq K\),

    • 若\(\mathsf{rec}(\{x_i\}_{i\in K})=x\), 则称份额\(\{x_i\}_{i\in K}\)是一致的(consistent).
    • 若\(\mathsf{rec}(\{x_i\}_{i\in K})=\perp\), 则称份额\(\{x_i\}_{i\in K}\)是不一致的(inconsistent)/无效的(invalid).

    在诚实大多数秘密共享方案中, 若份额是一致的, 则重构的值必然是正确的. 换而言之, 如果敌手修改了\([x]\)中腐化方的\(t\)个份额, 但是\(\mathsf{rec}([x])=x'\neq\perp\), 则必有\(x'=x\).

    3.3 Reconstruction Protocols

    本文涉及两种重构打开(opening)协议:

    • Robust opening: 打开时所有参与方都需要发送其份额给打开方, 被打开的值一定是正确的;
    • Non-robust opening / Loose opening: 打开时只有\(t+1\)个参与方发送其份额给打开方, 被打开的值可能是不正确的(\(\perp\)).

    两种打开协议的具体过程如下:

    Loose opening依赖于诚实大多数的性质, 通信量可进一步优化为让\(t+1\)个参与方\(P_1,\cdots,P_{t+1}\)发送其份额给某个特定的参与方king, 如\(P_1\), 由\(P_1\)使用这些份额进行重构并向所有参与方广播结果, 如此总通信量为\(t+\mathsf{BC}(1)\)个环元素(点对点信道传输\(t\)个, 广播信道传输\(1\)个).

    但是, 如此做恶意的\(P_1\)可能会广播错误的结果, 解决方案是选择其他参与方作为king, 使用线性纠错码, 先将要打开的秘密序列批处理为一个向量, 并使用线性纠错码对该向量进行编码, 然后码字中的每个秘密都由不同的特定参与方打开, 最后对得到的码字进行纠错或检验.

    3.4 Sampling Shares of Random Values

    本文中应用了如下两个功能来选取秘密共享的随机数:

    • \(\mathcal F_\mathsf{Rand}\): 生成秘密共享的随机数\([r]\), 其中\(r\in_R\mathcal R\). 可通过DN的方法[1]来实例化, 即让每个\(P_i\)本地选取随机数并进行秘密共享, 然后本地计算Vandermonde矩阵得到\(n-t\)个随机数份额. 如此每方平均通信2个元素.
    • \(\mathcal F_\mathsf{Coin}\): 生成向所有参与方公开的随机数\(r\in_R\mathcal R\). 首先调用\(\mathcal F_\mathsf{Rand}\)得到\([r]\), 然后向所有参与方打开\(r\leftarrow\mathsf{rec}([r])\).

    3.5 Correct Multiplication

    预处理阶段所使用的功能\(\mathcal F_\mathsf{CorrectMult}\): 取随机数份额\([x]\)和\([y]\)为输入, 返回\([x\cdot y]\). 做法如下:

    1. 运行被动安全的协议, 返回结果为\([x\cdot y+\delta]\), 其中\(\delta\)为主动敌手发起附加攻击引入的附加错误值(additive error);
    2. 验证\(\delta=_?0\).

    若\(\mathcal R\)为有限域, 则可以使用"sacrifice"技术[2], 即通过牺牲另一个满足\(c=ab\)的随机乘法元组\(([a],[b],[c])\), 来验证\(([x],[y],[xy])\)的一致性(consistency). 如此每个乘法需要打开一个值用于检验, 因此通信量与需要检验的元组数量\(m\)相关. 为了同时对\(m\)个乘法元组进行检验, 目前最高效的方案是使用GS20基于多项式插值和域的性质的方案[3], 其通信量与\(m\)无关.

    4 Optimizing the Online Phase

    4.1 Masked Secret Sharing

    本文使用如下线性秘密共享方案:

    • \(\mathsf{share}_{\langle\cdot\rangle}(x)\): 选取随机茫化\(\lambda_x\in\mathcal R\), 调用\(\mathsf{share}_{[\cdot]}(\lambda_x)\)并计算\(\mu_x=x-\lambda_x\)作为份额的一部分, 即\(\langle x\rangle=([\lambda_x],\mu_x)\);
    • \(\mathsf{rec}_{\langle\cdot\rangle}([\lambda_x],\mu_x)\): 调用\(\lambda_x\leftarrow\mathsf{rec}_{[\cdot]}([\lambda_x])\), 若\(\lambda_x\neq\perp\), 则输出\(x=\lambda_x+\mu_x\), 否则输出\(\perp\).

    很容易验证该方案的加法同态性.

    4.2 General Overview

    利用诚实大多数LSSS的关键性质: 重构要么得到正确的值, 要么生成中止信号\(\perp\), 可以构造如下高效的具有中止安全性的主动安全的MPC协议:

    容易验证上述协议满足中止安全性.

    本文目标在于尽可能地优化在线阶段的开销, 将在线阶段的三元组一致性检验所需开销转移到预处理阶段, 因此预处理阶段的效率可能比其他方案低, 总的来说, 本文对上述协议提出了如下两个优化:

    1. 用\(\langle\cdot\rangle\)秘密共享方案替代\([\cdot]\)秘密共享方案, 乘法门计算的在线阶段只需打开一次, 而后者需要打开两次;
    2. 用Loose opening \(\Pi_\mathsf{LooseRec}\)替代Robust opening \(\Pi_\mathsf{Rec}\), 在线阶段只有\(P_1,\cdots,P_{t+1}\)参与计算, 在最终输出前取所有打开值的随机线性组合, 并Robust opening其结果进行验证, 此时所有参与方(包括\(P_{t+2},\cdots,P_n\))都需要参与验证.

    优化1仅优化了在线阶段的通信量. 优化2中除了优化通信量外, 还节省了计算资源.

    4.3 Main Protocol

    取\(\mathcal R=\mathbb{F}\)为有限域. 按照上述两个优化思想, 本文给出的优化协议如下:

    很容易验证方案的正确性, 而隐私性则基于一次一密, 下面表明验证(check)阶段进行的验证有极大概率是正确的.

    令\([\eta_1],\cdots,[\eta_M]\)表示在计算阶段中通过loose opening打开的值\(\eta_1',\cdots,\eta_M'\)的份额. 设\(\eta_i'=\eta_i+\delta_i\), 其中\(\delta_i\)为敌手引入的附加错误值. 在验证阶段, 参与方打开的值为:

    \[z=\eta'-\eta=\sum_{i=1}^M\alpha_i(\eta_i'-\eta_i)=\sum_{i=1}^M\alpha_i(\eta_i+\delta_i-\eta_i)=\sum_{i=1}^M\alpha_i\delta_i, \]

    只需验证\(z=_?0\). \(z=0\)以极大概率成立, 当且仅当对于所有\(i=1,\cdots,m\), 都有\(\delta_i=0\). 若存在\(\delta_i\neq0\), 但敌手作恶后仍能通过验证, 则有\(\alpha_i=-\delta_i^{-1}\sum_{j\neq i}\alpha_i\delta_j\), 由于每个\(\alpha_i\)都是在敌手引入\(\delta_i\)之后在\(\mathbb F\)上均匀随机选取的, 故这种情况发生的概率仅为$1/|\mathbb F|$, 于是敌手作恶成功的概率可忽略不计.

    通信复杂度: 预处理阶段生成三元组的通信开销与参与方数量\(n\)线性相关. 在线阶段忽略验证阶段和调用\(\mathcal F_\mathsf{Coin}\)的开销, 则每个乘法门总通信开销来自于调用一次\(\Pi_\mathsf{LooseRec}\)的开销, 为\(t+\mathsf{BC}(1)\)个元素, 故使用优化后总通信量为\(t+(n-1)=\frac{n-1}{2}+(n-1)=\frac{3}{2}(n-1)\)个元素.

    5 Removing the Extra Parties from the Output Phase

    在上一节的协议中, 在线阶段大部分都由\(t+1\)个参与方完成, 而剩下\(t\)方仅在预处理阶段和输出阶段参与计算, 因此在线阶段这\(t\)个参与方可以离线. 下面考虑进一步优化为输出阶段仅由\(t+1\)个参与方完成, 如此预处理阶段结束后剩下\(t\)方可以永久离线. 仍然考虑\(\mathcal{R}=\mathbb F\).

    5.1 General Overview

    主要想法是让\(2t+1\)方参与离线阶段生成必要的乘法三元组外, 还需生成MAC, 在线阶段只需要\(t+1\)方参与计算并用MAC来确保正确性. 回顾上一节中的协议, 在线阶段可以仅由\(t+1\)方运行, 因为在完成预处理后, 在线阶段只需要进行opening. 然而, 由于秘密共享方案的门限是\(t\), \(t+1\)方不能提供足够的冗余, 使得主动敌手可以发起附加攻击修改公开值.

    为了解决这个问题, 与前一节的方法类似, 令\([\eta_1],\cdots,[\eta_M]\)是打开后结果为\(\eta_1',\cdots,\eta_M'\)的份额.

    1. 各参与方选取随机公开值\(\alpha_1,\cdots,\alpha_M\in\mathbb F\), 令\([\eta]=\sum_{i=1}^M\alpha_i[\eta_i]\), \(\eta'=\sum_{i=1}^M\alpha_i\eta_i'\);
    2. 所有\(2t+1\)方打开\(\eta'-[\eta]=_?0\)来检验\([\eta]\)的打开值是否为\(\eta'\), 以保证值的正确性.

    与上一节的不同之处在于, 此时不用额外的\(t\)方以robust opening的方式打开\([\eta]\). 但是, 只有\(t+1\)方并不能保证打开的值是一致的, 为了解决这个问题, 使用不诚实大多数MPC协议Turbospeedz中的一个技术[4], 不将\(\eta\in\mathbb{F}\)秘密共享为\([\eta]\), 而是秘密共享为\(([\eta],[r\cdot \eta])\), 其中\(r\in\mathbb F\)是全局随机密钥MAC, 也被秘密共享为\([r]\), 在整个计算中, \(r\)保持不变.

    因为\([r]\)是隐藏的, 且\(([\eta],[r\cdot \eta])\)是线性的, 可以确保正确性, 但是仍需保证敌手在check阶段中引入的误差与诚实方的份额无关. 为此, 使用"commit-and-open"方法. 为了打开\([v]\), 每个\(P_i\)首先使用理想的承诺功能\(\mathcal F_\mathsf{Commit}()\)承诺他们的份额\(v^{(i)}\), 然后再调用\(\Pi_\mathsf{LooseRec}\)将收到的份额与承诺的份额进行一致性检验. 尽管敌手仍能使揭示的值为错误的, 但是由此引入的误差与诚实方份额无关. commit-and-open只在协议的检验阶段和输出阶段中需要, 计算阶段只需调用\(\Pi_\mathsf{LooseRec}\).

    仍然可以通过随机线性组合的方式一次性验证多个\(\eta\)值的正确性而不需要额外的\(t\)个参与方. 设\(t+1\)方运行在线阶段得到的\([\eta_1],\cdots,[\eta_M]\)打开后的结果为\(\eta_1+\delta_1,\cdots,\eta_M+\delta_M\). 通过使用额外的份额\([r\cdot\eta_1],\cdots,[r\cdot\eta_M],[r]\), 进行如下验证:

    1. 选取随机公开值\(\alpha_1,\cdots,\alpha_M\), 令\([r\cdot\eta]=\sum_{i=1}^M\alpha_i[r\cdot\eta_i]\), \(\eta'=\sum_{i=1}^M\alpha_i(\eta_i+\delta_i)\), \([\beta]=[r\cdot\eta]-\eta'\cdot[r]\);
    2. 各参与方通过loose opening打开\(\beta+\epsilon\leftarrow[\beta]\), 若结果不为\(0\), 则中止协议.

    敌手作恶但检验能通过当且仅当\(r\cdot(\sum_{i=1}^M\alpha_i\delta_i)=\epsilon\), 概率至多为$1/|\mathbb F|$, 此时至少存在一个\(\delta_i\neq 0\), 使得\(\alpha_i=\delta_i^{-1}\cdot(\epsilon-\sum_{j\neq i}\alpha_j\delta_j)\), 当$|\mathbb F|$足够大时, 该概率可以忽略.

    5.2 Full Protocol Description

    完整的优化协议如下:

    通信复杂度: 在线阶段, 不考虑最终验证时, 每个乘法门需要通信\(t+\mathsf{BC}(1)\)个元素, 由于只在\(P_1,\cdots,P_{t+1}\)上进行广播, 因此\(\mathsf{BC}(1)=t\), 于是每个乘法门需要通信\(t+t=n-1\)个元素.

    6 Extension to Rings

    本节考虑把[Main Protocol]中的方案扩展到\(\mathcal{R}=\mathbb Z_{2^k}\)环, 此时需要解决如下两个问题:

    1. \(\mathcal F_\mathsf{CorrectMult}\)在\(\mathbb Z_{2^k}\)上的实例化;
    2. 由于\(\mathbb Z_{2^k}\)上存在零因子, 最后的检查阶段中验证的\(\sum_{i=1}^M\alpha_i\delta_i=0\), 恶意敌手能以\(1/2\)的不可忽略概率通过检验.

    下面分别进行讨论.

    6.1 Checking Multiplications over \(\mathbb Z_{2^k}\)

    设\(\{([a_i],[b_i],[c_i])\}_{i=1}^M\)是通过被动安全协议生成的乘法三元组集合, 其中\(c_i=a_i\cdot b_i+\delta_i\), \(\delta_i\in\mathbb Z_{2^k}\)是敌手引入的附加错误值. 目标是对于所有\(i=1,\cdots,M\), 验证\(\delta_i=0\). 首先回顾[5]中在\(\mathbb F\)上的检验方法, 然后再将其扩展到\(\mathbb Z_{2^k}\)上.

    6.1.1 Checking Triples over \(\mathbb F\)

    设$|\mathbb F|\geq2M-1$, 假设检验中包含的三元组之一是随机且未被使用的. 检验过程[5]如下:

    1. 寻找\(\lambda_1,\cdots,\lambda_{2M-1}\in\mathbb F\), 使得对任意\(i\neq j\), \(\lambda_i-\lambda_j\)是可逆的(非零元). 这样的序列是存在的, 因为$|\mathbb F|\geq2M-1$;
    2. 令\(f(X)\)和\(g(X)\)是\(\mathbb F\)上次数至多为\(M-1\)的多项式, 对于\(i=1,\cdots,M\), 满足\(f(\lambda_i)=a_i\)和\(g(\lambda_i)=b_i\), 对于\(j=M+1,\cdots,2M-1\), 令\(a_j:=f(\lambda_j)\), \(b_j:=g(\lambda_j)\). 对于\(j=M+1,\cdots,2M-1\), 各参与方使用拉格朗日系数从\([a_i]\)和\([b_i]\)中本地计算\([a_j]\)和\([b_j]\);
    3. 对于\(j=M+1,\cdots,2M-1\), 使用抵抗附加攻击的乘法协议计算\([c_j=a_j\cdot b_j+\delta_j]\);
    4. 各参与方调用\(\mathcal F_\mathsf{Rand}\), 得到\([r]\);
    5. 令\(h(X)\)是次数至多为\(2M-2\)的多项式, 对于\(i=1,\cdots,2M-1\), 满足\(h(\lambda_i)=c_i\). 各参与方使用拉格朗日系数从\(\{[c_i]\}_{i=1}^{2M-1}\)中本地计算\(h(r)\);
    6. 各参与方使用拉格朗日系数从\(\{[a_i]\}_{i=1}^M\)中本地计算\([f(r)]\), 从\(\{[b_i]\}_{i=1}^M\)中本地计算\([g(r)]\);
    7. 各参与方打开\(f(r)\), \(g(r)\)和\(h(r)\), 验证\(h(r)=f(r)g(r)\).

    首先, 最后一步中打开的值不会破坏协议的隐私性, 因为这些份额是原始三元组的线性组合, 其中有一个是随机且未被打开的.

    接下来说明, 对于\(i=1,\cdots,M\), 协议正确地检验了\(\delta_i=0\). 事实上, 若存在\(\delta_i\neq0\), 则\(h(X)\neq f(X)g(X)\)作为多项式, 根据代数基本定理, 除了至多$(2M-2)/|\mathbb F|$的概率外, 有\(h(r)\neq f(r)g(r)\).

    6.1.2 Extending the check to \(\mathbb Z_{2^k}\)

    上述方案不能扩展到\(\mathbb Z_{2^k}\)上, 原因如下:

    1. 由于零因子的存在, 不可能对所需次数的多项式进行插值;
    2. 即使可能, 对于两个不相等的多项式, 对随机点的求值能得到相同结果的概率很小.

    为了解决这些问题, 引入Galois扩环(Galois ring extension) [6]. 令\(\phi(X)\)表示\(\mathbb Z_{2^k}\)上次数为\(d\)的首一多项式, 使其模2在\(\mathbb F_2\)上是不可约的. 称商环\(R=\mathbb Z_{2^k}[X]/(\phi(X))\)是次数为\(d\)的Galois环. 与扩域类似, \(R\)中的元素可以看出是次数小于\(d\)的多项式. 我们将\(\mathbb Z_{2^k}\)视为次数为0的多项式, 嵌入\(R\)中. 这些环有如下性质[6]:

    定理1: 若\(p^d>N\), 存在\(\lambda_1,\cdots,\lambda_N\), 对于每个序列\((\alpha_1,\cdots,\alpha_N)\in R^N\), \(R\)上存在次数至多为\(N-1\)的唯一多项式\(f(X)\), 使得对所有\(i=1,\cdots,N\), 都有\(f(\lambda_i)=\alpha_i\).

    定理2: 令\(f(X)\)是\(R\)上次数为\(\ell>0\)的多项式, 则对于均匀随机的\(r\in R\), \(f(r)=0\)的概率以\(\ell/p^d\)为上界.

    有了以上两个定理, 可将检验乘法三元组正确性的协议从\(\mathbb F\)扩展到\(\mathbb Z_{2^k}\).

    令\(R\)是次数\(d>\log_2(2M-1)\)的Galois扩环. 首先, 可以将\(\mathbb Z_{2^k}\)上的秘密共享方案\([\cdot]\)扩展到\(R\)上, 即秘密共享\(R\)上给定多项式的每个系数. 可以通过使用\(\mathbb Z_{2^k}\)上的底层乘法来计算\(R\)上满足security up to additive attacks的秘密共享元素的乘法. 若各参与方将秘密共享形式的三元组看成是\(R\)上的常数多项式的秘密共享, 则在\(\mathbb F\)上的协议也适用于\(\mathbb Z_{2^k}\): 存在插值所需的必要序列\(\lambda_1,\cdots,\lambda_{2M-1}\in R\), 满足定理1和\(2^d>2M-1\), 且根据定理2, 最终检验\(h(r)=_?f(r)g(r)\)是可靠的. 取足够大的\(d\), 使得恶意敌手通过验证的概率\((2M-1)/2^d\)可以忽略不计.

    6.2 Random Linear Combinations over \(\mathbb Z_{2^k}\)

    设秘密共享值的集合\([\eta_1],\cdots,[\eta_M]\)打开后的结果为\(\eta_1',\cdots,\eta_M'\), 参与方需要验证对于所有\(i=1,\cdots,M\), 都有\(\eta_i=\eta_i'\). 为了在\(\mathbb Z_{2^k}\)上做到这一点, 使用次数为\(d\)的Galois扩环\(R\). 简单起见, 若\(\kappa\)整除\(M\), 则\(M=\kappa\cdot\ell\). 直观地说, 将\(\mathbb Z_{2^k}\)的元素"packing"到\(R\)的元素中, 然后在\(R\)上执行与\(\mathbb F\)上相同的检查. 具体过程如下:

    设\(\eta_i'=\eta_i+\delta_i\), \(\delta_i\in\mathbb Z_{2^k}\)是敌手引入的误差. 这在\(R\)上可以写成\(\phi_i'=\phi_j+\epsilon_j\), \(j=1,\cdots,\ell\), 其中\(\epsilon\in R\)是敌手已知的信息. 验证通过, 当且仅当\(\sum_{j=1}^\ell\alpha_j\cdot\epsilon_j=0\). 假设存在\(\delta_{i_0}\neq 0\), 则存在\(\epsilon_{j_0}\neq 0\). 对\(j\neq j_0\), 固定\(\alpha_j\)和\(\delta_j\), 上述等式可以看成是对\(R\)上的次数为1的多项式求值, 根据定理2, 在随机点\(\alpha_{j_0}\in R\)求值得到0的概率至多为\(2^{-\kappa}\), 因此敌手作恶但能通过检验的概率可忽略不计.

    7 References

    [1] I. Damgård and J. B. Nielsen. Scalable and unconditionally secure multiparty computation. CRYPTO'07.

    [2] I. Damgård, M. Keller, E. Larraia, V. Pastro, P. Scholl, and N. P. Smart. Practical covertly secure MPC for dishonest majority - or: Breaking the SPDZ limits. ESORICS'13.

    [3] V. Goyal and Y. Song. Malicious security comes free in honest-majority mpc. Cryptology ePrint Archive, Report 2020/134, 2020.

    [4] A. Ben-Efraim, M. Nielsen, and E. Omri. Turbospeedz: Double your online SPDZ! Improving SPDZ using function dependent preprocessing. ACNS'19.

    [5] E. Ben-Sasson, S. Fehr, and R. Ostrovsky. Near-linear unconditionally-secure multiparty computation with a dishonest minority. CRYPTO'12.

    [6] M. Abspoel, R. Cramer, I. Damgård, D. Escudero, and C. Yuan. Efficient information-theoretic secure multiparty computation over \(\mathbb Z/p^k\mathbb Z\) via galois rings. TCC'19.