Pseudo-Random-Function

不同鍵的偽隨機函式

  • May 12, 2019

例子

有人可以向我解釋他們如何制定方程式以及它如何等於 $ 0^{n} $ (比如 F(x, x) 等於什麼或它們如何相互抵消?)在第一個盒子上,如果它與第二個盒子有關。我知道 PRF 輸出加上本身會使所有位為 0,所以 $ F_K(x) + F_K(x) = 0^{n} $

正如 kodlu 之前所說,這段文字令人困惑,因為它使用了名稱 $ F $ 對於兩種不同的東西。為了清楚起見,我將使用

  • $ P $ (而不是 $ F $ ) 對於我們已經知道(或假設)是 n 位偽隨機函式的函式。通常,偽隨機函式使用 k 位密鑰將 n 位明文塊“加密”為 n 位密文塊。
  • $ M $ (而不是 $ F $ ) 對於我們試圖證明絕對是或絕對不是偽隨機函式的任何函式。作為攻擊者,如果你能找到任何區分的方法,你就贏了 $ M $ 來自隨機預言機——換句話說,如果你能證明那個候選人,你就贏了 $ M $ 絕對不是偽隨機函式。
  • $ D $ 是可以應用於任何鍵控功能的“功能的功能” $ M $ . 該文本未說明一些希望您填寫的細節,但要明確(其中 + 表示 xor): $$ D(M, K, K’, x, y) = \begin{cases} 1, & \mbox{if } M_{K, K’}(x,x) + M_{K, K’}(x,y) + M_{K, K’}(y,x) + M_{K, K’}(y,y) = 0^n \ 0, & \mbox{otherwise} \end{cases} $$

我們分別申請 $ D $ 兩個不同的東西:首先我們設置 $ M $ 到一個真正的隨機預言機 $ R $ (或偽隨機函式 $ P $ ,應該給出相同的結果)併計算 D,然後我們設置 $ M $ 到函式 $ G $ 問題中給出併計算 D。(當 D 呼叫具有兩個長度為 k 的密鑰和兩個長度為 n 的輸入的隨機預言機時,我們連接這些密鑰並將輸入連接起來以呼叫一個具有一個長度為 2k 的密鑰的隨機預言機和一個長度為 2n 的輸入,我們只使用 oracle 輸出的前 n 位)。

如果密鑰與消息相同會發生什麼,例如 $ F_x(x) $ .

在這個特定的問題和解決方案中,我們獨立於密鑰設置消息,因此它們幾乎可以肯定不一樣。即使它們是相同的,也沒有什麼特別的事情發生。一些(舊的和已棄用的)密碼雜湊函式將密鑰設置為與消息相同:“HMACs that has the same key and message”“HMAC SHA1 using the same value for key and message”等。

引用自:https://crypto.stackexchange.com/questions/41185