DE60032321T2 - System zur Erzeugung einer Bitfolge - Google Patents

System zur Erzeugung einer Bitfolge Download PDF

Info

Publication number
DE60032321T2
DE60032321T2 DE60032321T DE60032321T DE60032321T2 DE 60032321 T2 DE60032321 T2 DE 60032321T2 DE 60032321 T DE60032321 T DE 60032321T DE 60032321 T DE60032321 T DE 60032321T DE 60032321 T2 DE60032321 T2 DE 60032321T2
Authority
DE
Germany
Prior art keywords
lfsr
time
period
bits
generator according
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.)
Expired - Lifetime
Application number
DE60032321T
Other languages
English (en)
Other versions
DE60032321D1 (de
Inventor
NDS Technologies Israel Ltd. Yaron Sella
NDS Technologies Israel Ltd. Aviad Kipnis
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.)
Synamedia Ltd
Original Assignee
NDS Ltd
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 NDS Ltd filed Critical NDS Ltd
Application granted granted Critical
Publication of DE60032321D1 publication Critical patent/DE60032321D1/de
Publication of DE60032321T2 publication Critical patent/DE60032321T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators

Description

  • Die vorliegende Erfindung betrifft allgemein Bitstromerzeuger, die lineare rückgekoppelte Schieberegister verwenden.
  • HINTERGRUND DER ERFINDUNG
  • Bitstromerzeuger werden normalerweise verwendet, um Bitstromcodes zu erzeugen. Eine spezifische Familie der Bitstromerzeuger ist eine Familie von Bitstromerzeugern, die lineare rückgekoppelte Schieberegister (LFSR) zum Erzeugen von Stromcodes verwenden. Diese Familie von Bitstromerzeugern ist der Fachwelt bekannt und wird zum Beispiel in den folgenden Veröffentlichungen beschrieben:
    "Applied Cryptography, Protocols Algorithms and Source Code in C", 2. Ausgabe, von Bruce Schneier, John Wiley & Sons Inc., 1996, Seiten 381–388; und
    "Handbook of Applied Cryptography", von Alfred J. Menezes, Paul C. van Oorschot und Scott A. Vanstone, CRC Press LLC, 1997, Seiten 202–211.
  • EP-A-0615361 offenbart ein Verschlüsselungssystem auf der Grundlage eines linearen rückgekoppelten Schieberegisters (LSFR) mit mehreren Stufen als Arbeitsregister, das Eingaben an eine oder mehrere mathematisch unabhängige nichtlineare Ausgabefunktionen übergibt, was zur Erzeugung von mehreren Schlüsselstrom-Ausgaben in jedem Taktzyklus führt. Das System weist ferner folgendes auf Mittel zum Laden des Arbeitsregisters mit einer binären Folge zur Initialisierung, ein Schlüsselregister zur selektiven Rückkopplung des Ausgangszustandes der Ausgangsstufe des Arbeitsregisters in ausgewählte Eingänge der Zwischenstufen, nichtlineare Ausgangsfunktionsmittel zur Anwendung einer anderen nichtlinearen Funktion auf die Ausgangszustände von ausgewählten Stufen des Arbeitsregisters, Mittel zum Takten des Arbeitsregisters und Mittel zum logischen Verarbeiten der jeweiligen Eingangsdatenbits und der Ausgaben der Ausgangsfunktionsmittel, um verschlüsselte Daten zu erzeugen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung will einen verbesserten Bitstromerzeuger bereitstellen, der eine bessere Sicherheit des durch ihn erzeugten Bitstroms bietet.
  • In einer bevorzugten Ausführungsform der vorliegenden Erfindung weist ein Bitstromerzeuger eine Vielzahl von linearen rückgekoppelten Schieberegistern (LFSR) auf, wobei jedem von ihnen während unterschiedlicher Zeitabschnitte unterschiedliche Zuweisungen erteilt werden. Die Ausgabe des Bitstromerzeugers wird normalerweise verwendet, um mindestens eines von folgendem zu erzeugen: einen Bitstromcode; eine Hash-Funktion; und eine binäre Pseudozufallsfolge (PRBS). Der Bitstromcode, die Hash-Funktion und die PRBS können jeweils für verschiedene Anwendungsprinzipien verwendet werden, wie etwa Authentifizierungsprinzipien, Signaturprinzipien, Validierungsprinzipien und Überprüfungsprinzipien, und auch für verschiedene Anwendungen, wie etwa Integritätsprüfungsanwendungen und Verschlüsselungsanwendungen.
  • Die Vielzahl von LFSR kann in einem "Wettlauf"-Modus arbeiten, indem mindestens einigen aus der Vielzahl von LFSR während unterschiedlicher "Wettlauf"-Zeitabschnitte unterschiedliche Zuweisungen erteilt werden. Während eines ersten Zeitabschnitts wird mindestens ein erstes aus der Vielzahl von LFSR als Erzeuger zugewiesen, und mindestens ein zweites aus der Vielzahl von LFSR wird als Assignor zugewiesen.
  • Vorzugsweise erzeugen alle Erzeuger LFSR-Ausgangsbits, die vorzugsweise eine Auswahloperation und eine Kombinationsoperation in einem ersten Kombinierer durchlaufen. Der erste Kombinierer wird durch eine Steuerlogikeinheit gesteuert und ist vorzugsweise letztendlich funktionsfähig, in jedem Taktzyklus ein einzelnes Ausgangsbit zu erzeugen. Eine Ansammlung solcher einzelnen Ausgangsbits, die während vieler Zeitabschnitte erzeugt werden, bildet einen Strom von Bits, der wie oben beschrieben verwendet werden kann.
  • Vorzugsweise geben alle Assignors LFSR-Ausgangsbits aus, die vorzugsweise eine Auswahloperation, eine Kombinationsoperation und eine Verwürfelungsoperation in einem zweiten Kombinierer durchlaufen. Der zweite Kombinierer ist letztlich vorzugsweise funktionsfähig, eine Folge von Entscheidungsbits während des ersten Zeitabschnitts zu erzeugen. Die Folge von Entscheidungsbits wird vorzugsweise als Eintrag in eine Richtlinientabelle verwendet, die vorzugsweise Zuweisungen jedes der mindestens einigen aus der Vielzahl von LFSR entweder als Erzeuger oder Assignor für einen zweiten Zeitabschnitt bestimmt, der auf den ersten Zeitabschnitt folgt. Die durch die Richtlinientabelle bestimmten Zuweisungen werden durch die Steuerlogikeinheit durch Steuerung der Arbeitsweise der Vielzahl von LFSR und des zweiten Kombinierers bewirkt.
  • Es wird anerkannt, daß eine Zuweisung als Assignor auch eine Zuweisung als kombinierter Assignor und Zeitversatzerzeuger einschließen kann. Der Zeitversatzerzeuger ist vorzugsweise funktionsfähig, einen Zeitversatz von N Verschiebungen für ein spezifisches LFSR während eines spezifischen Zeitabschnitts festzulegen, wobei N eine ganze Zahl N ist. Somit führt das spezifische LFSR während des spezifischen Zeitabschnitts weniger Bitverschiebungen durch als ein LFSR, für das kein Zeitversatz festgelegt wird.
  • In einer bevorzugten Ausführungsform der vorliegenden Erfindung kann mindestens einem dritten aus der Vielzahl von LFSR während des ersten Zeitabschnitts eine Zuweisung als Zeitabschnitt-Assignor erteilt werden. Alle Zeitabschnitt-Assignors erzeugen LFSR-Ausgangsbits, die eine Auswahloperation, eine Kombinationsoperation und eine Verwürfelungsoperation in einem dritten Kombinierer durchlaufen, um letztlich während des ersten Zeitabschnitts eine Folge von Zeit-Entscheidungsbits zu erzeugen. Die Folge von Zeit-Entscheidungsbits wird vorzugsweise als Eingabe in eine andere Richtlinientabelle verwendet, die den zweiten Zeitabschnitt bestimmt, das heißt einen Anfangszeitpunkt des zweiten Zeitabschnitts und eine Dauer des zweiten Zeitabschnitts. Der Anfangszeitpunkt des zweiten Zeitabschnitts und die Dauer des zweiten Zeitabschnitts wird vorzugsweise durch die Steuerlogikeinheit durch Steuerung der Arbeitsweise der Vielzahl von LFSR und des dritten Kombinierers beeinflußt.
  • Es wird somit in Übereinstimmung mit einer bevorzugten Ausführungsform der vorliegenden Erfindung ein Bitstromerzeuger mit einer Vielzahl von linear rückgekoppelten Schieberegistern (LFSR) bereitgestellt, der funktionsfähig ist, einen Bitstrom zu erzeugen, und folgendes umfaßt: mindestens ein erstes LFSR, das, wenn es während eines ersten Zeitabschnitts, des mindestens einen Taktzyklus umfaßt, als Assignor zugewiesen ist, funktionsfähig ist, in jedem Taktzyklus innerhalb des ersten Zeitabschnitts ein Ausgangsbit bereitzustellen; und mindestens ein zweites LFSR, das, wenn es während des ersten Zeitabschnitts als Assignor zugewiesen ist, funktionsfähig ist, in jedem Taktzyklus ein Ausgangsbit zur Bestimmung der Zuweisungen mindestens einiger aus der Vielzahl von LFSR für einen zweiten Zeitabschnitt, der dem ersten Zeitabschnitt folgt, bereitzustellen, wobei diese Zuweisungen einschließen: Zuweisung als Erzeuger und Zuweisung als Assignor; und einen ersten Kombinierer, der funktionsfähig ist, Ausgangsbits von allen des mindestens einen ersten LFSR, die als Erzeuger zugewiesen sind, zu kombinieren, um dadurch während jedes Taktzyklus ein einzelnes Ausgangsbit zu erzeugen, das an den Bitstrom übergeben wird.
  • Vorzugsweise weist der erste Kombinierer folgendes auf: mindestens eine kombinatorische Auswahllogikvorrichtung, die funktionsfähig ist, die Ausgangsbits von allen des mindestens einen ersten LFSR, die als Erzeuger zugewiesen sind, zu kombinieren, um eine Menge von Zwischenbits zu erzeugen; eine Erzeuger-Verweistabelle (LUT), die der mindestens einen kombinatorischen Auswahllogikvorrichtung funktionsfähig zugeordnet ist und funktionsfähig ist, die Menge von Zwischenbits zu kombinieren, um ein einzelnes Ausgangsbit zu erzeugen; und einen Ausgangs-Zwischenspeicher, der der Erzeuger-LUT funktionsfähig zugeordnet ist und funktionsfähig ist, das einzelne Ausgangsbit auszugeben. Die kombinatorische Auswahllogikvorrichtung kann vorzugsweise einen Multiplexierer (MUX) aufweisen.
  • Außerdem kann der Bitstromerzeuger einen zweiten Kombinierer aufweisen, der funktionsfähig ist, Ausgangsbits von allen des mindestens einen zweiten LFSR, die als Assignors zugewiesen sind, zu kombinieren, um eine Folge von Entscheidungsbits zu erzeugen, die als Eintrag an eine Richtlinientabelle übergeben werden, um die Zuweisungen jeder der mindestens einigen aus der Vielzahl von LFSR für den zweiten Zeitabschnitt zu bestimmen. Vorzugsweise weist der zweite Kombinierer folgendes auf mindestens eine kombinatorische Auswahllogikvorrichtung, die funktionsfähig ist, die Ausgangsbits von allen des mindestens einen zweiten LFSR, die als Assignors zugewiesen sind, zu kombinieren, um in jedem Taktzyklus eine Menge von Bits zu erzeugen; eine Assignor-LUT, die der bzw. dem mindestens einen kombinatorischen Auswahllogikvorrichtung bzw. Logikbaustein funktionsfähig zugeordnet ist und funktionsfähig ist, die Menge von Bits zu kombinieren, um in jedem Taktzyklus ein einzelnes Zwischenbit zu erzeugen; und einen Verwürfelungs-Zwischenspeicher, der der Assignor-LUT funktionsfähig zugeordnet ist und funktionsfähig ist, Verwürfelungsoperationen mit allen während des ersten Zeitabschnitts erzeugten Zwischenbits vorzunehmen und eine Folge von Ausgangsbits an die Richtlinientabelle auszugeben.
  • Vorzugsweise schließt die Zuweisung als Assignor auch eine Zuweisung als kombinierter Assignor und Zeitversatzerzeuger ein. Der Zeitversatzerzeuger ist vorzugsweise funktionsfähig, während des ersten Zeitabschnitts einen Zeitversatz mit einer ganzzahligen Länge N von Verschiebungen für ein LFSR für den zweiten Zeitabschnitt zu bestimmen.
  • Außerdem weist Bitstromerzeuger auch mindestens ein drittes LFSR auf, das, wenn es während des ersten Zeitabschnitts als Zeitabschnitt-Assignor zugewiesen ist, funktionsfähig ist, ein Ausgangsbit zur Bestimmung eines Anfangszeitpunkts und einer Länge des zweiten Zeitabschnitts bereitzustellen.
  • Außerdem weist der Bitstromerzeuger ferner folgendes auf einen dritten Kombinierer, der funktionsfähig ist, Ausgangsbits von allen des mindestens einen dritten LFSR, die als Zeitabschnitt-Assignors zugewiesen sind, zu kombinieren, um eine Folge von Zeit-Entscheidungsbits zu erzeugen; und eine Richtlinientabelle, die dem dritten Kombinierer funktionsfähig zugeordnet ist und funktionsfähig ist, die Folge von Zeit-Entscheidungsbits als Eingabe zur Bestimmung des Anfangszeitpunkts und der Länge des zweiten Zeitabschnitts entgegenzunehmen. Der Bitstromerzeuger kann auch eine Steuerungslogikeinheit aufweisen, die funktionsfähig ist, den Betrieb von mindestens einem von folgendem zu steuern: der erste Kombinierer; der zweite Kombinierer; der dritte Kombinierer; und die Vielzahl von LFSR.
  • Vorzugsweise weist der Bitstrom eine binäre Pseudozufallsfolge auf. Alternativ weist das durch den ersten Kombinierer ausgegebene einzelne Ausgangsbit ein Ergebnis einer Hash-Funktion auf.
  • Die Vielzahl von LFSR kann vorzugsweise LFSR mit unterschiedlichen Längen aufweisen. Die unterschiedlichen Längen sind vorzugsweise auf einen ausgewählten Bereich von Längen beschränkt.
  • Vorzugsweise betragen der erste Zeitabschnitt und der zweite Zeitabschnitt jeweils nur einen Taktzyklus. Alternativ können der erste Zeitabschnitt und der zweite Zeitabschnitt jeweils länger sein als ein Taktzyklus.
  • Der zweite Zeitabschnitt kann dem zweiten Zeitabschnitt nach einer zeitlichen Verzögerung folgen. Die zeitliche Verzögerung kann mindestens einen Taktzyklus aufweisen. Alternativ kann die zeitliche Verzögerung einen Zeitabschnitt mit einer Länge von einem von folgendem aufweisen: der erste Zeitabschnitt; und der zweite Zeitabschnitt.
  • Es wird auch gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ein Verfahren zur Erzeugung eines Bitstroms bereitgestellt, wobei das Verfahren die folgenden Schritte aufweist: Bereitstellen einer Vielzahl von linear rückgekoppelten Schieberegistern (LFSR); Zuweisen mindestens eines ersten LFSR aus der Vielzahl von LFSR während eines ersten Zeitabschnitts als Erzeuger, der funktionsfähig ist, in jedem Taktzyklus innerhalb des ersten Zeitabschnitts ein Ausgangsbit bereitzustellen; und Zuweisen mindestens eines zweiten LFSR aus der Vielzahl von LFSR während des ersten Zeitabschnitts als Assignor, der funktionsfähig ist, in jedem Taktzyklus ein Ausgangsbit zur Bestimmung der Zuweisungen mindestens einiger aus der Vielzahl von LFSR für einen zweiten Zeitabschnitt, der dem ersten Zeitabschnitt folgt, bereitzustellen, wobei diese Zuweisungen einschließen: Zuweisung als Erzeuger und Zuweisung als Assignor; und Kombinieren von Ausgangsbits von allen des mindestens einen ersten LFSR aus der Vielzahl von LFSR, die als Erzeuger zugewiesen sind, um während jedes Taktzyklus ein einzelnes Ausgangsbit zu erzeugen, das an den Bitstrom übergeben wird.
  • Vorzugsweise weist der Kombinierschritt die folgenden Schritte auf Kombinieren der Ausgangsbits von allen des mindestens einen ersten LFSR aus der Vielzahl von LFSR, die als Erzeuger zugewiesen sind, um in jedem Taktzyklus eine Menge von Zwischenbits zu erzeugen, Verwenden einer Erzeuger-Verweistabelle (LUT), um die Menge der Zwischenbits zu kombinieren, um ein einzelnes Ausgangsbit zu bilden, und Ausgeben des einzelnen Ausgangsbits.
  • Außerdem weist das Verfahren den Schritt auf Kombinieren der Ausgangsbits von allen des mindestens einen zweiten LFSR der Vielzahl von LFSR, die als Assignors zugewiesen sind, um eine Folge von Entscheidungsbits zu erzeugen, die als Eintrag an eine Richtlinientabelle übergeben werden, um Zuweisungen jedes der mindestens einigen aus der Vielzahl von LFSR für den zweiten Zeitabschnitt zu bestimmen.
  • Der Kombinierschritt kann vorzugsweise die folgenden Schritte aufweisen: Kombinieren der Ausgangsbits von allen des mindestens einen zweiten LFSR der Vielzahl von LFSR, die als Assignors zugewiesen sind, um in jedem Taktzyklus eine Menge von Bits zu erzeugen, Verwenden einer Assignor-LUT, um die Menge von Bits zu kombinieren, um in jedem Taktzyklus ein einzelnes Zwischenbit zu bilden, Verwürfeln aller während des ersten Zeitabschnitts erzeugten einzelnen Zwischenbits, um eine Folge von Entscheidungsbits zu erzeugen, und Ausgeben der Folge von Entscheidungsbits an die Richtlinientabelle.
  • Vorzugsweise schließt die Zuweisung als Assignor auch eine Zuweisung als kombinierter Assignor und Zeitversatzerzeuger ein. Der Zeitversatzerzeuger ist vorzugsweise funktionsfähig, während des ersten Zeitabschnitts einen Zeitversatz mit einer ganzzahligen Länge N von Verschiebungen für ein LFSR für den zweiten Zeitabschnitt zu bestimmen.
  • Außerdem weist das Verfahren den Schritt auf Zuweisen mindestens eines dritten LFSR aus der Vielzahl von LFSR während des ersten Zeitabschnitts als Zeitabschnitt-Assignor, der funktionsfähig ist, ein Ausgangsbit zur Bestimmung eines Anfangszeitpunkts und einer Länge des zweiten Zeitabschnitts zu übergeben. Ferner weist das Verfahren außerdem auch den Schritt auf: Kombinieren der Ausgangsbits von allen des mindestens einen dritten LFSR aus der Vielzahl von LFSR, die als Zeitabschnitt-Assignors zugewiesen sind, um eine Folge von Zeit-Entscheidungsbits zu erzeugen, die als Eintrag an eine Richtlinientabelle übergeben werden, um den Anfangszeitpunkt und die Länge des zweiten Zeitabschnitts zu bestimmen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird anhand der folgenden ausführlichen Beschreibung in Verbindung mit den Zeichnungen besser verstanden und anerkannt, wobei diese folgendes zeigen:
  • 1 ist eine vereinfachte Darstellung eines Blockschaltbildes eines Bitstromerzeugers, der gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung aufgebaut und funktionsfähig ist; und
  • 2 ist eine vereinfachte Darstellung eines Ablaufplans eines bevorzugten Arbeitsverfahrens der Vorrichtung aus 1.
  • AUSFÜHRLICHE BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Nunmehr wird Bezug auf 1 genommen, die eine vereinfachte Darstellung eines Blockschaltbildes einer bevorzugten Implementierung eines Bitstromerzeugers 10 ist, wobei der Bitstromerzeuger 10 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung aufgebaut und funktionsfähig ist. Die Ausgabe des Bitstromerzeugers 10 wird vorzugsweise verwendet, um mindestens eines der folgenden zu erzeugen: einen Bitstromcode; eine Hash-Funktion und eine binäre Pseudozufallsfolge (PRBS).
  • Der Bitstromerzeuger 10 weist vorzugsweise eine Vielzahl von linearen rückgekoppelten Schieberegistern (LFSR) 20 auf. Wie dem Fachmann bekannt ist, ist das LFSR ein Register, das eine Vielzahl von Zellen aufweist, wie zum Beispiel zwischen 64 und 1024 Zellen. Jede Zelle ist vorzugsweise funktionsfähig, einen einzelnen Basiswert zu speichert, wie etwa ein Bit, und das Bit als Antwort auf ein Taktsignal an eine angrenzende Zelle zu überragen. Das Bit wird somit von einer Zelle zu einer anderen verschoben, bis es ausgegeben oder durch einen Rückkopplungsmechanismus, bei dem Bits über eine oder eine Vielzahl von Zellen entsprechend ausgewählten logischen Kriterien rückgekoppelt werden, rückgekoppelt wird. Eine Verschiebung eines Bits von einer Zelle zu einer anderen wird im hierin nachfolgend als ein "Schritt" des LFSR bezeichnet.
  • Die Vielzahl von LFSR 20 wird vorzugsweise durch eine Steuerlogikeinheit 30 gesteuert, die funktionsfähig ist, für die Taktsteuerung zur Verschiebung der LFSR 20 zu sorgen, um LFSR-Ausgangsbits zu erzeugen. Die Steuerlogikeinheit 30 ist vorzugsweise auch funktionsfähig, innerhalb eines aktuellen Zeitabschnitts zu bestimmen, welches aus der Vielzahl von LFSR 20 LFSR-Ausgangsbits während des aktuellen Zeitabschnitts beitragen wird. Ferner ist die Steuerlogikeinheit 30 vorzugsweise auch funktionsfähig, innerhalb des aktuellen Zeitabschnitts zu bestimmen, welches aus der Vielzahl von LFSR 20 im folgenden Zeitabschnitt zeitversetzt wird. Das Konzept des Zeitversatzes eines LFSR 20 bezeichnet in der gesamten vorliegenden Beschreibung und Ansprüchen die Arbeitsweise eines LFSR, das weniger Bitverschiebungen durchführt als ein LFSR, für das kein Zeitversatz bestimmt wird. Normalerweise wird ein Zeitversatz eines LFSR durch eine ganzzahlige Anzahl von Verschiebungen bestimmt.
  • Vorzugsweise können jedem aus der Vielzahl von LFSR 20 während unterschiedlicher Zeitabschnitte unterschiedliche Zuweisungen erteilt werden. Zum Beispiel kann während eines ersten Zeitabschnitts mindestens ein erstes aus der Vielzahl von LFSR 20 als Erzeuger zugewiesen werden, und mindestens ein zweites aus der Vielzahl von LFSR 20 kann als Assignor zugewiesen werden, wobei eine Zuweisung als Assignor eine Zuweisung als kombinierter Assignor und Zeitversatz-Erzeuger einschließen kann. Der Begriff "Zeitversatz-Erzeuger" bezeichnet einen Erzeuger des Zeitversatzes, wie oben definiert. Es wird anerkannt, daß der erste Zeitabschnitt eine Länge eines Taktzyklus haben kann oder eine Länge, die größer als die Länge eines Taktzyklus ist.
  • Alle Erzeuger erzeugen vorzugsweise LFSR-Ausgangsbits, die eine Auswahloperation und eine Kombinationsoperation in einem ersten Kombinierer 40 durchlaufen. Der erste Kombinierer 40 wird vorzugsweise durch die Steuerlogikeinheit 30 gesteuert und ist funktionsfähig, in jedem Taktzyklus letztlich ein einzelnes Ausgangsbit zu erzeugen. Eine Ansammlung solcher einzelnen Ausgangsbits, die während des ersten Zeitabschnitts und einer Vielzahl von Zeitabschnitten, die dem ersten Zeitabschnitt folgen, erzeugt werden, bildet einen Bitstrom, der wie oben beschrieben verwendet werden kann.
  • Vorzugsweise weist der erste Kombinierer 40 mindestens eine und vorzugsweise eine Vielzahl von kombinatorischen Auswahllogikvorrichtungen auf, wie etwa Multiplexer (MUX) 50 und einen Ausgangs-Zwischenspeicher 60. Jeder MUX 50 wird vorzugsweise durch ein Ansteuerungssignal gesteuert, das durch die Steuerlogikeinheit 30 übergeben wird, und ist funktionsfähig, ein Zwischenbit auszugeben. Die Menge der durch die MUX 50 ausgegebenen Zwischenbits wird vorzugsweise in eine Verweistabelle (LUT) 65 des Erzeugers eingegeben, die aber auch im ersten Kombinierer 40 enthalten sein kann.
  • Die LUT 65 des Erzeugers kombiniert die Menge von Zwischenbits zu einem einzelnen Ausgangsbit, das über den Ausgangs-Zwischenspeicher 60 ausgegeben wird. Es wird anerkannt, daß das einzelne Ausgangsbit ein durch den Kombinierer 40 bereitgestellter Beitrag zum Bitstrom am Ende jedes Taktzyklus ist. Wie oben erwähnt, kann die Ansammlung solcher einzelnen Bits, die während einer Vielzahl von Zeitabschnitten erzeugt werden, einen Bitstrom bilden, der wie oben beschrieben verwendet werden kann. Es wird anerkannt, daß der Bitstrom auch für verschiedene Anwendungsprinzipien verwendet werden kann, wie etwa Authentifizierungsprinzipien, Signaturprinzipien, Validierungsprinzipien und Überprüfungsprinzipien, und auch für verschiedene Anwendungen, wie etwa Integritätsprüfungsanwendungen und Verschlüsselungsanwendungen.
  • Es wird anerkannt, daß die Anzahl der MUX 50 normalerweise identisch mit der Anzahl der Einträge in die LUT 65 des Erzeugers ist. Die Anzahl der Eingangsports jedes MUX 50 kann gleich oder kleiner als die Gesamtzahl der Vielzahl von LFSR 20 sein.
  • Vorzugsweise erzeugen alle Assignors LFSR-Ausgangsbits, die eine Auswahloperation, eine Kombinationsoperation und eine Verwürfelungsoperation in einem zweiten Kombinierer 70 durchlaufen. Der zweite Kombinierer 70 ist letztlich vorzugsweise funktionsfähig, während des ersten Zeitabschnitts eine Folge von Entscheidungsbits zu erzeugen. Die Folge von Entscheidungsbits wird vorzugsweise als Eintrag in eine Richtlinientabelle 75 verwendet, die Zuweisungen jedes der mindestens einigen aus der Vielzahl von LFSR 20 entweder als Erzeuger oder als Assignor für einen zweiten Zeitabschnitt, der dem ersten Zeitabschnitt folgt, bestimmt. Die durch die Richtlinientabelle 75 bestimmten Zuweisungen werden vorzugsweise durch die Steuerlogikeinheit 30 durch Steuerung der Arbeitsweise der Vielzahl von LFSR 20 und des zweiten Kombinierers 70 bewirkt.
  • Der zweite Kombinierer 70 kann vorzugsweise mindestens eine, und vorzugsweise eine Vielzahl von kombinatorischen Auswahllogikvorrichtungen, wie etwa herkömmliche MUX 80, und einen herkömmlichen Verwürfler, wie etwa einen Verwürfelungs-Zwischenspeicher 90, aufweisen. Jeder MUX 80 wird vorzugsweise durch ein Ansteuerungssignal gesteuert, das durch die Steuerlogikeinheit 30 übergeben wird, und ist funktionsfähig, ein Bit auszugeben. Die Menge der durch die MUX 80 ausgegebenen Bits wird in eine LUT des Assignors 95 eingegeben, die aber auch im zweiten Kombinierer 70 enthalten sein kann.
  • Die LUT des Assignors 95 kombiniert vorzugsweise die Menge von Bits zu einem einzelnen Zwischenbit, das am Ende jedes Taktzyklus an den Verwürfelungs-Zwischenspeicher 90 übergeben wird. Der Verwürfelungs-Zwischenspeicher 90 führt Verwürfelungsoperationen, wie etwa lineare Verwürfelungsoperationen, wie sie dem Fachmann bekannt sind, mit allen während des ersten Zeitabschnitts erzeugten Zwischenbits durch und gibt die Folge von Entscheidungsbits aus, die an die Richtlinientabelle 75 übergeben werden. Die Richtlinientabelle 75 verwendet die Folge von Entscheidungsbits als Eingaben und gibt Steuerbits an die Steuerlogikeinheit 30 aus. Die Steuerlogikeinheit 30 verwendet die Steuerbits vorzugsweise, um die Taktung der Vielzahl von LFSR 20 und der MUX 80 zu steuern, um dadurch die Zuweisungen von mindestens einigen aus der Vielzahl von LFSR 20 für den zweiten Zeitabschnitt zu bestimmen.
  • Der zweite Zeitabschnitt folgt normalerweise dem ersten Zeitabschnitt. Es wird anerkannt, daß der zweite Zeitabschnitt dem ersten Zeitabschnitt nach einem Verzögerungsabschnitt folgen kann. Vorzugsweise kann der zweite Zeitabschnitt die Länge eines Taktzyklus oder eine Länge haben, die größer als die Länge eines Taktzyklus ist.
  • Es wird anerkannt, daß die Anzahl der MUX 80 vorzugsweise mit der Anzahl der Einträge in die LUT 95 identisch ist. Die Anzahl der Eingangsports jedes MUX 80 kann gleich oder kleiner als die Gesamtzahl der Vielzahl von LFSR 20 sein.
  • In einer bevorzugten Ausführungsform der vorliegenden Erfindung kann während des ersten Zeitabschnitts mindestens einem drittem aus der Vielzahl von LFSR 20 eine Zuweisung als Zeitabschnitt-Assignor erteilt werden. Alle Zeitabschnitt-Assignors erzeugen LFSR-Ausgangsbits, die eine Auswahloperation, eine Kombinationsoperation und eine Verwürfelungsoperation in einem dritten Kombinierer 100 durchlaufen, um schließlich eine Folge von Zeit-Entscheidungsbits während des ersten Zeitabschnitts zu erzeugen. Die Folge von Zeit-Entscheidungsbits wird vorzugsweise als Eingabe in eine Richtlinientabelle 110 verwendet, die den zweiten Zeitabschnitt bestimmt, das heißt einen Anfangszeitpunkt des zweiten Zeitabschnitts und eine Dauer des zweiten Zeitabschnitts. Der Anfangszeitpunkt des zweiten Zeitabschnitts und die Dauer des zweiten Zeitabschnitts werden durch die Steuerlogikeinheit 30 durch Steuerung der Arbeitsweise der Vielzahl von LFSR und des dritten Kombinierer 100 bewirkt.
  • Vorzugsweise kann der dritte Kombinierer 100 mindestens eine und vorzugsweise eine Vielzahl von kombinatorischen Auswahllogikvorrichtungen, wie etwa herkömmliche MUX 120, und einen herkömmlichen Verwürfler, wie etwa einen Verwürfelungs-Zwischenspeicher 130, der einen linearen Verwürfelungs-Zwischenspeicher umfassen kann, aufweisen. Jeder MUX 120 wird vorzugsweise durch ein Ansteuerungssignal gesteuert, das durch die Steuerlogikeinheit 30 bereitgestellt wird, und ist funktionsfähig, ein Bit auszugeben. Die Menge der Bits, die durch die MUX 120 ausgegeben werden, wird in eine LUT 135 des Zeitabschnitt-Assignors eingegeben, die aber auch im dritten Kombinierer 110 enthalten sein kann.
  • Die LUT 135 des Zeitabschnitt-Assignors kombiniert die Menge der Bits zu einem einzelnen Zwischenbit, das am Ende jedes Taktzyklus an den Verwürfelungs-Zwischenspeicher 130 übergeben wird. Der Verwürfelungs-Zwischenspeicher 130 führt, wie dem Fachmann bekannt, Verwürfelungsoperationen mit allen während des ersten Zeitabschnitts erzeugten Zwischenbits durch und gibt vorzugsweise die Folge von Zeit-Entscheidungsbits aus, die an die Richtlinientabelle 110 übergeben werden. Die Richtlinientabelle 110 verwendet vorzugsweise die Zeit-Entscheidungsbits als Eingänge und gibt Steuerbits an die Steuerlogikeinheit 30 aus. Die Steuerlogikeinheit 30 verwendet vorzugsweise die Steuerbits, um die Taktung der Vielzahl von LFSR 20 und der MUX 120 zu steuern und dadurch einen Anfangszeitpunkt und eine Länge des zweiten Zeitabschnitts zu bestimmen.
  • Die Anzahl der MUX 120 ist normalerweise mit der Anzahl der Einträge in die LUT 135 identisch. Die Anzahl der Eingangsports jedes MUX 120 ist vorzugsweise gleich der Gesamtzahl der Vielzahl von LFSR 20.
  • Es wird anerkannt, daß jeder der MUX 50, 80 und 120 einen herkömmlichen Multiplexierer von der Art aufweisen kann, die ein Bit aus eine Menge von K Eingangsbits auswählt und ausgibt, wobei K eine ganze Zahl ist. Einige der K Eingangsbits können Auswahlbits sein, die für gegebene Werte der Auswahlbits gemäß einer im Multiplexierer enthaltenen Zuordnungstabelle bestimmen, welches der Eingangsbits zur Ausgabe ausgewählt wird. Zum Beispiel gibt ein Multiplexierer M1, der zwei Eingangsbits I1 und I2 und ein Auswahlbit S1 hat, I1 aus, wenn S1 = 0, und I2, wenn S1 = 1. In einem alternativen Beispiel hat ein Multiplexierer M2, der drei Eingangsbits I1, I2 und I3 und zwei Auswahlbits S1 und S2 hat, die folgenden Ausgabemöglichkeiten: Wenn S1 = 0, gibt der Multiplexierer I1 aus; wenn S1 = 1 und S2 = 2, dann gibt der Multiplexierer I2 aus; und wenn S1 = 0 und S2 = 1 oder S1 = 1 und S2 = 0, dann gibt der Multiplexierer I3 aus.
  • Es wird ferner anerkannt, daß die Richtlinientabelle 75 und die Richtlinientabelle 110 alternativ zu einer einzelnen Richtlinientabelle (nicht gezeigt) kombiniert werden können, die die Richtlinien bestimmt, die durch die Steuerlogikeinheit 30 bewirkt werden.
  • Vorzugsweise kann auf die LUTs 65, 95 und 135 elektronisch zugegriffen werden, wie dem Fachmann bekannt ist. Jede der LUTs 65, 95 und 135 kann vorzugsweise so ausgeglichen werden, daß sie Tabellen aufweisen, die zwischen allen möglichen Auswahlen der Untertabellen, die ausgewählt werden können, ausgeglichen sind. Im Fall der LUTs 95 und 135 wird die Auswahl der Untertabellen normalerweise durch die Richtlinientabelle 75 durchgeführt.
  • Es wird anerkannt, daß die Zuweisungen, die der Vielzahl von LFSR 20 erteilt werden, wie in 1 gezeigt, nur als Beispiel bereitgestellt sind und andere Zuweisungen innerhalb anderer Zeitabschnitte erteilt werden können.
  • Die Arbeitsweise der Vorrichtung aus 1 wird nunmehr kurz beschrieben. Vorzugsweise arbeitet die Vielzahl der LFSR 20 in einem "Wettlauf"-Modus zusammen, der durch viele "Wettlauf"-Zeitabschnitte bestimmt ist. Normalerweise hat jeder "Wettlauf"-Zeitabschnitt eine Länge von mindestens einem Taktzyklus und vorzugsweise einer Vielzahl von Taktzyklen. Der oben erwähnte Begriff "erster Zeitabschnitt" bezeichnet in diesem Fall einen willkürlichen "Wettlauf"-Zeitabschnitt. Die Arbeitsweise einiger der LFSR 20 während des ersten Zeitabschnitts beeinflußt die Arbeitsweise anderer LFSR 20 in einem anderen "Wettlauf"-Zeitabschnitt, der in diesem Fall der oben erwähnte zweite Zeitabschnitt ist. Sowohl der erste Zeitabschnitt als auch der zweite Zeitabschnitt kann mindestens ein Taktzyklus der LFSR 20 sein und vorzugsweise ein Zeitabschnitt, der länger als ein Taktzyklus ist. Es wird anerkannt, daß der erste und zweite Zeitabschnitt entweder zueinander zeitlich benachbart oder durch eine zeitliche Verzögerung voneinander getrennt sein können.
  • Vorzugsweise wird mindestens einem ersten aus der Vielzahl von LFSR 20 während des ersten Zeitabschnitts eine Zuweisung als Erzeuger erteilt, und dieses kann funktionsfähig sein, innerhalb des ersten Zeitabschnitts ein Ausgangsbit zu übergeben. Vorzugsweise kombiniert der erste Kombinierer 40 Ausgangsbits von allen aus der Vielzahl von LFSR 20 mit der Zuweisung als Erzeuger und gibt in jedem Taktzyklus ein einzelnes Ausgangsbit aus. Es wird anerkannt, daß das einzelne Ausgangsbit ein durch den Kombinierer 40 bereitgestellter Beitrag zu einem Bitstrom am Ende jedes Taktzyklus ist. Die Ansammlung der einzelnen Ausgangsbits, die während des ersten Zeitabschnitts und vielen dem ersten Zeitabschnitt folgenden Wettlauf-Zeitabschnitten erzeugt werden, bildet den Ausgangsbitstrom.
  • Außerdem kann mindestens einem zweiten aus der Vielzahl von LFSR 20 während des ersten Zeitabschnitts eine Zuweisung als Assignor erteilt werden, und dieses kann funktionsfähig sein, ein Ausgangsbit zu übergeben. Der zweite Kombinierer 70 kombiniert vorzugsweise die Ausgangsbits von allen aus der Vielzahl von LFSR 20 mit der Zuweisung als Assignor und gibt schließlich eine Folge von Entscheidungsbits aus. Die Folge von Entscheidungsbits wird dann vorzugsweise als Eintrag in eine Richtlinientabelle 75 übergeben, um Zuweisungen von jedem der mindestens einigen aus der Vielzahl von LFSR 20 entweder als Erzeuger oder Assignor für den zweiten Zeitabschnitt zu bestimmen. Die Richtlinientabelle 75 verwendet die Folge von Entscheidungsbits als Eingänge und gibt Steuerbits an die Steuerlogikeinheit 30 aus. Die Steuerlogikeinheit 30 bewirkt die Zuweisungen durch Steuerung der Taktung der Vielzahl von LFSR 20 und des zweiten Kombinierers 70.
  • Wie oben erwähnt, kann die Zuweisung als Assignor auch eine Zuweisung als kombinierter Assignor und Zeitversatz-Erzeuger einschließen. Es wird anerkannt, daß, wenn ein Assignor als kombinierter Assignor und Zeitversatz-Erzeuger zugewiesen wird, der Assignor nicht nur an dem Prozeß teilnimmt, der die Zuweisungen von mindestens einigen der LFSR 20 für den zweiten Zeitabschnitt bestimmt, wie oben erwähnt, sondern auch an einem Prozeß teilnimmt, der einen Zeitversatz von N Verschiebungen für spezifische LFSR 20 für den zweiten Zeitabschnitt bestimmt, wobei N eine ganze Zahl ist. Ein LFSR 20, für das ein Zeitversatz von N Verschiebungen bestimmt wird, führt weniger Bitverschiebungen durch als ein LFSR, für das kein Zeitversatz bestimmt wird.
  • In einer bevorzugten Ausführungsform der vorliegenden Erfindung kann eine Länge des zweiten Zeitabschnitts dynamisch bestimmt werden. In einem solchen Fall kann mindestens einem drittem aus der Vielzahl von LFSR 20 während des ersten Zeitabschnitts eine Zuweisung als Zeitabschnitt-Assignor erteilt werden, der funktionsfähig ist, ein Ausgangsbit zu übergeben. Der dritte Kombinierer 100 kombiniert vorzugsweise die Ausgangsbits von allen aus der Vielzahl von LFSR 20 mit der Zuweisung als Zeitabschnitt-Assignors und gibt schließlich während des ersten Zeitabschnitts eine Folge von Entscheidungsbits aus. Die Folge von Entscheidungsbits wird dann vorzugsweise als Eintrag an die Richtlinientabelle 110 übergeben, um die Länge und den Anfangszeitpunkt des zweiten Zeitabschnitts zu bestimmen. Es wird anerkannt, daß der Zwischenspeicher 70 funktionsfähig ist, diejenigen aus der Vielzahl von LFSR 20 auszuwählen, die die Zuweisung als Zeitabschnitt-Assignors haben, während der Zwischenspeicher 130 funktionsfähig ist, die Länge und den Anfangszeitpunkt des zweiten Zeitabschnitts zu bestimmen.
  • Wie oben erwähnt, werden die Zuweisungen der Vielzahl der LFSR 20, die Zeitversatzbestimmungen und die Bestimmung der Länge und der Anfangszeitpunkt des zweiten Zeitabschnitts durch die Steuerlogikeinheit 30 bewirkt. Somit ist die Vielzahl von LFSR 20 während des zweiten Zeitabschnitts, dessen Länge entsprechend der Folge von Zeit-Entscheidungsbits bestimmt wird, vorzugsweise entsprechend den während des ersten Zeitabschnitts bestimmten Zuweisungen funktionsfähig.
  • Es wird somit anerkannt, daß während jedes "Wettlauf"-Zeitabschnitts einige oder alle der folgenden Gruppen von LFSR 20 zu finden sind:
    • (1) Eine erste Gruppe mit LFSR, die Ausgangsbits beitragen.
    • (2) Eine zweite Gruppe mit LFSR, die überhaupt keine Ausgabe beitragen.
    • (3) Eine dritte Gruppe mit LFSR, die Rollen zuweisen; und
    • (4) Eine vierte Gruppe mit LFSR, die eine Länge eines folgenden "Wettlauf"-Zeitabschnitts
    bestimmen.
  • Außerdem können einige aus der Vielzahl von LFSR 20 in jeder der oben genannten Gruppen (2)–(4) eine während jedes Wettlauf-Zeitabschnitts unterschiedliche Anzahl von Schritten durchlaufen, wobei die unterschiedliche Anzahl von Schritten durch die Richtlinientabelle 75 bestimmt und durch die Steuerlogikeinheit 30 bewirkt wird. Somit kann es in jedem Wettlauf-Zeitabschnitt LFSR geben, die mit Bezug auf andere um eine Anzahl von Schritten N verzögert sind.
  • Das Ergebnis der oben erwähnten Arbeitsweise der Vorrichtung aus 1 ähnelt somit über viele Wettlauf-Zeitabschnitte einem Wettlauf. Der Wettlauf-Modus ist durch A-Priori-Bestimmungen einer Vielzahl von Parametern für einen oder mehrere Zeitabschnitte, die einem aktuellen Zeitabschnitt folgen, gekennzeichnet.
  • Es wird anerkannt, daß die Vielzahl von LFSR 20 LFSR mit unterschiedlichen Längen aufweisen kann. Alternativ, oder zusätzlich kann die Vielzahl von LFSR 20 LFSR mit unterschiedlichen Rückkopplungs-Polynomen zur Steuerung der Taktung der LFSR aufweisen, wie dem Fachmann bekannt ist.
  • Die Länge eines LFSR 20 mit maximalem Zyklus, das ist die Anzahl der Zellen des LFSR 20 mit maximalem Zyklus, ist wichtig, da sie eine LFSR-Zykluslänge bestimmt. Außerdem bildet in Anwendungen, bei denen es um Verwürfelung bzw. Entwürfelung oder Verschlüsselung bzw. Entschlüsselung geht, die Summe der Längen von allen aus der Vielzahl von LFSR 20 eine maximal wirksame Schlüsselgröße. Es wird ferner anerkannt, daß das kürzeste aus der Vielzahl von LFSR 20 immer noch von erheblicher Länge sein sollte, zum Beispiel 64 Bits, um einen Angriff eines Gegners zu erschweren.
  • Vorzugsweise sind die unterschiedlichen Längen der Vielzahl von LFSR 20 auf einen ausgewählten Bereich von Längen begrenzt. Es wird bevorzugt, eine Kombination von sehr langen LFSR, wie etwa in der Größenordnung hunderter von Zellen, mit sehr kurzen LFSR, wie etwa in der Größenordnung von einigen wenigen Zellen, zu vermeiden, weil ein Gegner ein Arbeitsprinzip aus der Arbeitsweise der sehr kurzen LFSR lernen kann.
  • Wie oben erwähnt, kann der zweite Zeitabschnitt dem ersten Zeitabschnitt nach einer zeitlichen Verzögerung folgen. Die zeitliche Verzögerung kann mindestens einen Taktzyklus aufweisen. Alternativ kann die zeitliche Verzögerung einen Zeitabschnitt mit einer Länge entweder des ersten Zeitabschnitts oder des zweiten Zeitabschnitts aufweisen.
  • Bei der Erteilung der Zuweisungen an die LFSR 20 werden vorzugsweise bestimmte Regeln angewendet. Die Regeln können folgende sein:
    • (1) Es muß in jedem "Wettlauf"-Zeitabschnitt mindestens einen Assignor und einen Erzeuger geben.
    • (2) In jedem "Wettlauf"-Zeitabschnitt kann mehr als ein LFSR eine spezifische Rolle haben, daß heißt, es kann in jedem "Wettlauf"-Zeitabschnitt eine Vielzahl von Assignors und Erzeugern geben.
    • (3) Ein LFSR, dem während eines "Wettlauf"-Zeitabschnitts eine Zuweisung als Erzeuger erteilt wird, kann während dieses "Wettlauf"-Zeitabschnitts keine anderen Zuweisungen haben, aber ein Assignor kann Zuweisungen erteilen und auch verzögert werden.
    • (4) Ein LFSR, dem während eines "Wettlauf"-Zeitabschnitts eine Zuweisung als Erzeuger erteilt wird, kann nicht verzögert werden.
  • Die Richtlinientabelle 75 ist vorzugsweise eine Tabelle, die Z1 Einträge enthält, die vom Verwürfelungs-Zwischenspeicher 90 empfangen werden, wobei Z1 normalerweise eine Zweierpotenz ist. Jeder der Z1 Einträge erteilt vorzugsweise allen aus der Vielzahl von LFSR 20 Zuweisungen. Während eines aktuellen "Wettlauf"-Zeitabschnitts erzeugen aktuelle Assignors genau log2(Z1) Bits, die verwendet werden, um einen Eintrag aus der Richtlinientabelle 75 auszuwählen. Der ausgewählte Eintrag bestimmt die Zuweisungen im nächsten "Wettlauf"-Zeitabschnitt. Ebenso ist die Richtlinientabelle 110 eine Tabelle, die Z2 Einträge enthält, die vom Verwürfelungs-Zwischenspeicher 130 empfangen werden, wobei Z2 normalerweise eine Zweierpotenz ist. Jeder der Z2 Einträge erteilt vorzugsweise allen aus der Vielzahl von LFSR 20 Zuweisungen. Während eines aktuellen "Wettlauf"-Zeitabschnitts erzeugen aktuelle Assignors genau log2(Z2) Bits, die verwendet werden, um einen Eintrag aus der Richtlinientabelle 110 auszuwählen. Der ausgewählte Eintrag bestimmt die Zuweisungen im nächsten "Wettlauf"-Zeitabschnitt.
  • Das folgende sind vereinfache Beispiele, die die Verwendung der Vorrichtung aus 1 in verschiedenen Prinzipien zeigen. In den folgenden Beispielen ist G ein Erzeuger, A ist ein Assignor und L(N) ist eine Verzögerung um N Schritte.
    • (1) Prinzip A: Bei diesem Prinzip gibt es 2 LFSR 20, die alle 3 Taktzyklen die Zuweisungen ändern. Die Richtlinientabelle 75 in Prinzip A enthält 4 Einträge und lautet wie folgt:
      Figure 00120001
    • (2) Prinzip B: Bei diesem Prinzip gibt es 3 LFSR 20, die alle 3 Taktzyklen die Zuweisungen ändern. Die Richtlinientabelle 75 in Prinzip B enthält 4 Einträge und lautet wie folgt:
      Figure 00120002
      Es sei erwähnt, daß, während LFSR1 und LFSR2 allein erzeugen können, LFSR3 immer mit einem Partner zusammen erzeugt.
    • (3) Prinzip C: Bei diesem Prinzip gibt es 4 LFSR 20, die alle 4 Taktzyklen die Zuweisungen ändern. Die Richtlinientabelle 75 in Prinzip C enthält 16 Einträge und lautet wie folgt:
      Figure 00130001
  • Die Vorrichtung aus 1 kann auch verwendet werden, um eine Hash-Funktion zu erzeugen. Zum Beispiel kann in einer ausgewählten Folge von Taktzyklen die Vielzahl von LFSR 20 mit einer Folge von Eingangsbits erweitert werden, die jeweils einem LFSR zugewiesen sind. Die Steuerlogikeinheit 30 kann Ausgaben aus der Richtlinientabelle 75 verwenden, um die Arbeitsweise der Kombinierer 40, 70 und 100 zu bestimmen und dadurch die Ausgangsbits zu bestimmen, die vom Ausgangs-Zwischenspeicher 60 am Ende der Folge von Taktzyklen ausgegeben werden. In einem solchen Fall können die Ausgangsbits vom Ausgangs-Zwischenspeicher 60 als ein Ergebnis der Hash-Funktion verwendet werden.
  • Nunmehr wird auf 2 bezuggenommen, die eine vereinfache Darstellung eines Ablaufplans eines bevorzugten Arbeitsverfahrens der Vorrichtung aus 1 ist.
  • Vorzugsweise wird mindestens eines aus einer Vielzahl von LFSR während eines ersten Zeitabschnitts als Erzeuger zugewiesen, der funktionsfähig ist, Ausgangsbits innerhalb des ersten Zeitabschnitts zu übergeben (Schritt 200). Die Ausgangsbits von allen aus der Vielzahl von LFSR, die als Erzeuger zugewiesen sind, werden zu einem Bitstrom beigesteuert (Schritt 210).
  • Außerdem wird während des ersten Zeitabschnitts mindestens ein zweites aus der Vielzahl von LFSR als Assignor zugewiesen, der funktionsfähig ist, in jedem Taktzyklus ein Ausgangsbit zu übergeben, das geeignet ist, um Zuweisungen von mindestens einigen aus der Vielzahl von LFSR während eines zweiten Zeitabschnitts, der dem ersten Zeitabschnitt folgt, zu bestimmen (Schritt 220). Ausgangsbits von allen aus der Vielzahl von LFSR, die als Assignors zugewiesen werden, werden vorzugsweise kombiniert, um eine Folge von Entscheidungsbits zu bilden, die als Eintrag in eine Richtlinientabelle übergeben werden, um Zuweisungen von jedem der mindestens einigen aus der Vielzahl von LFSR entweder als Erzeuger oder als Assignor für den zweiten Zeitabschnitt zu bestimmen (Schritt 230).
  • Es wird anerkannt, daß verschiedene Merkmale der Erfindung, die der Klarheit halber im Kontext getrennter Ausführungsformen beschrieben worden sind, auch kombiniert in einer einzelnen Ausführungsform bereitgestellt werden können. Umgekehrt können verschiedene Merkmale der Erfindung, die der Kürze halber im Kontext einer einzelnen Ausführungsform beschrieben worden sind, auch getrennt oder in jeder geeigneten Teilkombination bereitgestellt werden.
  • Der Fachmann wird anerkennen, daß die vorliegende Erfindung nicht dadurch begrenzt ist, was vorstehend hierin im einzelnen gezeigt und beschrieben worden ist. Vielmehr wird der Schutzbereich der Erfindung nur durch die beigefügten Ansprüche definiert.

