【隐私计算笔谈】MPC系列专题(八):OT协议(二)
作者 | 胡震恺 崔泓睿 郁昱
文章目录
通用的半诚实公钥OT协议
之前已经介绍过Naor-Pinkas不经意传输协议,Naor-Pinkas不经意传输协议基于离散对数困难问题,这次介绍一个通用的基于公钥的半诚实安全的不经意传输协议和Beaver的非黑盒构造。
有一个发送方Alice和一个接收方Bob,这个协议的前提条件是能够在公钥空间里随机采样获得一个公钥。而不是先获得私钥,再通过私钥产生公钥。
简单的说就是能够随机生成一个和公钥格式相同的随机数。Alice在协议中的输入为秘密值𝑥0,𝑥1,Bob在协议的输入为选择比特𝑏∈{0,1} 。
协议开始时,Bob首先生成一个公私钥对(𝑝𝑘Bob,𝑠𝑘Bob),并在公钥空间里进行随机采样,再生成一个随机公钥𝑝𝑘′Bob,Bob根据自己输入的选择比特b,如果选择比特𝑏=0,那么Bob将(𝑝𝑘Bob, 𝑝𝑘′Bob)发送给Alice;如果选择比特𝑏=1,那么Bob将(𝑝𝑘′Bob, 𝑝𝑘Bob)发送给Alice。
将Alice从Bob那收到的公钥记为(𝑝𝑘0,𝑝𝑘1),Alice收到Bob发来的公钥对后,向Bob发送两个密文(𝑒0,𝑒1),其中
𝑒0=𝐸𝑛𝑐𝑝𝑘0(𝑥0),𝑒1=𝐸𝑛𝑐𝑝𝑘1(𝑥1)
𝐸𝑛𝑐y(𝑥)指用加密算法Enc和加密秘钥y加密x。
Bob 接收到(𝑒0,𝑒1)后,使用自己的私钥𝑠𝑘Bob解密密文𝑒𝑏