LFSR-Rechner - Lineares Schieberegister

Erzeugen Sie pseudorandom binäre Sequenzen mit einem linearen Schieberegister und anpassbaren Feedback-Taps.

Geben Sie Registerlänge, Anfangs-Seed, Feedback-Tap-Positionen, LFSR-Typ und Anzahl der Iterationen ein und klicken Sie dann auf Sequenz erzeugen.

LFSR-Rechner - Lineares Schieberegister
Erzeugen Sie pseudorandom binäre Sequenzen mit einem linearen Schieberegister und anpassbaren Feedback-Taps.

Binärstring, der den Anfangszustand darstellt (nur 1en und 0en)

Kommagetrennte Tap-Positionen beginnend bei 1

Anzahl der auszuführenden Schiebeoperationen

Erzeugte Sequenz
Ausgabebits: 000100110101111
Sequenzperiode: 15
Maximale Länge: Ja
Registerzustände:
0: 1000
1: 0100
2: 0010
3: 1001
4: 1100
5: 0110
6: 1011
7: 0101
8: 1010
9: 1101
10: 1110
11: 1111
12: 0111
13: 0011
14: 0001
15: 1000

Über den LFSR-Rechner

Ein Linear Feedback Shift Register (LFSR) ist ein Schieberegister, dessen Eingangsbit eine lineare Funktion (XOR) einiger vorheriger Zustandsbits ist. Bei jedem Takt verschiebt das Register alle Bits um eine Position, das neue Eingangsbit wird durch XOR der Bits an bestimmten Positionen, den sogenannten Feedback-Taps, berechnet, und das Ausgangsbit ist das herausgeschobene Bit. Die resultierende Binärsequenz wirkt zufällig, ist aber vollständig deterministisch und wiederholt sich mit einer Periode, die von Registerlänge und Tap-Auswahl abhängt. LFSRs werden häufig in digitaler Kommunikation, Kryptografie, BIST-Schaltungen (Built-In Self-Test), Spreizspektrum-Systemen und der Pseudozufallszahlenerzeugung eingesetzt. Da ein n-stufiges LFSR vor der Wiederholung höchstens 2ⁿ − 1 Bits erzeugen kann (der All-Nullen-Zustand ist ausgeschlossen) und diese maximale Folge mit sorgfältig gewählten primitiven Polynom-Taps erreicht werden kann, sind LFSRs eine effiziente Hardware-Implementierung von Pseudorandomität. Es gibt zwei gängige LFSR-Architekturen. Beim Fibonacci-LFSR (externe Rückkopplung) wird das Feedbackbit aus einer festen Menge von Tap-Positionen berechnet und in die linke Stufe eingespeist, während alle anderen Stufen nach rechts verschieben. Das Ausgangsbit wird von der rechten Stufe entnommen. Beim Galois-LFSR (interne Rückkopplung) wird das Feedbackbit direkt in mehrere Zwischenstufen XOR-verknüpft, statt nur an den Eingang zurückgeführt zu werden. Galois-LFSRs sind in Hardware schneller, weil alle XOR-Operationen parallel und nicht seriell erfolgen. Ein LFSR mit maximaler Länge — also eines, das vor der Wiederholung alle 2ⁿ − 1 nicht nullen Zustände durchläuft — benötigt ein primitives Polynom als Feedback-Polynom. Die Tap-Positionen entsprechen den von null verschiedenen Koeffizienten dieses Polynoms. Für ein 4-Bit-LFSR mit Taps an Position 4 und 3 ist das primitive Polynom x⁴ + x³ + 1, und das LFSR durchläuft alle 15 nicht nullen Zustände. Mit diesem Rechner können Sie beliebige Kombinationen aus Registerlänge, Seed, Tap-Positionen und LFSR-Typ ausprobieren. Sie können prüfen, ob Ihre gewählten Taps eine Folge maximaler Länge erzeugen, indem Sie die Periode in den Ergebnissen betrachten — ist die Periode gleich 2ⁿ − 1, bilden die Taps ein primitives Polynom. Anhand der Beispiele sehen Sie bekannte Konfigurationen mit maximaler Länge. LFSRs werden in vielen Bereichen eingesetzt. In Wi‑Fi und Bluetooth liefern sie die Spreizcodes für Frequency Hopping und Direct Sequence Spread Spectrum. In Speicher- und Kommunikationssystemen werden CRC-Schaltungen (zyklische Redundanzprüfung) als LFSRs implementiert. In kryptografischen Stromchiffren bilden LFSRs das zentrale Primitive (moderne Chiffren kombinieren jedoch mehrere LFSRs mit nichtlinearen Komponenten, um lineare Kryptanalyse zu erschweren). In der Chipprüfung komprimiert die auf LFSRs basierende Signaturanalyse Testantwortdaten zu einer kompakten Signatur.

LFSR-Beispiele

