Algorithm-Design
我們可以交換海綿結構的排列嗎?
海綿結構的一部分(如 SHA3 使用)是固定排列 $ p $ ; 這顯然不是單向的。
理論上,我們可以交換排列嗎 $ p $ 與任何其他排列?這種排列應該具有哪些基本特徵——或者例如,一個簡單的 LFSR 已經代表了一個有效的替換,假設它跨越了整個比特範圍( $ r+c $ )?
海綿施工的安全性依賴兩個部分:
- 容量的大小。
- 以及構造中使用的排列強度。
預計這種排列至少具有以下要求:
- 提供強大的擴散(在 Keccak 中,這是由 $ \rho $ 和 $ \pi $ ).
- 提供混亂( $ \theta $ 和 $ \chi $ ).
在凱卡克的情況下, $ \theta $ 是一種主要面向列的操作。
這就是為什麼 $ \pi $ 將確保列的每一位都均勻分佈在切片中。這可以防止創建模式。
$ \chi $ 是 Keccak 的主要成分- $ f $ . 它是唯一不是線性的部分。沒有它,Keccak 對密碼分析的能力將非常弱。
最後,凱卡克—— $ f $ 提供弱對齊(抗截斷差分密碼分析)。這個想法是確保差異不受狀態細分的限制(AES 的字節或 Keccak 的一組 5 位)。然而,由於 Keccak-f 的弱對齊,找到算法的下安全邊界更加困難。
如果另一個排列提供這樣的特徵(NORX 排列?我會讓 Richie Frame 回答那部分。他喜歡 NORX)。那麼我想這將是另一個不錯的選擇。
我沒有研究過LFSR。
TL;DR:候選排列必須提供強大的擴散、混淆,如果可能的話,還必須提供弱對齊。