是否可以生成後門 DH 參數?
我知道已經有人詢問並回答了是否可以生成弱 DH 參數。
但是“最近”我們經歷了Logjam 攻擊,它利用 GNFS 的預計算能力快速破解許多離散對數問題(DLP) 實例。
現在我知道 GNFS 的主要工作量是對給定組進行預計算(超過所需工作量的 99%)。
現在我問自己:
在某些(秘密)知識的情況下,是否可以生成允許加速 GNFS 預計算的 DH 參數?
離散對數組中的活板門由 Daniel M. Gordon 於 1992 年首次提出$$ 1 $$響應 NIST 最近提出的數字簽名標準(在數百個其他響應中)$$ 2 $$包括反對現在臭名昭著的每個簽名秘密的隨機生成)。雖然計算成本太高,以至於當時的學術研究人員無法證明這一點,但 Gordon 確實建議通過使用我們今天所說的半剛性程序來選擇素數來減輕擔憂。
快進到 2016 年,Fried、Gaudry、Heninger 和 Thomé 對 Gordon 的算法進行了除塵並將其應用到實踐中$$ 3 $$要花:
- 12 個核心小時選擇 1024 位 DSA prime $ p $ ,具有 160 位素因子 $ q $ 的 $ p - 1 $ , 具有 SNFS 多項式 $ f $ 承認……
- 幾百個核心年(在學術集群上分佈在幾千個核心上幾個月)的預計算,以實現……
- 幾個核心天數來計算每個離散日誌。
論文$$ 3 $$值得一讀以了解更多技術細節和歷史背景。有一些警告:
- 該實驗為 DSA 生成了一個組,一個具有 160 位素數子組的 Schnorr 組,對於 DH 來說,避免 Lim-Lee 主動小子組攻擊不是一個安全的素數$$ 4 $$這與簽名應用程序無關。我還不清楚該技術是否可以用活板門找到一個安全的素數:如果沒有別的,算術模 a(比如說)2047 位 $ q $ 將花費十倍於算術模數 160 位 $ q $ .
對位:但是在RFC 5114中,莫名其妙地記錄了用於 DH 的 Schnorr 組。論文$$ 3 $$使用具有明顯SNFS 多項式的素數報告野外系統,例如 $ 2^{1024} - 1093337 $ . 多年來socat使用複合模量$$ 5 $$. 也許比我更仔細地閱讀成本會表明,尋找一個安全的素數並不比所證明的 Schnorr 組要昂貴得多。
- 顯然,按照今天的標準,1024 位模數太小了:多年來,資金充足的政府或公司可以在具有 1024 位模數的組中安裝 GNFS 離散對數計算,這被認為是合理的。
對位:但它不應該在學術集群的範圍內!如果這個 1024 位模數的活板門在今天的學術集群範圍內,那麼 2048 位模數的活板門在主要政府或公司範圍內嗎?
因此,雖然在您自己客廳的私密空間中生成帶有隱藏 SNFS 後門的 2048 位安全素數可能超出您的預算,但您絕對應該對建議使用除半剛性RFC 3526的。
或者只使用橢圓曲線DH,特別是X25519。