Есть ли более быстрый способ (или даже возможен) найти начальное состояние m-битного LFSR, если я знаю часть сгенерированной последовательности?
Пример: задан m= 16, полином обратной связи как x^16 + x^12 + x^3 + x^1 + 1 и часть последовательности равна '00101000100001100100111000111001000010001101110000000110100010011001011101010011000000111 11010111000100001101011101011011011101111110000000001111111010010110100001011000101011111100110101010001110000000'
Можем ли мы хотя бы узнать, что было первоначально состояние LFSR?
если можно, какова минимальная требуемая длина известной последовательности?
В приведенном выше примере все единицы являются начальным состоянием, и он генерируется с использованием следующего:
Код: Выделить всё
import pylfsr
L1 = pylfsr.LFSR(fpoly=[16,12,3,1], initstate='ones')
seq = L1.runKCycle(2**16)
seq = L1.arr2str(seq)
Источник: https://stackoverflow.com/questions/781 ... n-sequence