Sha-3

什麼標準使 Keccak 圓函式的 theta 步是可逆的?

  • June 6, 2017

從我一直在閱讀的內容來看,Keccak 的圓形功能是可逆的。這對於 $ \rho $ , $ \pi $ 和 $ \iota $ 變換。為了 $ \chi $ 是可逆的, $ x $ 的範圍必須是奇數——但這沒關係,因為 Keccak 的 $ x $ 有一個範圍5。然而,什麼標準使theta步可逆?

檢查一些小 $ x $ , $ y $ 和 $ z $ 範圍,它表明:

  • 其中[x][y][z]的範圍是[3][3][2], $ \theta $ 是不可逆的,並且
  • 其中[x][y][z]的範圍是[3][3][3], $ \theta $ 也不可逆。

那麼,是什麼讓 $ \theta $ 對於(例如)[5][5][64]可逆的?

我經歷了它,雖然這不是一個完整的答案,但這應該會有所啟發(並註意:當我在談論 $ x $ , $ y $ 和 $ z $ ,我指的是這些指數可以採用的範圍;沒有任何特定的索引)

第一條規則:如果 $ x $ 是偶數,那麼 $ \theta $ 是可逆的。證明實際上相當優雅。然而它也與 Keccak 無關(因為即使你要調整 Keccak, $ \chi $ 步驟要求 $ x $ 奇怪)。

現在,從現在開始,我們假設 $ x $ 很奇怪。

下面是它的工作原理; 有一個功能 $ L(y) $ 映射範圍 $ y $ 成一組整數; $ \theta $ 與參數 $ (x, y, z) $ 是可逆的 $ z $ 不是集合中任何整數的倍數 $ L(y) $

$ L(y) $ 也有這樣的屬性 $ L(a) \cup L(b) \subset L(ab) $

這是列表 $ L(y) $ 為了 $ y<38 $ :

$ L(2^n) = \emptyset $

也就是說,如果 $ y $ 是 2 的冪, $ \theta $ 總是可逆的

$ L(3n) = { 1 } $

這意味著,因為所有的值 $ z $ 是 1 的倍數,那麼 $ \theta $ 永遠不可逆如果 $ y $ 是 3 的倍數。

$ L(5) = { 15 } $

在 Keccak 案例中,實際值為 $ z = 64 $ 不是 15 的倍數,因此 $ \theta $ 是可逆的。

$ L(7) = { 7 } $

$ L(10) = { 15 } $

$ L(11) = { 341 } $

$ L(13) = { 819 } $

$ L(14) = { 7 } $

$ L(17) = { 85 } $

$ L(19) = { 9709 } $

$ L(20) = { 15 } $

$ L(22) = { 341 } $

$ L(23) = { 2047 } $

$ L(25) = { 15 } $

$ L(26) = { 819 } $

$ L(28) = { 7 } $

$ L(29) = { 475107 } $

$ L(31) = { 31 } $

$ L(34) = { 85 } $

$ L(35) = { 7, 15 } $

$ L(37) = { 3233097 } $

現在,上面列出了一些明顯的規律 $ L $ 函式值;例如,如果 $ y $ 是不是 2 的素數,那麼每個 $ L(y) $ 列出的由一個元素組成,該元素是 $ 2^{y-1}-1 $ ; 在列出的每種情況下,我們都有 $ L(ab) = L(a) \cup L(b) $ ; 但是我無法證明這些觀察中的任何一個都普遍成立。

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