跳至內容

不經意傳輸

維基百科,自由的百科全書

不經意傳輸(英語:Oblivious transfer)是密碼學中的一類協議,實現了發送方將潛在的許多信息中的一個傳遞給接收方,但對接收方所接收信息保持未知狀態。

不經意傳輸的第一種形式是由麥可·拉賓 (科學家)在1981年提出的。[1]這種形式的不經意傳輸發送方會有 1/2 的概率將消息發送給接收方,而發送方不知道接收方是否接收到該消息。

這種不經意傳輸方案基於RSA加密算法。1-2不經意傳輸是一種更為常用的不經意傳輸方案,這種方案被Oded Goldreich英語Oded_Goldreich亞伯拉罕·藍波Shimon Even英語Shimon_Even發展成為安全多方計算協議。[2]一般被稱為 「1-n不經意傳輸」,在這種協議下用戶僅能獲得資料庫中的一個元素,而伺服器不知道用戶查詢了哪一個元素。不經意傳輸是私有信息檢索的加強版本。

Claude_Crépeau英語Claude_Crépeau指出,麥可·拉賓的不經意傳輸等同於1-2不經意傳輸。[3]

進一步的工作表明,不經意傳輸是密碼學中的一個基本而重要的問題,被認為是該領域的關鍵問題之一,對於安全多方計算來說是完整的實現。[4]

1–2 不經意傳輸協定

[編輯]

1-2 不經意傳輸協定中,發送方 Alice 有兩個訊息 m0m1,並希望確保接收方只知道其中一個。接收者 Bob 有一個位元 b,希望在 Alice 不知道 b 的情況下接收 mb。 Even-Goldreich-Lempel 協定 (作者部分歸功於 Silvio Micali)是普遍性的,但可以使用 RSA 加密實作如下。

Alice Bob
計算 私密 公開 公開 私密 計算
準備送出的訊息
生成 RSA 密鑰對,並且將公鑰送給 Bob 接收公鑰
產生兩個隨機訊息 接收隨機訊息
中選擇的值。產生隨機數
用隨機訊息混淆進行加密後送給 Alice
此兩者其中之一會等同,但 Alice 並不知道是哪一個
送出兩個訊息給 Bob 接收兩個訊息
因為 Bob 知道它之前選擇的 是哪一個,它能夠解密出

參考

[編輯]
  1. ^ 麥可·拉賓. How to exchange secrets by oblivious transfer. (PDF). [1981-05-20]. (原始內容 (PDF)存檔於2021-11-23) (英語). 
  2. ^ S. Even, O. Goldreich, and A. Lempel. A Randomized Protocol for Signing Contracts (PDF). [1985-06]. (原始內容 (PDF)存檔於2022-01-21) (英語). 
  3. ^ Claude_Crépeau英語Claude_Crépeau. Equivalence between two flavours of oblivious transfer (PDF). [1988] (英語). 
  4. ^ Joe Kilian. Founding Cryptography on Oblivious Transfer (PDF). [1988] (英語).