【论文笔记】High-Throughput Semi-Honest Secure Three-Party Computation with an Honest Majority

High-Throughput Semi-Honest Secure Three-Party Computation with an Honest Majority

1 Preliminary

1.1 Group, Ring, Field

来自维基百科

1.1.1 Group
image-20230220111715314
1.1.2 Ring
image-20230220111932413
1.1.3 Field
image-20230220112257635
1.1.4 求逆元
1 扩展欧几里得算法

参考:

(1)几种逆元求解方法

(2)逆元 —— 广义化的倒数

原理: 已知正整数 a , b a,b a,b,扩展欧几里得算法可以在求得 a , b a,b a,b最大公约数的同时,找出整数 x , y x,y x,y(可能为负),使它们满足 a x + b y = g c d ( a , b ) ax+by=gcd(a,b) ax+by=gcd(a,b)

推理: 根据逆元的定义,若 a x ≡ 1   ( m o d   p ) ax \equiv1 \ (mod \ p) ax1 (mod p),则 x x x a a a在模 p p p意义下的逆元。根据求模的过程,式子可以转换为 a x − y p = 1 ax-yp=1 axyp=1,将 p p p b b b表示, − y -y y y y y代替,则 a x + b y = 1 ax+by=1 ax+by=1。求逆元问题进而变成:给定正整数 a , b a,b a,b,求满足等式 a x + b y = 1 ax+by=1 ax+by=1 x x x的最小正整数解。

首先,提取 a a a b b b的最大公约数,即令 g = g c d ( a , b ) g=gcd(a,b) g=gcd(a,b),则原等式转化为:
g ( a g x + b g y ) = 1 \begin{equation} g(\frac{a}{g}x+\frac{b}{g}y)=1 \end{equation} g(gax+gby)=1
两个整数相乘要等于1,仅存在两种情况,要么都为1,要么都为-1;因为任意两个数的最大公约数一定为正数,故 g = a g x + b g y = 1 g=\frac{a}{g}x+\frac{b}{g}y=1 g=gax+gby=1。由此我们可以得出结论:若 a a a在模 b b b(即模 p p p)下存在逆元,则要求 a a a b b b(即 p p p)互素( g = 1 g=1 g=1)。实际上 g c d ( a , b ) = 1 gcd(a,b)=1 gcd(a,b)=1 a a a在模 b b b下存在逆元的充分必要条件,此时逆元唯一存在。

