Finite-Field
LFSR,多項式,有限域
我很難理解 LFSR、多項式和有限域的概念以及如何解決如下圖所示的練習。誰能給我一些關於從哪裡開始的指示?
- 將“HELLO”翻譯成比特。
- 將 ‘KIHJF’ 翻譯成比特
- xor 並獲得前 25 個密鑰位。
- 關鍵是寄存器的 8 位初始填充(我假設,但這很常見)。
- 我們有 25 個關鍵位,所以初始填充中有 25 個線性方程。或者如果系統沒有初始步進,則前 8 位只是按相反順序的初始填充。在任何情況下,您都可以計算密鑰。[添加: ] 確實沒有初始步進(所以直接初始填充計算),正如我所驗證的那樣。
- 現在計算剩餘的密鑰位,並與剩餘的密文進行異或運算,得到明文位,然後得到明文字元。
- 您可以再次從 25 位計算特徵多項式:回想一下 Berlekamp-Massey 算法。
由於其重要性而添加為答案:由於 Berlekamp Massey 攻擊,**秘密多項式不會為 LFSR(一開始就很弱)提供額外的安全性,**該攻擊只要 $ 2d $ 已知明文(相當於密文)位可用。這裡 $ d $ 是特徵多項式的次數。
當然,知道 HELLO 甚至足以破壞長度為 12 的原始 LFSR,並且保持水龍頭的秘密也無濟於事。