Truncate I

上次在【隐衷计算笔谈】系列科普里介绍了在布尔电路下和环下的三方复制机密共享,以及其实现加法和乘法的形式。本次科普介绍两种三方复制机密共享下的截断(Truncate) 操作。其中一种截断形式只须要三个参与者中的两者加入,不须要三者独特进行截断,以此缩小截断操作所须要的通信量。在三方复制机密共享中,任意两方合谋即可复原出机密,即其中任意两方就能够进行截断操作。

让\( =_1+_2+_3 \),Alice、Bob、Candy别离把握 \( (_1,_2), (_2,_3), (_3,_1) \)。Bob和Candy二者事后产生一个随机数。

首先,Alice和Candy本地计算\( x_{1}^{\prime}=\frac{x_{1}}{2^{d}} \),则Alice和 Candy都把握了 \( x_{1}^{\prime} \)。接着Bob本地计算\( x_{2}^{\prime}=\frac{x_{2}+x_{3}}{2^{d}} -r \),并且将\( x_{2}^{\prime} \)发回给Alice,则此时Alice把握了(\( x_{1}^{\prime},x_{2}^{\prime} \)),Bob把握了\( x_{2}^{\prime} \),Candy把握了\( x_{1}^{\prime} \)。再接着Bob和Candy本地计算\( x_{3}^{\prime} =r \),协定的输入为(\( x_{1}^{\prime},x_{2}^{\prime},x_{3}^{\prime} \)),Alice、Bob、Candy别离把握了 \( (x_{1}^{\prime},x_{2}^{\prime}), (x_{2}^{\prime},x_{3}^{\prime}), (x_{3}^{\prime},x_{1}^{\prime}) \)。 

将\( x_{1}^{\prime},x_{2}^{\prime},x_{3}^{\prime} \)相加进行验证可得:

该截断形式利用任意两者所把握的信息之和都蕴含了机密信息这一三方复制机密共享的特点,将单方的信息利用起来进行截断。显然,这个协定是半诚恳的,要求参加的三方都是恪守协定规定的用户,若违反规定,则任意两方串谋都能间接复原出机密信息。 

Truncate II

该截断的核心思想是共享[]和[\( r^{\prime}=\frac{r}{2^{d}} \)],指标是要计算出\( x^{\prime}=\frac{x}{2^{d}} \),因而先向所有参与者揭发 [−] =[]−[],每个参与者都取得明文的−,则所有用户都可在明文上计算\( \frac{x-r}{2^d} \),再如下计算即可:

想要依据[]计算出\([ r^{\prime}]=[\frac{r}{2^{d}}] \),有很多形式,间接利用Truncate I也能够, 然而Truncate II理论应用的是二进制上的截断。因为\( {[r]}^B \)是按比特分享的,假如的各个比特为从高位到低位别离为\( r_l,r_{l-1},...,r_1 \),\( {[r]}^B \)理论为\( [r_1],[r_{l-1}],...,[r_1] \),所以对\( {[r]}^B \)进行截断,只需间接抛弃\( [r_d],...,[r_1] \)即可。

Truncate II截断流程为:

首先Alice、Bob和Candy三方独特产生位的随机数,每个参与者拿到的share,记为\( {[r]}^B \),上标的B示意是按比特分享的,用中括号[]示意被分享。定义[‘]是随机数[]的从高位往低位数的前−位,即\( r^{\prime}=\frac{r}{2^{d}} \)。

接着所有参与者独特产生位的随机数\( {[r_2]}^B , {[r_3]}^B\), 和−位的随机数\( {[r_2^{\prime}]}^B, {[r_3^{\prime}]}^B \),并将 \( r_2^{\prime},r_2 \)向Alice和Bob揭发,将\( r_3^{\prime},r_3 \)向Bob和Candy揭发。留神这里只是将后产生的−位随机数记为\( {[r_2^{\prime}]}^B, {[r_3^{\prime}]}^B \),当初\( {[r_2^{\prime}]}^B, {[r_3^{\prime}]}^B \)与\( [{r_2}]^B,[{r_3}]^B \)之间并没有分割。将这种机密分享的模式定义为\( [r]^A=(r_1,r_2,r_3),[ r^{\prime}]^A=(r_1^{\prime},r_2^{\prime},r_3^{\prime}) \)。

再接着应用减法电路,每个参与者都计算\( [r_1]^B=[r]^B-[r_2]^B-[r_3]^B,[r_1^{\prime}]^B=[r^{\prime}]^B-[r_2^{\prime}]^B-[r_3^{\prime}]^B \),并向Alice和Candy揭发\( r_1^{\prime} \)以及\( r_1 \)。留神这里通过 \( [r_1]^B=[r]^B-[r_2]^B-[r_3]^B,[r_1^{\prime}]^B=[r^{\prime}]^B-[r_2^{\prime}]^B-[r_3^{\prime}]^B \),使得\( [r]^B=[r_1]^B+[r_2]^B+[r_3]^B,[r^{\prime}]^B=[r_1^{\prime}]^B+[r_2^{\prime}]^B+[r_3^{\prime}]^B \),而\( [r^{\prime}]^B=[\frac{r}{2^{d}}] \),使得\( [r_1]^B,[r_2]^B,[r_3]^B \)与\( [r_1^{\prime}]^B,[r_2^{\prime}]^B,[r_3^{\prime}]^B \)之间建设了间接分割。

因为每个参与者都把握有和的share,所以可间接计算\( [{x-r}]^A \),并独特揭发\( [{x-r}]^A \)取得−。取得−之后,再计算\( [x^{\prime}]^A=[r^{\prime}]^A+\frac{{x-r}}{2^{d}} \),即可实现对的截断,每个参与者都取得了\( \frac{x^{\prime}}{2^{d}} \)的一个share。