Block-Cipher
用計數器轉動 PRG 中的 PRP
我正在關注Coursera Cryptography I 課程,我有以下問題,
我有點困惑,在第 2 週的講座“什麼是塊密碼? ”中,反模式 PRF 是安全 PRG。
PRP 是 PRF,並且 PRP 具有如果 (x₁, x₂) ∈ X, x₁ ≠ x₂,則 PRP(x₁) ≠ PRP(x₂) 的性質——因為它們是可逆的。
在計數器模式下使用 PRP 會產生一系列彼此不同的值。現在——這不是隨機的。事實上,我們可以看到,在 128 位 PRP 的情況下,例如,在 2⁶⁴ 不同的輸出之後,它實際上更有可能得到重複而不是不重複。然而,我們創建的 PRG 不會有這種行為,我們將能夠區分它們。
換句話說,這個 PRG 不會受到生日攻擊嗎?
你說得很對。事實上,如果您接近“生日界限”,計數器模式下的 PRP 可以與隨機序列區分開來。我們通過從不一次產生那麼多輸出來解決這個問題。使用 128 位分組密碼,輸出 $ 2^{40} $ 字節(這是很多輸出)為我們提供了大約的顯著優勢 $ 2^{-56} $ (該長度的隨機塊序列的機率會重複)——這足夠小,我們不用擔心。