The Communication-Friendly Privacy-Preserving Machine Learning against Malicious Adversaries

Tianpei Lu, Bingsheng Zhang,  Lichun Li, and Kui Ren T. Lu, B. Zhang and K. Ren are with The State Key Laboratory of Blockchain and Data Security, Zhejiang University, Zhejiang University, Hangzhou, China. E-mail: {lutianpei, bingsheng, kuiren}@zju.edu.cn. L. Li is with Ant group, Hangzhou, China. E-mali: [email protected]. B. Zhang is Corresponding Author.
Abstract

With the increasing emphasis on privacy regulations, such as GDPR, protecting individual privacy and ensuring compliance have become critical concerns for both individuals and organizations. Privacy-preserving machine learning (PPML) is an innovative approach that allows for secure data analysis while safeguarding sensitive information. It enables organizations to extract valuable insights from data without compromising privacy. Secure multi-party computation (MPC) is a key tool in PPML, as it allows multiple parties to jointly compute functions without revealing their private inputs, making it essential in multi-server environments. We address the performance overhead of existing maliciously secure protocols, particularly in finite rings like 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, by introducing an efficient protocol for secure linear function evaluation. We implement our maliciously secure MPC protocol on GPUs, significantly improving its efficiency and scalability. We extend the protocol to handle linear and non-linear layers, ensuring compatibility with a wide range of machine-learning models. Finally, we comprehensively evaluate machine learning models by integrating our protocol into the workflow, enabling secure and efficient inference across simple and complex models, such as convolutional neural networks (CNNs).

I Introduction

In the era of big data, privacy protection and compliance have become paramount concerns for both individuals and organizations. As various privacy regulations, such as GDPR, have emerged, the demand for effective privacy-preserving mechanisms has intensified significantly. Privacy-preserving machine learning (PPML) is an innovative technique that enhances privacy while enabling secure data mining and machine learning. It ensures that sensitive information remains confidential, allowing organizations to leverage data insights without compromising individual privacy.

Secure multi-party computation (MPC) [1, 2, 3] allows multiple parties to jointly evaluate functions without revealing their private inputs. This cryptographic tool plays a crucial role in realizing PPML in multi-server environments [4, 5, 6, 7, 8, 9]. Notably, this work focuses on 3-party MPC, referred to as 3-PC. Most existing protocols [10, 11] are designed for a semi-honest setting, where participants are assumed to adhere to the protocol and act honestly, albeit with the potential to glean additional information from the data they handle. However, in many scenarios, the importance of robust defenses against malicious actors becomes critical. Maliciously secure protocols are essential in these contexts, as they can detect adversarial behaviors and protect the integrity of the computation.

Despite the advancements, state-of-the-art maliciously secure PPML protocols face significant performance overhead. For instance, maliciously secure multiplication protocols can be at least twice as slow as their semi-honest counterparts [12, 13]. This performance gap raises concerns, especially given that PPML-friendly MPC protocols typically operate over finite rings like 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, which facilitate fixed-point arithmetic. Designing maliciously secure MPC over 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT is inherently more complex than over prime-order finite fields psubscript𝑝\mathbb{Z}_{p}blackboard_Z start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT.

Recently, several works [14, 15, 16] have successfully implemented efficient maliciously secure protocols over psubscript𝑝\mathbb{Z}_{p}blackboard_Z start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT. However, techniques used to achieve malicious security in psubscript𝑝\mathbb{Z}_{p}blackboard_Z start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT cannot be directly applied to 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT due to the absence of inverses for certain elements. Attempts to adapt these techniques have resulted in protocols that incur a twofold communication overhead. Alternatively, some research efforts [5, 12, 13] aim to develop maliciously secure MPC over 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT from the ground up. Nonetheless, these solutions often generate significantly higher communication overhead compared to semi-honest protocols. This performance loss is particularly troubling in today’s economic landscape, where communication costs on platforms like Amazon can far surpass computation costs, underscoring the urgent need for efficient, secure protocols that balance both privacy and performance.

Our results. In this work, we improve the performance of maliciously secure linear functions evaluation for enhanced PPML. Our protocols are based on 3-party MPC in the honest majority setting. The underlying share of our 3-PC protocol originates from a variant of the replicated secure sharing (RSS) [11]; that is, to share x2𝑥subscriptsuperscript2x\in\mathbb{Z}_{2^{\ell}}italic_x ∈ blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT holds (r1,r2)subscript𝑟1subscript𝑟2(r_{1},r_{2})( italic_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_r start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT holds (m=xr,r1)𝑚𝑥𝑟subscript𝑟1(m=x-r,r_{1})( italic_m = italic_x - italic_r , italic_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ), and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT holds (m=xr,r2)𝑚𝑥𝑟subscript𝑟2(m=x-r,r_{2})( italic_m = italic_x - italic_r , italic_r start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) where r=r1+r2𝑟subscript𝑟1subscript𝑟2r=r_{1}+r_{2}italic_r = italic_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_r start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.

Analogously, for the malicious multiplication, the parties first invoke the semi-honest multiplication protocol and perform a batch verification at the end. Goyal et al. [14] proposes a technique that can transfer the verification of N𝑁Nitalic_N dimension inner product triple to the verification of N/2𝑁2N/2italic_N / 2 dimension inner product with constant overhead. However, Goyal et al. [14] works on Shamir’s secret sharing, which is performed over a prime-order field, naively converting their protocol to the ring setting could cause the soundness issue. Also, as mentioned above, the techniques [17, 18, 19] to adopt the multiplication verification over the field to the ring are not suitable for the protocol proposed in [14]. To resolve the soundness issue, we extend the shared elements over 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT to the quotient ring of polynomials 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ) [20, 21, 22], where f(x)𝑓𝑥f(x)italic_f ( italic_x ) is a degree-d𝑑ditalic_d irreducible polynomial over 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT to apply the Lagrange interpolating based dimension reduction technique [14]. Consequently, the overall communication of our batch multiplication verification protocol is logarithmic to the number of multiplication gates.

Our protocols are compatible with mixed-circuit computation. Previous research [23, 24, 4, 25] has shown that computing non-linear functions, such as comparison, is more efficient in binary computation. This necessitates switching between arithmetic and binary computation, as arithmetic is superior for dot products. Rotaru and Wood introduced the concept of double-authenticated bits (daBits) [26], which are secret random bits shared across both arithmetic and binary. We observe that our protocol can be directly applied to daBits with minimal modifications. By utilizing daBits, we enable secure evaluation of any non-linear function under malicious security.

Finally, we integrated both linear and non-linear functions to systematically evaluate machine learning models.

TABLE I: Comparison of 3-PC based PPML. (\ellroman_ℓ is the ring size, n𝑛nitalic_n is the size of the inner product.)
Operation Protocol Offline Online Malicious
Communication (bits) Rounds Communication (bits)
Mult ABY3[4] 121212\ell12 roman_ℓ 1111 999\ell9 roman_ℓ \checkmark
BLAZE[5] 333\ell3 roman_ℓ 1111 333\ell3 roman_ℓ \checkmark
SWIFT[12] 333\ell3 roman_ℓ 1111 333\ell3 roman_ℓ \checkmark
Ours 111\ell1 roman_ℓ 1111 222\ell2 roman_ℓ \checkmark
Inner Product ABY3[4] 12n12𝑛12n\ell12 italic_n roman_ℓ 1111 9n9𝑛9n\ell9 italic_n roman_ℓ \checkmark
BLAZE[5] 3n3𝑛3n\ell3 italic_n roman_ℓ 1111 333\ell3 roman_ℓ \checkmark
SWIFT[12] 333\ell3 roman_ℓ 1111 333\ell3 roman_ℓ \checkmark
Ours 111\ell1 roman_ℓ 1111 222\ell2 roman_ℓ \checkmark
Inner Product with Trunction ABY3[4] 12n+8412𝑛8412n\ell+84\ell12 italic_n roman_ℓ + 84 roman_ℓ 1111 9n+39𝑛39n\ell+3\ell9 italic_n roman_ℓ + 3 roman_ℓ \checkmark
BLAZE[5] 3n+23𝑛23n\ell+2\ell3 italic_n roman_ℓ + 2 roman_ℓ 1111 333\ell3 roman_ℓ \checkmark
SWIFT[12] 151515\ell15 roman_ℓ 1111 333\ell3 roman_ℓ \checkmark
Ours 777\ell7 roman_ℓ 1111 222\ell2 roman_ℓ \checkmark

Performance. Table I depicts the comparison between our protocols and SOTA 3PC maliciously secure protocol. As we can see, our protocols achieve a significant communication reduction.

Batch verification for multiplication over the ring. Compared with the prime-order finite field, constructing an MPC over ring 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT against malicious adversaries typically incurs a higher overhead. In this work, we propose a new maliciously secure 3PC multiplication protocol over ring 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT with a logarithmic communication overhead during batch verification. We conduct benchmarks on the overhead ratio of the verification step. By employing this technique, the amortized communication cost of our maliciously secure multiplication is merely 2222 ring elements in the online phase and 1111 ring element in the offline phase per operation.

Compared with SOTA maliciously secure MPC multiplication over ring proposed by Dalskov et al. [13], our protocol reduces the overall communication by 40%. Note that Dalskov et al. [13] achieves full security in the 𝒬3superscript𝒬3\mathcal{Q}^{3}caligraphic_Q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT active adversary setting (t<n/3𝑡𝑛3t<n/3italic_t < italic_n / 3), while our protocol achieves security with abort in the 𝒬2superscript𝒬2\mathcal{Q}^{2}caligraphic_Q start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT active adversary setting (t<n/2𝑡𝑛2t<n/2italic_t < italic_n / 2), where t𝑡titalic_t is the number of corrupted parties and n𝑛nitalic_n is the total number of participants. Compared with SOTA 3PC multiplication over ring [12], our protocol reduces the communication by 33% in the online phase and 67% in the offline phase, respectively. Similarly, the communication of our inner product protocols is also 50% of that in SWIFT [12].

Implementation with GPUs. Since our implementation requires converting secret sharing to an extended ring during the verification phase, this introduces significant computational overhead. However, the extended ring offers excellent concurrency, allowing us to implement our protocol on GPUs. In our specific experiments, compared to ABY3, our implementation achieved a threefold performance improvement, and when compared to Swift, we realized a twofold increase in performance.

Implementation of maliciously secure PPML framework. We built a comprehensive privacy-preserving machine learning application against malicious adversaries based on Piranha [27] framework. This includes the implementation of typical CNN models such as VGG and ResNet. Our framework delineates between semi-honest offline and online computation phases, as well as a separate multiplication gate (for both arithmetic and boolean) verification phase. Our experiments demonstrate that the time overhead of the verification phase is significantly lower than that of the online computation phase, indicating that the time introduced by malicious security is far less than the original cost of the semi-honest protocol.

Paper Organization. We first propose our maliciously secure 3PC in Sec. III. In Sec. IV, we realize the PPML framework based on our maliciously secure protocols for both linear and non-linear operation. In Sec. V, we benchmark the performance of our protocols and PPML framework.

II Preliminaries

