Rsa

當 NIST 不允許使用 1024 位密鑰時,會對 SHA-3(最多 512 位)產生什麼影響?

  • February 20, 2021

引用文章Gone in 60 Months or Less

美國國家標準與技術研究院 (NIST) 已禁止在 2013 年 12 月 31 日之後使用 1024 位密鑰,因為它們不安全。計算能力和雲計算的快速進步使網路犯罪分子很容易破解 1024 位密鑰。2007 年,瑞士洛桑聯邦理工學院 (EPFL) 的一名研究人員破解了一個 700 位的 RSA 密鑰,他估計 1024 位的密鑰長度將在 5 到 10 年後被利用。甚至不到三年後的 2010 年,研究人員就破解了 1024 位 RSA 密鑰

因此,我們談論的是 512 位“加密安全”雜湊會議密碼實現,到 2013 年底,不再允許使用 1024 位密鑰。

這對 SHA-3 意味著什麼,因為 NIST 送出設定了速率 $ r $ 分別為 224、256、384 和 512 位雜湊大小的 1152、1088、832 或 576(144、136、104 和 72 字節)?從長遠來看,我們是否仍然可以考慮使用 SHA-3 將密碼散列到所需的位長度並遵守 NIST 規則,或者我們是否需要期望 NIST 逐漸開始在所有協議中強制執行該 1024 位密鑰規則?

那不是同一種鑰匙。

對稱密鑰是一堆位,因此任何大小正確的位序列都是可能的密鑰。這樣的密鑰會受到暴力攻擊,代價是 $ 2^n $ 為 $ n $ 位密鑰。128 位遠遠超出了今天(以及明天)的暴力破解。如果分組密碼是“完美的”,那麼列舉所有可能的密鑰是最有效的攻擊(即“沒有捷徑”)。

RSA 密鑰是具有大量內部結構的數學對象。在 1024 位 RSA 密鑰中,有一個 1024 位整數值,稱為模數:這是一個大整數,其值介於 $ 2^{1023} $ 和 $ 2^{1024} $ . 要破解 RSA 密鑰,您“只需”將該模數分解為其主要因素有相對有效的算法,在某種程度上,分解 1024 位 RSA 模數接近可行。據估計,分解 1024 位 RSA 模數的“成本”類似於暴力破解 77 位對稱密鑰的“成本”。請注意,這不是同一種成本(您需要大量快速 RAM 來分解大整數,而列舉許多 AES 密鑰根本不需要 RAM)。

DSA 和 Diffie-Hellman 密鑰也是數學對象,同樣具有很多內部結構。還有一個模數,但是一個素數,所以它不是分解,而是別的東西,稱為離散對數。碰巧打破離散對數模 $ n $ -bit prime的成本分解 $ n $ -bit RSA 模數(實際上,DL 成本要高一些)。因此,1024 位 DSA 或 DH 密鑰的強度也類似於 77 位對稱密鑰(或者可能是 80 位對稱密鑰)。

橢圓曲線密碼術再次使用數學對像作為密鑰,但具有另一種結構,對於給定的安全級別,它適合更少的位。基本上,你得到“ $ n $ -位安全”(電阻類似於 $ n $ -位對稱密鑰)與 $ 2n $ 位曲線。

散列函式沒有鍵。然而,有一個抵抗各種攻擊(碰撞、原像、第二原像……)的概念,其成本可以根據函式輸出大小來估計(假設函式是“完美的”)。對於具有 $ n $ -位輸出大小,抗碰撞性在 $ 2^{n/2} $ ,對原像(和第二原像)的抵抗力在 $ 2^n $ . (關於通過放寬後一個值來使 SHA-3 更快的討論正在進行中,即對具有 256 位輸出長度的原像具有“僅”128 位安全性。)


有關比較強度估計的大量數據,請參閱此站點。特別是,這些NIST 建議說明了他們的觀點:

  • 1024 位 RSA/DSA/DH 和 160 位 ECC 與 80 位對稱密鑰“一樣好”。
  • 2048 位 RSA/DSA/DH 和 224 位 ECC 與 112 位對稱密鑰“一樣好”。
  • 3072 位 RSA/DSA/DH 和 256 位 ECC 與 128 位對稱密鑰“一樣好”。
  • 7680 位 RSA/DSA/DH 和 384 位 ECC 與 192 位對稱密鑰“一樣好”。
  • 15360 位 RSA/DSA/DH 和 512 位 ECC 與 256 位對稱密鑰“一樣好”。

NIST 還表示,應該避免使用“80 位”安全級別,除非強制要求與遺留系統進行互操作。

這五個正式的“安全級別”是 AES 定義為三種密鑰大小(128、192 和 256 位——兩個較低級別映射到 2DES 和 3DES)和 SHA-2 具有四種輸出大小(SHA-224 、SHA-256、SHA-384 和 SHA-512,“80 位”級別用於 SHA-1);同樣,SHA-3 旨在提供四種輸出大小 224、256、384 和 512 位。

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