不经意传输协议:如何安全地传输部分消息
不经意传输协议:安全地传输部分消息
不经意传输协议(Oblivious Transfer Protocol)是一种密码学协议,允许发送方发送多条消息,而接收方只能解密其中一部分,同时保证发送方不知道接收方获得了哪些消息。以下是如何将该协议扩展到传输n条消息,接收方获得m条消息(m≤n)的情况:
协议步骤:
- 密钥生成: 发送方Alice生成两对公钥/私钥密钥对,并将两个公钥发送给接收方Bob。2. 密钥选择与加密: Bob选择一个对称算法密钥(例如AES密钥),并使用Alice的一个公钥加密该密钥。然后,Bob将加密后的密钥发送给Alice,但不告诉Alice他使用了哪个公钥。3. 密钥解密: Alice使用她的两个私钥分别解密Bob发送的密钥。其中一个私钥可以成功解密,得到Bob选择的对称密钥,而另一个私钥解密会失败,得到一堆无意义的比特序列。Alice不知道哪个密钥是正确的。4. 消息加密: Alice使用两个密钥分别加密n条消息。其中m条消息使用正确的对称密钥加密,剩下的(n-m)条消息使用解密失败得到的无意义密钥加密。Alice将所有加密后的消息发送给Bob。5. 消息解密: Bob使用他选择的对称密钥尝试解密所有消息。他可以成功解密m条消息,而剩下的(n-m)条消息对他来说是乱码。6. 验证(可选): 为了防止Alice欺骗(例如,使用同一个密钥加密所有消息),Alice可以在协议结束后将她的私钥发送给Bob。Bob可以使用这些私钥验证Alice是否按照协议执行,并解密剩余的(n-m)条消息。
安全性:
- 对Alice的安全性: Alice不知道Bob使用哪个公钥加密了他的对称密钥,因此她不知道Bob可以解密哪些消息。* 对Bob的安全性: 在第6步之前,Bob无法获得Alice的私钥,因此他无法解密那些使用无意义密钥加密的消息。
应用:
不经意传输协议在各种安全计算和隐私保护场景中都有应用,例如:
- 电子投票: 选民可以将他们的投票加密后发送给计票机构,而计票机构只能解密其中一部分投票,从而保证投票的匿名性。* 隐私保护的数据挖掘: 数据挖掘方可以从数据提供方获取部分数据,而数据提供方不知道数据挖掘方获得了哪些数据。* 安全的多方计算: 多方可以在不泄露各自私有数据的情况下,共同计算一个函数的结果。
总而言之,不经意传输协议提供了一种安全的方式来传输部分消息,同时保护发送方和接收方的隐私。
原文地址: http://www.cveoy.top/t/topic/fZY1 著作权归作者所有。请勿转载和采集!