Algorithm-Design

我們可以交換海綿結構的排列嗎?

  • July 31, 2016

海綿結構的一部分(如 SHA3 使用)是固定排列 $ p $ ; 這顯然不是單向的。

理論上,我們可以交換排列嗎 $ p $ 與任何其他排列?這種排列應該具有哪些基本特徵——或者例如,一個簡單的 LFSR 已經代表了一個有效的替換,假設它跨越了整個比特範圍( $ r+c $ )?

海綿施工的安全性依賴兩個部分:

  • 容量的大小。
  • 以及構造中使用的排列強度。

預計這種排列至少具有以下要求:

  • 提供強大的擴散(在 Keccak 中,這是由 $ \rho $ 和 $ \pi $ ).
  • 提供混亂( $ \theta $ 和 $ \chi $ ).

在凱卡克的情況下, $ \theta $ 是一種主要面向列的操作。 在此處輸入圖像描述

這就是為什麼 $ \pi $ 將確保列的每一位都均勻分佈在切片中。這可以防止創建模式。

$ \chi $ 是 Keccak 的主要成分- $ f $ . 它是唯一不是線性的部分。沒有它,Keccak 對密碼分析的能力將非常弱。

在此處輸入圖像描述 通過傳播差異 $ \chi $

最後,凱卡克—— $ f $ 提供弱對齊(抗截斷差分密碼分析)。這個想法是確保差異不受狀態細分的限制(AES 的字節或 Keccak 的一組 5 位)。然而,由於 Keccak-f 的弱對齊,找到算法的下安全邊界更加困難。

如果另一個排列提供這樣的特徵(NORX 排列?我會讓 Richie Frame 回答那部分。他喜歡 NORX)。那麼我想這將是另一個不錯的選擇。

我沒有研究過LFSR。

TL;DR:候選排列必須提供強大的擴散、混淆,如果可能的話,還必須提供弱對齊

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