Geradliniges Feed-Back-Verschiebungsregister

Ein geradliniges Feed-Back-Verschiebungsregister (LFSR) ist ein Verschiebungsregister, dessen eingegebenes Bit eine geradlinige Funktion seines vorherigen Staates ist.

Die meistens verwendete geradlinige Funktion von einzelnen Bit ist XOR. So ist ein LFSR meistenteils ein Verschiebungsregister, dessen eingegebenes Bit durch das exklusive - oder (XOR) von einigen Bit des gesamten Verschiebungsregister-Werts gesteuert wird.

Der Anfangswert des LFSR wird den Samen genannt, und weil die Operation des Registers deterministisch ist, wird der Strom von durch das Register erzeugten Werten durch seinen Strom (oder vorherig) Staat völlig bestimmt. Ebenfalls, weil das Register eine begrenzte Zahl von möglichen Staaten hat, muss es schließlich in einen sich wiederholenden Zyklus eingehen. Jedoch kann ein LFSR mit einer treffenden Feed-Back-Funktion eine Folge von Bit erzeugen, die zufällig scheint, und die einen sehr langen Zyklus hat.

Anwendungen von LFSRs schließen erzeugende pseudozufällige Zahlen, Pseudogeräuschfolgen, schnell Digitalschalter und weiß werdende Folgen ein. Sowohl Hardware als auch Softwaredurchführungen von LFSRs sind üblich.

Die Mathematik einer zyklischen Redundanzprüfung, verwendet, um eine Schnellkontrolle gegen Übertragungsfehler zur Verfügung zu stellen, ist nah mit denjenigen eines LFSR verbunden.

Fibonacci LFSRs

Die Bit-Positionen, die den folgenden Staat betreffen, werden die Klapse genannt. Im Diagramm sind die Klapse [16,14,13,11]. Das niedrigstwertige Bit des LFSR wird das Produktionsbit genannt. Die Klapse sind XOR'd folgend mit der Produktion hat gebissen und hat dann zurück ins Leftmost-Bit gefressen. Die Folge von Bit in der niedrigstwertigen Position wird den Produktionsstrom genannt.

  • Die Bit im LFSR-Staat, die den Eingang beeinflussen, werden Klapse (weiß im Diagramm) genannt.
  • Ein LFSR der maximalen Länge erzeugt eine M Folge (d. h. es fährt durch alle möglichen 2 &minus Rad; 1 Staaten innerhalb der Verschiebung schreiben sich außer dem Staat ein, wo alle Bit Null sind), wenn es alle Nullen nicht enthält, in welchem Fall es sich nie ändern wird.
  • Da eine Alternative zum XOR Feed-Back in einem LFSR gestützt hat, kann man auch XNOR verwenden. Diese Funktion ist eine Affine-Karte, nicht ausschließlich eine geradlinige Karte, aber sie läuft auf einen gleichwertigen polynomischen Schalter hinaus, dessen Staat dieses Schalters die Ergänzung des Staates eines LFSR ist. Ein Staat mit allen ist ungesetzlich, wenn er ein XNOR Feed-Back ebenso verwendet, wie ein Staat mit dem ganzen zeroes ungesetzlich ist, wenn er XOR verwendet. Dieser Staat wird ungesetzlich betrachtet, weil der Schalter "weggeschlossen" in diesem Staat bleiben würde.

Die Folge von Zahlen, die durch einen LFSR oder seinen XNOR Kollegen erzeugt sind, kann als ein binäres Ziffer-System so gültig als Code von Gray oder der natürliche binäre Code betrachtet werden.

Die Einordnung von Klapsen für das Feed-Back in einem LFSR kann in der begrenzten Feldarithmetik als ein Polynom mod 2 ausgedrückt werden. Das bedeutet, dass die Koeffizienten des Polynoms 1's oder 0's sein müssen. Das wird das Feed-Back-Polynom oder charakteristische Polynom genannt. Zum Beispiel, wenn die Klapse an den 16., 14., 13. und 11. Bit sind (wie gezeigt), ist das Feed-Back-Polynom

:

'Derjenige' im Polynom entspricht keinem Klaps - es entspricht dem Eingang zum ersten Bit (d. h. x, der zu 1 gleichwertig ist). Die Mächte der Begriffe vertreten die geklopften Bit, vom links zählend. Vor allen Dingen werden Bit immer als ein Eingang und Produktionsklaps beziehungsweise verbunden.

