Random-Number-Generator

密碼學工程 - 設計原理和實際應用 - 第 9 章生成隨機性 - 第 9.4 節 生成器

  • January 18, 2021

我目前正在閱讀 Wiley 於 2010 年出版的“Niels Ferguson, Bruce Schneier, Tadayoshi Kohno”撰寫的《密碼學工程 - 設計原理和實際應用》。

在“第 9 章生成隨機性”、“第 9.4 節生成器”中,有兩段我不太明白(見下面的截圖)。

在此處輸入圖像描述

特別是作者是怎麼來的機率 $ 2^{-97} $ , 請求數為 $ 2^{97} $ ,攻擊者的總工作量為 $ 2^{113} $ 腳步?

在此處輸入圖像描述

這從上述問題繼續。作者是什麼意思 $ 2^{113} $ 在攻擊者的機器和被攻擊的機器上都有踩踏?

任何能幫助解釋清楚這一點的好心人都非常感謝!

提前致謝!

本節討論Fortuna,它使用具有 128 位塊和 256 位密鑰大小的塊密碼。該密碼用於 CTR 模式。在 CTR 模式下,如果攻擊者可以訪問內部狀態,則安全性失去(密鑰和目前計數器值),因此在請求後,會生成 2 個新塊並用作新密鑰,舊密鑰是忘記消除舊請求的暴露。

所有的討論都是關於在 CTR 模式下區分 PRP 和 PRF。在使用 PRP 的 CTR 模式下,如果您使用一個密鑰加密,那麼 $ 2^{128} $ 塊是不同的,因為它是一個排列,但我們不期望 PRF 會出現這種情況。因此PRP-PRF 切換引理適用於區分統計偏差。後 $ q $ 消息的安全性損失與 $ q^2!/2^{128} $ .

在經典的生日攻擊中,當輸出是隨機的時,我們預計會發生衝突,請記住 CTR 模式不會使用 PRP 生成。對於具有 128 位輸出的 PRF,大約

  • 一旦我們生成 $ 2^{64} $ 會有輸出 $$ \approx (2^{64})^2/2^{128}/2 = 2^{128 - 129} = 1/2 $$改變碰撞。但我們不會在 Fortuna 中看到它,它在 CTR 模式下使用 PRP!因此,這是一個區別。
  • 如果你只生成 $ 2^{16} $ 單個鍵的塊,那麼機率是$$ \approx (2^{16})^2/2^{128}/2 = 2^{32 - 129} = \dfrac{1}{2^{97}} $$這意味著這種區分機率可以忽略不計。

請求 $ 2^{97} $ 塊是生日攻擊的反面。既然有 $ \dfrac{1}{2^{97}} $ 看到碰撞的變化 $ 2^{16} $ 塊然後你需要請求 $ 2^{97} $ 塊以查看 a 內的碰撞 $ 2^{16} $ -堵塞。因此成本為 $ 2^{97}\cdot 2^{16} = 2^{113} $ .

對於 256 位塊大小,衝突不再是威脅,因為您需要 $ 2^{128} $ 塊以 1/2 的機率看到一個。

$$ \approx (2^{128})^2/2^{256}/2 = 2^{256 - 257} = 1/2 $$

這 $ 2^{113} $ 是 128 位攻擊成本的延續,因為$$ (2^{113})^2/2^{256}/2 = \dfrac{1}{2^{32}} $$

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