Feistel-Network

非平衡Feistel網路函式

  • June 19, 2020

我試圖了解不平衡的 Feistel 網路是如何工作的。我遇到了這張圖片:在此處輸入圖像描述

它說該功能需要 $ b $ 位到 $ y $ 位。這在第一步有效,但顯然不適用於下一步。我沒有得到什麼?如果你總是將函式應用到一邊 $ b $ 比特會破壞密碼嗎?我猜是的。

讓它形式化

  • 圓形功能 $ R:{0,1}^b \to {0,1}^y $ (這是不好的命名, $ F $ 這里和 DES 一樣好)
  • 每一輪的輸入是 $ b+y $ 位寄存器/數組 $ I $ .
  • 每一輪的輸出 $ O = (R(\texttt{MSB}(b,I)) \oplus \texttt{LSB}(y,I)) \mathbin| \texttt{MSB}(b,I) $

所以 $ O $ 又是 $ b+y $ 位寄存器/數組作為下一輪的輸入。


  • $ \texttt{MSB}(b,I) $ 最重要的_ _ $ b $ B其寄存器 $ I $ .
  • $ \texttt{LSB}(y,I) $ 最不重要的_ _ $ y $ B其寄存器 $ I $ .

例子

讓 $ I=\texttt{[0,1,1,1,0,1,0,0,1,0,0,1,1,0,0,1]} $ 然後是 16 位寄存器

  • $ \texttt{MSB}(3,I) = \texttt{[0,1,1]} $ , 和
  • $ \texttt{LSB}(12,I) = \texttt{[1,0,1,0,0,1,0,0,1,1,0,0,1]} $

請注意,這裡我們使用二進製表示 $ I $ ,而不是數組表示。

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