Gängige LFSR-Konfigurationen mit maximalen Folgen und unterschiedlichen Registergrößen.

KonfigurationPeriodeBeschreibung
4-bit, seed=1000, taps=[4,3], Fibonacci15 (maximal)Primitives Polynom x⁴+x³+1. Durchläuft alle 15 nicht nullen 4-Bit-Zustände.
8-bit, seed=10110001, taps=[8,6,5,4], Fibonacci255 (maximal)Standardmäßiges 8-Bit-Fibonacci-LFSR für kryptografische Anwendungen.
5-bit, seed=10101, taps=[5,3], Galois31 (maximal)Intern rückgekoppeltes Galois-LFSR mit schnelleren parallelen XOR-Operationen.
3-bit, seed=110, taps=[3,2], Fibonacci7 (maximal)Einfaches 3-Bit-LFSR, ideal zur anschaulichen Einführung.

So verwenden Sie den LFSR-Rechner

  1. Stellen Sie die Registerlänge auf die gewünschte Bitanzahl ein (z. B. 4 für ein 4-Bit-LFSR).
  2. Geben Sie den Anfangs-Seed als Binärstring mit einer Länge ein, die der Registerlänge entspricht (z. B. 1000). Vermeiden Sie den All-Nullen-Zustand — er blockiert das LFSR.
  3. Geben Sie die Feedback-Taps als kommagetrennte Positionen ein (z. B. 4, 3). Tap-Positionen werden von 1 an der linken Stufe gezählt.
  4. Wählen Sie den LFSR-Typ: Fibonacci (externe Rückkopplung) oder Galois (interne Rückkopplung).
  5. Legen Sie die Anzahl der Iterationen fest und klicken Sie auf Sequenz erzeugen, um den Ausgabebitstrom und die Registerzustände bei jedem Schritt zu sehen.

LFSR-Rechner FAQ

Was ist ein LFSR mit maximaler Länge?
Ein LFSR mit maximaler Länge durchläuft vor der Wiederholung alle 2ⁿ − 1 möglichen nicht nullen Zustände. Dafür muss das Feedback-Polynom (definiert durch die Tap-Positionen) ein primitives Polynom über GF(2) sein. Für ein 4-Bit-LFSR beträgt die maximale Periode 15; für ein 8-Bit-LFSR 255. Folgen maximaler Länge (m-Sequenzen) besitzen sehr gute pseudorandom Eigenschaften.
Warum ist der All-Nullen-Zustand ausgeschlossen?
Wenn alle Registerbits Null sind, erzeugt das XOR-Feedback immer wieder Null, und das Register bleibt für immer bei Null hängen. Deshalb darf der Anfangs-Seed nicht aus Nullen bestehen. Aus demselben Grund ist die maximale Periode 2ⁿ − 1 statt 2ⁿ.
Was ist der Unterschied zwischen Fibonacci- und Galois-LFSR?
Beim Fibonacci-LFSR wird das Feedbackbit aus dem XOR aller Tap-Positionen gebildet und in die erste Stufe eingespeist; alle anderen Stufen verschieben nur. Beim Galois-LFSR wird das Feedbackbit direkt parallel in mehrere Zwischenstufen XOR-verknüpft. Beide erzeugen dieselbe Folge (bei äquivalenten Polynomen), aber Galois ist in Hardware schneller, weil die XOR-Operationen parallel sind.
Wie wähle ich die richtigen Tap-Positionen?
Für eine maximale Folge müssen die Tap-Positionen zu einem primitiven Polynom über GF(2) gehören. Tabellen primitiver Polynome für gängige Registerlängen sind weit verbreitet. Beispiel: Für n=4 liefert das primitive Polynom x⁴+x³+1 die Taps [4,3]; für n=8 liefert das Polynom x⁸+x⁶+x⁵+x⁴+1 die Taps [8,6,5,4].
Sind LFSR-Folgen wirklich zufällig?
Nein. LFSR-Folgen sind deterministisch und vollständig aus Seed und Tap-Positionen vorhersagbar. Sie heißen pseudorandom, weil sie viele statistische Zufallstests bestehen und für jemanden ohne Kenntnis der Konfiguration zufällig wirken. Für kryptografische Anwendungen müssen LFSRs mit nichtlinearen Komponenten kombiniert werden, um lineare Kryptanalyse zu widerstehen.
Was ist eine CRC und wie hängt sie mit LFSRs zusammen?
Eine zyklische Redundanzprüfung (CRC) ist ein Fehlererkennungscode, der berechnet wird, indem ein Nachrichtenpolynom durch ein Generatorpolynom über GF(2) geteilt und der Rest angehängt wird. Dieser Teilungsprozess entspricht dem Durchlaufen der Nachrichtenbits durch ein vom Generatorpolynom definiertes LFSR. Standard-CRC-32 verwendet ein bestimmtes 32-Bit-primitives Polynom, und die Hardware-Implementierung ist ein 32-stufiges LFSR.