我正在读姚混淆电路的绅士介绍,我偶然发现了这篇文章:
请注意,为了使这一工作,埃文需要知道什么时候解密成功,什么时候不成功,否则,他没有办法知道哪一个密文得到正确的答案。因此,简单地使用加密值对密钥进行异或处理在这里是行不通的。
实际上,Alice发送了4个值,每个值使用不同的密钥加密,使用对称密钥加密.Bob有4个密钥中的一个,需要知道4个值中的哪个成功解密。鲍勃是如何做到这一点的?
我想,由于未加密的值都是0或1,所以可以设置加密,使失败的解密产生非0/1值的概率很高,但我不知道这是否正确。
如何在姚的混淆电路中检测到失败的对称密钥解密?
发布于 2018-03-27 06:58:36
您的直觉是正确的,加密设置为在密文中使用不正确的密钥时表示解密失败。这样做的一个非常简单的方法可以是:当使用密钥$m$加密消息$K$时,加密$m||0^{\lambda}$ ($\lambda$是一个安全参数,例如80或128)。解密密文时,请检查最后一个$\lambda$位是否为$0$;如果不是,则解密失败。
请注意,您正在阅读的论文还描述了点和不变技术,这使得我们可以找出哪些密文我们应该解密,而不必尝试它们全部。这是一个重要的优化混淆电路。
https://crypto.stackexchange.com/questions/57872
复制相似问题