# Attack an stream cypher using 2 XORed LFSRs

We know that the Key were generated by 2 16Bit LFSRs (output of both is XORed together -> key)

I already extracted a 64 Bit key sequence, but how can I calculate the polynom of the LFSRs (and the initialisation vector)? Since we have 2 LFSRs XORed together which means its non-lineary I can't use a Matrix to calculate the coefficients, or am I wrong?

I hope somebody understands my problem and can give me some hint.

the known keystream: 1010 1110 0000 0011 1111 0010 1011 1001 0001 0100 1101 0111 1001 0011 1110 1101

-
do you know anything about the generator besides the size of the seed/state and that they are LFSRs? Number of non-zero coefficients? How bits are produced? Anything? I imagine that there are a good number of pairs of polynomials and seeds that could produce this result, but the state space is only around $2^{64}$. – Thomas M. DuBuisson Dec 30 '14 at 3:25
unfortunately not. I just know that both LFSRs are 16 Bit and produce the keystream I wrote in my first post – kristian Schurz Dec 30 '14 at 14:58

The fundamental property that you will use is that the output of an $A$-bit LSFR (using the $A$-bit feedback polynomial $P$) xored with the output of a $B$-bit LSFR (using the $B$-bit polynomial $Q$) is the same as the $A+B$ bit LSFR with the feedback polynomial $P \cdot Q$. And, don't forget, when you multiply the feedback polynomials, you use polynomial multiplication modulo 2.