Sha-3

顯示輸出 Keccak-f 排列的前 256 位時顯示了哪些輸入位?

  • December 21, 2021

鑑於 Keccak-f

$$ 1600 $$排列我對以下屬性感興趣:輸出中的哪些位受輸入的哪些位影響?也就是說,如果我改變例如輸入的第二位,輸出的哪些位會受此影響? 換句話說:假設我有 Keccak 函式輸出的前 256 位。然後,因為 Keccak-f

$$ 1600 $$是雙射的,只有 1600-256 個原像仍然可以映射到具有“正確”前 256 位的輸出。有沒有辦法估計在所有 1600-256 剩餘值中有多少位是相同的?

輸出中的哪些位受輸入的哪些位影響?也就是說,如果我改變例如輸入的第二位,輸出的哪些位會受此影響?

據我們所知,所有輸出位都是所有輸入位的複雜函式。翻轉任何特定的輸入位(例如,第二個)可能會翻轉任何輸出位。

假設我有 Keccak 函式輸出的前 256 位。然後,因為 Keccak-f

$$ 1600 $$是雙射的,只有 1600-256 個原像仍然可以映射到具有“正確”前 256 位的輸出

實際上,您計算錯誤;有 $ 2^{1600-256} $ 原像,即:

383984923062992702193107238768305990575971314802788874095145673202075995393018055488645297669674812185833211621938100469973519720714697045576788566898683254440275883795786334484525778054071087861396060398229434719927672395650215231472663143090071728679350725089418264731278276442800414037787428461842409521168393903855600900323733353159466811689332335765898192891862061280747855198528180896166938113212416

原像。這比 1600-256 = 1344 多一點…

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