Fact-checked by Grok 2 weeks ago

Linear-feedback shift register

A linear (LFSR) is a whose input bit is driven by the —typically the exclusive-OR (XOR)—of its previous state bits. This structure enables the generation of pseudo-random binary sequences in digital hardware with minimal circuitry. LFSRs operate by shifting bits through a chain of flip-flops on each clock , with the path connecting selected output taps via XOR back to the input. The sequence produced depends on the ; when implemented with a of degree n over the GF(2), the LFSR achieves a maximal of 2n − 1 states before repeating, ensuring a long of apparent without entering an all-zero state. Non-maximal configurations may yield shorter periods, but polynomials are preferred for applications requiring high-quality pseudo-. LFSRs find extensive use in digital systems due to their efficiency and simplicity. Key applications include pseudo-random number generation for simulations and testing, (BIST) patterns in integrated circuits to detect faults, (CRC) computations for error detection in data transmission, and stream ciphers in for key stream generation. They also serve as counters, scramblers for data whitening, and frequency dividers in hardware designs.

Fundamentals

Definition and Basic Operation

A linear-feedback shift register (LFSR) is a shift register whose input bit is a linear function of its previous state, typically implemented using exclusive-OR (XOR) operations on selected bits known as taps. This structure produces a sequence of output bits that follows a linear recurrence relation and can exhibit pseudo-random properties when appropriately configured. The basic components of an LFSR consist of a chain of flip-flops or memory cells connected in series to form the register stages, along with —usually XOR gates—connected to specific tap positions that provide to the input of the first stage. The number of stages determines the length of the register, denoted as n bits, and the tap positions define the feedback polynomial that governs the sequence generation. In operation, the LFSR advances on each clock cycle by shifting all bits in one direction (commonly to the right), with the bit shifted out serving as the output, and a new input bit computed as the XOR of the designated bits from the current state being inserted at the opposite end. This process maintains the linear recurrence, ensuring the state evolves deterministically yet appears unpredictable for non-trivial initial conditions and tap selections. For illustration, consider a basic 4-bit Fibonacci-style LFSR with taps on positions 3 and 4 (numbering positions 1 to 4 from left to right, corresponding to the primitive polynomial x^4 + x^3 + 1), shifting right with feedback to the leftmost bit. The feedback is the XOR of bits in positions 3 and 4. Starting from initial state :
Clock CycleState (bits 1-4)Feedback (bit3 XOR bit4)Output (bit4 before shift)
0 (initial)1 0 0 0--
10 1 0 00 XOR 0 = 00
20 0 1 00 XOR 0 = 00
31 0 0 11 XOR 0 = 10
41 1 0 00 XOR 1 = 11
This shows the evolution over the first few cycles, where the output begins 0, 0, 0, 1, ... and continues to cycle through 15 unique non-zero states before repeating. Unlike a simple serial , which only delays or circulates bits without alteration, the LFSR's linearly combines existing bits to form the new input, enabling the production of long pseudo-random sequences suitable for applications like pseudorandom number generation.

Historical Development

The linear-feedback shift register (LFSR) originated in the mid-1950s as a tool for generating pseudorandom sequences in early computing applications, particularly for simulating randomness in digital systems using vacuum tube technology. Solomon W. Golomb, while working at the Glenn L. Martin Company, initiated foundational research on shift register sequences in 1954, culminating in his 1955 technical report "Sequences with Randomness Properties," which first systematically described the properties of sequences produced by feedback shift registers over finite fields. This work built on earlier mathematical foundations from the late 1940s, including shift registers in computing hardware and theoretical recurrences explored by figures like Øystein Ore and Marshall Hall, though much of the initial applied development occurred concurrently at institutions such as Bell Labs, Lincoln Lab, and the Jet Propulsion Laboratory (JPL). In the 1960s, the theory of LFSRs was formalized and expanded, with N. Zierler contributing key insights through his 1959 paper "Linear Recurring Sequences," which analyzed the of such sequences and their periods. Golomb further consolidated these ideas in his seminal 1967 book Shift Register Sequences, establishing the mathematical framework for maximum-length LFSRs using primitive polynomials and promoting their use in pseudorandom number generation. During this decade, LFSRs gained traction in error-correcting codes, notably in the decoding algorithms for BCH codes (introduced in 1959–1960) and Reed-Solomon codes (1960), where linear feedback mechanisms enabled efficient computation and error location. The 1970s marked LFSRs' expansion into , driven by the recognition that polynomials could produce long-period sequences suitable for ciphers, as detailed in works extending Golomb's theories to secure . By the , LFSRs transitioned to fully digital implementations amid the rise of , influenced by , which allowed for longer registers and integration into (BIST) schemes for chip verification. This era saw widespread adoption in hardware testing, with LFSR-based pattern generators compacting responses for fault detection in complex integrated circuits. Into the 1990s and beyond, LFSRs evolved with digital hardware advancements, remaining relevant through the in systems and communications. Up to 2025, they continue to play roles in hardware for pseudorandom generation and in FPGA-based implementations for accelerators, where efficient supports algorithms without major architectural shifts.

Configurations

Fibonacci LFSRs

In the Fibonacci configuration of a linear feedback shift register (LFSR), the feedback path is external to the main shift register chain, with the input bit to the first stage computed as the modulo-2 sum (XOR) of selected tap positions typically taken from the later stages of the register. This arrangement corresponds to the representation of the feedback polynomial, where the taps are determined by the non-zero coefficients of the excluding the highest-degree term. The structure is particularly suited for generating output streams, as the feedback computation occurs outside the primary data path. A standard n-bit Fibonacci LFSR consists of n D flip-flops connected in series, shifting data in one direction (commonly rightward), with the output bit taken from the least significant bit (LSB). The is generated by XORing the bits at positions specified by the primitive feedback polynomial and fed back to the most significant bit (MSB). For example, consider a 4-bit Fibonacci LFSR defined by the primitive polynomial x^4 + x^3 + 1, which corresponds to taps on the LSB (bit 0) and the MSB (bit 3). The schematic features four flip-flops labeled b3 (MSB) to b0 (LSB), with an combining b0 and b3 to produce the input for b3 on each clock cycle. This configuration produces a maximal-length of $2^4 - 1 = 15, cycling through all non-zero states. To illustrate state evolution, consider a 3-bit Fibonacci LFSR with the primitive polynomial x^3 + x^2 + 1, corresponding to taps on bit 0 (LSB) and bit 2 (MSB). The register is denoted as [b2, b1, b0], shifting right on each clock (b0 becomes output, b1 shifts to b0, b2 to b1, and new b2 = b2 XOR b0 from previous state). Starting from initial state [0, 0, 1]:
  • Feedback = 0 XOR 1 = 1; shift right: new state [1, 0, 0]; output = 1
  • Feedback = 1 XOR 0 = 1; shift right: new state [1, 1, 0]; output = 0
  • Feedback = 1 XOR 0 = 1; shift right: new state [1, 1, 1]; output = 0
  • Feedback = 1 XOR 1 = 0; shift right: new state [0, 1, 1]; output = 1
  • Feedback = 0 XOR 1 = 1; shift right: new state [1, 0, 1]; output = 1
  • Feedback = 1 XOR 1 = 0; shift right: new state [0, 1, 0]; output = 1
  • Feedback = 0 XOR 0 = 0; shift right: new state [0, 0, 1]; output = 0 (returns to initial, period 7)
