不经意传输
来自维基百科,自由的百科全书
不经意传输(英语:Oblivious transfer)是密码学中的一类协议,实现了发送方将潜在的许多信息中的一个传递给接收方,但对接收方所接收信息保持未知状态。
![]() |
不经意传输的第一种形式是由迈克尔·拉宾 (科学家)在1981年提出的。[1]这种形式的不经意传输发送方会有 1/2 的概率将消息发送给接收方,而发送方不知道接收方是否接收到该消息。
这种不经意传输方案基于RSA加密算法。1-2不经意传输是一种更为常用的不经意传输方案,这种方案被Oded Goldreich、亚伯拉罕·蓝波和Shimon Even发展成为安全多方计算协议。[2]一般被称为 “1-n不经意传输”,在这种协议下用户仅能获得数据库中的一个元素,而服务器不知道用户查询了哪一个元素。不经意传输是私有信息检索的加强版本。
Claude_Crépeau指出,迈克尔·拉宾的不经意传输等同于1-2不经意传输。[3]
进一步的工作表明,不经意传输是密码学中的一个基本而重要的问题,被认为是该领域的关键问题之一,对于安全多方计算来说是完整的实现。[4]
1–2 不经意传输协定
1-2 不经意传输协定中,发送方 Alice 有两个讯息 m0 和 m1,并希望确保接收方只知道其中一个。接收者 Bob 有一个位元 b,希望在 Alice 不知道 b 的情况下接收 mb。 Even-Goldreich-Lempel 协定 (作者部分归功于 Silvio Micali)是普遍性的,但可以使用 RSA 加密实作如下。
Alice | Bob | |||||
---|---|---|---|---|---|---|
计算 | 私密 | 公开 | 公开 | 私密 | 计算 | |
准备送出的讯息 | ||||||
生成 RSA 密钥对,并且将公钥送给 Bob | 接收公钥 | |||||
产生两个随机讯息 | 接收随机讯息 | |||||
从中选择的值。产生随机数 | ||||||
用随机讯息混淆进行加密后送给 Alice | ||||||
此两者其中之一会等同,但 Alice 并不知道是哪一个 | ||||||
送出两个讯息给 Bob | 接收两个讯息 | |||||
因为 Bob 知道它之前选择的 是哪一个,它能够解密出 |
参考
Wikiwand - on
Seamless Wikipedia browsing. On steroids.