Pseudo-Random-Generator

為什麼不能只使用一種方式函式來構造PRG,並且不使用硬核謂詞?

  • November 15, 2016

單向函式可以公開一些輸入並保持單向,但仍然不能提供輸入。

  • 正如我所讀到的,我們不能僅僅從 OWF 建構 PRG,而是需要使用 OWF 的硬核謂詞。這是為什麼?
  • 假設 $ |f(s)| > |s| $ ,為什麼以下列方式建構 PRG 是錯誤的? $ G(s) = f(s) $
  • 認為 $ f $ 是一個置換函式。如果[數學處理錯誤]得到一個隨機的[數學處理錯誤],那麼是 $ f $ $ x $ $ f(x) $ 也隨機?
  • 正如我所讀到的,我們不能僅僅從 OWF 建構 PRG,而是需要使用 OWF 的硬核謂詞。這是為什麼?
  • 假設 |f(s)|>|s|,為什麼以下列方式構造 PRG 是錯誤的?G(s)=f(s)

**這取決於您的 OWF 是什麼!**對於一些OWF, $ G(s) = f(s) $ 是PRG;對於其他一些人來說不是。如果我們希望能夠獲取任何OWF 並從中建構 PRG,那麼是的,一種可能性是為其使用 HCP。

第一個很簡單,你自己已經說過了:

正如我所讀到的,我們不能只從 OWF 構造 PRG,但我們需要使用 OWF 的硬核謂詞,這是為什麼呢?

我想你對正式的陳述很熟悉,但非正式地說,我們有:

  • 一個函式 $ f:{0,1}^* \rightarrow {0,1}^* $ 是單向的,如果我們給對手 $ y = f(x) $ 和長度 $ |x| $ ,並且他找到的機率可以忽略不計 $ x’ $ , 英石 $ f(x’) = y $ .
  • PRG 是一個函式 $ g:{0,1}^n \rightarrow {0,1}^m $ ,其中輸出與[ Math Processing Error ]無法區分,表示[ Math Processing Error ]位上的均勻分佈,並且 $ U^m $ $ m $ $ m > n $

現在考慮以下構造:[數學處理錯誤],其中[數學處理錯誤]是一個OWF。僅僅連接一個[數學處理錯誤]並不會改變 OWF 的安全屬性。事實上,任何能夠突破的對手 $ f’(x) = f(x)|1 $ $ f $ $ 1 $ $ f(x) $ 很容易變成對手 $ f’(x) $ 反之亦然。所以[數學處理錯誤]是一個OWF iff $ f’ $ $ f $ 是一個OWF。

但很明顯,[ Math Processing Error ]不是 PRG,因為[ Math Processing Error ]的輸出可以很容易地與均勻分佈區分開,只需查看最低序位(總是[ Math Processing Error ]與製服)。 $ f’ $ $ f’ $ $ 1 $

但正如您自己所說:使用核心謂詞,您可以獲得長度擴展。也許這些講義更清楚地說明瞭如何實現這一目標(以及為什麼有必要)。通俗地說:OWF 不需要在其輸出的所有部分都無法反轉 - 而 PRG 需要在其所有輸出上與隨機性無法區分。

為什麼以下列方式構造 prg 是錯誤的 G(s) = f(s) 假設 |f(s)| > |s|?

如果我們指定 $ f(x):{0,1}^n \rightarrow {0,1}^n $ 保留 OWF 的長度,並使用上面的結構,我們得到 $ f’:{0,1}^n \rightarrow {0,1}^{n+1} $ ,這也是一個OWF。這滿足 PRG 的長度標準,但它是可區分的。成為 OWF 不足以成為 PRG。

f 是一個置換函式,如果 f 得到一個隨機 x 那麼 f(x) 也是隨機的嗎?

置換是來自集合的雙射,例如 $ {0,1}^n $ 進入自身。這意味著,沒有衝突,每個元素都有一個原像。因此,如果我們考慮從 $ {0,1}^n $ ,那麼輸出也均勻分佈在 $ {0,1}^n $ - 因為排列在輸入和輸出之間具有一對一的關係。但這也得到了滿足,例如 $ p(x) = x + 1 \mod n $ 超過 $ \mathbb{Z}_n $ ,我不認為這就是你的意思。但這與單向函式和 PRG 的概念完全無關。

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