是否需要 1024 位(對稱)加密?
我想我們都知道CAESAR 競爭。現在,本次比賽的目的是選擇提供經過驗證的加密的(組合)獲勝者。
我現在假設這場比賽產生的結果非常好,這意味著未來 50 多年(!)年的密碼分析不會產生任何重大攻擊(加速不超過 $ 2^{80} $ 與蠻力相比)。此外,可以假設該方案具有 512 位密鑰,以達到針對量子電腦的 256 位安全性。
到目前為止的假設,現在回到背景:
我最近閱讀了 B. Schneier 的這篇文章,其中指出熱力學定律不允許計數器計數超過 $ 2^{200} $ ,即使在理想環境下(3.2K,戴森球,kT 用於位翻轉,…)。所以我問自己以下問題,因為 512 位似乎永遠足夠了(如果我們不收穫整個宇宙的能量……)
現在我的問題是:
除了性能和靈活性之外,是否還需要1024 位對稱加密?
為了回答這個問題,我們需要了解所有現代密碼學背後的基礎,即計算難度。今天,我們相信我們知道如何建構安全的分組密碼,除了暴力搜尋(或幾乎安全)。然而,我們真的不知道這一點。我們還認為保理很困難,等等。所有這些都只是假設,因為我們不知道如何證明此類問題的重要算法下界。特別是,我們甚至不知道如何證明 $ P \neq NP $ , 而如果 $ P=NP $ 那麼沒有分組密碼是安全的。請注意,順便說一句,即使 $ P\neq NP $ ,這對於加密來說是不夠的(我們需要單向函式,假設它等效於偽隨機函式/排列)。
回到你的問題:假設在 100 年內已經證明 $ P\neq NP $ 甚至存在單向函式。但是,還假設所有問題 $ NP $ 可以及時解決 $ 2^{\sqrt n} $ 在哪裡 $ n $ 是輸入長度。(請注意,強烈推測 $ NP $ - 難問題不能在次指數時間內解決,但這也是一個假設。)在這種情況下,如果我們想要安全地防止機器及時執行 $ 2^{128} $ 那麼我們將需要大小為 16384 的密鑰。另一個更可能的可能性(但誰知道)是所有 $ NP $ 可以及時解決 $ 2^{n/10} $ . 這將需要大小的鍵 $ 1280 $ .
這是一個可能的事件嗎?我相信這是事實嗎?不,我沒有!但是,如果您要問:是否需要這樣的密鑰長度?好吧,沒有人真正知道,未來會告訴我們。
目前我們根據我們所知道的設置密鑰長度。由於最好的分解算法,RSA 需要 2048 位密鑰,同樣需要離散對數和 DDH $ \mathbb{Z}_p^* $ ; ECC 需要 256 位密鑰,因為已知的最佳算法需要時間,即組大小的平方根;對稱密鑰需要為 128 位,因為最著名的攻擊是暴力破解(當已知更好的攻擊時,我們會逐步淘汰該算法)。