Lfsr
回饋移位寄存器何時算作非線性?
似乎回饋移位寄存器只要包含 XOR 操作就被視為線性回饋移位寄存器。這使我相信非線性回饋移位寄存器是任何回饋移位寄存器,它不僅使用 XOR 操作,還包括使用 S-box、AND 操作、排列等。我對麼?
你是對的。
在這種情況下,異或被認為是一個線性函式。所以對寄存器的回饋是線性的。非線性回饋移位寄存器是一個更通用的例子,其中回饋函式可以是任何東西。您也可以稱它們為廣義線性回饋移位寄存器 GLFSR)。S-box、AND 運算、排列等等都是好的。所以重入位不僅僅是寄存器位的簡單異或運算。這使您擺脫了伽羅瓦、斐波那契和其他預定義水龍頭的僵化。但是,您必須確保不會發生鎖定,並且寄存器不會陷入某種時髦的穩定模式。
一張圖片顯示了一個不那麼複雜的非線性回饋函式 f,但它可以是你建議的任何東西:-
這立即提出了安全雜湊函式為 f 的有趣可能性。或者那隻是太多了..?
具有所有 XOR 操作回饋的移位寄存器具有線性回饋。但所有模組化添加的東西也具有線性回饋。還有更多操作符合條件,我們可以在任何欄位上進行添加。
如果操作不是在某個欄位(以及移動欄位元素)上全部添加,則它是非線性的。例如,同時進行加法和異或,或同時使用異或和與運算會產生非線性。