This demonstrates the deterministic linear progression, avoiding the all-zero to achieve maximal $2^3 - 1 = 7. The computation follows the recurrence derived from the : each new bit is the XOR of the bits at positions indicated by the lower-degree terms. The configuration offers advantages in hardware simplicity for serial output applications, requiring fewer XOR gates in a linear chain compared to distributed alternatives, making it prevalent in early designs for pseudo-random number generation and testing. The following code snippet simulates a 16-bit LFSR using taps [16, 14, 13, 11] (corresponding to a primitive polynomial for maximal 65535), including initialization, a shift function, and a loop to generate output bits:
python
def fibonacci_lfsr(state, taps, num_bits):
    """
    Simulate one shift of a [Fibonacci](/page/Fibonacci) LFSR.
    state: integer representing current register state
    taps: list of [tap](/page/Tap) positions (1-based, including length)
    num_bits: length of the LFSR
    Returns: new state and output bit
    """
    output = (state >> 0) & 1  # LSB as output
    [feedback](/page/Feedback) = 0
    for tap in taps:
        [feedback](/page/Feedback) ^= (state >> (num_bits - tap)) & 1
    new_state = ((state >> 1) | ([feedback](/page/Feedback) << (num_bits - 1))) & ((1 << num_bits) - 1)
    return new_state, output

# Example: 16-bit LFSR with taps for primitive polynomial
num_bits = 16
taps = [16, 14, 13, 11]  # Positions for x^16 + x^14 + x^13 + x^11 + 1
initial_state = 0xACE1  # Non-zero initial state

state = initial_state
sequence = []
for _ in range(20):  # Generate first 20 bits
    state, bit = fibonacci_lfsr(state, taps, num_bits)
    sequence.append(bit)

print("Output sequence:", sequence)  # Example output depends on initial state
This implementation shifts the state right, computes feedback from the specified taps, and inserts it at the MSB, producing a stream of pseudo-random bits suitable for testing or simulation.

Galois LFSRs

In the Galois configuration, feedback is applied internally at each tap position through XOR gates integrated into the shift paths of the register, enabling efficient simulation of polynomial division over GF(2). The output bit, shifted out from one end of the register, serves as the feedback signal that is XORed with the bits arriving at the tap locations before they are stored in the subsequent flip-flops. This distributed feedback structure contrasts with external feedback approaches by allowing simultaneous computation across all bits, reducing the critical path length in hardware implementations. A schematic for an n-bit Galois LFSR typically depicts a linear chain of n D-type flip-flops shifting leftward, with the leftmost flip-flop providing the output bit and the rightmost receiving a constant 0 input. XOR gates are inserted in the data paths leading to flip-flops at positions dictated by the nonzero coefficients of the characteristic polynomial (excluding the highest-degree term). For a 4-bit example using the primitive polynomial x^4 + x + 1, the taps are at positions 4 (the output) and 1 (corresponding to the x term). The diagram shows flip-flops labeled s_3 (left, MSB/output), s_2, s_1, s_0 (right, LSB/input), with connections as follows: constant 0 to an XOR gate whose output goes to s_0D, and the other XOR input is s_3Q (feedback); s_0Q to an XOR gate whose output goes to s_1D, and the other XOR input is s_3Q; s_1Q to s_2D directly; s_2Q to s_3D directly. On each clock cycle, non-tap bits shift unchanged, while tap bits are modified by the feedback before shifting. The state evolution in a Galois LFSR proceeds via parallel updates equivalent to multiplying the current state polynomial by x modulo the characteristic polynomial. Representing the state as coefficients s_3 s_2 s_1 s_0 (where s_0 is the constant term), starting from initial state 0001 (polynomial 1):
  • Next state: x \cdot 1 = x → 0010
  • Next: x \cdot x = x^2 → 0100
  • Next: x \cdot x^2 = x^3 → 1000
  • Next: x \cdot x^3 = x^4 \equiv x + 1 \pmod{x^4 + x + 1} → 0011 (shifted coefficients with XOR at tap for the reduction)
  • Next: x \cdot (x + 1) = x^2 + x → 0110
This process continues, with each update applying the feedback XOR only at relevant taps when the shifted-out bit (MSB after shift) is 1, ensuring all bits update in parallel without sequential dependencies beyond a single gate delay. The output stream is the sequence of MSBs (or LSBs, depending on convention). Galois LFSRs offer advantages in hardware efficiency, supporting higher clock rates due to the minimal propagation delay—limited to one XOR gate per bit path, independent of the number of taps—compared to the longer feedback chain in other configurations. This enables faster parallel processing in or implementations while maintaining the same maximal period for primitive polynomials. Although the hardware topology differs, Galois LFSRs are equivalent to in generating identical output sequences for the same characteristic polynomial, as both realize the same linear recurrence relation.

Mathematical Formulation

Matrix Representation

