Return to NLFSR (thing)
A nonlinear feedback shift register is a particular type of shift register, similar to a LFSR but where the state update is a nonlinear function of part of its own state (rather than a linear function of part of its own state).
These are often used as components in (hardware-efficient) stream ciphers, displaying a higher resistance towards correlation attacks than LFSR. On the other hand, unlike for LFSR, construction of large NLFSR with guaranteed long periods is not a trivial problem. An example of such NLFSR-based hardware-efficient cipher is Trivium.
Similar to what happens with a LFSR, a N-stage NLFSR contains N delay elements which store N bits of state (x0, x1, x2... x(N-2), x(N-1)). Each time the NLFSR is clocked, the bit stored in x0 is output, every other bit is shifted down a stage (x0 becomes the old x1, x1 becomes the old x2, etc.) and the last bit (x(N-1)) becomes the result of the nonlinear update function. This way of expressing a NLFSR is termed "Fibonacci configuration" (it can also be equivalently expressed in "Galois configuration", but that's beyond the scope of this writeup).
If wanted, this can be increased to 224 by changing the state update function to:
x(N-1) = x0 ⊕ x1 ⊕ x8 ⊕ x9 ⊕ x15 ⊕ (x7 AND x18) ⊕ z