【隐私计算笔谈】MPC系列专题(九):OT协议(三)
作者 | 胡震恺 崔泓睿 郁昱
文章目录
OT扩展协议
首先假设Alice是发送方,Bob是接收方,Bob的𝑚比特长的选择比特串为𝑟,𝑟𝑗表示选择比特串𝑟的第𝑗比特。Bob产生两个𝑚 × 𝑘的随机矩阵A和B:
用𝑎𝑖,𝑏𝑖分别表示矩阵𝐴和𝐵的第𝑖列向量,用𝑎𝑗,𝑏𝑗分别表示矩阵𝐴和𝐵的第𝑗行向量。矩阵𝐴和𝐵满足𝑎𝑗⊕𝑏𝑗=𝑟𝑗∙1k,即若𝑟𝑗= 1,则𝑎𝑗⊕𝑏𝑗=1k;若𝑟𝑗=0,则𝑎𝑗 ⊕𝑏𝑗=0k,其中1k表示𝑘比特长的1组成的比特串,0k表示𝑘比特长的0组成的比特串。
发送方Alice随机产生一个𝑘比特长的串𝑠。Alice和Bob之间利用2选1不经意传输协议,根据比特串𝑠的各个比特𝑠1,…,𝑠𝑘的值,Bob向Alice发送不同的值。若𝑠𝑖=0,则Bob发送𝑎𝑖;若𝑠𝑖=1,则Bob发送𝑏𝑖。
当Bob发送完后,Alice获得了一个𝑚×𝑘的矩阵,记为𝐶,
记𝑐𝑖表示矩阵𝐶的第𝑖列向量,𝑐𝑗表示矩阵𝐶的第𝑗列向量。那么有结论:𝑐𝑗=𝑎𝑗⨁[𝑟𝑗∙𝑠]=,即若𝑟𝑗=0,则𝑐𝑗=𝑎𝑗⨁[𝑟𝑗∙𝑠]=𝑎𝑗;若𝑟𝑗=1,则𝑐𝑗=𝑎𝑗⨁[𝑟𝑗∙𝑠]=𝑎𝑗⨁𝑠。
假设有一个哈希函数𝐻,则Bob可以计算𝐻(𝑐𝑗)和𝐻(𝑐𝑗⨁𝑠),对于每一个𝑐𝑗,都等于𝑎𝑗或者𝑎𝑗⨁𝑠。Alice 分