Random-Number-Generator

為什麼 BCRYPT_RNG_DUAL_EC_ALGORITHM 會從 Windows 10 上的 CNG API 中刪除?

  • July 23, 2018

在 => Microsoft Docs上的文章

CNG 算法標識符

我注意到BCRYPT_RNG_DUAL_EC_ALGORITHM自 Windows 10 以來已將其刪除。

從 Windows 10 開始,已刪除雙橢圓曲線隨機數生成器算法。該算法的現有用途將繼續有效;但是,隨機數生成器基於 NIST SP 800-90 標準中指定的 AES 計數器模式。新程式碼應該使用BCRYPT_RNG_ALGORITHM,建議將現有程式碼更改為使用BCRYPT_RNG_ALGORITHM

這是否意味著橢圓曲線 PRNG 已經被認為是不安全的?

政府的橢圓曲線後門是真的,不是嗎?

政府的橢圓曲線後門是真的,不是嗎?

我們不確定,但有跡象表明這個方向。不過更重要的是,

這是否意味著橢圓曲線 PRNG 已經被認為是不安全的?

正如您在上面看到的,使用 Dual-EC可能是一個真正的可利用風險。然而,還有其他原因說明 Dual-EC 不是最大的隨機數生成器以及人們不想使用它的原因:

  • 它不再在 NIST 指定的 RNG 列表中,並且已從 SP 800-90A rev.1 中刪除
  • 與所有其他“批准”的 RNG 相比,它非常慢(比如慢了三個數量級)。
  • 它甚至沒有安全證明,這是您首先要使用如此慢的 RNG 的唯一原因,更具體地說…
  • 它的輸出實際上與隨機的不同(這就像任何 RNG 都不應該違反的最低限度的安全保證)!

所以 TL;DR:是的,Dual-EC 是可後門的,速度很慢,甚至不是隨機的,可能因此被丟棄。

補充閱讀:Matthew Green 關於該主題的博文(也是此答案的來源)以及Bernstein、Lange 和 Niederhagen 的“Dual EC: A Standardized Back Door”

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