多方安全计算-不经意传输

不经意传输

      不经意传输(Oblivious Transfer - OT)最早在1981年被 Michael O. Rabin提出,之后被广泛应用于多方安全计算等领域。

      在Rabin [1] 的OT协议中,发送者Alice发送一个信息m给接收者Bob,接收者Bob以1/2的概率接受信息m。所以在协议交互的结束的时候,发送者Alice并不知道Bob是否接受了消息,而接收者Bob能确信地知道他是否得到了信息m,从而保护了接收者的隐私性,同时保证了数据传输过程的正确性。该方法主要是基于RSA加密体系构造出来。

      1985年S. Even, O. Goldreich, and A. Lempel [2] 提出了1-out-2 OT, 在此方案中发送者Alice每次发送2个信息 和 ,而接收者Bob每次输入一个选择 , 当协议结束的时候,发送者Alice无法获得关于接收者Bob的任何有价值的信息,而接收者Bob只能获得 ,对于 , 接收者Bob也一无所知。


      在实际应用中,不经意传输OT的一种实施方式是基于RSA公钥加密技术。一个简单的实施流程如下:首先,发送者生成两对不同的公私钥,并公开两个公钥,称这两个公钥分别为公钥1和公钥2。假设接收人希望知道m1,但不希望发送人知道他想要的是m1。接收人生成一个随机数k,再用公钥1对k进行加密,传给发送者。发送者用他的两个私钥对这个加密后的k进行解密,用私钥1解密得到k1,用私钥2解密得到k2。显然,只有k1是和k相等的,k2则是一串毫无意义的数。但发送者不知道接收人加密时用的哪个公钥,因此他不知道他算出来的哪个k才是真的k。发送人把m1和k1进行异或,把m2和k2进行异或,把两个异或值传给接收人。显然,接收人只能算出m1而无法推测出m2(因为他不知道私钥2,从而推不出k2的值),同时发送人也不知道他能算出哪一个。

你可能感兴趣的:(多方安全计算-不经意传输)