理论教育 安全协议:健忘传输协议-保护隐私的双方通信

安全协议:健忘传输协议-保护隐私的双方通信

时间:2023-10-28 理论教育 版权反馈
【摘要】:不经意传输协议是一个双方协议,1981年由M.Rabin首次提出,也称为健忘传输协议。一般而言,不经意传输协议满足如下三条性质。Alice又不愿降价,只愿意以一半的价格卖给Bob一半的比特。这个协议确保Alice发送给Bob两份消息中的一份,但它不保证Bob想收到其中的任何一份,也没有办法阻止Alice发送给Bob两份完全无用的消息。不经意传输协议是一种可保护隐私的双方通信协议,能使通信双方以一种选择模糊化的方式传送消息。

安全协议:健忘传输协议-保护隐私的双方通信

不经意传输(Oblivious Transfer,OT)协议是一个双方协议,1981年由M.Rabin首次提出,也称为健忘传输协议。在这个协议中,一方Alice掌握某个秘密信息s,另一方Bob不知道这个信息,协议结束后Bob以1/2的概率获得信息s,但是Alice不知道Bob是否得到了s。一般而言,不经意传输协议满足如下三条性质。

(1)正确性:只要A、B双方遵守协议,那么协议结束后接收方Bob将得到他想要的信息。

(2)发送方Alice的保密性:协议结束后,接收方Bob除了得到他想要的信息以外得不到任何多余信息。

(3)接收方Bob的保密性:协议结束后,发送方Alice不知道Bob的选择,即Alice不知道Bob得到的是哪一个或哪一些信息。

举一个例子,密码学家Bob想将一个500比特的数n进行因子分解,但他只知道它是5个100比特的数的乘积。Alice碰巧知道n的一个因子,但她要100美元才将它卖给Bob。Bob很感兴趣,但他只有50美元。Alice又不愿降价,只愿意以一半的价格卖给Bob一半的比特。

Rabin的OT协议是一个双方协议,发送方以1/2的概率传输一个比特的秘密s给接收方B。协议如下。

(1)秘密的传输

(2)秘密的恢复

B收到b后,检查b≡±x(mod n)是否成立。若成立,B什么也得不到;否则,B利用gcd(x+b,n)可以分解Blum整数n,并计算。

在a的对于模的四个平方根中,恰有两个对模n同余于±x。B因此将以1/2的概率恢复出秘密s;但是A不知道是否收到了秘密s;发送方A的安全性将取决于接收方B计算模n的二次剩余的能力。很显然的一点是Rabin的OT协议效率很低,每次以这种方式传输1比特信息,A就要选择一个Blum整数;传输的信息不同,所选择的Blum整数也不能相同。

在下面的协议中,Alice将发送给Bob两份消息中的一份。Bob将收到其中一条消息,并且Alice不知道是哪一份。(www.daowen.com)

(1)Alice产生两个公钥/私钥密钥对,或总共四个密钥。她把两个公开密钥发送给Bob。

(2)Bob选择一个对称算法(如DES)密钥。他选择Alice的一个公开密钥,并用它加密他的DES密钥。他把这个加密的密钥发送给Alice,且不告诉她他用的是她的哪一个公开密钥加密的DES密钥。

(3)Alice解密Bob的密钥两次,每次用一个她的私钥来解密Bob的密钥。在一种情况下,她使用了正确的密钥并成功地解密Bob的DES密钥。在另一种情况下,她使用了错误的密钥,只是产生了一堆毫无意义而看上去又像一个随机DES密钥的比特。由于她不知道正确的明文,故她不知道哪个是正确的。

(4)Alice加密她的两份消息,每一份用一个不同的在上一步中产生的DES密钥(一个真的和一个毫无意义的),并把两份消息都发送给Bob。

(5)Bob收到一份用正确DES密钥加密的消息及一份用无意义DES密钥加密的消息。当Bob用他的DES密钥解密每一份消息时,他能读其中之一,另一份在他看起来是毫无意义的。

Bob现在有了Alice两份消息中的一份,而Alice不知道他能读懂哪一份。很遗憾,如果协议到此为止,Alice有可能进行欺骗。另一个步骤必不可少。

(6)在协议完成,并且知道了两种可能传输的结果后,Alice必须把她的私钥给Bob,以便他能验证她没有进行欺骗。毕竟,她可以用第(4)步中的两个密钥加密同一消息。这时Bob就可以弄清楚第二份消息。

因为Alice无法知道两个DES密钥中的哪一个是真的,故这个协议能防止Alice的攻击。她加密两份消息,但Bob只能恢复出其中的一个——直到第(6)步。它同样能防止Bob的攻击,因为在第(6)步之前,他没有办法得到Alice的私钥来确定加密另一份消息的DES密钥。

这个协议确保Alice发送给Bob两份消息中的一份,但它不保证Bob想收到其中的任何一份,也没有办法阻止Alice发送给Bob两份完全无用的消息。说到底,密码协议还是要建立在相互信任的基础上。

不经意传输协议是一种可保护隐私的双方通信协议,能使通信双方以一种选择模糊化的方式传送消息。当传输1条消息时,接收方以1/2的概率得到发送的消息,但发送方不知道接收方是否得到。当传输2条消息时,接收方得到其中的一条消息,但发送方不知道接收方得到的是哪一条。当传输n条消息时,接收方得到其中的m条消息,但发送方不知道接收方得到的是哪m条。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