偽隨機生成器、偽隨機排列和散列函式都是無密鑰的嗎?
在 Katz 的《現代密碼學導論》中,
第7章對稱鍵原語的實際構造
在前面的章節中,我們已經展示瞭如何從偽隨機生成器(又名流密碼)、偽隨機排列(又名塊密碼)和散列函式等密碼原語建構安全加密方案和消息驗證碼。
我很難理解書中的概念。
- “偽隨機排列(又名分組密碼)”是否意味著偽隨機生成器和分組密碼是同一個概念?分組密碼不就是一個映射:{key}x{plaintext}->{ciphertext}?偽隨機排列不是隨機函式嗎:{plaintext}->{ciphertext}?
- “偽隨機生成器(又名流密碼)”是否意味著偽隨機生成器和流密碼是相同的概念?為什麼?
- 偽隨機生成器、偽隨機排列和散列函式都是無鍵的嗎?
- 單向功能也是無鑰匙的嗎?
- 單向函式和散列函式是同一個概念,還是密切相關的概念?
縮寫;
- 偽隨機排列: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 不能滿足這些屬性。