Finite-Field
下defree annihilator of function
認為 $ f=x_0x_2(x_1+1)+x_1x_3(x_0+1) $ , annihilator 就是這樣的函式 $ g $ , 以便 $ gf=0 $ 對所有人 $ x $
直覺的解決方案(出於某種原因)很明顯 - $ g=x_0x_1 $ ,這成立。(雲賢者線上腳本)
這讓我很煩惱,我無法“直覺地”解釋這一點。如何正確得出解決方案,而不是猜測?
PS:我們可以跳過瑣碎的解決方案 $ g=0 $ , 功能 $ g $ 應該取決於 $ x_n $ 變數,至少其中一些。當然 $ \mathbb{F}_2 $ 是這裡的意思。
我不確定我是否真的相信這對攻擊流密碼有用,但無論如何我都會回答你的問題。
什麼 $ gf = 0 $ 意味著對於任何輸入 $ x $ , 我們有 $ f=0 $ 或者 $ g=0 $ .
現在,在 $ g = x_0x_1 $ ,那麼這個 $ g $ 將為 0 除非 $ x_0 = x_1 = 1 $ .
在這種情況下,第一個任期 $ f $ ,即 $ x_0x_2(x_1+1) $ 將為 0(如 $ x_1+1 = 1+1 = 0 $ )。而且,第二屆 $ f $ ,即 $ x_1x_3(x_0+1) $ 將為 0(如 $ x_0+1 = 1+1 = 0 $ ).
因此,每當 $ g \ne 0 $ , 我們有 $ f=0 $ , 所以 $ gf = 0 $ .
這個觀察提供了一種相當明顯的方法來創建任何函式的非平凡湮滅 $ f $ (以外 $ f=1 $ 對於所有輸入);即:
- 找到一組輸入 $ f=0 $ (從技術上講,這是一個 NP 難題(!),但在實踐中相當容易)。
- 創建一個 $ g $ 該特定輸入為 1,否則為 0。
例如,如果 $ f=0 $ 為了 $ x_0 = 0, x_1 = 1, x_2 = 0 $ ,那麼這個殲滅者將是 $ g = (x_0 + 1)x_1(x_2 + 1) $