-
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:
- (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: 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:
-
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.