可以使用类似于上述不经意传输协议的方法来解决这个问题。具体步骤如下: (1) Alice生成两个公钥/私钥密钥对,并将两个公钥发送给Bob。 (2) Bob选择一个对称算法(如DES)密钥,并选择其中一个公钥来加密此DES密钥。他将加密后的密钥发送给Alice,并不告诉她他用的是哪个公钥加密的。 (3) Alice解密Bob的密钥两次,每次用一个她的私钥来解密Bob的密钥。在一种情况下,她使用了正确的密钥并成功地解密Bob的DES密钥。在另一种情况下,她使用了错误的密钥,只是产生了一堆毫无意义而看上去又像一个随机DES密钥的比特。由于她不知道正确的明文,故她不知道哪个是正确的。 (4) Alice将所有的问题及其答案都用DES密钥加密,并将它们发送给Bob。 (5) Bob收到所有加密的问题及其答案,但只能解密其中一个问题的答案。他不知道自己解密的是哪一个问题的答案。 (6) 在协议完成并且知道了两种可能传输的结果后,Alice必须把她的私钥给Bob,以便他能验证她没有进行欺骗。毕竟,她可以用第(4)步中的DES密钥加密同一问题的不同答案。这时Bob就可以弄清楚他买的是哪个问题的答案。 因为Alice无法知道哪个DES密钥是真的,故这个协议能防止Alice的攻击。她加密所有问题及其答案,但Bob只能恢复出其中一个问题的答案-直到第(6)步。它同样能防止Bob的攻击,因为在第(6)步之前,他没有办法得到Alice的私钥来确定加密其他问题的DES密钥

在下面的不经意传输协议中设A有一个秘密想以12的概率传递给B即B有50的机会收到这个秘密另外50的机会什么也没有收到协议执行完后B知道自己是否收到了这个秘密但A却不知B是否收到了这个秘密。这种协议就称为不经意传输协议。Alice将发送给Bob两份消息中的一份。Bob将收到其中一条消息并且Alice不知道是哪一份。1Alice产生两个公钥私钥密钥对或总共四个密钥。她把两个公开密钥发送给 Bob。2B

原文地址: https://www.cveoy.top/t/topic/hf7s 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录