Random-Number-Generator

XOF 和 KDF 是否比 DRBG 更有用?

  • May 9, 2019

CSPRNG 有 2 個設計要求:

  1. 輸出不可預測性,
  2. 回溯阻力。

除此之外,NIST SP 800-90Ar1添加了其他功能,例如 a) 實例定制/個性化,b) 操作管理(重新播種計數器等)。

Wikipedia 頁面上列出的 CSPRNG的三個函式中,密鑰和鹽的生成可以使用任何 KDF(甚至是基於普通雜湊函式的)來完成,並且隨機數可以使用簡單的計數器來完成。

並且隨著 SHA3 標準中專用 XOF 的引入,從有限長度的字元串生成任意長度字元串的問題在此過程中得到解決。

XOF 和 KDF 都更容易實現和實際使用,那麼以“NIST-SP-800-90A”方式設計 DRBG 的意義何在?

海綿函式在 2007 年的會議上才最終確定,而最初的 NIST 文件於 2006 年發布。分組密碼和散列的 DRBG 行為早在 2006 年就已為人所知。因此,反复擠壓海綿技術在NIST 的原始出版物,即使它曾經是,也不會被分析/測試。

經濟實力意味著許多國家在技術和認證方面追隨美國的領先地位。因此,為了使用您的“東西”,它可能必須具有 NIST /FIPS 認證。雖然 FIPS 和 NIST 相輔相成,特別是在美國金融和(非軍事)政府領域,但 NIST 製造 FIPS。

所以總而言之,這更多的是法律要求,而不是數學要求。如果契約上寫著“NIST-SP-800-90A”,那麼就是“NIST-SP-800-90A”。XOF 和 KDF 在這種情況下根本不可用。

但你是對的,基於 Sponge 的偽隨機數生成器是一個很好的範例設計。然而,強大的 KDF 可能不是很好。像 Argon2 這樣具有低/瑣碎設置的任何東西都會否定它們的目的,從而使更合適的構造發揮作用。

筆記:

  1. 除了您的第 1 點和第 2 點之外,還有第 3 點,抵抗狀態恢復(連結文件的第 4.2 節)。聽起來就是這樣。
  2. RadioGatún (2006)在正式海綿之前,但似乎被忽視了,即使它是在 NIST 競賽中。
  3. 也許(?)NIST 將在SHA-3 2014 研討會之後再次修改並合併 XOF
  4. 許多優秀的人會在 NIST-SP-800-90A 上工作過。有趣的是,第 iii 頁特別有此致謝,其中提到了兩個人的名字—— “美國國家標準與技術研究院 (NIST) 非常感謝來自 NSA 的 Mike Boyle 和 Mary Baish 為協助制定本建議書所做的貢獻. NIST 也感謝公共和私營部門的許多貢獻”
  5. 有關 #4 的意見,請參閱《2014 年聯邦資訊安全現代化法案》第 3553 節*“主管和秘書的權力和職能” 。*

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