Tische von primitiven Polynomen, von der maximaler Länge LFSRs gebaut werden kann, werden unten und in den Verweisungen gegeben.

  • Der LFSR wird nur maximale Länge sein, wenn die Zahl von Klapsen gleich ist; gerade können 2 oder 4 Klapse sogar für äußerst lange Folgen genügen.
  • Der Satz von Klapsen — genommen alle zusammen, nicht pairwise (d. h. als Paare von Elementen) — muss relativ erst sein. Mit anderen Worten muss es keinen allgemeinen Teiler zu allen Klapsen geben.
  • Es kann mehr als eine Klaps-Folge der maximalen Länge für eine gegebene LFSR Länge geben
  • Sobald eine Klaps-Folge der maximalen Länge gefunden worden ist, folgt ein anderer automatisch. Wenn die Klaps-Folge, in einem N-Bit LFSR, [n, A, B, C, 0] ist, wo 0 dem x = 1 Begriff entspricht, dann ist die entsprechende 'Spiegel'-Folge [n, n − C, n − B, n − A, 0]. So hat die Klaps-Folge [32, 7, 3, 2, 0] als sein Kollege [32, 30, 29, 25, 0]. Beide geben eine Folge der maximalen Länge.

Ein Beispiel C Code ist unten:

  1. einschließen

uint16_t lfsr = 0xACE1u;

nicht unterzeichnetes Bit;

nicht unterzeichnete Periode = 0;

