無法理解 1 位 PRF 的概念
Dan Boneh 在他關於從 PRGS 建構塊密碼的講座中說
- 讓我們先看看我們是否可以從 PRG 建構 PRF?
- 讓 $ G:\ K \to K^2 $ 做一個安全的 PRG
- 定義 1 位 PRF $ F:\ K \times {0,1} \to K $ 作為 $ F(k, x\in{0,1}) = G(k) $
$ \quad F $ : 如果 $ 0 $ 選擇 $ G(k)[0] $ , 如果 $ 1 $ , 選擇 $ G(k)[1] $
我無法理解什麼是 1 位 PRF。PRG 僅將種子作為輸入。那麼什麼是 $ {0,1} $ 在 $ F:\ K \times {0,1} \to K $ - 考慮到 $ K $ 是 PRG 的關鍵/種子。
什麼 $ G(k)[x] $ 在 $ F(k, x\in{0,1}) = G(k)[x] $ 意思是?
什麼是 1 位 PRF?
這通常是具有 1 位輸出的 PRF,但文本的其餘部分闡明了它是指 1 位輸入。
是什麼 $ {0,1} $ 在 $ F:\ K \times {0,1} \to K $ ?
它是有兩個元素的集合 $ 0 $ 和 $ 1 $ . 這也是 PRF 輸入的第二/右/正常/非關鍵分量的可能值的集合 $ F $ .
注意:偽隨機函式族(類似偽隨機函式的縮寫 PRF)有兩個輸入(相當於:一個由有序對組成的輸入)。第一個(該對的左側組件)是鍵,第二個(右側)是正常/非鍵輸入(它是偽隨機函式族的任何特定成員的單個輸入)。key對應的偽隨機函式族的成員 $ k $ 經常被注意到 $ F_k $ . 通過那個符號 $ F_k(x)=F(k,x)=F((k,x)) $ . 這裡, $ F_k:\ {0,1}\to K $ (這是特定鍵的特定偽隨機函式 $ k $ ), 自從 $ F:\ K \times {0,1} \to K $ (這就是整個偽隨機函式係列)。
做什麼 $ G(k)[x] $ 在 $ F(k, x\in{0,1}) = G(k)[x] $ 意思是?
PRG $ G $ 接受輸入 $ k $ 並產生一個輸出 $ G(k) $ 由寬度相同的兩部分組成 $ k $ , 顯然在 $ G:\ K \to K^2 $ . 這與 $ G:\ K \to K\times K $ . 也就是說,輸出 $ G $ 是一對有序的位串,同化為兩倍寬的位串 $ k $ ,我們分成兩部分,寬度為 $ k $ , 每個都來自同一個集合 $ K $ 作為 $ k $ 來自。
$ G(k)[x] $ 是輸出的第一個或第二個組件/部分 $ G(k) $ , 根據 $ x $ 存在 $ 0 $ 或者 $ 1 $ . 也是輸出 $ F $ 用於輸入 $ (k,x) $ 在哪裡 $ k $ 是 PRF 的密鑰,並且 $ x $ 是PRF的第二/右/正常/非鍵輸入,是單個位。
究竟是什麼 $ x $ ?
有點。這不是 PRG 的輸入 $ G $ . 它在 PRG 輸出的兩半中進行選擇 $ G $ 用於輸入 $ k $ , 那是 $ G(k) $ . 我們可以想到 $ [x] $ 正如我們
[x]
在具有索引的電腦語言中所做的那樣。