單向函式生成器
如果我的問題看起來很傻,請原諒我的問題,但我非常想知道:在應用密碼學中,有一個單向函式這樣的東西,給定一個輸入會生成一個對該輸入唯一的輸出。
據我所知,離散對數和階乘是創建單向函式所必需的。
話雖如此,有沒有一種方法可以創建隨機的單向函式,以便:
- 他們每個人都會為相同的輸入提供相同的輸出
- 並且,它們中的每一個對於其他的都足夠獨特?
非常感謝
一個單向函式,給定一個輸入將生成一個對該輸入唯一的輸出。
單向函式不能保證輸出的唯一性。
單向函式的定義為我們提供了給定輸出 $ y = f(x) $ , 很難找到任何原像 $ x^* $ 的 $ y $ 為此 $ f(x^*) = y $ 持有。
據我所知,離散對數和階乘是創建單向函式所必需的。
階乘?你可能是說保理問題?我沒有任何使用階乘的加密貨幣的負責人。
我們不知道這些是否有必要。像 AES 這樣的密碼是單向的,因為對手無法訪問密鑰:很難找到任何加密到給定密文的明文。但是,我們沒有證據證明這些對稱原語實際上是安全的。
此外,我們甚至不知道它們是否足夠。如果 P = NP,則不存在單向函式。DL 和因式分解都不是計算難題。
話雖如此,有沒有一種方法可以創建隨機的單向函式,以便:
each of them would give the same output for the same input and, each of them would be sufficiently unique to the others?
您的第一個要求是該功能確實是一個功能嗎?即每當您提供輸入時 $ x $ 到函式 $ f $ 您將始終獲得相同的輸出?
如果是這樣,那麼是的 - 所有單向函式都是函式。
至於您的第二個約束 - 您必須指定一些足夠獨特的指標。在隨機預言機模型中,很容易構造這樣一個函式:
給定 $ H(\cdot) $ , 一個行為類似於隨機函式的函式,我們可以構造一個函式族 $ H_s(x) = H(s | x) $ (在哪裡 $ | $ 是連接和 $ s $ 一個隨機字元串 $ \in {0,1}^n $ 有一段時間 $ n $ )。這些功能中的每一個 $ H_s(\cdot) $ 將表現為隨機函式,與其他所有函式不同,並且難以反轉。
我不確定我是否已經完全回答了您的問題,如果我應該詳細說明某些部分或誤解了您的問題,請告訴我!