Claims (23)

  1. Bitstromerzeuger mit: einer Vielzahl von LFSR (linear rückgekoppelten Schieberegistern) (20), die funktionsfähig ist, einen Bitstrom zu erzeugen und die folgendes umfaßt: mindestens ein erstes LFSR (20), das, wenn es während eines ersten Zeitabschnitts, des mindestens einen Taktzyklus umfaßt, als Assignor zugewiesen ist, funktionsfähig ist, in jedem Taktzyklus innerhalb des ersten Zeitabschnitts ein Ausgangsbit bereitzustellen; und mindestens ein zweites LFSR (20), das, wenn es während des ersten Zeitabschnitts als Assignor zugewiesen ist, funktionsfähig ist, in jedem Taktzyklus ein Ausgangsbit zur Bestimmung der Zuweisungen mindestens einiger aus der Vielzahl von LFSR (20) für einen zweiten Zeitabschnitt, der dem ersten Zeitabschnitt folgt, bereitzustellen, wobei diese Zuweisungen einschließen: Zuweisung als Erzeuger und Zuweisung als Assignor; und einem ersten Kombinierer (40), der funktionsfähig ist, Ausgangsbits von allen des mindestens einen ersten LFSR, die als Erzeuger zugewiesen sind, zu kombinieren, um dadurch während jedes Taktzyklus ein einzelnes Ausgangsbit zu produzieren, das an den Bitstrom übergeben wird.
  2. Bitstromerzeuger nach Anspruch 1, wobei der erste Kombinierer (40) folgendes umfasst: mindestens eine kombinatorische Auswahllogikvorrichtung (50), die funktionsfähig ist, die Ausgangsbits von allen des mindestens einen ersten LFSR, die als Erzeuger zugewiesen sind, zu kombinieren, um eine Menge von Zwischenbits zu produzieren; eine Erzeuger-LUT (Verweistabelle) (65), die der mindestens einen kombinatorischen Auswahllogikvorrichtung (50) funktionsfähig zugeordnet ist und funktionsfähig ist, die Menge von Zwischenbits zu kombinieren, um ein einzelnes Ausgangsbit zu produzieren; und einen Ausgangs-Zwischenspeicher (60), der der Erzeuger-LUT (65) funktionsfähig zugeordnet ist und funktionsfähig ist, das einzelne Ausgangsbit auszugeben.
  3. Bitstromerzeuger nach Anspruch 2, wobei die kombinatorische Auswahllogikvorrichtung (50) einen Multiplexierer (MUX) umfaßt.
  4. Bitstromerzeuger nach einem der Ansprüche 1 bis 3 mit einem zweiten Kombinierer (70), der funktionsfähig ist, Ausgangsbits von allen des mindestens einen zweiten LFSR (20), die als Assignors zugewiesen sind, zu kombinieren, um eine Serie von Entscheidungsbits zu produzieren, die als Eingabe an eine Richtlinientabelle (75) übergeben werden, um die Zuweisung jeder der mindestens einigen aus der Vielzahl von LFSR (20) für den zweiten Zeitabschnitt zu bestimmen.
  5. Bitstromerzeuger nach Anspruch 4, wobei der zweite Kombinierer (70) folgendes umfasst: mindestens eine kombinatorische Auswahllogikvorrichtung (80), die funktionsfähig ist, die Ausgangsbits von allen des mindestens einen zweiten LFSR (20), die als Assignors zugewiesen sind, zu kombinieren, um in jedem Taktzyklus eine Menge von Bits zu produzieren; eine Assignor-LUT (95), die des mindestens einen kombinatorischen Auswahllogikvorrichtung (80) funktionsfähig zugeordnet ist und funktionsfähig ist, die Menge von Bits zu kombinieren, um in jedem Taktzyklus ein einzelnes Zwischenbit zu produzieren; und einen Verwürfelungs-Zwischenspeicher (90), der der Assignor-LUT (95) funktionsfähig zugeordnet ist und funktionsfähig ist, Verwürfelungsoperationen mit allen während des ersten Zeitabschnitts produzierten Zwischenbits vorzunehmen und eine Serie von Ausgangsbits an die Richtlinientabelle auszugeben.
  6. Bitstromerzeuger nach Anspruch 5, wobei die kombinatorische Auswahllogikvorrichtung (80) einen MUX umfasst.
  7. Bitstromerzeuger nach einem der Ansprüche 1 bis 6, wobei die Zuweisung als Assignor auch eine Zuweisung als kombinierter Assignor und Zeitversatzerzeuger einschließt.
  8. Bitstromerzeuger nach Anspruch 7, wobei der Zeitversatzerzeuger funktionsfähig ist, während des ersten Zeitabschnitts einen Zeitversatz mit einer ganzzahligen Länge N von Verschiebungen für ein LFSR für den zweiten Zeitabschnitt zu bestimmen.
  9. Bitstromerzeuger nach einem der Ansprüche 1 bis 8, ferner mit mindestens einem dritten LFSR (20), das, wenn es während des ersten Zeitabschnitts als Zeitabschnitt-Assignor zugewiesen ist, funktionsfähig ist, ein Ausgangsbit zur Bestimmung eines Anfangszeitpunkts und einer Länge des zweiten Zeitabschnitts bereitzustellen.
  10. Bitstromerzeuger nach Anspruch 9, ferner mit: einem dritten Kombinierer (100), der funktionsfähig ist, Ausgangsbits von allen des mindestens einen dritten LFSR (20), die als Zeitabschnitt-Assignors zugewiesen sind, zu kombinieren, um eine Serie von Zeit-Entscheidungsbits zu produzieren; und eine Richtlinientabelle (110), die dem dritten Kombinierer (100) funktionsfähig zugeordnet ist und funktionsfähig ist, die Serie von Zeit-Entscheidungsbits als Eingabe zur Bestimmung des Anfangszeitpunkts und der Länge des zweiten Zeitabschnitts entgegenzunehmen.
  11. Bitstromerzeuger nach einem der Ansprüche 1 bis 10, ferner mit einer Steuerungslogikeinheit (30), die funktionsfähig ist, den Betrieb von mindestens einem von folgendem zu steuern: der erste Kombinierer (40); der zweite Kombinierer (70); der dritte Kombinierer (100); und die Vielzahl von LFSR (20).
  12. Bitstromerzeuger nach einem der Ansprüche 1 bis 11, wobei der Bitstrom eine binäre Pseudozufallsfolge umfaßt.
  13. Bitstromerzeuger nach einem der Ansprüche 1 bis 11, wobei das durch den ersten Kombinierer (40) ausgegebene einzelne Ausgangsbit ein Ergebnis einer Hash-Funktion umfaßt.
  14. Bitstromerzeuger nach einem der Ansprüche 1 bis 13, wobei die Vielzahl von LFSR (20) LFSR (20) mit unterschiedlichen Längen umfaßt.
  15. Bitstromerzeuger nach Anspruch 14, wobei die unterschiedlichen Längen auf einen ausgewählten Bereich von Längen beschränkt sind.
  16. Bitstromerzeuger nach einem der Ansprüche 1 bis 15, wobei der erste Zeitabschnitt nur einen Taktzyklus umfaßt.
  17. Bitstromerzeuger nach einem der Ansprüche 1 bis 16, wobei der zweite Zeitabschnitt nur einen Taktzyklus umfaßt.
  18. Bitstromerzeuger nach einem der Ansprüche 1 bis 15, wobei der erste Zeitabschnitt eine Länge hat, die größer als ein Taktzyklus ist.
  19. Bitstromerzeuger nach einem der Ansprüche 1 bis 15 und 18, wobei der zweite Zeitabschnitt eine Länge hat, die größer als ein Taktzyklus ist.
  20. Bitstromerzeuger nach einem der Ansprüche 1 bis 19, wobei der zweite Zeitabschnitt dem ersten Zeitabschnitt nach einer zeitlichen Verzögerung folgt.
  21. Bitstromerzeuger nach Anspruch 20, wobei die zeitliche Verzögerung mindestens einen Taktzyklus umfaßt.
  22. Bitstromerzeuger nach Anspruch 21, wobei die zeitliche Verzögerung einen Zeitabschnitt mit einer Länge von einem von folgendem umfaßt: der erste Zeitabschnitt; und der zweite Zeitabschnitt.
  23. Verfahren zur Erzeugung eines Bitstroms mit den folgenden Schritten: Bereitstellen einer Vielzahl von LFSR (20); Zuweisen mindestens eines ersten LFSR aus der Vielzahl von LFSR (20) während eines ersten Zeitabschnitts als Erzeuger, der funktionsfähig ist, in jedem Taktzyklus innerhalb des ersten Zeitabschnitts ein Ausgangsbit bereitzustellen; und Zuweisen mindestens eines zweiten LFSR aus der Vielzahl von LFSR (20) während des ersten Zeitabschnitts als Assignor, der funktionsfähig ist, in jedem Taktzyklus ein Ausgangsbit zur Bestimmung der Zuweisungen mindestens einiger aus der Vielzahl von LFSR (20) für einen zweiten Zeitabschnitt, der dem ersten Zeitabschnitt folgt, bereitzustellen, wobei diese Zuweisungen einschließen: Zuweisung als Erzeuger und Zuweisung als Assignor; und Kombinieren von Ausgangsbits von allen des mindestens einen ersten LFSR aus der Vielzahl von LFSR (20), die als Erzeuger zugewiesen sind, um während jedes Taktzyklus ein einzelnes Ausgangsbit zu produzieren, das an den Bitstrom übergeben wird.
