有沒有人使用通用的單向函式實現了公鑰加密方案?
存在一個函式 $ f $ 這樣如果單向函式存在,那麼 $ f $ 是單向函式。這樣的函式稱為通用單向函式。
現在,我遇到的公鑰加密方案使用函式,即使在單向函式存在的假設下,它們是否是單向函式也是一個懸而未決的問題。我的問題是,有沒有人實現了基於通用單向函式的公鑰加密方案?
如果不是,是什麼讓通用的單向函式無法使用?
我們不知道任何基於通用 OWF 的 PKE 構造。實際上,我們甚至沒有任何基於任意 OWF 的似是而非的候選 PKE。獲得這樣的結構是一個主要的開放問題。我們知道,根據 Impagliazzo 和 Rudich的開創性結果,任何 OWF 都不存在 PKE 的黑盒構造。當然,我們不能排除所有可能的構造:因為我們認為 PKE 和 OWF 都存在,所以從任何 OWF 建構 PKE 的有效方法是:忽略 OWF 並採用存在的 PKE。
無論如何,通用 OWF 效率太低,在實踐中無法真正發揮作用。萊文最初的建設真的非常非常低效。Levin 在本文中還給出了基於平舖的更多組合結構,但這對於任何實際目的來說仍然是低效的(儘管可能“在理論上可以實現”,不像他的第一個候選人)。
有通用 PKE 的構造(如果存在任何 PKE 則安全),例如參見本文中的指針,引言中的“組合器和通用密碼原語的簡要歷史”段落。
**編輯:**回答評論中的問題
通用密碼原語與密碼組合器密切相關。一個 $ (1,n) $ -加密組合器需要 $ n $ 候選密碼原語,其中一個保證正確和安全(但我們不知道是哪一個),並產生一個組合的正確和安全原語。
在這項工作中已經正式研究了組合器和通用結構。作者正式證明存在一個 $ (1,n) $ - 原語的組合器意味著原語的通用構造。
然後,他們的論文還提供了一個 $ (1,n) $ - 用於關鍵協議協議的組合器;根據他們之前的結果,這意味著建構通用密鑰協議。此外,它們的構造是保輪的:最終的密鑰協議具有與組合中具有最高輪複雜度的候選者相同的輪複雜度。
這實際上比您正在尋找的結果更普遍,因為 PKE 只是一個 2 輪密鑰協議。事實上,在 Alice 和 Bob 之間採用 2 輪密鑰協商協議,其中 Alice 首先發言。將 Alice 的第一個流定義為公鑰,並將她保存的秘密狀態定義為密鑰。給定第一個流程,Bob 可以計算他的輸出,即共享密鑰(因為他不會收到任何進一步的消息)。消息的加密 $ m $ 然後可以簡單地定義為(協議的第二個流程, $ K \oplus m $ ) (在哪裡 $ \oplus $ 表示按位異或):給定第二個流和她的秘密狀態,Alice 可以恢復 $ K $ (通過密鑰協議的正確性),她可以從中揭露 $ K \oplus m $ 並檢索 $ m $ . 加密方案的安全性源於 KA 協議中密鑰的不可預測性。
此外,這實際上是一個 2-way 等價:給定一個 PKE,建構一個 2 輪 KA 協議很簡單(我會讓你檢查一下)。
總結:有一個 $ (1,n) $ - 兩輪密鑰協議的組合器(因此特別是 PKE)由我在上面指出的工作結果,其中組合的結果仍然是 2 輪 KA。根據他們的另一個結果,這意味著兩輪密鑰協議的通用構造。通過我上面給出的簡單簡化(這是一個標準練習),這意味著一個通用的 PKE。