= Linear Feedback Shift Register = A LFSR is set of rules to alter a set of bits. They are useful to psudeo random number generators, and as key generators for stream ciphers. All LFSRs are cyclical in nature, and after a set amount of time will repeat back into themselves. The initial state of the bits in the LFSR is called the seed. The maximum period for a _n_ bit shift register is 2^n - 1 A *tap* is where a bit is read and fed back into itself. == Reverse Engineering == An LFSR generates values based on a linear expression modulous 2, therefore we can reverse engineer the state of the LFSR based on a sequence we are given. This can be done using the Berlekamp-Massey algorithm.