tun Sie {\

/* Klapse: 16 14 13 11; charakteristisches Polynom: x^16 + x^14 + x^13 + x^11 + 1 * /

Bit = ((lfsr>> 0) ^ (lfsr>> 2) ^ (lfsr>> 3) ^ (lfsr>> 5)) & 1;

lfsr = (lfsr>> 1) | (Bit

Der obengenannte Code nimmt an, dass das bedeutendste Bit dessen Bit 1 ist, und das am wenigsten bedeutende Bit Bit 16 ist.

Sowie Fibonacci, diese LFSR Konfiguration ist auch bekannt als Standard, many-one oder XOR Außentore. LFSR hat eine alternative Konfiguration.

Galois LFSRs

Genannt nach dem französischen Mathematiker Évariste Galois ist ein LFSR in der Konfiguration von Galois, die auch bekannt als modularer, innerer XORs sowie one-many LFSR ist, eine abwechselnde Struktur, die denselben Produktionsstrom wie ein herkömmlicher LFSR erzeugen kann. In der Konfiguration von Galois, wenn das System, Bit abgestoppt wird, die nicht sind, Klapse werden eine nach rechts unveränderte Position ausgewechselt. Die Klapse sind andererseits XOR'd mit dem Produktionsbit, bevor sie in der folgenden Position versorgt werden. Die neue Produktion hat gebissen ist das folgende Eingangsbit. Die Wirkung davon besteht darin, dass, als die Produktion gebissen hat, Null ist, die alle Bit in der Register-Verschiebung nach rechts unverändert, und der Eingang gebissen haben, wird Null. Als die Produktion gebissen hat, ist ein, die Bit in den Klaps-Positionen der ganze Flip (wenn sie 0 sind, werden sie 1, und wenn sie 1 Jahr alt sind, werden sie 0), und dann wird das komplette Register nach rechts ausgewechselt, und der Eingang hat gebissen wird 1.

Um denselben Produktionsstrom zu erzeugen, ist die Ordnung der Klapse die Kopie (sieh oben) der Ordnung für den herkömmlichen LFSR sonst wird der Strom rückwärts sein. Bemerken Sie, dass der innere Staat des LFSR nicht notwendigerweise dasselbe ist. Die Galois schreiben sich gezeigt ein hat denselben Produktionsstrom wie das Register von Fibonacci in der ersten Abteilung.

  • Galois LFSRs verketten jeden Klaps nicht, um den neuen Eingang zu erzeugen (der XOR'ing wird innerhalb des LFSR getan, und keine XOR Tore werden in der Reihe geführt, deshalb werden die Laufzeiten auf dass von einem XOR aber nicht einer ganzen Kette reduziert), so ist es für jeden Klaps möglich, in der Parallele geschätzt zu werden, die Geschwindigkeit der Ausführung vergrößernd.
  • In einer Softwaredurchführung eines LFSR ist die Form von Galois effizienter, weil die XOR Operationen ein Wort auf einmal durchgeführt werden können: Nur die Produktion hat gebissen muss individuell untersucht werden.

Unten ist ein Codebeispiel einer maximalen 32-Bit-Periode Galois LFSR, der in C gültig ist:

einschließen

uint32_t lfsr = 1;

nicht unterzeichnete Periode = 0;tun Sie {\

/* Klapse: 32 31 29 1; charakteristisches Polynom: x^32 + x^31 + x^29 + x + 1 * /

lfsr = (lfsr>> 1) ^ (-(lfsr & 1u) & 0xD0000001u);

++ Periode;

} während (lfsr! = 1u);

</Quelle>

Und hier ist der Code für das 16-Bit-Beispiel in der Zahl

einschließen uint16_t lfsr = 0xACE1u;nicht unterzeichnete Periode = 0;tun Sie {\ /* Klapse: 16 14 13 11; charakteristisches Polynom: x^16 + x^14 + x^13 + x^11 + 1 * /

lfsr = (lfsr>> 1) ^ (-(lfsr & 1u) & 0xB400u);

++ Periode;

} während (lfsr! = 0xACE1u);

</Quelle>

Diese Codebeispiele schaffen eine Knebelknopf-Maske, um für den ausgewechselten Wert mit dem XOR Maschinenbediener zu gelten. Die Maske wird durch das erste Entfernen von allen außer dem am wenigsten bedeutenden Bit geschaffen (die Produktion hat gebissen) des aktuellen Werts. Dieser Wert wird dann verneint (die Ergänzungsablehnung von two), der einen Wert entweder des ganzen 0s oder aller 1s schafft, wenn die Produktion gebissen hat, ist 0 oder 1, beziehungsweise. Durch ANDing das Ergebnis mit dem Klaps-Wert (z.B, 0xB400 im zweiten Beispiel) vor der Verwendung davon als die Knebelknopf-Maske, handelt es funktionell, weil ein bedingter, um die auf der Produktion gestützte Knebelknopf-Maske entweder zu gelten oder nicht anzuwenden, gebissen hat. Ein ausführlicheres, aber bedeutsam weniger effizientes Codebeispiel wird unten gezeigt.

einschließen uint16_t lfsr = 0xACE1u;nicht unterzeichnete Periode = 0;tun Sie {\

nicht unterzeichneter lsb = lfsr & 1;/* Bekommen lsb (d. h. die Produktion hat gebissen). * /

lfsr>> = 1;/*-Verschiebung schreibt sich * / ein

wenn (lsb == 1)/* Nur Knebelknopf-Maske anwenden, wenn Produktion gebissen hat, ist 1. * /

lfsr ^ = 0xB400u;/* Wenden Knebelknopf-Maske An, Wert hat 1 an Bit entsprechender

* zu Klapsen, 0 anderswohin. * /

++ Periode;} während (lfsr! = 0xACE1u);</Quelle>

Nichtbinärer Galois LFSR

Binärer Galois LFSRs wie diejenigen, die oben gezeigt sind, kann zu jedem q-ary Alphabet {0, 1..., q &minus verallgemeinert werden; 1\(z.B, für die Dualzahl, ist q zwei gleich, und ist das Alphabet einfach {0, 1}). In diesem Fall wird das exklusive - oder Bestandteil zur Hinzufügung modulo-q verallgemeinert (bemerken Sie, dass XOR Hinzufügung modulo 2 ist), und das Feed-Back gebissen hat (Produktion hat gebissen) wird (modulo-q) durch einen Q-Ary-Wert multipliziert, der für jeden spezifischen Klaps-Punkt unveränderlich ist. Bemerken Sie, dass das auch eine Generalisation des binären Falls ist, wo das Feed-Back mit jedem 0 multipliziert wird (kein Feed-Back, d. h. kein Klaps) oder 1 (ist Feed-Back da). In Anbetracht einer passenden Klaps-Konfiguration kann solcher LFSRs verwendet werden, um Felder von Galois für willkürliche Hauptwerte von q zu erzeugen.

Einige Polynome für maximalen LFSRs

Der folgende Tisch verzeichnet Polynome der maximalen Länge für Shift-Register-Längen bis zu 19. Bemerken Sie, dass mehr als ein Polynom der maximalen Länge für jede gegebene Shift-Register-Länge bestehen kann.

Produktionsstrom-Eigenschaften

  • Und zeroes kommen in 'Läufen' vor. Der Produktionsstrom 0110100, besteht zum Beispiel aus fünf Läufen von Längen 1,2,1,1,2, in der Ordnung. In einer Periode eines maximalen LFSR kommen 2 Läufe vor (zum Beispiel, ein Sechs-Bit-LFSR wird 32 Läufe haben). Genau wird die Hälfte dieser Läufe ein Bit lang sein, ein Viertel, wird bis zu einem einzelnen Lauf von zeroes n &minus zwei Bit lang sein; 1 Bit lang, und ein einzelner Lauf von n Bit lange. Dieser Vertrieb kommt fast dem statistischen Erwartungswert für aufrichtig Zufallsfolge gleich. Jedoch ist die Wahrscheinlichkeit der Entdeckung genau dieses Vertriebs in einer Probe aufrichtig Zufallsfolge ziemlich niedrig.
  • LFSR Produktionsströme sind deterministisch. Wenn Sie den aktuellen Zustand wissen, können Sie den folgenden Staat voraussagen. Das ist mit aufrichtig zufälligen Ereignissen nicht möglich.
  • Der Produktionsstrom ist umkehrbar; ein LFSR mit Spiegelklapsen wird durch die Produktionsfolge in umgekehrter Reihenfolge Rad fahren.

Anwendungen

LFSRs kann in der Hardware durchgeführt werden, und das macht sie nützlich in Anwendungen, die sehr schnelle Generation einer pseudozufälligen Folge wie Ausbreitungsspektrum-Radio der direkten Folge verlangen. LFSRs sind auch verwendet worden, für eine Annäherung des weißen Geräusches in verschiedenen programmierbaren gesunden Generatoren zu erzeugen.

Gebrauch als Schalter

Die sich wiederholende Folge von Staaten eines LFSR erlaubt ihm, als ein Uhr-Teiler, oder als ein Schalter verwendet zu werden, wenn eine nichtbinäre Folge annehmbar ist, wie häufig der Fall ist, wo Computerindex oder sich entwickelnde Positionen maschinenlesbar sein müssen. LFSR Schalter haben einfachere Feed-Back-Logik als natürliche binäre Schalter oder Codeschalter von Gray, und können deshalb an höheren Uhr-Raten funktionieren. Jedoch ist es notwendig sicherzustellen, dass der LFSR nie in einen Vollnullstaat, zum Beispiel durch die Voreinstellung davon beim Anlauf zu jedem anderen Staat in der Folge eingeht.

Der Tisch von primitiven Polynomen zeigt, wie LFSRs in der Form von Fibonacci oder Galois eingeordnet werden kann, um maximale Perioden zu geben. Man kann jede andere Periode erhalten, indem man zu einem LFSR beiträgt, der eine längere Periode etwas Logik hat, die die Folge durch das Auslassen einiger Staaten verkürzt.

Gebrauch in der Geheimschrift

LFSRs sind lange als pseudozufällige Zahlengeneratoren für den Gebrauch in Strom-Ziffern (besonders in der militärischen Geheimschrift), wegen der Bequemlichkeit des Aufbaus von einfachen elektromechanischen oder elektronischen Stromkreisen, lange Zeiträume und sehr gleichförmig verteilte Produktionsströme verwendet worden. Jedoch ist ein LFSR ein geradliniges System, zu ziemlich leichtem cryptanalysis führend. Zum Beispiel, in Anbetracht eines Streckens bekannten plaintext und entsprechenden ciphertext, kann ein Angreifer abfangen und ein Strecken des LFSR Produktionsstroms wieder erlangen, der im System verwendet ist, beschrieben, und von diesem Strecken der Produktion kann der Strom einen LFSR der minimalen Größe bauen, die den beabsichtigten Empfänger durch das Verwenden des Berlekamp-Massey Algorithmus vortäuscht. Dieser LFSR kann dann das abgefangene Strecken des Produktionsstroms gefüttert werden, um den restlichen plaintext wieder zu erlangen.

Drei allgemeine Methoden werden verwendet, um dieses Problem in LFSR-basierten Strom-Ziffern zu reduzieren:

  • Nichtlineare Kombination von mehreren Bit vom LFSR-Staat;
  • Die nichtlineare Kombination der Produktionsbit von zwei oder mehr LFSRs (sieh auch: das Schrumpfen des Generators); oder
  • Das unregelmäßige Abstoppen des LFSR, als im Wechselschritt-Generator.

Wichtige LFSR-basierte Strom-Ziffern schließen A5/1 und A5/2 ein, der in GSM Mobiltelefonen, E0 verwendet ist, der in Bluetooth und dem Schrumpfen-Generator verwendet ist. Die A5/2 Ziffer ist gebrochen worden, und sowohl A5/1 als auch E0 haben ernste Schwächen.

Gebrauch in der Digitalrundfunkübertragung und den Kommunikationen

Das Kriechen

Kurze sich wiederholende Folgen (z.B, Läufe von 0's oder 1's) davon zu verhindern, geisterhafte Linien zu bilden, die das Symbol-Verfolgen am komplizieren können

Empfänger oder stört andere Übertragungen, geradlinige Feed-Back-Register sind häufig an "randomize" der übersandte bitstream gewöhnt. Dieser

randomization wird am Empfänger danach demodulation entfernt.

Wenn die LFSR-Läufe an derselben Rate wie der übersandte Symbol-Strom, diese Technik das Kriechen genannt wird.

Wenn der LFSR beträchtlich schneller läuft als der Symbol-Strom, die Bandbreite des übersandten Signals ausbreitend, ist das Ausbreitungsspektrum der direkten Folge.

Kein Schema sollte mit der Verschlüsselung oder encipherment verwirrt sein; das Kriechen und das Verbreiten mit LFSRs schützen die Information vor dem Lauschen nicht. Sie werden stattdessen verwendet, um gleichwertige Ströme zu erzeugen, die günstige Technikeigenschaften besitzen, robuste und effiziente Modulation und demodulation zu berücksichtigen.

Digitalsendesysteme, die geradlinige Feed-Back-Register verwenden:

  • ATSC Standards (Digitalfernsehübertragungssystem - Nordamerika)
  • TUPFER (Digitalaudiosendesystem - für das Radio)
  • DVB-T (Digitalfernsehübertragungssystem - Europa, Australien, Teile Asiens)
  • NICAM (Digitalaudiosystem für das Fernsehen)

Andere Digitalkommunikationssysteme mit LFSRs:

  • Reizdarm (INTELSAT Geschäftsdienst)
  • IDR (Zwischendatenrate-Dienst)
  • SDI (Seriendigitalschnittstelle-Übertragung)
  • Daten wechseln über PSTN (gemäß den ITU-T V-Reihe-Empfehlungen) über
  • CDMA (Codeabteilung Vielfacher Zugang) Zelltelefonie
  • 100BASE-T2 "schneller" Ethernet rafft Bit mit einem LFSR zusammen
  • 1000BASE-T Ethernet, der grösste Teil der Standardform von Gigabit Ethernet, rafft Bit mit einem LFSR zusammen
  • PCI Schnellzug 3.0
  • SATA
  • USB 3.0
  • IEEE 802.11a rafft Bit mit einem LFSR zusammen

Anderer Gebrauch

Das deutsche Zeitsignal DCF77, zusätzlich zur Umfang-Texteingabe, verwendet durch einen 9-stufigen LFSR gesteuerte Texteingabe der Phase-Verschiebung, die Genauigkeit der erhaltenen Zeit und die Robustheit des Datenstroms in Gegenwart vom Geräusch zu vergrößern.

Das Globale Positionierungssystem verwendet einen LFSR, um eine Folge schnell zu übersenden, die Verhältniszeitausgleiche der hohen Präzision anzeigt.

LFSRs werden auch in Kommunikationssystemklemmungssystemen verwendet, in denen sie verwendet werden, um zufälliges Pseudogeräusch zu erzeugen, um den Geräuschpegel eines Zielnachrichtensystems zu erheben.

Siehe auch

  • Feuerrad
  • Dreher von Mersenne
  • Maximale Länge-Folge
  • Analoge Feed-Back-Verschiebung schreibt ein
  • NLFSR, nichtlineares Feed-Back-Verschiebungsregister

Außenverbindungen

http://www.ece.ualberta.ca/~elliott/ee552/studentAppNotes/1999f/Drivers_Ed/lfsr.html http://www.quadibloc.com/crypto/co040801.htm

Nebel / Colemanballs
Impressum & Datenschutz