2017-04-23 114 views
0

基於RFC 2631和RFC 3526.如何選擇實施的Diffie-Hellman密鑰交換

正如你可以在RFC 3526看到我目前正在寫代碼來實現的Diffie-Hellman密鑰交換壯年,還有很多基團如 1536位MODP組// 2048位MODP組// 3072位MODP組// 4096位MODP組// 6144位MODP組// 8192位MODP組

從這些羣組中選擇一個羣組時,應該基於什麼?

你能告訴我如何從Diffie-Hellman密鑰交換和原因中選擇一組來進行Diffie-Hellman密鑰交換嗎?

+0

您可以查看以下查詢:https://security.stackexchange.com/questions/5263/where-do-i-get-prime-numbers-for-diffie-hellman-can-i-use-他們-兩次。 –

回答

0

您應該注意的第一件事是使用來自標準carries some risk的固定素數。話雖如此,我相信國家安全局不能破解其中的任何一項,但這並不意味着他們將無法達到XXX年後的最小規模。

您選擇的關鍵尺寸都取決於您所需的安全性。我們知道的用於突破Diffie Hellman的最佳算法與我們用於保理的最佳算法並無太大差別。簡而言之,1024位及以下是不可能的,但2048位及以上的時間不會很快降臨(除非有數學突破或量子計算機變得實用,如果後者發生,那麼DH完全註定)。

那麼我們知道什麼是可破解的?

  • 2010年,a 768-bit number was factored。作者總結說:「我們的工作的另一個結論是,我們可以自信地說,如果我們將自己限制在一個開放的社區,學術努力與我們一樣,除非在因子分析中發生了戲劇性的變化,我們將無法將1024位RSA模數在接下來的五年內(參見[30])。之後,所有投注都關閉。「
  • 今年,一個768-bit prime discrete logarithm was computed(證明768位DH是易碎的)。作者寫道:「另外,我們在第3節 中明確說明,繼續使用1024位素數字段ElGamal或DSA密鑰比1024位RSA(全部仍然普遍使用)風險大得多,因爲一旦成功已經針對一個精心挑選的主要領域進行了攻擊,所有這個主要領域的用戶都會受到額外的額外努力的影響。「

正如您所看到的,沒有跡象表明1536位接近被攻擊,這可能表明任何密鑰大小都可以。但是,鑑於我們所瞭解的使用硬編碼素數的危險性,您可能需要在安全方面犯錯,並至少使用2048位。

誠實地說,我不會爲超越這個而感到恐慌。是的,有很多人認爲應該使用至少4096位或更高。但是,我還沒有看到任何這些人理解打破這些算法的數學。最大的諷刺之處在於,當那些人推薦使用4096位RSA或DH交換256位AES密鑰時,並沒有意識到他們降低了AES密鑰的安全性。如Unbelievable Security Matching AES security using public key systems所述,「使用公鑰系統匹配AES-192或AES-256安全級別需要的公鑰大小遠遠超過當前常用的任何值。」即192比特的AES密鑰對應於7000比特的RSA/DH,而256比特的AES對應於16000比特的RSA/DH。底線:使用2048位MODP羣組,不要驚慌。你更有可能擁有打破你的密碼的implementation problems,而不是根據其大小來破解數字。