


I'd recommend you acquaint yourself with the concept of polynomial rings (though that Wikipedia article is rather too technical to make the best introduction). This is what I came up with but instead of giving a cyclic sequence, the output quickly deteriorates to all 0s: # Multiplication table for GF(4) This part doesn't make sense to me: "the feedback bit (output bit) is multiplied (modulo-q) by a q-ary value which is constant for each specific tap point." How can a single output bit be multiplied by values for each tap point?

What I would like to do now is write a generalised version that could handle Galois fields other than GF(2) but I don't understand the section about non-binary LFSRs. Return ^state) for i in range(len(state)) ] I used the instructions on Wikipedia to write a Galois linear feedback shift register in Python: def lfsr(coefficients, state):
