回顾一下,最近几次的科普我们介绍了三方复制秘密共享的秘密分享方式,其主要应用为作为隐私保护机器学习的隐私保护框架,将数据作为秘密,按机器学习对数据的操作进行安全多方计算。
机器学习需要对数据进行定点数的加法、乘法、矩阵运算等,需要三方复制秘密共享也有对应的这些操作。因此之后我们介绍了在和下三方复制秘密共享的乘法。在进行定点数运算时会带来定点数精度扩大问题,于是我们接着介绍了两个定点数截断算法Truncate I和Truncate II。秘密在三方复制秘密共享中有和
两种表示方式,需要有互相转换的方式,我们接着介绍了将在
下的子秘密
转换为在
下的子秘密
的 Bit Decomposition算法。
有两种子秘密的表示形式,那么当需要两个不同表示形式的秘密进行计算,如需要子秘密和子秘密
进行计算
时又该怎么办呢?将
转换为
,或者将
转换为
进行计算,是一种办法。本次科普将介绍更高效的跨秘密表示形式的计算方法。在介绍实现夸秘密表示形式的计算方法之前,先介绍一种半诚实的三方OT和计算
的方法。
与双方 OT 相比,这个三方 OT 协议较为简单,是双方 OT 的一个变形,实际依旧只有两方进行OT,而让第三方作为 OT 协议的帮助者。假设参与者为Alice、Bob、Candy,Alice是秘密的发送方,Bob是秘密的接收方,而Candy则是帮助者,则整个三方 OT 协议可以被表示成,符号「⊥」表示空,即未接收到信息。
OT 协议的具体流程为:首先Alice和Candy共同产生两个𝑘比特的随机数,Alice和Candy都知道
的具体值,接着Alice计算
,并且将
发送给Bob。Bob将自己的选择比特𝑐发送给Candy,Candy根据选择比特的值发送
给Bob,Bob利用
即可成功解密出
。
图:三方OT
完整执行完成后,Bob只获得了,Candy只知道
而不知道
,Alice只知道
,而不知道Bob的选择,三者都只掌握了部分信息。
接着介绍计算的方式:最简单的例子是𝑎为
上的明文,而𝑏为单比特。秘密𝑏以
的形式被三方分享,Alice掌握
,Bob掌握
,Candy 掌握
。首先Alice(发送者)在环
上产生一个随机数 𝑟,接着产生两个消息
和
。Bob(接收者)掌握有
,而Candy(帮助者)也掌握有
,因此三者可以进行上述的三方OT。Alice作为 OT 的发送方,在这次 OT 中的输入为
;Bob作为接收方,在这次OT的输入为
;Candy则作为帮助者。注意
都是单比特值,因此Bob通过OT可以获得
。注意我们目标是让参与的三方获得
。
接着,Alice、Bob和Candy可以利用之前预先产生的来计算
。注意Bob已经获得了𝑏𝑎−𝑟,也掌握了
,因此Bob可以本地计算
,同样 Alice 也可本地直接计算
,Candy本身就掌握有
。
图:三方OT计算
回忆一下三方复制秘密共享的规则,要求Alice掌握,Bob掌握
,Candy掌握
。因此为了符合复制秘密共享的规则,Bob计算
之后,需要再将
发送给Alice,同样Alice在计算完
后需要将它发送给Candy。或者也可以再进行一次三方OT,这次由 Bob来扮演发送方,Bob在OT协议的输入为
,接收方由Alice扮演,Alice输入选择比特
来获得消息
。这样就成功的完成了
的计算。
有了的计算方式,我们就可以进一步计算
了。
和
的区别只是前者𝑎以明文的形式,而后者是以密文的形式,思考一下复制秘钥共享的性质,实际上
,因此
。只需进行两次
形式的乘法,再进行加法,即可成功计算出
。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