Aes

做 2 輪 AES-128 有什麼問題嗎?與 AES-256 相比,安全性如何?

  • January 7, 2021

我有一個帶有硬體 AES-128 加密的 SoC,這在功耗和使用的記憶體方面顯然非常有效。但是,我們希望使用 AES-256 加密(一半用於商業原因,一半用於後量子安全)。為此,我們考慮:

  • 使用軟體加密(這將更慢,使用更多功率,並且至少需要更多程式碼,因此需要更多快閃記憶體空間)。
  • 另一輪使用 2 輪 AES-128,使用不同的密鑰,有效地為我們提供了 256 位的密鑰長度。

我知道 2 輪 128 位與 1 輪 256 位不同,但由於我不是專家,我想知道是否有人知道這種做法帶來的缺點或漏洞,最終是否會這樣相當於 AES-256 帶來的安全性(即,需要類似的時間來破解加密)。

另外,我使用 AES CTR。計劃的實現將是創建第一個密碼塊,將其與第二個密碼塊進行異或,並將其與純文字進行異或。

使用 128 位 AES 和兩個不同密鑰的雙重加密不提供 256 位安全性。特別是,典型的中間相遇攻擊適用,預期成本 $ 2^{128} $ 加密和 $ 2^{127} $ 解密。事實上,這種攻擊需要大量的記憶體,但存在改進(使用帶有顯著點的循環查找)大大降低了記憶體需求。請參閱Paul C. van Oorschot 和 Michael J. Wiener:Parallel Collision Search with Cryptanalytic Applications密碼學雜誌,1999 年 1 月,第 12 卷,第 1 期)中關於 MitM 的第 5.3 節

我發現系統的弱點可能比 AES-128 的密鑰大小要小。例如,系統可能容易受到密鑰洩露或側通道攻擊的影響。

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