“雙重加密”使用相同的密碼?
當談到“雙重加密”這個詞時,我感到畏縮。我看到的是以下場景。
有人有純文字,他們使用 14 輪變體使用 AES 密碼對其進行加密,即 AES256。然後他們執行該加密資訊,再經過 14 輪,認為它是雙重加密的。
在我看來,我對它的看法不同。當我想到加密和加倍時,我相信加密的強度,在 AES 的情況下,與算法的輪數有關。所以在這種情況下,我認為雙重加密是通過 AES 密碼進行 28 輪。
簡而言之 - AES(28 輪)> AES(14 輪)+ AES(14 輪)
我已經閱讀了一些關於級聯加密的白皮書,但他們提到使用兩種不同的密碼,而不是兩次使用相同的密碼。
有沒有人能為我闡明這一點?
當我想到加密和加倍時,我相信加密的強度,在 AES 的情況下,與算法的輪數有關。
我不認為這是思考問題的最佳方式。
加密的強度實際上是“攻擊者需要做多少工作才能執行攻擊”。
對於密碼,有兩種策略:
- 我們可以遍歷所有可能的鍵值,看看哪個“有效”
- 我們可以依靠密碼本身的加密弱點
增加輪數可能(並非總是如此,但在實踐中似乎會)使密碼中的密碼弱點更難被利用,但是(除非增加輪數也增加了密鑰位的數量),不會這樣做任何可以減慢蠻力攻擊的東西(除了一個常數因素)。
據我們所知, AES-256中沒有已知的加密弱點(除了一些相關的密鑰攻擊,通常不適用),因此添加更多輪次並不會增加任何有意義的安全性。
現在,通過兩個單獨密鑰的 AES-256 執行文本看起來會使密鑰位數增加一倍,從而顯著提高安全性。然而,事實證明存在比布魯斯更好的強制攻擊;這涉及使用所有可能的 AES-256 密鑰加密明文,使用所有可能的 AES-256 密鑰解密密文,然後搜尋匹配項。
當然,所涉及的工作量是荒謬的;任何涉及 $ 2^{256} $ 操作將是可行的;這可以通過熱力學和執行任何操作所需的最小能量來證明。
這意味著,除非密碼學進步允許我們以顯著低於 $ 2^{256} $ 操作,會很安全。
這直接將我們引向下一個主題:
我已經閱讀了一些關於級聯加密的白皮書,但他們提到使用兩種不同的密碼,而不是兩次使用相同的密碼。
這種潛在的加密弱點正是人們使用不同密碼的原因。AES-256 中可能存在一個弱點,使得密碼比我們目前的理解要弱得多;但是,如果我們執行 AES-256 加密,然後(例如)Camellia-256加密,那么生成的密碼是強密碼,除非 AES-256和Camellia-256 都很弱。兩種密碼中的一種可能存在弱點;人們認為兩者都包含弱點的可能性要小得多。