在下面的传输两条消息接收方得到其中的一条消息。不经意传输协议中设A有一个秘密想以12的概率传递给B即B有50的机会收到这个秘密另外50的机会什么也没有收到协议执行完后B知道自己是否收到了这个秘密但A却不知B是否收到了这个秘密。这种协议就称为不经意传输协议。Alice将发送给Bob两份消息中的一份。Bob将收到其中一条消息并且Alice不知道是哪一份。1Alice产生两个公钥私钥密钥对或总共四个密钥
可以使用类似于上面的不经意传输协议来解决这个问题。具体步骤如下:
(1) Alice生成两个公钥/私钥密钥对,将两个公钥发送给Bob。
(2) Bob选择一个对称算法(如DES)密钥,并使用其中一个公钥加密该密钥。他将加密后的密钥发送给Alice,但不告诉她他使用的是哪个公钥。
(3) Alice使用她的两个私钥分别解密Bob的密钥。在一种情况下,她使用了正确的密钥并成功地解密了Bob的DES密钥。在另一种情况下,她使用了错误的密钥,只是产生了一堆毫无意义的比特。由于她不知道正确的明文,因此她不知道哪个是正确的。
(4) Alice列举出所有问题及其答案,并将它们用两个不同的DES密钥加密。其中一个DES密钥是正确的,另一个是随机的。
(5) Bob选择一个问题,并使用正确的DES密钥解密该问题的答案。他无法解密另一个问题的答案,因为他只有无意义的DES密钥。
(6) 在完成交易后,Alice将她的私钥交给Bob以验证她没有进行欺骗。Bob可以使用她的私钥来解密另一个问题的答案,以确保Alice没有使用错误的DES密钥加密答案。
这个协议可以确保Bob能够购买一个问题的答案,而Alice无法知道他购买的是哪个问题的答案。同时,它也可以防止Alice和Bob之间的欺骗
原文地址: https://www.cveoy.top/t/topic/hf7R 著作权归作者所有。请勿转载和采集!