Notation. Let 𝒫:={P0,P1,P2}assign𝒫subscript𝑃0subscript𝑃1subscript𝑃2\mathcal{P}:=\{P_{0},P_{1},P_{2}\}caligraphic_P := { italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT } be the three MPC parties. During the PPML execution, we encode the float numbers as fixed-point structure [4, 5]: for a fixed point value x𝑥xitalic_x with k𝑘kitalic_k-bit precision, if x0𝑥0x\geq 0italic_x ≥ 0, we encode it as x2k𝑥superscript2𝑘\lfloor x\cdot 2^{k}\rfloor⌊ italic_x ⋅ 2 start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ⌋; if x<0𝑥0x<0italic_x < 0, we encode it as 2+x2ksuperscript2𝑥superscript2𝑘2^{\ell}+\lfloor x\cdot 2^{k}\rfloor2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT + ⌊ italic_x ⋅ 2 start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ⌋. We use ηj,ksubscript𝜂𝑗𝑘\eta_{j,k}italic_η start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT to denote the common seed held by Pjsubscript𝑃𝑗P_{j}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT and Pksubscript𝑃𝑘P_{k}italic_P start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. Our protocol contains two types of secret sharing as follows:

  • []superscriptdelimited-[][\cdot]^{\ell}[ ⋅ ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT-sharing: We define []superscriptdelimited-[][\cdot]^{\ell}[ ⋅ ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT-sharing over ring 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT as [x]:=([x]12,[x]22)assignsuperscriptdelimited-[]𝑥formulae-sequencesubscriptdelimited-[]𝑥1subscriptsuperscript2subscriptdelimited-[]𝑥2subscriptsuperscript2[x]^{\ell}:=([x]_{1}\in\mathbb{Z}_{2^{\ell}},[x]_{2}\in\mathbb{Z}_{2^{\ell}})[ italic_x ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT := ( [ italic_x ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , [ italic_x ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ) where x=[x]1+[x]2𝑥subscriptsuperscriptdelimited-[]𝑥1subscriptsuperscriptdelimited-[]𝑥2x=[x]^{\ell}_{1}+[x]^{\ell}_{2}italic_x = [ italic_x ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + [ italic_x ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Pjsubscript𝑃𝑗P_{j}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT for j{1,2}𝑗12j\in\{1,2\}italic_j ∈ { 1 , 2 } hold share [x]jsubscriptsuperscriptdelimited-[]𝑥𝑗[x]^{\ell}_{j}[ italic_x ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT.

  • superscriptdelimited-⟨⟩\langle\cdot\rangle^{\ell}⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT-sharing: We define superscriptdelimited-⟨⟩\langle\cdot\rangle^{\ell}⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT-sharing over ring 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT as x:=([rx],mx)assignsuperscriptdelimited-⟨⟩𝑥superscriptdelimited-[]subscript𝑟𝑥subscript𝑚𝑥\langle x\rangle^{\ell}:=([r_{x}]^{\ell},m_{x})⟨ italic_x ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT := ( [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT , italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) where rxsubscript𝑟𝑥r_{x}italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT is a fresh random value and mx=rx+xsubscript𝑚𝑥subscript𝑟𝑥𝑥m_{x}=r_{x}+xitalic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT = italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + italic_x. Pjsubscript𝑃𝑗P_{j}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT for j{1,2}𝑗12j\in\{1,2\}italic_j ∈ { 1 , 2 } hold (mx2,[rx]j2)formulae-sequencesubscript𝑚𝑥subscriptsuperscript2subscriptsuperscriptdelimited-[]subscript𝑟𝑥𝑗subscriptsuperscript2(m_{x}\in\mathbb{Z}_{2^{\ell}},[r_{x}]^{\ell}_{j}\in\mathbb{Z}_{2^{\ell}})( italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ∈ blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ) and P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT holds ([rx]1,[rx]2)subscriptsuperscriptdelimited-[]subscript𝑟𝑥1subscriptsuperscriptdelimited-[]subscript𝑟𝑥2([r_{x}]^{\ell}_{1},[r_{x}]^{\ell}_{2})( [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ).

We use [][x]superscriptdelimited-[]delimited-[]𝑥[\cdot]^{\ell[x]}[ ⋅ ] start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT and [x]superscriptdelimited-⟨⟩delimited-[]𝑥\langle\cdot\rangle^{\ell[x]}⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT to denote the share in the polynomial ring 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ) where f(x)𝑓𝑥f(x)italic_f ( italic_x ) is a degree-d𝑑ditalic_d irreducible polynomial over 2subscript2\mathbb{Z}_{2}blackboard_Z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. For simplicity, we use []delimited-[][\cdot][ ⋅ ], delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩ when semantics are clear.

All the aforementioned secret-sharing forms have the linear homomorphic property, i.e., [x]+[y]=([x]1+[y]1,[x]2+[y]2)delimited-[]𝑥delimited-[]𝑦subscriptdelimited-[]𝑥1subscriptdelimited-[]𝑦1subscriptdelimited-[]𝑥2subscriptdelimited-[]𝑦2[x]+[y]=([x]_{1}+[y]_{1},[x]_{2}+[y]_{2})[ italic_x ] + [ italic_y ] = ( [ italic_x ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + [ italic_y ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , [ italic_x ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + [ italic_y ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) and c[x]=(c[x]1,c[x]2)𝑐delimited-[]𝑥𝑐subscriptdelimited-[]𝑥1𝑐subscriptdelimited-[]𝑥2c\cdot[x]=(c\cdot[x]_{1},c\cdot[x]_{2})italic_c ⋅ [ italic_x ] = ( italic_c ⋅ [ italic_x ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_c ⋅ [ italic_x ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) and [x]+c=([x]1+c,[x]2)delimited-[]𝑥𝑐subscriptdelimited-[]𝑥1𝑐subscriptdelimited-[]𝑥2[x]+c=([x]_{1}+c,[x]_{2})[ italic_x ] + italic_c = ( [ italic_x ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_c , [ italic_x ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), where c𝑐citalic_c is a public value. The same linear operation holds for delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩, and 2[x]superscriptdelimited-⟨⟩subscriptsuperscript2delimited-[]𝑥\langle\cdot\rangle^{\mathbb{Z}_{2^{\ell}}[x]}⟨ ⋅ ⟩ start_POSTSUPERSCRIPT blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] end_POSTSUPERSCRIPT.

Secret sharing. Let Π[]subscriptΠdelimited-[]\Pi_{[\cdot]}roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT and ΠsubscriptΠdelimited-⟨⟩\Pi_{\langle\cdot\rangle}roman_Π start_POSTSUBSCRIPT ⟨ ⋅ ⟩ end_POSTSUBSCRIPT denote the corresponding secret-sharing protocols. By Π[](x)subscriptΠdelimited-[]𝑥\Pi_{[\cdot]}(x)roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT ( italic_x ), we mean that x𝑥xitalic_x is shared by P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT; by Π[]subscriptΠdelimited-[]\Pi_{[\cdot]}roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT, we mean the parties jointly generate a shared random value. We utilize pseudo-random generators (PRG) to reduce the communication [28]. In our protocol description, when we let parties Pjsubscript𝑃𝑗P_{j}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT and Pksubscript𝑃𝑘P_{k}italic_P start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT pick random values together, we mean that these parties invoke PRG with seed ηj,ksubscript𝜂𝑗𝑘\eta_{j,k}italic_η start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT. The brief sketch of secret sharing schemes is as follows.

  • [x]Π[](x)superscriptdelimited-[]𝑥superscriptsubscriptΠdelimited-[]𝑥[x]^{\ell}\leftarrow\Pi_{[\cdot]}^{\ell}(x)[ italic_x ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT ← roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT ( italic_x ): (Generate shares of x𝑥xitalic_x.)

    - P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT pick random value [x]12subscriptdelimited-[]𝑥1subscriptsuperscript2[x]_{1}\in\mathbb{Z}_{2^{\ell}}[ italic_x ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT with seed η0,1subscript𝜂01\eta_{0,1}italic_η start_POSTSUBSCRIPT 0 , 1 end_POSTSUBSCRIPT;

    - P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT sends x2=x[x]1(mod2)subscript𝑥2annotated𝑥subscriptdelimited-[]𝑥1pmodsuperscript2x_{2}=x-[x]_{1}\pmod{2^{\ell}}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = italic_x - [ italic_x ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_MODIFIER ( roman_mod start_ARG 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_ARG ) end_MODIFIER to P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.

  • [x]Π[]superscriptdelimited-[]𝑥superscriptsubscriptΠdelimited-[][x]^{\ell}\leftarrow\Pi_{[\cdot]}^{\ell}[ italic_x ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT ← roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT: (Generate shares of a random value.)

    - P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT pick random value [x]12subscriptdelimited-[]𝑥1subscriptsuperscript2[x]_{1}\in\mathbb{Z}_{2^{\ell}}[ italic_x ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT with seed η0,1subscript𝜂01\eta_{0,1}italic_η start_POSTSUBSCRIPT 0 , 1 end_POSTSUBSCRIPT;

    - P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT pick random value [x]22subscriptdelimited-[]𝑥2subscriptsuperscript2[x]_{2}\in\mathbb{Z}_{2^{\ell}}[ italic_x ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT with seed η0,2subscript𝜂02\eta_{0,2}italic_η start_POSTSUBSCRIPT 0 , 2 end_POSTSUBSCRIPT;

    - P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT calculates x=[x]1+[x]2𝑥subscriptdelimited-[]𝑥1subscriptdelimited-[]𝑥2x=[x]_{1}+[x]_{2}italic_x = [ italic_x ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + [ italic_x ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.

  • xΠ,k(x)superscriptdelimited-⟨⟩𝑥superscriptsubscriptΠdelimited-⟨⟩𝑘𝑥\langle x\rangle^{\ell}\leftarrow\Pi_{\langle\cdot\rangle}^{\ell,k}(x)⟨ italic_x ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT ← roman_Π start_POSTSUBSCRIPT ⟨ ⋅ ⟩ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ , italic_k end_POSTSUPERSCRIPT ( italic_x ): (Generate shares of x𝑥xitalic_x.)

    - All parties perform [rx]Π[]delimited-[]subscript𝑟𝑥subscriptΠdelimited-[][r_{x}]\leftarrow\Pi_{[\cdot]}[ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] ← roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT in the offline phase, and Pksubscript𝑃𝑘P_{k}italic_P start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT holds both seeds of [rx]1subscriptdelimited-[]subscript𝑟𝑥1[r_{x}]_{1}[ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and [rx]2subscriptdelimited-[]subscript𝑟𝑥2[r_{x}]_{2}[ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT generation;

    - Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT send mx=x+[rx]1+[rx]2subscript𝑚𝑥𝑥subscriptdelimited-[]subscript𝑟𝑥1subscriptdelimited-[]subscript𝑟𝑥2m_{x}=x+[r_{x}]_{1}+[r_{x}]_{2}italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT = italic_x + [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT to P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.

  • xΠsuperscriptdelimited-⟨⟩𝑥superscriptsubscriptΠdelimited-⟨⟩\langle x\rangle^{\ell}\leftarrow\Pi_{\langle\cdot\rangle}^{\ell}⟨ italic_x ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT ← roman_Π start_POSTSUBSCRIPT ⟨ ⋅ ⟩ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT: (Generate shares of a random value.)

    - All parties perform [rx]Π[]delimited-[]subscript𝑟𝑥subscriptΠdelimited-[][r_{x}]\leftarrow\Pi_{[\cdot]}[ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] ← roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT in the offline phase;

    - P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT pick random value mxsubscript𝑚𝑥m_{x}italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT with seed η1,2subscript𝜂12\eta_{1,2}italic_η start_POSTSUBSCRIPT 1 , 2 end_POSTSUBSCRIPT.

Π[]subscriptΠdelimited-[]\Pi_{[\cdot]}roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT and ΠsubscriptΠdelimited-⟨⟩\Pi_{\langle\cdot\rangle}roman_Π start_POSTSUBSCRIPT ⟨ ⋅ ⟩ end_POSTSUBSCRIPT also work for the share [][x],[x]superscriptdelimited-[]delimited-[]𝑥superscriptdelimited-⟨⟩delimited-[]𝑥[\cdot]^{\ell[x]},\langle\cdot\rangle^{\ell[x]}[ ⋅ ] start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT over the polynomial ring 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ), which are denoted as Π[][x]superscriptsubscriptΠdelimited-[]delimited-[]𝑥\Pi_{[\cdot]}^{\ell[x]}roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT, Π[x]superscriptsubscriptΠdelimited-⟨⟩delimited-[]𝑥\Pi_{\langle\cdot\rangle}^{\ell[x]}roman_Π start_POSTSUBSCRIPT ⟨ ⋅ ⟩ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT.

Verifiability of share reconstruction. We note that the shared form delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩ has the verifiable reconstruction property against a single malicious party. To be precise, for shared value, xdelimited-⟨⟩𝑥\langle x\rangle⟨ italic_x ⟩, a single active adversary cannot deceive the honest parties into accepting an incorrect reconstruction result x+e𝑥𝑒x+eitalic_x + italic_e with a non-zero error e𝑒eitalic_e. This is because any two honest parties can collaboratively reconstruct the secret, and invalid shares will be detected by the honest parties.

Formally, the verifiable reconstruct protocol Π𝖱𝖾𝖼subscriptΠ𝖱𝖾𝖼\Pi_{\mathsf{Rec}}roman_Π start_POSTSUBSCRIPT sansserif_Rec end_POSTSUBSCRIPT is described as follows:

  • xΠ𝖱𝖾𝖼(x)𝑥subscriptΠ𝖱𝖾𝖼delimited-⟨⟩𝑥x\leftarrow\Pi_{\mathsf{Rec}}(\langle x\rangle)italic_x ← roman_Π start_POSTSUBSCRIPT sansserif_Rec end_POSTSUBSCRIPT ( ⟨ italic_x ⟩ ):

    - P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT sends [rx]1subscriptdelimited-[]subscript𝑟𝑥1[r_{x}]_{1}[ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT to P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and [rx]2subscriptdelimited-[]subscript𝑟𝑥2[r_{x}]_{2}[ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT to P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT;

    - P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sends mxsubscript𝑚𝑥m_{x}italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT to P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and H([rx]1)𝐻subscriptdelimited-[]subscript𝑟𝑥1H([r_{x}]_{1})italic_H ( [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) to P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT;

    - P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT sends H(mx)𝐻subscript𝑚𝑥H(m_{x})italic_H ( italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) to P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and H([rx]2)𝐻subscriptdelimited-[]subscript𝑟𝑥2H([r_{x}]_{2})italic_H ( [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) to P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT;

    If the received messages from the other parties are inconsistent, Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT output abort. Otherwise Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT output x=mx[rx]1[rx]2𝑥subscript𝑚𝑥subscriptdelimited-[]subscript𝑟𝑥1subscriptdelimited-[]subscript𝑟𝑥2x=m_{x}-[r_{x}]_{1}-[r_{x}]_{2}italic_x = italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT - [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.

  • xΠ𝖱𝖾𝖼,k(x)𝑥superscriptsubscriptΠ𝖱𝖾𝖼𝑘delimited-⟨⟩𝑥x\leftarrow\Pi_{\mathsf{Rec}}^{\ell,k}(\langle x\rangle)italic_x ← roman_Π start_POSTSUBSCRIPT sansserif_Rec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ , italic_k end_POSTSUPERSCRIPT ( ⟨ italic_x ⟩ ): All parties send their shares (or the hash value) to Pksubscript𝑃𝑘P_{k}italic_P start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. If the received messages from the other parties are inconsistent, Pksubscript𝑃𝑘P_{k}italic_P start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT output abort. Otherwise Pksubscript𝑃𝑘P_{k}italic_P start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT output x=mx[rx]1[rx]2𝑥subscript𝑚𝑥subscriptdelimited-[]subscript𝑟𝑥1subscriptdelimited-[]subscript𝑟𝑥2x=m_{x}-[r_{x}]_{1}-[r_{x}]_{2}italic_x = italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT - [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.

For the share [x]superscriptdelimited-⟨⟩delimited-[]𝑥\langle\cdot\rangle^{\ell[x]}⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT in polynomial ring, Π𝖱𝖾𝖼[x]superscriptsubscriptΠ𝖱𝖾𝖼delimited-[]𝑥\Pi_{\mathsf{Rec}}^{\ell[x]}roman_Π start_POSTSUBSCRIPT sansserif_Rec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT works analogously as the above.

Preprocessing and postprocessing. We follow the “preprocessing” paradigm [29], which splits the protocol into two phases: the preprocessing/offline phase is data-independent and can be executed without data input, and the online phase is data-dependent and is executed after data input. Specifically, all the items rxsubscript𝑟𝑥r_{x}italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT of share xdelimited-⟨⟩𝑥\langle x\rangle⟨ italic_x ⟩ of our protocols can be generated in the circuit-depend offline phase. What the parties need to do in the online phase is to collaborate in computing mxsubscript𝑚𝑥m_{x}italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT for P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. To achieve malicious security, we further introduce the postprocessing phase [19], where batch verification is performed.

Multiplication gate. We adopt the multiplication protocol of ASTRA[11]. For multiplication z=xy𝑧𝑥𝑦z=x\cdot yitalic_z = italic_x ⋅ italic_y with input xdelimited-⟨⟩𝑥\langle x\rangle⟨ italic_x ⟩, ydelimited-⟨⟩𝑦\langle y\rangle⟨ italic_y ⟩ and output zdelimited-⟨⟩𝑧\langle z\rangle⟨ italic_z ⟩, all parties first generate [rz]Π[](rz)delimited-[]subscript𝑟𝑧subscriptΠdelimited-[]subscript𝑟𝑧[r_{z}]\leftarrow\Pi_{[\cdot]}(r_{z})[ italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] ← roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT ( italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ) for the output wire in the offline phase. To calculate mzsubscript𝑚𝑧m_{z}italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT for P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in the online phase, it can be written as

mz=xy+rzsubscript𝑚𝑧𝑥𝑦subscript𝑟𝑧\displaystyle m_{z}=xy+r_{z}italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT = italic_x italic_y + italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT =(mxrx)(myry)+rzabsentsubscript𝑚𝑥subscript𝑟𝑥subscript𝑚𝑦subscript𝑟𝑦subscript𝑟𝑧\displaystyle=(m_{x}-r_{x})(m_{y}-r_{y})+r_{z}= ( italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT - italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) ( italic_m start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT - italic_r start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ) + italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT
=mxmymxrymyrxP1 and P2 can locally evaluate+rxry+rzKnown to P0.absentsuperscriptsubscript𝑚𝑥subscript𝑚𝑦subscript𝑚𝑥subscript𝑟𝑦subscript𝑚𝑦subscript𝑟𝑥subscript𝑃1 and subscript𝑃2 can locally evaluatesuperscriptsubscript𝑟𝑥subscript𝑟𝑦subscript𝑟𝑧Known to subscript𝑃0\displaystyle=\overbrace{m_{x}m_{y}-m_{x}r_{y}-m_{y}r_{x}}^{P_{1}\text{ and }P% _{2}\text{ can locally evaluate}}+\overbrace{r_{x}r_{y}+r_{z}}^{\text{Known to% }P_{0}}\enspace.= over⏞ start_ARG italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_m start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT - italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT - italic_m start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_ARG start_POSTSUPERSCRIPT italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT can locally evaluate end_POSTSUPERSCRIPT + over⏞ start_ARG italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT + italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT end_ARG start_POSTSUPERSCRIPT Known to italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT .

[Γ]=mxmymx[ry]my[rx]delimited-[]superscriptΓsubscript𝑚𝑥subscript𝑚𝑦subscript𝑚𝑥delimited-[]subscript𝑟𝑦subscript𝑚𝑦delimited-[]subscript𝑟𝑥[\Gamma^{\prime}]=m_{x}m_{y}-m_{x}[r_{y}]-m_{y}[r_{x}][ roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ] = italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_m start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT - italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT [ italic_r start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ] - italic_m start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] can be calculated by P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT locally and [Γ]=[rxry][rz]delimited-[]Γdelimited-[]subscript𝑟𝑥subscript𝑟𝑦delimited-[]subscript𝑟𝑧[\Gamma]=[r_{x}\cdot r_{y}]-[r_{z}][ roman_Γ ] = [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ⋅ italic_r start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ] - [ italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] can be secret shared by P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT to P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in the preprocessing phase. In the online phase, P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT calculate and reconstruct [mz]=[Γ]+[Γ]delimited-[]subscript𝑚𝑧delimited-[]superscriptΓdelimited-[]Γ[m_{z}]=[\Gamma^{\prime}]+[\Gamma][ italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] = [ roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ] + [ roman_Γ ].

Inner product. Given an arbitrary dimension inner product, its communication cost equals to a single multiplication. Considering n𝑛nitalic_n-dimension inner product z=i=0n1xiyi𝑧subscriptsuperscript𝑛1𝑖0subscript𝑥𝑖subscript𝑦𝑖z=\sum^{n-1}_{i=0}x_{i}\cdot y_{i}italic_z = ∑ start_POSTSUPERSCRIPT italic_n - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⋅ italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, the artifact mzsubscript𝑚𝑧m_{z}italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT requires to be evaluated in online phase can be written as

mzsubscript𝑚𝑧\displaystyle m_{z}italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT =i=0n1xiyi+rz=i=0n1(mxirxi)(myiryi)+rzabsentsubscriptsuperscript𝑛1𝑖0subscript𝑥𝑖subscript𝑦𝑖subscript𝑟𝑧subscriptsuperscript𝑛1𝑖0subscript𝑚subscript𝑥𝑖subscript𝑟subscript𝑥𝑖subscript𝑚subscript𝑦𝑖subscript𝑟subscript𝑦𝑖subscript𝑟𝑧\displaystyle=\sum^{n-1}_{i=0}x_{i}\cdot y_{i}+r_{z}=\sum^{n-1}_{i=0}(m_{x_{i}% }-r_{x_{i}})(m_{y_{i}}-r_{y_{i}})+r_{z}= ∑ start_POSTSUPERSCRIPT italic_n - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⋅ italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT = ∑ start_POSTSUPERSCRIPT italic_n - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT ( italic_m start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT - italic_r start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) ( italic_m start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT - italic_r start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) + italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT
=i=0n1(mximyimxiryimyirxi)P1 and P2 can locally evaluate+i=0n1rxiryi+rzKnown to P0.absentsuperscriptsubscriptsuperscript𝑛1𝑖0subscript𝑚subscript𝑥𝑖subscript𝑚subscript𝑦𝑖subscript𝑚subscript𝑥𝑖subscript𝑟subscript𝑦𝑖subscript𝑚subscript𝑦𝑖subscript𝑟subscript𝑥𝑖subscript𝑃1 and subscript𝑃2 can locally evaluatesuperscriptsubscriptsuperscript𝑛1𝑖0subscript𝑟subscript𝑥𝑖subscript𝑟subscript𝑦𝑖subscript𝑟𝑧Known to subscript𝑃0\displaystyle=\overbrace{\sum^{n-1}_{i=0}(m_{x_{i}}m_{y_{i}}-m_{x_{i}}r_{y_{i}% }-m_{y_{i}}r_{x_{i}})}^{P_{1}\text{ and }P_{2}\text{ can locally evaluate}}+% \overbrace{\sum^{n-1}_{i=0}r_{x_{i}}r_{y_{i}}+r_{z}}^{\text{Known to }P_{0}}\enspace.= over⏞ start_ARG ∑ start_POSTSUPERSCRIPT italic_n - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT ( italic_m start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_m start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT - italic_m start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT - italic_m start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) end_ARG start_POSTSUPERSCRIPT italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT can locally evaluate end_POSTSUPERSCRIPT + over⏞ start_ARG ∑ start_POSTSUPERSCRIPT italic_n - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT + italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT end_ARG start_POSTSUPERSCRIPT Known to italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT .

Similar to single multiplication, [Γ]=i=0n1(mximyimxi[ryi]myi[rxi])delimited-[]superscriptΓsubscriptsuperscript𝑛1𝑖0subscript𝑚subscript𝑥𝑖subscript𝑚subscript𝑦𝑖subscript𝑚subscript𝑥𝑖delimited-[]subscript𝑟subscript𝑦𝑖subscript𝑚subscript𝑦𝑖delimited-[]subscript𝑟subscript𝑥𝑖[\Gamma^{\prime}]=\sum^{n-1}_{i=0}(m_{x_{i}}m_{y_{i}}-m_{x_{i}}[r_{y_{i}}]-m_{% y_{i}}[r_{x_{i}}])[ roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ] = ∑ start_POSTSUPERSCRIPT italic_n - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT ( italic_m start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_m start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT - italic_m start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT [ italic_r start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ] - italic_m start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT [ italic_r start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ] ) an be locally evaluated by P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Meanwhile, [Γ]=i=0n1[rxiryi]+[rz]delimited-[]Γsubscriptsuperscript𝑛1𝑖0delimited-[]subscript𝑟subscript𝑥𝑖subscript𝑟subscript𝑦𝑖delimited-[]subscript𝑟𝑧[\Gamma]=\sum^{n-1}_{i=0}[r_{x_{i}}r_{y_{i}}]+[r_{z}][ roman_Γ ] = ∑ start_POSTSUPERSCRIPT italic_n - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT [ italic_r start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ] + [ italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] can be secret shared by P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT to P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in the offline phase. In the online phase, P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT compute [mz]=[Γ]+[Γ]delimited-[]subscript𝑚𝑧delimited-[]Γdelimited-[]superscriptΓ[m_{z}]=[\Gamma]+[\Gamma^{\prime}][ italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] = [ roman_Γ ] + [ roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ] and reconstruct mzsubscript𝑚𝑧m_{z}italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT.

Security up to additive attacks. A protocol is secure up to additive attacks when all behaviors the adversary performs can only introduce an additive error known to the adversary to the output of the protocol. As proven in [30], the typical replicated secret sharing protocol, such as aforementioned multiplication and inner product, is secure up to additive attacks against malicious adversaries, i.e., the adversary’s cheating ability is limited to introducing an additive error to the output.

Security Model. Our protocol and framework achieve active security with abort in an honest majority setting, while one arbitrary party in 𝒫𝒫\mathcal{P}caligraphic_P is under the control of a static malicious adversary. We emphasize abort security with computational soundness, ensuring that malicious behavior will be detected with overwhelming probability.

III 3PC with Malicious Security

We use the postprocessing verification procedure to detect any potential malicious behavior. Before reconstructing the final result, an extra verification is performed to ensure the correctness of the final result. Our maliciously secure protocol is based on the additive security of RSS, namely, the corresponding protocol is secure up to additive attacks.

Correctness Verification for Arithmetic Circuit. For a circuit containing both multiplication and addition gates, the correctness verification of the overall circuit using 3PC replicated shares reduces to verifying all multiplication gates. When an adversary introduces an error at an addition gate, since addition is non-interactive, it will cause an inconsistency in the shares. As previously mentioned, replicated shares possess a verifiable reconstruction property against a single malicious party. In the multiplication operation z=xy𝑧𝑥𝑦z=x\cdot yitalic_z = italic_x ⋅ italic_y, P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT can introduce an error when sharing [rxry]delimited-[]subscript𝑟𝑥subscript𝑟𝑦[r_{x}\cdot r_{y}][ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ⋅ italic_r start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ], while P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT can introduce errors during the reconstruction of mzsubscript𝑚𝑧m_{z}italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT, without breaking share consistency. Denoting the set of multiplication gates by 𝒢𝒢\mathcal{G}caligraphic_G, the verification checks the following equation:

{x(i),y(i),z(i)}𝒢x(i)y(i)=z(i)subscriptsuperscript𝑥𝑖superscript𝑦𝑖superscript𝑧𝑖𝒢superscript𝑥𝑖superscript𝑦𝑖superscript𝑧𝑖\begin{split}\bigwedge_{\{x^{(i)},y^{(i)},z^{(i)}\}\in\mathcal{G}}x^{(i)}\cdot y% ^{(i)}&=z^{(i)}\end{split}start_ROW start_CELL ⋀ start_POSTSUBSCRIPT { italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT , italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT , italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT } ∈ caligraphic_G end_POSTSUBSCRIPT italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT end_CELL start_CELL = italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT end_CELL end_ROW (1)

To batch verify multiple multiplication gates x(i),y(i),z(i)i|𝒢|delimited-⟨⟩superscript𝑥𝑖delimited-⟨⟩superscript𝑦𝑖subscriptdelimited-⟨⟩superscript𝑧𝑖𝑖𝒢{\langle x^{(i)}\rangle,\langle y^{(i)}\rangle,\langle z^{(i)}\rangle}_{i\in|% \mathcal{G}|}⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUBSCRIPT italic_i ∈ | caligraphic_G | end_POSTSUBSCRIPT, we verify that the following inner product equals zero:

Δ=i=0|𝒢|(rix(i)y(i)riz(i))=0Δsubscriptsuperscript𝒢𝑖0superscript𝑟𝑖superscript𝑥𝑖superscript𝑦𝑖superscript𝑟𝑖superscript𝑧𝑖0\begin{split}\Delta=\sum^{|\mathcal{G}|}_{i=0}(r^{i}\cdot x^{(i)}\cdot y^{(i)}% -r^{i}\cdot z^{(i)})=0\end{split}start_ROW start_CELL roman_Δ = ∑ start_POSTSUPERSCRIPT | caligraphic_G | end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT ( italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT - italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ) = 0 end_CELL end_ROW (2)

where r𝑟ritalic_r is a challenge picked during verification. The terms risuperscript𝑟𝑖r^{i}italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT prevent an adversary from introducing opposing errors in different outputs zisubscript𝑧𝑖z_{i}italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and zjsubscript𝑧𝑗z_{j}italic_z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT that could cancel each other. For example, if z(i)=x(i)y(i)+esuperscript𝑧𝑖superscript𝑥𝑖superscript𝑦𝑖𝑒z^{(i)}=x^{(i)}\cdot y^{(i)}+eitalic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT = italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT + italic_e and z(j)=x(j)y(j)esuperscript𝑧𝑗superscript𝑥𝑗superscript𝑦𝑗𝑒z^{(j)}=x^{(j)}\cdot y^{(j)}-eitalic_z start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT = italic_x start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT - italic_e, then z(i)+z(j)=x(i)y(i)+x(j)y(j)superscript𝑧𝑖superscript𝑧𝑗superscript𝑥𝑖superscript𝑦𝑖superscript𝑥𝑗superscript𝑦𝑗z^{(i)}+z^{(j)}=x^{(i)}\cdot y^{(i)}+x^{(j)}\cdot y^{(j)}italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT + italic_z start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT = italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT + italic_x start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT, making the error undetectable.

However, directly evaluating the inner product poses challenges. One challenge is that the adversary, knowing the additive error in z(i)delimited-⟨⟩superscript𝑧𝑖\langle z^{(i)}\rangle⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩, could cancel out the error to fabricate Δ=0Δ0\Delta=0roman_Δ = 0. A typical solution involves using a random factor α𝛼\alphaitalic_α. Instead of the 2-degree inner product, verification becomes a 3-degree polynomial:

Δ=i=0|𝒢|(riαx(i)y(i)riαz(i))=0Δsubscriptsuperscript𝒢𝑖0superscript𝑟𝑖𝛼superscript𝑥𝑖superscript𝑦𝑖superscript𝑟𝑖𝛼superscript𝑧𝑖0\begin{split}\Delta=\sum^{|\mathcal{G}|}_{i=0}(r^{i}\cdot\alpha\cdot x^{(i)}% \cdot y^{(i)}-r^{i}\cdot\alpha\cdot z^{(i)})=0\end{split}start_ROW start_CELL roman_Δ = ∑ start_POSTSUPERSCRIPT | caligraphic_G | end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT ( italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_α ⋅ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT - italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_α ⋅ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ) = 0 end_CELL end_ROW (3)

where α𝛼\alphaitalic_α is a random share unknown to each party. This randomness α𝛼\alphaitalic_α serves as an additional layer of security by making it difficult for a malicious adversary to manipulate the values of the inputs and outputs in a way that cancels out errors introduced during verification. If the evaluation of this 3-degree polynomial is secure against additive attacks, the adversary can only introduce an input-independent error esuperscript𝑒e^{\prime}italic_e start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT in ΔΔ\Deltaroman_Δ. To cancel the original error e𝑒eitalic_e in z(i)superscript𝑧𝑖z^{(i)}italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT, the adversary must guess e=αesuperscript𝑒𝛼𝑒e^{\prime}=\alpha\cdot eitalic_e start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = italic_α ⋅ italic_e. Since α𝛼\alphaitalic_α is unknown and chosen randomly, the probability of correctly guessing the exact value of αe𝛼𝑒\alpha\cdot eitalic_α ⋅ italic_e is extremely low.

Ring-Specific Challenges. The second challenge comes from irreversible multiplication in the ring. In ring-based computations, particularly over modular arithmetic, certain errors can exploit the properties of the ring to bypass verification. For instance, an adversary could introduce a specific error e𝑒eitalic_e such that when multiplied by risuperscript𝑟𝑖r^{i}italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT, it results in zero within the ring, even though the error itself is non-zero. Such chosen e𝑒eitalic_e will be undetected in a high probability if a lot of values α𝛼\alphaitalic_α meets eα=0𝑒𝛼0e\cdot\alpha=0italic_e ⋅ italic_α = 0. A typical attack could involve introducing an error e=21𝑒superscript21e=2^{\ell-1}italic_e = 2 start_POSTSUPERSCRIPT roman_ℓ - 1 end_POSTSUPERSCRIPT, where \ellroman_ℓ is the bit length of the ring. If r𝑟ritalic_r is an even number, this error would result in ri(z(i)+e)=riz(i)superscript𝑟𝑖superscript𝑧𝑖𝑒superscript𝑟𝑖superscript𝑧𝑖r^{i}\cdot(z^{(i)}+e)=r^{i}\cdot z^{(i)}italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ ( italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT + italic_e ) = italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT, passing verification with a probability of 1/2.

One common solution to this problem is to increase the size of the ring used for verification, ensuring that the probability of an error passing undetected becomes vanishingly small. For example, in a protocol like SPDZ2k [18], a larger ring size (e.g., =100100\ell=100roman_ℓ = 100) is used for 64-bit data, resulting in a soundness error of 236superscript2362^{-36}2 start_POSTSUPERSCRIPT - 36 end_POSTSUPERSCRIPT. In this scenario, even if the adversary tries to exploit the properties of the ring to introduce errors, the larger modulus significantly reduces the probability of success. Since converting shares from 264subscriptsuperscript264\mathbb{Z}_{2^{64}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT 64 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT to 2100subscriptsuperscript2100\mathbb{Z}_{2^{100}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT 100 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT is expensive, it is better to perform the arithmetic directly in 2100subscriptsuperscript2100\mathbb{Z}_{2^{100}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT 100 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT rather than during the verification phase, which doubles the overhead. For smaller data ranges (e.g., 1-bit values), this overhead ratio increases.

Our approach is different. We perform ΔΔ\Deltaroman_Δ over the extension ring 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ), where f(x)𝑓𝑥f(x)italic_f ( italic_x ) is an irreducible polynomial of degree d𝑑ditalic_d over 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [20]. (The original share over 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT becomes the free coefficient, with d𝑑ditalic_d random elements added to the other coefficients.) According to the Schwartz-Zippel Lemma, the probability that a |𝒢|𝒢|\mathcal{G}|| caligraphic_G |-degree non-zero polynomial Δ(r)=0Δ𝑟0\Delta(r)=0roman_Δ ( italic_r ) = 0 for a randomly chosen r𝑟ritalic_r is at most 2(1)d|𝒢|+12d|𝒢|2dsuperscript21𝑑𝒢1superscript2𝑑𝒢superscript2𝑑\frac{2^{(\ell-1)d}|\mathcal{G}|+1}{2^{\ell d}}\approx\frac{|\mathcal{G}|}{2^{% d}}divide start_ARG 2 start_POSTSUPERSCRIPT ( roman_ℓ - 1 ) italic_d end_POSTSUPERSCRIPT | caligraphic_G | + 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT roman_ℓ italic_d end_POSTSUPERSCRIPT end_ARG ≈ divide start_ARG | caligraphic_G | end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG.

Compared to the larger ring size approach, the extension ring offers two advantages: (i) Since the share conversion to the extended ring is non-interactive, there are no modifications required during the circuit evaluation phase for the semi-honest version of the protocol. This avoids any additional communication costs typically incurred during the verification phase. (ii) The extension ring approach is compatible with the dimensionality reduction technique proposed by [14], which reduces the communication complexity from Θ(|𝒢|)Θ𝒢\Theta(|\mathcal{G}|)roman_Θ ( | caligraphic_G | ) to Θ(log|𝒢|)Θ𝒢\Theta(\log|\mathcal{G}|)roman_Θ ( roman_log | caligraphic_G | ). This optimization further improves the efficiency of the protocol, especially when dealing with a large number of multiplication gates.

In summary, our protocol operates as follows. First, we use a semi-honest protocol to evaluate the arithmetic circuit (on the ring 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT). We then transform all the multiplication gate triplets to the extended ring 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ) and reformulate their verification as an inner product. Next, we apply the dimension reduction method from [14] to reduce the |𝒢|𝒢|\mathcal{G}|| caligraphic_G |-dimensional inner product to |𝒢|2R𝒢superscript2𝑅\frac{|\mathcal{G}|}{2^{R}}divide start_ARG | caligraphic_G | end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT end_ARG dimensions. Finally, we use an inner product verification protocol to check the inner product after dimension reduction.

𝖨𝗇𝗉𝗎𝗍::𝖨𝗇𝗉𝗎𝗍absent\mathsf{Input:}sansserif_Input : N𝑁Nitalic_N triples of delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩-shared multiplication. 𝖮𝗎𝗍𝗉𝗎𝗍::𝖮𝗎𝗍𝗉𝗎𝗍absent\mathsf{Output:}sansserif_Output : One triple of N𝑁Nitalic_N-dimension [x]superscriptdelimited-⟨⟩delimited-[]𝑥\langle\cdot\rangle^{\ell[x]}⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT-shared inner product. Preprocessing: - All parties invoke r[x]Π[x]superscriptdelimited-⟨⟩𝑟delimited-[]𝑥superscriptsubscriptΠdelimited-⟨⟩delimited-[]𝑥\langle r\rangle^{\ell[x]}\leftarrow\Pi_{\langle\cdot\rangle}^{\ell[x]}⟨ italic_r ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ← roman_Π start_POSTSUBSCRIPT ⟨ ⋅ ⟩ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT locally; Online: - All parties reconstruct r𝑟ritalic_r with Π𝖱𝖾𝖼subscriptΠ𝖱𝖾𝖼\Pi_{\mathsf{Rec}}roman_Π start_POSTSUBSCRIPT sansserif_Rec end_POSTSUBSCRIPT and calculate risuperscript𝑟𝑖r^{i}italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT for all iN𝑖subscript𝑁{i\in\mathbb{Z}_{N}}italic_i ∈ blackboard_Z start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT; - All parties transfer delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩ to [x]superscriptdelimited-⟨⟩delimited-[]𝑥\langle\cdot\rangle^{\ell[x]}⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT locally by setting the constant term of [x]superscriptdelimited-⟨⟩delimited-[]𝑥\langle\cdot\rangle^{\ell[x]}⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT to delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩; - All parties set z[x]:=i=0N1riz(i)[x]assignsuperscriptdelimited-⟨⟩𝑧delimited-[]𝑥subscriptsuperscript𝑁1𝑖0superscript𝑟𝑖superscriptdelimited-⟨⟩superscript𝑧𝑖delimited-[]𝑥\langle z\rangle^{\ell[x]}:=\sum^{N-1}_{i=0}r^{i}\cdot\langle z^{(i)}\rangle^{% \ell[x]}⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT := ∑ start_POSTSUPERSCRIPT italic_N - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ ⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT, and x(i)[x]:=rix(i)[x]assignsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscript𝑟𝑖superscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥\langle x^{\prime(i)}\rangle^{\ell[x]}:=r^{i}\cdot\langle x^{(i)}\rangle^{\ell% [x]}⟨ italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT := italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT for all iN𝑖subscript𝑁i\in\mathbb{Z}_{N}italic_i ∈ blackboard_Z start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT; - All parties output {x(i)[x],y(i)[x]}iN;z[x]subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝑁superscriptdelimited-⟨⟩𝑧delimited-[]𝑥\{\langle x^{\prime(i)}\rangle^{\ell[x]},\langle y^{(i)}\rangle^{\ell[x]}\}_{i% \in\mathbb{Z}_{N}};\langle z\rangle^{\ell[x]}{ ⟨ italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT end_POSTSUBSCRIPT ; ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT. Protocol Π𝖳𝗋𝖺𝗇𝗌({x(i),y(i),z(i)}iN)subscriptΠ𝖳𝗋𝖺𝗇𝗌subscriptdelimited-⟨⟩superscript𝑥𝑖delimited-⟨⟩superscript𝑦𝑖delimited-⟨⟩superscript𝑧𝑖𝑖subscript𝑁\Pi_{\mathsf{Trans}}(\{\langle x^{(i)}\rangle,\langle y^{(i)}\rangle,\langle z% ^{(i)}\rangle\}_{i\in\mathbb{Z}_{N}})roman_Π start_POSTSUBSCRIPT sansserif_Trans end_POSTSUBSCRIPT ( { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT end_POSTSUBSCRIPT )
Figure 1: Compression of Multiplication Triples.

Compression of multiplication triples. We first design a subprotocol, Π𝖳𝗋𝖺𝗇𝗌subscriptΠ𝖳𝗋𝖺𝗇𝗌\Pi_{\mathsf{Trans}}roman_Π start_POSTSUBSCRIPT sansserif_Trans end_POSTSUBSCRIPT (Fig. 1), which converts |𝒢|𝒢|\mathcal{G}|| caligraphic_G | multiplication triples over the ring 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT into an |𝒢|𝒢|\mathcal{G}|| caligraphic_G |-dimensional inner product over the polynomial ring 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ) for verification.

The transformation begins by locally converting the multiplication triples {x(i),y(i),z(i)}i|𝒢|subscriptdelimited-⟨⟩superscript𝑥𝑖delimited-⟨⟩superscript𝑦𝑖delimited-⟨⟩superscript𝑧𝑖𝑖subscript𝒢\{\langle x^{(i)}\rangle,\langle y^{(i)}\rangle,\langle z^{(i)}\rangle\}_{i\in% \mathbb{Z}_{|\mathcal{G}|}}{ ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT to the polynomial ring equivalents {x(i)[x],y(i)[x],z(i)[x]}i|𝒢|superscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑧𝑖delimited-[]𝑥𝑖subscript𝒢\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)}\rangle^{\ell[x]},\langle z^% {(i)}\rangle^{\ell[x]}\}{i\in\mathbb{Z}_{|\mathcal{G}|}}{ ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT. In this step, the free coefficient of the shares in 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ) is set to the original shares, while the remaining coefficients are padded with zero shares.

Next, the parties collectively generate a random challenge r2[x]/f(x)𝑟subscriptsuperscript2delimited-[]𝑥𝑓𝑥r\in\mathbb{Z}_{2^{\ell}}[x]/f(x)italic_r ∈ blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ) by invoking the subprotocol r[x]Π[x]superscriptdelimited-⟨⟩𝑟delimited-[]𝑥superscriptsubscriptΠdelimited-⟨⟩delimited-[]𝑥\langle r\rangle^{\ell[x]}\leftarrow\Pi_{\langle\cdot\rangle}^{\ell[x]}⟨ italic_r ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ← roman_Π start_POSTSUBSCRIPT ⟨ ⋅ ⟩ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT, followed by reconstructing r𝑟ritalic_r via Π𝖱𝖾𝖼subscriptΠ𝖱𝖾𝖼\Pi_{\mathsf{Rec}}roman_Π start_POSTSUBSCRIPT sansserif_Rec end_POSTSUBSCRIPT (To ensure that r𝑟ritalic_r is unknown to each party before circuit evaluation). Each party then locally computes z[x]=i=0|𝒢|1riz(i)[x]superscriptdelimited-⟨⟩𝑧delimited-[]𝑥superscriptsubscript𝑖0𝒢1superscript𝑟𝑖superscriptdelimited-⟨⟩superscript𝑧𝑖delimited-[]𝑥\langle z\rangle^{\ell[x]}=\sum_{i=0}^{|\mathcal{G}|-1}r^{i}\cdot\langle z^{(i% )}\rangle^{\ell[x]}⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ ⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT and x(i)[x]=rix(i)[x]superscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscript𝑟𝑖superscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥\langle x^{\prime(i)}\rangle^{\ell[x]}=r^{i}\cdot\langle x^{(i)}\rangle^{\ell[% x]}⟨ italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT for all i|𝒢|𝑖subscript𝒢i\in\mathbb{Z}_{|\mathcal{G}|}italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT.

Finally, the protocol returns the |𝒢|𝒢{|\mathcal{G}|}| caligraphic_G |-dimensional inner product tuple as ({x(i)[x],y(i)[x]}i|𝒢|,z[x])subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscriptdelimited-⟨⟩𝑧delimited-[]𝑥(\{\langle x^{\prime(i)}\rangle^{\ell[x]},\langle y^{(i)}\rangle^{\ell[x]}\}_{% i\in\mathbb{Z}_{|\mathcal{G}|}},\langle z\rangle^{\ell[x]})( { ⟨ italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ).

Lemma 1.

Suppose protocol Π𝖳𝗋𝖺𝗇𝗌subscriptΠ𝖳𝗋𝖺𝗇𝗌\Pi_{\mathsf{Trans}}roman_Π start_POSTSUBSCRIPT sansserif_Trans end_POSTSUBSCRIPT take {x(i),y(i),z(i)}i|𝒢|subscriptdelimited-⟨⟩superscript𝑥𝑖delimited-⟨⟩superscript𝑦𝑖delimited-⟨⟩superscript𝑧𝑖𝑖subscript𝒢\{\langle x^{(i)}\rangle,\langle y^{(i)}\rangle,\langle z^{(i)}\rangle\}_{i\in% \mathbb{Z}_{|\mathcal{G}|}}{ ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT as input, and it outputs {x(i)[x],y(i)[x]}i|𝒢|;z[x]subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscriptdelimited-⟨⟩𝑧delimited-[]𝑥\{\langle x^{\prime(i)}\rangle^{\ell[x]},\langle y^{(i)}\rangle^{\ell[x]}\}_{i% \in\mathbb{Z}_{|\mathcal{G}|}};\langle z\rangle^{\ell[x]}{ ⟨ italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT ; ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT. The probability that the following two conditions hold is at most |𝒢|2d𝒢superscript2𝑑\frac{|\mathcal{G}|}{2^{d}}divide start_ARG | caligraphic_G | end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG, where d𝑑ditalic_d is the degree of f(x)𝑓𝑥f(x)italic_f ( italic_x ) w.r.t. 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ):

  • z=i=0|𝒢|1xiyi𝑧subscriptsuperscript𝒢1𝑖0subscriptsuperscript𝑥𝑖subscript𝑦𝑖z=\sum^{{|\mathcal{G}|}-1}_{i=0}x^{\prime}_{i}\cdot y_{i}italic_z = ∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⋅ italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT

  • i|𝒢|𝑖subscript𝒢\exists i\in\mathbb{Z}_{|\mathcal{G}|}∃ italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT s.t. zixiyisubscript𝑧𝑖subscript𝑥𝑖subscript𝑦𝑖z_{i}\neq x_{i}\cdot y_{i}italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≠ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⋅ italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT

𝖨𝗇𝗉𝗎𝗍::𝖨𝗇𝗉𝗎𝗍absent\mathsf{Input:}sansserif_Input : |𝒢|𝒢{|\mathcal{G}|}| caligraphic_G |-dimension [x]superscriptdelimited-⟨⟩delimited-[]𝑥\langle\cdot\rangle^{\ell[x]}⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT-shared inner product. 𝖮𝗎𝗍𝗉𝗎𝗍::𝖮𝗎𝗍𝗉𝗎𝗍absent\mathsf{Output:}sansserif_Output : |𝒢|/2𝒢2{|\mathcal{G}|}/2| caligraphic_G | / 2-dimension [x]superscriptdelimited-⟨⟩delimited-[]𝑥\langle\cdot\rangle^{\ell[x]}⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT-shared inner product. Execution: - For i|𝒢|/2𝑖subscript𝒢2i\in\mathbb{Z}_{{|\mathcal{G}|}/2}italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 end_POSTSUBSCRIPT, all parties set fi(0)[x]=x(2i)[x]superscriptdelimited-⟨⟩subscript𝑓𝑖0delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑥2𝑖delimited-[]𝑥\langle f_{i}(0)\rangle^{\ell[x]}=\langle x^{(2\cdot i)}\rangle^{\ell[x]}⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ⟨ italic_x start_POSTSUPERSCRIPT ( 2 ⋅ italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT;fi(1)[x]=x(2i+1)superscriptdelimited-⟨⟩subscript𝑓𝑖1delimited-[]𝑥delimited-⟨⟩superscript𝑥2𝑖1\langle f_{i}(1)\rangle^{\ell[x]}=\langle x^{(2\cdot i+1)}\rangle⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ⟨ italic_x start_POSTSUPERSCRIPT ( 2 ⋅ italic_i + 1 ) end_POSTSUPERSCRIPT ⟩; fi(2)[x]=2fi(1)[x]fi(0)[x]superscriptdelimited-⟨⟩subscript𝑓𝑖2delimited-[]𝑥2superscriptdelimited-⟨⟩subscript𝑓𝑖1delimited-[]𝑥superscriptdelimited-⟨⟩subscript𝑓𝑖0delimited-[]𝑥\langle f_{i}(2)\rangle^{\ell[x]}=2\cdot\langle f_{i}(1)\rangle^{\ell[x]}-% \langle f_{i}(0)\rangle^{\ell[x]}⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 2 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = 2 ⋅ ⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT - ⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT; gi(0)[x]=y(2i)[x]superscriptdelimited-⟨⟩subscript𝑔𝑖0delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦2𝑖delimited-[]𝑥\langle g_{i}(0)\rangle^{\ell[x]}=\langle y^{(2\cdot i)}\rangle^{\ell[x]}⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ⟨ italic_y start_POSTSUPERSCRIPT ( 2 ⋅ italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT;gi(1)[x]=y(2i+1)[x]superscriptdelimited-⟨⟩subscript𝑔𝑖1delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦2𝑖1delimited-[]𝑥\langle g_{i}(1)\rangle^{\ell[x]}=\langle y^{(2\cdot i+1)}\rangle^{\ell[x]}⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ⟨ italic_y start_POSTSUPERSCRIPT ( 2 ⋅ italic_i + 1 ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT; gi(2)[x]=2gi(1)[x]gi(0)[x]superscriptdelimited-⟨⟩subscript𝑔𝑖2delimited-[]𝑥2superscriptdelimited-⟨⟩subscript𝑔𝑖1delimited-[]𝑥superscriptdelimited-⟨⟩subscript𝑔𝑖0delimited-[]𝑥\langle g_{i}(2)\rangle^{\ell[x]}=2\cdot\langle g_{i}(1)\rangle^{\ell[x]}-% \langle g_{i}(0)\rangle^{\ell[x]}⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 2 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = 2 ⋅ ⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT - ⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT; h(0)[x]=fi(0)[x]gi(0)[x]superscriptdelimited-⟨⟩0delimited-[]𝑥superscriptdelimited-⟨⟩subscript𝑓𝑖0delimited-[]𝑥superscriptdelimited-⟨⟩subscript𝑔𝑖0delimited-[]𝑥\langle h(0)\rangle^{\ell[x]}=\sum\langle f_{i}(0)\rangle^{\ell[x]}\cdot% \langle g_{i}(0)\rangle^{\ell[x]}⟨ italic_h ( 0 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ∑ ⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ⋅ ⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT;h(1)[x]=z[x]h(0)[x]superscriptdelimited-⟨⟩1delimited-[]𝑥superscriptdelimited-⟨⟩𝑧delimited-[]𝑥superscriptdelimited-⟨⟩0delimited-[]𝑥\langle h(1)\rangle^{\ell[x]}=\langle z\rangle^{\ell[x]}-\langle h(0)\rangle^{% \ell[x]}⟨ italic_h ( 1 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT - ⟨ italic_h ( 0 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT; h(2)[x]=fi(2)[x]gi(2)[x]superscriptdelimited-⟨⟩2delimited-[]𝑥superscriptdelimited-⟨⟩subscript𝑓𝑖2delimited-[]𝑥superscriptdelimited-⟨⟩subscript𝑔𝑖2delimited-[]𝑥\langle h(2)\rangle^{\ell[x]}=\sum\langle f_{i}(2)\rangle^{\ell[x]}\cdot% \langle g_{i}(2)\rangle^{\ell[x]}⟨ italic_h ( 2 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ∑ ⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 2 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ⋅ ⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 2 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT; - All parties invoke ζ[x]Π[x]superscriptdelimited-⟨⟩𝜁delimited-[]𝑥superscriptsubscriptΠdelimited-⟨⟩delimited-[]𝑥\langle\zeta\rangle^{\ell[x]}\leftarrow\Pi_{\langle\cdot\rangle}^{\ell[x]}⟨ italic_ζ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ← roman_Π start_POSTSUBSCRIPT ⟨ ⋅ ⟩ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT and reveal 2ζ[x]superscriptdelimited-⟨⟩2𝜁delimited-[]𝑥\langle 2\cdot\zeta\rangle^{\ell[x]}⟨ 2 ⋅ italic_ζ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT; - All parties calculate h(ζ)[x]=i=02((Πj=1,ji2ζjij)h(i)[x])superscriptdelimited-⟨⟩𝜁delimited-[]𝑥subscriptsuperscript2𝑖0subscriptsuperscriptΠ2formulae-sequence𝑗1𝑗𝑖𝜁𝑗𝑖𝑗superscriptdelimited-⟨⟩𝑖delimited-[]𝑥\langle h(\zeta)\rangle^{\ell[x]}=\sum^{2}_{i=0}((\Pi^{2}_{j=1,j\neq i}\frac{% \zeta-j}{i-j})\cdot\langle h(i)\rangle^{\ell[x]})⟨ italic_h ( italic_ζ ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ∑ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT ( ( roman_Π start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j = 1 , italic_j ≠ italic_i end_POSTSUBSCRIPT divide start_ARG italic_ζ - italic_j end_ARG start_ARG italic_i - italic_j end_ARG ) ⋅ ⟨ italic_h ( italic_i ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ); fi(ζ)[x]=ζfi(1)[x](ζ1)fi(0)[x]superscriptdelimited-⟨⟩subscript𝑓𝑖𝜁delimited-[]𝑥𝜁superscriptdelimited-⟨⟩subscript𝑓𝑖1delimited-[]𝑥𝜁1superscriptdelimited-⟨⟩subscript𝑓𝑖0delimited-[]𝑥\langle f_{i}(\zeta)\rangle^{\ell[x]}=\zeta\cdot\langle f_{i}(1)\rangle^{\ell[% x]}-(\zeta-1)\langle f_{i}(0)\rangle^{\ell[x]}⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_ζ ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = italic_ζ ⋅ ⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT - ( italic_ζ - 1 ) ⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT; gi(ζ)[x]=ζgi(1)[x](ζ1)gi(0)[x]superscriptdelimited-⟨⟩subscript𝑔𝑖𝜁delimited-[]𝑥𝜁superscriptdelimited-⟨⟩subscript𝑔𝑖1delimited-[]𝑥𝜁1superscriptdelimited-⟨⟩subscript𝑔𝑖0delimited-[]𝑥\langle g_{i}(\zeta)\rangle^{\ell[x]}=\zeta\cdot\langle g_{i}(1)\rangle^{\ell[% x]}-(\zeta-1)\langle g_{i}(0)\rangle^{\ell[x]}⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_ζ ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = italic_ζ ⋅ ⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT - ( italic_ζ - 1 ) ⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT; - All parties output {fi(ζ)[x],gi(ζ)[x]}i|𝒢|/2;h(ζ)[x]subscriptsuperscriptdelimited-⟨⟩subscript𝑓𝑖𝜁delimited-[]𝑥superscriptdelimited-⟨⟩subscript𝑔𝑖𝜁delimited-[]𝑥𝑖subscript𝒢2superscriptdelimited-⟨⟩𝜁delimited-[]𝑥\{\langle f_{i}(\zeta)\rangle^{\ell[x]},\langle g_{i}(\zeta)\rangle^{\ell[x]}% \}_{i\in\mathbb{Z}_{{|\mathcal{G}|}/2}};\langle h(\zeta)\rangle^{\ell[x]}{ ⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_ζ ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_ζ ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ; ⟨ italic_h ( italic_ζ ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT. Protocol Π𝖱𝖾𝖽𝗎𝖼𝖾({x(i)[x],y(i)[x]}i|𝒢|,z[x])subscriptΠ𝖱𝖾𝖽𝗎𝖼𝖾subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscriptdelimited-⟨⟩𝑧delimited-[]𝑥\Pi_{\mathsf{Reduce}}(\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)}% \rangle^{\ell[x]}\}_{i\in\mathbb{Z}_{|\mathcal{G}|}},\langle z\rangle^{\ell[x]})roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT ( { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT )
Figure 2: The Inner Product Dimension Reduction Protocol
Proof.

It is sufficient to demonstrate that r𝑟ritalic_r is uniformly random, assuming that the reconstruction protocol Π𝖱𝖾𝖼subscriptΠ𝖱𝖾𝖼\Pi_{\mathsf{Rec}}roman_Π start_POSTSUBSCRIPT sansserif_Rec end_POSTSUBSCRIPT does not abort. The adversary’s goal is to manipulate the verification by ensuring that the following equation holds:

i=0|𝒢|1riz(i)=i=0|𝒢|1rix(i)y(i)subscriptsuperscript𝒢1𝑖0superscript𝑟𝑖superscript𝑧𝑖subscriptsuperscript𝒢1𝑖0superscript𝑟𝑖superscript𝑥𝑖superscript𝑦𝑖\sum^{|\mathcal{G}|-1}_{i=0}r^{i}\cdot z^{(i)}=\sum^{|\mathcal{G}|-1}_{i=0}r^{% i}\cdot x^{(i)}\cdot y^{(i)}∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT = ∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT

where z(i)=x(i)y(i)+e(i)superscript𝑧𝑖superscript𝑥𝑖superscript𝑦𝑖superscript𝑒𝑖z^{(i)}=x^{(i)}\cdot y^{(i)}+e^{(i)}italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT = italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT + italic_e start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT for each i|𝒢|𝑖subscript𝒢i\in\mathbb{Z}_{|\mathcal{G}|}italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT, and eii|𝒢|subscriptsubscript𝑒𝑖𝑖𝒢{e_{i}}_{i\in\mathbb{Z}{|\mathcal{G}|}}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUBSCRIPT italic_i ∈ blackboard_Z | caligraphic_G | end_POSTSUBSCRIPT represents the list of errors introduced by the adversary at each gate. This can be written as

i=0|𝒢|1rix(i)y(i)=i=0|𝒢|1ri(x(i)y(i)+e(i))subscriptsuperscript𝒢1𝑖0superscript𝑟𝑖superscript𝑥𝑖superscript𝑦𝑖subscriptsuperscript𝒢1𝑖0superscript𝑟𝑖superscript𝑥𝑖superscript𝑦𝑖superscript𝑒𝑖\sum^{|\mathcal{G}|-1}_{i=0}r^{i}\cdot x^{(i)}\cdot y^{(i)}=\sum^{|\mathcal{G}% |-1}_{i=0}r^{i}\cdot(x^{(i)}\cdot y^{(i)}+e^{(i)})∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT = ∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ ( italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT + italic_e start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT )

By simplifying, we get:

i=0|𝒢|1rix(i)y(i)=i=0|𝒢|1rix(i)y(i)+i=0|𝒢|1rie(i)subscriptsuperscript𝒢1𝑖0superscript𝑟𝑖superscript𝑥𝑖superscript𝑦𝑖subscriptsuperscript𝒢1𝑖0superscript𝑟𝑖superscript𝑥𝑖superscript𝑦𝑖subscriptsuperscript𝒢1𝑖0superscript𝑟𝑖superscript𝑒𝑖\sum^{|\mathcal{G}|-1}_{i=0}r^{i}\cdot x^{(i)}\cdot y^{(i)}=\sum^{|\mathcal{G}% |-1}_{i=0}r^{i}\cdot x^{(i)}\cdot y^{(i)}+\sum^{|\mathcal{G}|-1}_{i=0}r^{i}% \cdot e^{(i)}∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT = ∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT + ∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_e start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT

To satisfy this equation, the adversary must ensure that the error terms cancel out, which would require:

i=0|𝒢|1rie(i)subscriptsuperscript𝒢1𝑖0superscript𝑟𝑖superscript𝑒𝑖\sum^{|\mathcal{G}|-1}_{i=0}r^{i}\cdot e^{(i)}∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_e start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT

This means that the adversary needs to find a value of r𝑟ritalic_r that is a root of the polynomial:

f(x)=i=0|𝒢|1xie(i)𝑓𝑥subscriptsuperscript𝒢1𝑖0superscript𝑥𝑖superscript𝑒𝑖f(x)=\sum^{|\mathcal{G}|-1}_{i=0}x^{i}\cdot e^{(i)}italic_f ( italic_x ) = ∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_x start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ italic_e start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT

Since this polynomial is of degree at most |𝒢|1𝒢1{|\mathcal{G}|}-1| caligraphic_G | - 1, the number of possible roots that satisfy the equation is limited. Specifically, for a degree-{|𝒢|1}𝒢1\{{|\mathcal{G}|}-1\}{ | caligraphic_G | - 1 } polynomial over the ring 2[x]subscriptsuperscript2delimited-[]𝑥\mathbb{Z}_{2^{\ell}}[x]blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ], according to the Schwartz-Zippel Lemma, the number of potential roots is bounded by 2(1)d(|𝒢|+1)superscript21𝑑𝒢12^{(\ell-1)d}({|\mathcal{G}|}+1)2 start_POSTSUPERSCRIPT ( roman_ℓ - 1 ) italic_d end_POSTSUPERSCRIPT ( | caligraphic_G | + 1 ).

Thus, the probability that a uniformly random r𝑟ritalic_r selected during the protocol coincidentally matches one of these roots is given by:

2(1)d(|𝒢|+1)2d|𝒢|2dsuperscript21𝑑𝒢1superscript2𝑑𝒢superscript2𝑑\frac{2^{(\ell-1)d}({|\mathcal{G}|}+1)}{2^{\ell d}}\approx\frac{{|\mathcal{G}|% }}{2^{d}}divide start_ARG 2 start_POSTSUPERSCRIPT ( roman_ℓ - 1 ) italic_d end_POSTSUPERSCRIPT ( | caligraphic_G | + 1 ) end_ARG start_ARG 2 start_POSTSUPERSCRIPT roman_ℓ italic_d end_POSTSUPERSCRIPT end_ARG ≈ divide start_ARG | caligraphic_G | end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG

. ∎

𝖨𝗇𝗉𝗎𝗍::𝖨𝗇𝗉𝗎𝗍absent\mathsf{Input:}sansserif_Input : A |𝒢|𝒢{|\mathcal{G}|}| caligraphic_G |-dimension [x]superscriptdelimited-⟨⟩delimited-[]𝑥\langle\cdot\rangle^{\ell[x]}⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT-shared inner product pair. 𝖮𝗎𝗍𝗉𝗎𝗍::𝖮𝗎𝗍𝗉𝗎𝗍absent\mathsf{Output:}sansserif_Output : z=?i=1|𝒢|x(i)y(i)𝑧?subscriptsuperscript𝒢𝑖1superscript𝑥𝑖superscript𝑦𝑖z\overset{?}{=}\sum^{|\mathcal{G}|}_{i=1}x^{(i)}\cdot y^{(i)}italic_z over? start_ARG = end_ARG ∑ start_POSTSUPERSCRIPT | caligraphic_G | end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT. Execution: - All parties invoke α[x]Π[x]superscriptdelimited-⟨⟩𝛼delimited-[]𝑥superscriptsubscriptΠdelimited-⟨⟩delimited-[]𝑥\langle\alpha\rangle^{\ell[x]}\leftarrow\Pi_{\langle\cdot\rangle}^{\ell[x]}⟨ italic_α ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ← roman_Π start_POSTSUBSCRIPT ⟨ ⋅ ⟩ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT; - All parties calculate x(i)[x]=x(i)[x]α[x]superscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩𝛼delimited-[]𝑥\langle x^{\prime(i)}\rangle^{\ell[x]}=\langle x^{(i)}\rangle^{\ell[x]}\cdot% \langle\alpha\rangle^{\ell[x]}⟨ italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ⋅ ⟨ italic_α ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT; - All parties calculate Δ[x]=i=1|𝒢|x(i)[x]y(i)[x]α[x]z[x]superscriptdelimited-⟨⟩Δdelimited-[]𝑥subscriptsuperscript𝒢𝑖1superscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥superscriptdelimited-⟨⟩𝛼delimited-[]𝑥superscriptdelimited-⟨⟩𝑧delimited-[]𝑥\langle\Delta\rangle^{\ell[x]}=\sum^{|\mathcal{G}|}_{i=1}\langle x^{\prime(i)}% \rangle^{\ell[x]}\cdot\langle y^{(i)}\rangle^{\ell[x]}-\langle\alpha\rangle^{% \ell[x]}\cdot\langle z\rangle^{\ell[x]}⟨ roman_Δ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ∑ start_POSTSUPERSCRIPT | caligraphic_G | end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT ⟨ italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ⋅ ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT - ⟨ italic_α ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ⋅ ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT; - All parties call Δ=Π𝖱𝖾𝖼[x](Δ[x])ΔsuperscriptsubscriptΠ𝖱𝖾𝖼delimited-[]𝑥superscriptdelimited-⟨⟩Δdelimited-[]𝑥\Delta=\Pi_{\mathsf{Rec}}^{\ell[x]}(\langle\Delta\rangle^{\ell[x]})roman_Δ = roman_Π start_POSTSUBSCRIPT sansserif_Rec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ( ⟨ roman_Δ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ); - All parties output 1111 if Δ=0Δ0\Delta=0roman_Δ = 0, otherwise 00. Protocol Π𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒({x(i)[x],y(i)[x]}i|𝒢|,z[x])subscriptΠ𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscriptdelimited-⟨⟩𝑧delimited-[]𝑥\Pi_{\mathsf{InnerVerify}}(\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)}% \rangle^{\ell[x]}\}_{i\in\mathbb{Z}_{|\mathcal{G}|}},\langle z\rangle^{\ell[x]})roman_Π start_POSTSUBSCRIPT sansserif_InnerVerify end_POSTSUBSCRIPT ( { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT )
Figure 3: The Inner Product Verification Protocol

Dimension reduction. We extend the dimension reduction technique of Goyal et al. [14] to our 3PC over ring setting. As shown in Fig. 2, protocol Π𝖱𝖾𝖽𝗎𝖼𝖾subscriptΠ𝖱𝖾𝖽𝗎𝖼𝖾\Pi_{\mathsf{Reduce}}roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT takes a shared triple ({x(i)[x],y(i)[x]}i|𝒢|,z[x])subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscriptdelimited-⟨⟩𝑧delimited-[]𝑥(\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)}\rangle^{\ell[x]}\}_{i\in% \mathbb{Z}_{|\mathcal{G}|}},\langle z\rangle^{\ell[x]})( { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ) as input and outputs ({x(i)[x],y(i)[x]}i|𝒢|/2,z[x])subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢2superscriptdelimited-⟨⟩superscript𝑧delimited-[]𝑥(\{\langle x^{\prime(i)}\rangle^{\ell[x]},\langle y^{\prime(i)}\rangle^{\ell[x% ]}\}_{i\in\mathbb{Z}_{{|\mathcal{G}|}/2}},\langle z^{\prime}\rangle^{\ell[x]})( { ⟨ italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ). Π𝖱𝖾𝖽𝗎𝖼𝖾subscriptΠ𝖱𝖾𝖽𝗎𝖼𝖾\Pi_{\mathsf{Reduce}}roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT ensures that i=0|𝒢|1x(i)y(i)=zsubscriptsuperscript𝒢1𝑖0superscript𝑥𝑖superscript𝑦𝑖𝑧\sum^{{|\mathcal{G}|-1}}_{i=0}x^{(i)}\cdot y^{(i)}=z∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT = italic_z if and only if i=0|𝒢|/21x(i)y(i)=zsubscriptsuperscript𝒢21𝑖0superscript𝑥𝑖superscript𝑦𝑖superscript𝑧\sum^{{|\mathcal{G}|}/2-1}_{i=0}x^{\prime(i)}\cdot y^{\prime(i)}=z^{\prime}∑ start_POSTSUPERSCRIPT | caligraphic_G | / 2 - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT = italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT except for a negligible probability. At a high level, for the inner product input {x(i)}i|𝒢|subscriptsuperscript𝑥𝑖𝑖subscript𝒢\{x^{(i)}\}_{i\in\mathbb{Z}_{|\mathcal{G}|}}{ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT and {y(i)}i|𝒢|subscriptsuperscript𝑦𝑖𝑖subscript𝒢\{y^{(i)}\}_{i\in\mathbb{Z}_{|\mathcal{G}|}}{ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT, we can utilize x(2i)superscript𝑥2𝑖x^{(2i)}italic_x start_POSTSUPERSCRIPT ( 2 italic_i ) end_POSTSUPERSCRIPT and x(2i1)superscript𝑥2𝑖1x^{(2i-1)}italic_x start_POSTSUPERSCRIPT ( 2 italic_i - 1 ) end_POSTSUPERSCRIPT to interpolate |𝒢|/2𝒢2{|\mathcal{G}|}/2| caligraphic_G | / 2 linear functions {fi()}i|𝒢|/2subscriptsubscript𝑓𝑖𝑖subscript𝒢2\{f_{i}(\cdot)\}_{i\in\mathbb{Z}_{{|\mathcal{G}|}/2}}{ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( ⋅ ) } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT at the point 00 and 1111, and similarly interpolate {gi()}i|𝒢|/2subscriptsubscript𝑔𝑖𝑖subscript𝒢2\{g_{i}(\cdot)\}_{i\in\mathbb{Z}_{{|\mathcal{G}|}/2}}{ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( ⋅ ) } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT by {y(i)}i|𝒢|subscriptsuperscript𝑦𝑖𝑖subscript𝒢\{y^{(i)}\}_{i\in\mathbb{Z}_{|\mathcal{G}|}}{ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Considering the correct output z𝑧zitalic_z, we have

z=i=0|𝒢|/2fi(0)gi(0)+fi(1)gi(1)𝑧subscriptsuperscript𝒢2𝑖0subscript𝑓𝑖0subscript𝑔𝑖0subscript𝑓𝑖1subscript𝑔𝑖1z=\sum^{{|\mathcal{G}|}/2}_{i=0}f_{i}(0)\cdot g_{i}(0)+f_{i}(1)\cdot g_{i}(1)italic_z = ∑ start_POSTSUPERSCRIPT | caligraphic_G | / 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) ⋅ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) + italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) ⋅ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 )

Let h()=i=0|𝒢|/2fi()gi()subscriptsuperscript𝒢2𝑖0subscript𝑓𝑖subscript𝑔𝑖h(\cdot)=\sum^{{|\mathcal{G}|}/2}_{i=0}f_{i}(\cdot)\cdot g_{i}(\cdot)italic_h ( ⋅ ) = ∑ start_POSTSUPERSCRIPT | caligraphic_G | / 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( ⋅ ) ⋅ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( ⋅ ). This leads to the equation h(1)=zh(0)1𝑧0h(1)=z-h(0)italic_h ( 1 ) = italic_z - italic_h ( 0 ). The protocol Π𝖱𝖾𝖽𝗎𝖼𝖾subscriptΠ𝖱𝖾𝖽𝗎𝖼𝖾\Pi_{\mathsf{Reduce}}roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT computes h(0)=i=0|𝒢|/2fi(0)gi(0)0subscriptsuperscript𝒢2𝑖0subscript𝑓𝑖0subscript𝑔𝑖0h(0)=\sum^{{|\mathcal{G}|}/2}_{i=0}f_{i}(0)\cdot g_{i}(0)italic_h ( 0 ) = ∑ start_POSTSUPERSCRIPT | caligraphic_G | / 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) ⋅ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) and h(2)=i=0|𝒢|/2fi(2)gi(2)2subscriptsuperscript𝒢2𝑖0subscript𝑓𝑖2subscript𝑔𝑖2h(2)=\sum^{{|\mathcal{G}|}/2}_{i=0}f_{i}(2)\cdot g_{i}(2)italic_h ( 2 ) = ∑ start_POSTSUPERSCRIPT | caligraphic_G | / 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 2 ) ⋅ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 2 ), and from this, it calculates h(1)=zh(0)1𝑧0h(1)=z-h(0)italic_h ( 1 ) = italic_z - italic_h ( 0 ). Then, Π𝖱𝖾𝖽𝗎𝖼𝖾subscriptΠ𝖱𝖾𝖽𝗎𝖼𝖾\Pi_{\mathsf{Reduce}}roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT interpolates the polynomial h(x)𝑥h(x)italic_h ( italic_x ) using the values h(0)0h(0)italic_h ( 0 ), h(1)1h(1)italic_h ( 1 ), and h(2)2h(2)italic_h ( 2 ). Finally, all parties choose a random point ζ𝜁\zetaitalic_ζ and output the new shared triple ({fi(ζ)[x],gi(ζ)[x]}i|𝒢|/2,h(ζ)[x])subscriptsuperscriptdelimited-⟨⟩subscript𝑓𝑖𝜁delimited-[]𝑥superscriptdelimited-⟨⟩subscript𝑔𝑖𝜁delimited-[]𝑥𝑖subscript𝒢2superscriptdelimited-⟨⟩𝜁delimited-[]𝑥(\{\langle f_{i}(\zeta)\rangle^{\ell[x]},\langle g_{i}(\zeta)\rangle^{\ell[x]}% \}_{i\in\mathbb{Z}_{{|\mathcal{G}|}/2}},\langle h(\zeta)\rangle^{\ell[x]})( { ⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_ζ ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_ζ ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_h ( italic_ζ ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ), which preserves the inner product relation if and only if the initial condition z=i=1|𝒢|/2fi(0)gi(0)+fi(1)gi(1)𝑧subscriptsuperscript𝒢2𝑖1subscript𝑓𝑖0subscript𝑔𝑖0subscript𝑓𝑖1subscript𝑔𝑖1z=\sum^{{|\mathcal{G}|}/2}_{i=1}f_{i}(0)\cdot g_{i}(0)+f_{i}(1)\cdot g_{i}(1)italic_z = ∑ start_POSTSUPERSCRIPT | caligraphic_G | / 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) ⋅ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 0 ) + italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) ⋅ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) holds.

It is important to note that the points 0, 1, and 2 correspond to ring elements with free coefficients of 0, 1, and 2 in 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ).

The protocol Π𝖱𝖾𝖽𝗎𝖼𝖾subscriptΠ𝖱𝖾𝖽𝗎𝖼𝖾\Pi_{\mathsf{Reduce}}roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT requires one round of communication involving 5d5𝑑5\ell\cdot d5 roman_ℓ ⋅ italic_d bits in the online phase and one round involving d𝑑\ell\cdot droman_ℓ ⋅ italic_d bits in the offline phase. We execute Π𝖱𝖾𝖽𝗎𝖼𝖾subscriptΠ𝖱𝖾𝖽𝗎𝖼𝖾\Pi_{\mathsf{Reduce}}roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT R𝑅Ritalic_R times to reduce the inner product dimension to |𝒢|/2R𝒢superscript2𝑅{|\mathcal{G}|}/2^{R}| caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT, after which the resulting vectors are verified by checking

i=0|𝒢|/2Rfi(ζ)[x]gi(ζ)[x]=h(ζ)[x]subscriptsuperscript𝒢superscript2𝑅𝑖0superscriptdelimited-⟨⟩subscript𝑓𝑖𝜁delimited-[]𝑥superscriptdelimited-⟨⟩subscript𝑔𝑖𝜁delimited-[]𝑥superscriptdelimited-⟨⟩𝜁delimited-[]𝑥\sum^{{|\mathcal{G}|}/2^{R}}_{i=0}\langle f_{i}(\zeta)\rangle^{\ell[x]}\cdot% \langle g_{i}(\zeta)\rangle^{\ell[x]}=\langle h(\zeta)\rangle^{\ell[x]}∑ start_POSTSUPERSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT ⟨ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_ζ ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ⋅ ⟨ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_ζ ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ⟨ italic_h ( italic_ζ ) ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT

We prove the soundness error of the Π𝖱𝖾𝖽𝗎𝖼𝖾subscriptΠ𝖱𝖾𝖽𝗎𝖼𝖾\Pi_{\mathsf{Reduce}}roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT is 12d11superscript2𝑑1\frac{1}{2^{d-1}}divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d - 1 end_POSTSUPERSCRIPT end_ARG in Lemma 2.

𝖨𝗇𝗉𝗎𝗍::𝖨𝗇𝗉𝗎𝗍absent\mathsf{Input:}sansserif_Input : |𝒢|𝒢{|\mathcal{G}|}| caligraphic_G | pairs of delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩-shared multiplication. 𝖮𝗎𝗍𝗉𝗎𝗍::𝖮𝗎𝗍𝗉𝗎𝗍absent\mathsf{Output:}sansserif_Output : z(i)=?x(i)y(i)superscript𝑧𝑖?superscript𝑥𝑖superscript𝑦𝑖z^{(i)}\overset{?}{=}x^{(i)}\cdot y^{(i)}italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT over? start_ARG = end_ARG italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT for all i|𝒢|𝑖subscript𝒢i\in\mathbb{Z}_{|\mathcal{G}|}italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT. Execution: - All parties invoke Π𝖳𝗋𝖺𝗇𝗌({x(i),y(i);z(i)}i|𝒢|)subscriptΠ𝖳𝗋𝖺𝗇𝗌subscriptdelimited-⟨⟩superscript𝑥𝑖delimited-⟨⟩superscript𝑦𝑖delimited-⟨⟩superscript𝑧𝑖𝑖subscript𝒢\Pi_{\mathsf{Trans}}(\{\langle x^{(i)}\rangle,\langle y^{(i)}\rangle;\langle z% ^{(i)}\rangle\}_{i\in\mathbb{Z}_{|\mathcal{G}|}})roman_Π start_POSTSUBSCRIPT sansserif_Trans end_POSTSUBSCRIPT ( { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ ; ⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) to get {x(i)[x],y(i)[x]}i|𝒢|;z[x]subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscriptdelimited-⟨⟩𝑧delimited-[]𝑥\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)}\rangle^{\ell[x]}\}_{i\in% \mathbb{Z}_{|\mathcal{G}|}};\langle z\rangle^{\ell[x]}{ ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT ; ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT; - For k=1,,R𝑘1𝑅k=1,\ldots,Ritalic_k = 1 , … , italic_R, all parties perform: {{x(i)[x],y(i)[x]}i|𝒢|/2k;z[x]}Π𝖱𝖾𝖽𝗎𝖼𝖾({x(i)[x],y(i)[x]}i|𝒢|/2k1;z[x])subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscript2𝑘superscriptdelimited-⟨⟩𝑧delimited-[]𝑥subscriptΠ𝖱𝖾𝖽𝗎𝖼𝖾subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscript2𝑘1superscriptdelimited-⟨⟩𝑧delimited-[]𝑥\{\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)}\rangle^{\ell[x]}\}_{i\in% \mathbb{Z}_{{|\mathcal{G}|}/2^{k}}};\langle z\rangle^{\ell[x]}\}\leftarrow\Pi_% {\mathsf{Reduce}}(\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)}\rangle^{% \ell[x]}\}_{i\in\mathbb{Z}_{{|\mathcal{G}|}/2^{k-1}}};\langle z\rangle^{\ell[x% ]}){ { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT ; ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } ← roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT ( { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_k - 1 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT ; ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ); - All parties invoke b=Π𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒({x(i)[x],y(i)[x]}i|𝒢|/2R;z[x])𝑏subscriptΠ𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscript2𝑅superscriptdelimited-⟨⟩𝑧delimited-[]𝑥b=\Pi_{\mathsf{InnerVerify}}(\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)% }\rangle^{\ell[x]}\}_{i\in\mathbb{Z}_{{|\mathcal{G}|}/2^{R}}};\langle z\rangle% ^{\ell[x]})italic_b = roman_Π start_POSTSUBSCRIPT sansserif_InnerVerify end_POSTSUBSCRIPT ( { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT ; ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ); - All parties output b𝑏bitalic_b. Protocol Π𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒R({x(i),y(i),z(i)}i|𝒢|)superscriptsubscriptΠ𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒𝑅subscriptdelimited-⟨⟩superscript𝑥𝑖delimited-⟨⟩superscript𝑦𝑖delimited-⟨⟩superscript𝑧𝑖𝑖subscript𝒢\Pi_{\mathsf{MultVerify}}^{R}(\{\langle x^{(i)}\rangle,\langle y^{(i)}\rangle,% \langle z^{(i)}\rangle\}_{i\in\mathbb{Z}_{|\mathcal{G}|}})roman_Π start_POSTSUBSCRIPT sansserif_MultVerify end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT ( { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT )
Figure 4: The Batch Multiplication Verification Protocol
Lemma 2.

Suppose Π𝖱𝖾𝖽𝗎𝖼𝖾subscriptΠ𝖱𝖾𝖽𝗎𝖼𝖾\Pi_{\mathsf{Reduce}}roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT take ({x(i)[x],y(i)[x]}i|𝒢|,z[x])subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscriptdelimited-⟨⟩𝑧delimited-[]𝑥(\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)}\rangle^{\ell[x]}\}_{i\in% \mathbb{Z}_{|\mathcal{G}|}},\langle z\rangle^{\ell[x]})( { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ) as input, and it outputs the new list ({x(i)[x],y(i)[x]}i|𝒢|/2,z[x])subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢2superscriptdelimited-⟨⟩superscript𝑧delimited-[]𝑥(\{\langle x^{\prime(i)}\rangle^{\ell[x]},\langle y^{\prime(i)}\rangle^{\ell[x% ]}\}_{i\in\mathbb{Z}_{{|\mathcal{G}|}/2}},\langle z^{\prime}\rangle^{\ell[x]})( { ⟨ italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ). The probability that the following two conditions hold is at most 12d11superscript2𝑑1\frac{1}{2^{d-1}}divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d - 1 end_POSTSUPERSCRIPT end_ARG, where d𝑑ditalic_d is the degree of f(x)𝑓𝑥f(x)italic_f ( italic_x ) w.r.t. 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ):

  • z=i=0|𝒢|/2x(i)y(i)superscript𝑧subscriptsuperscript𝒢2𝑖0superscript𝑥𝑖superscript𝑦𝑖z^{\prime}=\sum^{{|\mathcal{G}|}/2}_{i=0}x^{\prime(i)}\cdot y^{\prime(i)}italic_z start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = ∑ start_POSTSUPERSCRIPT | caligraphic_G | / 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT

  • zi=0|𝒢|x(i)y(i)𝑧subscriptsuperscript𝒢𝑖0superscript𝑥𝑖superscript𝑦𝑖z\neq\sum^{{|\mathcal{G}|}}_{i=0}x^{(i)}\cdot y^{(i)}italic_z ≠ ∑ start_POSTSUPERSCRIPT | caligraphic_G | end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT

Proof.

For clarity, we denote h(k)=i=0|𝒢|/2fi(k)gi(k)superscript𝑘subscriptsuperscript𝒢2𝑖0subscript𝑓𝑖𝑘subscript𝑔𝑖𝑘h^{\prime}(k)=\sum^{{|\mathcal{G}|}/2}_{i=0}f_{i}(k)\cdot g_{i}(k)italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_k ) = ∑ start_POSTSUPERSCRIPT | caligraphic_G | / 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_k ) ⋅ italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_k ). The adversary’s goal is to manipulate the computation such that h(ζ)=h(ζ)𝜁superscript𝜁h(\zeta)=h^{\prime}(\zeta)italic_h ( italic_ζ ) = italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_ζ ), while also ensuring that

h(0)+h(1)=h(0)+h(1)+e,01superscript0superscript1𝑒h(0)+h(1)=h^{\prime}(0)+h^{\prime}(1)+e,italic_h ( 0 ) + italic_h ( 1 ) = italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( 0 ) + italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( 1 ) + italic_e ,

where e𝑒eitalic_e represents the error introduced in z𝑧zitalic_z. Simultaneously, the adversary can introduce new errors e1subscript𝑒1e_{1}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and e2subscript𝑒2e_{2}italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT during the calculation of h(0)0h(0)italic_h ( 0 ) and h(2)2h(2)italic_h ( 2 ), such that:

h(0)=h(0)+e1,h(1)=h(1)+ee1,h(2)=h(2)+e2.formulae-sequence0superscript0subscript𝑒1formulae-sequence1superscript1𝑒subscript𝑒12superscript2subscript𝑒2h(0)=h^{\prime}(0)+e_{1},\quad h(1)=h^{\prime}(1)+e-e_{1},\quad h(2)=h^{\prime% }(2)+e_{2}.italic_h ( 0 ) = italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( 0 ) + italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_h ( 1 ) = italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( 1 ) + italic_e - italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_h ( 2 ) = italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( 2 ) + italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT .

Considering the Lagrange interpolation for randomly chosen ζ2[x]𝜁subscriptsuperscript2delimited-[]𝑥\zeta\in\mathbb{Z}_{2^{\ell}}[x]italic_ζ ∈ blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ], we have:

h(ζ)=i=02(j=0ji2ζjij)h(i)=(ζ1)(ζ2)2h(0)+ζ(2ζ)h(1)+(ζ1)ζ2h(2)𝜁subscriptsuperscript2𝑖0subscriptsuperscriptproduct2𝑗0𝑗𝑖𝜁𝑗𝑖𝑗𝑖𝜁1𝜁220𝜁2𝜁1𝜁1𝜁22\begin{split}h(\zeta)&=\sum^{2}_{i=0}\left(\prod^{2}_{\begin{subarray}{c}j=0\\ j\neq i\end{subarray}}\frac{\zeta-j}{i-j}\right)\cdot h(i)=\frac{(\zeta-1)(% \zeta-2)}{2}\cdot h(0)\\ &+\zeta(2-\zeta)\cdot h(1)+\frac{(\zeta-1)\zeta}{2}\cdot h(2)\end{split}start_ROW start_CELL italic_h ( italic_ζ ) end_CELL start_CELL = ∑ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT ( ∏ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT start_ARG start_ROW start_CELL italic_j = 0 end_CELL end_ROW start_ROW start_CELL italic_j ≠ italic_i end_CELL end_ROW end_ARG end_POSTSUBSCRIPT divide start_ARG italic_ζ - italic_j end_ARG start_ARG italic_i - italic_j end_ARG ) ⋅ italic_h ( italic_i ) = divide start_ARG ( italic_ζ - 1 ) ( italic_ζ - 2 ) end_ARG start_ARG 2 end_ARG ⋅ italic_h ( 0 ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + italic_ζ ( 2 - italic_ζ ) ⋅ italic_h ( 1 ) + divide start_ARG ( italic_ζ - 1 ) italic_ζ end_ARG start_ARG 2 end_ARG ⋅ italic_h ( 2 ) end_CELL end_ROW

and for h(ζ)superscript𝜁h^{\prime}(\zeta)italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_ζ ):

h(ζ)=(ζ1)(ζ2)2h(0)+ζ(2ζ)h(1)+(ζ1)ζ2h(2).superscript𝜁𝜁1𝜁22superscript0𝜁2𝜁superscript1𝜁1𝜁2superscript2h^{\prime}(\zeta)=\frac{(\zeta-1)(\zeta-2)}{2}\cdot h^{\prime}(0)+\zeta(2-% \zeta)\cdot h^{\prime}(1)+\frac{(\zeta-1)\zeta}{2}\cdot h^{\prime}(2).italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_ζ ) = divide start_ARG ( italic_ζ - 1 ) ( italic_ζ - 2 ) end_ARG start_ARG 2 end_ARG ⋅ italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( 0 ) + italic_ζ ( 2 - italic_ζ ) ⋅ italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( 1 ) + divide start_ARG ( italic_ζ - 1 ) italic_ζ end_ARG start_ARG 2 end_ARG ⋅ italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( 2 ) .

To ensure h(ζ)=h(ζ)𝜁superscript𝜁h(\zeta)=h^{\prime}(\zeta)italic_h ( italic_ζ ) = italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_ζ ), the adversary must satisfy the following equation:

(ζ1)(ζ2)2e1+ζ(2ζ)(ee1)+(ζ1)ζ2e2=0𝜁1𝜁22subscript𝑒1𝜁2𝜁𝑒subscript𝑒1𝜁1𝜁2subscript𝑒20\frac{(\zeta-1)(\zeta-2)}{2}\cdot e_{1}+\zeta(2-\zeta)\cdot(e-e_{1})+\frac{(% \zeta-1)\zeta}{2}\cdot e_{2}=0divide start_ARG ( italic_ζ - 1 ) ( italic_ζ - 2 ) end_ARG start_ARG 2 end_ARG ⋅ italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_ζ ( 2 - italic_ζ ) ⋅ ( italic_e - italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) + divide start_ARG ( italic_ζ - 1 ) italic_ζ end_ARG start_ARG 2 end_ARG ⋅ italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = 0

The probability that the adversary can choose e,e1,e2𝑒subscript𝑒1subscript𝑒2e,e_{1},e_{2}italic_e , italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT such that this equation holds is equivalent to making ζ𝜁\zetaitalic_ζ a root of the degree-2 polynomial:

f(x)=(x1)(x2)2e1+x(2x)(ee1)+(x1)x2e2𝑓𝑥𝑥1𝑥22subscript𝑒1𝑥2𝑥𝑒subscript𝑒1𝑥1𝑥2subscript𝑒2f(x)=\frac{(x-1)(x-2)}{2}\cdot e_{1}+x(2-x)\cdot(e-e_{1})+\frac{(x-1)x}{2}% \cdot e_{2}italic_f ( italic_x ) = divide start_ARG ( italic_x - 1 ) ( italic_x - 2 ) end_ARG start_ARG 2 end_ARG ⋅ italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_x ( 2 - italic_x ) ⋅ ( italic_e - italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) + divide start_ARG ( italic_x - 1 ) italic_x end_ARG start_ARG 2 end_ARG ⋅ italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT

over 2[x]subscriptsuperscript2delimited-[]𝑥\mathbb{Z}_{2^{\ell}}[x]blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ], which has at most 22(1)d+1superscript221𝑑12^{2(\ell-1)d}+12 start_POSTSUPERSCRIPT 2 ( roman_ℓ - 1 ) italic_d end_POSTSUPERSCRIPT + 1 roots. Therefore, the soundness error is:

2(1)d+1+12d12d1.superscript21𝑑11superscript2𝑑1superscript2𝑑1\frac{2^{(\ell-1)d+1}+1}{2^{\ell d}}\approx\frac{1}{2^{d-1}}.divide start_ARG 2 start_POSTSUPERSCRIPT ( roman_ℓ - 1 ) italic_d + 1 end_POSTSUPERSCRIPT + 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT roman_ℓ italic_d end_POSTSUPERSCRIPT end_ARG ≈ divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d - 1 end_POSTSUPERSCRIPT end_ARG .

𝖨𝗇𝗉𝗎𝗍::𝖨𝗇𝗉𝗎𝗍absent\mathsf{Input:}sansserif_Input : delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩-shared value x,y𝑥𝑦x,yitalic_x , italic_y. 𝖮𝗎𝗍𝗉𝗎𝗍::𝖮𝗎𝗍𝗉𝗎𝗍absent\mathsf{Output:}sansserif_Output : delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩-shared value z𝑧zitalic_z where z=xy𝑧𝑥𝑦z=x\cdot yitalic_z = italic_x ⋅ italic_y. Preprocessing: - All parties prepare [rz]Π[]delimited-[]subscript𝑟𝑧subscriptΠdelimited-[][r_{z}]\leftarrow\Pi_{[\cdot]}[ italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] ← roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT locally; - P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT calculates Γ=rxry+rzΓsubscript𝑟𝑥subscript𝑟𝑦subscript𝑟𝑧\Gamma=r_{x}\cdot r_{y}+r_{z}roman_Γ = italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ⋅ italic_r start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT + italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT and shares it with Π[](Γ)subscriptΠdelimited-[]Γ\Pi_{[\cdot]}(\Gamma)roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT ( roman_Γ ); Online: - Pjsubscript𝑃𝑗P_{j}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT for j{1,2}𝑗12j\in\{1,2\}italic_j ∈ { 1 , 2 } calculates [mz]j=(j1)mxmymx[ry]jmyi[rx]j+[Γ]subscriptdelimited-[]subscript𝑚𝑧𝑗𝑗1subscript𝑚𝑥subscript𝑚𝑦subscript𝑚𝑥subscriptdelimited-[]subscript𝑟𝑦𝑗subscript𝑚subscript𝑦𝑖subscriptdelimited-[]subscript𝑟𝑥𝑗delimited-[]Γ[m_{z}]_{j}=(j-1)m_{x}\cdot m_{y}-m_{x}[r_{y}]_{j}-m_{y_{i}}[r_{x}]_{j}+[\Gamma][ italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = ( italic_j - 1 ) italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ⋅ italic_m start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT - italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT [ italic_r start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - italic_m start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + [ roman_Γ ] and mutually exchange their shares to reconstruct mzsubscript𝑚𝑧m_{z}italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT. Postprocessing: - For all multiple gate wire value {x(i),y(i),z(i)}i|𝒢|subscriptdelimited-⟨⟩superscript𝑥𝑖delimited-⟨⟩superscript𝑦𝑖delimited-⟨⟩superscript𝑧𝑖𝑖subscript𝒢\{\langle x^{(i)}\rangle,\langle y^{(i)}\rangle,\langle z^{(i)}\rangle\}_{i\in% \mathbb{Z}_{|\mathcal{G}|}}{ ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT, all parties call Π𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒R({x(i),y(i);z(i)}i|𝒢|)superscriptsubscriptΠ𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒𝑅subscriptdelimited-⟨⟩superscript𝑥𝑖delimited-⟨⟩superscript𝑦𝑖delimited-⟨⟩superscript𝑧𝑖𝑖subscript𝒢\Pi_{\mathsf{MultVerify}}^{R}(\{\langle x^{(i)}\rangle,\langle y^{(i)}\rangle;% \langle z^{(i)}\rangle\}_{i\in\mathbb{Z}_{|\mathcal{G}|}})roman_Π start_POSTSUBSCRIPT sansserif_MultVerify end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT ( { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ ; ⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) to verify correctness. Protocol Π𝖬𝗎𝗅𝗍(x,y)subscriptΠ𝖬𝗎𝗅𝗍delimited-⟨⟩𝑥delimited-⟨⟩𝑦\Pi_{\mathsf{Mult}}(\langle x\rangle,\langle y\rangle)roman_Π start_POSTSUBSCRIPT sansserif_Mult end_POSTSUBSCRIPT ( ⟨ italic_x ⟩ , ⟨ italic_y ⟩ )
Figure 5: The Multiplication Protocol

Inner product verification. Our inner product verification protocol, denoted as Π𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒subscriptΠ𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒\Pi_{\mathsf{InnerVerify}}roman_Π start_POSTSUBSCRIPT sansserif_InnerVerify end_POSTSUBSCRIPT (Fig. 3), verifies the inner product relationship of shared values over the polynomial ring 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ). Specifically, to verify the relation

i=0|𝒢|/2Rx(i)[x]y(i)[x]=z[x],superscriptsubscript𝑖0𝒢superscript2𝑅superscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥superscriptdelimited-⟨⟩𝑧delimited-[]𝑥\sum_{i=0}^{|\mathcal{G}|/2^{R}}\langle x^{(i)}\rangle^{\ell[x]}\cdot\langle y% ^{(i)}\rangle^{\ell[x]}=\langle z\rangle^{\ell[x]},∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ⋅ ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT = ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ,

Π𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒subscriptΠ𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒\Pi_{\mathsf{InnerVerify}}roman_Π start_POSTSUBSCRIPT sansserif_InnerVerify end_POSTSUBSCRIPT checks whether the expression

α[x](i=0|𝒢|/2Rx(i)[x]y(i)[x]z[x])superscriptdelimited-⟨⟩𝛼delimited-[]𝑥superscriptsubscript𝑖0𝒢superscript2𝑅superscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥superscriptdelimited-⟨⟩𝑧delimited-[]𝑥\langle\alpha\rangle^{\ell[x]}\cdot(\sum_{i=0}^{|\mathcal{G}|/2^{R}}\langle x^% {(i)}\rangle^{\ell[x]}\cdot\langle y^{(i)}\rangle^{\ell[x]}-\langle z\rangle^{% \ell[x]})⟨ italic_α ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ⋅ ( ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ⋅ ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT - ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT )

is equal to zero.

Unfortunately, as far as we know, there is currently no semi-honest 3PC protocol that securely evaluates a cubic (degree-3) polynomial while being resilient to additive attacks. As an alternative, we compute x(i)=αx(i)superscript𝑥𝑖𝛼superscript𝑥𝑖x^{\prime(i)}=\alpha\cdot x^{(i)}italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT = italic_α ⋅ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT for each i|𝒢|𝑖subscript𝒢i\in\mathbb{Z}_{|\mathcal{G}|}italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT. Subsequently, all parties evaluate the inner product

i=0|𝒢|/2Rx(i)y(i).superscriptsubscript𝑖0𝒢superscript2𝑅superscript𝑥𝑖superscript𝑦𝑖\sum_{i=0}^{|\mathcal{G}|/2^{R}}x^{\prime(i)}\cdot y^{(i)}.∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT .

This method, however, does not achieve complete security against additive attacks, as an adversary may introduce an error e(i)superscript𝑒𝑖e^{\prime(i)}italic_e start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT into x(i)superscript𝑥𝑖x^{\prime(i)}italic_x start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT, resulting in an overall error term:

i=0|𝒢|/2Re(i)y(i),superscriptsubscript𝑖0𝒢superscript2𝑅superscript𝑒𝑖superscript𝑦𝑖\sum_{i=0}^{|\mathcal{G}|/2^{R}}e^{\prime(i)}\cdot y^{(i)},∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT italic_e start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ,

which is dependent on y(i)superscript𝑦𝑖y^{(i)}italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT. Nevertheless, considering that y(i)superscript𝑦𝑖y^{(i)}italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT is obtained via multiple Lagrange interpolations in the prior dimension reduction protocol, y(i)superscript𝑦𝑖y^{(i)}italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT can be treated as a random value.

Let e𝑒eitalic_e denote the error in z𝑧zitalic_z. The adversary must guess αe+i=0|𝒢|/2Re(i)y(i)=0𝛼𝑒superscriptsubscript𝑖0𝒢superscript2𝑅superscript𝑒𝑖superscript𝑦𝑖0\alpha\cdot e+\sum_{i=0}^{|\mathcal{G}|/2^{R}}e^{\prime(i)}\cdot y^{(i)}=0italic_α ⋅ italic_e + ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT italic_e start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT = 0, where y(i)superscript𝑦𝑖y^{(i)}italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT is effectively random. The probability of success for this guess is 12d1superscript2𝑑\frac{1}{2^{d}}divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG.

We prove in Lemma 3 that the soundness error of the Π𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒subscriptΠ𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒\Pi_{\mathsf{InnerVerify}}roman_Π start_POSTSUBSCRIPT sansserif_InnerVerify end_POSTSUBSCRIPT protocol is 12d1superscript2𝑑\frac{1}{2^{d}}divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG.

𝖨𝗇𝗉𝗎𝗍::𝖨𝗇𝗉𝗎𝗍absent\mathsf{Input:}sansserif_Input : delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩-shared value list of xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and yisubscript𝑦𝑖y_{i}italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. 𝖮𝗎𝗍𝗉𝗎𝗍::𝖮𝗎𝗍𝗉𝗎𝗍absent\mathsf{Output:}sansserif_Output : delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩-shared value of z𝑧zitalic_z where z=i=1nxiyi𝑧subscriptsuperscript𝑛𝑖1subscript𝑥𝑖subscript𝑦𝑖z=\sum^{n}_{i=1}x_{i}\cdot y_{i}italic_z = ∑ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⋅ italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Preprocessing: - All parties prepare [rz]Π[]delimited-[]subscript𝑟𝑧subscriptΠdelimited-[][r_{z}]\leftarrow\Pi_{[\cdot]}[ italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] ← roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT locally; - P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT calculates Γ=i=1nrxiryi+rzΓsubscriptsuperscript𝑛𝑖1subscript𝑟subscript𝑥𝑖subscript𝑟subscript𝑦𝑖subscript𝑟𝑧\Gamma=\sum^{n}_{i=1}r_{x_{i}}\cdot r_{y_{i}}+r_{z}roman_Γ = ∑ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⋅ italic_r start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT + italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT and shares it with Π[](Γ)subscriptΠdelimited-[]Γ\Pi_{[\cdot]}(\Gamma)roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT ( roman_Γ ); Online: - Pjsubscript𝑃𝑗P_{j}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT for j{1,2}𝑗12j\in\{1,2\}italic_j ∈ { 1 , 2 } calculates [mz]j=i=1n(j1)mximyimxi[ryi]jmyi[rxi]j+[Γ]jsubscriptdelimited-[]subscript𝑚𝑧𝑗subscriptsuperscript𝑛𝑖1𝑗1subscript𝑚subscript𝑥𝑖subscript𝑚subscript𝑦𝑖subscript𝑚subscript𝑥𝑖subscriptdelimited-[]subscript𝑟subscript𝑦𝑖𝑗subscript𝑚subscript𝑦𝑖subscriptdelimited-[]subscript𝑟subscript𝑥𝑖𝑗subscriptdelimited-[]Γ𝑗[m_{z}]_{j}=\sum^{n}_{i=1}(j-1)m_{x_{i}}\cdot m_{y_{i}}-m_{x_{i}}[r_{y_{i}}]_{% j}-m_{y_{i}}[r_{x_{i}}]_{j}+[\Gamma]_{j}[ italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = ∑ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT ( italic_j - 1 ) italic_m start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ⋅ italic_m start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT - italic_m start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT [ italic_r start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - italic_m start_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT [ italic_r start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + [ roman_Γ ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT and mutually exchange their shares to reconstruct mzsubscript𝑚𝑧m_{z}italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT. Postprocessing: - For |𝒢|𝒢{|\mathcal{G}|}| caligraphic_G | pairs inner product result {{xi(j),yi(j)}inj;z(j)}j|𝒢|subscriptsubscriptdelimited-⟨⟩subscriptsuperscript𝑥𝑗𝑖delimited-⟨⟩subscriptsuperscript𝑦𝑗𝑖𝑖subscriptsubscript𝑛𝑗delimited-⟨⟩superscript𝑧𝑗𝑗subscript𝒢\{\{\langle x^{(j)}_{i}\rangle,\langle y^{(j)}_{i}\rangle\}_{i\in\mathbb{Z}_{n% _{j}}};\langle z^{(j)}\rangle\}_{j\in\mathbb{Z}_{|\mathcal{G}|}}{ { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT ; ⟨ italic_z start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT ⟩ } start_POSTSUBSCRIPT italic_j ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT, all parties call Π𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒R({{xi(j),yi(j)}inj;z(j)}j|𝒢|)superscriptsubscriptΠ𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒𝑅subscriptsubscriptdelimited-⟨⟩subscriptsuperscript𝑥𝑗𝑖delimited-⟨⟩subscriptsuperscript𝑦𝑗𝑖𝑖subscriptsubscript𝑛𝑗delimited-⟨⟩superscript𝑧𝑗𝑗subscript𝒢\Pi_{\mathsf{InnerVerify}}^{R}(\{\{\langle x^{(j)}_{i}\rangle,\langle y^{(j)}_% {i}\rangle\}_{i\in\mathbb{Z}_{n_{j}}};\langle z^{(j)}\rangle\}_{j\in\mathbb{Z}% _{|\mathcal{G}|}})roman_Π start_POSTSUBSCRIPT sansserif_InnerVerify end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT ( { { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT ; ⟨ italic_z start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT ⟩ } start_POSTSUBSCRIPT italic_j ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) to verify correctness. Protocol Π𝖨𝗇𝗇𝖾𝗋(x1,,xn,y1,,yn)subscriptΠ𝖨𝗇𝗇𝖾𝗋delimited-⟨⟩subscript𝑥1delimited-⟨⟩subscript𝑥𝑛delimited-⟨⟩subscript𝑦1delimited-⟨⟩subscript𝑦𝑛\Pi_{\mathsf{Inner}}(\langle x_{1}\rangle,\ldots,\langle x_{n}\rangle,\langle y% _{1}\rangle,\ldots,\langle y_{n}\rangle)roman_Π start_POSTSUBSCRIPT sansserif_Inner end_POSTSUBSCRIPT ( ⟨ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩ , … , ⟨ italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ⟩ , ⟨ italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⟩ , … , ⟨ italic_y start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ⟩ )
Figure 6: The Inner Product Protocol
Lemma 3.

Let ({x(i)[x],y(i)[x]}i|𝒢|,z[x])subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscriptdelimited-⟨⟩𝑧delimited-[]𝑥(\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)}\rangle^{\ell[x]}\}_{i\in% \mathbb{Z}_{|\mathcal{G}|}},\langle z\rangle^{\ell[x]})( { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ) be the input of protocol Π𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒subscriptΠ𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒\Pi_{\mathsf{InnerVerify}}roman_Π start_POSTSUBSCRIPT sansserif_InnerVerify end_POSTSUBSCRIPT depicted in Fig. 3. The probability that Π𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒subscriptΠ𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒\Pi_{\mathsf{InnerVerify}}roman_Π start_POSTSUBSCRIPT sansserif_InnerVerify end_POSTSUBSCRIPT outputs 1111 and zi=0|𝒢|1x(i)y(i)𝑧subscriptsuperscript𝒢1𝑖0superscript𝑥𝑖superscript𝑦𝑖z\neq\sum^{{|\mathcal{G}|}-1}_{i=0}x^{(i)}\cdot y^{(i)}italic_z ≠ ∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT is at most 12d1superscript2𝑑\frac{1}{2^{d}}divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG, where d𝑑ditalic_d is the degree of f(x)𝑓𝑥f(x)italic_f ( italic_x ) w.r.t. 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ).

Proof.

Since α𝛼\alphaitalic_α is uniformly random and unknown to the adversary, for z=i=0|𝒢|x(i)y(i)+e𝑧superscriptsubscript𝑖0𝒢superscript𝑥𝑖superscript𝑦𝑖𝑒z=\sum_{i=0}^{|\mathcal{G}|}x^{(i)}\cdot y^{(i)}+eitalic_z = ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT | caligraphic_G | end_POSTSUPERSCRIPT italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT + italic_e, we have

Δ=αe+i=0|𝒢|/2Re(i)y(i),Δ𝛼𝑒superscriptsubscript𝑖0𝒢superscript2𝑅superscript𝑒𝑖superscript𝑦𝑖\Delta=\alpha\cdot e+\sum_{i=0}^{|\mathcal{G}|/2^{R}}e^{\prime(i)}\cdot y^{(i)},roman_Δ = italic_α ⋅ italic_e + ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT italic_e start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ,

where e(i)superscript𝑒𝑖e^{\prime(i)}italic_e start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT is introduced during the evaluation of αx(i)𝛼superscript𝑥𝑖\alpha\cdot x^{(i)}italic_α ⋅ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT. Given that 3PC multiplication is secure up to additive attacks, e(i)superscript𝑒𝑖e^{\prime(i)}italic_e start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT is independent of α𝛼\alphaitalic_α. Therefore, we can treat i=0|𝒢|/2Re(i)y(i)superscriptsubscript𝑖0𝒢superscript2𝑅superscript𝑒𝑖superscript𝑦𝑖\sum_{i=0}^{|\mathcal{G}|/2^{R}}e^{\prime(i)}\cdot y^{(i)}∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT italic_e start_POSTSUPERSCRIPT ′ ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT as an overall error term esuperscript𝑒e^{\prime}italic_e start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.

By the Schwartz-Zippel Lemma, the polynomial f(x)=ex+e𝑓𝑥𝑒𝑥superscript𝑒f(x)=e\cdot x+e^{\prime}italic_f ( italic_x ) = italic_e ⋅ italic_x + italic_e start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT over the ring 2[x]subscriptsuperscript2delimited-[]𝑥\mathbb{Z}_{2^{\ell}}[x]blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] has at most 2(1)d+1superscript21𝑑12^{(\ell-1)d}+12 start_POSTSUPERSCRIPT ( roman_ℓ - 1 ) italic_d end_POSTSUPERSCRIPT + 1 roots. Consequently, the probability that the adversary can deliberately choose e𝑒eitalic_e such that Δ=0Δ0\Delta=0roman_Δ = 0 is

2(1)d+12d12d.superscript21𝑑1superscript2𝑑1superscript2𝑑\frac{2^{(\ell-1)d}+1}{2^{\ell}d}\approx\frac{1}{2^{d}}.divide start_ARG 2 start_POSTSUPERSCRIPT ( roman_ℓ - 1 ) italic_d end_POSTSUPERSCRIPT + 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT italic_d end_ARG ≈ divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG .

Our batch multiplication verification protocol Π𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒subscriptΠ𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒\Pi_{\mathsf{MultVerify}}roman_Π start_POSTSUBSCRIPT sansserif_MultVerify end_POSTSUBSCRIPT in Fig. 4 integrates the above three subroutines, which requires one round communication of (R+|𝒢|/2R)d𝑅𝒢superscript2𝑅𝑑(R+{|\mathcal{G}|}/2^{R})\ell\cdot d( italic_R + | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT ) roman_ℓ ⋅ italic_d bits in the offline phase and R+2𝑅2R+2italic_R + 2-round communication of (5R+3+|𝒢|/2R)d5𝑅3𝒢superscript2𝑅𝑑(5R+3+{|\mathcal{G}|}/2^{R})\ell\cdot d( 5 italic_R + 3 + | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT ) roman_ℓ ⋅ italic_d bits in the online phase for |𝒢|𝒢{|\mathcal{G}|}| caligraphic_G | multiplication triples. We prove soundness error of Π𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒subscriptΠ𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒\Pi_{\mathsf{MultVerify}}roman_Π start_POSTSUBSCRIPT sansserif_MultVerify end_POSTSUBSCRIPT is |𝒢|2dR2𝒢superscript2𝑑𝑅2\frac{{|\mathcal{G}|}}{2^{d-R-2}}divide start_ARG | caligraphic_G | end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d - italic_R - 2 end_POSTSUPERSCRIPT end_ARG in Thm. 1.

Theorem 1.

Let {x(i),y(i),z(i)}i|𝒢|subscriptdelimited-⟨⟩superscript𝑥𝑖delimited-⟨⟩superscript𝑦𝑖delimited-⟨⟩superscript𝑧𝑖𝑖subscript𝒢\{\langle x^{(i)}\rangle,\langle y^{(i)}\rangle,\langle z^{(i)}\rangle\}_{i\in% \mathbb{Z}_{|\mathcal{G}|}}{ ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ , ⟨ italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT be the input of protocol Π𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒RsuperscriptsubscriptΠ𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒𝑅\Pi_{\mathsf{MultVerify}}^{R}roman_Π start_POSTSUBSCRIPT sansserif_MultVerify end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT depicted in Fig. 4. The probability Π𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒RsuperscriptsubscriptΠ𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒𝑅\Pi_{\mathsf{MultVerify}}^{R}roman_Π start_POSTSUBSCRIPT sansserif_MultVerify end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT outputs 1111 and i|𝒢|𝑖subscript𝒢\exists i\in\mathbb{Z}_{|\mathcal{G}|}∃ italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT s.t. z(i)x(i)y(i)superscript𝑧𝑖superscript𝑥𝑖superscript𝑦𝑖z^{(i)}\neq x^{(i)}\cdot y^{(i)}italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ≠ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT is at most |𝒢|2dR2𝒢superscript2𝑑𝑅2\frac{{|\mathcal{G}|}}{2^{d-R-2}}divide start_ARG | caligraphic_G | end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d - italic_R - 2 end_POSTSUPERSCRIPT end_ARG, where d𝑑ditalic_d is the degree of f(x)𝑓𝑥f(x)italic_f ( italic_x ) w.r.t. 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ).

Proof.

From Lemma 1, Lemma 2, and Lemma 3, we know that the adversary has R𝑅Ritalic_R chances with success probability 12d11superscript2𝑑1\frac{1}{2^{d-1}}divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d - 1 end_POSTSUPERSCRIPT end_ARG, one chance with probability |𝒢|2d𝒢superscript2𝑑\frac{|\mathcal{G}|}{2^{d}}divide start_ARG | caligraphic_G | end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG, and one chance with probability 12d1superscript2𝑑\frac{1}{2^{d}}divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG to pass the verification.

Therefore, the total probability that the adversary succeeds is

1(112d1)R(1|𝒢|2d)(112d)|𝒢|2dR2.1superscript11superscript2𝑑1𝑅1𝒢superscript2𝑑11superscript2𝑑𝒢superscript2𝑑𝑅21-\left(1-\frac{1}{2^{d-1}}\right)^{R}\cdot\left(1-\frac{|\mathcal{G}|}{2^{d}}% \right)\cdot\left(1-\frac{1}{2^{d}}\right)\approx\frac{|\mathcal{G}|}{2^{d-R-2% }}.1 - ( 1 - divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d - 1 end_POSTSUPERSCRIPT end_ARG ) start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT ⋅ ( 1 - divide start_ARG | caligraphic_G | end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG ) ⋅ ( 1 - divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG ) ≈ divide start_ARG | caligraphic_G | end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d - italic_R - 2 end_POSTSUPERSCRIPT end_ARG .

𝖨𝗇𝗉𝗎𝗍::𝖨𝗇𝗉𝗎𝗍absent\mathsf{Input:}sansserif_Input : |𝒢|𝒢{|\mathcal{G}|}| caligraphic_G | pairs of inner product. 𝖮𝗎𝗍𝗉𝗎𝗍::𝖮𝗎𝗍𝗉𝗎𝗍absent\mathsf{Output:}sansserif_Output : Output if z(j)=i=1nxi(j)yi(j)superscript𝑧𝑗subscriptsuperscript𝑛𝑖1subscriptsuperscript𝑥𝑗𝑖subscriptsuperscript𝑦𝑗𝑖z^{(j)}=\sum^{n}_{i=1}x^{(j)}_{i}\cdot y^{(j)}_{i}italic_z start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT = ∑ start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT italic_x start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⋅ italic_y start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT held for all j|𝒢|𝑗subscript𝒢j\in\mathbb{Z}_{|\mathcal{G}|}italic_j ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT. Execution: - All parties transfer all shares delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩ to [x]superscriptdelimited-⟨⟩delimited-[]𝑥\langle\cdot\rangle^{\ell[x]}⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT locally; - All parties invoke r[x]Π[x]superscriptdelimited-⟨⟩𝑟delimited-[]𝑥superscriptsubscriptΠdelimited-⟨⟩delimited-[]𝑥\langle r\rangle^{\ell[x]}\leftarrow\Pi_{\langle\cdot\rangle}^{\ell[x]}⟨ italic_r ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ← roman_Π start_POSTSUBSCRIPT ⟨ ⋅ ⟩ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT an call Π𝖱𝖾𝖼subscriptΠ𝖱𝖾𝖼\Pi_{\mathsf{Rec}}roman_Π start_POSTSUBSCRIPT sansserif_Rec end_POSTSUBSCRIPT to reconstruct r2[x]𝑟subscriptsuperscript2delimited-[]𝑥r\in\mathbb{Z}_{2^{\ell}}[x]italic_r ∈ blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ]; - All parties set z[x]:=rjz(j)[x]assignsuperscriptdelimited-⟨⟩𝑧delimited-[]𝑥superscript𝑟𝑗superscriptdelimited-⟨⟩superscript𝑧𝑗delimited-[]𝑥\langle z\rangle^{\ell[x]}:=\sum r^{j}\cdot\langle z^{(j)}\rangle^{\ell[x]}⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT := ∑ italic_r start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ⋅ ⟨ italic_z start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT and xi(j)[x]:=rjxi(j)[x]assignsuperscriptdelimited-⟨⟩subscriptsuperscript𝑥𝑗𝑖delimited-[]𝑥superscript𝑟𝑗superscriptdelimited-⟨⟩subscriptsuperscript𝑥𝑗𝑖delimited-[]𝑥\langle x^{(j)}_{i}\rangle^{\ell[x]}:=r^{j}\cdot\langle x^{(j)}_{i}\rangle^{% \ell[x]}⟨ italic_x start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT := italic_r start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ⋅ ⟨ italic_x start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT for each inj,j|𝒢|formulae-sequence𝑖subscriptsubscript𝑛𝑗𝑗subscript𝒢i\in\mathbb{Z}_{n_{j}},j\in\mathbb{Z}_{|\mathcal{G}|}italic_i ∈ blackboard_Z start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_j ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT; - All parties consolidate the original pairs into a single pair {x(i)[x],y(i)[x]}i|𝒢|;z[x]subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscriptdelimited-⟨⟩𝑧delimited-[]𝑥\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)}\rangle^{\ell[x]}\}_{i\in% \mathbb{Z}_{\mathcal{{|\mathcal{G}|}}}};\langle z\rangle^{\ell[x]}{ ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT ; ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT where |𝒢|=j=0|𝒢|1nj𝒢subscriptsuperscript𝒢1𝑗0subscript𝑛𝑗\mathcal{{|\mathcal{G}|}}=\sum^{{|\mathcal{G}|}-1}_{j=0}n_{j}| caligraphic_G | = ∑ start_POSTSUPERSCRIPT | caligraphic_G | - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j = 0 end_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT; - For k=1,,R𝑘1𝑅k=1,\ldots,Ritalic_k = 1 , … , italic_R, all parties do: {x(i)[x],y(i)[x]}i|𝒢|/2k,z[x]Π𝖱𝖾𝖽𝗎𝖼𝖾({xi[x],y(i)[x]}i|𝒢|/2k1,z[x])subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscript2𝑘superscriptdelimited-⟨⟩𝑧delimited-[]𝑥subscriptΠ𝖱𝖾𝖽𝗎𝖼𝖾subscriptsuperscriptdelimited-⟨⟩subscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscript2𝑘1superscriptdelimited-⟨⟩𝑧delimited-[]𝑥\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)}\rangle^{\ell[x]}\}_{i\in% \mathbb{Z}_{\mathcal{{|\mathcal{G}|}}/{2^{k}}}},\langle z\rangle^{\ell[x]}% \leftarrow\Pi_{\mathsf{Reduce}}(\{\langle x_{i}\rangle^{\ell[x]},\langle y^{(i% )}\rangle^{\ell[x]}\}_{i\in\mathbb{Z}_{\mathcal{{|\mathcal{G}|}}/2^{k-1}}},% \langle z\rangle^{\ell[x]}){ ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ← roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT ( { ⟨ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_k - 1 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ); - All parties call b=Π𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒({x(i)[x],y(i)[x]}i|𝒢|/2R,z[x])𝑏subscriptΠ𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒subscriptsuperscriptdelimited-⟨⟩superscript𝑥𝑖delimited-[]𝑥superscriptdelimited-⟨⟩superscript𝑦𝑖delimited-[]𝑥𝑖subscript𝒢superscript2𝑅superscriptdelimited-⟨⟩𝑧delimited-[]𝑥b=\Pi_{\mathsf{InnerVerify}}(\{\langle x^{(i)}\rangle^{\ell[x]},\langle y^{(i)% }\rangle^{\ell[x]}\}_{i\in\mathbb{Z}_{\mathcal{{|\mathcal{G}|}}/{2^{R}}}},% \langle z\rangle^{\ell[x]})italic_b = roman_Π start_POSTSUBSCRIPT sansserif_InnerVerify end_POSTSUBSCRIPT ( { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_z ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ); - All parties output b𝑏bitalic_b. Protocol Π𝖡𝖨𝖵𝖾𝗋𝗂𝖿𝗒R({{xi(j),yi(j)}inj,z(j)}j|𝒢|)superscriptsubscriptΠ𝖡𝖨𝖵𝖾𝗋𝗂𝖿𝗒𝑅subscriptsubscriptdelimited-⟨⟩subscriptsuperscript𝑥𝑗𝑖delimited-⟨⟩subscriptsuperscript𝑦𝑗𝑖𝑖subscriptsubscript𝑛𝑗delimited-⟨⟩superscript𝑧𝑗𝑗subscript𝒢\Pi_{\mathsf{BIVerify}}^{R}(\{\{\langle x^{(j)}_{i}\rangle,\langle y^{(j)}_{i}% \rangle\}_{i\in\mathbb{Z}_{n_{j}}},\langle z^{(j)}\rangle\}_{j\in\mathbb{Z}_{|% \mathcal{G}|}})roman_Π start_POSTSUBSCRIPT sansserif_BIVerify end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT ( { { ⟨ italic_x start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ , ⟨ italic_y start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ } start_POSTSUBSCRIPT italic_i ∈ blackboard_Z start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ⟨ italic_z start_POSTSUPERSCRIPT ( italic_j ) end_POSTSUPERSCRIPT ⟩ } start_POSTSUBSCRIPT italic_j ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | end_POSTSUBSCRIPT end_POSTSUBSCRIPT )
Figure 7: The Batch Inner Product Verification Protocol

IV Enhancing PPML.

In this section, we implement a maliciously secure privacy-preserving machine learning framework. We use boolean share to evaluate nonlinear functions, which can be viewed as share over ring 2subscript2\mathbb{Z}_{2}blackboard_Z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. We realize the share conversion protocol, which is entirely based on maliciously secure multiplication Π𝖬𝗎𝗅𝗍subscriptΠ𝖬𝗎𝗅𝗍\Pi_{\mathsf{Mult}}roman_Π start_POSTSUBSCRIPT sansserif_Mult end_POSTSUBSCRIPT. This makes our framework merely reliant on Π𝖬𝗎𝗅𝗍subscriptΠ𝖬𝗎𝗅𝗍\Pi_{\mathsf{Mult}}roman_Π start_POSTSUBSCRIPT sansserif_Mult end_POSTSUBSCRIPT.

IV-A Dealing with linear operation.

Our maliciously secure multiplication protocol is shown in Fig. 5. Π𝖬𝗎𝗅𝗍subscriptΠ𝖬𝗎𝗅𝗍\Pi_{\mathsf{Mult}}roman_Π start_POSTSUBSCRIPT sansserif_Mult end_POSTSUBSCRIPT ensures the correctness of multiplication by invoking batch verification protocol Π𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒subscriptΠ𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒\Pi_{\mathsf{MultVerify}}roman_Π start_POSTSUBSCRIPT sansserif_MultVerify end_POSTSUBSCRIPT in the post-processing phase. When handling a substantial volume of data, our protocol exhibits an amortized communication of \ellroman_ℓ bits in the preprocessing phase and 222\ell2 roman_ℓ bits in the online phase for each multiplication operation. The multiplication protocol can be expanded to the inner product protocol. Our maliciously secure inner product protocol Π𝖨𝗇𝗇𝖾𝗋subscriptΠ𝖨𝗇𝗇𝖾𝗋\Pi_{\mathsf{Inner}}roman_Π start_POSTSUBSCRIPT sansserif_Inner end_POSTSUBSCRIPT is shown in Fig. 6. Its semi-honest version is the special case of Π𝖯𝗈𝗅𝗒𝖤𝗏𝗅subscriptΠ𝖯𝗈𝗅𝗒𝖤𝗏𝗅\Pi_{\mathsf{PolyEvl}}roman_Π start_POSTSUBSCRIPT sansserif_PolyEvl end_POSTSUBSCRIPT for 2222-degree n𝑛nitalic_n-variate polynomial, which requires one round communication of \ellroman_ℓ bits in the preprocessing phase and one round communication of 222\ell2 roman_ℓ bits in the online phase. To extend it to the malicious setting, we employ batch verification protocol Π𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒RsuperscriptsubscriptΠ𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒𝑅\Pi_{\mathsf{InnerVerify}}^{R}roman_Π start_POSTSUBSCRIPT sansserif_InnerVerify end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT (Fig. 7) to ensure the correctness of the inner products with a similar manner of multiplication. Analogously, in Π𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒RsuperscriptsubscriptΠ𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒𝑅\Pi_{\mathsf{InnerVerify}}^{R}roman_Π start_POSTSUBSCRIPT sansserif_InnerVerify end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT, all parties transform the verification of inner product triples over ring 2subscriptsuperscript2\mathbb{Z}_{2^{\ell}}blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT to the verification of a single inner product triple over the polynomial ring 2[x]/f(x)subscriptsuperscript2delimited-[]𝑥𝑓𝑥\mathbb{Z}_{2^{\ell}}[x]/f(x)blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] / italic_f ( italic_x ). Following that, all parties invoke Π𝖱𝖾𝖽𝗎𝖼𝖾subscriptΠ𝖱𝖾𝖽𝗎𝖼𝖾\Pi_{\mathsf{Reduce}}roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT to reduce the dimension of the vector that needs to be verified. When handling a substantial volume of data, on average, our protocol exhibits an amortized communication of \ellroman_ℓ bits in the preprocessing phase and 222\ell2 roman_ℓ bits in the online phase for each inner product operation. In the application of machine learning, we view the m𝑚mitalic_m-dimensional output convolution and matrix multiplication as m𝑚mitalic_m separate inner products. We implement these two types of operations by invoking Π𝖨𝗇𝗇𝖾𝗋subscriptΠ𝖨𝗇𝗇𝖾𝗋\Pi_{\mathsf{Inner}}roman_Π start_POSTSUBSCRIPT sansserif_Inner end_POSTSUBSCRIPT a total of m𝑚mitalic_m times.

Let 𝗋𝗌𝗁𝗂𝖿𝗍(x,y)𝗋𝗌𝗁𝗂𝖿𝗍𝑥𝑦\mathsf{rshift}(x,y)sansserif_rshift ( italic_x , italic_y ) denote right shift x𝑥xitalic_x with y𝑦yitalic_y bits. 𝖨𝗇𝗉𝗎𝗍::𝖨𝗇𝗉𝗎𝗍absent\mathsf{Input:}sansserif_Input : delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩-shared value. 𝖮𝗎𝗍𝗉𝗎𝗍::𝖮𝗎𝗍𝗉𝗎𝗍absent\mathsf{Output:}sansserif_Output : delimited-⟨⟩\langle\cdot\rangle⟨ ⋅ ⟩-shared value of z=𝗋𝗌𝗁𝗂𝖿𝗍(x,t)𝑧𝗋𝗌𝗁𝗂𝖿𝗍𝑥𝑡z=\mathsf{rshift}(x,t)italic_z = sansserif_rshift ( italic_x , italic_t ). Preprocessing: - P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT pick random bit list {bi,j}jZ2subscriptsubscript𝑏𝑖𝑗𝑗subscript𝑍subscriptsuperscript2\{b_{i,j}\}_{j\in Z_{\ell}}\leftarrow\mathbb{Z}^{\ell}_{2}{ italic_b start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_j ∈ italic_Z start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT end_POSTSUBSCRIPT ← blackboard_Z start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT together, for i{1,2}𝑖12i\in\{1,2\}italic_i ∈ { 1 , 2 }; - All parties set - b1,j:=(mb1,j,[rb1,j]1,[rb1,j]2):=(0,b1,j,0)assigndelimited-⟨⟩subscript𝑏1𝑗subscript𝑚subscript𝑏1𝑗subscriptdelimited-[]subscript𝑟subscript𝑏1𝑗1subscriptdelimited-[]subscript𝑟subscript𝑏1𝑗2assign0subscript𝑏1𝑗0\langle b_{1,j}\rangle:=(m_{b_{1,j}},[r_{b_{1,j}}]_{1},[r_{b_{1,j}}]_{2}):=(0,% b_{1,j},0)⟨ italic_b start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT ⟩ := ( italic_m start_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , [ italic_r start_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , [ italic_r start_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) := ( 0 , italic_b start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT , 0 ); - b2,j:=(mb2,j,[rb2,j]1,[rb2,j]2):=(0,0,b2,j)assigndelimited-⟨⟩subscript𝑏2𝑗subscript𝑚subscript𝑏2𝑗subscriptdelimited-[]subscript𝑟subscript𝑏2𝑗1subscriptdelimited-[]subscript𝑟subscript𝑏2𝑗2assign00subscript𝑏2𝑗\langle b_{2,j}\rangle:=(m_{b_{2,j}},[r_{b_{2,j}}]_{1},[r_{b_{2,j}}]_{2}):=(0,% 0,b_{2,j})⟨ italic_b start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT ⟩ := ( italic_m start_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , [ italic_r start_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , [ italic_r start_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) := ( 0 , 0 , italic_b start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT ) for j𝑗subscriptj\in\mathbb{Z}_{\ell}italic_j ∈ blackboard_Z start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT; - All parties invoke Π𝖨𝗇𝗇𝖾𝗋subscriptΠ𝖨𝗇𝗇𝖾𝗋\Pi_{\mathsf{Inner}}roman_Π start_POSTSUBSCRIPT sansserif_Inner end_POSTSUBSCRIPT to calculate rx=j=012j(b1,j+b2,j2b1,jb2,j)delimited-⟨⟩subscript𝑟𝑥subscriptsuperscript1𝑗0superscript2𝑗delimited-⟨⟩subscript𝑏1𝑗delimited-⟨⟩subscript𝑏2𝑗2delimited-⟨⟩subscript𝑏1𝑗delimited-⟨⟩subscript𝑏2𝑗\langle r_{x}\rangle=\sum^{\ell-1}_{j=0}2^{j}(\langle b_{1,j}\rangle+\langle b% _{2,j}\rangle-2\langle b_{1,j}\rangle\cdot\langle b_{2,j}\rangle)⟨ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ⟩ = ∑ start_POSTSUPERSCRIPT roman_ℓ - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j = 0 end_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( ⟨ italic_b start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT ⟩ + ⟨ italic_b start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT ⟩ - 2 ⟨ italic_b start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT ⟩ ⋅ ⟨ italic_b start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT ⟩ ); rz=j=0t12j(b1,j+t+b2,j+t2b1,j+tb2,j+t)+j=t112j(b1,1+b2,12b1,1b2,1)delimited-⟨⟩subscript𝑟𝑧subscriptsuperscript𝑡1𝑗0superscript2𝑗delimited-⟨⟩subscript𝑏1𝑗𝑡delimited-⟨⟩subscript𝑏2𝑗𝑡2delimited-⟨⟩subscript𝑏1𝑗𝑡delimited-⟨⟩subscript𝑏2𝑗𝑡subscriptsuperscript1𝑗𝑡1superscript2𝑗delimited-⟨⟩subscript𝑏11delimited-⟨⟩subscript𝑏212delimited-⟨⟩subscript𝑏11delimited-⟨⟩subscript𝑏21\langle r_{z}\rangle=\sum^{\ell-t-1}_{j=0}2^{j}(\langle b_{1,j+t}\rangle+% \langle b_{2,j+t}\rangle-2\langle b_{1,j+t}\rangle\cdot\langle b_{2,j+t}% \rangle)+\sum^{\ell-1}_{j=\ell-t-1}2^{j}(\langle b_{1,\ell-1}\rangle+\langle b% _{2,\ell-1}\rangle-2\langle b_{1,\ell-1}\rangle\cdot\langle b_{2,\ell-1}\rangle)⟨ italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ⟩ = ∑ start_POSTSUPERSCRIPT roman_ℓ - italic_t - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j = 0 end_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( ⟨ italic_b start_POSTSUBSCRIPT 1 , italic_j + italic_t end_POSTSUBSCRIPT ⟩ + ⟨ italic_b start_POSTSUBSCRIPT 2 , italic_j + italic_t end_POSTSUBSCRIPT ⟩ - 2 ⟨ italic_b start_POSTSUBSCRIPT 1 , italic_j + italic_t end_POSTSUBSCRIPT ⟩ ⋅ ⟨ italic_b start_POSTSUBSCRIPT 2 , italic_j + italic_t end_POSTSUBSCRIPT ⟩ ) + ∑ start_POSTSUPERSCRIPT roman_ℓ - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j = roman_ℓ - italic_t - 1 end_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ( ⟨ italic_b start_POSTSUBSCRIPT 1 , roman_ℓ - 1 end_POSTSUBSCRIPT ⟩ + ⟨ italic_b start_POSTSUBSCRIPT 2 , roman_ℓ - 1 end_POSTSUBSCRIPT ⟩ - 2 ⟨ italic_b start_POSTSUBSCRIPT 1 , roman_ℓ - 1 end_POSTSUBSCRIPT ⟩ ⋅ ⟨ italic_b start_POSTSUBSCRIPT 2 , roman_ℓ - 1 end_POSTSUBSCRIPT ⟩ ); - P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT set rx=j=012j(b1,jb2,j)subscript𝑟𝑥subscriptsuperscript1𝑗0superscript2𝑗direct-sumsubscript𝑏1𝑗subscript𝑏2𝑗r_{x}=\sum^{\ell-1}_{j=0}2^{j}\cdot(b_{1,j}\oplus b_{2,j})italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT = ∑ start_POSTSUPERSCRIPT roman_ℓ - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j = 0 end_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ⋅ ( italic_b start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT ⊕ italic_b start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT ), rz=j=0t12j(b1,jb2,j)+j=t112j(b1,1b2,1)subscript𝑟𝑧subscriptsuperscript𝑡1𝑗0superscript2𝑗direct-sumsubscript𝑏1𝑗subscript𝑏2𝑗subscriptsuperscript1𝑗𝑡1superscript2𝑗direct-sumsubscript𝑏11subscript𝑏21r_{z}=\sum^{\ell-t-1}_{j=0}2^{j}\cdot(b_{1,j}\oplus b_{2,j})+\sum^{\ell-1}_{j=% \ell-t-1}2^{j}\cdot(b_{1,\ell-1}\oplus b_{2,\ell-1})italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT = ∑ start_POSTSUPERSCRIPT roman_ℓ - italic_t - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j = 0 end_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ⋅ ( italic_b start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT ⊕ italic_b start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT ) + ∑ start_POSTSUPERSCRIPT roman_ℓ - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j = roman_ℓ - italic_t - 1 end_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ⋅ ( italic_b start_POSTSUBSCRIPT 1 , roman_ℓ - 1 end_POSTSUBSCRIPT ⊕ italic_b start_POSTSUBSCRIPT 2 , roman_ℓ - 1 end_POSTSUBSCRIPT ); - Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for i{1,2}𝑖12i\in\{1,2\}italic_i ∈ { 1 , 2 } set [rx]=mrx[rrx]delimited-[]subscript𝑟𝑥subscript𝑚subscript𝑟𝑥delimited-[]subscript𝑟subscript𝑟𝑥[r_{x}]=m_{r_{x}}-[r_{r_{x}}][ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] = italic_m start_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUBSCRIPT - [ italic_r start_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUBSCRIPT ], [rz]=mrz[rrz]delimited-[]subscript𝑟𝑧subscript𝑚subscript𝑟𝑧delimited-[]subscript𝑟subscript𝑟𝑧[r_{z}]=m_{r_{z}}-[r_{r_{z}}][ italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] = italic_m start_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT end_POSTSUBSCRIPT - [ italic_r start_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT end_POSTSUBSCRIPT ]; Online: - Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for i{1,2}𝑖12i\in\{1,2\}italic_i ∈ { 1 , 2 } set mz=𝗋𝗌𝗁𝗂𝖿𝗍(mx,t)subscript𝑚𝑧𝗋𝗌𝗁𝗂𝖿𝗍subscript𝑚𝑥𝑡m_{z}=\mathsf{rshift}(m_{x},t)italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT = sansserif_rshift ( italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT , italic_t ); - All parties output z:=([rz],mz)assigndelimited-⟨⟩𝑧delimited-[]subscript𝑟𝑧subscript𝑚𝑧\langle z\rangle:=([r_{z}],m_{z})⟨ italic_z ⟩ := ( [ italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] , italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ). Protocol Π𝖳𝗋𝗎𝗇𝖼t(x)superscriptsubscriptΠ𝖳𝗋𝗎𝗇𝖼𝑡delimited-⟨⟩𝑥\Pi_{\mathsf{Trunc}}^{t}(\langle x\rangle)roman_Π start_POSTSUBSCRIPT sansserif_Trunc end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT ( ⟨ italic_x ⟩ )
Figure 8: The maliciously secure truncation protocol

IV-B Secure Truncation Protocol.

The multiplication of two fixed-point values with our encoding will lead to a double scale of 2ksuperscript2𝑘2^{k}2 start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT for the fractional precision k𝑘kitalic_k. An array of protocols [4, 5, 12] using the probabilistic truncation protocol to reduce the additional 2ksuperscript2𝑘2^{k}2 start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT scaler. Their protocols introduce a one-bit error which is caused by the carry bit of truncated data. In addition, the probabilistic truncation protocol makes an error with a certain probability (assuming that the valid range of data is xsubscript𝑥\ell_{x}roman_ℓ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT and the error probability is 2x+1superscript2subscript𝑥12^{\ell_{x}-\ell+1}2 start_POSTSUPERSCRIPT roman_ℓ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT - roman_ℓ + 1 end_POSTSUPERSCRIPT). As shown in Fig. 8, we also design a maliciously secure probabilistic truncation protocol Π𝖳𝗋𝗎𝗇𝖼tsuperscriptsubscriptΠ𝖳𝗋𝗎𝗇𝖼𝑡\Pi_{\mathsf{Trunc}}^{t}roman_Π start_POSTSUBSCRIPT sansserif_Trunc end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT for the truncation bit size t𝑡titalic_t. Our idea is similar to SWIFT [12], which generates correct truncation pair via maliciously secure inner product protocol. However, in contrast to SWIFT[12], we directly generate rz=𝗋𝗌𝗁𝗂𝖿𝗍(rx,d)subscript𝑟𝑧𝗋𝗌𝗁𝗂𝖿𝗍subscript𝑟𝑥𝑑r_{z}=\mathsf{rshift}(r_{x},d)italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT = sansserif_rshift ( italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT , italic_d ), which allows the parties locally truncate mz=𝗋𝗌𝗁𝗂𝖿𝗍(mx,d)subscript𝑚𝑧𝗋𝗌𝗁𝗂𝖿𝗍subscript𝑚𝑥𝑑m_{z}=\mathsf{rshift}(m_{x},d)italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT = sansserif_rshift ( italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT , italic_d ) in the online phase without communication. Although SWIFT[12] eliminates communication by combining truncation with multiplication, they still need 222\ell2 roman_ℓ online communication in the online phase of the standalone truncation protocol.

𝖨𝗇𝗉𝗎𝗍::𝖨𝗇𝗉𝗎𝗍absent\mathsf{Input:}sansserif_Input : None. 𝖮𝗎𝗍𝗉𝗎𝗍::𝖮𝗎𝗍𝗉𝗎𝗍absent\mathsf{Output:}sansserif_Output : edaBits pair {r,{r[i]1}i[]}superscriptdelimited-⟨⟩𝑟subscriptsuperscriptdelimited-⟨⟩𝑟delimited-[]𝑖1𝑖delimited-[]\{\langle r\rangle^{\ell},\{\langle r[i]\rangle^{1}\}_{i\in[\ell]}\}{ ⟨ italic_r ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT , { ⟨ italic_r [ italic_i ] ⟩ start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ [ roman_ℓ ] end_POSTSUBSCRIPT }. Execution: - P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and Pjsubscript𝑃𝑗P_{j}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT pick random bit list {bi,j}i[](2)subscriptsubscript𝑏𝑖𝑗𝑖delimited-[]superscriptsubscript2\{b_{i,j}\}_{i\in[\ell]}\leftarrow(\mathbb{Z}_{2})^{\ell}{ italic_b start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i ∈ [ roman_ℓ ] end_POSTSUBSCRIPT ← ( blackboard_Z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT together, for i{1,2}𝑖12i\in\{1,2\}italic_i ∈ { 1 , 2 }; - P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT pick random bit list {mi}i[](2)subscriptsubscript𝑚𝑖𝑖delimited-[]superscriptsubscript2\{m_{i}\}_{i\in[\ell]}\leftarrow(\mathbb{Z}_{2})^{\ell}{ italic_m start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i ∈ [ roman_ℓ ] end_POSTSUBSCRIPT ← ( blackboard_Z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT together, for i{1,2}𝑖12i\in\{1,2\}italic_i ∈ { 1 , 2 }; - All parties set r[i]1:=(mi,bi,1,bi,2)assignsuperscriptdelimited-⟨⟩𝑟delimited-[]𝑖1subscript𝑚𝑖subscript𝑏𝑖1subscript𝑏𝑖2\langle r[i]\rangle^{1}:=(m_{i},b_{i,1},b_{i,2})⟨ italic_r [ italic_i ] ⟩ start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT := ( italic_m start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT ); - All parties set - bi,1:=(0,bi,1,0)assignsuperscriptdelimited-⟨⟩subscript𝑏𝑖10subscript𝑏𝑖10\langle b_{i,1}\rangle^{\ell}:=(0,b_{i,1},0)⟨ italic_b start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT := ( 0 , italic_b start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT , 0 ); - bi,2:=(0,0,bi,2)assignsuperscriptdelimited-⟨⟩subscript𝑏𝑖200subscript𝑏𝑖2\langle b_{i,2}\rangle^{\ell}:=(0,0,b_{i,2})⟨ italic_b start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT := ( 0 , 0 , italic_b start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT ); - mi:=(mi,0,0)assignsuperscriptdelimited-⟨⟩subscript𝑚𝑖subscript𝑚𝑖00\langle m_{i}\rangle^{\ell}:=(m_{i},0,0)⟨ italic_m start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT := ( italic_m start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , 0 , 0 ) for i[]𝑖delimited-[]i\in[\ell]italic_i ∈ [ roman_ℓ ]; - All parties invoke Π𝖬𝗎𝗅𝗍subscriptΠ𝖬𝗎𝗅𝗍\Pi_{\mathsf{Mult}}roman_Π start_POSTSUBSCRIPT sansserif_Mult end_POSTSUBSCRIPT to calculate r[i]=bi,1+bi,22bi,1bi,2superscriptdelimited-⟨⟩superscript𝑟delimited-[]𝑖superscriptdelimited-⟨⟩subscript𝑏𝑖1superscriptdelimited-⟨⟩subscript𝑏𝑖22superscriptdelimited-⟨⟩subscript𝑏𝑖1superscriptdelimited-⟨⟩subscript𝑏𝑖2\langle r^{\prime}[i]\rangle^{\ell}=\langle b_{i,1}\rangle^{\ell}+\langle b_{i% ,2}\rangle^{\ell}-2\langle b_{i,1}\rangle^{\ell}\cdot\langle b_{i,2}\rangle^{\ell}⟨ italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT [ italic_i ] ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT = ⟨ italic_b start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT + ⟨ italic_b start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT - 2 ⟨ italic_b start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT ⋅ ⟨ italic_b start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT for i[]𝑖delimited-[]i\in[\ell]italic_i ∈ [ roman_ℓ ]; r=i=012i(mi+r[i]2mir[i])superscriptdelimited-⟨⟩𝑟subscriptsuperscript1𝑖0superscript2𝑖superscriptdelimited-⟨⟩subscript𝑚𝑖superscriptdelimited-⟨⟩superscript𝑟delimited-[]𝑖2superscriptdelimited-⟨⟩subscript𝑚𝑖superscriptdelimited-⟨⟩superscript𝑟delimited-[]𝑖\langle r\rangle^{\ell}=\sum^{\ell-1}_{i=0}2^{i}\cdot(\langle m_{i}\rangle^{% \ell}+\langle r^{\prime}[i]\rangle^{\ell}-2\langle m_{i}\rangle^{\ell}\cdot% \langle r^{\prime}[i]\rangle^{\ell})⟨ italic_r ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT = ∑ start_POSTSUPERSCRIPT roman_ℓ - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ⋅ ( ⟨ italic_m start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT + ⟨ italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT [ italic_i ] ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT - 2 ⟨ italic_m start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT ⋅ ⟨ italic_r start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT [ italic_i ] ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT ) - All parties output {r,{r[i]1}i[]}superscriptdelimited-⟨⟩𝑟subscriptsuperscriptdelimited-⟨⟩𝑟delimited-[]𝑖1𝑖delimited-[]\{\langle r\rangle^{\ell},\{\langle r[i]\rangle^{1}\}_{i\in[\ell]}\}{ ⟨ italic_r ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT , { ⟨ italic_r [ italic_i ] ⟩ start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT } start_POSTSUBSCRIPT italic_i ∈ [ roman_ℓ ] end_POSTSUBSCRIPT } Protocol Π𝖾𝖽𝖺𝖡𝗂𝗍𝗌subscriptΠ𝖾𝖽𝖺𝖡𝗂𝗍𝗌\Pi_{\mathsf{edaBits}}roman_Π start_POSTSUBSCRIPT sansserif_edaBits end_POSTSUBSCRIPT
Figure 9: The maliciously edaBits generation

Specifically, we let P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and P1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT pick random bit list {b1,j}jZsubscriptsubscript𝑏1𝑗𝑗subscript𝑍\{b_{1,j}\}_{j\in Z_{\ell}}{ italic_b start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_j ∈ italic_Z start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT end_POSTSUBSCRIPT together; P0subscript𝑃0P_{0}italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and P2subscript𝑃2P_{2}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT pick random bit list {b2,j}jZsubscriptsubscript𝑏2𝑗𝑗subscript𝑍\{b_{2,j}\}_{j\in Z_{\ell}}{ italic_b start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_j ∈ italic_Z start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT end_POSTSUBSCRIPT together. We utilize these lists to calculate that rx=j=012j(b1,jb2,j)subscript𝑟𝑥subscriptsuperscript1𝑗0superscript2𝑗direct-sumsubscript𝑏1𝑗subscript𝑏2𝑗r_{x}=\sum^{\ell-1}_{j=0}2^{j}\cdot(b_{1,j}\oplus b_{2,j})italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT = ∑ start_POSTSUPERSCRIPT roman_ℓ - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j = 0 end_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ⋅ ( italic_b start_POSTSUBSCRIPT 1 , italic_j end_POSTSUBSCRIPT ⊕ italic_b start_POSTSUBSCRIPT 2 , italic_j end_POSTSUBSCRIPT ) and rz=j=0t12j(b1,jb2,j)+j=t112j(b1,1b2,1)subscript𝑟𝑧subscriptsuperscript𝑡1𝑗0superscript2𝑗direct-sumsubscript𝑏1𝑗subscript𝑏2𝑗subscriptsuperscript1𝑗𝑡1superscript2𝑗direct-sumsubscript𝑏11subscript𝑏21r_{z}=\sum^{\ell-t-1}_{j=0}2^{j}\cdot(b_{1,j}\oplus b_{2,j})+\sum^{\ell-1}_{j=%