DE60032321T 1999-11-11 2000-10-18 System zur Erzeugung einer Bitfolge Expired - Lifetime DE60032321T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL132898A IL132898A (en) 1999-11-11 1999-11-11 System for bitstream generation
IL13289899 1999-11-11

Publications (2)

Publication Number Publication Date
DE60032321D1 DE60032321D1 (de) 2007-01-25
DE60032321T2 true DE60032321T2 (de) 2007-07-05

Family

ID=11073469

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60032321T Expired - Lifetime DE60032321T2 (de) 1999-11-11 2000-10-18 System zur Erzeugung einer Bitfolge

Country Status (5)

Country Link
US (1) US6785389B1 (de)
EP (1) EP1100198B1 (de)
AT (1) ATE348449T1 (de)
DE (1) DE60032321T2 (de)
IL (1) IL132898A (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782389B1 (en) * 2000-09-12 2004-08-24 Ibrix, Inc. Distributing files across multiple, permissibly heterogeneous, storage devices
JP4521708B2 (ja) * 2001-03-12 2010-08-11 ルネサスエレクトロニクス株式会社 乱数生成装置
FR2851862B1 (fr) * 2003-02-27 2006-12-29 Radiotelephone Sfr Procede de generation d'une permutation pseudo-aleatoire d'un mot comportant n digits
US8229108B2 (en) * 2003-08-15 2012-07-24 Broadcom Corporation Pseudo-random number generation based on periodic sampling of one or more linear feedback shift registers
US8577026B2 (en) 2010-12-29 2013-11-05 Ternarylogic Llc Methods and apparatus in alternate finite field based coders and decoders
US8364977B2 (en) * 2004-02-25 2013-01-29 Ternarylogic Llc Methods and systems for processing of n-state symbols with XOR and EQUALITY binary functions
US7426666B2 (en) * 2004-05-18 2008-09-16 Lucent Technologies Inc. Noisy channel emulator for high speed data
JP2008532410A (ja) * 2005-03-01 2008-08-14 エヌエックスピー ビー ヴィ メッセージ認証コードを発生する発生器、発生方法、プログラム要素、及びコンピュータ読取可能媒体
US8005215B2 (en) 2005-04-20 2011-08-23 Nds Limited Table shuffle cipher system
US9679602B2 (en) 2006-06-14 2017-06-13 Seagate Technology Llc Disc drive circuitry swap
US7941435B2 (en) * 2006-08-01 2011-05-10 Cisco Technology, Inc. Substring search algorithm optimized for hardware acceleration
US8036380B2 (en) * 2006-12-14 2011-10-11 Telefonaktiebolaget L M Ericsson (Publ) Efficient data integrity protection
GB0703172D0 (en) 2007-02-19 2007-03-28 Pa Knowledge Ltd Printed circuit boards
US8345873B2 (en) * 2007-04-04 2013-01-01 Ternarylogic Llc Methods and systems for N-state signal processing with binary devices
US9305590B2 (en) 2007-10-16 2016-04-05 Seagate Technology Llc Prevent data storage device circuitry swap
IL188089A (en) * 2007-12-12 2013-02-28 Nds Ltd Bit generator
BRPI0917289A8 (pt) 2008-08-18 2019-09-17 Semblant Global Ltd revestimento polimérico de halo-hidrocarboneto
KR101037520B1 (ko) 2008-12-02 2011-05-26 주식회사 팬택 광대역 무선통신시스템에서 스크램블링 코드 생성 방법 및 그 장치
US8995146B2 (en) 2010-02-23 2015-03-31 Semblant Limited Electrical assembly and method
US8718278B2 (en) 2011-01-20 2014-05-06 International Business Machines Corporation Method and system for encryption of a datastream
RU2476988C1 (ru) * 2011-11-03 2013-02-27 Открытое акционерное общество "Конструкторское бюро приборостроения" Способ преобразования аналоговых сигналов в импульсную последовательность, модулированную по времени, и устройство для его реализации
GB201621177D0 (en) 2016-12-13 2017-01-25 Semblant Ltd Protective coating
FR3083889B1 (fr) * 2018-07-12 2020-08-14 Commissariat Energie Atomique Registre a decalage protege contre les attaques physiques

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3609327A (en) * 1969-10-22 1971-09-28 Nasa Feedback shift register with states decomposed into cycles of equal length
US5268949A (en) * 1990-03-28 1993-12-07 Ando Electric Co., Ltd. Circuit for generating M-sequence pseudo-random pattern
JP2584172B2 (ja) * 1991-08-23 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション デイジタル試験信号発生回路
US5365588A (en) 1993-03-12 1994-11-15 Hughes Aircraft Company High speed encryption system and method
DE69326681T2 (de) * 1993-04-06 2000-02-10 Hewlett Packard Co Verfahren und Apparat zum Erzeugen von linearen Rückführungsschieberegistersequenzen
US5383143A (en) * 1994-03-30 1995-01-17 Motorola, Inc. Self re-seeding linear feedback shift register (LFSR) data processing system for generating a pseudo-random test bit stream and method of operation
GB2304941B (en) * 1995-06-24 1999-09-08 Motorola Ltd Feedback and shift unit
US6463448B1 (en) * 1999-09-30 2002-10-08 Agere Systems Guardian Corp. Linear intrasummed multiple-bit feedback shift register

Also Published As

Publication number Publication date
EP1100198A3 (de) 2004-02-11
US6785389B1 (en) 2004-08-31
IL132898A0 (en) 2001-03-19
DE60032321D1 (de) 2007-01-25
IL132898A (en) 2009-09-01
ATE348449T1 (de) 2007-01-15
EP1100198B1 (de) 2006-12-13
EP1100198A2 (de) 2001-05-16

Similar Documents

Publication Publication Date Title
DE60032321T2 (de) System zur Erzeugung einer Bitfolge
DE102005056814B4 (de) Kryptografiesystem und Datenverschlüsselungsverfahren
DE19744961B4 (de) Erzeugen eindeutiger und unvorhersagbarer Werte
DE10357782B3 (de) Vorrichtung und Verfahren zum Erzeugen von Zufallszahlen mit einem Pseudozufallsgenerator
DE60313519T2 (de) Verfahren zur Erzeugung eines Schlüssels, Inhaltsbereitstellungsverfahren, Entschlüsselungsverfahren für verschlüsselte Inhalte, Verfahren zur Erkennung von illegalen Benutzern, System zum Bereitstellen von Inhalten, Benutzersystem, Verfahren zur Ablaufverfolgung, Verschlüsselungsgerät, Entschlüsselungsgerät, und Computerprogramm
DE60024941T2 (de) Verschlüsselungsverfahren und -Vorrichtung, Entschlüsselungsverfahren und -Vorrichtung
DE102005010779B4 (de) Schlüsseldispositionsvorrichtung und System zur Ver-/Entschlüsselung von Daten
EP0012974B1 (de) Verfahren zur Chiffrierung von Datenblöcken einer vorgegebenen Länge
DE112008001707T5 (de) Finite-Feld-Operationen verwendender kryptographischer Zufallszahlengenerator
DE60211860T2 (de) Erzeugung von zufallszahlen
DE69834296T2 (de) Verschlüsselungsvorrichtung und rechnerlesbares Aufzeichnungsmedium mit Ausführungsprogramm
DE1499190C3 (de) Elektronische Datenverarbeitungsanlage
DE602004003226T2 (de) Tabellenmaskierung zur Beständigkeit gegen Angriffe durch Analyse der Leistungsaufnahme.
DE60004409T2 (de) Schaltung und Verfahren zur Zufallszahlerzeugung
DE2745196A1 (de) Huellkurvengenerator fuer ein elektronisches musikinstrument
DE2821237A1 (de) Verfahren und vorrichtung zur wiedergabe von bildern
DE102014200163A1 (de) Verfahren zum Erzeugen einer Ausgabe einer Zufallsquelle eines Zufallsgenerators
DE102004038594B4 (de) Verschlüsselungsverfahren und -vorrichtung
DE4446988A1 (de) Schneller Testmustergenerator
DE60312810T2 (de) Vorrichtung und Verfahren zur Basiskonvertierung in endliche Körper und einen Multiplizierer
DE102010045580A1 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
EP3127272B1 (de) Verschlüsselungsverfahren und pseudo-zufallszahlengenerator
DE60128309T2 (de) Schaltung zur Erzeugung eines Verschlüsselungsnebenschlüssels
EP1504273B1 (de) System zum testen von digitalbausteinen
DE4102726C1 (en) Self-testing appts. for function block coupling input words - has tow linear feedback shift registers clocked by respective external and internal clocks

Legal Events

Date Code Title Description
8364 No opposition during term of opposition