Elliptic-Curves
為什麼有人在 CSPRNG 中使用橢圓曲線?
我今年在 BSides London 上看到了Martijn Grooten 關於橢圓曲線的演講,它幫助我了解了橢圓曲線加密的工作原理,尤其是在 Diffie-Hellman (ECDH) 的情況下。他還談到了將 EC 用於隨機數生成器(例如 Dual_EC_DRBG)以及為什麼它們可能存在缺陷/後門。
這讓我想到:為什麼我們還要費心將 EC 用於 CSPRNG?是什麼驅使我們去嘗試?當然,基於分組密碼的 CSPRNG(例如 AES-CTR)會更快、更可靠,並且沒有潛在的“隱藏號碼”後門?EC 為 PRNG 世界帶來的主要好處是什麼,超過了它們的弱點潛力?
在大多數情況下,我們不會打擾基於橢圓曲線的偽隨機生成器。
DUAL_EC_DRBG
被硬塞進了一個NIST 標準,該標準還包括一個分組密碼生成器,CTR_DRBG
和兩個基於雜湊的 -Hash_DRBG
和HMAC_DRBG
- 實際用於該領域。數論生成器,包括Blum-Blum-Shub
DUAL_EC_DRBG
和其他幾個 ,傾向於宣傳可證明的安全性。這意味著預測下一位減少到解決一個可能很困難的問題,如整數分解或離散對數問題。雖然這對數學家和理論家很有吸引力,但這種生成器往往非常緩慢且難以正確實現,即不會通過側通道或錯誤算法洩漏狀態資訊。從業者非常喜歡基於對稱原語的生成器,這些原語更快、更容易實現和推理,而且——作為獎勵——也恰好抵制量子電腦,如果這些電腦能夠建成的話。