Hash
Keccak 如何達到 512 位安全級別?
我很清楚,普遍的共識是不需要具有 512 位安全性的散列算法,但我只是好奇如何為 Keccak 實現這一點。
根據SHA-3 塊大小/比特率計算?,算法的比特率將由 1600 - 2c = r 計算。但是,如果 C 為 1024,則會得到一個負值,我認為這意味著該算法不適用於該容量。
我的假設錯了嗎?是否有任何解決方法可以實現如此高的容量?
同樣,這只是一個滿足我好奇心的理論問題。我很清楚這樣的安全級別被認為是不必要的。
可能的最高容量是 1599,這意味著您對進入該狀態的每一位重複排列。
對於“512 位安全級別”(這是(完全沒有意義的)^2,因為 256 位安全級別已經超過了意義的門檻值),選擇容量 1024 和摘要長度 1024 就足以阻止所有通用經典和量子攻擊僅限於 $ 2^{512} $ 成本。
固定長度函式 SHA3-256等的 SHA-3 參數被過度設計,部分是出於偏執,部分是出於政治原因。XOF SHAKE128 和 SHAKE256 設計得更合理,分別提供 128 位或 256 位安全級別,假設有足夠的輸出長度;如果存在“SHAKE512”,它將使用容量 1024。