DE112020003328T5 - Nichtlinear rückgekoppeltes schieberegister - Google Patents

Nichtlinear rückgekoppeltes schieberegister Download PDF

Info

Publication number
DE112020003328T5
DE112020003328T5 DE112020003328.7T DE112020003328T DE112020003328T5 DE 112020003328 T5 DE112020003328 T5 DE 112020003328T5 DE 112020003328 T DE112020003328 T DE 112020003328T DE 112020003328 T5 DE112020003328 T5 DE 112020003328T5
Authority
DE
Germany
Prior art keywords
gate
logic gate
taps
register
tap
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020003328.7T
Other languages
English (en)
Inventor
Andrew Johnson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020003328T5 publication Critical patent/DE112020003328T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Logic Circuits (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Shift Register Type Memory (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

Bereitgestellt werden ein Verfahren und ein System zum Verwenden eines nichtlinear rückgekoppelten Schieberegisters (non-linear feedback shift register, NLFSR), um eine Pseudozufallssequenz mit mindestens nahezu maximaler Länge für eine Anzahl von n Stufen zu erzeugen, wobei eine maximale Länge 2n- 1 beträgt. Das Verfahren umfasst ein Auswählen von n, wobei n mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge erfordert; und ein Erzeugen, für das ausgewählte n-stufige Register, einer Pseudozufallssequenz unter Verwendung einer logischen Rückkopplungsoperation mit nur einem ersten Logikgatter und einem zweiten Logikgatter. Bei zwei geeigneten, nicht am Ende befindlichen Abgriffen handelt es sich um Eingänge für das erste Logikgatter, bei einem Ausgang des ersten Logikgatters und einem Abgriff an einem Ende handelt es sich um Eingänge für das zweite Logikgatter, und ein Ausgang des zweiten Logikgatters wird Rückkopplung auf eine erste Stufe des n-stufigen Registers verwendet.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft rückgekoppelte Schieberegister und konkreter ein nichtlinear rückgekoppeltes Schieberegister mit Sequenzen mit maximaler oder nahezu maximaler Länge.
  • Auf dem Gebiet digitaler Elektronikschaltungen handelt es sich bei einem linear rückgekoppelten Schieberegister (linear feedback shift register, LFSR) um eine Einheit zum Erzeugen von Sequenzen aus 2n-1 Pseudozufallsbits. LFSRs haben zahlreiche Anwendungsgebiete, unter anderem beispielsweise die Kryptografie, in der sie für Schlüsselstromgeneratoren, zur Datenkompression, Fehlererkennung und -korrektur usw. verwendet werden.
  • Bei einem LFSR handelt es sich um ein Schieberegister, dessen Eingangsbit eine lineare Funktion seines vorhergehenden Zustands ist. Die am häufigsten verwendete lineare Funktion einzelner Bits ist Exklusiv-Oder (eXclusive OR, XOR), und das Schieberegister enthält ein Eingangsbit, das durch das XOR einiger Bits des gesamten Schieberegisterwerts gesteuert wird. Sowohl Hardware- als auch Softwarerealisierungen LFSRs sind üblich.
  • Die Bitpositionen, die den nächsten Zustand beeinflussen, werden als Abgriffe bezeichnet. Das ganz rechte Bit des LFSR wird als Ausgangsbit bezeichnet. Bei einem Fibonacci-LFSR werden die Abgriffe nacheinander mit dem Ausgangsbit XOR-verknüpft und dann in das ganz linke Bit rückgekoppelt. Die Sequenz aus Bits in der ganz rechten Position wird als Ausgangsstrom bezeichnet. Ein LFSR mit maximaler Länge erzeugt eine n-Sequenz, da es alle möglichen 2n-1 Zustände innerhalb des Schieberegisters mit Ausnahme des Zustands durchläuft, bei dem alle Bits aus Nullen bestehen. Es ist außerdem möglich, XNOR (eXclusive NOT OR) zu verwenden, was zu einem äquivalenten Polynomzähler führt.
  • Die Anordnung von Abgriffen zur Rückkopplung bei einem LFSR kann in Finite-Feld-Arithmetik als Polynom-Modulo 2 ausgedrückt werden, wobei die Koeffizienten des Polynoms 1 oder 0 betragen müssen, was als Rückkopplungspolynom bezeichnet wird.
  • LFSRs mit maximaler Periode können unter Verwendung eines primitiven Generatorpolynoms über das Binärfeld erzeugt werden. Das LFSR hat die maximale Länge, wenn das Rückkopplungspolynom primitiv ist, wobei die Anzahl von Abgriffen gerade ist und der Satz von Abgriffen satzweise teilerfremd ist.
  • Die folgende Tabelle zeigt die Rückkopplungspolynome für n bis 24 Bits, aus denen LFSRs maximaler Länge aufgebaut werden können. Bei einer bestimmten LFSR-Länge kann mehr als eine Abgriffsequenz mit maximaler Länge vorliegen.
    Bitnummer (n) der Registerstufe Rückkopplungspolynom Maximale Periode (2n-1)
    2 x2 + x + 1 3
    3 x3 + x2 + 1 7
    4 x4 + x3 + 1 15
    5 x5 + x3 + 1 31
    6 x6 + x5 + 1 63
    7 x7 + x6 + 1 127
    8 X8 + x6 + X5 + X4 + 1 255
    9 x9 + x5 + 1 511
    10 x10 + x7 + 1 1023
    11 x11 + x9 + 1 2047
    12 x12 + x11 + x10 + x4 + 1 4095
    13 x13 + x12 + x11 + x8 + 1 8191
    14 x14 + x13 + x12 + x2 + 1 16383
    15 x15 + x14 + 1 32767
    16 x16 + x15 + x13 + x4 + 1 65535
    17 x17 + x14 + 1 131071
    18 x18 + x11 + 1 262143
    19 x19 + x18 + x17 + x14 + 1 524287
    20 x20 + x17 + 1 1048575
    21 x21 + x19 + 1 2097151
    22 x22 + x21 + 1 4194303
    23 x23 + x18 + 1 8388607
    24 x24 + x23 + x22 + x17 + 1 16777215
  • Das „+ 1“ in dem Polynom entspricht nicht einem Abgriff; Es entspricht der Eingabe in das erste Bit. Die Potenzen der Ausdrücke betreffen die abgegriffenen Bits, wobei von links beginnend gezählt wird. LFSRs mit vier Ausdrücken plus dem einen erfordern vier Abgriffe und daher drei XOR-Gatter.
  • Nunmehr unter Bezugnahme auf 1 ist dort ein beispielhaftes 8-stufiges LFSR 100 gezeigt. Die 8 Bits 101 bis 108 sind mit 1 bis 8 nummeriert gezeigt, wobei das 8. Bit das ganze rechte Ausgangsbit 108 ist. Bei der veranschaulichten Ausführungsform enthält das 8-Bit-Register entsprechend dem Polynom x8 + x6 + x5 + x4 + 1 Abgriffe von den Bits 4, 5, 6 und 8. Jeder der Abgriffe stellt lineare Rückkopplung unter Verwendung von XOR-Gattern 111, 112, 113 bereit. Die Rückkopplung 120 wird in das 1. Bit 101 eingegeben.
  • Bei einer Adaption handelt es sich um einen von oben nach unten arbeitenden hybriden LFSR-Generator, bei dem der oberste LFSR-Abgriff mit dem letzten Angriff XOR-verknüpft ist und das Ergebnis der Stufe nach dem obersten Abgriff zugeführt wird. Der unterste Abgriff ist mit dem letzten Abgriff XOR-verknüpft und das Ergebnis wird der ersten Stufe des Schieberegisters zugeführt. Von oben nach unten arbeitende LFSR-Generatoren können verwendet werden, um die 4 Abgriffe auf 3 Abgriffe (zwei XOR-Verknüpfungen) wie folgt zu verringern: { 8,7, 6 } { 12,9, 4 } { 13,12, 11 } { 14,13, 11 } { 16,14, 7 } { 19,18, 11 } { 24,23, 19 }
    Figure DE112020003328T5_0001
    wobei die erste Zahl die Anzahl von Stufen ist, die zweite der oberste LFSR-Abgriff und die dritte (als negativ angegebene) der oberste LFSR-Abgriff ist.
  • Mit zwei XOR-Verknüpfungen kann ein hybrides LFSR in einigen Fällen eine Sequenz 2n - 1 erzeugen. Dies erfordert jedoch Zugriff sowohl auf die Mitte des Schieberegisters als auch auf das Ende, um Daten einzufügen.
  • LFSRs haben den Nachteil, dass ihre lineare Komplexität gleich ihrer Ordnung ist. In jüngster Zeit wurden nichtlinear rückgekoppelte Schieberegister (non-linear feedback shift register, NLFSR) entwickelt. Bei NLFSRs handelt es sich um eine Verallgemeinerung von LFSRs, bei denen ein aktueller Zustand eine nichtlineare Funktion des vorhergehenden Zustands ist. Daher ist das wieder eintretende Bit bei NLFSRs mehr als nur eine einfache XOR-Operation von Registerbits. Dies nimmt den Registern die Starrheit von Galois-, und Fibonacci-Abgriffen sowie von anderen vordefinierten Abgriffen, es muss jedoch dann sichergestellt werden, dass keine Blockierung auftritt und die Register nicht in einem Muster verharren.
  • Ein Problem bei NLFSRs besteht darin, eine systematische Prozedur zum Aufbauen von NLFSRs mit einer garantiert langen Periode zu finden.
  • „A List of Maximum Period NLFSRs“, Royal Institute of Technology (KTH), Forum 120, 164 40 Kista, Schweden, von Elena Dubrova (im Folgenden als „Dubrova“ bezeichnet) führt NLFSRs auf, die Sequenzen mit maximaler Länger bereitstellen, indem mehrere XOR-Gatter und ein AND-Gatter verwendet werden. Vorgestellt wird eine vollständige Liste von n-Bit-NLFSRs mit der Periode 2n - 1, n < 25, für drei unterschiedliche Arten von Rückkopplungsfunktionen mit dem algebraischen Grad zwei.
  • Dubrova verwendet viele Anordnungen, von denen es sich bei einer um drei XOR- und ein AND-Gatter für die Bit-Register handelt, die 4 Abgriffe in dem LFSR mit maximaler Länge erfordern, d.h., n = {8, 12, 13, 14, 16, 19, 24} in dem Bereich n ist kleiner als oder gleich 24. Dubrova verwendet außerdem andere Anordnungen: drei XOR-Gatter und zwei AND-Gatter; fünf XOR-Gatter und ein AND-Gatter; fünf XOR-Gatter und zwei AND-Gatter. Für den Fall n = 8 zeigt Dubrova: drei XOR-Gatter und ein AND-Gatter mit 15 Beispielen; drei XOR-Gatter und zwei AND-Gatter mit 18 Beispielen; und fünf XOR-Gatter und ein AND-Gatter mit 9 Beispielen.
  • Nunmehr unter Bezugnahme auf 2 ist dort ein von Dubrova vorgeschlagenes, beispielhaftes 8-stufiges LFSR 200 gezeigt, das eine Sequenz mit maximaler Länge ergibt, bei dem es sich lediglich um eines der Beispiele der 15 Optionen handelt, die sie mit drei XOR und einem AND-Gatter vorschlägt. Die 8 Bits 201 bis 208 sind mit 1 bis 8 nummeriert gezeigt, wobei das 8. Bit das ganze rechte Ausgangsbit 208 ist. Das gezeigte 8-Bit-Register enthält Abgriffe an den Bits 4, 5 und 8 (T4, T5, T8). Die nichtlineare Rückkopplung 220 ist mit drei XOR 211 bis 213 und einem AND-Gatter 214 wie folgt bereitgestellt: T8 XOR T5 XOR T4 XOR (T5 AND T4). In der Schreibweise von Dubrova, bei der sie die Abgriffe (7...0) nummeriert, lautet dies „0, 3, 4, (3, 4)“.
  • Das behandelte Problem besteht darin, die Anzahl von Gattern zu minimieren, die bei einer logischen Rückkopplung verwendet werden, während gleichzeitig Sequenzen mit maximaler Länge im Pseudozufallszahlgeneratoren aufrechterhalten werden, indem Rückkopplungsschieberegister verwendet werden.
  • Rückkopplungsschieberegister können außerdem bei Problemen verwendet werden, die unter Verwendung von boolescher Verfügbarkeit ausgedrückt sind. Zum Beispiel werden LFSR-Sequenzen verwendet, um das Hamiltonkreisproblem zu lösen. Ein Minimieren der Anzahl von Klauseln zum Ausdrücken des LFSR vereinfacht das Lösen des Problems.
  • KURZDARSTELLUNG
  • Ausführungsformen der vorliegenden Offenbarung umfassen ein Verfahren und ein System zum Verwenden eines nichtlinear rückgekoppelten Schieberegisters (NLFSR), um eine Pseudozufallssequenz mit mindestens nahezu maximaler Länge für eine Anzahl von n Stufen zu erzeugen, wobei eine maximale Länge 21 - 1 beträgt. Das Verfahren umfasst ein Auswählen von n, wobei n mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge erfordert; und ein Erzeugen, für das ausgewählte n-stufige Register, einer Pseudozufallssequenz unter Verwendung einer logischen Rückkopplungsoperation mit nur einem ersten Logikgatter und einem zweiten Logikgatter, wobei es sich bei zwei geeigneten, nicht am Ende befindlichen Abgriffen um Eingänge für das erste Logikgatter handelt, es sich bei einem Ausgang des ersten Logikgatters und einem Abgriff an einem Ende um Eingänge für das zweite Logikgatter handelt und ein Ausgang des zweiten Logikgatters als Rückkopplung auf eine erste Stufe des n-stufigen Registers verwendet wird.
  • Bei Ausführungsformen kann das erste Logikgatter aus einer Gruppe ausgewählt sein, die aus einem OR- und einem NAND-Gatter besteht, und bei dem zweiten Logikgatter handelt es sich um ein XOR-Gatter. Bei anderen Ausführungsformen handelt es sich bei dem ersten Logikgatter um ein AND-Gatter und bei dem zweiten Logikgatter um ein XNOR-Gatter.
  • Bei einigen Ausführungsformen wird für einige n eine Sequenz mit maximaler Länge mit zwei geeigneten, nicht am Ende befindlichen Abgriffen bezogen, und für einige andere n wird eine Sequenz mit nahezu maximaler Länge mit zwei geeigneten, nicht am Ende befindlichen Abgriffen bezogen.
  • Bei Ausführungsformen kann das Verfahren ein Beziehen eines oder mehrerer geeigneter Paare von nicht am Ende befindlichen Abgriffen umfassen, indem auf der Grundlage der Stufenanzahl n Paarkombinationen erkannt werden, die Sequenzen des n-stufigen Registers mit mindestens nahezu maximaler Länge bereitstellen. Bei Ausführungsformen kann das Beziehen des einen oder der mehreren geeigneten Paare von nicht am Ende befindlichen Abgriffen ein Ermitteln eines ersten geeigneten Paares von nicht am Ende befindlichen Abgriffen umfassen, das einen ersten, nicht am Ende befindlichen Abgriff A und einen zweiten, nicht am Ende befindlichen Abgriff B umfasst; und ein Beziehen eines zweiten geeigneten Paares von nicht am Ende befindlichen Abgriffen als Spiegel des ersten geeigneten Paares von nicht am Ende befindlichen Abgriffen in dem n-stufigen Register, wobei eine Abgriffsequenz [n, A, B] auf [n, n - B, n - A] gespiegelt wird.
  • Bei einigen Ausführungsformen umfasst das Beziehen des einen oder der mehreren geeigneten Paare von nicht am Ende befindlichen Abgriffen ein Verwenden eines Suchprogramms, das auf drei Abgriffe angewendet wird: den am Ende befindlichen Abgriff und zwei nicht am Ende befindliche Abgriffe, wobei mit Ausnahme aller Nullen und vorbehaltlich einer Optimierungseinschränkung, dass 1 und 0 gleichermaßen wahrscheinlich sind, jede Kombination von logischer Operation verwendet wird. Bei Ausführungsformen initialisiert das Suchprogramm das Register auf einen anderen Wert als alles Nullen und führt das Register höchstens 2n Mal aus, bis ein Registerzustand erzeugt ist, bei dem es sich um eine Wiederholung handelt, bei der es sich bei einer Länge der Sequenz um eine Anzahl von Zuständen ab einer ersten Gelegenheit, bei der ein Zustand beobachtet wurde, bis zu einer zweiten Gelegenheit handelt, bei der der Zustand beobachtet wurde.
  • Bei Ausführungsformen kann das Suchprogramm für eine Sequenz mit nahezu maximaler Länge bei einem Satz von Abgriffen ermitteln, ob eine Anzahl bisher beobachteter Zustände 2n -1 oder mehr beträgt. Wenn die Anzahl beobachteter Zustände 2n -1 oder mehr beträgt, handelt es sich bei der längsten gefundenen Sequenz um die längste mögliche für diesen Satz von Abgriffen. Wenn die Anzahl beobachteter Zustände weniger als 2n -1 beträgt, wird ein neuer Zustand gewählt, die Sequenz wird neu erzeugt, und die Länge wird gemessen; und das Suchprogramm wiederholt diese Schritte, bis alle Zustände beobachtet wurden oder die Anzahl nicht beobachteter Zustände geringer als die Länge der längsten gefundenen Sequenz ist.
  • Ausführungsformen der vorliegenden Offenbarung umfassen ein NLFSR zum Erzeugen einer Pseudozufallssequenz mit mindestens nahezu maximaler Länge für eine Anzahl von n Stufen, wobei eine maximale Länge 2n - 1 beträgt. Das NLFSR weist ein n-stufiges Register auf, wobei n mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge erfordert; ein erstes Logikgatter, das zwei Eingänge enthält, wobei jeder Eingang mit einem nicht am Ende befindlichen Abgriff des n-stufigen Registers verbunden ist; und ein zweites Logikgatter, das zwei Eingänge enthält, wobei ein erster Eingang mit einem Ausgang des ersten Logikgatters verbunden ist und ein zweiter Eingang mit einem am Ende befindlichen Abgriff des n-stufigen Registers verbunden ist, wobei ein Ausgang des zweiten Logikgatters als Rückkopplung auf eine erste Stufe des n-stufigen Registers verwendet wird.
  • Ausführungsformen der vorliegenden Offenbarung umfassen ein NLFSR zum Erzeugen einer Pseudozufallssequenz mit maximaler Länge für 8 Stufen, wobei die maximale Länge 255 beträgt. Das NLFSR umfasst ein 8-stufiges Register; ein erstes Logikgatter, das einen ersten Eingang enthält, der mit einem ersten, nicht in einem Ende befindlichen Abgriff A des 8-stufigen Registers verbunden ist, und einen zweiten Eingang, der mit einem zweiten, nicht am Ende befindlichen Abgriff B des 8-stufigen Registers verbunden ist; und ein zweites Logikgatter, das Eingänge enthält, die mit einem Ausgang des ersten Logikgatters und mit einem am Ende befindlichen Abgriff des 8-stufigen Registers verbunden sind. Ein Ausgang des zweiten Logikgatters wird als Rückkopplung auf eine erste Stufe des 8-stufigen Registers verwendet, und der erste und der zweite, nicht am Ende befindliche Abgriff befinden sich an Positionen, die ausgewählt sind aus der Gruppe, bestehend aus: A = 4, B = 3; A = 5, B = 1; A = 5, B = 4; und A = 7, B = 3.
  • Ausführungsformen der vorliegenden Offenbarung umfassen ein NLFSR zum Erzeugen einer Pseudozufallssequenz mit maximaler Länge für eine Anzahl von n Stufen, wobei die maximale Länge 4095 beträgt. Das NLFSR umfasst ein 12-stufiges Register; ein erstes Logikgatter, das einen ersten Eingang enthält, der mit einem ersten, nicht in einem Ende befindlichen Abgriff A des 12-stufigen Registers verbunden ist, und einen zweiten Eingang, der mit einem zweiten, nicht am Ende befindlichen Abgriff B des 12-stufigen Registers verbunden ist; und ein zweites Logikgatter, das Eingänge enthält, die mit einem Ausgang des ersten Logikgatters und mit einem am Ende befindlichen Abgriff des 12-stufigen Registers verbunden sind. Ein Ausgang des zweiten Logikgatters wird als Rückkopplung auf eine erste Stufe des 12-stufigen Registers verwendet, und der erste und der zweite, nicht am Ende befindliche Abgriff befinden sich an Positionen, die ausgewählt sind aus der Gruppe, bestehend aus: A = 7, B = 4; und A = 8, B = 5.
  • Mit der vorstehenden Kurzdarstellung ist nicht beabsichtigt, jede veranschaulichte Ausführungsform oder jede Realisierungsform der vorliegenden Offenbarung zu beschreiben.
  • Figurenliste
  • Die in der vorliegenden Offenbarung enthaltenen Zeichnungen sind in die Spezifikation einbezogen und bilden einen Teil davon. Sie veranschaulichen Ausführungsformen der vorliegenden Offenbarung und dienen zusammen mit der Beschreibung zur Erläuterung der Grundgedanken der Offenbarung. Die Zeichnungen veranschaulichen lediglich typische Ausführungsformen und schränken die Offenbarung nicht ein.
    • 1 ist ein schematisches Schaltbild, das ein 8-stufiges LFSR zeigt.
    • 2 ist ein schematisches Schaltbild, das ein 8-stufiges LFSR mit einer nichtlinearen Rückkopplungsanordnung zeigt, die eine Sequenz mit maximaler Länge bereitstellt.
    • 3 ist ein Flussdiagramm einer beispielhaften Ausführungsform eines Verfahrens zum Bereitstellen eines NLFSR gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 4 ist ein schematisches Schaltbild eines NLFSR mit verallgemeinerten Stufen gemäß einer ersten Ausführungsform der vorliegenden Offenbarung.
    • 5 ist ein schematisches Schaltbild eines Spiegel-NLFSR mit verallgemeinerten Stufen gemäß einer zweiten Ausführungsform der vorliegenden Offenbarung.
    • 6 ist ein schematisches Schaltbild eines Vervollständigungs-NLFSR mit verallgemeinerten Stufen gemäß einer dritten Ausführungsform der vorliegenden Offenbarung.
    • 7 ist ein schematisches Schaltbild eines Vervollständigungs-NLFSR mit verallgemeinerten Stufen gemäß einer vierten Ausführungsform der vorliegenden Offenbarung.
    • 8 ist ein schematisches Schaltbild eines 8-stufigen NLFSR gemäß der ersten Ausführungsform von 4.
    • 9 ist ein schematisches Schaltbild eines 8-stufigen NLFSR gemäß der zweiten Ausführungsform von 5.
    • 10 ist ein schematisches Schaltbild eines 8-stufigen NLFSR gemäß der dritten Ausführungsform von 6.
    • 11 ist ein schematisches Schaltbild eines 8-stufigen NLFSR gemäß der vierten Ausführungsform von 7.
    • Die 12A bis 12C sind schematische Schaltbilder, die weitere Einzelheiten der Register der 8, 10 und 11 gemäß Ausführungsformen der vorliegenden Offenbarung zeigen.
    • 13 ist ein Blockschema einer beispielhaften Ausführungsform eines Systems gemäß den Ausführungsformen der vorliegenden Offenbarung.
    • 14 ist ein Blockschema einer Ausführungsform eines Computersystems, in dem Ausführungsformen der vorliegende Offenbarung realisiert werden können.
  • Zwar können an den hierin beschriebenen Ausführungsformen verschiedene Modifikationen vorgenommen werden und die Ausführungsformen können alternative Formen annehmen, deren Besonderheiten jedoch sind beispielhaft in den Zeichnungen gezeigt und werden ausführlich beschrieben. Es sollte jedoch klar sein, dass die bestimmten beschriebenen Ausführungsformen nicht in einem einschränkenden Sinne zu verstehen sind. Im Gegenteil, die Offenbarung soll alle Modifikationen, Äquivalente und Alternativen einschließen, die in den Grundgedanken und Schutzbereich der Erfindung fallen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Das beschriebene Verfahren und das beschriebene System stellen ein nichtlinear rückgekoppeltes Schieberegister (NLFSR) mit Sequenzen mit maximaler oder nahezu maximaler Länge zum Erzeugen einer Pseudozufallssequenz für einige Register bereit, die eine Anzahl von n Stufen enthalten, die zur maximalen Länge bei linear rückgekoppelten Schieberegistern (LFSRs) mehr als zwei, normalerweise vier oder mehr, Abgriffe erfordern. Dier vier Abgriffe bei LFSRs verwenden drei XOR-Gatter.
  • Die Anzahl von Sequenzen mit maximaler Länge beträgt 2n - 1, wobei der Fehlt-Zustand aus jeweils Nullen oder bei einer komplementären logischen Operation aus jeweils Einsen besteht. „Nahezu maximal“ ist in dieser Beschreibung definiert als weniger als 4 % Abweichung von der maximalen Länge.
  • Das Verfahren und das System wurden bis n = 24 getestet und Sequenzen mit maximaler Länge werden erreicht, indem die beschriebene nichtlineare Rückkopplung bei n = 8 und n = 12 der Gruppe n-stufiger Register verwendet wird, die mehr als zwei Abgriffe für Sequenzen mit maximaler Länge bei linearen Rückkopplungsanordnungen in LFSRs erfordern. Jedoch können auch andere n-stufige Register, die mehr als zwei Abgriffe für Sequenzen mit maximaler Länge in LFSRs erfordern, für n > 24 existieren, und die beschriebenen Anordnungen können ebenfalls für diese größeren Werte von n verwendet werden.
  • Die beschriebene nichtlineare Rückkopplungsanordnung aus zwei Gattern kann durch andere n-stufige Register verwendet werden, die mehr als zwei Abgriffe für Sequenzen mit maximaler Länge in LFSRs erfordern, ergibt aber möglicherweise nur Sequenzen mit nahezu maximaler Länge. Diese können auch als nichtlineare Rückkopplungsanordnung aus nur zwei Gattern in einer vereinfachten Rückkopplung nützlich sein.
  • Eine vereinfachte Logikoperation wird als Rückkopplung in einem NLFSR bereitgestellt, das eine minimale Anzahl von Gattern mit einer Sequenz mit maximaler oder nahezu maximaler Länge bereitstellt. Anstelle von drei XOR-Gattern eines LFSR werden bei einer logischen Rückkopplungsoperation eines NLFSR ein einziges XOR-Gatter und ein einziges OR-Gatter verwendet. Die logische Rückkopplung nur eines OR- und nur eines XOR-Gatters nutzt logisches OR zweier ausgewählter, nicht am Ende befindlicher Abgriffe und XOR-verknüpft dies mit dem am Ende befindlichen Abgriff als Rückkopplung auf die erste Stufe. Eine Alternative zu XOR und OR besteht darin, bei einer äquivalenten logischen Operation XNOR und NOR zu verwenden.
  • Als äquivalente Alternativen zu dem einzigen XOR-Gatter und dem einzigen OR-Gatter bei dem beschriebenen NLFSR können deren komplementäre Anordnungen aus einem einzigen XNOR-Gatter und einem einzigen AND-Gatter oder aus einem einzigen XOR-Gatter und einem einzigen NAND-Gatter verwendet werden. Komplementäre Anordnungen nutzen die inversen Eingänge.
  • Die komplementären Darstellungen betreffen eine geringfügig andere, aber ebenso nützliche Sequenz. Der Fehlt-Zustand für die maximale Länge der ursprünglichen Schaltung besteht nur aus Nullen, da 0 XOR (0 OR 0) = 0, sodass das ganze Register bei Nullen bleibt. Die komplementäre Schaltung enthält nur Einsen als Fehlt-Zustand, da 1 XOR (1 NAND 1) = 1 XOR (0) = 1.
  • Die Inversion kann am Ausgang des XOR (= XNOR) oder am Ausgang des AND = (NAND) vorgenommen werden. Andere Variationen nutzen einen oder mehrere der invertierten Ausgänge der Flipflop-Element-Schieberegister, die Q-Ausgänge, um die Inversionen bereitzustellen.
  • Eine breite Vielfalt von Anordnungen kann für äquivalente logische Anordnungen verwendet werden, um dieselbe Operation wie z.B. T8 XOR (!T4 NAND !T5) zu berechnen, und die Signale !T4 und !T5 können direkt aus den Q-Ausgängen der Flipflops erzeugt werden. Die beschriebenen Register sind dazu gedacht, bei ihren logischen Operationen alle Äquivalente mit zwei Gattern zu behandeln.
  • Unter Berücksichtigung der logischen Rückkopplung nur eines OR-Gatters und nur eines XOR-Gatters bei einer Anzahl von n Stufen (mit 1 bis n nummeriert) handelt es sich bei Eingängen für das XOR-Gatter um den Ausgang der Stufe n und den Ausgang des OR-Gatters, wobei es sich bei Eingängen für das OR-Gatter um den Ausgang zweier geeigneter Stufen y1, y2 (y1 < n)), (y2 < n)) und y1 ungleich y2) handelt und wobei es sich bei dem Eingang für die Stufe 1 um den Ausgang des XOR-Gatters handelt.
  • Nunmehr unter Bezugnahme auf 3 ist dort in dem Flussdiagramm eine beispielhafte Ausführungsform des beschriebenen Verfahrens 300 zum Bereitstellen eines NLFSR gezeigt.
  • Bei Ausführungsformen beginnt das Verfahren 300 durch Auswählen von n als Anzahl der Stufen in dem Register. Dies ist bei Schritt 301 veranschaulicht.n erfordert mehr als zwei Abgriffe in einem linear rückgekoppelten Schieberegister mit maximaler Länge. Ein normales Fibonacci-LFSR erfordert 4 oder mehr Abgriffe, kann aber mit 3 Abgriffen durch ein hybrides LFSR realisiert werden, sodass n mehr als 2 Abgriffe erfordert.
  • Bei einem ausgewählten n-stufigen Register verwendet das Verfahren 300 logische Rückkopplungsausdrücke nur eines OR-Gatters und nur eines XOR-Gatters, wobei logisches OR zweier nicht am Ende befindlicher Abgriffe genutzt und zwecks Rückkopplung auf die erste Stufe am Ausgang mit dem am Ende befindlichen Abgriff XOR-verknüpft wird. Dies ist bei Schritt 302 veranschaulicht. Bei Ausführungsformen wird dieselbe logische Operation mit einem XNOR-Gatter und einem NOR-Gatter verwendet. Bei anderen Ausführungsformen kann das Verfahren 300 eine komplementäre Anordnung aus nur einem XNOR und nur einem AND oder eine komplementäre Anordnung aus nur einem XOR und nur einem NAND verwenden. Dies ist bei Schritt 303 veranschaulicht.
  • Das Verfahren 300 wird fortgesetzt, indem unterschiedliche Kombinationen von Kandidatenpaaren von nicht am Ende befindlichen Abgriffen getestet werden, um Paarkombinationen zu ermitteln, die Sequenzen des n-stufigen Registers mit maximaler oder nahezu maximaler Länge bereitstellen, indem nach geeigneten Paaren von nicht am Ende befindlichen Abgriffen unter Verwendung dreier Abgriffe gesucht wird: des Abgriffs am Ende und von Kandidatenpaaren von nicht am Ende befindlichen Abgriffen, wobei vorbehaltlich der Optimierungseinschränkung, dass 1 und 0 gleichermaßen wahrscheinlich sind, jede Logikoperation aus drei Bits verwendet wird. Dies ist bei Schritt 304 veranschaulicht. Wenn als Ausgang für alle möglichen Eingänge Einsen wahrscheinlicher als Nullen wären, würden die Ausgänge im Allgemeinen mehr Einsen als Nullen enthalten, sodass der Zähler nicht nahezu alle Zustände behandeln könnte.
  • Bei einem n-stufigen Register würden (n - 1)*(n - 2)/2 Möglichkeiten berücksichtigt werden müssen. Die Anzahl möglicher zu durchsuchender Paare kann wie folgt ermittelt werden: Auswählen des letzten Abgriffs für das XOR, Auswählen mindestens eines der n - 1 anderen Abgriffe für den ersten OR-Eingang, Auswählen mindestens eines der n - 2 verbleibenden Abgriffe für den zweiten Eingang und Dividieren der Möglichkeiten durch 2, da die Ordnung der OR-Eingänge keine Rolle spielt.
  • Das Register kann auf einen anderen Wert als alles 0000 (oder alles 1111 bei einer komplementären Anordnung von Abgriffen) initialisiert werden und das Register höchstens 2n Mal ausführen, bis es einen Registerzustand erzeugt, der zuvor beobachtet wurde. Bei der Länge der Sequenz handelt es sich um die Anzahl von Zuständen ab der ersten Gelegenheit, bei der dieser wiederholte Zustand festgestellt wurde, bis zu der zweiten Gelegenheit.
  • Wenn bis auf einen alle möglichen 2n gefunden wurden (alle 0000) und der erste Zustand auf den gefundenen letzten neuen Zustand folgt, handelt es sich um eine Sequenz mit maximaler Länge.
  • Bei einer Sequenz mit nahezu maximaler Länge kann ermittelt werden, ob die Anzahl bisher beobachteter Zustände 2n -1 oder mehr beträgt. Wenn dies der Fall ist, kann eine beliebige andere Sequenz, die aus einem anderen Ausgangszustand erzeugt wurde, nicht so lang sein. Wenn dies nicht der Fall ist, wird ein bisher nicht beobachteter Zustand gewählt, und die Sequenz wird erneut erzeugt. Die Länge dieser Sequenz wird gemessen und der Prozess wird wiederholt, bis alle Zustände beobachtet wurden oder die Anzahl nicht beobachteter Zustände geringer als die Länge der längsten Sequenz ist, die bisher gefunden wurde.
  • Das Verfahren 300 wird durch Beziehen eines oder mehrerer geeigneter Paare von nicht am Ende befindlichen Abgriffen fortgesetzt. Dies ist bei Schritt 305 veranschaulicht. Zu jedem geeigneten Paar von nicht am Ende befindlichen Abgriffen kann das Verfahren 300 ein weiteres geeignetes Paar von nicht am Ende befindlichen Abgriffen als Spiegel der Abgriffe in dem n-stufigen Register erkennen, wobei eine Abgriffsequenz [n, A, B] auf [n, n - B, n - A] gespiegelt wird. Dies ist bei Schritt 306 veranschaulicht.
  • Das Verfahren 300 wird fortgesetzt, indem ein geeignetes Paar von nicht am Ende befindlichen Abgriffen in der Rückkopplungslogikanordnung des Registers verwendet wird. Dies ist bei Schritt 307 veranschaulicht.
  • Die 4 bis 7 zeigen verallgemeinerte n-stufige NLFSRs 400, 500, 600, 700 mit logischen Rückkopplungsoperationen gemäß Ausführungsformen der vorliegenden Erfindung.n ist auf n-stufige Register beschränkt, die mehr als zwei Abgriffe für Sequenzen mit maximaler Länge bei linearen Rückkopplungsanordnung in LFSRs erfordern und für die geeignete, nicht am Ende befindliche Abgriffe gefunden werden, zum Beispiel unter Verwendung des Verfahrens 300 von 3.
  • Nunmehr unter Bezugnahme auf 4 ist dort ein beispielhaftes Register 400 mit einer ersten Ausführungsform der beschriebenen logischen Rückkopplung nur eines OR 411 und nur eines XOR-Gatters 412 für eine Anzahl von n Stufen gezeigt, die von links nach rechts in dem Register mit „1“ 401 bis „n“ 404 nummeriert sind.
  • Bei Eingängen für das OR-Gatter 411 handelt es sich um die Ausgänge von zwei geeigneten Stufen „A“ 402 und „B“ 403, wobei A, B < n und A # B und wobei es sich bei A und B um geeignete, nicht am Ende befindliche Abgriffe handelt. Bei Eingängen für das XOR-Gatter 412 handelt es sich um die Ausgänge von Stufe n 404 und um den Ausgang des OR-Gatters 411. Bei dem Eingang 420 für Stufe 1401 handelt es sich um den Ausgang des XOR-Gatters 412.
  • Nunmehr unter Bezugnahme auf 5 ist dort ein beispielhaftes Register 500 mit einer zweiten Ausführungsform der beschriebenen logischen Rückkopplung nur eines OR 511 und nur eines XOR-Gatters 512 für eine Anzahl von n Stufen gezeigt, die von links nach rechts in dem Register mit „1“ 501 bis „n“ 504 nummeriert sind. Bei der zweiten Ausführungsform handelt es sich um einen Spiegel oder eine Umkehrung der logischen Anordnung der ersten Ausführungsform.
  • Bei Eingängen für das OR-Gatter 511 handelt es sich um die Ausgänge von zwei als Spiegel geeigneten Stufen „n - B“ 502 und „n - A“ 503. Bei Eingängen für das XOR-Gatter 512 handelt es sich um die Ausgänge von Stufe n 504 und um den Ausgang des OR-Gatters 511. Bei dem Eingang 520 für Stufe 1 501 handelt es sich um den Ausgang des XOR-Gatters 512.
  • Nunmehr unter Bezugnahme auf 6 ist dort ein beispielhaftes Register 600 mit einer dritten Ausführungsform eines Gegenstücks der ersten Ausführungsform gezeigt. Insbesondere ist die beschriebene logische Rückkopplung nur eines AND-Gatters 611 und nur eines XNOR-Gatters 612 für eine Anzahl von n Stufen gezeigt, die von links nach rechts in dem Register mit „1“ 601 bis „n“ 604 nummeriert sind.
  • Bei Eingängen für das AND-Gatter 611 handelt es sich um die Ausgänge von zwei geeigneten Stufen „A“ 602 und „B“ 603, wobei A, B < n und A ≠ B und wobei es sich bei A und B um geeignete, nicht am Ende befindliche Abgriffe handelt. Bei Eingängen für das XNOR-Gatter 612 handelt es sich um die Ausgänge von Stufe n 604 und um den Ausgang des AND-Gatters 611. Bei dem Eingang 620 für Stufe 1601 handelt es sich um den Ausgang des XNOR-Gatters 612.
  • Nunmehr unter Bezugnahme auf 7 ist dort ein beispielhaftes Register 700 mit einer vierten Ausführungsform eines Gegenstücks der ersten Ausführungsform gezeigt. Insbesondere ist die beschriebene logische Rückkopplung nur eines NAND-Gatters 711 und nur eines XOR-Gatters 712 für eine Anzahl von n Stufen gezeigt, die von links nach rechts in dem Register mit „1“ 701 bis „n“ 704 nummeriert sind.
  • Bei Eingängen für das NAND-Gatter 711 handelt es sich um die Ausgänge von zwei geeigneten Stufen „A“ 702 und „B“ 703, wobei A, B < n und A ≠ B und wobei es sich bei A und B um geeignete, nicht am Ende befindliche Abgriffe handelt. Bei Eingängen für das XOR-Gatter 712 handelt es sich um die Ausgänge von Stufe n 704 und um den Ausgang des NAND-Gatters 711. Bei dem Eingang 720 für Stufe 1 701 handelt es sich um den Ausgang des XOR-Gatters 712.
  • Komplementäre Anordnungen der Spiegelausführung von 5 können ebenfalls verwendet werden. Anders ausgedrückt, Spiegelanordnungen der komplementären Anordnungen der 6 und 7 können ebenfalls verwendet werden.
  • Bei dem Beispiel eines n-stufigen Registers mit n bis zu 24 handelt es sich bei dem Satz n = {8, 12, 13, 14, 16, 19, 24} um die Register, für die vier Abgriffe in einem LFSR erforderlich sind. Es kann jedoch auch auf mehr als 24 erweitert werden.
  • Beispiele bestehender Abgriffe für LFSRs mit maximaler Länge von 2 bis 24 sind folgende. Es wird angemerkt, dass Generatoren mit 8, 12, 13, 14, 16 und 24 Bits 4 Abgriffe erfordern und diese Register den Schwerpunkt des beschriebenen Verfahrens und der beschriebenen Vorrichtung bilden, obwohl die offenbarten Verfahren und Vorrichtungen auch auf Generatoren mit anderen Bits gelten können. { 2,1 } { 3,2 } { 4,3 } { 5,3 } { 6,5 } { 7,6 } { 8,6,5,4 } { 9,5 } { 10,7 } { 11,9 } { 12,11,8,6 } { 13,12,10,9 } { 14,13,11,9 } { 15,14 } { 16,14,13,11 } { 17,14 } { 18,11 } { 19,18,17,14 } { 20,17 } { 21,19 } { 22,21 } { 23,18 } { 24,23,21,20 }
    Figure DE112020003328T5_0002
  • In dieser Beschreibung sind Abgriffe mit einer Zahl in einem Register bezeichnet, wobei die erste Stufe des Eingangs mit „1“ und die Endstufe mit „n“ bezeichnet sind. Wenn zwei aufeinanderfolgende Registereingänge beschrieben werden, werden „A1“ bis „An“ und B1“ bis „Bn“ verwendet.
  • Nunmehr unter Bezugnahme auf 8 ist dort ein beispielhaftes 8-stufiges Register 800 mit der beschriebenen logischen Rückkopplung der ersten Ausführungsform von 4 gezeigt. Geeignete Abgriffe, die unter Verwendung der beschriebenen logischen Rückkopplung eine maximale Länge für ein 8-stufiges Register 800 erreichen, sind folgende: n = 8 a = 3 b = 4, Länge = 255 ;
    Figure DE112020003328T5_0003
    n = 8 a = 1 b = 5, Länge = 255 ;
    Figure DE112020003328T5_0004
    n = 8 a = 4 b = 5, Länge = 255 ;
    Figure DE112020003328T5_0005
    n = 8 a = 3 b = 7, Länge = 255.
    Figure DE112020003328T5_0006
  • 8 zeigt die beispielhaften geeigneten, nicht am Ende befindlichen Abgriffe A = 4 804 und B = 5805. Bei Eingängen für das OR-Gatter 811 handelt es sich um die Ausgänge von zwei geeigneten Stufen A = 4 804 und B = 5 805. Bei Eingängen für das XOR-Gatter 812 handelt es sich um die Ausgänge von Stufe n = 8 808 und um den Ausgang des OR-Gatters 811. Bei dem Eingang 820 für Stufe 1801 handelt es sich um den Ausgang des XOR-Gatters 812.
  • Hierbei handelt es sich bei A1 bis A8 um die aktuellen Zustände eines 8-stufigen Schieberegisters und bei B1 bis B8 um die entsprechenden nächsten Zustände: B 1 = ( A4 OR A5 ) XOR A 8
    Figure DE112020003328T5_0007
    B 2 = A 1
    Figure DE112020003328T5_0008
    B 3 = A 2
    Figure DE112020003328T5_0009
    B 4 = A 3
    Figure DE112020003328T5_0010
    B 5 = A 4
    Figure DE112020003328T5_0011
    B 6 = A 5
    Figure DE112020003328T5_0012
    B 7 = A 6
    Figure DE112020003328T5_0013
    B 8 = A 7
    Figure DE112020003328T5_0014
  • Die veranschaulichte Ausführungsform erfordert ein OR-Gatter und ein XOR-Gatter. Die Abgriffe müssen entsprechend gewählt werden, wenn sie jedoch betriebsfähig sind, können Sie eine Sequenz von 2n - 1 erzeugen. Ein 8-stufiges Register kann die maximal 255 Werte vor dem Wiederholen erzeugen.
  • Nachdem ein Satz von Abgriffen bezogen wurde, können andere durch Spiegeln oder Umkehren erzeugt werden, z.B. bei gegebenem T8 XOR (T5 OR T4) das Ergebnis T8 XOR (T3 OR T4), wie in 9 ausführlich dargestellt.
  • Nunmehr unter Bezugnahme auf 9 ist dort ein beispielhaftes 8-stufiges Register 900 mit der beschriebenen logischen Rückkopplung der zweiten Ausführungsform von 5 als Spiegel der Ausführungsform von 8 gezeigt. Die beispielhaften gespiegelten geeigneten, nicht am Ende befindlichen Abgriffe sind n - B = 3 903 und n - A = 4 904. Bei Eingängen für das OR-Gatter 911 handelt es sich um die Ausgänge der Spiegel 3 903 und 4 904. Bei Eingängen für das XOR-Gatter 912 handelt es sich um die Ausgänge von Stufe n = 8 908 und um den Ausgang des OR-Gatters 911. Bei dem Eingang 920 für Stufe 1 901 handelt es sich um den Ausgang des XOR-Gatters 912.
  • Nunmehr unter Bezugnahme auf 10 ist dort ein beispielhaftes 8-stufiges Register 1000 mit der beschriebenen logischen Rückkopplung der dritten Ausführungsform von 6 einer komplementären Anordnung gezeigt. 10 zeigt ein Gegenstück des Registers von 8.
  • 10 verwendet die beispielhaften geeigneten, nicht am Ende befindlichen Abgriffe A = 4 1004 und B = 5 1005, die in 8 verwendet werden. Bei Eingängen für das AND-Gatter 1011 handelt es sich um die beiden Ausgänge von zwei geeigneten Stufen A = 4 1004 und B = 5 1005. Bei Eingängen für das XNOR-Gatter 1012 handelt es sich um die Ausgänge von Stufe n = 8 1008 und um den Ausgang des OR-Gatters 1011. Bei dem Eingang 1020 für Stufe 11001 handelt es sich um den Ausgang des XNOR-Gatters 1012.
  • Diese komplementäre Anordnung von T8 XNOR (T5 AND T4) kann ebenfalls gespiegelt werden, um T8 XNOR (T3 AND T4) bereitzustellen.
  • Nunmehr unter Bezugnahme auf 11 ist dort ein beispielhaftes 8-stufiges Register 1100 mit der beschriebenen logischen Rückkopplung der vierten Ausführungsform von 7 einer ein alternativen komplementären Anordnung gezeigt. 11 zeigt ein weiteres Gegenstück des Registers von 8.
  • 11 verwendet die beispielhaften geeigneten, nicht am Ende befindlichen Abgriffe A = 4 1104 und B = 5 1105, die in 8 verwendet werden. Bei Eingängen für das NAND-Gatter 1111 handelt es sich um die beiden Ausgänge von zwei geeigneten Stufen A = 4 1104 und B = 5 1105. Bei Eingängen für das XOR-Gatter 1112 handelt es sich um die Ausgänge von Stufe n = 8 1108 und um den Ausgang des OR-Gatters 1111. Bei dem Eingang 1120 für Stufe 11101 handelt es sich um den Ausgang des XOR-Gatters 1112.
  • Diese komplementäre Anordnung von T8 XOR (T5 NAND T4) kann ebenfalls gespiegelt werden, um T8 XOR (T3 NAND T4) bereitzustellen.
  • Es gibt ein zweites geeignetes Paar von Abgriffen für ein 8-Bit-Register und die logischen Operationen sind: T 8 XOR ( T 7 OR T 3 )
    Figure DE112020003328T5_0015
    mit Spiegeln wie folgt: T 8 XOR ( T 5 OR T 1 )
    Figure DE112020003328T5_0016
    und Gegenstücken wie folgt: T 8 XNOR ( T 7 AND T 3 )
    Figure DE112020003328T5_0017
    T 8 XNOR ( T 5 AND T 1 )
    Figure DE112020003328T5_0018
    T 8 XOR ( T 7 NAND T 3 )
    Figure DE112020003328T5_0019
    T 8 XOR ( T 5 NAND T 1 )
    Figure DE112020003328T5_0020
  • Eine maximale Länge wurde bei einem 12-stufigen Register wie folgt erreicht: n = 12 a = 4 b = 7, L a ¨ nge = 4095 ;
    Figure DE112020003328T5_0021
    n = 12 a = 5 b = 8, L a ¨ nge = 4095.
    Figure DE112020003328T5_0022
  • Bei einem 12-stufigen Zähler enthält das beschriebene Verfahren ein beispielhaftes geeignetes, nicht am Ende befindliches Paar aus 5 und 8: B 1 = ( A5 OR A8 ) XOR A 12
    Figure DE112020003328T5_0023
    B 2 = A 1
    Figure DE112020003328T5_0024
    B 3 = A 2
    Figure DE112020003328T5_0025
    B 4 = A 3
    Figure DE112020003328T5_0026
    B 5 = A 4
    Figure DE112020003328T5_0027
    B 6 = A 5
    Figure DE112020003328T5_0028
    B 7 = A 6
    Figure DE112020003328T5_0029
    B 8 = A 7
    Figure DE112020003328T5_0030
    B 9 = A 8
    Figure DE112020003328T5_0031
    B 10 = A 9
    Figure DE112020003328T5_0032
    B 11 = A 10
    Figure DE112020003328T5_0033
    B 12 = A 11
    Figure DE112020003328T5_0034
  • Bei dem 12-stufigen Register sind die logischen Operationen für das geeignete Paar aus 8 und 5: T 12 XOR ( T 8 OR T 5 ) oder logisches A ¨ quivalent T 12 XNOR ( T 8 NOR T 5 )
    Figure DE112020003328T5_0035
    mit Spiegeln wie folgt: T 12 XOR ( T 7 OR T 4 ) oder logisches A ¨ quivalent T 12 XNOR ( T 7 NOR T 4 )
    Figure DE112020003328T5_0036
    und Gegenstücken wie folgt: T 12 XNOR ( T 8 AND T 5 )
    Figure DE112020003328T5_0037
    T 12 XNOR ( T 7 AND T 4 )
    Figure DE112020003328T5_0038
    T 12 XOR ( T 8 NAND T 5 )
    Figure DE112020003328T5_0039
    T 12 XOR ( T 7 NAND T 4 )
    Figure DE112020003328T5_0040
  • LFSRs können außerdem bei Problemen verwendet werden, die unter Verwendung von boolescher Verfügbarkeit ausgedrückt sind. Zum Beispiel werden LFSR-Sequenzen verwendet, um das Hamiltonkreisproblem zu lösen. Das Minimieren der Anzahl von Klauseln zum Ausdrücken des LFSR vereinfacht das Lösen des Problems.
  • Der Ausdruck (A4 OR A5) XOR A8 kann als lediglich 6 Klauseln in der konjunktiven Normalform codiert werden, zum Beispiel müssen alle diese 6 Klauseln wahr sein: A 8 | ! A 4 | B 1
    Figure DE112020003328T5_0041
    A 8 | ! A 5 | B 1 ! A 8 | A 4 | A 5 | B 1
    Figure DE112020003328T5_0042
    A 8 | A 4 | A 5 | ! B 1 ! A 8 | A 4 | ! B 1 ! A 8 | A 5 | ! B 1
    Figure DE112020003328T5_0043
  • Die folgende Tabelle fasst die bei n = 8 und n = 12 gefundenen geeigneten Abgriffe zusammen, die Sequenzen mit maximaler Länge bereitstellen.
    Stufe Abgriffe Länge Maximal
    8 8, 4, 3 255 255
    8 8, 5, 1 255 255
    8 8, 5, 4 255 255
    8 8,7,3 255 255
    12 12, 7, 4 4095 4095
    12 12, 8, 5 4095 4095
  • Die 12A, 12B und 12C zeigen die Register 800, 1000 und 1100 der 8, 10 bzw. 11 ausführlicher.
  • Nunmehr unter Bezugnahme auf 12A ist dort das Register von 8 800 mit den acht Stufen gezeigt, die durch die D-Flipflops 1201 bis 1208 bereitgestellt werden. Jedes Flipflop 1201 bis 1208 enthält einen Takteingang (CLK) 1211, einen Dateneingang (D) 1212, Ausgänge (Q) 1213 und einen invertierten Ausgang (Q̅) 1214.
  • 12A zeigt das Register 800 mit den nicht am Ende befindlichen Abgriffen 804 und 805, dem am Ende befindlichen Abgriff 808 und der logischen Rückkopplungsoperation, die durch ein OR-Gatter 811 und ein XOR-Gatter 812 bereitgestellt wird. Der Registerausgang 1215 ist ebenfalls gezeigt.
  • Nunmehr unter Bezugnahme auf 12B ist dort das Register von 10 1000 der ersten komplementären Anordnung mit den acht Stufen gezeigt, die durch die D-Flipflops 1221 bis 1228 bereitgestellt werden. Jedes Flipflop 1221 bis 1228 enthält einen Takteingang (CLK) 1231, einen Dateneingang (D) 1232, Ausgänge (Q) 1233 und einen invertierten Ausgang (Q̅) 1234.
  • 12B zeigt das Register 1000 mit den nicht am Ende befindlichen Abgriffen 1004 und 1005, dem am Ende befindlichen Abgriff 1008 und der logischen Rückkopplungsoperation, die durch ein XNOR-Gatter 1012 und ein AND-Gatter 1011 bereitgestellt wird. Der Registerausgang 1235 ist ebenfalls gezeigt.
  • Nunmehr unter Bezugnahme auf 12C ist dort das Register von FIG. 111100 der zweiten komplementären Anordnung mit den acht Stufen gezeigt, die durch die D-Flipflops 1241 bis 1248 bereitgestellt werden. Jedes Flipflop 1241 bis 1248 enthält einen Takteingang (CLK) 1251, einen Dateneingang (D) 1252, Ausgänge (Q) 1253 und einen invertierten Ausgang (Q̅) 1254.
  • 12C zeigt das Register 1100 mit den nicht am Ende befindlichen Abgriffen 1104 und 1105, dem am Ende befindlichen Abgriff 1108 und der logischen Rückkopplungsoperation, die durch ein XOR-Gatter 1112 und ein NAND-Gatter 1111 bereitgestellt wird. Der Registerausgang 1255 ist ebenfalls gezeigt.
  • Die beschriebene nichtlineare Rückkopplungsanordnung aus zwei Gattern kann durch andere n-stufige Register verwendet werden, die mehr als zwei Abgriffe für Sequenzen mit maximaler Länge in LFSRs erfordern, ergibt aber möglicherweise nur Sequenzen mit nahezu maximaler Länge. Diese können ebenfalls nützlich sein, da es sich bei der nichtlinearen Rückkopplungsanordnung aus nur zwei Gattern um eine vereinfachte Rückkopplungsanordnung handelt.
  • Der folgende Abgriff und die folgenden Sequenzen mit nahezu maximaler Länge wurden gefunden.
    • Länge 8135 (im Vergleich zu 8191): bei n = 13: A = 7, B = 3; A = 8, B = 4 und Spiegel A = 10, B = 6; A = 9, B = 5
    • Länge 16244 (im Vergleich zu 16383) bei n = 14: A = 6, B = 1 und Spiegel A = 13, B = 8
    • Länge 63724 (im Vergleich zu 65535) bei n = 16: A = 12, B = 1 und Spiegel A = 15, B = 4
    • Länge 508357 (im Vergleich zu 524287) bei n = 19: A = 12, B = 3 und Spiegel A = 16, B = 7
    • Länge 16570233 (im Vergleich zu 16777215) bei n = 24: A = 20, B = 3 und Spiegel A = 21, B = 4
    • Länge 66542149 (im Vergleich zu 67108863) bei n = 26: A = 9, B = 2 und Spiegel A = 24, B = 17
    • Länge 133072290 (im Vergleich zu 134217727) bei n = 27: A = 16, B = 4 und Spiegel A = 23, B = 11
  • In einigen Fällen kann ein hybrides LFSR mit zwei XOR-Verknüpfungen eine Sequenz 2n - 1 erzeugen. Dies hat jedoch den Nachteil, dass Zugriff sowohl auf die Mitte des Schieberegisters als auch auf das Ende erforderlich ist, um Daten einzufügen. Das beschriebene NLFSR erfordert lediglich Zugriff auf das Ende, um Daten einzufügen (obwohl Daten aus Abgriffen in der Mitte des Registers gelesen werden).
  • Anhand von Tests stellt das Folgende Beispiele der längsten Sequenzen mit nicht-maximaler Länge mit 2 Abgriffen bereit, wobei die maximal mögliche mit 3 (hybrid) oder 4 Abgriffen in Klammern angegeben ist. { 8, 5 } : 217 ( 255 ) { 12, 11 } : 3255 ( 4095 ) { 13, 10 } : 8001 ( 8191 ) { 14, 13 } : 11811 ( 16383 ) { 16, 9 } : 63457 ( 65535 )
    Figure DE112020003328T5_0044
    { 19, 12 } 520065 ( 524287 )
    Figure DE112020003328T5_0045
    { 19, 13 } 520065 ( 524287 ) { 24, 19 } 16766977 ( 16777215 )
    Figure DE112020003328T5_0046
    und Spiegel (Umkehrungen): { 8, 3 } : 217 ( 255 )
    Figure DE112020003328T5_0047
    { 12, 1 } : 3255 ( 4095 )
    Figure DE112020003328T5_0048
    { 13, 1 } : 8001 ( 8191 ) { 14, 1 } : 11811 ( 16383 ) { 16, 7 } : 63457 ( 65535 ) { 19, 6 } 520065 ( 524287 )
    Figure DE112020003328T5_0049
    { 19, 7 } 520065 ( 524287 ) { 24, 5 } 16766977 ( 16777215 )
    Figure DE112020003328T5_0050
  • Zuvor bestand das Minimum aus zwei XOR-Gatter und den längsten Sequenzen mit nicht-maximaler Länge mit so wenigen Abgriffen wie vorstehend angegeben. Das beschriebene Verfahren stellt eine Sequenz mit maximaler Länge oder eine Sequenz mit nahezu maximaler Länge mit nur einem OR-Gatter und einem XOR-Gatter bereit.
  • Das beschriebene Verfahren ergibt eine nützliche Erhöhung der Zykluslänge bei einer kleinen Anzahl von Gattern.
  • Das dem Stand der Technik entsprechende NLFSR nach Dubrova umfasst Folgendes, wobei es sich bei den Zahlen zwischen den Kommas um Abgriffe handelt, die XOR-verknüpft sind und innerhalb von Klammern AND-verknüpft sind. 0, 1, 6, ( 4, 5 ) x 0 XOR x 1 XOR x 5 XOR ( x 4 AND x 5 )
    Figure DE112020003328T5_0051
    0, 3, 4, ( 3, 4 ) x 0 XOR x 3 XOR x 4 XOR ( x 3 AND x 4 ) .
    Figure DE112020003328T5_0052
    0, 3, 8, ( 3, 9 ) x 0 XOR x 3 XOR x 8 XOR ( x 3 AND x 9 )
    Figure DE112020003328T5_0053
    0, 4, 7, ( 4, 7 ) x 0 XOR x 4 XOR x 7 XOR ( x 4 AND x 7 )
    Figure DE112020003328T5_0054
  • Dubrova verwendet das Schieberegister in der anderen Richtung und nimmt den ersten Abgriff als Abgriff 0, sodass dies umgewandelt werden kann, indem jede Zahl x durch n - x ersetzt wird.
  • Dubrova gibt dies an als: A 8 XOR A 5 XOR A 4 XOR ( A 5 AND A 4 )
    Figure DE112020003328T5_0055
    im Vergleich zum beschriebenen Verfahren: A 8 XOR ( A 5 OR A 4 )
    Figure DE112020003328T5_0056
  • Das beschriebenen Verfahren verwendet eine einfachere logische Funktion aus einem OR und einem XOR anstelle von 3 XOR-Verknüpfungen und 1 AND.
  • A XOR B XOR C XOR (B AND C) kann wie folgt vereinfacht werden: ABC 000 = 0 001 = 1 010 = 1 011 = 1 100 = 1 101 = 0 110 = 0 111 = 0
    Figure DE112020003328T5_0057
  • Dies ist dasselbe wie: A XOR (B oder C)
  • Obwohl sie logisch äquivalent sind, war es für Dubrova, eine Fachfrau, nicht offenkundig, dass diese Vereinfachung möglich war. Dubrovas Abgriffe können mit Ausnahme derjenigen der Form: n, a, b, (a, b) nicht generell zu denen des beschriebenen Verfahrens vereinfacht werden.
  • Diese wenigen können zu dem beschriebenen Verfahren vereinfacht werden, aber dies ist nicht offenkundig. Bei n = 8 führt sie 42 Sätze von Abgriffen auf, von denen lediglich 2 zu dem beschriebenen Verfahren vereinfacht werden könnten, und bemerkt diese Spezialfälle nicht. Bei n = 12 führt sie 36 Sätze von Abgriffen auf, von denen lediglich 1 zu dem beschriebenen Verfahren vereinfacht werden könnte, und bemerkt diesen Satz nicht als Spezialfall.
  • Die Vereinfachung ist der Schlüssel zu dem beschriebenen Verfahren und die entsprechenden Abgriffe müssen gewählt werden, damit dies möglich wird.
  • Unter Bezugnahme auf 13 zeigt ein Blockschema ein Computersystem 1300, unter anderem ein System zum Bereitstellen von nichtlinearen NLFSR-Anordnungen mit Sequenzen 1310 mit maximaler Länge.
  • Das Computersystem 1300 kann mindestens einen Prozessor 1301, ein Hardwaremodul oder eine Schaltung zum Ausführen der Funktionen der beschriebenen Komponenten enthalten, bei denen es sich um Softwareeinheiten handeln kann, die auf dem mindestens einen Prozessor ausgeführt werden. Mehrere Prozessoren, die parallele Verarbeitungs-Threads ausführen, können bereitgestellt sein, die Parallelverarbeitung einiger oder aller der Funktionen der Komponenten ermöglichen. Ein Hauptspeicher 1302 kann so konfiguriert sein, dass dem mindestens einen Prozessor 1301 Computeranweisungen 1303 bereitgestellt werden, um die Funktionalität der Komponenten zu verwirklichen.
  • Das System zum Bereitstellen von nichtlinearen NLFSR-Anordnungen 1310 kann eine Auswahlkomponente 1311 zum Auswählen von n umfassen, wobei n mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge erfordert.
  • Das System 1310 umfasst eine Rückkopplungsanordnungskomponente 1312 zum Anordnen einer logischen Rückkopplungsoperation mit nur einem OR-Gatter und nur einem XOR-Gatter, wobei logisches OR zweier geeigneter, nicht am Ende befindlicher Abgriffe genutzt und mit dem am Ende befindlichen Abgriff zwecks Rückkopplung auf die erste Stufe oder eine komplementäre logische Operation XOR-verknüpft wird. Eine erste komplementäre logische Operation besteht aus nur einem NAND-Gatter und nur einem XOR-Gatter, in denen die logische Operation logisches NAND zweier geeigneter, nicht am Ende befindlicher Abgriffe nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XOR mit dem am Ende befindlichen Abgriff verknüpft. Eine zweite komplementäre logische Operation besteht aus nur einem AND-Gatter und nur einem XNOR-Gatter, in denen die logische Operation logisches AND zweier geeigneter, nicht am Ende befindlicher Abgriffe nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XNOR mit dem am Ende befindlichen Abgriff verknüpft.
  • Das System 1310 kann eine Testkomponente 1313 zum Beziehen eines oder mehrerer geeigneter Paare von nicht am Ende befindlichen Abgriffen umfassen, indem unterschiedliche Kombinationen aus zwei nicht am Ende befindlichen Abgriffen getestet werden, um Paarkombinationen zu ermitteln, die Sequenzen des n-stufigen Registers mit maximaler Länge bereitstellen. Die Testkomponente 1313 kann ein Suchprogramm 1314 umfassen, das auf drei Abgriffe angewendet wird: den am Ende befindlichen Abgriff und zwei nicht am Ende befindliche Abgriffe, wobei vorbehaltlich der Optimierungseinschränkung, dass 1 und 0 gleichermaßen wahrscheinlich sind, jede Kombination der logischen Operation verwendet wird. Das System 1310 kann eine Ausgabekomponente 1315 für geeignete Abgriffpaare zum Ausgeben von Paaren geeigneter, nicht am Ende befindlicher Abgriffe zur Verwendung in der Rückkopplungsanordnungskomponente 1312 umfassen.
  • Das System 1310 kann eine Spiegelkomponente 1316 zum Verwenden eines geeigneten Paares von nicht am Ende befindlichen Abgriffen und Beziehen eines weiteren geeigneten Paares von nicht am Ende befindlichen Abgriffen als Spiegel der Abgriffe in dem n-stufigen Register verwenden, wobei die Abgriffsequenz [n, A, B] auf [n, n - B, n - A] gespiegelt wird.
  • 14 stellt ein Blockschema von Komponenten des Computersystems 1300 von 13 gemäß einer Ausführungsform der vorliegenden Erfindung dar. Es sollte klar sein, dass 14 lediglich zur Veranschaulichung einer Realisierungsform dient und nicht als Einschränkung in Bezug auf die Umgebungen gedacht ist, in denen unterschiedliche Ausführungsformen realisiert werden können. An der abgebildeten Umgebung können viele Abänderungen vorgenommen werden.
  • Das Computersystem 1300 kann einen oder mehrere Prozessoren 1402, einen oder mehrere durch einen Computer lesbare RAMs 1404, einen oder mehrere durch einen Computer lesbare ROMs 1406, ein oder mehrere durch einen Computer lesbare Speichermedien 1408, Einheitentreiber 1412, ein Lese/Schreib-Laufwerk oder eine Lese/Schreib-Schnittstelle 1414 und einen Netzwerkadapter oder eine Netzwerkschnittstelle 1416 enthalten, die untereinander alle über ein Datenübertragungsnetzwerk 1418 verbunden sind. Die Datenübertragungsstruktur 1418 kann mit einer beliebigen Architektur realisiert sein, die auf das Weiterleiten von Daten und/oder Steuerinformationen zwischen Prozessoren (beispielsweise Mikroprozessoren, Datenübertragungs- und Netzwerkprozessoren usw.) und einem Systemhauptspeicher, Peripherieeinheiten und beliebigen anderen Hardwarekomponenten innerhalb des Systems ausgelegt ist.
  • Ein oder mehrere Betriebssysteme 1410 und Anwendungsprogramme 1411 wie z.B. das System zum Bereitstellen von NLFSR-Anordnungen 1310 sind auf einem oder mehreren der durch einen Computer lesbaren Speichermedien 1408 gespeichert, um durch einen oder mehrere der Prozessoren 1402 über einen oder mehrere der jeweiligen RAMs 1404 (die normalerweise Cache-Speicher enthalten) ausgeführt zu werden. Bei der veranschaulichten Ausführungsform kann es sich bei jedem der durch einen Computer lesbaren Speichermedien 1408 um eine Magnetplattenspeichereinheit einer internen Festplatte, ein CD-ROM, eine DVD, einen Speicherstick, ein Magnetband, eine Magnetplatte, eine optische Platte, eine Halbleiterspeichereinheit wie beispielsweise ein RAM, ein ROM, ein EPROM, ein Flash-Speicher oder um ein beliebiges anderes durch einen Computer lesbares Speichermedium handeln, das ein Computerprogramm und digitale Informationen gemäß Ausführungsformen der Erfindung speichern kann.
  • Das Computersystem 1300 kann außerdem ein Lese/Schreib-Laufwerk oder eine Lese/Schreib-Schnittstelle 1414 enthalten, um Daten von einem oder mehreren transportablen, durch einen Computer lesbaren Speichermedien 1426 zu lesen oder auf diese zu schreiben. Anwendungsprogramme 1411 auf dem Computersystem 1300 können auf einem oder mehreren der transportablen, durch einen Computer lesbaren Speichermedien 1426 gespeichert sein, über das jeweilige Lese/Schreib-Laufwerk oder die jeweilige Lese/Schreib-Schnittstelle 1414 gelesen und in das jeweilige durch einen Computer lesbare Speichermedium 1408 geladen werden.
  • Das dem Computersystem 1300 kann außerdem einen Netzwerkadapter oder eine Netzwerkschnittstelle 1416 enthalten, beispielsweise eine TCP/IP-Adapterkarte oder einen Drahtlos-Datenübertragungsadapter. Anwendungsprogramme 1411 auf dem Computersystem 1300 können von einem externen Computer oder von einer externen Speichereinheit über ein Netzwerk (zum Beispiel über das Internet, ein lokales Netzwerk oder andere Weitverkehrsnetzwerke oder Drahtlos-Netzwerke) und über den Netzwerkadapter oder die Netzwerkschnittstelle 1416 auf die Datenverarbeitungseinheit heruntergeladen werden. Von dem Netzwerkadapter oder der Netzwerkschnittstelle 1416 können die Programme in das durch einen Computer lesbare Speichermedium 1408 geladen werden. Das Netzwerk kann Kupferleitungen, Lichtwellenleiter, Drahtlos-Übertragung, Router, Firewalls, Switches, Gateway-Computer und Edge-Server aufweisen.
  • Das Computersystem 1300 kann außerdem einen Anzeigebildschirm 1420, eine Tastatur oder ein Tastenfeld 1422 und eine Computermaus oder ein Touchpad 1424 enthalten. Einheitentreiber 1412 stellen eine Verbindung zum Anzeigebildschirm 1420 zwecks Anzeige, zu der Tastatur oder zu dem Tastenfeld 1422, zu der Computermaus oder zu dem Touchpad 1424 und/oder zu dem Anzeigebildschirm 1420 her, um die druckempfindliche Erfassung der Eingabe alphanumerischer Zeichen und von Benutzerauswahlen zu realisieren. Die Einheitentreiber 1412, das Lese/Schreib-Laufwerk oder die Lese/Schreib-Schnittstelle 1414 und der Netzwerkadapter oder die Netzwerkschnittstelle 1416 können Hardware und Software aufweisen, die In dem durch einen Computer lesbaren Speichermedium 1408 und/oder in dem ROM 1406 gespeichert ist.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt in einem beliebigen möglichen Integrationsgrad technischer Einzelheiten handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) enthalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine materielle Einheit handeln, auf der Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen aufbewahrt und gespeichert sein können. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel, ohne auf diese beschränkt zu sein, um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine beliebige geeignete Kombination des Vorstehenden handeln. Eine nicht erschöpfende Liste genauerer Beispiele des durch einen Computer lesbaren Speichermediums umfasst Folgendes: eine transportable Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), einen statischen Direktzugriffsspeicher (SRAM), einen transportablen Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), eine Digital Versatile Disc (DVD), einen Speicherstick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhöhte Strukturen in einer Rille mit darauf aufgezeichneten Anweisungen oder beliebige geeignete Kombinationen des Vorstehenden. Ein durch einen Computer lesbares Speichermedium im hierin verwendeten Sinne ist nicht so auszulegen, dass es sich dabei um flüchtige Signale an sich handelt, wie zum Beispiel um Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, um elektromagnetische Wellen, die sich durch einen Hohlleiter oder andere Übertragungsmedien ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder um elektrische Signale, die über ein Kabel übertragen werden.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können über ein Netzwerk, zum Beispiel das Internet, ein lokales Netzwerk ein Weitverkehrsnetzwerk und/oder ein Drahtlosnetzwerk von einem durch einen Computer lesbaren Speichermedium auf betreffende Datenverarbeitungs-/Verarbeitungseinheiten oder auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, Drahtlosübertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder eine Netzwerkschnittstelle bei jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der jeweiligen Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Operationen der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (ISA = Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, unter anderem objektorientierte Programmiersprachen wie z.B. Smalltalk, C++ oder dergleichen sowie prozedurale Programmiersprachen wie z.B. die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Beim letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (Local Area Network, LAN) oder über ein Weitverkehrsnetzwerk (Wide Area Network, WAN), oder die Verbindung kann zu einem externen Computer hergestellt sein (zum Beispiel über das Internet unter Nutzung eines Internet-Dienstanbieters (Internet Service Provider)). Bei einigen Ausführungsformen können elektronische Schaltungen, zu denen beispielsweise programmierbare Logikschaltungen, vor Ort programmierbare Gatteranordnungen (Field-Programmable Gate Arrays, FPGA) oder programmierbare Logikanordnungen (PLA) gehören, die durch einen Computer lesbaren Programmanweisungen ausführen, indem Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen genutzt werden, um die elektronische Schaltung zu personalisieren, sodass Aspekte der vorliegenden Erfindung durchgeführt werden.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Flussdiagrammdarstellungen und/oder Blockschemata von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird klar sein, dass jeder Block der Flussdiagramme und/oder der Blockschemata und Kombinationen von Blöcken in den Flussdiagrammen und/oder Blockschemata mit Hilfe von durch einen Computer lesbaren Programmanweisungen realisiert werden kann bzw. können.
  • Diese Computerprogrammanweisungen können einem Prozessor eines Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel schaffen, um die in einem Block bzw. in den Blöcken des Flussdiagramms bzw. der Flussdiagramme und/oder des Blockschemas bzw. der Blockschemata angegebenen Funktionen/Aktionen zu realisieren. Diese durch einen Computer lesbaren Programmanweisungen können ebenfalls in einem durch einen Computer lesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass das durch einen Computer lesbare Medium mit darauf gespeicherten Anweisungen ein Erzeugnis aufweist, das Anweisungen enthält, die die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebene Funktion/Aktion realisieren.
  • Die durch einen Computer lesbaren Programmanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Operationen ausgeführt wird, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer, auf anderen programmierbaren Vorrichtungen oder Einheiten ausgeführt werden, die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebenen Funktionen/Aktionen realisieren.
  • Die Flussdiagramme und Blockschemata in den Figuren veranschaulichen die Architektur, Funktionalität und Wirkungsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Flussdiagrammen bzw. in den Blockschemata ein Modul, ein Segment oder einen Abschnitt von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen Logikfunktion bzw. Logikfunktionen aufweist. Bei einigen alternativen Realisierungsformen können die in dem Block angegebenen Funktionen in einer anderen als in der Reihenfolge ausgeführt werden, die in den Figuren angegeben ist. Zum Beispiel können zwei hintereinander gezeigte Blöcke tatsächlich als ein Schritt ausgeführt, gleichzeitig, im Wesentlichen gleichzeitig, in einer teilweise oder vollständig zeitlich überlappenden Weise ausgeführt werden, oder die Blöcke können je nach der mit den Blöcken verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder Block der Blockschemata und/oder Flussdiagrammdarstellungen sowie Kombinationen von Blöcken in den Blockschemata und/oder Flussdiagrammdarstellungen mit Hilfe zweckgebundener hardwaregestützter Systeme zum Ausführen der angegebenen Funktionen bzw. Aktionen oder mit Hilfe von Kombinationen aus zweckgebundener Hardware und zweckgebundenen Computeranweisungen realisiert werden kann bzw. können.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Verwenden eines nichtlinear rückgekoppelten Schieberegisters (NLFSR) mit Sequenzen mit maximaler oder nahezu maximaler Länge bereitgestellt, um eine Pseudozufallssequenz für eine Anzahl von n Stufen zu erzeugen, wobei eine maximale Länge 2n - 1 beträgt, wobei das Verfahren aufweist: Auswählen von n, wobei n mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge erfordert; und für das ausgewählte n-stufige Register Verwenden einer logischen Rückkopplungsoperation mit nur einem OR-Gatter und nur einem XOR-Gatter, in denen die logische Operation logisches OR zweier geeigneter, nicht am Ende befindlicher Abgriffe nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XOR mit dem am Ende befindlichen Abgriff verknüpft, oder einer äquivalenten logischen Operation mit einem XNOR-Gatter und einem NOR-Gatter oder einer komplementären logischen Operation.
  • Das Verfahren stellt den Vorteil einer einfachen logischen Operation mit zwei Gattern in einem NLFSR bereit, die Sequenzen mit maximaler oder nahezu maximaler Länge für n-stufige Register bereitstellt, die normalerweise mehr als zwei Abgriffe erfordern. Das Verfahren minimiert die Anzahl von Gattern ohne Mittenrückkopplung auf das Register, die beim Bereitstellen langer Pseudozufallssequenzen erforderlich ist.
  • Eine erste komplementäre logische Operation kann aus nur einem Not-AND-Gatter (NAND-Gatter) und nur einem XOR-Gatter bestehen, in denen die logische Operation logisches NAND zweier geeigneter, nicht am Ende befindlicher Abgriffe nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XOR mit dem am Ende befindlichen Abgriff verknüpft. Eine weitere komplementäre logische Operation kann aus nur einem AND-Gatter und nur einem XNOR-Gatter bestehen, in denen die logische Operation logisches AND zweier geeigneter, nicht am Ende befindlicher Abgriffe nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XNOR mit dem am Ende befindlichen Abgriff verknüpft.
  • Für einige n wird eine Sequenz mit maximaler Länge mit zwei geeigneten, nicht am Ende befindlichen Abgriffen oder einer komplementären Anordnung bezogen, und für einige andere n wird eine Sequenz mit einer besten nahezu maximalen Länge mit zwei geeigneten, nicht am Ende befindlichen Abgriffen oder einer komplementären Anordnung bezogen.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein nichtlinear rückgekoppeltes Schieberegister (NLFSR) mit Sequenzen mit maximaler oder nahezu maximaler Länge bereitgestellt, um eine Pseudozufallssequenz für eine Anzahl von n Stufen zu erzeugen, wobei eine maximale Länge 2n - 1 beträgt, wobei das Verfahren aufweist: ein n-stufiges Register n, wobei n mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge erfordert; eine logische Rückkopplungsoperation mit nur einem OR-Gatter und nur einem XOR-Gatter, wobei logisches OR zweier geeigneter, nicht am Ende befindlicher Abgriffe genutzt und zwecks Rückkopplung auf die erste Stufe per logischem XOR mit dem am Ende befindlichen Abgriff verknüpft wird, oder eine äquivalente logische Operation mit einem XNOR-Gatter und einem NOR-Gatter oder eine komplementäre logische Operation, wobei die geeigneten, nicht am Ende befindlichen Abgriffe Sequenzen des n-stufigen Registers mit maximaler oder nahezu maximaler Länge bereitstellen.
  • Eine komplementäre logische Operation kann aus nur einem NAND-Gatter und nur einem XOR-Gatter bestehen, in denen die logische Operation logisches NAND zweier geeigneter, nicht am Ende befindlicher Abgriffe nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XOR mit dem am Ende befindlichen Abgriff verknüpft. Eine weitere komplementäre logische Operation kann aus nur einem AND-Gatter und nur einem XNOR-Gatter bestehen, in denen die logische Operation logisches AND zweier geeigneter, nicht am Ende befindlicher Abgriffe nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XNOR mit dem am Ende befindlichen Abgriff verknüpft. Ein weiteres Gegenstück.
  • Für einige n wird eine Sequenz mit maximaler Länge mit zwei geeigneten, nicht am Ende befindlichen Abgriffen oder einer komplementären Anordnung bezogen, und für einige andere n wird eine Sequenz mit einer besten nahezu maximalen Länge mit zwei geeigneten, nicht am Ende befindlichen Abgriffen oder einer komplementären Anordnung bezogen.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein nichtlinear rückgekoppeltes Schieberegister (NLFSR) mit Sequenzen mit maximaler Länge bereitgestellt, um eine Pseudozufallssequenz für eine Anzahl von n Stufen zu erzeugen, wobei eine maximale Länge 2n - 1 beträgt, wobei das Schieberegister aufweist: ein n-stufiges Register, wobei n 8 oder 12 beträgt, die jeweils mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge oder erfordern; und eine logische Rückkopplungsoperation mit nur einem OR-Gatter und nur einem XOR-Gatter, wobei logisches OR zweier geeigneter, nicht am Ende befindlicher Abgriffe A, B genutzt und zwecks Rückkopplung auf die erste Stufe per logischem logische XOR mit dem am Ende befindlichen Abgriff verknüpft wird, oder eine äquivalente logische Operation mit einem XNOR-Gatter und einem NOR-Gatter oder eine komplementäre logische Operation, wobei die geeigneten, nicht am Ende befindlichen Abgriffe Sequenzen des n-stufigen Registers mit maximaler Länge bereitstellen; wobei die beiden geeigneten, nicht am Ende befindlichen Abgriffe entnommen werden aus der Gruppe aus: bei n = 8: A = 4, B = 3; A = 5, B = 1; und Spiegeln A = 5, B = 4; A = 7, B = 3; bei n = 12: A = 7, B = 4; und Spiegel A = 8, B = 5.
  • Das NLFSR bei 8-stufigen und 12-stufigen Registern stellt die Sequenzen mit maximaler Länge mit den definierten, nicht am Ende befindlichen Abgriffen bereit.
  • Eine komplementäre logische Operation besteht aus nur einem NAND-Gatter und nur einem XOR-Gatter, in denen die logische Operation logisches NAND zweier geeigneter, nicht am Ende befindlicher Abgriffe A, B nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XOR mit dem am Ende befindlichen Abgriff verknüpft. Eine weitere komplementäre logische Operation besteht aus nur einem AND-Gatter und nur einem XNOR-Gatter, in denen die logische Operation logisches AND zweier geeigneter, nicht am Ende befindlicher Abgriffe A, B nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XNOR mit dem am Ende befindlichen Abgriff verknüpft.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Bereitstellen eines nichtlinear rückgekoppelten Schieberegisters (NLFSR) mit Sequenzen mit maximaler oder nahezu maximaler Länge bereitgestellt, um eine Pseudozufallssequenz für eine Anzahl von n Stufen zu erzeugen, wobei eine maximale Länge 2n - 1 beträgt, wobei das Verfahren aufweist: Auswählen von n, wobei n mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge erfordert; für ein ausgewähltes n-stufiges Register, Verwenden einer logischen Rückkopplungsoperation mit nur einem OR-Gatter und nur einem XOR-Gatter, wobei logisches OR zweier geeigneter, nicht am Ende befindlicher Abgriffe genutzt und zwecks Rückkopplung auf die erste Stufe per XOR mit dem am Ende befindlichen Abgriff verknüpft wird, oder einer äquivalenten logischen Operation mit einem XNOR-Gatter und einem NOR-Gatter oder einer komplementären logischen Operation; und Beziehen eines oder mehrerer geeigneter Paare von nicht am Ende befindlichen Abgriffen, indem unterschiedliche Kombinationen aus zwei nicht am Ende befindlichen Abgriffen getestet werden, um Paarkombinationen zu ermitteln, die Sequenzen des n-stufigen Registers mit maximaler oder nahezu maximaler Länge bereitstellen.
  • Das Verfahren kann ein Beziehen eines geeigneten Paares von nicht am Ende befindlichen Abgriffen und ein Beziehen eines weiteren geeigneten Paares von nicht am Ende befindlichen Abgriffen als Spiegel der Abgriffe in dem n-stufigen Register umfassen, wobei die Abgriffsequenz [n, A, B] auf [n, n - B, n - A] gespiegelt wird.
  • Das Beziehen eines oder mehrerer geeigneter Paare von nicht am Ende befindlichen Abgriffen kann ein Verwenden eines Suchprogramms umfassen, das auf drei Abgriffe angewendet wird: den am Ende befindlichen Abgriff und zwei nicht am Ende befindliche Abgriffe, wobei mit Ausnahme aller Nullen und vorbehaltlich der Optimierungseinschränkung, dass 1 und 0 gleichermaßen wahrscheinlich sind, jede Kombination der logischen Operation verwendet wird.
  • Das Suchprogramm initialisiert das Register auf einen anderen Wert als alles Nullen oder alles Einsen bei einer komplementären logischen Operation und führt das Register höchstens 2n-mal aus, bis ein Registerzustand erzeugt ist, bei dem es sich um eine Wiederholung mit der Länge der Sequenz handelt, bei der es sich um die Anzahl von Zuständen ab einer ersten Gelegenheit, bei der ein Zustand beobachtet wurde, bis zu einer zweiten Gelegenheit handelt, bei der der Zustand beobachtet wurde.
  • Bei einer Sequenz mit nahezu maximaler Länge kann das Suchprogramm ermitteln ob die Anzahl bisher beobachteter Zustände 2n -1 oder mehr beträgt; wenn dies der Fall ist, handelt es sich bei der längsten gefundenen Sequenz um die längste mögliche für diesen Satz von Abgriffen; wenn dies nicht der Fall ist, werden ein nicht beobachteter Zustand gewählt, die Sequenz erneut erzeugt und die Länge gemessen; und diese Schritte können wiederholt werden, bis alle Zustände beobachtet wurden oder die Anzahl nicht beobachteter Zustände geringer als die Länge der längsten gefundenen Sequenz ist.
  • Eine komplementäre logische Operation besteht aus nur einem NAND-Gatter und nur einem XOR-Gatter, in denen die logische Operation logisches NAND zweier geeigneter, nicht am Ende befindlicher Abgriffe nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XOR mit dem am Ende befindlichen Abgriff verknüpft. Eine weitere komplementäre logische Operation besteht aus nur einem AND-Gatter und nur einem XNOR-Gatter, in denen die logische Operation logisches AND zweier geeigneter, nicht am Ende befindlicher Abgriffe nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XNOR mit dem am Ende befindlichen Abgriff verknüpft.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein System zum Bereitstellen eines nichtlinear rückgekoppelten Schieberegisters (NLFSR) mit Sequenzen mit maximaler oder nahezu maximaler Länge bereitgestellt, um eine Pseudozufallssequenz für eine Anzahl von n Stufen zu erzeugen, wobei eine maximale Länge 2n - 1 beträgt, wobei das System aufweist: Auswählen einer Komponente zum Auswählen von n, wobei n mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge erfordert; eine Rückkopplungsanordnungskomponente zum Anordnen einer logischen Rückkopplungsoperation mit nur einem OR-Gatter und nur einem XOR-Gatter, wobei logisches OR zweier geeigneter, nicht am Ende befindlicher Abgriffe genutzt und zwecks Rückkopplung auf die erste Stufe per XOR mit dem am Ende befindlichen Abgriff verknüpft wird, oder einer äquivalenten logischen Operation mit einem XNOR-Gatter und einem NOR-Gatter oder einer komplementären logischen Operation; und eine Testkomponente zum Beziehen eines oder mehrerer geeigneter Paare von nicht am Ende befindlichen Abgriffen, indem unterschiedliche Kombinationen aus zwei nicht am Ende befindlichen Abgriffen getestet werden, um Paarkombinationen zu ermitteln, die Sequenzen des n-stufigen Registers mit maximaler oder nahezu maximaler Länge bereitstellen.
  • Das System kann eine Spiegelkomponente zum Verwenden eines geeigneten Paares von nicht am Ende befindlichen Abgriffen und Beziehen eines weiteren geeigneten Paares von nicht am Ende befindlichen Abgriffen als Spiegel der Abgriffe in dem n-stufigen Register verwenden, wobei die Abgriffsequenz [n, A, B] auf [n, n - B, n - A] gespiegelt wird.
  • Die Testkomponente zum Beziehen eines oder mehrerer geeigneter Paare von nicht am Ende befindlichen Abgriffen kann ein Suchprogramm umfassen, das auf drei Abgriffe angewendet wird: den am Ende befindlichen Abgriff und zwei nicht am Ende befindliche Abgriffe, wobei mit Ausnahme aller Nullen und vorbehaltlich der Optimierungseinschränkung, dass 1 und 0 gleichermaßen wahrscheinlich sind, jede Kombination der logischen Operation verwendet wird.
  • Das Suchprogramm kann so konfiguriert sein, dass es die Variablen, die das Register darstellen, auf einen anderen Wert als alles Nullen oder alles Einsen bei einer komplementären logischen Operation initialisiert und das Register höchstens 2n Mal ausführt, bis ein Registerzustand erzeugt ist, bei dem es sich um eine Wiederholung mit der Länge der Sequenz handelt, bei der es sich um die Anzahl von Zuständen ab einer ersten Gelegenheit, bei der ein Zustand beobachtet wurde, bis zu einer zweiten Gelegenheit handelt, bei der der Zustand beobachtet wurde.
  • Das Suchprogramm kann so konfiguriert sein, dass es bei einer Sequenz mit nahezu maximaler Länge: ermittelt, ob die Anzahl bisher festgestellter Zustände 2n -1 oder mehr beträgt; wenn dies der Fall ist, handelt es sich bei der längsten gefundenen Sequenz um die längste mögliche für diesen Satz von Abgriffen; wenn dies nicht der Fall ist, werden ein nicht beobachteter Zustand gewählt, die Sequenz erneut erzeugt und die Länge gemessen; und diese Schritte wiederholt, bis alle Zustände beobachtet wurden oder die Anzahl nicht beobachteter Zustände geringer als die Länge der längsten gefundenen Sequenz ist.
  • Eine komplementäre logische Operation besteht aus nur einem NAND-Gatter und nur einem XOR-Gatter, in denen die logische Operation logisches NAND zweier geeigneter, nicht am Ende befindlicher Abgriffe nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XOR mit dem am Ende befindlichen Abgriff verknüpft. Eine weitere komplementäre logische Operation besteht aus nur einem AND-Gatter und nur einem XNOR-Gatter, in denen die logische Operation logisches AND zweier geeigneter, nicht am Ende befindlicher Abgriffe nutzt und zwecks Rückkopplung auf die erste Stufe per logischem XNOR mit dem am Ende befindlichen Abgriff verknüpft.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Bereitstellen eines nichtlinear rückgekoppelten Schieberegisters (NLFSR) mit Sequenzen mit maximaler oder nahezu maximaler Länge bereitgestellt, um eine Pseudozufallssequenz für eine Anzahl von n Stufen zu erzeugen, wobei eine maximale Länge 2n - 1 beträgt, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das darauf verkörperte Programmanweisungen enthält, wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen zum: Auswählen von n, wobei n mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge erfordert; für ein ausgewähltes n-stufiges Register, Verwenden einer logischen Rückkopplungsoperation mit nur einem OR-Gatter und nur einem XOR-Gatter, wobei logisches OR zweier geeigneter, nicht am Ende befindlicher Abgriffe genutzt und zwecks Rückkopplung auf die erste Stufe per XOR mit dem am Ende befindlichen Abgriff verknüpft wird, oder einer äquivalenten logischen Operation mit einem XNOR-Gatter und einem NOR-Gatter oder einer komplementären logischen Operation; und Beziehen eines oder mehrerer geeigneter Paare von nicht am Ende befindlichen Abgriffen, indem unterschiedliche Kombinationen aus zwei nicht am Ende befindlichen Abgriffen getestet werden, um Paarkombinationen zu ermitteln, die Sequenzen des n-stufigen Registers mit maximaler oder nahezu maximaler Länge bereitstellen.

Claims (25)

  1. Verfahren zum Verwenden eines nichtlinear rückgekoppelten Schieberegisters (non-linear feedback shift register, NLFSR), um eine Pseudozufallssequenz mit mindestens nahezu maximaler Länge für eine Anzahl von n Stufen zu erzeugen, wobei eine maximale Länge 2n - 1 beträgt, wobei das Verfahren aufweist: Auswählen von n, wobei n mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge erfordert; und Erzeugen, für das ausgewählte n-stufige Register, einer Pseudozufallssequenz unter Verwendung einer logischen Rückkopplungsoperation mit nur einem ersten Logikgatter und einem zweiten Logikgatter, wobei es sich bei zwei geeigneten, nicht am Ende befindlichen Abgriffen um Eingänge für das erste Logikgatter handelt, wobei es sich bei einem Ausgang des ersten Logikgatters und einem Abgriff an einem Ende um Eingänge für das zweite Logikgatter handelt, und wobei ein Ausgang des zweiten Logikgatters als Rückkopplung auf eine erste Stufe des n-stufigen Registers verwendet wird.
  2. Verfahren nach Anspruch 1, wobei das erste Logikgatter aus einer Gruppe ausgewählt ist, die aus einem OR- und einem NAND-Gatter besteht, wobei es sich bei dem zweiten Logikgatter um ein XOR-Gatter handelt.
  3. Verfahren nach Anspruch 1, wobei es sich bei dem ersten Logikgatter um ein AND-Gatter und bei dem zweiten Logikgatter um ein XNOR-Gatter handelt.
  4. Verfahren nach Anspruch 1, wobei: für einige n eine Sequenz mit maximaler Länge mit zwei geeigneten, nicht am Ende befindlichen Abgriffen bezogen wird, und für einige andere n eine Sequenz mit nahezu maximaler Länge mit zwei geeigneten, nicht am Ende befindlichen Abgriffen bezogen wird.
  5. Verfahren nach Anspruch 1, wobei das Verfahren ferner aufweist: Beziehen eines oder mehrerer geeigneter Paare von nicht am Ende befindlichen Abgriffen, indem auf der Grundlage der Stufenanzahl n Paarkombinationen erkannt werden, die Sequenzen des n-stufigen Registers mit mindestens nahezu maximaler Länge bereitstellen.
  6. Verfahren nach Anspruch 5, wobei das Beziehen des einen oder der mehreren geeigneten Paare von nicht am Ende befindlichen Abgriffen umfasst: Ermitteln eines ersten geeigneten Paares von nicht am Ende befindlichen Abgriffen, das einen ersten, nicht am Ende befindlichen Abgriff A und einen zweiten, nicht am Ende befindlichen Abgriff B umfasst; und Beziehen eines zweiten geeigneten Paares von nicht am Ende befindlichen Abgriffen als Spiegel des ersten geeigneten Paares von nicht am Ende befindlichen Abgriffen in dem n-stufigen Register, wobei eine Abgriffsequenz [n, A, B] auf [n, n - B, n - A] gespiegelt wird.
  7. Verfahren nach Anspruch 5, wobei das Beziehen des einen oder der mehreren geeigneten Paare von nicht am Ende befindlichen Abgriffen ein Verwenden eines Suchprogramms umfasst, das auf drei Abgriffe angewendet wird: den am Ende befindlichen Abgriff und zwei nicht am Ende befindliche Abgriffe, wobei mit Ausnahme aller Nullen und vorbehaltlich einer Optimierungseinschränkung, dass 1 und 0 gleichermaßen wahrscheinlich sind, jede Kombination von logischer Operation verwendet wird.
  8. Verfahren nach Anspruch 7, wobei das Suchprogramm das Register auf einen anderen Wert als alles Nullen initialisiert und das Register höchstens 2n Mal ausführt, bis ein Registerzustand erzeugt ist, bei dem es sich um eine Wiederholung handelt, wobei es bei einer Länge der Sequenz um eine Anzahl von Zuständen ab einer ersten Gelegenheit, bei der ein Zustand beobachtet wurde, bis zu einer zweiten Gelegenheit handelt, bei der der Zustand beobachtet wurde.
  9. Verfahren nach Anspruch 8, wobei, für eine Sequenz mit nahezu maximaler Länge bei einem Satz von Abgriffen, das Suchprogramm: ermittelt, ob eine Anzahl bisher beobachteter Zustände 2n -1 oder mehr beträgt; wenn die Anzahl beobachteter Zustände 2n -1 oder mehr beträgt, handelt es sich bei der längsten gefundenen Sequenz um die längste mögliche für diesen Satz von Abgriffen; wenn die Anzahl beobachteter Zustände weniger als 2n -1 beträgt, wird ein neuer Zustand gewählt, die Sequenz wird neu erzeugt, und die Länge wird gemessen; und diese Schritte wiederholt, bis alle Zustände beobachtet wurden oder die Anzahl nicht beobachteter Zustände geringer als die Länge der längsten gefundenen Sequenz ist.
  10. Nichtlinear rückgekoppeltes Schieberegister (NLFSR) zum Erzeugen einer Pseudozufallssequenz mit mindestens nahezu maximaler Länge für eine Anzahl von n Stufen, wobei eine maximale Länge 2n- 1 beträgt, wobei das Schieberegister aufweist: ein n-stufiges Register, wobei n mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge erfordert; ein erstes Logikgatter, das zwei Eingänge enthält, wobei jeder Eingang mit einem nicht am Ende befindlichen Abgriff des n-stufigen Registers verbunden ist; und ein zweites Logikgatter, das zwei Eingänge enthält, wobei ein erster Eingang mit einem Ausgang des ersten Logikgatters verbunden ist und ein zweiter Eingang mit einem am Ende befindlichen Abgriff des n-stufigen Registers verbunden ist, wobei ein Ausgang des zweiten Logikgatters als Rückkopplung auf eine erste Stufe des n-stufigen Registers verwendet wird.
  11. NLFSR nach Anspruch 10, wobei das erste Logikgatter aus einer Gruppe ausgewählt ist, die aus einem OR-Gatter und einem NAND-Gatter besteht und es sich bei dem zweiten Logikgatter um ein XOR-Gatter handelt.
  12. NLFSR nach Anspruch 10, wobei es sich bei dem ersten Logikgatter um ein AND-Gatter und bei dem zweiten Logikgatter um ein XNOR-Gatter handelt.
  13. NLFSR nach Anspruch 10, wobei: für einige n eine Sequenz mit maximaler Länge mit zwei geeigneten, nicht am Ende befindlichen Abgriffen bezogen wird, und für einige andere n eine Sequenz mit nahezu maximaler Länge mit zwei geeigneten, nicht am Ende befindlichen Abgriffen bezogen wird.
  14. Nichtlinear rückgekoppeltes Schieberegister (NLFSR) zum Erzeugen einer Pseudozufallssequenz mit maximaler Länge für 8 Stufen, wobei die maximale Länge 255 beträgt, wobei das Schieberegister aufweist: ein 8-stufiges Register; ein erstes Logikgatter, das einen ersten Eingang enthält, der mit einem ersten, nicht in einem Ende befindlichen Abgriff A des 8-stufigen Registers verbunden ist, und einen zweiten Eingang, der mit einem zweiten, nicht am Ende befindlichen Abgriff B des 8-stufigen Registers verbunden ist; und ein zweites Logikgatter, das Eingänge enthält, die mit einem Ausgang des ersten Logikgatters und mit einem am Ende befindlichen Abgriff des 8-stufigen Registers verbunden sind, wobei ein Ausgang des zweiten Logikgatters als Rückkopplung auf eine erste Stufe des 8-stufigen Registers verwendet wird, wobei sich der erste und der zweite, nicht am Ende befindliche Abgriff an Positionen befinden, die ausgewählt sind aus der Gruppe, bestehend aus: A = 4, B = 3 ; A = 5, B = 1 ; A = 5, B = 4 ; und A = 7, B = 3.
    Figure DE112020003328T5_0058
  15. NLFSR nach Anspruch 14, wobei es sich bei dem ersten Logikgatter um ein NAND-Gatter und bei dem zweiten Logikgatter um ein XOR-Gatter handelt.
  16. NLFSR nach Anspruch 14, wobei es sich bei dem ersten Logikgatter um ein AND-Gatter und bei dem zweiten Logikgatter um ein XNOR-Gatter handelt.
  17. Nichtlinear rückgekoppeltes Schieberegister (NLFSR) zum Erzeugen einer Pseudozufallssequenz mit maximaler Länge für 12 Stufen, wobei die maximale Länge 4095 beträgt, wobei das Schieberegister aufweist: ein 12-stufiges Register; ein erstes Logikgatter, das einen ersten Eingang enthält, der mit einem ersten, nicht in einem Ende befindlichen Abgriff A des 12-stufigen Registers verbunden ist, und einen zweiten Eingang, der mit einem zweiten, nicht am Ende befindlichen Abgriff B des 12-stufigen Registers verbunden ist; und ein zweites Logikgatter, das Eingänge enthält, die mit einem Ausgang des ersten Logikgatters und mit einem am Ende befindlichen Abgriff des 12-stufigen Registers verbunden sind, wobei ein Ausgang des zweiten Logikgatters als Rückkopplung auf eine erste Stufe des 12-stufigen Registers verwendet wird, wobei sich der erste und der zweite, nicht am Ende befindliche Abgriff an Positionen befinden, die ausgewählt sind aus der Gruppe, bestehend aus: A = 7, B = 4 ; und A = 8, B = 5.
    Figure DE112020003328T5_0059
  18. NLFSR nach Anspruch 17, wobei es sich bei dem ersten Logikgatter um ein NAND-Gatter und bei dem zweiten Logikgatter um ein XOR-Gatter handelt.
  19. NLFSR nach Anspruch 17, wobei es sich bei dem ersten Logikgatter um ein AND-Gatter und bei dem zweiten Logikgatter um ein XNOR-Gatter handelt.
  20. System zum Bereitstellen eines nichtlinear rückgekoppelten Schieberegisters (NLFSR) mit Sequenzen mit maximaler oder nahezu maximaler Länge, um eine Pseudozufallssequenz für eine Anzahl von n Stufen zu erzeugen, wobei eine maximale Länge 2n - 1 beträgt, wobei das System aufweist: einen Prozessor; und ein durch einen Computer lesbares Speichermedium, das zu Datenübertragungszwecken mit dem Prozessor verbunden ist und auf dem Programmanweisungen gespeichert sind, die bei Ausführung durch den Prozessor den Prozessor veranlassen, ein Verfahren durchzuführen, das aufweist: Auswählen von n, wobei n mehr als zwei Abgriffe in linear rückgekoppelten Schieberegistern mit maximaler Länge erfordert; und Erzeugen, für das ausgewählte n-stufige Register, einer Pseudozufallssequenz unter Verwendung einer logischen Rückkopplungsoperation mit nur einem ersten Logikgatter und einem zweiten Logikgatter, wobei es sich bei zwei geeigneten, nicht am Ende befindlichen Abgriffen um Eingänge für das erste Logikgatter handelt, wobei es sich bei einem Ausgang des ersten Logikgatters und einem Abgriff an einem Ende um Eingänge für das zweite Logikgatter handelt, und wobei ein Ausgang des zweiten Logikgatters als Rückkopplung auf eine erste Stufe des n-stufigen Registers verwendet wird.
  21. System nach Anspruch 20, wobei das erste Logikgatter aus einer Gruppe ausgewählt ist, die aus einem OR- und einem NAND-Gatter besteht, wobei es sich bei dem zweiten Logikgatter um ein XOR-Gatter handelt.
  22. System nach Anspruch 20, wobei es sich bei dem ersten Logikgatter um ein AND-Gatter und bei dem zweiten Logikgatter um ein XNOR-Gatter handelt.
  23. System nach Anspruch 20, wobei: für einige n eine Sequenz mit maximaler Länge mit zwei geeigneten, nicht am Ende befindlichen Abgriffen bezogen wird, und für einige andere n eine Sequenz mit nahezu maximaler Länge mit zwei geeigneten, nicht am Ende befindlichen Abgriffen bezogen wird.
  24. System nach Anspruch 20, wobei das durch den Prozessor durchgeführte Verfahren ferner aufweist: Beziehen eines oder mehrerer geeigneter Paare von nicht am Ende befindlichen Abgriffen, indem auf der Grundlage der Stufenanzahl n Paarkombinationen erkannt werden, die Sequenzen des n-stufigen Registers mit mindestens nahezu maximaler Länge bereitstellen.
  25. System nach Anspruch 24, wobei das Beziehen des einen oder der mehreren geeigneten Paare von nicht am Ende befindlichen Abgriffen umfasst: Ermitteln eines ersten geeigneten Paares von nicht am Ende befindlichen Abgriffen, das einen ersten, nicht am Ende befindlichen Abgriff A und einen zweiten, nicht am Ende befindlichen Abgriff B umfasst; und Beziehen eines zweiten geeigneten Paares von nicht am Ende befindlichen Abgriffen als Spiegel des ersten geeigneten Paares von nicht am Ende befindlichen Abgriffen in dem n-stufigen Register, wobei eine Abgriffsequenz [n, A, B] auf [n, n - B, n - A] gespiegelt wird.
DE112020003328.7T 2019-08-28 2020-08-13 Nichtlinear rückgekoppeltes schieberegister Pending DE112020003328T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/553,460 US11048476B2 (en) 2019-08-28 2019-08-28 Non-linear feedback shift register
US16/553,460 2019-08-28
PCT/IB2020/057618 WO2021038356A1 (en) 2019-08-28 2020-08-13 Non-linear feedback shift register

Publications (1)

Publication Number Publication Date
DE112020003328T5 true DE112020003328T5 (de) 2022-04-21

Family

ID=74681224

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020003328.7T Pending DE112020003328T5 (de) 2019-08-28 2020-08-13 Nichtlinear rückgekoppeltes schieberegister

Country Status (6)

Country Link
US (2) US11048476B2 (de)
JP (1) JP2022546033A (de)
CN (1) CN114270774B (de)
DE (1) DE112020003328T5 (de)
GB (1) GB2601941B (de)
WO (1) WO2021038356A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11048476B2 (en) 2019-08-28 2021-06-29 International Business Machines Corporation Non-linear feedback shift register
CN116166222B (zh) * 2023-04-24 2023-07-11 上海米硅科技有限公司 一种伪随机二进制序列发生装置及校验装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3911330A (en) 1974-08-27 1975-10-07 Nasa Nonlinear nonsingular feedback shift registers
US6049608A (en) * 1996-12-31 2000-04-11 University Technology Corporation Variable length nonlinear feedback shift registers with dynamically allocated taps
US6353842B1 (en) 1999-11-23 2002-03-05 Janusz Rajski Method for synthesizing linear finite state machines
US7206797B2 (en) 2003-04-14 2007-04-17 M-Systems Flash Disk Pioneers Ltd. Random number slip and swap generators
DE102004013480B4 (de) * 2004-03-18 2013-01-24 Infineon Technologies Ag Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
IL188089A (en) * 2007-12-12 2013-02-28 Nds Ltd Bit generator
DE102009000322A1 (de) 2009-01-20 2010-07-22 Robert Bosch Gmbh Nichtlinear rückgekoppeltes Schieberegister sowie Verfahren zur nichtlinearen Signaturbildung
US20130191427A1 (en) 2010-03-22 2013-07-25 Astrium Limited Pseudo-noise generator
CN102176693A (zh) 2011-03-04 2011-09-07 南京航空航天大学 非线性循环移位寄存器
US8949299B2 (en) 2011-08-01 2015-02-03 Syntest Technologies, Inc. Method and apparatus for hybrid ring generator design
US8983068B2 (en) 2013-03-06 2015-03-17 Infineon Technologies Ag Masked nonlinear feedback shift register
CN104238995B (zh) 2013-06-21 2017-03-15 中国人民解放军信息工程大学 一种非线性反馈移位寄存器
EP3235162B1 (de) 2014-12-17 2021-02-17 Telefonaktiebolaget LM Ericsson (publ) Stromverschlüsselungstechnik
US10084593B2 (en) * 2015-01-20 2018-09-25 Ternarylogic Llc Apparatus for unconventional non-linear feedback shift registers (NLFSRs)
CN106254062B (zh) * 2016-10-12 2019-03-26 中国人民解放军信息工程大学 序列密码实现装置及其序列密码实现方法
CN107276537A (zh) * 2017-06-06 2017-10-20 电子科技大学 一种具有降低峰值噪声功能的扩频操作电路
US10977003B2 (en) 2019-08-28 2021-04-13 International Business Machines Corporation Linear feedback shift register with near-maximal length sequences
US11048476B2 (en) 2019-08-28 2021-06-29 International Business Machines Corporation Non-linear feedback shift register

Also Published As

Publication number Publication date
US20210064343A1 (en) 2021-03-04
WO2021038356A1 (en) 2021-03-04
GB2601941B (en) 2023-04-26
CN114270774B (zh) 2023-11-21
US20210263708A1 (en) 2021-08-26
CN114270774A (zh) 2022-04-01
GB2601941A (en) 2022-06-15
US11048476B2 (en) 2021-06-29
US11561768B2 (en) 2023-01-24
GB202202639D0 (en) 2022-04-13
JP2022546033A (ja) 2022-11-02

Similar Documents

Publication Publication Date Title
EP3028140B1 (de) Konstruieren einer schaltung geeignet zur erzeugung von zufallsbits und schaltung zur erzeugung von zufallsbits
Shanmugam et al. Learning causal graphs with small interventions
DE102004047425B4 (de) Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen
DE112017002971T5 (de) Effiziente Reduzierung von Ressourcen für die Simulation fermionischer Hamilton-Operatoren aufQuantenhardware
DE112011106024B4 (de) Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen
DE112020003328T5 (de) Nichtlinear rückgekoppeltes schieberegister
DE112012004873T5 (de) Hohe Bandbreitendekomprimierung von mit variabler Länge verschlüsselten Datenströmen
DE112020002961T5 (de) Übersetzen einer abfrage in natürlicher sprache in eine formale datenabfrage
DE112012005557T5 (de) Erzeugen eines Code-Alphabets von Symbolen zum Erzeugen von Codewörtern für Wörter, die mit einem Programm verwendet werden
DE2946846A1 (de) Rundungs-korrekturlogik fuer multiplizierer fuer modifizierten booth-algorithmus
Bleak et al. The infinite simple group $ V $ of Richard J. Thompson: presentations by permutations
DE102013213473A1 (de) Schaltungsanordnung und Betriebsverfahren hierfür
DE69838441T2 (de) Verfahren und Anordnung zur Verifizierung logischer Geräte
DE102016205020A1 (de) SIMD-Realisierung von Schablonencodes
McCullough A polynomial bound on the regularity of an ideal in terms of half of the syzygies
DE102009027086A1 (de) Vorrichtung und Verfahren zur Bildung einer Signatur
Bang‐Jensen et al. Arc‐Disjoint Paths in Decomposable Digraphs
Etingof et al. On cotriangular Hopf algebras
Tomohiro et al. Detecting regularities on grammar-compressed strings
Eiben et al. A polynomial kernel for paw-free editing
De la Salle Spectral gap and stability for groups and non-local games
Popa Asymptotic orthogonalization of subalgebras in II $ _1 $ factors
DE102013208836A1 (de) Verfahren und Vorrichtung zur Erzeugung eines Hash-Werts
Galetto et al. Degrees of regular sequences with a symmetric group action
EP1430614B1 (de) Verfahren und vorrichtung zur bestimmung von initialisierungszuständen bei pseudo-noise-folgen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication