三方复制机密分享

复制机密共享(three-party replicated secret sharing),是另一种机密共享技术。本次科普要介绍的是Araki等人的半诚恳的三方复制机密共享协定,用于在三方环境下的平安多方计算和机密共享,能够容忍最多一个腐化用户,其相比于Shamir(2, 3)来说有十分小的通信量和计算量。 

首先介绍在布尔电路下的情景,假如参与者别离为 Alice、Bob和Candy,三者的序号别离记为1、2、3。在复制机密共享中,一个单比特的机密会被生成为三个子机密\( _1,_2,_3 \),且\( =_1⊕_2⊕_3 \)。具体形式为:机密分享者首先生成三个随机数\( _1,_2,_3 \),并且满足\( _1⊕_2⊕_3=0 \)。让子机密\( _1=_3⊕,_2=_1⊕ \),子机密\( _3=_2⊕ \)。则\( _1⊕_2⊕_3=_1⊕_2⊕_3⊕⊕⊕= \)。让Alice、Bob和Candy别离持有\( (_1,_1), (_2,_2), (_3,_3) \),将这种机密分享形式简记为[]。满足限度条件\( _1⊕_2⊕_3=0 \)下生成随机数\( _1,_2,_3 \)的具体形式之后再进行介绍。 

在这种状况下,任意两个参与者合谋就能够复原出机密,如Bob和Candy合谋,则Candy能够利用本人手中的\( _3 \)和Bob手中的\( _2 \),计算\( _3⊕_2=_2⊕⊕_2= \)。  

在平安多方计算中,只有实现了多方加法和多方乘法,即可实现齐备。因而接下来开始介绍该三方复制机密共享协定实现多方加法和多方乘法的形式。此时Alice曾经持有了\( (_1,_1), (_1,_1) \),Bob持有了\( (_2,_2), (_2,_2) \), Candy持有了\( (_3,_3), (_3,_3) \)。 

首先是XOR(加法)的实现形式:要计算 []=[+],Alice、Bob和Candy只须要别离本地计算\( _+_,∈{ 1,2,3} \)即可。以Alice为例,因为\( _1=_3⊕,_1=_3⊕ \),则\( _1⊕_1=_3⊕⊕_3⊕=(_3⊕_3)⊕(⊕)=(_3⊕_3)⊕ \),若将\( _1⊕_1 \)记为\( _1 \),\( _2⊕_2 \)记为\( _2 \),\( _3⊕_3 \)记为\( _3 \),则Alice、Bob和Candy在别离实现本地计算\( _+_,∈{ 1,2,3} \)后,Alice能够失去\( _1=_3⊕ \),Bob能够失去\( _2=_1⊕ \),Candy能够失去\( _3=_2⊕ \);且\( _1⊕_2⊕_3=_1⊕_2⊕_3⊕_1⊕_2⊕_3=0⊕0=0 \),由此满足之前的机密分享定义,\( _1⊕_2⊕_3=,_1⊕_2⊕_3=0 \)。 

接着是AND(乘法)的实现形式:要实现乘法首先须要另外引入三个随机数,记为, , ,且满足⊕⊕=0,Alice把握,Bob把握,Candy把握。 

Alice计算1=11⊕11⊕,并把\( _1 \)发送给Bob;Bob计算2=22⊕22⊕,并把\( _2 \)发送给Candy;Candy 计算3=33⊕33⊕,并把\( _3 \)发送给Alice。  

接着Alice本地计算\( _1=_1⊕_3 \),\( _1=_1 \);Bob本地计算\( _2=_2⊕_1,_2=_2 \);Candy本地计算\( _3=_3⊕_2,_3=_3 \)。  

正确性证实:  

 
又因为 

 因而: 

$$_1_1⊕_2_2⊕_3_3=_1_1⊕_2_2⊕_3_3⊕(_1⊕_2⊕_3)⊕(_1⊕_2⊕_3)⊕=_1_1⊕_2_2⊕_3_3⊕  $$

把\( _1_1⊕_2_2⊕_3_3 \)的后果代入到\( _1⊕_2⊕_3 \)可得:
  

而\( _1⊕_2⊕_3=_1⊕_3⊕_2⊕_1⊕_3⊕_2= 0 \),即: 

$$_1=_3⊕ ,_2=_1⊕,_3=_2⊕ $$

其中\( _1⊕_2⊕_3=,_1⊕_2⊕_3=0 \),由此得证乘法的正确性。  

满足限度条件\( _1⊕_2⊕_3=0 \)下生成随机数\( _1,_2,_3 \)的形式为:Alice、Bob、Candy别离生成随机数1,2,3,Alice将1发送给Bob,Bob将2发送给Candy,Candy将3发送给Alice。则Alice计算1=1⊕3,Bob计算2=2⊕1,Candy计算3=3⊕2。 

显然: