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。