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 ℤ 2 ℓ subscript ℤ superscript 2 ℓ \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 ℤ 2 ℓ subscript ℤ superscript 2 ℓ \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 ℤ p subscript ℤ 𝑝 \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 ℤ p subscript ℤ 𝑝 \mathbb{Z}_{p} blackboard_Z start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT . However, techniques used to achieve malicious security in ℤ p subscript ℤ 𝑝 \mathbb{Z}_{p} blackboard_Z start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT cannot be directly applied to ℤ 2 ℓ subscript ℤ superscript 2 ℓ \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 ℤ 2 ℓ subscript ℤ superscript 2 ℓ \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 x ∈ ℤ 2 ℓ 𝑥 subscript ℤ superscript 2 ℓ x\in\mathbb{Z}_{2^{\ell}} italic_x ∈ blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT holds ( r 1 , r 2 ) subscript 𝑟 1 subscript 𝑟 2 (r_{1},r_{2}) ( italic_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_r start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) , P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT holds ( m = x − r , r 1 ) 𝑚 𝑥 𝑟 subscript 𝑟 1
(m=x-r,r_{1}) ( italic_m = italic_x - italic_r , italic_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) , and P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT holds ( m = x − r , r 2 ) 𝑚 𝑥 𝑟 subscript 𝑟 2
(m=x-r,r_{2}) ( italic_m = italic_x - italic_r , italic_r start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) where r = r 1 + r 2 𝑟 subscript 𝑟 1 subscript 𝑟 2 r=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 𝑁 N italic_N dimension inner product triple to the verification of N / 2 𝑁 2 N/2 italic_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 ℤ 2 ℓ subscript ℤ superscript 2 ℓ \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 ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 𝑑 d italic_d irreducible polynomial over ℤ 2 ℓ subscript ℤ superscript 2 ℓ \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. (ℓ ℓ \ell roman_ℓ is the ring size, n 𝑛 n italic_n is the size of the inner product.)
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 ℤ 2 ℓ subscript ℤ superscript 2 ℓ \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 ℤ 2 ℓ subscript ℤ superscript 2 ℓ \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 2 2 2 2 ring elements in the online phase and 1 1 1 1 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 𝒬 3 superscript 𝒬 3 \mathcal{Q}^{3} caligraphic_Q start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT active adversary setting (t < n / 3 𝑡 𝑛 3 t<n/3 italic_t < italic_n / 3 ), while our protocol achieves security with abort in the 𝒬 2 superscript 𝒬 2 \mathcal{Q}^{2} caligraphic_Q start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT active adversary setting (t < n / 2 𝑡 𝑛 2 t<n/2 italic_t < italic_n / 2 ), where t 𝑡 t italic_t is the number of corrupted parties and n 𝑛 n italic_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 𝒫 := { P 0 , P 1 , P 2 } assign 𝒫 subscript 𝑃 0 subscript 𝑃 1 subscript 𝑃 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 𝑥 x italic_x with k 𝑘 k italic_k -bit precision, if x ≥ 0 𝑥 0 x\geq 0 italic_x ≥ 0 , we encode it as ⌊ x ⋅ 2 k ⌋ ⋅ 𝑥 superscript 2 𝑘 \lfloor x\cdot 2^{k}\rfloor ⌊ italic_x ⋅ 2 start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ⌋ ; if x < 0 𝑥 0 x<0 italic_x < 0 , we encode it as 2 ℓ + ⌊ x ⋅ 2 k ⌋ superscript 2 ℓ ⋅ 𝑥 superscript 2 𝑘 2^{\ell}+\lfloor x\cdot 2^{k}\rfloor 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT + ⌊ italic_x ⋅ 2 start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ⌋ . We use η j , k subscript 𝜂 𝑗 𝑘
\eta_{j,k} italic_η start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT to denote the common seed held by P j subscript 𝑃 𝑗 P_{j} italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT and P k subscript 𝑃 𝑘 P_{k} italic_P start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT . Our protocol contains two types of secret sharing as follows:
•
[ ⋅ ] ℓ superscript delimited-[] ⋅ ℓ [\cdot]^{\ell} [ ⋅ ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT -sharing: We define [ ⋅ ] ℓ superscript delimited-[] ⋅ ℓ [\cdot]^{\ell} [ ⋅ ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT -sharing over ring ℤ 2 ℓ subscript ℤ superscript 2 ℓ \mathbb{Z}_{2^{\ell}} blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT as [ x ] ℓ := ( [ x ] 1 ∈ ℤ 2 ℓ , [ x ] 2 ∈ ℤ 2 ℓ ) assign superscript delimited-[] 𝑥 ℓ formulae-sequence subscript delimited-[] 𝑥 1 subscript ℤ superscript 2 ℓ subscript delimited-[] 𝑥 2 subscript ℤ superscript 2 ℓ [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 ℓ 𝑥 subscript superscript delimited-[] 𝑥 ℓ 1 subscript superscript delimited-[] 𝑥 ℓ 2 x=[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 . P j subscript 𝑃 𝑗 P_{j} italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT for j ∈ { 1 , 2 } 𝑗 1 2 j\in\{1,2\} italic_j ∈ { 1 , 2 } hold share [ x ] j ℓ subscript superscript delimited-[] 𝑥 ℓ 𝑗 [x]^{\ell}_{j} [ italic_x ] start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT .
•
⟨ ⋅ ⟩ ℓ superscript delimited-⟨⟩ ⋅ ℓ \langle\cdot\rangle^{\ell} ⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT -sharing: We define ⟨ ⋅ ⟩ ℓ superscript delimited-⟨⟩ ⋅ ℓ \langle\cdot\rangle^{\ell} ⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT -sharing over ring ℤ 2 ℓ subscript ℤ superscript 2 ℓ \mathbb{Z}_{2^{\ell}} blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT as ⟨ x ⟩ ℓ := ( [ r x ] ℓ , m x ) assign superscript delimited-⟨⟩ 𝑥 ℓ superscript delimited-[] 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 r x subscript 𝑟 𝑥 r_{x} italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT is a fresh random value and m x = r x + x subscript 𝑚 𝑥 subscript 𝑟 𝑥 𝑥 m_{x}=r_{x}+x italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT = italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + italic_x . P j subscript 𝑃 𝑗 P_{j} italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT for j ∈ { 1 , 2 } 𝑗 1 2 j\in\{1,2\} italic_j ∈ { 1 , 2 } hold ( m x ∈ ℤ 2 ℓ , [ r x ] j ℓ ∈ ℤ 2 ℓ ) formulae-sequence subscript 𝑚 𝑥 subscript ℤ superscript 2 ℓ subscript superscript delimited-[] subscript 𝑟 𝑥 ℓ 𝑗 subscript ℤ superscript 2 ℓ (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 P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT holds ( [ r x ] 1 ℓ , [ r x ] 2 ℓ ) subscript superscript delimited-[] subscript 𝑟 𝑥 ℓ 1 subscript superscript delimited-[] 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 ] superscript delimited-[] ⋅ ℓ delimited-[] 𝑥 [\cdot]^{\ell[x]} [ ⋅ ] start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT and ⟨ ⋅ ⟩ ℓ [ x ] superscript delimited-⟨⟩ ⋅ ℓ 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 ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 𝑑 d italic_d irreducible polynomial over ℤ 2 subscript ℤ 2 \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-[] 𝑦 subscript delimited-[] 𝑥 1 subscript delimited-[] 𝑦 1 subscript delimited-[] 𝑥 2 subscript delimited-[] 𝑦 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-[] 𝑥 ⋅ 𝑐 subscript delimited-[] 𝑥 1 ⋅ 𝑐 subscript delimited-[] 𝑥 2 c\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-[] 𝑥 𝑐 subscript delimited-[] 𝑥 1 𝑐 subscript delimited-[] 𝑥 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 𝑐 c italic_c is a public value. The same linear operation holds for ⟨ ⋅ ⟩ delimited-⟨⟩ ⋅ \langle\cdot\rangle ⟨ ⋅ ⟩ , and ⟨ ⋅ ⟩ ℤ 2 ℓ [ x ] superscript delimited-⟨⟩ ⋅ subscript ℤ superscript 2 ℓ delimited-[] 𝑥 \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 𝑥 x italic_x is shared by P 0 subscript 𝑃 0 P_{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 P j subscript 𝑃 𝑗 P_{j} italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT and P k subscript 𝑃 𝑘 P_{k} italic_P start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT pick random values together, we mean that these parties invoke PRG with seed η j , k subscript 𝜂 𝑗 𝑘
\eta_{j,k} italic_η start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT .
The brief sketch of secret sharing schemes is as follows.
•
[ x ] ℓ ← Π [ ⋅ ] ℓ ( x ) ← superscript delimited-[] 𝑥 ℓ superscript subscript Π 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 𝑥 x italic_x .)
- P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT pick random value [ x ] 1 ∈ ℤ 2 ℓ subscript delimited-[] 𝑥 1 subscript ℤ superscript 2 ℓ [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 , 1 subscript 𝜂 0 1
\eta_{0,1} italic_η start_POSTSUBSCRIPT 0 , 1 end_POSTSUBSCRIPT ;
- P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT sends x 2 = x − [ x ] 1 ( mod 2 ℓ ) subscript 𝑥 2 annotated 𝑥 subscript delimited-[] 𝑥 1 pmod superscript 2 ℓ x_{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 P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT .
•
[ x ] ℓ ← Π [ ⋅ ] ℓ ← superscript delimited-[] 𝑥 ℓ superscript subscript Π 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.)
- P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT pick random value [ x ] 1 ∈ ℤ 2 ℓ subscript delimited-[] 𝑥 1 subscript ℤ superscript 2 ℓ [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 , 1 subscript 𝜂 0 1
\eta_{0,1} italic_η start_POSTSUBSCRIPT 0 , 1 end_POSTSUBSCRIPT ;
- P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT pick random value [ x ] 2 ∈ ℤ 2 ℓ subscript delimited-[] 𝑥 2 subscript ℤ superscript 2 ℓ [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 , 2 subscript 𝜂 0 2
\eta_{0,2} italic_η start_POSTSUBSCRIPT 0 , 2 end_POSTSUBSCRIPT ;
- P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT calculates x = [ x ] 1 + [ x ] 2 𝑥 subscript delimited-[] 𝑥 1 subscript delimited-[] 𝑥 2 x=[x]_{1}+[x]_{2} italic_x = [ italic_x ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + [ italic_x ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT .
•
⟨ x ⟩ ℓ ← Π ⟨ ⋅ ⟩ ℓ , k ( x ) ← superscript delimited-⟨⟩ 𝑥 ℓ superscript subscript Π 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 𝑥 x italic_x .)
- All parties perform [ r x ] ← Π [ ⋅ ] ← 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 P k subscript 𝑃 𝑘 P_{k} italic_P start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT holds both seeds of [ r x ] 1 subscript delimited-[] subscript 𝑟 𝑥 1 [r_{x}]_{1} [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and [ r x ] 2 subscript delimited-[] subscript 𝑟 𝑥 2 [r_{x}]_{2} [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT generation;
- P i subscript 𝑃 𝑖 P_{i} italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT send m x = x + [ r x ] 1 + [ r x ] 2 subscript 𝑚 𝑥 𝑥 subscript delimited-[] subscript 𝑟 𝑥 1 subscript delimited-[] subscript 𝑟 𝑥 2 m_{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 P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT .
•
⟨ x ⟩ ℓ ← Π ⟨ ⋅ ⟩ ℓ ← superscript delimited-⟨⟩ 𝑥 ℓ superscript subscript Π 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 [ r x ] ← Π [ ⋅ ] ← 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;
- P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT pick random value m x subscript 𝑚 𝑥 m_{x} italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT with seed η 1 , 2 subscript 𝜂 1 2
\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 ] superscript delimited-[] ⋅ ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ ⋅ ℓ 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 ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 ] superscript subscript Π delimited-[] ⋅ ℓ delimited-[] 𝑥 \Pi_{[\cdot]}^{\ell[x]} roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT , Π ⟨ ⋅ ⟩ ℓ [ x ] superscript subscript Π 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, ⟨ x ⟩ delimited-⟨⟩ 𝑥 \langle x\rangle ⟨ italic_x ⟩ , a single active adversary cannot deceive the honest parties into accepting an incorrect reconstruction result x + e 𝑥 𝑒 x+e italic_x + italic_e with a non-zero error e 𝑒 e italic_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 ⟩ ) :
- P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT sends [ r x ] 1 subscript delimited-[] subscript 𝑟 𝑥 1 [r_{x}]_{1} [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT to P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and [ r x ] 2 subscript delimited-[] subscript 𝑟 𝑥 2 [r_{x}]_{2} [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT to P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ;
- P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sends m x subscript 𝑚 𝑥 m_{x} italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT to P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and H ( [ r x ] 1 ) 𝐻 subscript delimited-[] subscript 𝑟 𝑥 1 H([r_{x}]_{1}) italic_H ( [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) to P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ;
- P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT sends H ( m x ) 𝐻 subscript 𝑚 𝑥 H(m_{x}) italic_H ( italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) to P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and H ( [ r x ] 2 ) 𝐻 subscript delimited-[] subscript 𝑟 𝑥 2 H([r_{x}]_{2}) italic_H ( [ italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) to P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ;
If the received messages from the other parties are inconsistent, P i subscript 𝑃 𝑖 P_{i} italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT output abort. Otherwise P i subscript 𝑃 𝑖 P_{i} italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT output x = m x − [ r x ] 1 − [ r x ] 2 𝑥 subscript 𝑚 𝑥 subscript delimited-[] subscript 𝑟 𝑥 1 subscript delimited-[] subscript 𝑟 𝑥 2 x=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 ⟩ ) ← 𝑥 superscript subscript Π 𝖱𝖾𝖼 ℓ 𝑘
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 P k subscript 𝑃 𝑘 P_{k} italic_P start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT . If the received messages from the other parties are inconsistent, P k subscript 𝑃 𝑘 P_{k} italic_P start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT output abort. Otherwise P k subscript 𝑃 𝑘 P_{k} italic_P start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT output x = m x − [ r x ] 1 − [ r x ] 2 𝑥 subscript 𝑚 𝑥 subscript delimited-[] subscript 𝑟 𝑥 1 subscript delimited-[] subscript 𝑟 𝑥 2 x=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 ] superscript delimited-⟨⟩ ⋅ ℓ delimited-[] 𝑥 \langle\cdot\rangle^{\ell[x]} ⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT in polynomial ring, Π 𝖱𝖾𝖼 ℓ [ x ] superscript subscript Π 𝖱𝖾𝖼 ℓ 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 r x subscript 𝑟 𝑥 r_{x} italic_r start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT of share ⟨ x ⟩ delimited-⟨⟩ 𝑥 \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 m x subscript 𝑚 𝑥 m_{x} italic_m start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT for P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P 2 subscript 𝑃 2 P_{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 = x ⋅ y 𝑧 ⋅ 𝑥 𝑦 z=x\cdot y italic_z = italic_x ⋅ italic_y with input ⟨ x ⟩ delimited-⟨⟩ 𝑥 \langle x\rangle ⟨ italic_x ⟩ , ⟨ y ⟩ delimited-⟨⟩ 𝑦 \langle y\rangle ⟨ italic_y ⟩ and output ⟨ z ⟩ delimited-⟨⟩ 𝑧 \langle z\rangle ⟨ italic_z ⟩ , all parties first generate [ r z ] ← Π [ ⋅ ] ( r z ) ← 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 m z subscript 𝑚 𝑧 m_{z} italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT for P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in the online phase, it can be written as
m z = x y + r z subscript 𝑚 𝑧 𝑥 𝑦 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
= ( m x − r x ) ( m y − r y ) + r z absent subscript 𝑚 𝑥 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
= m x m y − m x r y − m y r x ⏞ P 1 and P 2 can locally evaluate + r x r y + r z ⏞ Known to P 0 . absent superscript ⏞ subscript 𝑚 𝑥 subscript 𝑚 𝑦 subscript 𝑚 𝑥 subscript 𝑟 𝑦 subscript 𝑚 𝑦 subscript 𝑟 𝑥 subscript 𝑃 1 and subscript 𝑃 2 can locally evaluate superscript ⏞ subscript 𝑟 𝑥 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 .
[ Γ ′ ] = m x m y − m x [ r y ] − m y [ r x ] 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 P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT locally and [ Γ ] = [ r x ⋅ r y ] − [ r z ] 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 P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT to P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in the preprocessing phase. In the online phase, P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT calculate and reconstruct [ m z ] = [ Γ ′ ] + [ Γ ] 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 𝑛 n italic_n -dimension inner product z = ∑ i = 0 n − 1 x i ⋅ y i 𝑧 subscript superscript 𝑛 1 𝑖 0 ⋅ subscript 𝑥 𝑖 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 m z subscript 𝑚 𝑧 m_{z} italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT requires to be evaluated in online phase can be written as
m z subscript 𝑚 𝑧 \displaystyle m_{z} italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT
= ∑ i = 0 n − 1 x i ⋅ y i + r z = ∑ i = 0 n − 1 ( m x i − r x i ) ( m y i − r y i ) + r z absent subscript superscript 𝑛 1 𝑖 0 ⋅ subscript 𝑥 𝑖 subscript 𝑦 𝑖 subscript 𝑟 𝑧 subscript superscript 𝑛 1 𝑖 0 subscript 𝑚 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 = 0 n − 1 ( m x i m y i − m x i r y i − m y i r x i ) ⏞ P 1 and P 2 can locally evaluate + ∑ i = 0 n − 1 r x i r y i + r z ⏞ Known to P 0 . absent superscript ⏞ subscript superscript 𝑛 1 𝑖 0 subscript 𝑚 subscript 𝑥 𝑖 subscript 𝑚 subscript 𝑦 𝑖 subscript 𝑚 subscript 𝑥 𝑖 subscript 𝑟 subscript 𝑦 𝑖 subscript 𝑚 subscript 𝑦 𝑖 subscript 𝑟 subscript 𝑥 𝑖 subscript 𝑃 1 and subscript 𝑃 2 can locally evaluate superscript ⏞ subscript superscript 𝑛 1 𝑖 0 subscript 𝑟 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 = 0 n − 1 ( m x i m y i − m x i [ r y i ] − m y i [ r x i ] ) delimited-[] superscript Γ ′ subscript superscript 𝑛 1 𝑖 0 subscript 𝑚 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 P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT . Meanwhile, [ Γ ] = ∑ i = 0 n − 1 [ r x i r y i ] + [ r z ] delimited-[] Γ subscript superscript 𝑛 1 𝑖 0 delimited-[] 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 P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT to P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in the offline phase. In the online phase, P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT compute [ m z ] = [ Γ ] + [ Γ ′ ] 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 m z subscript 𝑚 𝑧 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 = x ⋅ y 𝑧 ⋅ 𝑥 𝑦 z=x\cdot y italic_z = italic_x ⋅ italic_y , P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT can introduce an error when sharing [ r x ⋅ r y ] 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 P 1 subscript 𝑃 1 P_{1} italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and P 2 subscript 𝑃 2 P_{2} italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT can introduce errors during the reconstruction of m z subscript 𝑚 𝑧 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 ) subscript superscript 𝑥 𝑖 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 𝑦 𝑖 subscript delimited-⟨⟩ 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 | 𝒢 | ( r i ⋅ x ( i ) ⋅ y ( i ) − r i ⋅ z ( i ) ) = 0 Δ subscript superscript 𝒢 𝑖 0 ⋅ superscript 𝑟 𝑖 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 𝑟 r italic_r is a challenge picked during verification. The terms r i superscript 𝑟 𝑖 r^{i} italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT prevent an adversary from introducing opposing errors in different outputs z i subscript 𝑧 𝑖 z_{i} italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and z j subscript 𝑧 𝑗 z_{j} italic_z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT that could cancel each other. For example, if z ( i ) = x ( i ) ⋅ y ( i ) + e superscript 𝑧 𝑖 ⋅ superscript 𝑥 𝑖 superscript 𝑦 𝑖 𝑒 z^{(i)}=x^{(i)}\cdot y^{(i)}+e 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 and z ( j ) = x ( j ) ⋅ y ( j ) − e superscript 𝑧 𝑗 ⋅ superscript 𝑥 𝑗 superscript 𝑦 𝑗 𝑒 z^{(j)}=x^{(j)}\cdot y^{(j)}-e italic_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=0 roman_Δ = 0 . A typical solution involves using a random factor α 𝛼 \alpha italic_α . Instead of the 2-degree inner product, verification becomes a 3-degree polynomial:
Δ = ∑ i = 0 | 𝒢 | ( r i ⋅ α ⋅ x ( i ) ⋅ y ( i ) − r i ⋅ α ⋅ z ( i ) ) = 0 Δ subscript superscript 𝒢 𝑖 0 ⋅ superscript 𝑟 𝑖 𝛼 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 α 𝛼 \alpha italic_α is a random share unknown to each party.
This randomness α 𝛼 \alpha italic_α 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 e ′ superscript 𝑒 ′ e^{\prime} italic_e start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT in Δ Δ \Delta roman_Δ . To cancel the original error e 𝑒 e italic_e in z ( i ) superscript 𝑧 𝑖 z^{(i)} italic_z start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT , the adversary must guess e ′ = α ⋅ e superscript 𝑒 ′ ⋅ 𝛼 𝑒 e^{\prime}=\alpha\cdot e italic_e start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = italic_α ⋅ italic_e . Since α 𝛼 \alpha italic_α is unknown and chosen randomly, the probability of correctly guessing the exact value of α ⋅ e ⋅ 𝛼 𝑒 \alpha\cdot e italic_α ⋅ 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 𝑒 e italic_e such that when multiplied by r i superscript 𝑟 𝑖 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 𝑒 e italic_e will be undetected in a high probability if a lot of values α 𝛼 \alpha italic_α meets e ⋅ α = 0 ⋅ 𝑒 𝛼 0 e\cdot\alpha=0 italic_e ⋅ italic_α = 0 .
A typical attack could involve introducing an error e = 2 ℓ − 1 𝑒 superscript 2 ℓ 1 e=2^{\ell-1} italic_e = 2 start_POSTSUPERSCRIPT roman_ℓ - 1 end_POSTSUPERSCRIPT , where ℓ ℓ \ell roman_ℓ is the bit length of the ring. If r 𝑟 r italic_r is an even number, this error would result in r i ⋅ ( z ( i ) + e ) = r i ⋅ z ( 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., ℓ = 100 ℓ 100 \ell=100 roman_ℓ = 100 ) is used for 64-bit data, resulting in a soundness error of 2 − 36 superscript 2 36 2^{-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 ℤ 2 64 subscript ℤ superscript 2 64 \mathbb{Z}_{2^{64}} blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT 64 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT to ℤ 2 100 subscript ℤ superscript 2 100 \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 ℤ 2 100 subscript ℤ superscript 2 100 \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 Δ Δ \Delta roman_Δ over the extension ring ℤ 2 ℓ [ x ] / f ( x ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 𝑑 d italic_d over ℤ 2 ℓ subscript ℤ superscript 2 ℓ \mathbb{Z}_{2^{\ell}} blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [20 ] . (The original share over ℤ 2 ℓ subscript ℤ superscript 2 ℓ \mathbb{Z}_{2^{\ell}} blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT becomes the free coefficient, with d 𝑑 d italic_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)=0 roman_Δ ( italic_r ) = 0 for a randomly chosen r 𝑟 r italic_r is at most 2 ( ℓ − 1 ) d | 𝒢 | + 1 2 ℓ d ≈ | 𝒢 | 2 d superscript 2 ℓ 1 𝑑 𝒢 1 superscript 2 ℓ 𝑑 𝒢 superscript 2 𝑑 \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 ℤ 2 ℓ subscript ℤ superscript 2 ℓ \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 ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 | 𝒢 | 2 R 𝒢 superscript 2 𝑅 \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 𝑁 N italic_N triples of ⟨ ⋅ ⟩ delimited-⟨⟩ ⋅ \langle\cdot\rangle ⟨ ⋅ ⟩ -shared multiplication.
𝖮𝗎𝗍𝗉𝗎𝗍 : : 𝖮𝗎𝗍𝗉𝗎𝗍 absent \mathsf{Output:} sansserif_Output : One triple of N 𝑁 N italic_N -dimension ⟨ ⋅ ⟩ ℓ [ x ] superscript delimited-⟨⟩ ⋅ ℓ delimited-[] 𝑥 \langle\cdot\rangle^{\ell[x]} ⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT -shared inner product.
Preprocessing:
-
All parties invoke ⟨ r ⟩ ℓ [ x ] ← Π ⟨ ⋅ ⟩ ℓ [ x ] ← superscript delimited-⟨⟩ 𝑟 ℓ delimited-[] 𝑥 superscript subscript Π 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 𝑟 r italic_r with Π 𝖱𝖾𝖼 subscript Π 𝖱𝖾𝖼 \Pi_{\mathsf{Rec}} roman_Π start_POSTSUBSCRIPT sansserif_Rec end_POSTSUBSCRIPT and calculate r i superscript 𝑟 𝑖 r^{i} italic_r start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT for all i ∈ ℤ N 𝑖 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 ] superscript delimited-⟨⟩ ⋅ ℓ delimited-[] 𝑥 \langle\cdot\rangle^{\ell[x]} ⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT locally by setting the constant term of ⟨ ⋅ ⟩ ℓ [ x ] superscript delimited-⟨⟩ ⋅ ℓ delimited-[] 𝑥 \langle\cdot\rangle^{\ell[x]} ⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT to ⟨ ⋅ ⟩ delimited-⟨⟩ ⋅ \langle\cdot\rangle ⟨ ⋅ ⟩ ;
-
All parties set ⟨ z ⟩ ℓ [ x ] := ∑ i = 0 N − 1 r i ⋅ ⟨ z ( i ) ⟩ ℓ [ x ] assign superscript delimited-⟨⟩ 𝑧 ℓ delimited-[] 𝑥 subscript superscript 𝑁 1 𝑖 0 ⋅ superscript 𝑟 𝑖 superscript delimited-⟨⟩ 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 ] := r i ⋅ ⟨ x ( i ) ⟩ ℓ [ x ] assign superscript delimited-⟨⟩ superscript 𝑥 ′ 𝑖
ℓ delimited-[] 𝑥 ⋅ superscript 𝑟 𝑖 superscript delimited-⟨⟩ 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 ∈ ℤ N 𝑖 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 ] } i ∈ ℤ N ; ⟨ z ⟩ ℓ [ x ] subscript superscript delimited-⟨⟩ superscript 𝑥 ′ 𝑖
ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝑁 superscript delimited-⟨⟩ 𝑧 ℓ 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 ) ⟩ } i ∈ ℤ N ) subscript Π 𝖳𝗋𝖺𝗇𝗌 subscript delimited-⟨⟩ 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 ℤ 2 ℓ subscript ℤ superscript 2 ℓ \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 ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 ∈ ℤ | 𝒢 | subscript delimited-⟨⟩ 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 ∈ ℤ | 𝒢 | superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ 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 ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 r ∈ ℤ 2 ℓ [ x ] / f ( x ) 𝑟 subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 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 ] ← superscript delimited-⟨⟩ 𝑟 ℓ delimited-[] 𝑥 superscript subscript Π 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 𝑟 r italic_r via Π 𝖱𝖾𝖼 subscript Π 𝖱𝖾𝖼 \Pi_{\mathsf{Rec}} roman_Π start_POSTSUBSCRIPT sansserif_Rec end_POSTSUBSCRIPT (To ensure that r 𝑟 r italic_r is unknown to each party before circuit evaluation). Each party then locally computes ⟨ z ⟩ ℓ [ x ] = ∑ i = 0 | 𝒢 | − 1 r i ⋅ ⟨ z ( i ) ⟩ ℓ [ x ] superscript delimited-⟨⟩ 𝑧 ℓ delimited-[] 𝑥 superscript subscript 𝑖 0 𝒢 1 ⋅ superscript 𝑟 𝑖 superscript delimited-⟨⟩ 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 ] = r i ⋅ ⟨ x ( i ) ⟩ ℓ [ x ] superscript delimited-⟨⟩ superscript 𝑥 ′ 𝑖
ℓ delimited-[] 𝑥 ⋅ superscript 𝑟 𝑖 superscript delimited-⟨⟩ 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 ] ) subscript superscript delimited-⟨⟩ superscript 𝑥 ′ 𝑖
ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript delimited-⟨⟩ 𝑧 ℓ 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 ∈ ℤ | 𝒢 | subscript delimited-⟨⟩ 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 ] subscript superscript delimited-⟨⟩ superscript 𝑥 ′ 𝑖
ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript delimited-⟨⟩ 𝑧 ℓ 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 | 𝒢 | 2 d 𝒢 superscript 2 𝑑 \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 𝑑 d italic_d is the degree of f ( x ) 𝑓 𝑥 f(x) italic_f ( italic_x ) w.r.t. ℤ 2 ℓ [ x ] / f ( x ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 | 𝒢 | − 1 x i ′ ⋅ y i 𝑧 subscript superscript 𝒢 1 𝑖 0 ⋅ subscript superscript 𝑥 ′ 𝑖 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. z i ≠ x i ⋅ y i subscript 𝑧 𝑖 ⋅ 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 ] superscript delimited-⟨⟩ ⋅ ℓ 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 ] superscript delimited-⟨⟩ ⋅ ℓ delimited-[] 𝑥 \langle\cdot\rangle^{\ell[x]} ⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT -shared inner product.
Execution:
-
For i ∈ ℤ | 𝒢 | / 2 𝑖 subscript ℤ 𝒢 2 i\in\mathbb{Z}_{{|\mathcal{G}|}/2} italic_i ∈ blackboard_Z start_POSTSUBSCRIPT | caligraphic_G | / 2 end_POSTSUBSCRIPT , all parties set
–
⟨ f i ( 0 ) ⟩ ℓ [ x ] = ⟨ x ( 2 ⋅ i ) ⟩ ℓ [ x ] superscript delimited-⟨⟩ subscript 𝑓 𝑖 0 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ 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 ;⟨ f i ( 1 ) ⟩ ℓ [ x ] = ⟨ x ( 2 ⋅ i + 1 ) ⟩ superscript delimited-⟨⟩ subscript 𝑓 𝑖 1 ℓ delimited-[] 𝑥 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 ⟩ ; ⟨ f i ( 2 ) ⟩ ℓ [ x ] = 2 ⋅ ⟨ f i ( 1 ) ⟩ ℓ [ x ] − ⟨ f i ( 0 ) ⟩ ℓ [ x ] superscript delimited-⟨⟩ subscript 𝑓 𝑖 2 ℓ delimited-[] 𝑥 ⋅ 2 superscript delimited-⟨⟩ subscript 𝑓 𝑖 1 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ subscript 𝑓 𝑖 0 ℓ delimited-[] 𝑥 \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 ;
–
⟨ g i ( 0 ) ⟩ ℓ [ x ] = ⟨ y ( 2 ⋅ i ) ⟩ ℓ [ x ] superscript delimited-⟨⟩ subscript 𝑔 𝑖 0 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ 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 ;⟨ g i ( 1 ) ⟩ ℓ [ x ] = ⟨ y ( 2 ⋅ i + 1 ) ⟩ ℓ [ x ] superscript delimited-⟨⟩ subscript 𝑔 𝑖 1 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 ⋅ 2 𝑖 1 ℓ delimited-[] 𝑥 \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 ; ⟨ g i ( 2 ) ⟩ ℓ [ x ] = 2 ⋅ ⟨ g i ( 1 ) ⟩ ℓ [ x ] − ⟨ g i ( 0 ) ⟩ ℓ [ x ] superscript delimited-⟨⟩ subscript 𝑔 𝑖 2 ℓ delimited-[] 𝑥 ⋅ 2 superscript delimited-⟨⟩ subscript 𝑔 𝑖 1 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ subscript 𝑔 𝑖 0 ℓ delimited-[] 𝑥 \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 ] = ∑ ⟨ f i ( 0 ) ⟩ ℓ [ x ] ⋅ ⟨ g i ( 0 ) ⟩ ℓ [ x ] superscript delimited-⟨⟩ ℎ 0 ℓ delimited-[] 𝑥 ⋅ superscript delimited-⟨⟩ subscript 𝑓 𝑖 0 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ subscript 𝑔 𝑖 0 ℓ delimited-[] 𝑥 \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 ] superscript delimited-⟨⟩ ℎ 1 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ 𝑧 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ ℎ 0 ℓ delimited-[] 𝑥 \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 ] = ∑ ⟨ f i ( 2 ) ⟩ ℓ [ x ] ⋅ ⟨ g i ( 2 ) ⟩ ℓ [ x ] superscript delimited-⟨⟩ ℎ 2 ℓ delimited-[] 𝑥 ⋅ superscript delimited-⟨⟩ subscript 𝑓 𝑖 2 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ subscript 𝑔 𝑖 2 ℓ delimited-[] 𝑥 \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 ] ← superscript delimited-⟨⟩ 𝜁 ℓ delimited-[] 𝑥 superscript subscript Π 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 ] superscript delimited-⟨⟩ ⋅ 2 𝜁 ℓ delimited-[] 𝑥 \langle 2\cdot\zeta\rangle^{\ell[x]} ⟨ 2 ⋅ italic_ζ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT ;
-
All parties calculate
–
⟨ h ( ζ ) ⟩ ℓ [ x ] = ∑ i = 0 2 ( ( Π j = 1 , j ≠ i 2 ζ − j i − j ) ⋅ ⟨ h ( i ) ⟩ ℓ [ x ] ) superscript delimited-⟨⟩ ℎ 𝜁 ℓ delimited-[] 𝑥 subscript superscript 2 𝑖 0 ⋅ subscript superscript Π 2 formulae-sequence 𝑗 1 𝑗 𝑖 𝜁 𝑗 𝑖 𝑗 superscript delimited-⟨⟩ ℎ 𝑖 ℓ 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 ) ;
–
⟨ f i ( ζ ) ⟩ ℓ [ x ] = ζ ⋅ ⟨ f i ( 1 ) ⟩ ℓ [ x ] − ( ζ − 1 ) ⟨ f i ( 0 ) ⟩ ℓ [ x ] superscript delimited-⟨⟩ subscript 𝑓 𝑖 𝜁 ℓ delimited-[] 𝑥 ⋅ 𝜁 superscript delimited-⟨⟩ subscript 𝑓 𝑖 1 ℓ delimited-[] 𝑥 𝜁 1 superscript delimited-⟨⟩ subscript 𝑓 𝑖 0 ℓ delimited-[] 𝑥 \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 ;
–
⟨ g i ( ζ ) ⟩ ℓ [ x ] = ζ ⋅ ⟨ g i ( 1 ) ⟩ ℓ [ x ] − ( ζ − 1 ) ⟨ g i ( 0 ) ⟩ ℓ [ x ] superscript delimited-⟨⟩ subscript 𝑔 𝑖 𝜁 ℓ delimited-[] 𝑥 ⋅ 𝜁 superscript delimited-⟨⟩ subscript 𝑔 𝑖 1 ℓ delimited-[] 𝑥 𝜁 1 superscript delimited-⟨⟩ subscript 𝑔 𝑖 0 ℓ delimited-[] 𝑥 \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 { ⟨ f i ( ζ ) ⟩ ℓ [ x ] , ⟨ g i ( ζ ) ⟩ ℓ [ x ] } i ∈ ℤ | 𝒢 | / 2 ; ⟨ h ( ζ ) ⟩ ℓ [ x ] subscript superscript delimited-⟨⟩ subscript 𝑓 𝑖 𝜁 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ subscript 𝑔 𝑖 𝜁 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 2 superscript delimited-⟨⟩ ℎ 𝜁 ℓ 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 Π 𝖱𝖾𝖽𝗎𝖼𝖾 subscript superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript delimited-⟨⟩ 𝑧 ℓ 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 𝑟 r italic_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 | 𝒢 | − 1 r i ⋅ z ( i ) = ∑ i = 0 | 𝒢 | − 1 r i ⋅ x ( i ) ⋅ y ( i ) subscript superscript 𝒢 1 𝑖 0 ⋅ superscript 𝑟 𝑖 superscript 𝑧 𝑖 subscript superscript 𝒢 1 𝑖 0 ⋅ superscript 𝑟 𝑖 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 e i i ∈ ℤ | 𝒢 | subscript subscript 𝑒 𝑖 𝑖 ℤ 𝒢 {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 | 𝒢 | − 1 r i ⋅ x ( i ) ⋅ y ( i ) = ∑ i = 0 | 𝒢 | − 1 r i ⋅ ( x ( i ) ⋅ y ( i ) + e ( i ) ) subscript superscript 𝒢 1 𝑖 0 ⋅ superscript 𝑟 𝑖 superscript 𝑥 𝑖 superscript 𝑦 𝑖 subscript superscript 𝒢 1 𝑖 0 ⋅ superscript 𝑟 𝑖 ⋅ 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 | 𝒢 | − 1 r i ⋅ x ( i ) ⋅ y ( i ) = ∑ i = 0 | 𝒢 | − 1 r i ⋅ x ( i ) ⋅ y ( i ) + ∑ i = 0 | 𝒢 | − 1 r i ⋅ e ( i ) subscript superscript 𝒢 1 𝑖 0 ⋅ superscript 𝑟 𝑖 superscript 𝑥 𝑖 superscript 𝑦 𝑖 subscript superscript 𝒢 1 𝑖 0 ⋅ superscript 𝑟 𝑖 superscript 𝑥 𝑖 superscript 𝑦 𝑖 subscript superscript 𝒢 1 𝑖 0 ⋅ 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)}+\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 | 𝒢 | − 1 r i ⋅ e ( i ) subscript superscript 𝒢 1 𝑖 0 ⋅ superscript 𝑟 𝑖 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 𝑟 r italic_r that is a root of the polynomial:
f ( x ) = ∑ i = 0 | 𝒢 | − 1 x i ⋅ e ( i ) 𝑓 𝑥 subscript superscript 𝒢 1 𝑖 0 ⋅ superscript 𝑥 𝑖 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 ] subscript ℤ superscript 2 ℓ delimited-[] 𝑥 \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 ) superscript 2 ℓ 1 𝑑 𝒢 1 2^{(\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 𝑟 r italic_r selected during the protocol coincidentally matches one of these roots is given by:
2 ( ℓ − 1 ) d ( | 𝒢 | + 1 ) 2 ℓ d ≈ | 𝒢 | 2 d superscript 2 ℓ 1 𝑑 𝒢 1 superscript 2 ℓ 𝑑 𝒢 superscript 2 𝑑 \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 ] superscript delimited-⟨⟩ ⋅ ℓ 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 ) 𝑧 ? subscript superscript 𝒢 𝑖 1 ⋅ superscript 𝑥 𝑖 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 ] ← superscript delimited-⟨⟩ 𝛼 ℓ delimited-[] 𝑥 superscript subscript Π 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 ] superscript delimited-⟨⟩ superscript 𝑥 ′ 𝑖
ℓ delimited-[] 𝑥 ⋅ superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ 𝛼 ℓ 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 ] superscript delimited-⟨⟩ Δ ℓ delimited-[] 𝑥 subscript superscript 𝒢 𝑖 1 ⋅ superscript delimited-⟨⟩ superscript 𝑥 ′ 𝑖
ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 ⋅ superscript delimited-⟨⟩ 𝛼 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ 𝑧 ℓ 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 ] ) Δ superscript subscript Π 𝖱𝖾𝖼 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ Δ ℓ 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 1 1 1 1 if Δ = 0 Δ 0 \Delta=0 roman_Δ = 0 , otherwise 0 0 .
Protocol Π 𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒 ( { ⟨ x ( i ) ⟩ ℓ [ x ] , ⟨ y ( i ) ⟩ ℓ [ x ] } i ∈ ℤ | 𝒢 | , ⟨ z ⟩ ℓ [ x ] ) subscript Π 𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒 subscript superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript delimited-⟨⟩ 𝑧 ℓ 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 ] ) subscript superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript delimited-⟨⟩ 𝑧 ℓ 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 ] ) subscript superscript delimited-⟨⟩ superscript 𝑥 ′ 𝑖
ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 ′ 𝑖
ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 2 superscript delimited-⟨⟩ 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 | 𝒢 | − 1 x ( i ) ⋅ y ( i ) = z subscript superscript 𝒢 1 𝑖 0 ⋅ superscript 𝑥 𝑖 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 | 𝒢 | / 2 − 1 x ′ ( i ) ⋅ y ′ ( i ) = z ′ subscript superscript 𝒢 2 1 𝑖 0 ⋅ superscript 𝑥 ′ 𝑖
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 ∈ ℤ | 𝒢 | subscript superscript 𝑥 𝑖 𝑖 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 ∈ ℤ | 𝒢 | subscript superscript 𝑦 𝑖 𝑖 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 ( 2 i ) superscript 𝑥 2 𝑖 x^{(2i)} italic_x start_POSTSUPERSCRIPT ( 2 italic_i ) end_POSTSUPERSCRIPT and x ( 2 i − 1 ) superscript 𝑥 2 𝑖 1 x^{(2i-1)} italic_x start_POSTSUPERSCRIPT ( 2 italic_i - 1 ) end_POSTSUPERSCRIPT to interpolate | 𝒢 | / 2 𝒢 2 {|\mathcal{G}|}/2 | caligraphic_G | / 2 linear functions { f i ( ⋅ ) } i ∈ ℤ | 𝒢 | / 2 subscript subscript 𝑓 𝑖 ⋅ 𝑖 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 0 0 and 1 1 1 1 , and similarly interpolate { g i ( ⋅ ) } i ∈ ℤ | 𝒢 | / 2 subscript subscript 𝑔 𝑖 ⋅ 𝑖 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 ∈ ℤ | 𝒢 | subscript superscript 𝑦 𝑖 𝑖 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 𝑧 z italic_z , we have
z = ∑ i = 0 | 𝒢 | / 2 f i ( 0 ) ⋅ g i ( 0 ) + f i ( 1 ) ⋅ g i ( 1 ) 𝑧 subscript superscript 𝒢 2 𝑖 0 ⋅ subscript 𝑓 𝑖 0 subscript 𝑔 𝑖 0 ⋅ subscript 𝑓 𝑖 1 subscript 𝑔 𝑖 1 z=\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 | 𝒢 | / 2 f i ( ⋅ ) ⋅ g i ( ⋅ ) ℎ ⋅ subscript superscript 𝒢 2 𝑖 0 ⋅ subscript 𝑓 𝑖 ⋅ 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 ) = z − h ( 0 ) ℎ 1 𝑧 ℎ 0 h(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 | 𝒢 | / 2 f i ( 0 ) ⋅ g i ( 0 ) ℎ 0 subscript superscript 𝒢 2 𝑖 0 ⋅ subscript 𝑓 𝑖 0 subscript 𝑔 𝑖 0 h(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 | 𝒢 | / 2 f i ( 2 ) ⋅ g i ( 2 ) ℎ 2 subscript superscript 𝒢 2 𝑖 0 ⋅ subscript 𝑓 𝑖 2 subscript 𝑔 𝑖 2 h(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 ) = z − h ( 0 ) ℎ 1 𝑧 ℎ 0 h(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 ) ℎ 0 h(0) italic_h ( 0 ) , h ( 1 ) ℎ 1 h(1) italic_h ( 1 ) , and h ( 2 ) ℎ 2 h(2) italic_h ( 2 ) . Finally, all parties choose a random point ζ 𝜁 \zeta italic_ζ and output the new shared triple ( { ⟨ f i ( ζ ) ⟩ ℓ [ x ] , ⟨ g i ( ζ ) ⟩ ℓ [ x ] } i ∈ ℤ | 𝒢 | / 2 , ⟨ h ( ζ ) ⟩ ℓ [ x ] ) subscript superscript delimited-⟨⟩ subscript 𝑓 𝑖 𝜁 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ subscript 𝑔 𝑖 𝜁 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 2 superscript delimited-⟨⟩ ℎ 𝜁 ℓ 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 | 𝒢 | / 2 f i ( 0 ) ⋅ g i ( 0 ) + f i ( 1 ) ⋅ g i ( 1 ) 𝑧 subscript superscript 𝒢 2 𝑖 1 ⋅ subscript 𝑓 𝑖 0 subscript 𝑔 𝑖 0 ⋅ subscript 𝑓 𝑖 1 subscript 𝑔 𝑖 1 z=\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 ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 5 ℓ ⋅ d ⋅ 5 ℓ 𝑑 5\ell\cdot d 5 roman_ℓ ⋅ italic_d bits in the online phase and one round involving ℓ ⋅ d ⋅ ℓ 𝑑 \ell\cdot d roman_ℓ ⋅ italic_d bits in the offline phase. We execute Π 𝖱𝖾𝖽𝗎𝖼𝖾 subscript Π 𝖱𝖾𝖽𝗎𝖼𝖾 \Pi_{\mathsf{Reduce}} roman_Π start_POSTSUBSCRIPT sansserif_Reduce end_POSTSUBSCRIPT R 𝑅 R italic_R times to reduce the inner product dimension to | 𝒢 | / 2 R 𝒢 superscript 2 𝑅 {|\mathcal{G}|}/2^{R} | caligraphic_G | / 2 start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT , after which the resulting vectors are verified by checking
∑ i = 0 | 𝒢 | / 2 R ⟨ f i ( ζ ) ⟩ ℓ [ x ] ⋅ ⟨ g i ( ζ ) ⟩ ℓ [ x ] = ⟨ h ( ζ ) ⟩ ℓ [ x ] subscript superscript 𝒢 superscript 2 𝑅 𝑖 0 ⋅ superscript delimited-⟨⟩ subscript 𝑓 𝑖 𝜁 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ subscript 𝑔 𝑖 𝜁 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ ℎ 𝜁 ℓ 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 1 2 d − 1 1 superscript 2 𝑑 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 Π 𝖳𝗋𝖺𝗇𝗌 subscript delimited-⟨⟩ 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 ] subscript superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript delimited-⟨⟩ 𝑧 ℓ 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,R italic_k = 1 , … , italic_R , all parties perform:
–
{ { ⟨ x ( i ) ⟩ ℓ [ x ] , ⟨ y ( i ) ⟩ ℓ [ x ] } i ∈ ℤ | 𝒢 | / 2 k ; ⟨ z ⟩ ℓ [ x ] } ← Π 𝖱𝖾𝖽𝗎𝖼𝖾 ( { ⟨ x ( i ) ⟩ ℓ [ x ] , ⟨ y ( i ) ⟩ ℓ [ x ] } i ∈ ℤ | 𝒢 | / 2 k − 1 ; ⟨ z ⟩ ℓ [ x ] ) ← subscript superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript 2 𝑘 superscript delimited-⟨⟩ 𝑧 ℓ delimited-[] 𝑥
subscript Π 𝖱𝖾𝖽𝗎𝖼𝖾 subscript superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript 2 𝑘 1 superscript delimited-⟨⟩ 𝑧 ℓ 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 ∈ ℤ | 𝒢 | / 2 R ; ⟨ z ⟩ ℓ [ x ] ) 𝑏 subscript Π 𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒 subscript superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript 2 𝑅 superscript delimited-⟨⟩ 𝑧 ℓ 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 𝑏 b italic_b .
Protocol Π 𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒 R ( { ⟨ x ( i ) ⟩ , ⟨ y ( i ) ⟩ , ⟨ z ( i ) ⟩ } i ∈ ℤ | 𝒢 | ) superscript subscript Π 𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒 𝑅 subscript delimited-⟨⟩ 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 ] ) subscript superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript delimited-⟨⟩ 𝑧 ℓ 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 ] ) subscript superscript delimited-⟨⟩ superscript 𝑥 ′ 𝑖
ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 ′ 𝑖
ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 2 superscript delimited-⟨⟩ 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 1 2 d − 1 1 superscript 2 𝑑 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 𝑑 d italic_d is the degree of f ( x ) 𝑓 𝑥 f(x) italic_f ( italic_x ) w.r.t. ℤ 2 ℓ [ x ] / f ( x ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 | 𝒢 | / 2 x ′ ( i ) ⋅ y ′ ( i ) superscript 𝑧 ′ subscript superscript 𝒢 2 𝑖 0 ⋅ superscript 𝑥 ′ 𝑖
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
•
z ≠ ∑ i = 0 | 𝒢 | x ( i ) ⋅ y ( i ) 𝑧 subscript superscript 𝒢 𝑖 0 ⋅ superscript 𝑥 𝑖 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 | 𝒢 | / 2 f i ( k ) ⋅ g i ( k ) superscript ℎ ′ 𝑘 subscript superscript 𝒢 2 𝑖 0 ⋅ subscript 𝑓 𝑖 𝑘 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 , ℎ 0 ℎ 1 superscript ℎ ′ 0 superscript ℎ ′ 1 𝑒 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 𝑒 e italic_e represents the error introduced in z 𝑧 z italic_z . Simultaneously, the adversary can introduce new errors e 1 subscript 𝑒 1 e_{1} italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and e 2 subscript 𝑒 2 e_{2} italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT during the calculation of h ( 0 ) ℎ 0 h(0) italic_h ( 0 ) and h ( 2 ) ℎ 2 h(2) italic_h ( 2 ) , such that:
h ( 0 ) = h ′ ( 0 ) + e 1 , h ( 1 ) = h ′ ( 1 ) + e − e 1 , h ( 2 ) = h ′ ( 2 ) + e 2 . formulae-sequence ℎ 0 superscript ℎ ′ 0 subscript 𝑒 1 formulae-sequence ℎ 1 superscript ℎ ′ 1 𝑒 subscript 𝑒 1 ℎ 2 superscript ℎ ′ 2 subscript 𝑒 2 h(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 ] 𝜁 subscript ℤ superscript 2 ℓ delimited-[] 𝑥 \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 = 0 2 ( ∏ j = 0 j ≠ i 2 ζ − j i − j ) ⋅ h ( i ) = ( ζ − 1 ) ( ζ − 2 ) 2 ⋅ h ( 0 ) + ζ ( 2 − ζ ) ⋅ h ( 1 ) + ( ζ − 1 ) ζ 2 ⋅ h ( 2 ) ℎ 𝜁 subscript superscript 2 𝑖 0 ⋅ subscript superscript product 2 𝑗 0 𝑗 𝑖
𝜁 𝑗 𝑖 𝑗 ℎ 𝑖 ⋅ 𝜁 1 𝜁 2 2 ℎ 0 ⋅ 𝜁 2 𝜁 ℎ 1 ⋅ 𝜁 1 𝜁 2 ℎ 2 \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 ) 2 ⋅ h ′ ( 0 ) + ζ ( 2 − ζ ) ⋅ h ′ ( 1 ) + ( ζ − 1 ) ζ 2 ⋅ h ′ ( 2 ) . superscript ℎ ′ 𝜁 ⋅ 𝜁 1 𝜁 2 2 superscript ℎ ′ 0 ⋅ 𝜁 2 𝜁 superscript ℎ ′ 1 ⋅ 𝜁 1 𝜁 2 superscript ℎ ′ 2 h^{\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 ) 2 ⋅ e 1 + ζ ( 2 − ζ ) ⋅ ( e − e 1 ) + ( ζ − 1 ) ζ 2 ⋅ e 2 = 0 ⋅ 𝜁 1 𝜁 2 2 subscript 𝑒 1 ⋅ 𝜁 2 𝜁 𝑒 subscript 𝑒 1 ⋅ 𝜁 1 𝜁 2 subscript 𝑒 2 0 \frac{(\zeta-1)(\zeta-2)}{2}\cdot e_{1}+\zeta(2-\zeta)\cdot(e-e_{1})+\frac{(%
\zeta-1)\zeta}{2}\cdot e_{2}=0 divide 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 , e 1 , e 2 𝑒 subscript 𝑒 1 subscript 𝑒 2
e,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 ζ 𝜁 \zeta italic_ζ a root of the degree-2 polynomial:
f ( x ) = ( x − 1 ) ( x − 2 ) 2 ⋅ e 1 + x ( 2 − x ) ⋅ ( e − e 1 ) + ( x − 1 ) x 2 ⋅ e 2 𝑓 𝑥 ⋅ 𝑥 1 𝑥 2 2 subscript 𝑒 1 ⋅ 𝑥 2 𝑥 𝑒 subscript 𝑒 1 ⋅ 𝑥 1 𝑥 2 subscript 𝑒 2 f(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 ] subscript ℤ superscript 2 ℓ delimited-[] 𝑥 \mathbb{Z}_{2^{\ell}}[x] blackboard_Z start_POSTSUBSCRIPT 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_x ] , which has at most 2 2 ( ℓ − 1 ) d + 1 superscript 2 2 ℓ 1 𝑑 1 2^{2(\ell-1)d}+1 2 start_POSTSUPERSCRIPT 2 ( roman_ℓ - 1 ) italic_d end_POSTSUPERSCRIPT + 1 roots. Therefore, the soundness error is:
2 ( ℓ − 1 ) d + 1 + 1 2 ℓ d ≈ 1 2 d − 1 . superscript 2 ℓ 1 𝑑 1 1 superscript 2 ℓ 𝑑 1 superscript 2 𝑑 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,y italic_x , italic_y .
𝖮𝗎𝗍𝗉𝗎𝗍 : : 𝖮𝗎𝗍𝗉𝗎𝗍 absent \mathsf{Output:} sansserif_Output : ⟨ ⋅ ⟩ delimited-⟨⟩ ⋅ \langle\cdot\rangle ⟨ ⋅ ⟩ -shared value z 𝑧 z italic_z where z = x ⋅ y 𝑧 ⋅ 𝑥 𝑦 z=x\cdot y italic_z = italic_x ⋅ italic_y .
Preprocessing:
-
All parties prepare [ r z ] ← Π [ ⋅ ] ← delimited-[] subscript 𝑟 𝑧 subscript Π delimited-[] ⋅ [r_{z}]\leftarrow\Pi_{[\cdot]} [ italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] ← roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT locally;
-
P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT calculates Γ = r x ⋅ r y + r z Γ ⋅ 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:
-
P j subscript 𝑃 𝑗 P_{j} italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT for j ∈ { 1 , 2 } 𝑗 1 2 j\in\{1,2\} italic_j ∈ { 1 , 2 } calculates [ m z ] j = ( j − 1 ) m x ⋅ m y − m x [ r y ] j − m y i [ r x ] j + [ Γ ] subscript delimited-[] subscript 𝑚 𝑧 𝑗 ⋅ 𝑗 1 subscript 𝑚 𝑥 subscript 𝑚 𝑦 subscript 𝑚 𝑥 subscript delimited-[] subscript 𝑟 𝑦 𝑗 subscript 𝑚 subscript 𝑦 𝑖 subscript delimited-[] 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 m z subscript 𝑚 𝑧 m_{z} italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT .
Postprocessing:
-
For all multiple gate wire value { ⟨ x ( i ) ⟩ , ⟨ y ( i ) ⟩ , ⟨ z ( i ) ⟩ } i ∈ ℤ | 𝒢 | subscript delimited-⟨⟩ 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 ∈ ℤ | 𝒢 | ) superscript subscript Π 𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒 𝑅 subscript delimited-⟨⟩ 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 ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 | 𝒢 | / 2 R ⟨ x ( i ) ⟩ ℓ [ x ] ⋅ ⟨ y ( i ) ⟩ ℓ [ x ] = ⟨ z ⟩ ℓ [ x ] , superscript subscript 𝑖 0 𝒢 superscript 2 𝑅 ⋅ superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ 𝑧 ℓ 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 | 𝒢 | / 2 R ⟨ x ( i ) ⟩ ℓ [ x ] ⋅ ⟨ y ( i ) ⟩ ℓ [ x ] − ⟨ z ⟩ ℓ [ x ] ) ⋅ superscript delimited-⟨⟩ 𝛼 ℓ delimited-[] 𝑥 superscript subscript 𝑖 0 𝒢 superscript 2 𝑅 ⋅ superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ 𝑧 ℓ 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 | 𝒢 | / 2 R x ′ ( i ) ⋅ y ( i ) . superscript subscript 𝑖 0 𝒢 superscript 2 𝑅 ⋅ 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 | 𝒢 | / 2 R e ′ ( i ) ⋅ y ( i ) , superscript subscript 𝑖 0 𝒢 superscript 2 𝑅 ⋅ 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 𝑒 e italic_e denote the error in z 𝑧 z italic_z . The adversary must guess α ⋅ e + ∑ i = 0 | 𝒢 | / 2 R e ′ ( i ) ⋅ y ( i ) = 0 ⋅ 𝛼 𝑒 superscript subscript 𝑖 0 𝒢 superscript 2 𝑅 ⋅ superscript 𝑒 ′ 𝑖
superscript 𝑦 𝑖 0 \alpha\cdot e+\sum_{i=0}^{|\mathcal{G}|/2^{R}}e^{\prime(i)}\cdot y^{(i)}=0 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 = 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 1 2 d 1 superscript 2 𝑑 \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 1 2 d 1 superscript 2 𝑑 \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 x i subscript 𝑥 𝑖 x_{i} italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and y i subscript 𝑦 𝑖 y_{i} italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT .
𝖮𝗎𝗍𝗉𝗎𝗍 : : 𝖮𝗎𝗍𝗉𝗎𝗍 absent \mathsf{Output:} sansserif_Output : ⟨ ⋅ ⟩ delimited-⟨⟩ ⋅ \langle\cdot\rangle ⟨ ⋅ ⟩ -shared value of z 𝑧 z italic_z where z = ∑ i = 1 n x i ⋅ y i 𝑧 subscript superscript 𝑛 𝑖 1 ⋅ subscript 𝑥 𝑖 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 [ r z ] ← Π [ ⋅ ] ← delimited-[] subscript 𝑟 𝑧 subscript Π delimited-[] ⋅ [r_{z}]\leftarrow\Pi_{[\cdot]} [ italic_r start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ] ← roman_Π start_POSTSUBSCRIPT [ ⋅ ] end_POSTSUBSCRIPT locally;
-
P 0 subscript 𝑃 0 P_{0} italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT calculates Γ = ∑ i = 1 n r x i ⋅ r y i + r z Γ subscript superscript 𝑛 𝑖 1 ⋅ subscript 𝑟 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:
-
P j subscript 𝑃 𝑗 P_{j} italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT for j ∈ { 1 , 2 } 𝑗 1 2 j\in\{1,2\} italic_j ∈ { 1 , 2 } calculates [ m z ] j = ∑ i = 1 n ( j − 1 ) m x i ⋅ m y i − m x i [ r y i ] j − m y i [ r x i ] j + [ Γ ] j subscript delimited-[] subscript 𝑚 𝑧 𝑗 subscript superscript 𝑛 𝑖 1 ⋅ 𝑗 1 subscript 𝑚 subscript 𝑥 𝑖 subscript 𝑚 subscript 𝑦 𝑖 subscript 𝑚 subscript 𝑥 𝑖 subscript delimited-[] subscript 𝑟 subscript 𝑦 𝑖 𝑗 subscript 𝑚 subscript 𝑦 𝑖 subscript delimited-[] subscript 𝑟 subscript 𝑥 𝑖 𝑗 subscript delimited-[] Γ 𝑗 [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 m z subscript 𝑚 𝑧 m_{z} italic_m start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT .
Postprocessing:
-
For | 𝒢 | 𝒢 {|\mathcal{G}|} | caligraphic_G | pairs inner product result { { ⟨ x i ( j ) ⟩ , ⟨ y i ( j ) ⟩ } i ∈ ℤ n j ; ⟨ z ( j ) ⟩ } j ∈ ℤ | 𝒢 | subscript subscript delimited-⟨⟩ subscript superscript 𝑥 𝑗 𝑖 delimited-⟨⟩ subscript superscript 𝑦 𝑗 𝑖 𝑖 subscript ℤ subscript 𝑛 𝑗 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 ( { { ⟨ x i ( j ) ⟩ , ⟨ y i ( j ) ⟩ } i ∈ ℤ n j ; ⟨ z ( j ) ⟩ } j ∈ ℤ | 𝒢 | ) superscript subscript Π 𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒 𝑅 subscript subscript delimited-⟨⟩ subscript superscript 𝑥 𝑗 𝑖 delimited-⟨⟩ subscript superscript 𝑦 𝑗 𝑖 𝑖 subscript ℤ subscript 𝑛 𝑗 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 Π 𝖨𝗇𝗇𝖾𝗋 ( ⟨ x 1 ⟩ , … , ⟨ x n ⟩ , ⟨ y 1 ⟩ , … , ⟨ y n ⟩ ) subscript Π 𝖨𝗇𝗇𝖾𝗋 delimited-⟨⟩ subscript 𝑥 1 … delimited-⟨⟩ subscript 𝑥 𝑛 delimited-⟨⟩ subscript 𝑦 1 … delimited-⟨⟩ 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 ] ) subscript superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript delimited-⟨⟩ 𝑧 ℓ 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 1 1 1 1 and z ≠ ∑ i = 0 | 𝒢 | − 1 x ( i ) ⋅ y ( i ) 𝑧 subscript superscript 𝒢 1 𝑖 0 ⋅ superscript 𝑥 𝑖 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 1 2 d 1 superscript 2 𝑑 \frac{1}{2^{d}} divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG , where d 𝑑 d italic_d is the degree of f ( x ) 𝑓 𝑥 f(x) italic_f ( italic_x ) w.r.t. ℤ 2 ℓ [ x ] / f ( x ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 α 𝛼 \alpha italic_α is uniformly random and unknown to the adversary, for z = ∑ i = 0 | 𝒢 | x ( i ) ⋅ y ( i ) + e 𝑧 superscript subscript 𝑖 0 𝒢 ⋅ superscript 𝑥 𝑖 superscript 𝑦 𝑖 𝑒 z=\sum_{i=0}^{|\mathcal{G}|}x^{(i)}\cdot y^{(i)}+e italic_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 | 𝒢 | / 2 R e ′ ( i ) ⋅ y ( i ) , Δ ⋅ 𝛼 𝑒 superscript subscript 𝑖 0 𝒢 superscript 2 𝑅 ⋅ 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 α 𝛼 \alpha italic_α . Therefore, we can treat ∑ i = 0 | 𝒢 | / 2 R e ′ ( i ) ⋅ y ( i ) superscript subscript 𝑖 0 𝒢 superscript 2 𝑅 ⋅ 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 e ′ superscript 𝑒 ′ e^{\prime} italic_e start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT .
By the Schwartz-Zippel Lemma, the polynomial f ( x ) = e ⋅ x + 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 ] subscript ℤ superscript 2 ℓ delimited-[] 𝑥 \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 + 1 superscript 2 ℓ 1 𝑑 1 2^{(\ell-1)d}+1 2 start_POSTSUPERSCRIPT ( roman_ℓ - 1 ) italic_d end_POSTSUPERSCRIPT + 1 roots. Consequently, the probability that the adversary can deliberately choose e 𝑒 e italic_e such that Δ = 0 Δ 0 \Delta=0 roman_Δ = 0 is
2 ( ℓ − 1 ) d + 1 2 ℓ d ≈ 1 2 d . superscript 2 ℓ 1 𝑑 1 superscript 2 ℓ 𝑑 1 superscript 2 𝑑 \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 + | 𝒢 | / 2 R ) ℓ ⋅ d ⋅ 𝑅 𝒢 superscript 2 𝑅 ℓ 𝑑 (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 𝑅 2 R+2 italic_R + 2 -round communication of ( 5 R + 3 + | 𝒢 | / 2 R ) ℓ ⋅ d ⋅ 5 𝑅 3 𝒢 superscript 2 𝑅 ℓ 𝑑 (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 | 𝒢 | 2 d − R − 2 𝒢 superscript 2 𝑑 𝑅 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 ∈ ℤ | 𝒢 | subscript delimited-⟨⟩ 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 Π 𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒 R superscript subscript Π 𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒 𝑅 \Pi_{\mathsf{MultVerify}}^{R} roman_Π start_POSTSUBSCRIPT sansserif_MultVerify end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT depicted in Fig. 4 . The probability
Π 𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒 R superscript subscript Π 𝖬𝗎𝗅𝗍𝖵𝖾𝗋𝗂𝖿𝗒 𝑅 \Pi_{\mathsf{MultVerify}}^{R} roman_Π start_POSTSUBSCRIPT sansserif_MultVerify end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_R end_POSTSUPERSCRIPT outputs 1 1 1 1 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 | 𝒢 | 2 d − R − 2 𝒢 superscript 2 𝑑 𝑅 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 𝑑 d italic_d is the degree of f ( x ) 𝑓 𝑥 f(x) italic_f ( italic_x ) w.r.t. ℤ 2 ℓ [ x ] / f ( x ) subscript ℤ superscript 2 ℓ delimited-[] 𝑥 𝑓 𝑥 \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 𝑅 R italic_R chances with success probability 1 2 d − 1 1 superscript 2 𝑑 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 | 𝒢 | 2 d 𝒢 superscript 2 𝑑 \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 1 2 d 1 superscript 2 𝑑 \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 − ( 1 − 1 2 d − 1 ) R ⋅ ( 1 − | 𝒢 | 2 d ) ⋅ ( 1 − 1 2 d ) ≈ | 𝒢 | 2 d − R − 2 . 1 ⋅ superscript 1 1 superscript 2 𝑑 1 𝑅 1 𝒢 superscript 2 𝑑 1 1 superscript 2 𝑑 𝒢 superscript 2 𝑑 𝑅 2 1-\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 = 1 n x i ( j ) ⋅ y i ( j ) superscript 𝑧 𝑗 subscript superscript 𝑛 𝑖 1 ⋅ subscript superscript 𝑥 𝑗 𝑖 subscript superscript 𝑦 𝑗 𝑖 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 ] superscript delimited-⟨⟩ ⋅ ℓ delimited-[] 𝑥 \langle\cdot\rangle^{\ell[x]} ⟨ ⋅ ⟩ start_POSTSUPERSCRIPT roman_ℓ [ italic_x ] end_POSTSUPERSCRIPT locally;
-
All parties invoke ⟨ r ⟩ ℓ [ x ] ← Π ⟨ ⋅ ⟩ ℓ [ x ] ← superscript delimited-⟨⟩ 𝑟 ℓ delimited-[] 𝑥 superscript subscript Π 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 r ∈ ℤ 2 ℓ [ x ] 𝑟 subscript ℤ superscript 2 ℓ delimited-[] 𝑥 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 ] := ∑ r j ⋅ ⟨ z ( j ) ⟩ ℓ [ x ] assign superscript delimited-⟨⟩ 𝑧 ℓ delimited-[] 𝑥 ⋅ superscript 𝑟 𝑗 superscript delimited-⟨⟩ 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 ⟨ x i ( j ) ⟩ ℓ [ x ] := r j ⋅ ⟨ x i ( j ) ⟩ ℓ [ x ] assign superscript delimited-⟨⟩ subscript superscript 𝑥 𝑗 𝑖 ℓ delimited-[] 𝑥 ⋅ superscript 𝑟 𝑗 superscript delimited-⟨⟩ subscript superscript 𝑥 𝑗 𝑖 ℓ 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 i ∈ ℤ n j , j ∈ ℤ | 𝒢 | formulae-sequence 𝑖 subscript ℤ subscript 𝑛 𝑗 𝑗 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 ] subscript superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript delimited-⟨⟩ 𝑧 ℓ 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 | 𝒢 | − 1 n j 𝒢 subscript superscript 𝒢 1 𝑗 0 subscript 𝑛 𝑗 \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,R italic_k = 1 , … , italic_R , all parties do:
–
{ ⟨ x ( i ) ⟩ ℓ [ x ] , ⟨ y ( i ) ⟩ ℓ [ x ] } i ∈ ℤ | 𝒢 | / 2 k , ⟨ z ⟩ ℓ [ x ] ← Π 𝖱𝖾𝖽𝗎𝖼𝖾 ( { ⟨ x i ⟩ ℓ [ x ] , ⟨ y ( i ) ⟩ ℓ [ x ] } i ∈ ℤ | 𝒢 | / 2 k − 1 , ⟨ z ⟩ ℓ [ x ] ) ← subscript superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript 2 𝑘 superscript delimited-⟨⟩ 𝑧 ℓ delimited-[] 𝑥
subscript Π 𝖱𝖾𝖽𝗎𝖼𝖾 subscript superscript delimited-⟨⟩ subscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript 2 𝑘 1 superscript delimited-⟨⟩ 𝑧 ℓ 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 ∈ ℤ | 𝒢 | / 2 R , ⟨ z ⟩ ℓ [ x ] ) 𝑏 subscript Π 𝖨𝗇𝗇𝖾𝗋𝖵𝖾𝗋𝗂𝖿𝗒 subscript superscript delimited-⟨⟩ superscript 𝑥 𝑖 ℓ delimited-[] 𝑥 superscript delimited-⟨⟩ superscript 𝑦 𝑖 ℓ delimited-[] 𝑥 𝑖 subscript ℤ 𝒢 superscript 2 𝑅 superscript delimited-⟨⟩ 𝑧 ℓ 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 𝑏 b italic_b .
Protocol Π 𝖡𝖨𝖵𝖾𝗋𝗂𝖿𝗒 R ( { { ⟨ x i ( j ) ⟩ , ⟨ y i ( j ) ⟩ } i ∈ ℤ n j , ⟨ z ( j ) ⟩ } j ∈ ℤ | 𝒢 | ) superscript subscript Π 𝖡𝖨𝖵𝖾𝗋𝗂𝖿𝗒 𝑅 subscript subscript delimited-⟨⟩ subscript superscript 𝑥 𝑗 𝑖 delimited-⟨⟩ subscript superscript 𝑦 𝑗 𝑖 𝑖 subscript ℤ subscript 𝑛 𝑗 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