The state of a linear-feedback shift register (LFSR) of length n is represented as a column vector \mathbf{s}_k = \begin{pmatrix} s_{k,0} \\ s_{k,1} \\ \vdots \\ s_{k,n-1} \end{pmatrix} over the finite field GF(2), where each s_{k,i} \in \{0, 1\} denotes the bit in the i-th position of the register at time step k, with s_{k,0} as the output bit and s_{k,n-1} as the input bit, and all arithmetic is performed modulo 2. In the Fibonacci configuration, the evolution of the state is modeled as a linear transformation via the companion matrix \mathbf{A}, an n \times n matrix over GF(2). The first n-1 rows of \mathbf{A} implement the shift operation, with 1's on the superdiagonal and 0's elsewhere, while the last row contains the feedback coefficients c_0, c_1, \dots, c_{n-1} derived from the taps of the characteristic polynomial, such that a 1 in position j indicates a tap at register position j. The state update equation is \mathbf{s}_{k+1} = \mathbf{A} \mathbf{s}_k \pmod{2}, where matrix-vector multiplication is standard over GF(2), and the process begins with an initial nonzero state vector \mathbf{s}_0. For a concrete example, consider a 4-bit Fibonacci LFSR with characteristic polynomial x^4 + x^3 + 1, corresponding to feedback taps at positions 0 and 3 (with coefficients c_0 = 1, c_1 = 0, c_2 = 0, c_3 = 1). The companion matrix is \mathbf{A} = \begin{pmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 1 \end{pmatrix}. Starting with initial state \mathbf{s}_0 = \begin{pmatrix} 1 \\ 0 \\ 1 \\ 0 \end{pmatrix}, the next state is computed as \mathbf{s}_1 = \mathbf{A} \mathbf{s}_0 = \begin{pmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \\ 0 \\ 1 \end{pmatrix} \pmod{2}. This multiplication shifts the bits toward the output (lower indices) and inserts the feedback bit (XOR of s_{0,0} and s_{0,3}) at the input end. In the Galois configuration, the transition matrix \mathbf{A}_G models the distributed feedback, with 1's on the superdiagonal for the shift and feedback coefficients placed in the first column at rows corresponding to the tap positions (reversing the state bit order relative to Fibonacci for equivalence). This achieves the same sequence dynamics as the Fibonacci configuration when accounting for the reversed ordering, with feedback effectively distributed across stages in hardware. For the polynomial x^4 + x^3 + 1 and reversed state convention, the matrix is \mathbf{A}_G = \begin{pmatrix} 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 1 \end{pmatrix}. The state update follows \mathbf{s}_{k+1} = \mathbf{A}_G \mathbf{s}_k \pmod{2}, producing equivalent output sequences to the Fibonacci LFSR under the ordering adjustment.

Characteristic Polynomials

The characteristic polynomial of a linear-feedback shift register (LFSR) of length n is defined as p(x) = x^n + c_{n-1} x^{n-1} + \cdots + c_1 x + 1 over the finite field GF(2), where each coefficient c_i \in \{0, 1\} corresponds to whether a feedback tap is present at position i. The constant term is always 1, reflecting the inherent feedback from the output bit (position 0), and the polynomial is monic with degree n, matching the number of stages in the register. In the Fibonacci configuration, the characteristic polynomial directly maps to the feedback taps: the powers of x with nonzero coefficients (beyond the leading and constant terms) indicate the positions where the register bits are XORed to form the input to the first stage. For the Galois configuration, the polynomial instead specifies the locations of XOR gates distributed along the shift path, each corresponding to a nonzero coefficient (adjusted for ordering), which achieves equivalent linear transformations but with potentially lower gate delay in hardware. This polynomial governs the linear recurrence relation satisfied by the output sequence: s_{k+n} = \sum_{i=1}^{n-1} c_i s_{k+i} + s_k for k \geq 0, where all operations are modulo 2, ensuring the sequence evolves deterministically from the initial state. A representative example is the polynomial p(x) = x^5 + x^2 + 1 for a 5-bit LFSR, which has nonzero coefficients at x^5, x^2, and the constant term, corresponding to taps at positions 0 and 2 (numbering from the output end as position 0). In the Fibonacci setup, this means XORing the bits at positions 0 and 2 to feedback into the register. The polynomial must be irreducible over GF(2) to avoid factorizations that would cause the LFSR to enter short cycles prematurely, thereby enabling longer periods up to $2^n - 1; further details on maximality appear in subsequent sections.

Variants and Extensions

Xorshift LFSRs

Xorshift generators, introduced by George Marsaglia in 2003, represent a class of pseudorandom number generators designed for high-speed software implementation on word-sized integers, such as 32-bit or 64-bit values. These generators maintain a state consisting of one or more words and update it through a sequence of bitwise shift and exclusive-or (XOR) operations, avoiding the need for explicit multiplication or division. By leveraging the efficiency of shift and XOR instructions on modern processors, xorshift methods achieve periods up to $2^k - 1 for state sizes of k bits, making them suitable for applications requiring rapid generation of pseudorandom sequences. The operation of a basic xorshift generator proceeds in three distinct steps applied sequentially to the state word. First, the state is XORed with a left-shifted version of itself by a fixed number of bits. Second, this result is XORed with a right-shifted version of the intermediate state. Finally, the output is XORed with another left-shifted version to complete the update. Although this process does not employ a traditional linear feedback mechanism involving taps across the entire register, it effectively implements a linear recurrence relation over the finite field GF(2). A representative example is the 32-bit xorshift generator with shift parameters (13, 17, 5), which produces a maximal period of $2^{32} - 1 when seeded appropriately. The update can be expressed in pseudocode as follows:
uint32_t xorshift32(uint32_t x) {
    x ^= (x << 13);
    x ^= (x >> 17);
    x ^= (x << 5);
    return x;
}
This implementation requires only three shift and three XOR operations per iteration, enabling it to outperform more complex generators in software environments. Xorshift generators offer significant advantages in software contexts, executing up to several times faster than traditional due to their reliance on primitive CPU instructions. They also exhibit strong statistical properties, passing rigorous test suites for randomness when configured with suitable parameters. In relation to , xorshift methods are mathematically equivalent to specific LFSR configurations, generating identical output sequences through a linear recurrence but optimized for computational efficiency via shift-XOR compositions rather than bit-by-bit feedback.

Non-Binary LFSRs

Linear-feedback shift registers (LFSRs) can be generalized to operate over arbitrary finite fields GF(q), where q = p^m for a prime p and positive integer m, extending the binary case where q = 2. In this non-binary setting, each stage of the register holds a symbol from GF(q) instead of a single bit, and the feedback function is a linear combination of the state symbols with coefficients in GF(q), using the field's addition and multiplication operations. This generalization allows for sequences with alphabet size q and potential periods up to q^n - 1 for an n-stage register, provided the characteristic polynomial is primitive over GF(q). The structure of a non-binary LFSR closely resembles the binary Galois configuration, but with field operations replacing bitwise XOR and AND. In the Galois form, the register shifts symbols toward the output end, and the outgoing symbol is multiplied by the tap coefficients from the characteristic polynomial and added (in GF(q)) to the corresponding stages. For a degree-n primitive polynomial c(x) = x^n + c_{n-1} x^{n-1} + \cdots + c_1 x + c_0 over GF(q), the feedback from the output symbol s_0 is added to stage i after multiplication by c_i for each tap i. All arithmetic, including addition (which is vector XOR in the basis representation) and multiplication (via tables or composite operations), occurs modulo the field's defining relations. Consider a 3-stage LFSR over GF(4), where GF(4) = {0, 1, \alpha, \alpha^2 = \alpha + 1} with \alpha a primitive element satisfying \alpha^3 = 1. Using the primitive polynomial x^3 + x^2 + x + \alpha over GF(4), the state is a vector \mathbf{s} = (s_2, s_1, s_0) \in \mathrm{GF}(4)^3, excluding the all-zero state for maximal period 63. In the Galois configuration (shifting toward s_0 as output), the next state \mathbf{s}' is s'_0 = s_1, s'_1 = s_2 + \alpha \cdot s_0, s'_2 = s_0 + s_0 + s_0 wait no: properly, for c(x) = x^3 + 1 \cdot x^2 + 1 \cdot x + \alpha, the feedbacks are: new input = s_2 + s_1 + \alpha s_0? For Galois, it's multiple taps: the shift is s'_2 = s_1 (input side s_2), but add c_2 s_0 to s'2, add c_1 s_0 to s'1, add c_0 s_0 to s'0? Standard Galois for non-binary is analogous: assuming shift right (s'{i} = s{i+1} for i=0 to n-2, s'{n-1} = sum c_j s_j or something. To correct, the update is governed by the companion matrix: \begin{pmatrix} s'_0 \\ s'_1 \\ s'_2 \end{pmatrix} = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ c_0 & c_1 & c_2 \end{pmatrix} \begin{pmatrix} s_0 \\ s_1 \\ s_2 \end{pmatrix} No, for the polynomial x^3 + c_2 x^2 + c_1 x + c_0, the companion matrix is \begin{pmatrix} 0 & 0 & c_0 \\ 1 & 0 & c_1 \\ 0 & 1 & c_2 \end{pmatrix} or depending on convention. For illustration, with initial state (0,0,1), the sequence can be computed using field operations at the taps. Non-binary LFSRs find application in coding theory, particularly for encoding and decoding Reed-Solomon codes, where the syndrome computation and error locator polynomials are generated using LFSR-like structures over GF(2^m) to handle symbol errors efficiently. These LFSRs can achieve longer maximal periods than binary counterparts of equivalent bit length, enhancing sequence diversity for such uses. For practical implementation, especially in software, precomputed tables for GF(q) multiplication and inversion are essential to ensure efficiency, as direct computation can be costly for large m.

Properties

Periodicity and Maximal Length Sequences

The output of a linear-feedback shift register (LFSR) is a periodic binary sequence that repeats every T clock cycles, where T is the period, defined as the smallest positive integer such that the register state returns to its initial value. For an n-stage LFSR over the finite field GF(2), the maximum achievable period is $2^n - 1, corresponding to a maximal length sequence, also known as an m-sequence. This length equals the number of non-zero states in the register, ensuring the sequence avoids repetition until all such states are exhausted. The maximum period is attained if and only if the characteristic polynomial of degree n is primitive over GF(2), meaning it is irreducible and one of its roots is a primitive element of the field extension GF($2^n), generating the entire multiplicative group of order $2^n - 1. With a primitive polynomial and any non-zero initial state, the LFSR produces an m-sequence; the all-zero state, however, results in a constant zero output and is excluded from the cycle, preventing it from being reached or left under linear feedback. Examples of primitive polynomials over GF(2) for small degrees n, suitable for constructing maximal-length LFSRs, are listed in the following table (represented in standard form, with taps indicated by the degrees of non-constant terms):
Degree nPrimitive PolynomialTaps (octal notation)
3x^3 + x + 13,1 (0x3)
4x^4 + x + 14,1 (0x3)
5x^5 + x^2 + 15,2 (0x5)
6x^6 + x + 16,1 (0x3)
7x^7 + x + 17,1 (0x3)
8x^8 + x^6 + x^5 + x^2 + 18,6,5,2 (0x69)
9x^9 + x^4 + 19,4 (0x9)
10x^{10} + x^3 + 110,3 (0x13)
11x^{11} + x^2 + 111,2 (0x15)
12x^{12} + x^6 + x^4 + x + 112,6,4,1 (0x27)
13x^{13} + x^4 + x^3 + x + 113,4,3,1 (0x1B)
14x^{14} + x^{10} + x^6 + x + 114,10,6,1 (0x147)
15x^{15} + x + 115,1 (0x3)
16x^{16} + x^{12} + x^3 + x + 116,12,3,1 (0x309)
These polynomials are selected for their low Hamming weight (few taps) to minimize hardware complexity; the taps correspond to XOR positions in the feedback path. In a maximal-length cycle generated by a primitive polynomial, the LFSR visits every one of the $2^n - 1 non-zero states exactly once before repeating, forming a single Hamiltonian cycle in the state transition graph excluding the all-zero state. De Bruijn sequences, which exhaustively cover all $2^n possible states including the all-zero state, can be derived from such LFSRs by simple modifications, such as injecting a zero into the feedback path to escape the all-zero trap and re-enter the main cycle. To detect whether an observed sequence arises from a maximal-length and identify its minimal polynomial, the processes the sequence iteratively to compute the shortest linear recurrence relation that generates it, requiring approximately $2n terms for an n-stage register.

Output Stream Characteristics

The output streams produced by linear-feedback shift registers (), particularly maximal-length sequences (m-sequences) generated using primitive feedback polynomials, exhibit pseudo-random behavior in several statistical measures. These sequences satisfy : approximate balance between 0s and 1s (with exactly one more 1 than 0 in a full period), a run-length distribution approximating that of a fair coin toss, and ideal two-level autocorrelation. As a result, m-sequences pass basic statistical tests such as the frequency test (verifying equal proportions of 0s and 1s) and the runs test (assessing streak lengths), performing comparably to truly random binary streams in these regards. However, their inherent linearity causes failure in more sophisticated tests, including the spectral test, where the generated points form a low-dimensional lattice rather than filling space uniformly, revealing predictable structure. A key characteristic of m-sequence output streams is their autocorrelation function, which quantifies self-similarity at different lags and is ideal for applications requiring sharp timing resolution. For an m-sequence of period N = 2^n - 1, the (unnormalized) autocorrelation C(\tau) is defined as C(\tau) = \sum_{k=0}^{N-1} (-1)^{s_k + s_{k+\tau \mod N}}, where s_k is the k-th bit of the sequence. This yields C(0) = N and C(\tau) = -1 for all nonzero lags \tau \not\equiv 0 \pmod{N}, producing a two-valued function with a single peak and uniformly low sidelobes. The normalized form approximates 1 at lag 0 and -1/2^n elsewhere, making m-sequences particularly suitable for code-division multiple access (CDMA) systems, where low out-of-phase autocorrelation minimizes interference in multi-user environments. Cross-correlation properties between output streams from distinct primitive LFSRs further enhance their utility in multi-sequence designs. The cross-correlation C_{s,t}(\tau) between two different m-sequences s and t of the same length is generally low, often bounded in magnitude to ensure orthogonality-like behavior. For instance, Gold code families, constructed by modulo-2 addition of m-sequences from two preferred primitive polynomials, achieve a maximum absolute cross-correlation of $2^{(n+2)/2} + 1 for even n (and similarly bounded for odd n), which is significantly lower than the autocorrelation peak. This controlled low cross-correlation supports efficient code design in spread-spectrum communications, allowing multiple users to share bandwidth with minimal mutual interference. The linear complexity of an LFSR output stream measures its "randomness" in terms of the shortest LFSR capable of generating it, providing a cryptographic gauge of unpredictability. For an m-sequence produced by an n-stage LFSR with a primitive characteristic polynomial, the linear complexity is exactly n, as this is the degree of the minimal polynomial and no shorter LFSR can replicate the full period. This value is high relative to the sequence length N \approx 2^n, contrasting with truly random sequences where the expected linear complexity grows linearly with the observed length (approximately half for finite segments), underscoring the structured yet pseudo-random nature of LFSR outputs. Despite these strengths, LFSR output streams have inherent limitations stemming from their linear structure, rendering them unsuitable for high-security contexts without augmentation. They are deterministic and periodic, lacking true randomness, and are particularly vulnerable to linear cryptanalytic attacks that exploit the underlying recurrence relation. The Berlekamp-Massey algorithm, for example, can recover the feedback polynomial and initial state of an n-stage LFSR from just 2n consecutive output bits by solving a system of linear equations over GF(2), enabling reconstruction of the entire stream with minimal data. This susceptibility highlights the need for nonlinear modifications in cryptographic applications to obscure the linear dependencies.

Applications

As Counters and Sequence Generators

Linear-feedback shift registers (LFSRs) serve as efficient alternatives to traditional binary counters by generating deterministic sequences of states that traverse nearly all possible combinations without the carry propagation delays inherent in ripple counters. Unlike binary counters, which require chained logic for incrementing that can limit clock speeds in long-bit implementations, an LFSR advances its state through a simple shift operation combined with linear feedback via exclusive-OR gates, enabling higher operating frequencies and reduced critical path delays. In implementation, the LFSR state can be directly utilized as a non-binary count value for applications such as indexing or address generation, where the pseudo-random order suffices, or decoded to standard binary via look-up tables or combinatorial logic for sequential ordering. For instance, a primitive polynomial ensures a maximal period of $2^n - 1 for an n-bit LFSR, covering all non-zero states and providing a compact, regular structure with minimal hardware overhead—typically just n flip-flops and a few XOR gates. This approach is particularly advantageous in look-up table-based systems, where the LFSR addresses memory to produce repetitive patterns, such as waveform generation or data sequencing, outperforming binary counters in logic utilization and speed. The advantages of LFSRs as counters include low area overhead due to their sparse feedback logic and predictable state transitions, as well as a highly regular structure that facilitates synthesis and routing in VLSI designs. With a period of $2^n - 1, they efficiently span almost the full state space, avoiding the all-zero deadlock state while maintaining simplicity. An example is an 8-bit LFSR configured with taps at positions corresponding to the primitive polynomial x^8 + x^6 + x^5 + x^4 + 1, used for memory addressing in embedded systems; it cycles through 255 unique states to sequentially access array elements without the decoding complexity of longer binary counters. Multistage LFSR designs further enhance scalability by cascading shorter registers, retaining single-stage speed while limiting decoding logic to a constant size independent of total bit length. Variants such as twisted-ring counters derive from LFSR principles but employ inversion-based feedback instead of XOR, achieving a full period of $2^n states across all possible combinations, including the all-zero state. These are implemented by connecting the complemented output of the last flip-flop to the first, creating a Möbius-like cycle suitable for applications requiring complete state coverage in counting sequences.

In Cryptography

Linear-feedback shift registers (LFSRs) serve as core components in many stream ciphers, functioning as pseudorandom number generators (PRNGs) to produce keystreams that are XORed with plaintext for encryption. Their linear structure allows efficient hardware implementation and generation of sequences with good statistical properties when using primitive feedback polynomials. Notable examples include the A5/1 cipher employed in GSM networks, which utilizes three LFSRs of lengths 19, 22, and 23 bits, clocked irregularly via a majority function on specific bits to combine their outputs into a keystream. Similarly, the SOBER family of ciphers, such as SOBER-128, relies on a single 128-bit LFSR augmented by a nonlinear filter function to transform the linear output into a more secure keystream, ensuring resistance to direct linear analysis. To mitigate the inherent linearity of LFSRs, they are often combined with nonlinear mechanisms, as in shrinking generators, where two primitive LFSRs operate in tandem: the primary LFSR generates a bitstream, while the secondary LFSR dictates irregular decimation (output or discard) of those bits, enhancing unpredictability. Keystream generation in LFSR-based systems typically initializes the register state from the secret key and an initialization vector (IV) to personalize the output sequence. For increased complexity and security, multiple LFSRs are combined, as exemplified by the , an eSTREAM project finalist still influential in lightweight cryptography as of 2025. Grain employs an 80-bit LFSR alongside a nonlinear feedback shift register (NFSR), with the LFSR loaded from portions of the 80-bit key and 64/96-bit IV during initialization; the LFSR ensures a long period and balance in the keystream, while the NFSR and a nonlinear filter function provide the necessary nonlinearity. This multi-register approach expands the state space and linear complexity, making exhaustive search infeasible for practical key sizes. The output stream's pseudo-random characteristics, such as low autocorrelation, support secure encryption when properly designed. Security in LFSR-based stream ciphers hinges on high linear complexity, defined as the length of the shortest LFSR that can produce the keystream, which resists known-plaintext attacks by requiring extensive keystream observation to model the sequence. For a primitive polynomial of degree n, the maximal linear complexity equals n, complicating recovery efforts. However, vulnerabilities arise from correlation attacks, which exploit weak statistical correlations between the keystream and underlying LFSR outputs; these attacks often leverage the Berlekamp-Massey algorithm to iteratively solve for the minimal feedback polynomial and initial state from a keystream segment of length roughly twice the linear complexity. Multivariate extensions of correlation attacks further reduce the required keystream bits, as demonstrated on filter generators and the Grain family, where advanced techniques like fast Walsh-Hadamard transforms achieve state recovery with complexities as low as 253.5 bits for Grain-v1. Historical deployments highlight both successes and challenges: the E0 cipher, specified in the Bluetooth standard, combines four LFSRs (of lengths 25, 31, 33, and 39 bits) with a 4-bit and linear combiner to generate a 128-bit key-derived keystream, though it has faced correlation-based . LFSR-specific designs influenced broader evolution, distinct from non-LFSR systems like , and persisted in eSTREAM candidates like through 2008 selections, with variants such as Grain-128AEADv2 proposed for NIST lightweight cryptography standardization in 2025. Best practices for secure LFSR use include selecting primitive polynomials to achieve the maximal of 2n − 1, employing register lengths exceeding 128 bits to elevate linear complexity beyond feasible thresholds, and applying post-processing via nonlinear filters or combiners to decorrelate outputs and algebraic attacks.

In Circuit Testing

Linear-feedback shift registers (LFSRs) play a central role in (BIST) architectures for digital circuits, where they generate pseudo-random test patterns to stimulate the (CUT) and compress output responses to detect faults such as stuck-at errors. In autonomous BIST schemes, LFSRs enable on-chip testing without extensive external equipment, facilitating at-speed verification during manufacturing or in-field operation. This approach has been integral to (SoC) designs since the early 1980s, minimizing test costs and improving reliability. For pattern generation, the linear in an LFSR produces exhaustive or pseudo-exhaustive s that cover potential fault sites , particularly targeting stuck-at faults in . When configured with a , the LFSR yields a maximal-length of $2^n - 1 patterns for an n-bit , ensuring balanced 0s and 1s to achieve high fault coverage without redundancy. These patterns are applied directly to scan chains or primary inputs, simulating random while maintaining deterministic . Response compression in BIST employs a multiple-input register (MISR), which is essentially an LFSR variant that folds multiple circuit outputs into a compact through XOR operations during each clock cycle. The resulting is compared against a precomputed fault-free value; any mismatch indicates a fault, with the linear preserving detectability. This method efficiently handles parallel outputs from the CUT, reducing storage needs for verification data. A representative example is a 16-bit LFSR testing a combinational , where the primitive polynomial x^{16} + x^{15} + x^{13} + x^4 + 1 generates 65,535 unique patterns to stimulate inputs, achieving over 99% coverage when paired with an for response analysis. In practice, such a setup detects nearly all single s in circuits with up to 16 inputs, as the pseudo-random sequences approximate exhaustive testing. The advantages of LFSRs in BIST include low area overhead—typically less than 1% of the CUT size—due to their simple XOR-based structure, enabling integration into dense VLSI designs. They also support concurrent testing during normal operation, enhancing fault detection without halting system functionality, and have become standard in SoC testing for their and power efficiency.

In Digital Communications

In digital communications, linear-feedback shift registers (LFSRs) are widely employed for signal to whiten streams, ensuring a balanced power and mitigating issues like spectral lines that could interfere with transmission efficiency. Additive scrambling involves XORing the input with a pseudonoise () sequence generated by an LFSR, which randomizes long runs of identical bits without losing , as the can descramble using the same . This technique enhances signal quality in modulated systems by spreading the energy across the spectrum, particularly in environments prone to . A prominent example is the Global Positioning System (GPS) coarse/acquisition (C/A) code, which utilizes Gold codes derived from two 10-bit LFSRs to generate PN sequences for spread-spectrum signaling. The primary LFSR (G1) operates with the primitive polynomial x^{10} + x^3 + 1 over GF(2), producing a maximal-length sequence of period 1023, while the secondary LFSR (G2) uses x^{10} + x^9 + x^8 + x^6 + x^3 + x^2 + 1, and their modulo-2 sum yields the unique C/A code for each satellite. This scrambling approach not only whitens the signal but also provides code-division multiple access (CDMA) capabilities, allowing multiple satellites to share the same frequency band with low cross-correlation. LFSRs also play a key role in error-correcting codes, where their feedback structure implements generator polynomials for encoding and syndrome computation. In cyclic redundancy checks (CRC), LFSRs perform efficient polynomial division over GF(2) to compute checksums for error detection in data transmission and storage; the feedback taps correspond to the CRC polynomial (e.g., CRC-32 uses x^{32} + x^{26} + x^{23} + \dots + 1), allowing hardware implementations that process data streams serially with minimal latency. In convolutional codes, the encoder is essentially an LFSR with multiple generator polynomials defining the connections between shift register stages and output XOR gates, enabling continuous error correction in streaming data; for instance, the NASA standard (2,1,7) code uses polynomials like g_1(D) = 1 + D^2 + D^3 + D^5 + D^6 and g_2(D) = 1 + D + D^2 + D^3 + D^6. Similarly, in Bose-Chaudhuri-Hocquenghem (BCH) and Reed-Solomon (RS) codes, LFSRs perform polynomial division over finite fields to generate parity symbols, allowing correction of multiple burst errors in block-based transmissions. These LFSR-based implementations are efficient in hardware, reducing complexity for real-time decoding in communication systems. For synchronization in digital systems, LFSRs generate sequences like Gold codes, which exhibit ideal autocorrelation properties for frame alignment and timing recovery in CDMA and orthogonal frequency-division multiplexing (OFDM) schemes. Gold codes, constructed by combining two preferred m-sequences from LFSRs with polynomials of degree n (yielding 2^n - 1 length), provide low cross-correlation among code family members, enabling robust detection of preamble or pilot symbols amid noise. In CDMA, these sequences facilitate asynchronous multiple access by allowing receivers to lock onto specific user codes for despreading, while in OFDM, they support channel estimation and symbol timing without significant overhead. Barker codes, though shorter and not directly LFSR-generated, are sometimes augmented with LFSR extensions for longer synchronization bursts in similar contexts. Standards such as V.35 for data transmission employ LFSR-based scramblers to prevent tonal interference in analog circuits, using a self-synchronizing like x^{16} + x^{12} + x^5 + [1](/page/1) to scramble bit streams at rates up to 48 kbit/s. In the Digital Video Broadcasting - Satellite - Second Generation () standard, LFSRs with a 15-stage configuration and x^{15} + x^{14} + [1](/page/1) generate randomization sequences for data whitening, while additional LFSR-driven address generation supports convolutional interleaving to combat burst errors, as specified up to the 2022 extensions for higher-order modulations. LFSRs operating over Galois fields GF(2^m) extend these applications to advanced schemes like (QAM), where they implement RS code encoders for symbol-level error correction, improving bit error rates in high-spectral-efficiency systems by handling multi-bit symbols directly.

References

  1. [1]
    Reconfigurable Linear Feedback Shift Register - IEEE Xplore
    Feb 25, 2022 · A linear feedback shift register (LFSR) is a shift register in which the feedback, i.e., the linear function of two or more of its previous ...
  2. [2]
    [PDF] Linear Feedback Shift Registers - Koc Lab
    Theorem. If the connection polynomial of degree n is a primitive polynomial, then the associated LFSR is maximal, with period 2n − 1. Primitivity of polynomials ...
  3. [3]
    [PDF] "What's An LFSR?" - Texas Instruments
    An LFSR is a shift register that, when clocked, advances the signal through the register from one bit to the next most-significant bit (see Figure 1). Some of ...
  4. [4]
    [PDF] Linear Feedback Shift Registers (LFSRs)
    Linear Feedback Shift Registers (LFSRs). • Efficient design for Test Pattern ... • x0 = 1 (principle input to shift register). • Note: state of the LFSR ...
  5. [5]
    [PDF] A tutorial on CRC computations - IEEE Micro
    A Tutorial on. CRC Computations. Data can lose integrity in storage and ... operation is a linear feedback shift register.4 Figure 4 shows the LFSR ...
  6. [6]
    [PDF] Secrets of Linear Feedback Shift Registers
    Jun 7, 2020 · A Linear Feedback Shift Register (LFSR) is a device that generates a long seemingly random sequence of ones and zeroes, used in cryptography.
  7. [7]
    LFSR – Linear Feedback Shift Register - Nandland
    Jun 30, 2022 · There are many applications that benefit from using an LFSR including: Counters; Test Pattern Generators; Data Scrambling; Cryptography. The ...
  8. [8]
    Tutorial: Linear Feedback Shift Registers (LFSRs) - Part 1 - EE Times
    EE Times Discusses How To Correctly Implement and Construct 3, 8, 10 and 32 bit Linear Feedback Shift Registers (LFSRs). Visit To Learn More.<|control11|><|separator|>
  9. [9]
    Solomon Golomb (1932–2016) - Stephen Wolfram Writings
    May 25, 2016 · Solomon Golomb's classic book Shift Register Sequences, published in 1967—based on his work in the 1950s—went out of print long ago. But its ...
  10. [10]
    [PDF] shift register sequences
    The purpose of this book is to collect and present in a single volume a thorough treatment of both the linear and nonlinear theory, with a guide to the area of ...
  11. [11]
    Polynomial Codes Over Certain Finite Fields
    Polynomial Codes Over Certain Finite Fields. Authors: I. S. Reed and G. SolomonAuthors Info & Affiliations ... Bell Labs Technical Journal, Vol. 18, No. 3 | 1 Dec ...Missing: Gustav | Show results with:Gustav
  12. [12]
    Primitive Polynomials for Robust Scramblers and Stream Ciphers ...
    A linear feedback shift register (LFSR) is a basic component of a linear scrambler and a stream cipher for a communication system. And primitive polynomials ...
  13. [13]
    The Weighted Syndrome Sums Approach to VLSI Testing
    In order to employ syndrome-testing in VLSI, we electronically partition the chip into macros in test mode. The macros are then syndrome tested in sequence.
  14. [14]
    [PDF] Designing VLSI (Very Large Scale Integrated) Circuits for Testability.
    The purpose of this study was to investigate methods of designing a circuit that would be highly testable when completed. This subject is of great interest ...
  15. [15]
    (PDF) Five decade evolution of feedback shift register: Algorithms ...
    Aug 7, 2025 · This paper addresses a brief overview of the key expansion in the feedback shift register and feedback with carry shift register of either ...
  16. [16]
  17. [17]
    [PDF] Linear feedback shift register A 4-bit Fibonacci LFSR with its state ...
    The taps are XOR'd sequentially with the output bit and then fed back into the leftmost bit. The sequence of bits in the rightmost position is called the output ...
  18. [18]
    [PDF] Pseudo-Random Number Generation by Fibonacci and Galois ...
    Figure 3 Block Diagram of Galois LFSR Method. In the Galois configuration, when the system is clocked, bits that are not taps are shifted one position to the ...
  19. [19]
    [PDF] Fibonacci and galois representations of feedback-with-carry shift ...
    Fibonacci LFSR. Theorem 2.1: Suppose an LFSR with connection polynomial of degree has initial loading . Set. (4) where . Then the output sequence is the ...<|control11|><|separator|>
  20. [20]
    [PDF] ithm for Non-Linear Feedback Shift Registers Delay Optimization
    Sep 10, 2010 · Figure shows a NLFSR (Galois configuration). 2.6.1 Advantages of Galois configuration over Fibonacci configuration. As shown in the figure 2 ...<|control11|><|separator|>
  21. [21]
    [PDF] Improved transformation between Fibonacci FSRs and Galois ... - arXiv
    Jun 26, 2020 · In this paper, we develop an algorithm to select the equivalent Galois FSR with the minimal operators and stages. • For arbitrary given ...Missing: operation | Show results with:operation
  22. [22]
    [PDF] A Matrix Model for the Linear Feedback Shift Register - DTIC
    Sep 15, 1989 · In this report, a matrix model is used to discover some of the properties of the linear feedback shift register. (LFSR) and to consider its ...
  23. [23]
    [PDF] On Designing Transformed Linear Feedback Shift Registers with ...
    Nov 8, 2011 · As a reciprocal polynomial of a primitive polynomial is a primitive polynomial, the bottom-top LFSR will also generate an m-sequence. As can ...
  24. [24]
    [PDF] Linear Feedback Shift Registers (LFSRS)
    Characteristic polynomial of LFSR. • n = # of FFs = degree of polynomial ... xº = 1 (principle input to shift register). •. Example: P(x) = x3 + x + 1. 1x0.
  25. [25]
    Tutorial - Noise Source - Casper
    Jul 13, 2012 · Uniform random number can be generated digitally using a Linear Feedback Shift Register. A maximal length LFSR can generate uniform random ...
  26. [26]
    Xorshift RNGs | Journal of Statistical Software
    Jul 4, 2003 · 8 (2003); Issue 14. Xorshift RNGs. George Marsaglia. Main Article Content. Abstract. Description of a class of simple, extremely fast random ...Missing: original | Show results with:original
  27. [27]
    Security and Efficiency of Linear Feedback Shift Registers in GF(2 n ...
    Stream ciphers are mainly based on LFSRs defined over finite fields with q = 2 [1]. Hence, the cell content is one bit, and the addition and multiplication ...
  28. [28]
    [PDF] On the Linear Complexity of Feedback Registers
    The results of the previous section can be generalized to GF(q), the finite field of q elements, where q is a power of an arbitrary prime. The definitions ...
  29. [29]
    [PDF] Shift-Register Synthesis and BCH Decoding l
    N THE FOLLOWING section, the problem of finding the shortest linear feedback shift register that can generate a given finite sequence of digits is studied. In ...
  30. [30]
    Linear Feedback Shift Registers
    For a linear feedback shift register (LFSR) of length L, initial state s0, ..., sL - 1 ∈GF(q) ... finite field as the universe of S, and its ... Given a sequence S ...
  31. [31]
    LFSR sequences over GF(4) - ASKSAGE: Sage Q&A Forum
    Feb 21, 2023 · I want to create sequences generated by the polynomial x2+αx+1 where coefficients are from F4 s.t. α2+α+1=0. In which α2=α+1 and α3=1.
  32. [32]
    [PDF] Algebraic Shift Register Sequences - Institute for Advanced Study
    Apr 2, 2011 · ... Linear Feedback Shift Register of Length m ... guide. It may even be possible to delay the retreat to the appendices indefinitely, by ...Missing: tutorial | Show results with:tutorial
  33. [33]
    LFSR - De Bruijn Sequences and Universal Cycles
    LFSRs based on primitive polynomials generate maximal length sequences (m-sequences) having length 2n−1 2 n − 1 that miss only the all 0 string. Example LFSR.Missing: structure | Show results with:structure
  34. [34]
    [PDF] Berlekamp-Massey Algorithm
    For obvious reasons, we want to find the solution with the minimal value of e. To do this I must introduce Berlekamp's error-locator polynomial. (z) = eY i=1.
  35. [35]
  36. [36]
    [PDF] Chaotic Combiner for Linear Feedback Shift Register Sequences
    Overall, of the 15 tests for randomness, a sequence generated by a LFSR passes 12 of them, failing the Spectral Test, the Binary Matrix Rank Test, and, ...
  37. [37]
    [PDF] LFSR sequences
    The linear complexity of a LFSR sequence is the degree of its minimal polynomial. Equivalently, it is the number of registers of the smallest LFSR that ...
  38. [38]
    Multistage Linear Feedback Shift Register Counters With Reduced Decoding Logic in 130-nm CMOS for Large-Scale Array Applications
    - **Design**: Multistage Linear Feedback Shift Register (LFSR) counters implemented in 130-nm CMOS for large-scale array applications.
  39. [39]
    Application of LFSRs for Parallel Sequence Generation in ...
    The conventional method of doing this is to use a counter. We show that sequences generated by linear feedback shift registers (LFSRs) can be tailored...
  40. [40]
    [PDF] LFSR-based Stream Ciphers - Centre Inria de Paris
    In par- ticular, three classical constructions based on LFSR aim at increasing the linear complexity of the generated sequence at a low implementation cost.
  41. [41]
    [PDF] A LFSR-based Stream Cipher with Key Dependent Structure
    A5.1 is a linear feedback shift register (LFSR) stream cipher using three shift registers. The registers are clocked in an irregular fashion which determines ...
  42. [42]
    [PDF] Primitive Specification for SOBER-128 - Cryptology ePrint Archive
    Analysis of the combination of the LFSR and NLF. The LFSR provides the statistical properties essential for a good stream cipher. However, the LFSR itself is ...
  43. [43]
    [PDF] Grain - A Stream Cipher for Constrained Environments
    The LFSR guarantees a min- imum period for the keystream and it also provides balancedness in the output. The NFSR, together with a nonlinear filter introduces ...
  44. [44]
    [PDF] Grain-128AEADv2 - A lightweight AEAD stream cipher
    The Grain family of stream ciphers are based on the idea behind the nonlinear filter generator. In a nonlinear filter, an LFSR is used to provide a sequence.
  45. [45]
    [PDF] Stream ciphers
    A comprehensive survey of correlation attacks on LFSR-based stream ciphers is the paper by Golic [486]; the cases where the combining function is memoryless ...
  46. [46]
    [PDF] Multivariate Correlation Attacks and the Cryptanalysis of LFSR ...
    We focus on attacks against LFSR-based stream ciphers whose goal is to recover the cipher's initial state that produced the given keystream. A non-linear filter ...
  47. [47]
    [PDF] A Uniform Framework for Cryptanalysis of the Bluetooth E0 Cipher
    E0 is a relatively new LFSR-based cipher, which comprises of 4 LFSRs of different lengths, which are combined by non-linear combiner logic. A Bluetooth device ...
  48. [48]
    [PDF] Revisiting LFSRs for cryptographic applications - arXiv
    Mar 25, 2011 · A Galois or Fibonacci LFSR is defined by its connection polynomial because the transition matrix A has a special form and can be deduced from it ...
  49. [49]
    A built-in self test scheme for VLSI - IEEE Xplore
    Many conventional BIST schemes use signatures generated by a linear feedback shift register (LFSR) or a multiple input signature register (MISR) for ...
  50. [50]
    [PDF] CIS 4930 Digital System Testing Built-In Self Test (BIST)
    Autonomous LFSR can also be used. • Guarantees that all detectable faults that do not introduce sequential behavior will be detected. – i.e. no bridging faults.
  51. [51]
    An efficient test pattern generator for high fault coverage in built-in ...
    The linear feedback shift register (LFSR) is used to generate test patterns for primary inputs or scan chains input and a multiple input shift register (MISR) ...<|control11|><|separator|>
  52. [52]
    [PDF] BUILT-IN SELF-TEST
    Also, BIST generally provides a 90 to 95% fault coverage, and even 99% in exceptional cases [33]. The test engineer need no longer worry about backdriving ...
  53. [53]
    Overview
    The length of the LFSR sequence is determined by its characteristic polynomial. Only a primitive polynomial guarantees a maximal-length sequence of 2 N - 1.Missing: period | Show results with:period
  54. [54]
    (PDF) Scrambling and De-Scrambling Implementation Using Linear ...
    Aug 9, 2017 · This paper presents a design of scrambler and descrambler using a combination of Linear Feedback Shift Register (LFSR) with 15 registers, XOR logic gates,
  55. [55]
    Optimized Method for Generating and Acquiring GPS Gold Codes
    Nov 10, 2015 · GPS system uses Gold codes that are generated by two LFSRs expressed each as coefficients of a polynomial. The two polynomials corresponding to ...
  56. [56]
    [PDF] Convolutional Codes - Complex To Real
    Convolutional codes are specified by (n,k,m), where n is output bits, k is input bits, and m is memory registers. The code rate is k/n.
  57. [57]
    LFSR based versatile divider architectures for BCH and RS error ...
    Error correction codes play a major role in real world data communication systems. This paper proposes linear feedback shift register (LFSR) based flexible ...
  58. [58]
    Gold code generator using LFSRs - GaussianWaves
    Jun 9, 2015 · The auto-correlation and cross-correlation plots reveal that the Gold code sequence does not possess the excellent auto-correlation property as ...
  59. [59]
    [PDF] Code Division Multiple Access (CDMA) - Complex To Real
    The use of Gold sequences permits the transmission to be asynchronous. The receiver can synchronize using the auto-correlation property of the Gold sequence. .
  60. [60]
    Correlation Prevention Methods for Satellite Adaptive Cancellation ...
    Feedback scramblers have the property that any difference in input data will randomly re-seed the scrambling sequence. The use of a scrambler such as ITU V.35 ...
  61. [61]
    [PDF] Second Generation DVB Interactive Satellite System (RCS2) Part 2
    stream, for DVB-S2 ACM TDM as well as DVB-S2 CCM TDM. The NCR is distributed ... The data is randomised using the 15 register Linear Feedback Shift Register (LFSR) ...
  62. [62]
    Non-Binary Error Control Coding for Wireless Communication and ...
    An NB-LDPC code is a linear block code defined by the sparse parity-check matrix (PCM) H of size M by N , in GF (g) or a Tanner graph representation, ...