此次主要介绍如何实现一个半诚实模型下的1−out−21-out-21−out−2茫然传输,并简要证明其正确性和安全性。
协议
假设现在有一个发送方SSS和一个接受方RRR。SSS要传送两条信息,我们不妨设为两个比特b0b_0b0和b1b_1b1,而RRR只能选择接受其中一个比特bθb_\thetabθ。协议要保证SSS和RRR的安全,即:
- SSS不能知道任何关于θ\thetaθ的信息;
- RRR不能得知任关于b1−θb_{1-\theta}b1−θ的信息;
为了达成上面两点要求, 构造如下协议:
- SSS选择好两个比特信息b0b_0b0和b1b_1b1;
- SSS运行密钥生成算法(例如RSARSARSA)生成公私钥对(sksksk,pkpkpk);
- SSS保密私钥,同时SSS要生成两个随机数x0x_0x0和x1x_1x1,并将这两个随机数和公钥一并传送给RRR;
- RRR选择θ\thetaθ,并生成一个数rrr,RRR用SSS的公钥加密rrr,并生成信息v=xθ+Epk(r)v=x_\theta+E_{pk}(r)v=xθ+E<