Hash

偽隨機生成器、偽隨機排列和散列函式都是無密鑰的嗎?

  • March 23, 2022

在 Katz 的《現代密碼學導論》中,

第7章對稱鍵原語的實際構造

在前面的章節中,我們已經展示瞭如何從偽隨機生成器(又名流密碼)、偽隨機排列(又名塊密碼)和散列函式等密碼原語建構安全加密方案和消息驗證碼。

我很難理解書中的概念。

  1. “偽隨機排列(又名分組密碼)”是否意味著偽隨機生成器和分組密碼是同一個概念?分組密碼不就是一個映射:{key}x{plaintext}->{ciphertext}?偽隨機排列不是隨機函式嗎:{plaintext}->{ciphertext}?
  2. “偽隨機生成器(又名流密碼)”是否意味著偽隨機生成器和流密碼是相同的概念?為什麼?
  3. 偽隨機生成器、偽隨機排列和散列函式都是無鍵的嗎?
  4. 單向功能也是無鑰匙的嗎?
  5. 單向函式和散列函式是同一個概念,還是密切相關的概念?

縮寫;

  • 偽隨機排列:PRP
  • 偽隨機函式:PRF
  • 偽隨機生成器:PRG
  • 單向函式:OWF

“偽隨機排列(又名分組密碼)”是否意味著偽隨機生成器和分組密碼是相同的概念?分組密碼不就是一個映射:{key}x{plaintext}->{ciphertext}?偽隨機排列不是隨機函式嗎:{plaintext}->{ciphertext}?

PRP 和分組密碼是同義詞。兩者都被定義為鍵控排列系列(其中每個排列都是用一個鍵或多個鍵選擇的)。它們旨在對具有相同語法安全目標的攻擊者俱有小的 PRP 優勢。

確定確切的優勢很難,因為 20 多年來沒有人證明 AES 是 PRP 還是不是 PRP。

還有理想分組密碼(如隨機預言機),它是對手的模型。

?“偽隨機生成器(又名流密碼)”是否意味著偽隨機生成器和流密碼是相同的概念?為什麼?

流密碼(用於單個固定消息號)和 PRG 或多或少是同義詞

PRG的

  • 有固定長度的輸出
  • “一次性”產生輸出

如果我們固定流密碼的輸出長度,它們或多或少是一回事。一般來說,流密碼

  • 可以被視為按需產生“無限”的偽隨機比特流
  • 更靈活、更高效

偽隨機生成器、偽隨機排列和散列函式都是無鍵的嗎?

PRG 和 PRP 是鍵控的。雜湊函式是一個相當廣泛的主題。為抗碰撞而建構的雜湊函式(如 SHA-2)是無密鑰的。HMAC,作為一種構造 PRF 的方法(也作為 HMAC-SHA-2 等雜湊函式的 MAC),有時稱為鍵控雜湊函式。

單向功能也是無鑰匙的嗎?

OWF沒有鍵控。

單向函式和散列函式是同一個概念,還是密切相關的概念?

抗碰撞雜湊函式需要 OWF,而 OWF 不是雜湊函式的同義詞。

我認為他們用“aka”來說明他們用給定的原語創建的例子。首先介紹 PRG,然後他們使用 PRG 製作流密碼。這並不意味著每個 PRG 都是流密碼,它只顯示了一個可能的應用程序。PRP 也是如此。因此,您必須區分理論和嚴格的定義以及實際的上下文應用。

PRF、PRP、OWF 和 Hash 函式可以描述為無密鑰(為簡單起見),但它們也可以有密鑰。我會說這取決於上下文和作者。

OWF 通常是密碼學中最基本的概念之一。散列函式與 OWF 非常相似,但並非每個 OWF 也是散列函式。對於密碼安全的散列函式,有更多的屬性(例如抗碰撞性),OWF 不能滿足這些屬性。

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