接下来我们利用原等式构造递归式,推导如下:
a x + b y = 1 = g c d ( a , b ) = g c d ( b , a   m o d   b ) = b x ′ + ( a   m o d   b ) y ′ = b x ′ + ( a − b ⌊ a b ⌋ ) y ′ = a y ′ + b ( x ′ − ⌊ a b ⌋ y ′ ) \begin{align} ax + by &= 1 \\ &= gcd(a,b)\\ &= gcd(b, a \ mod \ b) \\ &= bx' + (a \ mod \ b)y' \\ &= bx' + (a - b\left\lfloor\frac{a}{b}\right\rfloor)y' \\ &= ay' + b(x' - \left\lfloor\frac{a}{b}\right\rfloor y') \end{align} ax+by=1=gcd(a,b)=gcd(b,a mod b)=bx+(a mod b)y=bx+(abba)y=ay+b(xbay)
根据欧几里得定理(即辗转相除法)有 g c d ( a , b ) = g c d ( b , a   m o d   b ) gcd(a,b)= gcd(b, a \ mod \ b) gcd(a,b)=gcd(b,a mod b);把gcd中的两项重新带回等式 g c d ( a , b ) = a x + b y gcd(a,b)=ax+by gcd(a,b)=ax+by,得到新的关于 x ′ x' x y ′ y' y的等式;再根据取模的定义,有 a   m o d   b = ( a − b ⌊ a b ⌋ ) a \ mod \ b=(a-b\left\lfloor\frac{a}{b}\right\rfloor) a mod b=(abba);最后按照 a a a b b b合并同类项,可以得到递归式:
{ x = y ′ y = x ′ − ⌊ a b ⌋ y ′ \left\{ \begin{aligned} x &= y' \\ y &= x' - \left\lfloor\frac{a}{b}\right\rfloor y' \end{aligned} \right. xy=y=xbay
具体例子在参考文献二中。

1.2 Indistinguishability

1.3 Secret sharing and Perfect security

2 The New Protocol

协议适用于模 2 n 2^n 2n环(Ring)上的算术电路和布尔电路(即当n=1时的特殊情况)。该协议仅使用非常简单的环加法和乘法运算,在布尔情况下,可简化为按位AND和XOR。此外,该协议的通信量非常低:每个乘法门发送一个环元素,而加法门没有通信。因此,在布尔情况下,每个与门(AND)发送一个比特位是唯一的通信。

**Correlated randomness(相关随机数):**对于模 2 n 2^n 2n环上,协议假设对于每一个乘法门,三方 P 1 , P 2 , P 3 P_1,P_2,P_3 P1,P2,P3被分别给予相关随机数 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3,其为环中随机的元素且满足约束 x 1 + x 2 + x 3 = 0 x_1+x_2+x_3=0 x1+x2+x3=0。同理对于布尔情况, x 1 , x 2 , x 3 ∈ { 0 , 1 } x_1,x_2,x_3 \in \{0,1 \} x1,x2,x3{0,1}满足 x 1 ⊕ x 2 ⊕ x 3 = 0 x_1 \oplus x_2 \oplus x_3 = 0 x1x2x3=0

2.1 Securely Computing Boolean Circuits

Secret sharing: 定义 ( 2 , 3 ) − s h a r i n g (2,3)-sharing (2,3)sharing方案,即将密拆成3个份额,拥有任意2个及以上的份额才可以完整的重建出秘密值。为了共享秘密比特值 v v v,处理者选择三个随机的比特 x 1 , x 2 , x 3 ∈ { 0 , 1 } x_1,x_2,x_3 \in \{0,1 \} x1,x2,x3{0,1}满足 x 1 ⊕ x 2 ⊕ x 3 = 0 x_1 \oplus x_2 \oplus x_3 = 0 x1x2x3=0,则有:

  • P 1 P_1 P1 的份额为比特对 ( x 1 , a 1 ) (x_1,a_1) (x1,a1),其中 a 1 = x 3 ⊕ v a_1=x_3 \oplus v a1=x3v
  • P 2 P_2 P2 的份额为比特对 ( x 2 , a 2 ) (x_2,a_2) (x2,a2),其中 a 2 = x 1 ⊕ v a_2=x_1 \oplus v a2=x1v
  • P 3 P_3 P3 的份额为比特对 ( x 3 , a 3 ) (x_3,a_3) (x3,a3),其中 a 3 = x 2 ⊕ v a_3=x_2 \oplus v a3=x2v

很明显,任何一个份额都不会透露任何关于 v v v的信息,此外,任意两个份额都足以获得 v v v;例如,给定两个份额 ( x 1 , a 1 ) , ( x 2 , a 2 ) (x_1,a_1),(x_2,a_2) (x1,a1),(x2,a2),我们可以计算出 v = a 2 ⊕ x 1 v=a_2 \oplus x_1 v=a2x1

XOR (addition) gates: ( x 1 , a 1 ) , ( x 2 , a 2 ) , ( x 3 , a 3 ) (x_1,a_1),(x_2,a_2),(x_3,a_3) (x1,a1),(x2,a2),(x3,a3) v 1 v_1 v1的秘密共享, ( y 1 , b 1 ) , ( y 2 , b 2 ) , ( y 3 , b 3 ) (y_1,b_1),(y_2,b_2),(y_3,b_3) (y1,b1),(y2,b2),(y3,b3) v 2 v_2 v2的秘密共享。为了计算 v 1 ⊕ v 2 v_1 \oplus v_2 v1v2的秘密共享,每个参与方 P i P_i Pi本地的计算 ( z i , y i ) (z_i,y_i) (zi,yi),其中 z i = x i ⊕ y i z_i=x_i \oplus y_i zi=xiyi c i = a i ⊕ b i c_i=a_i \oplus b_i ci=aibi,此过程参与方不需要通讯。

验证结果 v 1 ⊕ v 2 v_1 \oplus v_2 v1v2的秘密共享是否构成 ( 2 , 3 ) − s h a r i n g (2,3)-sharing (2,3)sharing。首先观察到 z 1 ⊕ z 2 ⊕ z 3 = 0 z_1 \oplus z_2 \oplus z_3 = 0 z1z2z3=0;因为 x 1 ⊕ x 2 ⊕ x 3 = 0 x_1 \oplus x_2 \oplus x_3=0 x1x2x3=0 y 1 ⊕ y 2 ⊕ y 3 = 0 y_1 \oplus y_2 \oplus y_3=0 y1y2y3=0。接下来观察到对于每个 i ∈ { 1 , 2 , 3 } i \in \{1,2,3\} i{1,2,3} c i = z i − 1 ⊕ ( v 1 ⊕ v 2 ) c_i=z_{i-1} \oplus (v_1 \oplus v_2) ci=zi1(v1v2),其中当 i = 1 i=1 i=1时, i − 1 = 3 i-1=3 i1=3;例如 c 1 = a 1 ⊕ b 1 = x 3 ⊕ v 1 ⊕ y 3 ⊕ v 2 = ( x 3 ⊕ y 3 ) ⊕ ( v 1 ⊕ v 2 ) = z 3 ⊕ ( v 1 ⊕ v 2 ) c_1=a_1 \oplus b_1=x_3 \oplus v_1 \oplus y_3 \oplus v_2=(x_3 \oplus y_3) \oplus (v_1 \oplus v_2)=z_3 \oplus (v_1 \oplus v_2) c1=a1b1=x3v1y3v2=(x3y3)(v1v2)=z3(v1v2)。综上满足 ( 2 , 3 ) − s h a r i n g (2,3)-sharing (2,3)sharing

AND (multiplication) gates: 该协议分为两步,第一步,各方计算AND输入位的简单 ( 3 , 3 ) X O R − s h a r i n g (3,3) XOR-sharing (3,3)XORsharing;第二步将 ( 3 , 3 ) − s h a r i n g (3,3)-sharing (3,3)sharing转化为所需的 ( 2 , 3 ) − s h a r i n g (2,3)-sharing (2,3)sharing

( x 1 , a 1 ) , ( x 2 , a 2 ) , ( x 3 , a 3 ) (x_1,a_1),(x_2,a_2),(x_3,a_3) (x1,a1),(x2,a2),(x3,a3) v 1 v_1 v1的秘密共享, ( y 1 , b 1 ) , ( y 2 , b 2 ) , ( y 3 , b 3 ) (y_1,b_1),(y_2,b_2),(y_3,b_3) (y1,b1),(y2,b2),(y3,b3) v 2 v_2 v2的秘密共享。我们假设 P 1 , P 2 , P 3 P_1,P_2,P_3 P1,P2,P3各自持有相关随机数 α , β , γ \alpha,\beta,\gamma α,β,γ,满足 α ⊕ β ⊕ γ = 0 \alpha\oplus\beta\oplus\gamma=0 αβγ=0。各方计算 ( 2 , 3 ) − s h a r i n g (2,3)-sharing (2,3)sharing如下( a a a b b b的乘积或与用 a b ab ab表示):

Step 1 - compute ( 3 , 3 ) − s h a r i n g (3,3)-sharing (3,3)sharing

(a) P 1 P_1 P1 计算 r 1 = x 1 y 1 ⊕ a 1 b 1 ⊕ α r_1=x_1y_1 \oplus a_1b_1 \oplus \alpha r1=x1y1a1b1α,并发送 r 1 r_1 r1 P 2 P_2 P2

(b) P 2 P_2 P2 计算 r 2 = x 2 y 2 ⊕ a 2 b 2 ⊕ β r_2=x_2y_2 \oplus a_2b_2 \oplus \beta r2=x2y2a2b2β,并发送 r 2 r_2 r2 P 3 P_3 P3

© P 3 P_3 P3 计算 r 3 = x 3 y 3 ⊕ a 3 b 3 ⊕ γ r_3=x_3y_3 \oplus a_3b_3 \oplus \gamma r3=x3y3a3b3γ,并发送 r 3 r_3 r3 P 1 P_1 P1

这些消息是并行计算和发送的。

Step 2 - compute ( 2 , 3 ) − s h a r i n g (2,3)-sharing (2,3)sharing

该步骤仅需用Step 1中的消息进行本地计算。

(a) P 1 P_1 P1 保存 ( z 1 , c 1 ) (z_1,c_1) (z1,c1),其中 z 1 = r 1 ⊕ r 3 z_1=r_1\oplus r_3 z1=r1r3 c 1 = r 1 c_1=r_1 c1=r1

(b) P 2 P_2 P2 保存 ( z 2 , c 2 ) (z_2,c_2) (z2,c2),其中 z 2 = r 2 ⊕ r 1 z_2=r_2\oplus r_1 z2=r2r1 c 2 = r 2 c_2=r_2 c2=r2

© P 3 P_3 P3 保存 ( z 3 , c 3 ) (z_3,c_3) (z3,c3),其中 z 3 = r 3 ⊕ r 2 z_3=r_3\oplus r_2 z3=r3r2 c 3 = r 3 c_3=r_3 c3=r3

Explanation of Step 1: 证明Step 1中定义的 r 1 , r 2 , r 3 r_1,r_2,r_3 r1,r2,r3 v 1 v 2 v_1v_2 v1v2 ( 3 , 3 ) − s h a r i n g (3,3)-sharing (3,3)sharing,即意味着 r 1 ⊕ r 2 ⊕ r 3 = v 1 ∧ v 2 r_1\oplus r_2\oplus r_3=v_1 \wedge v_2 r1r2r3=v1v2。首先观察到:
a 1 b 1 = ( x 3 ⊕ v 1 ) ( y 3 ⊕ v 2 ) = x 3 y 3 ⊕ x 3 v 2 ⊕ y 2 v 1 ⊕ v 1 v 2 \begin{equation}\tag{1} a_1b_1 = (x_3 \oplus v_1)(y_3 \oplus v_2)=x_3y_3 \oplus x_3v_2 \oplus y_2v_1 \oplus v_1v_2\end{equation} a1b1=(x3v1)(y3v2)=x3y3x3v2y2v1v1v2(1)

同理可得 a 2 b 2 = x 1 y 1 ⊕ x 1 v 2 ⊕ y 1 v 1 ⊕ v 1 v 2 a_2b_2=x_1y_1 \oplus x_1v_2 \oplus y_1v_1 \oplus v_1v_2 a2b2=x1y1x1v2y1v1v1v2 a 3 b 3 = x 2 y 2 ⊕ x 2 v 2 ⊕ y 2 v 1 ⊕ v 1 v 2 a_3b_3=x_2y_2 \oplus x_2v_2 \oplus y_2v_1 \oplus v_1v_2 a3b3=x2y2x2v2y2v1v1v2,因此有:

image-20230220174549067

其中的第二个等式是根据 α ⊕ β ⊕ γ = 0 \alpha\oplus\beta\oplus\gamma=0 αβγ=0得来,第三个等式是根据等式 (1) 得来,最后一个等式是因为 x 1 ⊕ x 2 ⊕ x 3 = 0 x_1 \oplus x_2 \oplus x_3=0 x1x2x3=0 y 1 ⊕ y 2 ⊕ y 3 = 0 y_1 \oplus y_2 \oplus y_3=0 y1y2y3=0

Explanation of Step 2: 证明Step 2的结果是 v 1 v 2 v_1v_2 v1v2 ( 2 , 3 ) − s h a r i n g (2,3)-sharing (2,3)sharing,这需要证明(1) z 1 , z 2 , z 3 z_1,z_2,z_3 z1,z2,z3满足 z 1 ⊕ z 2 ⊕ z 3 = 0 z_1 \oplus z_2 \oplus z_3 = 0 z1z2z3=0;(2) c 1 , c 2 , c 3 c_1,c_2,c_3 c1,c2,c3满足定义的形式。

首先, z 1 ⊕ z 2 ⊕ z 3 = ( r 1 ⊕ r 3 ) ⊕ ( r 2 ⊕ r 1 ) ⊕ ( r 3 ⊕ r 2 ) = 0 z_1 \oplus z_2 \oplus z_3 = (r_1 \oplus r_3) \oplus (r_2 \oplus r_1) \oplus (r_3 \oplus r_2) = 0 z1z2z3=(r1r3)(r2r1)(r3r2)=0 得证。然后,根据Step 1中可知 c 1 ⊕ c 2 ⊕ c 3 = r 1 ⊕ r 2 ⊕ r 3 = v 1 v 2 c_1 \oplus c_2 \oplus c_3 = r_1 \oplus r_2 \oplus r_3 = v_1v_2 c1c2c3=r1r2r3=v1v2,且满足 c 1 = r 1 = v 1 v 2 ⊕ r 2 ⊕ r 3 c_1 = r_1 = v_1v_2 \oplus r_2 \oplus r_3 c1=r1=v1v2r2r3,然而 r 2 ⊕ r 3 = z 3 r_2 \oplus r_3 = z_3 r2r3=z3(Step 2中定义的),因此有 c 1 = v 1 v 2 ⊕ z 3 c_1 = v_1v_2 \oplus z_3 c1=v1v2z3 满足定义的形式。 c 2 c_2 c2 c 3 c_3 c3的证明过程相同。

2.2 Generating Correlated Randomness

协议依赖于一个事实:对于每一个AND门,各方持有随机的比特 α , β , γ ∈ { 0 , 1 } \alpha,\beta,\gamma \in \{0,1\} α,β,γ{0,1}且满足 α ⊕ β ⊕ γ = 0 \alpha\oplus\beta\oplus\gamma=0 αβγ=0。本节将讲述一种高效方式生成 α , β , γ \alpha,\beta,\gamma α,β,γ

Information-theoretic correlated randomness: 信息论相关随机数。各方 P i P_i Pi 简单的选择一个随机位 ρ i ∈ { 0 , 1 } \rho_i \in \{0,1\} ρi{0,1},并将其发送给 P i + 1 P_{i+1} Pi+1 P 3 P_3 P3发送给 P 1 P_1 P1);然后各方将自己的随机数与收到随机数进行异或,即: P 1 P_1 P1计算 α = ρ 3 ⊕ ρ 1 \alpha=\rho_3 \oplus \rho_1 α=ρ3ρ1 P 2 P_2 P2计算 β = ρ 1 ⊕ ρ 2 \beta=\rho_1 \oplus \rho_2 β=ρ1ρ2 P 3 P_3 P3计算 γ = ρ 2 ⊕ ρ 3 \gamma = \rho_2 \oplus \rho_3 γ=ρ2ρ3,可以发现得到的随机数满足 α ⊕ β ⊕ γ = 0 \alpha\oplus\beta\oplus\gamma=0 αβγ=0。该方法不仅优雅简洁,而且在只有一个腐化方(corrupted)的半诚实敌手模型下是安全的(假设 P 1 P_1 P1是腐化方,由于他没有 ρ 2 \rho_2 ρ2,那么对于通过 ρ 2 \rho_2 ρ2计算出的 β \beta β γ \gamma γ P 1 P_1 P1仅知道 β ⊕ γ = α \beta \oplus \gamma = \alpha βγ=α,其他一无所知)。但该方法存在一次参与方之间的通信,会导致AND门协议的通信量翻倍,虽然是很少的通信,但仍然成为了协议通讯次数的瓶颈,故我们将设计新的方法。

Computational correlated randomness: 设计了一个在短的初始化之外无需任何交互的情况下,安全计算相关随机数的方法。这使得AND门协议的通信仍然只传输一个比特。令 κ \kappa κ为安全参数, F : { 0 , 1 } κ × { 0 , 1 } κ → { 0 , 1 } F:\{0,1\}^\kappa \times \{0,1\}^\kappa \rarr \{0,1\} F:{0,1}κ×{0,1}κ{0,1}为输出一个比特位的伪随机函数,步骤如下:

1. Init:

(a) 各方 P i P_i Pi选择一个 κ \kappa κ位的随机数 k i ∈ { 0 , 1 } κ k_i \in \{0,1\}^\kappa ki{0,1}κ(作为伪随机函数的密钥);

(b) P i P_i Pi发送 k i k_i ki P i − 1 P_{i-1} Pi1,当 i = 1 i=1 i=1时, i − 1 = 3 i-1=3 i1=3

此时 P 1 P_1 P1持有 k 1 , k 2 k_1,k_2 k1,k2 P 2 P_2 P2持有 k 2 , k 3 k_2,k_3 k2,k3 P 3 P_3 P3持有 k 3 , k 1 k_3,k_1 k3,k1

2. GetNextBit:

给定唯一标识 i d ∈ { 0 , 1 } κ id \in \{0,1\}^\kappa id{0,1}κ

(a) P 1 P_1 P1 计算 α = F k 1 ( i d ) ⊕ F k 2 ( i d ) \alpha = F_{k_1}(id) \oplus F_{k_2}(id) α=Fk1(id)Fk2(id)

(b) P 2 P_2 P2 计算 β = F k 2 ( i d ) ⊕ F k 3 ( i d ) \beta = F_{k_2}(id) \oplus F_{k_3}(id) β=Fk2(id)Fk3(id)

© P 3 P_3 P3 计算 γ = F k 3 ( i d ) ⊕ F k 1 ( i d ) \gamma = F_{k_3}(id) \oplus F_{k_1}(id) γ=Fk3(id)Fk1(id)

不难得出 α ⊕ β ⊕ γ = 0 \alpha\oplus\beta\oplus\gamma=0 αβγ=0。除此之外, P 1 P_1 P1不知道 k 3 k_3 k3进而无法知晓 β \beta β γ \gamma γ,因此 β \beta β γ \gamma γ P 1 P_1 P1是伪随机的,满足约束 β ⊕ γ = α \beta \oplus \gamma = \alpha βγ=α。实际运用中, i d id id可以是一个计数器,所有各方在每次调用GetNextBit时都会在本地递增。

2.3 The Ring Modulo 2 n 2^n 2n and Fields

上一节介绍的协议是适用于布尔电路,然而在某些情况下,使用算术电路解决问题效率要高得多。在本节中,我们展示了如何将上述协议推广到模 2 n 2^n 2n环和大小大于2的任意字段的一般情况。在模 2 n 2^n 2n环的协议中,很明显,对于任意有限域和环,存在 3 − 1 3^{-1} 31一切都成立(即存在3的逆元),这是由于 g c d ( 3 , 2 n ) = 1 gcd(3,2^n) = 1 gcd(3,2n)=1,参考章节1.1.4,故除以3的运算(乘3的逆元)都可以进行。

(2, 3) - secret sharing: 为了共享模 2 n 2^n 2n环元素 v v v,处理者选择三个随机元素 x 1 , x 2 , x 3 ∈ Z 2 n x_1,x_2,x_3 \in \mathbb{Z}_{2^n} x1,x2,x3Z2n满足约束 x 1 + x 2 + x 3 = 0 x_1+x_2+x_3=0 x1+x2+x3=0,有:

  • P 1 P_1 P1 的份额为 ( x 1 , a 1 ) (x_1,a_1) (x1,a1),其中 a 1 = x 3 − v a_1=x_3 - v a1=x3v
  • P 2 P_2 P2 的份额为 ( x 2 , a 2 ) (x_2,a_2) (x2,a2),其中 a 2 = x 1 − v a_2=x_1 - v a2=x1v
  • P 3 P_3 P3 的份额为 ( x 3 , a 3 ) (x_3,a_3) (x3,a3),其中 a 3 = x 2 − v a_3=x_2 - v a3=x2v

与布尔情况一样,很容易看出,每个份额都不透露v,任何两个份额都足以重建v。以 P 1 P_1 P1为例说明安全性: P 1 P_1 P1方的份额由一对 ( x 1 , a 1 ) (x_1,a_1) (x1,a1)组成,其中 a 1 = x 3 − v a_1=x_3−v a1=x3v。由于 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3 x 1 + x 2 + x 3 = 0 x_1+x_2+x_3=0 x1+x2+x3=0的约束下是随机的,这相当于 x 1 x_1 x1 x 3 x_3 x3是随机独立选择的,然后 x 2 x_2 x2被选择等于 − x 1 − x 3 −x_1−x_3 x1x3。因此, P 1 P_1 P1份额中的 a 1 a_1 a1是使用随机密钥 x 3 x_3 x3 v v v进行的一次性填充加密, x 1 x_1 x1是独立的随机值。因此, P 1 P_1 P1的份额没有揭示任何关于 v v v的信息。这意味着:

引理 2.1: 对于任意的两个值 v a , v b ∈ Z 2 n v_a,v_b \in \mathbb{Z}_{2^n} va,vbZ2n以及任意的 i ∈ { 1 , 2 , 3 } i \in \{1,2,3\} i{1,2,3} P i P_i Pi v a v_a va份额 ( x i , a i ) (x_i,a_i) (xi,ai)和对 v b v_b vb份额 ( y i , b i ) (y_i,b_i) (yi,bi)的概率分布相同。

Addition gates: 与布尔情况一样,加法门是通过将模 2 n 2^n 2n的份额在本地进行相加来计算的。

Multiplication gates: ( x 1 , a 1 ) , ( x 2 , a 2 ) , ( x 3 , a 3 ) (x_1,a_1),(x_2,a_2),(x_3,a_3) (x1,a1),(x2,a2),(x3,a3) v 1 v_1 v1的秘密共享, ( y 1 , b 1 ) , ( y 2 , b 2 ) , ( y 3 , b 3 ) (y_1,b_1),(y_2,b_2),(y_3,b_3) (y1,b1),(y2,b2),(y3,b3) v 2 v_2 v2的秘密共享,假设 P 1 , P 2 , P 3 P_1,P_2,P_3 P1,P2,P3各自持有相关随机数 α , β , γ \alpha,\beta,\gamma α,β,γ,满足 α + β + γ = 0 \alpha+\beta+\gamma=0 α+β+γ=0,具体过程如下:

Step 1 - compute ( 3 , 3 ) − s h a r i n g (3,3)-sharing (3,3)sharing

(a) P 1 P_1 P1计算 r 1 = a 1 b 1 − x 1 y 1 + α 3 r_1=\frac{a_1b_1-x_1y_1+\alpha}{3} r1=3a1b1x1y1+α,并发送 r 1 r_1 r1 P 2 P_2 P2

(b) P 2 P_2 P2计算 r 2 = a 2 b 2 − x 2 y 2 + β 3 r_2=\frac{a_2b_2-x_2y_2+\beta}{3} r2=3a2b2x2y2+β,并发送 r 2 r_2 r2 P 3 P_3 P3

© P 3 P_3 P3计算 r 3 = a 3 b 3 − x 3 y 3 + γ 3 r_3=\frac{a_3b_3-x_3y_3+\gamma}{3} r3=3a3b3x3y3+γ,并发送 r 3 r_3 r3 P 1 P_1 P1

Step 2 - compute ( 2 , 3 ) − s h a r i n g (2,3)-sharing (2,3)sharing

该步骤仅需用Step 1中的消息进行本地计算。

(a) P 1 P_1 P1 保存 ( z 1 , c 1 ) (z_1,c_1) (z1,c1),其中 z 1 = r 3 − r 1 z_1=r_3 - r_1 z1=r3r1 c 1 = − 2 r 3 − r 1 c_1=-2r_3-r_1 c1=2r3r1

(b) P 2 P_2 P2 保存 ( z 2 , c 2 ) (z_2,c_2) (z2,c2),其中 z 2 = r 1 − r 1 z_2=r_1 - r_1 z2=r1r1 c 2 = − 2 r 1 − r 2 c_2=-2r_1-r_2 c2=2r1r2

© P 3 P_3 P3 保存 ( z 3 , c 3 ) (z_3,c_3) (z3,c3),其中 z 3 = r 2 − r 3 z_3=r_2 - r_3 z3=r2r3 c 3 = − 2 r 2 − r 3 c_3=-2r_2-r_3 c3=2r2r3

Explanation of Step 1: 证明Step 1中定义的 r 1 , r 2 , r 3 r_1,r_2,r_3 r1,r2,r3 v 1 v 2 v_1v_2 v1v2 ( 3 , 3 ) − s h a r i n g (3,3)-sharing (3,3)sharing,即意味着 r 1 + r 2 + r 3 = v 1 v 2 r_1 + r_2 + r_3=v_1v_2 r1+r2+r3=v1v2。首先观察到:
a 1 b 1 = ( x 3 − v 1 ) ( y 3 − v 2 ) = x 3 y 3 − x 3 v 2 − y 2 v 1 + v 1 v 2 \begin{equation}\tag{2} a_1b_1 = (x_3 - v_1)(y_3 - v_2)=x_3y_3 - x_3v_2 - y_2v_1 + v_1v_2\end{equation} a1b1=(x3v1)(y3v2)=x3y3x3v2y2v1+v1v2(2)
同理可得 a 2 b 2 = x 1 y 1 − x 1 v 2 − y 1 v 1 + v 1 v 2 a_2b_2=x_1y_1 - x_1v_2 - y_1v_1 + v_1v_2 a2b2=x1y1x1v2y1v1+v1v2 a 3 b 3 = x 2 y 2 − x 2 v 2 − y 2 v 1 + v 1 v 2 a_3b_3=x_2y_2 - x_2v_2 - y_2v_1 + v_1v_2 a3b3=x2y2x2v2y2v1+v1v2,因此有:

image-20230221172255441

Explanation of Step 2: 证明Step 2的结果是 v 1 v 2 v_1v_2 v1v2 ( 2 , 3 ) − s h a r i n g (2,3)-sharing (2,3)sharing,这需要证明(1) z 1 , z 2 , z 3 z_1,z_2,z_3 z1,z2,z3满足 z 1 + z 2 + z 3 = 0   m o d   2 n z_1 + z_2 + z_3 = 0 \ mod \ 2^n z1+z2+z3=0 mod 2n;(2) c 1 , c 2 , c 3 c_1,c_2,c_3 c1,c2,c3满足定义的形式。首先, z 1 + z 2 + z 3 = ( r 3 − r 1 ) + ( r 1 − r 2 ) + ( r 2 − r 3 ) = 0 z_1 + z_2 + z_3 = (r_3 - r_1) + (r_1 - r_2) + (r_2 - r_3) = 0 z1+z2+z3=(r3r1)+(r1r2)+(r2r3)=0得证。然后,对于 P 1 P_1 P1
c 1 = − 2 r 3 − r 1 = − r 3 − r 3 − r 1 − r 2 + r 2 = ( r 2 − r 3 ) − ( r 1 + r 2 + r 3 ) = z 3 − v 1 v 2 \begin{align} c_1&=-2r_3-r_1 \\ &=-r_3-r_3-r_1-r_2+r_2 \\ &=(r_2-r_3)-(r_1+r_2+r_3) \\ &=z_3-v_1v_2 \end{align} c1=2r3r1=r3r3r1r2+r2=(r2r3)(r1+r2+r3)=z3v1v2
满足要求, P 2 , P 3 P_2,P_3 P2,P3同理可证。

Generating correlated randomness: 各方使用第2.2节所述相同的(计算)方法,但有以下差异。我们假定 F k F_k Fk是将串映射到 Z 2 n \mathbb{Z}_{2^n} Z2n(或等价于 { 0 , 1 } n \{0,1\}^n {0,1}n)的伪随机函数,那么:

(a) P 1 P_1 P1 计算 α = F k 1 ( i d ) − F k 2 ( i d ) \alpha = F_{k_1}(id) - F_{k_2}(id) α=Fk1(id)Fk2(id)

(b) P 2 P_2 P2 计算 β = F k 2 ( i d ) − F k 3 ( i d ) \beta = F_{k_2}(id) - F_{k_3}(id) β=Fk2(id)Fk3(id)

© P 3 P_3 P3 计算 γ = F k 3 ( i d ) − F k 1 ( i d ) \gamma = F_{k_3}(id) - F_{k_1}(id) γ=Fk3(id)Fk1(id)

3 Security for Semi-Honest Adversaries

主要讲的是将理想功能(Functionality)与真实协议(Protocol)之间的验证关系:若真实情况下腐化方集合的视角(View)与理想情况下仿真者(Simulator)使用功能函数 F F F,模拟出的腐化方集合的视角在概率分布上是不可区分的,那么证明了该协议在半诚实攻击者存在的条件下安全的实现了功能 F F F

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MTK WLAN框架学习的过程中,如何分析WLAN throughput问题是一个重要的问题。WLAN throughput指的是无线网络的传输速率,通常以Mbps为单位。以下是分析WLAN throughput问题的步骤: 第一步,了解网络配置和设备状态。首先,要了解无线网络的拓扑结构、各设备之间的连接方式以及无线路由器的设置。同时,需要检查所有设备的状态,如信号强度、频率、传输模式等。 第二步,检查网络性能。可以使用网络性能测试工具,如iPerf或Speedtest等,进行测试并评估网络的实际吞吐量。通过测试结果,可以确定网络中是否存在吞吐量问题。 第三步,检查网络干扰。干扰是影响无线网络质量的常见问题。可以使用无线扫描工具,如Wi-Fi Analyzer或inSSIDer等,来检测网络中存在的干扰源,如其他无线网络、电磁干扰或距离过近的设备等。 第四步,优化网络设置。根据分析结果,可以采取一些优化措施来改善WLAN throughput。例如,调整无线路由器的位置和天线方向,选择合适的频率和传输模式,增加信号增强器或使用更高效的设备等。 第五步,进行性能监测。在优化网络设置后,需要进行性能监测,以确保网络吞吐量的提升。可以使用网络监测工具,如Wireshark或MTK提供的调试工具,来监测数据包的传输和分析网络的性能表现。 综上所述,分析WLAN throughput问题需要了解网络配置和设备状态,检查网络性能和干扰情况,优化网络设置,并进行性能监测。通过这些步骤,可以有效地解决WLAN throughput问题,并提升无线网络的传输速率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值