DE10319508B4 - Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen - Google Patents

Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen Download PDF

Info

Publication number
DE10319508B4
DE10319508B4 DE2003119508 DE10319508A DE10319508B4 DE 10319508 B4 DE10319508 B4 DE 10319508B4 DE 2003119508 DE2003119508 DE 2003119508 DE 10319508 A DE10319508 A DE 10319508A DE 10319508 B4 DE10319508 B4 DE 10319508B4
Authority
DE
Germany
Prior art keywords
output
feedback
feedforward
signal
input
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 - Fee Related
Application number
DE2003119508
Other languages
English (en)
Other versions
DE10319508A1 (de
Inventor
Rainer Dr. Göttfert
Bernd Dr. Meyer
Gerd Dipl.-Phys. Dirscherl
Jean-Pierre Dr. Seifert
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2003119508 priority Critical patent/DE10319508B4/de
Priority to FR0404631A priority patent/FR2854511B1/fr
Publication of DE10319508A1 publication Critical patent/DE10319508A1/de
Application granted granted Critical
Publication of DE10319508B4 publication Critical patent/DE10319508B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Programmable Controllers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Vorrichtung zum Erzeugen einer Folge von Zahlen mit folgenden Merkmalen:
einer Vorwärtskopplungseinrichtung (1) mit mehreren Speichereinrichtungen (2, 3, 4, 5), wobei die Vorwärtskopplungseinrichtung (1) einen Eingang (6) und einen Ausgang (7) aufweist;
einer Rückkopplungseinrichtung (8, 14), die zwischen den Eingang (6) und den Ausgang (7) der Vorwärtskopplungseinrichtung geschaltet ist, wobei die Rückkopplungseinrichtung (8) folgende Merkmale aufweist:
eine Auswahleinrichtung (20) mit einem ersten Eingang (20b), einem zweiten Eingang (20c), einem Steuereingang (20a) und einem Ausgang (20d), wobei die Auswahleinrichtung (20) ausgebildet ist, um abhängig von einem Zustand einer Speichereinrichtung entweder den ersten Eingang (20b) oder den zweiten Eingang (20c) mit dem Ausgang (20d) zu verbinden; und
eine Kombinationseinrichtung (21) zum Kombinieren des Ausgangs (20d) der Auswahleinrichtung (20) mit einem Ausgang (7) der Vorwärtskopplungseinrichtung (1), um einen Wert zu erhalten, der in den Eingang (6) der Vorwärtskopplungseinrichtung einspeisbar ist oder in eine Recheneinrichtung einspeisbar ist, deren Ausgangswert in...

Description

  • Die vorliegende Erfindung bezieht sich auf Zahlengeneratoren und insbesondere auf Zahlengeneratoren zum Erzeugen einer pseudozufälligen Folge von Zahlen.
  • Ein bekannter derartiger Zufallszahlengenerator ist in 5 dargestellt. Der Pseudozufallszahlengenerator von 5, der auch als lineares rückgekoppeltes Schieberegister bezeichnet wird, umfasst eine Mehrzahl von Speicherelementen 51, 52, 53, 54, die in 5 von 0 bis n durchnumeriert sind. Die Speicherzellen sind über eine Initialisierungseinrichtung 55 auf einen Startwert initialisierbar. Die Speicherzellen 51-54 bilden insgesamt eine Vorwärtskopplungseinrichtung, während das lineare Schieberegister, das durch die Speicherzellen 51-54 gebildet ist, durch eine Rückkopplungseinrichtung rückgekoppelt ist, die zwischen einen Ausgang 56 der Schaltung und der Speicherzelle n gekoppelt ist. Die Rückkopplungseinrichtung umfasst im einzelnen eine oder mehrere Kombinationseinrichtungen 57, 58, die von jeweiligen Rückkopplungszweigen 59a, 59b, 59c so gespeist werden, wie es in 5 beispielhaft dargestellt ist. Der Ausgangswert der letzten Kombinationseinrichtung 58 wird in die Speicherzelle n, die in 5 mit 54 bezeichnet ist, eingespeist.
  • Das in 5 gezeigte lineare rückgekoppelte Schieberegister wird von einem Takt betrieben, so dass in jedem Taktzyklus die Belegung der Speicherzellen um eine Stufe Bezug nehmend auf 5 nach links geschoben wird, so dass in jedem Taktzyklus der in der Speichereinrichtung 51 gespeicherte Zustand als Zahl ausgegeben wird, während gleichzeitig der Wert am Ausgang der letzten Kombinationseinrichtung 58 in die erste Speichereinheit n der Folge von Speichereinheiten eingespeist wird. Das in 5 dargestellte lineare rückgekoppelte Schieberegister liefert somit eine Folge von Zahlen anspre chend auf eine Folge von Taktzyklen. Die am Ausgang 56 erhaltene Folge von Zahlen hängt von dem Startzustand ab, der durch die Initialisierungseinrichtung 55 vor Inbetriebnahme des Schieberegisters hergestellt wird. Der durch die Initialisierungseinrichtung 55 eingegebene Startwert wird auch als Keim oder Seed bezeichnet, weshalb solche in 5 dargestellte Anordnungen auch als Seed-Generatoren bezeichnet werden.
  • Die an dem Ausgang 56 erhaltene Folge von Zahlen wird als pseudozufällige Folge von Zahlen bezeichnet, da die Zahlen scheinbar zufällig aufeinander folgen, aber insgesamt periodisch sind, obgleich die Periodendauer groß ist. Darüber hinaus ist die Folge von Zahlen eindeutig wiederholbar und damit pseudozufällig, wenn der Initialisierungswert, der durch die Initialisierungseinrichtung 55 den Speicherelementen zugeführt wird, bekannt ist. Solche Schieberegister werden beispielsweise als Key-Stream-Generatoren eingesetzt, um einen von einem speziellen Initialisierungswert (Seed) abhängigen Strom von Ver-/Ent-Schlüsselungsschlüsseln zu liefern.
  • Solche in 5 dargestellten Schieberegister haben den Nachteil einer geringen linearen Komplexität. So genügen bei einem n-Bit-LFSR (LFSR = Linear Feedback Shift Register) 2 n Bits der Ausgabefolge, um die gesamte Folge zu berechnen. Der Vorteil solcher in 5 dargestellten bekannten LFSRs besteht jedoch darin, dass der Hardwareaufwand sehr gering ist.
  • Darüber hinaus existieren unregelmäßig getaktete LFSRs. Diese zeigen einen etwas erhöhten Hardwareaufwand bei einer meist geringeren Periode. Die lineare Komplexität kann jedoch deutlich höher sein. Ein Nachteil solcher unregelmäßig getakteter Vorrichtungen ist jedoch die Tatsache, dass aufgrund der unregelmäßigen Taktung durch Strommessung im Rahmen einer SPA (SPA = Simple Power Analysis) prinzipiell auf die Ausga befolge geschlossen werden könnte. Indem die Schieberegistervorrichtungen als Teile von Schlüsselgeneratoren verwendet werden, die inhärent geheim zu haltende Daten, also Schlüsseldaten, erzeugen, ist es bei ihnen besonders wichtig, dass sie gegen jegliche Art von kryptographischen Angriffen sicher sind.
  • Andererseits besteht jedoch bei solchen Vorrichtungen insbesondere dann, wenn sie auf Chipkarten untergebracht werden sollen, die Anforderung, dass der Hardwareaufwand gering sein muss. In anderen Worten ausgedrückt muss die Chipfläche, die solche Vorrichtungen in Anspruch nehmen, so klein als möglich sein. Dies liegt daran, dass in der Halbleiterherstellung die Chipfläche einer gesamten Vorrichtung letztendlich den Preis und damit die Gewinnmarge des Chipherstellers bestimmt. Ferner ist besonders bei Chipkarten üblicherweise eine Spezifikation so, dass ein Kunde sagt, dass ein Prozessorchip eine maximale Fläche in Quadratmillimetern haben darf, auf der verschiedenartigste Funktionalitäten untergebracht werden müssen. Daher liegt es an dem Schaltungshersteller, diese kostbare Fläche auf die einzelnen Komponenten zu verteilen. Im Hinblick auf die immer komplexer werdenden kryptographischen Algorithmen ist eine Anstrengung des Chipherstellers dahingehend gerichtet, dass der Chip möglichst viel Speicher hat, um auch Arbeitsspeicher-intensive Algorithmen in vertretbarer Zeit berechnen zu können. Die Chipfläche für Schlüsselgeneratoren und andere derartige Komponenten muss daher so klein als möglich gehalten werden, um auf der gegebenen Chipfläche mehr Speicher unterbringen zu können.
  • Die generelle Anforderung an Schlüsselgeneratoren bzw. Vorrichtungen zum Erzeugen einer pseudozufälligen Folge von Zahlen besteht somit darin, einerseits sicher zu sein und andererseits möglichst wenig Platz zu benötigen, also einen möglichst geringen Hardware-Aufwand zu haben.
  • Prinzipiell haben lineare Schieberegister verschiedene Anwendungen in der Codiertheorie, der Kryptographie und weiteren elektrotechnischen Gebieten. Die Ausgangssequenzen linearer Schieberegister haben nützliche strukturelle Eigenschaften, die in algebraische Eigenschaften und Distributionseigenschaften aufgeteilt werden können.
  • Es ist bekannt, dass eine Ausgabesequenz eines n-stufigen linearen Schieberegisters, wie es ausgeführt worden ist, periodisch ist. Die Länge der Periode kann ziemlich groß sein und ist oft bezüglich n, also der Anzahl von Speicherelementen, exponentiell. Die Länge der Periode beträgt insbesondere 2n – 1, wenn dem Schieberegister ein primitives Rückkopplungspolynom zugrunde liegt
  • Die lineare Komplexität einer solchen Sequenz ist jedoch höchstens gleich n. Die lineare Komplexität einer periodischen Folge ist definitionsgemäß gleich der Anzahl der Zellen des kleinstmöglichen Schieberegisters, das die betrachtete Folge erzeugen kann.
  • Aufgrund dieser Tatsache kann gezeigt werden, dass, wie es ausgeführt worden ist, 2 n aufeinanderfolgende Ausdrücke der Sequenz ausreichen, um alle restlichen Ausdrücke der Sequenz vorherzusagen. Darüber hinaus gibt es einen effizienten Algorithmus, den sogenannte Berlekamp-Massey-Algorithmus, um die Parameter zu berechnen, die nötig sind, um die gesamte Sequenz zu erhalten. Daher eignen sich Sequenzen von linearen Schieberegistern trotz ihrer potentiell großen Perioden und ihrer statistisch guten Verteilungseigenschaften nicht direkt als Schlüsselfolgen in sogenannten Stromschiffren. Darüber hinaus existieren andere Anwendungen, bei denen die vergleichsweise niedrige lineare Komplexität einer Sequenz, die durch ein lineares Schieberegister erzeugt wird, als Nachteil zu sehen ist.
  • Üblicherweise werden lineare Schieberegister durch ihr charakteristisches Polynom beschrieben. Der Grad des charakteristischen Polynoms ist gleich der Anzahl von Verzögerungselementen, die typischerweise als Flip-Flops ausgeführt werden, des betrachteten Schieberegisters. Die Exponenten der Terme von f(x) mit Ausnahme des führenden Terms entsprechen den Verzögerungselementen des Schieberegisters, die zu der Rückkopplung beitragen. Das in 5 dargestellte lineare Schieberegister hätte daher ein charakteristisches Polynom der Art: f(x) = xn+1 + xn + ... + x + 1.
  • Werden solche linearen Schieberegister, wie sie in 5 beispielhaft dargestellt sind, mit einem Initialisierungszustand von der Initialisierungseinrichtung 55 geladen, wobei dieser Zustand auch als Anfangs-Zustandsvektor bezeichnet wird, so geben sie typischerweise eine periodische Sequenz aus, die abhängig von der Implementierung eine bestimmte Vorperiode oder Preperiode und eine nachfolgende Periode haben. Lineare Schieberegister sind immer periodisch. In technischen Anwendungen wird häufig angestrebt, dass die Ausgabefolge sowohl eine große Periodenlänge als auch eine hohe lineare Komplexität hat.
  • Die DE 19821004 C2 offenbart einen Sequenzgenerator mit einem Schieberegister mit einer Vielzahl von Registerspeicherstellen und einer Auswahlvorrichtung, um zumindest eine Registerspeicherstelle als Rückführstelle und zumindest eine beliebige Registerspeicherstelle als Zuführstelle auszuwählen. Ferner ist eine Verarbeitungsvorrichtung vorgesehen, um von der zumindest einen als Rückführstelle ausgewählten Registerspeicherstelle empfangene Ausgabesignale zu verarbeiten, um ein Rückführsignal zu erhalten, das dann an der einen oder den mehreren Rückführstellen in das Schieberegister eingespeist wird. Ferner wird das Signal am Ausgang einer Schieberegisterstelle mit einem Rückführsignal, das durch die Zuführstelle zugeführt wird, verarbeitet, um ein verarbeitetes Signal zu erhalten, das dann einer nachfolgenden Stufe höherer Ordnung eingespeist wird.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein verbessertes Konzept zum Erzeugen einer pseudozufälligen Folge von Zahlen zu schaffen.
  • Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1, ein Verfahren gemäß Anspruch 20 oder ein Computerprogramm gemäß Anspruch 21 gelöst.
  • Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass ein aufwandsarm implementierbares und dennoch sicheres Konzept zum Erzeugen einer pseudozufälligen Folge von Zahlen dadurch erreicht werden kann, wenn in der Vorwärtskopplungs einrichtung eine Steuereinrichtung vorgesehen wird, die zwischen zwei Speichereinrichtungen, wie beispielsweise Flip-Flops, eines Schieberegisters geschaltet ist, wobei die Steuereinrichtung wirksam ist, um den Ausgangswert des einen Speicherelements abhängig von einem Steuersignal an einem Steuereingang der Steuereinrichtung zu verändern, so dass das Signal am Eingang des Speicherelements, mit dem die Steuereinrichtung gekoppelt ist, nicht immer gleich dem Ausgangssignal der vorherigen Speichereinrichtung ist, sondern von dem Steuersignal abhängt.
  • Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ist das Steuersignal ein aus einer Rückkopplungseinrichtung des Zufallszahlengenerators abgeleitetes Signal. Damit wird eine beliebig gestaltbare Einflussnahme auf den Signalzug in der Vorwärtskopplungseinrichtung ermöglicht, um eine hohe lineare Komplexität der Ausgangsfolge zu erreichen. Nachdem die Steuereinrichtung durch ein beliebiges Signal angesteuert werden kann, vorzugsweise jedoch durch ein von der Rückkopplungseinrichtung stammendes Signal angesteuert wird, kann je nach Bedarf eine mehr oder weniger große „Unruhe" in dem rückgekoppelten Schieberegister erzeugt werden, um große Periodenlängen und hohe lineare Komplexitäten zu erreichen.
  • Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass das Schieberegister, also die Speichereinrichtungen in der Vorwärtskopplungseinrichtung, mit einem konstanten Takt getaktet werden können, ohne dass Sicherheitsproblematiken im Hinblick auf Seitenkanalattacken entstehen.
  • Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass die Steuereinrichtung einfach implementierbar ist, beispielsweise unter Verwendung lediglich eines Logikgatters, wobei hier insbesondere XOR- oder XNOR-Gatter bevorzugt werden. Jedoch auch andere Logikgatter, die eine Kombination des Eingangssignals in die Steuereinrichtung mit dem Steuersignal bewirken, dienen dazu, in der Vorwärtskopplungseinrichtung gemäß dem Steuersignal im Vergleich zu einem rückgekoppelten Schieberegister ohne Steuersignal hinreichend „Unruhe" zu stiften.
  • Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass die erfindungsgemäße Vorrichtung dann, wenn sie mit einem weiteren Ausgang für eine weitere Folge von Zahlen versehen wird, dazu verwendet werden kann, um zwei Folgen von Zahlen zu erzeugen. Hierbei wird eine Folge von Zahlen signalflußmäßig vor der Steuereinrichtung ausgegeben, während eine andere Folge von Zahlen signalflußmäßig hinter der Steuereinrichtung ausgegeben wird. Dies führt dazu, dass die beiden ausgegebenen Folgen nicht nur, wie in einem üblichen linearen Schieberegister, bis auf eine Verschiebung zueinander identisch sind, sondern dass die beiden ausgegebenen Folgen (vor und hinter der Steuereinrichtung) zueinander unterschiedliche Folgen sind und nicht nur zueinander verschoben sind.
  • Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ist auch die Rückkopplungseinrichtung variabel, um abhängig von einem Zustand einer Speichereinrichtung in der Vorwärtskopplungseinrichtung von einer Rückkopplungseigenschaft in eine andere Rückkopplungseigenschaft überzugehen, was ebenfalls dazu beiträgt, Pseudozufallsfolgen mit großer Periodenlänge und hoher linearer Komplexität zu erzeugen.
  • Bei einem weiteren bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird eine weitere Steuereinrichtung zwischen zwei Speichereinrichtungen in der Vorwärtskopplungseinrichtung eingebracht, wobei die eine Steuereinrichtung direkt von einem in der Rückkopplungseinrichtung anliegenden Signal gesteuert wird, während die andere Steuereinrichtung mit einem Ausgangssignal einer Kombinationseinrichtung versorgt wird, die ein Signal in der Rückkopplungsleitung mit einem Signal, das an einer bestimmten Stelle aus der Vor wärtskopplungseinrichtung abgezweigt wird, kombiniert. Die Kombinationseinrichtung ist vorzugsweise ebenfalls als Logikgatter implementiert, wobei hier ein UND-Gatter besonders bevorzugt wird.
  • Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden somit zwei oder mehrere lineare Schieberegister mit unterschiedlichen (nicht notwendigerweise primitiven) Rückkopplungspolynomen zu einem einzigen Schieberegister überlagert, wobei in Abhängigkeit vom Wert von einer oder mehrerer Registerzellen zwischen den verschiedenen linearen Kopplungen hin- und hergeschaltet wird. Dieser Mechanismus entspricht dem Übergang zu einem nichtlinearen Schieberegister und bewirkt, dass die Ausgabefolge bzw. mehrere Ausgabefolgen eine hohe lineare Komplexität aufweisen.
  • Darüber hinaus werden die Steuereinrichtungen, die vorzugsweise als XOR-Verknüpfungen oder XNOR-Verknüpfungen ausgeführt sind, zwischen den Speichereinrichtungen, die vorzugsweise Flip-Flops sind, angeordnet. Wenn nunmehr z. B. jedes Flip-Flop in der Vorwärtskopplungseinrichtung „angezapft" wird, so sind je nach Anzahl der Steuereinrichtungen in der Vorwärtskopplungseinrichtung eine mehr oder weniger große Anzahl der ausgegebenen Pseudozufallsfolgen tatsächlich unterschiedlich und nicht nur zueinander verschoben.
  • Durch Überlagerung zweier linearer Schieberegister und im Wechsel zwischen ihnen in Abhängigkeit von dem Inhalt ein oder mehrerer Zellen desselben Schieberegisters und durch Einbringen der Steuereinrichtung zwischen den Flip-Flops in der Vorwärtskopplungseinrichtung wird somit ein Zahlenfolgengenerator erzeugt, der mehrere tatsächlich unterschiedliche und nicht nur zueinander verschobene Zahlenfolgen ausgeben kann.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Prinzipblockschaltbild einer erfindungsgemäßen Vorrichtung zum Erzeugen einer pseudozufälligen Folge von Zahlen;
  • 2 ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung am Beispiel eines achtstufigen linearen Schieberegisters mit variabler Rückkopplungseigenschaft;
  • 3 ein Flußdiagramm eines erfindungsgemäßen Verfahrens zum Erzeugen einer pseudozufälligen Folge von Zahlen;
  • 4 einen Ausschnitt eines Blockschaltbilds einer erfindungsgemäßen Vorrichtung zur Demonstration einer alternativen Implementation der Rückkopplungseinrichtung von 2;
  • 5 ein Blockschaltbild einer Ausführung eines Pseudozufallszahlengenerators mit zwei unterschiedlich angesteuerten Steuereinrichtungen zum Ausgeben von zwei tatsächlich unterschiedlichen Pseudozufallsfolgen;
  • 6 ein Pseudozufallszahlengenerator gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung mit acht Schieberegisterzellen; und
  • 7 ein Prinzipblockschaltbild eines bekannten linearen rückgekoppelten Schieberegisters.
  • 1 zeigt eine erfindungsgemäße Vorrichtung zum Erzeugen einer pseudozufälligen Folge von Zahlen mit einer Vorwärts kopplungseinrichtung 1, die eine Folge von Speichereinheiten 2 bis 5 aufweist, und die ferner einen Eingang 6 sowie einen Ausgang 7 umfasst, der dem Ausgang der Vorrichtung zum Ausgeben der Folge von Pseudozufallszahlen entspricht. Es sei darauf hingewiesen, dass die Folge von Pseudozufallszahlen durch weitere Einrichtungen, die in 1 nicht gezeigt sind, ergänzt werden kann, um Folgen von Zufallszahlen zu puffern, auf irgendeine andere Art und Weise zu kombinieren etc.
  • Die in 1 gezeigte erfindungsgemäße Vorrichtung umfasst ferner eine Rückkopplungseinrichtung 8, die eine veränderbare Rückkopplungseigenschaft aufweist und zwischen den Eingang 6 und den Ausgang 7 der Vorwärtskopplungseinrichtung 1 geschaltet ist. Die veränderbare Rückkopplungseigenschaft der Rückkopplungseinrichtung 8 ist in 1 dahingehend dargestellt, dass die Rückkopplungseinrichtung 8 eine erste Rückkopplungseigenschaft 9 oder eine zweite Rückkopplungseigenschaft 10 annehmen kann, wobei zwischen der ersten Rückkopplungseigenschaft 9 und der zweiten Rückkopplungseigenschaft 10 durch eine Umschalteinrichtung 11 z. B. hin- und hergeschaltet werden kann. Das Steuersignal für die Umschalteinrichtung 11 wird lediglich beispielhaft von der vierten Speichereinrichtung SE2 geliefert, wie es durch einen Signalpfad 12 symbolisch dargestellt ist. Die erste Rückkopplungseigenschaft 9 und die zweite Rückkopplungseigenschaft 10 unterscheiden sich bei einem in 1 gezeigten Ausführungsbeispiel dadurch, dass im Falle der ersten Rückkopplungseigenschaft der Zustand der Speichereinrichtung 1 (Nr. 3) in die Rückkopplung eingeht, während im Falle der zweiten Rückkopplungseigenschaft der Zustand der Speichereinrichtung 5 (SEn) zur Rückkopplung beiträgt.
  • Alternativ oder zusätzlich kann die Rückkopplungseinrichtung 8 derart ausgebildet sein, dass in der Rückkopplungseigenschaft, die den Wert am Ausgang 7 der Vorwärtskopplungseinrichtung mit einem inneren Zustand der Vorwärtskopplungsein richtung kombiniert, je nach ausgewählter Rückkopplungseigenschaft eine andere Kombinationsvorschrift eingesetzt wird. So könnte beispielsweise in der ersten Rückkopplungseigenschaft zur Kombination des Werts am Ausgang 7 mit dem Wert der Registerzelle 3 eine UND-Kombination eingesetzt werden, während die zweite Rückkopplungseigenschaft sich von der ersten Rückkopplungseigenschaft dadurch unterscheidet, dass zur Kombination der beiden genannten Werte nicht eine UND-sondern eine OR-Kombination eingesetzt wird. Für Fachleute ist es klar, dass beliebige Arten von unterschiedlichen Kombinationsvorschriften eingesetzt werden können.
  • Darüber hinaus müssen Werte der Speichereinrichtungen SE1 bzw. SEn nicht unmittelbar einer Kombinationseinrichtung in der Rückkopplungseinrichtung zugeführt werden, sondern diese Werte können z. B. invertiert werden, miteinander kombiniert werden oder auf irgend eine andere Art und Weise verarbeitet werden, bevor dann sie verarbeiteten Werte einer Kombinationseinrichtung zugeführt werden.
  • Darüber hinaus ist es nicht wesentlich, dass die Umschalteinrichtung 11 direkt von dem Zustand der Speichereinheit SE2 gesteuert wird. Statt dessen könnte der Zustand der Speichereinrichtung SE2 invertiert werden, auf irgend eine andere Art und Weise logisch oder arithmetisch verarbeitet werden oder sogar mit dem Zustand einer oder mehrerer weiterer Speichereinrichtungen kombiniert werden, so lange eine Vorrichtung zum Erzeugen einer pseudozufälligen Folge von Zahlen erhalten wird, die eine Rückkopplungseinrichtung aufweist, deren Rückkopplungseigenschaft nicht statisch ist, sondern dynamisch abhängig von der Vorwärtskopplungseinrichtung und insbesondere von einem oder mehreren Zuständen in Speichereinheiten der Vorwärtskopplungseinrichtung variierbar ist.
  • Erfindungsgemäß ist in der Vorwärtskopplungseinrichtung 1 von 1 ferner eine Steuereinrichtung 13 eingebracht, die zwischen zwei Speicherelementen angeordnet ist, nämlich bei dem in 1 gezeigten Beispiel den Speicherelementen 4 und 5. Nachdem ein Signalfluss von dem Speicherelement 0 bis zum Speicherelement n in 1 stattfindet, ist das Speicherelement 4 das signalflußmäßig vor der Steuereinrichtung angeordnete Speicherelement, während das Speicherelement 5 das signalflußmäßig nach der Steuereinrichtung angeordnete Signal ist. Die Steuereinrichtung 13 hat einen Steuereingang 13a, der mit einem Steuersignal beaufschlagbar ist, das prinzipiell ein beliebiges Steuersignal sein kann.
  • Das Steuersignal kann beispielsweise eine echte Zufallszahlenfolge sein, so dass die Ausgabefolge der Schieberegisteranordnung eine Zufallszahlenfolge ist. Das Steuersignal kann auch ein deterministisches Steuersignal sein, so dass ausgangsseitig eine Pseudozufallszahlenfolge erhalten wird.
  • Vorzugsweise ist der Steuereingang 13a jedoch, wie es durch die in 1 gezeigte entsprechende gestrichelte Linie dargestellt ist, mit der Rückkopplungseinrichtung 8 verbunden, derart, dass ein Signal in der Rückkopplungseinrichtung das Steuersignal für die Steuereinrichtung 13 liefert, das Steuersignal also ein deterministisches Signal ist.
  • Obgleich bei dem in 1 gezeigten Ausführungsbeispiel die Rückkopplungseinrichtung 8 als variable Rückkopplungseinrichtung bezeichnet ist, kann die Rückkopplungseinrichtung auch eine Rückkopplungseinrichtung mit konstanter Rückkopplungseigenschaft sein, wie es durch eine gestrichelte Linie 14 angedeutet ist. In diesem Fall würde das Steuersignal für den Steuereingang 13a von einem Verzweigungspunkt 14a abgeleitet werden, wie es in 1 schematisch dargestellt ist, und zwar durch die gestrichelte Linie vom Punkt 14a zu dem Steuereingang 13a der Steuereinrichtung 13.
  • Ferner wird, um die Effizienz zu steigern, der in 1 gezeigte Zahlenfolgengenerator dazu verwendet, um nicht nur eine Folge an dem Ausgang 7 zu erzeugen, sondern um eine zweite Folge von vorzugsweise Pseudozufallszahlen an einem weiteren Ausgang 15 zu erzeugen. Das Einfügen der Steuereinrichtung 13 bewirkt, dass die an dem Ausgang 7 ausgegebene Folge tatsächlich unterschiedlich zu der am Ausgang 15 ausgegebenen Folge ist, wobei die beiden Folgen nicht nur zueinander verschoben sind, sondern, wie es ausgeführt worden ist, tatsächlich unterschiedlich sind, da sie signalflußmäßig vor bzw. hinter der Steuereinrichtung 13 „abgezapft" werden.
  • 2 zeigt als bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung ein 8-Bit-Schieberegister, bei dem abhängig von dem Zustand der Speichereinrichtung mit der Nr. 4 ein Multiplexer 20 über einen Steuereingang 20a angesteuert wird. Ist der Steuereingang 20a auf einem Null-Zustand, d. h. liegt in der Speicherzelle mit der Nr. 4 ein Null-Zustand vor, so wird der Multiplexer derart gesteuert, dass er den Zustand der Speichereinrichtung mit der Nr. 7 an einer ersten Eingangsleitung 20b desselben mit einer Ausgangsleitung 20d verbindet. Dies würde der Wirkung eines linearen Schieberegisters mit dem folgende Rückkopplungspolynom entsprechen: x8 + x7 + 1
  • Ist der Steuereingang 20a dagegen auf einem Eins-Zustand, so wird der Zustand der Speichereinrichtung mit der Nr. 6 an einem zweiten Eingang 20c mit der Ausgangsleitung 20d des Multiplexers 20 verbunden. Die Ausgangsleitung 20d ist mit einer Kombinationseinrichtung 21 verbunden, der ferner bei dem in 2 gezeigten Ausführungsbeispiel der Wert am Ausgang 7 der Vorwärtskopplungseinrichtung, der gleichzeitig den Ausgang der Vorrichtung zum Erzeugen einer pseudozufälligen Folge von Zahlen bildet, zugeführt. Das Ergebnis, das durch die Kombinationseinrichtung 21 berechnet wird, wird wiederum der ersten Speichereinrichtung mit der Nr. 7 in 2 zugeführt.
  • Ist daher der Inhalt der Speicherzelle mit der Nr. 4 gleich 1, so liegt folgendes Rückkopplungspolynom vor: x8 + x6 + 1
  • Aus dem vorstehenden wird ersichtlich, dass zwischen den beiden genannten Rückkopplungspolynomen umgeschaltet wird, und zwar abhängig von dem Inhalt der Speicherzelle mit der Nr. 4 der Vorwärtskopplungseinrichtung 1.
  • Es hat sich herausgestellt, dass die linearen Komplexitäten von erfindungsgemäß erhaltenen Sequenzen hoch sind, nämlich zwischen 234 und 254, wenn das Schieberegister 8 Flip-Flops hat. Es sei darauf hingewiesen, dass die Periodenlänge einer Sequenz, die durch ein beliebiges achtstufiges Schieberegister erzeugt wird, maximal 255 betragen kann. Der maximale Wert für die lineare Komplexität einer solchen Sequenz beträgt 254.
  • Das einfachste von allen achtstufigen Schieberegistern, die eine Sequenz erzeugen können, ist das in 2 dargestellte Schieberegister mit den beiden in 2 dargestellten Rückkopplungspolynomen. Im Hinblick auf die Theorie der linearen Schieberegister als Vergleichsbeispiel sei darauf hingewiesen, dass es 16 primitive Polynome des Grads 8 gibt. Jedes derartige Polynom beschreibt ein lineares Schieberegister das eine Sequenz der Periodenlänge 255 und der linearen Komplexität 8 erzeugen kann. Demgegenüber existieren viel mehr Schieberegister – nämlich 2020 – gemäß der vorliegenden Erfindung, die Sequenzen der Periodenlänge 255 gemäß der vorliegenden Erfindung erzeugen können.
  • Darüber hinaus haben die Sequenzen, die durch die erfindungsgemäßen Schieberegister erzeugt werden, viel größere lineare Komplexitäten als ihre analogen Ausführungen gemäß dem Stand der Technik. Wie es ausgeführt worden ist, wird unter allen untersuchten Möglichkeiten für ein 8-Bit-Schieberegister mit Rückkopplungseinrichtung die in 2 gezeigte Ausführungsform bevorzugt, da sie den einfachsten Hardware-Aufwand mit sich bringt, gleichzeitig eine maximale Periodendauer hat und ferner eine maximale lineare Komplexität aufweist.
  • In 2 ist ferner wieder eine erfindungsgemäße Steuereinrichtung 13 zwischen zwei Speicherelementen angeordnet, wobei dies die Speicherelemente 1 und 2 sind. Die Steuereinrichtung 13 wird mit einem Steuersignal versorgt, das aus der Rückkopplungseinrichtung 8 mit variabler Rückkopplungseigenschaft abgezapft wird. Selbstverständlich könnte das Signal für die Steuereinrichtung auch signalflußmäßig nach dem XOR-Gatter 21 „abgezapft" werden. Darüber hinaus kann die Steuereinrichtung 13 selbstverständlich auch zwischen zwei beliebigen anderen Speicherzellen ausgebildet sein, wie z. B. zwischen den Speicherzellen 5 und 6 oder zwischen den Speicherzellen 0 und 7, also entweder in Signalflussrichtung hinter der Speicherzelle 0, so dass unmittelbar das Signal am Ausgang der Speichereinrichtung an dem Ausgang 7 ausgegeben wird, oder unmittelbar vor der Speicherzelle 7.
  • Aus Signalverarbeitungsgründen wird es jedoch bevorzugt, dass sämtliche Signale, wie z. B. Ausgangsfolgen, Steuersignale und Datensignale für den Multiplexer etc. am Ausgang von Schieberegistern abgegriffen werden, so dass das Schieberegister neben seiner Funktionalität zum Erzeugen der Zahlenfolge auch dazu dient, stabile Signale für Logikgatter zu liefern. Damit müssen keine entsprechenden Ausgangsstufen für Logikgatter erzeugt werden, wenn von den Ausgängen der Logikgatter selbst Steuersignale oder Ausgangssignale abgezapft werden.
  • Nachfolgend wird auf 4 Bezug genommen, um eine spezielle Implementation der Multiplexereinrichtung 20 von 2 darzustellen. Der Multiplexer 20 kann ohne weiteres durch zwei UND-Gatter 40a, 40b implementiert werden, die beide mit seriell geschalteten ODER-Gattern (oder XOR-Gattern) 41a, 41b so verbunden sind, wie es in 4 gezeigt ist. Im einzelnen wird der Zustand der Speicherzelle 4 dem ersten UND-Gatter 40a zugeführt, während der invertierte Zustand der Speicherzelle 4 dem zweiten UND-Gatter 40b zugeführt wird. Zur Bestimmung des entsprechenden Rückkopplungspolynoms wird der Inhalt der Speicherzelle 6 dem ersten UND-Gatter 40a als zweiter Eingang zugeführt, während der Inhalt der Speicherzelle 7 dem zweiten UND-Gatter 40b als zweiter Eingang zugeführt wird. Ferner sei darauf hingewiesen, dass die beiden hintereinander geschalteten ODER-Gatter 41a, 41b alternativ implementiert werden können. Wenn jedoch Implementationen benötigt werden, bei denen jedes logische Gatter zwei Eingänge und einen Ausgang hat, ist die in 4 gezeigte beispielhafte Darstellung vorteilhaft.
  • 3 zeigt ein Flußdiagramm eines erfindungsgemäßen Verfahrens zum Erzeugen einer pseudozufälligen Folge von Zahlen unter Verwendung einer Vorwärtskopplungseinrichtung 1 mit einer Mehrzahl von Speichereinrichtungen, die einen Eingang und einen Ausgang zum Ausgeben der Folge von Zahlen aufweist, und einer Rückkopplungseinrichtung, die eine veränderbare Rückkopplungseigenschaft aufweist und zwischen den Eingang und den Ausgang geschaltet ist. Das Verfahren umfasst zunächst einen Schritt des Initialisierens 30 der Speichereinrichtung in der Vorwärtskopplungseinrichtung auf einen vorbestimmten Startwert.
  • Ansprechend auf einen Zustand einer Speichereinrichtung der Mehrzahl von Speichereinrichtungen der Vorwärtskopplungseinrichtung wird in einem Schritt 32 die Steuerungseinrichtung abhängig von dem Rückkopplungssignal gesteuert. Hierauf wird ein Zustand einer Speichereinrichtung, die mit dem Ausgang der Vorwärtskopplungseinrichtung 1 verbunden ist, ausgegeben (Schritt 34), um eine Zahl der Folge von Zufallszahlen zu erhalten. Hierauf wird in einem Entscheidungsblock 36 untersucht, ob weitere Zufallszahlen benötigt werden. Wird diese Frage mit nein beantwortet, so wird das Verfahren in einem Schritt 38 beendet. Wird dagegen festgestellt, dass weitere Zahlen benötigt werden, so wird der Entscheidungsblock 36 mit „ja" beantwortet, woraufhin ein Schritt 39 folgt, in dem die Mehrzahl von Speichereinrichtungen basierend auf einem vorherigen Zustand der Speichereinrichtung und auf einer Ausgabe der Rückkopplungseinrichtung neu belegt werden. Wie es durch eine Schleife 37 angedeutet ist, werden die Schritte des Steuerns der Steuerungseinrichtung 32, Ausgebens 34 und Neubelegens 39 so oft wie gewünscht wiederholt, um schließlich die pseudozufällige Folge von Zahlen zu erhalten.
  • Es sei darauf hingewiesen, dass das erfindungsgemäße Verfahren unter Verwendung eines regelmäßigen Takts durchgeführt werden kann, oder auch unter Verwendung eines unregelmäßigen Takts, obgleich die Variante mit regelmäßigem Takt im Hinblick auf eine bessere Sicherheit gegenüber Leistungs- oder Zeit-Attacken bevorzugt wird.
  • Im Falle des in 2 dargestellten linearen Schieberegisters wird darauf hingewiesen, dass das Neubelegen der Mehrzahl von Speichereinrichtungen seriell erfolgt, und zwar basierend auf dem vorherigen Zustand der Speichereinrichtungen, der – insgesamt gesehen – um einen Schritt nach links verschoben wird, so dass ausgangsseitig ein Zustand der Speichereinrichtung 0 „herausfällt". Dieser „herausgefallene" Wert ist die Zahl, die im Schritt 34 ausgegeben wird. Durch das Links-Verschieben des insgesamt betrachteten Zustands der gesamten Speichereinrichtungen kann die ganz rechte Speichereinrichtung mit der Nr. 7 in 2 neu belegt werden. Die Mehrzahl von Speichereinrichtungen und insbesondere die Speichereinrichtung 7 wird daher abhängig von einer Ausgabe der Rückkopplungseinrichtung zum aktuellen Taktzeitpunkt neu belegt.
  • 5 zeigt ein alternatives Ausführungsbeispiel der vorliegenden Erfindung, bei dem die in 1 mit dem Bezugszeichen 14 bezeichnete Alternative der Rückkopplungseinrichtung dargestellt ist. Insbesondere ist die Rückkopplungseinrichtung 14 in 5 derart ausgebildet, dass sie keine variable Rückkopplungseigenschaft hat, sondern eine konstante Rückkopplungseigenschaft hat. Die erfindungsgemäßen Vorteile werden dadurch erreicht, dass in der Vorwärtskopplungseinrichtung zumindest eine Steuereinrichtung 13 und vorzugsweise eine weitere Steuereinrichtung 60 angeordnet sind.
  • Bei dem in 5 gezeigten Ausführungsbeispiel wird die Steuereinrichtung 13 mit einem Steuersignal gesteuert, das direkt von der Rückkopplungseinrichtung 14 abgeleitet wird. Bei der in 5 gezeigten Vorwärtskopplungseinrichtung sind lediglich zwei Speichereinrichtungen 2 und 3 vorgesehen, wobei die erste Steuereinrichtung 13 zwischen der Speicherzelle 2 und 3 geschaltet ist, während die zweite Steuereinrichtung 60 zwischen der Speicherzelle 3 und (über die Rückkopplungseinrichtung 14) der Speicherzelle 2 geschaltet ist. Ferner ist in 5 ein Signalfluss durch einen Pfeil 61 markiert, der den Signalfluss in der Vorwärtskopplungseinrichtung darstellt, der sich bei dem in 5 gezeigten Ausführungsbeispiel von rechts nach links erstreckt. Ein Bit gelangt zunächst in die Speichereinrichtung D2. Damit wird das in D2 gespeicherte Bit ausgegeben und bildet ein Bit der ersten Folge. Gleichzeitig wird das von der Speichereinrichtung 2 ausgegebene Bit mit einem gerade auf der Rückkopplungseinrichtung 14 anliegenden Bit bei dem in 5 gezeigten Ausführungsbeispiel XOR-verknüpft, um an einem Ausgang der XOR-Verknüpfung ein Ergebnisbit zu erhalten, das dann beim nächsten Zyklus in das Speicherelement 3 eingetaktet wird. Damit wird das gerade in dem Speicherelement 3 befindliche Bit aus dem Speicherelement 3 herausgetaktet und stellt damit ein Bit der zweiten Pseudozufallsfolge von Zahlen dar. Das Bit am Ausgang der Speicherzelle 3 wird dann mit einem Steuersignal für die zweite Steuereinrichtung 60 XOR-verknüpft, wobei das Steuersignal aus dem Signal an der Rückkopplungseinrichtung 14 und dem Ausgangssignal der ersten Steuereinrichtung 13 mittels einer Kombinationseinrichtung erzeugt wird. Die Kombinationseinrichtung 62 ist vorzugsweise ein logisches Gatter und insbesondere bei dem in 5 gezeigten Ausführungsbeispiel ein UND-Gatter. Die erste Folge wird über einen Ausgang 7 ausgegeben, während die zweite Folge über einen Ausgang 15 ausgegeben wird. Die beiden über die Ausgänge 7 und 15 ausgegebenen Folgen sind tatsächlich unterschiedlich und nicht nur phasenverschoben zueinander.
  • Um die Implementierung des XOR-Gatters 60 zu vereinfachen, wird bei einem anderen bevorzugten Ausführungsbeispiel in Signalflussrichtung hinter dem XOR-Gatter 60 noch ein weiteres Speicherelement vorgesehen, wobei dann, am Ausgang dieses Speicherelements, eine Folge ausgegeben wird, die lediglich phasenverschoben zu der ersten Folge am Ausgang 7 ist, die jedoch grundsätzlich unterschiedlich zur zweiten Folge am Ausgang 15 ist.
  • 6 zeigt ein erfindungsgemäßes 8-Bit-Schieberegister mit Flip-Flops D0 - D7, die seriell zueinander geschaltet sind, wobei ferner zwischen dem vierten und dem dritten Flip-Flop die zweite Steuereinrichtung 60 vorgesehen ist, während zwischen dem siebten und dem sechsten Flip-Flop die erste Steuereinrichtung 13 vorgesehen ist. Die erste Steuereinrichtung 13 wird wieder direkt mit dem Rückkopplungssignal auf der Rückkopplungseinrichtung 14 versorgt, während die zweite Steuereinrichtung 60 mit dem Ausgangssignal des UND-Gatters 62 versorgt wird, das wiederum von der Rückkopplungseinrichtung 14 einerseits und dem Ausgangssignal der fünften Zelle D5 andererseits versorgt wird. In Analogie zu dem in 5 gezeigten Ausführungsbeispiel stellt die Ausgangsfolge der vierten Zelle D4 die zweite Pseudozufallszahlenfolge dar, während die Ausgangsfolge der siebten Zelle D7 die erste Zufallszahlenfolge darstellt.
  • Die in den 5 und 6 gezeigten Ausführungsbeispiele unterscheiden sich dahingehend, dass zwischen den beiden Steuereinrichtungen zwei weitere Registerzellen D5, D6 geschaltet sind, und dass am Ausgang der XOR-Steuereinrichtung 60 weitere Speicherzellen D0 - D3 ausgebildet sind, so dass ein 8-Bit-Schieberegister entsteht. Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird, um einen besonders effizienten Pseudozufallszahlengenerator zu erhalten, an dem Ausgang von jeder Speicherzelle D0 - D7 eine Pseudozufallszahlenfolge abgezapft. Insbesondere sind die beiden Folgen, die von den Zellen D4 und D5 ausgegeben werden, verschobene Versionen der Folge, die von der Zelle D6 ausgegeben wird. Ferner sind die vier Folgen, die von den Zellen D2, D1, D0 und D7 ausgegeben werden, verschobene Versionen der Folge, die von der Zelle D3 ausgegeben wird. Damit ist jede Folge der Zellen D7, D0, D1, D2, D3 zu einer Folge der Zellen D4, D5, D6 essentiell verschieden.
  • Es sei darauf hingewiesen, dass der Anfangszustand, mit dem das Schieberegister initialisiert wird, als der sogenannte Seed oder Keim, der Bezug nehmend auf 7, Element 55, erläutert worden ist, dahingehend gestaltet sein soll, dass er zumindest einen Wert für ein Speicherelement umfasst, der ungleich Null ist, damit das Schieberegister gewissermaßen „anläuft" und nicht an den acht Ausgängen acht Nullfolgen ausgibt. Dann, wenn diese Bedingung erfüllt ist, sind alle acht Folgen maximal periodisch, d. h. haben eine Periodenlänge von 255. Ferner hat jede der acht ausgegebenen Folgen bei dem in 6 gezeigten Ausführungsbeispiel die maximale lineare Komplexität 254. Darüber hinaus sind, wie es ausgeführt worden ist, die beiden Folgen, die von den Zellen D3 und D6 ausgegeben werden, essentiell verschieden.
  • Wie es aus 6 ferner ersichtlich wird, ist hier die Speicherzelle D5 die Steuerungszelle. Wenn die Zelle D5 eine Null enthält, dann wird die Wirkung der Steuereinrichtung 60 zwischen den Zellen D3 und D4 unterdrückt. Nur das XOR zwischen den Zellen D6 und D7 findet dann Anwendung. Wenn die Zelle D5 dagegen eine 1 umfasst, kommen beide XOR-Einrichtungen 13 und 60 zur Anwendung.
  • Das erfindungsgemäße Verfahren, wie es anhand von 3 dargestellt worden ist, kann abhängig von den vorliegenden Gegebenheiten in Hardware in Form einer Zustandsmaschine oder in Software unter Verwendung eines programmierbaren Prozessors implementiert werden. Die vorliegende Erfindung betrifft somit ein computerlesbares Medium, auf dem die Schritte des erfindungsgemäßen Verfahrens in Form eines Codes gespeichert sind, der, wenn er auf einem entsprechenden Prozessor abgearbeitet wird, in einer Ausführung des erfindungsgemäßen Verfahrens resultiert. Die vorliegende Erfindung betrifft somit auch ein Computer-Programm, das, wenn es auf einem Computer ausgeführt wird, in einer Ausführung des erfindungsgemäßen Verfahrens resultiert.
  • 1
    Vorwärtskopplungseinrichtung
    2
    Speichereinrichtung
    3
    Speichereinrichtung
    4
    Speichereinrichtung
    5
    Speichereinrichtung
    6
    Eingang der Vorwärtskopplungseinrichtung
    7
    Ausgang der Vorwärtskopplungseinrichtung
    8
    Rückkopplungseinrichtung
    9
    erste Rückkopplungseigenschaft
    10
    zweite Rückkopplungseigenschaft
    11
    Auswahleinrichtung
    12
    Steuerleitung für die Auswahleinrichtung
    13
    erste Steuereinrichtung
    13a
    Steuereingang der ersten Steuereinrichtung
    14
    Rückkopplungseinrichtung
    14a
    Abzweigungspunkt
    15
    Ausgang für die zweite Folge
    20
    Auswahleinrichtung
    20a
    Steuereingang
    20b
    erster Eingang
    20c
    zweiter Eingang
    20d
    Ausgang
    21
    Kombinationseinrichtung
    30
    Initialisierungsschritt
    32
    Einstellungsschritt
    34
    Ausgabeschritt
    36
    Entscheidungsschritt
    37
    Wiederholungsschleife
    38
    Ende
    39
    Neubelegungsschritt
    40a
    erstes UND-Gatter
    40b
    zweites UND-Gatter
    41a
    erstes ODER-Gatter
    41b
    zweites ODER-Gatter
    51
    Speicherzelle
    52
    Speicherzelle
    53
    Speicherzelle
    54
    Speicherzelle
    55
    Initialisierungseinrichtung
    56
    Ausgang
    57
    erste ODER-Verknüpfung
    58
    zweite ODER-Verknüpfung
    59a
    erste Rückkopplungsleitung
    59b
    zweite Rückkopplungsleitung
    59c
    dritte Rückkopplungsleitung
    60
    zweite Steuereinrichtung
    61
    Signalflussrichtung in der Vorwärtskopplungseinrichtung
    62
    Kombinationseinrichtung

Claims (21)

  1. Vorrichtung zum Erzeugen einer Folge von Zahlen mit folgenden Merkmalen: einer Vorwärtskopplungseinrichtung (1) mit mehreren Speichereinrichtungen (2, 3, 4, 5), wobei die Vorwärtskopplungseinrichtung (1) einen Eingang (6) und einen Ausgang (7) aufweist; einer Rückkopplungseinrichtung (8, 14), die zwischen den Eingang (6) und den Ausgang (7) der Vorwärtskopplungseinrichtung geschaltet ist, wobei die Rückkopplungseinrichtung (8) folgende Merkmale aufweist: eine Auswahleinrichtung (20) mit einem ersten Eingang (20b), einem zweiten Eingang (20c), einem Steuereingang (20a) und einem Ausgang (20d), wobei die Auswahleinrichtung (20) ausgebildet ist, um abhängig von einem Zustand einer Speichereinrichtung entweder den ersten Eingang (20b) oder den zweiten Eingang (20c) mit dem Ausgang (20d) zu verbinden; und eine Kombinationseinrichtung (21) zum Kombinieren des Ausgangs (20d) der Auswahleinrichtung (20) mit einem Ausgang (7) der Vorwärtskopplungseinrichtung (1), um einen Wert zu erhalten, der in den Eingang (6) der Vorwärtskopplungseinrichtung einspeisbar ist oder in eine Recheneinrichtung einspeisbar ist, deren Ausgangswert in den Eingang (6) der Vorwärtskopplungseinrichtung einspeisbar ist; einer in der Vorwärtskopplungseinrichtung (1) enthaltenen Steuereinrichtung (13) mit einem Steuereingang (13a), die zwischen zwei Speichereinrichtungen geschaltet ist und so ausgebildet ist, dass abhängig von einem an dem Steuereingang (13a) anliegenden Steuersignal ein Signal zwischen den zwei Speichereinrichtungen beeinflussbar ist; und einem Ausgang (7, 15) für die Folge von Zahlen, der mit einem Ausgang einer Speichereinrichtung oder mit einem Ausgang der Steuereinrichtung verbunden ist.
  2. Vorrichtung nach Anspruch 1, bei der die Rückkopplungseinrichtung (8, 14) einen Rückkopplungseinrichtungsausgang (14a) zum Liefern eines Rückkopplungssignals in der Rückkopplungseinrichtung aufweist, wobei der Rückkopplungseinrichtungsausgang (14a) mit dem Steuereingang (13a) der Steuereinrichtung (13) in der Vorwärtskopplungseinrichtung (1) gekoppelt ist, so dass die Steuereinrichtung (13) abhängig von dem Rückkopplungssignal steuerbar ist.
  3. Vorrichtung nach Anspruch 1 oder 2, bei der die Rückkopplungseinrichtung (8) eine veränderbare Rückkopplungseigenschaft (9, 10) aufweist, wobei die Rückkopplungseinrichtung ausgebildet ist, um abhängig von einem Zustand einer Speichereinrichtung (3) die Rückkopplungseigenschaft (9, 10) zu verändern.
  4. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die veränderbare Rückkopplungseigenschaft ein erstes Rückkopplungspolynom (9) und ein zweites Rückkopplungspolynom (10) aufweist, wobei sich das zweite Rückkopplungspolynom von dem ersten Rückkopplungspolynom unterscheidet.
  5. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Vorwärtskopplungseinrichtung (1) wenigstens drei Speichereinrichtungen (3, 4, 5) aufweist, die seriell geschaltet sind, und bei der die Rückkopplungseinrichtung (8) ausgebildet ist, um bei einem ersten Zustand einer ersten (4) der Speicherein richtungen als erste Rückkopplungseigenschaft einen Zustand einer zweiten Speichereinrichtung (3) für eine Rückkopplung zu verwenden, und bei der die Rückkopplungseinrichtung (8) ausgebildet ist, um bei einem zweiten Zustand der ersten Speichereinrichtung (4) als zweite Rückkopplungseigenschaft (10) einen Zustand einer dritten Speichereinrichtung (5) für eine Rückkopplung zu verwenden.
  6. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Rückkopplungseinrichtung (8) ausgebildet ist, um als veränderbare Rückkopplungseigenschaft eine Kombination aus einer Zahl an dem Ausgang (7) der Vorwärtskopplungseinrichtung (1) und einem Zustand zumindest einer der Mehrzahl von Speichereinrichtungen (2, 3, 4, 5) zu verwenden.
  7. Vorrichtung nach Anspruch 6, bei der die Rückkopplungseinrichtung (8) ausgebildet ist, um eine Art der Kombination abhängig von einem Zustand einer Speichereinrichtung zu variieren.
  8. Vorrichtung nach Anspruch 6 oder 7, bei der die Rückkopplungseinrichtung (8) ausgebildet ist, um abhängig von einem Zustand einer Speichereinrichtung (4) eine Speichereinrichtung auszuwählen, deren Zustand mit der Zahl an dem Ausgang (7) der Vorwärtskopplungseinrichtung (1) kombiniert wird.
  9. Vorrichtung nach einem der vorhergehenden Ansprüche, die ferner folgendes Merkmal aufweist: eine Takteinrichtung zum Liefern eines regelmäßigen Taktes für die Vorwärtskopplungseinrichtung (1).
  10. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Mehrzahl von Speichereinrichtungen auf unterschiedliche Ausgangszustände initialisierbar ist.
  11. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Folge von Zahlen eine Folge von Bits ist, bei der die Vorwärtskopplungseinrichtung (1) eine Folge von binären Speicherelementen umfasst, und bei der die Rückkopplungseinrichtung (8) in binärer Logik ausgebildet ist.
  12. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die mehreren Speichereinrichtungen (2, 3, 4, 5) so in einer seriellen Struktur angeordnet sind, dass sich ein der Vorwärtskopplungseinrichtung (1) zugeführtes Signal in einer definierten Signalflussrichtung (61) durch die Vorwärtskopplungseinrichtung ausbreiten kann, wobei die Vorrichtung einen weiteren Ausgang (15) für eine weitere Folge von Zahlen aufweist, und wobei der eine Ausgang an einer Stelle in der Vorwärtskopplungseinrichtung angeordnet ist, die sich signalflußmäßig vor einer Stelle in der Vorwärtskopplungseinrichtung befindet, bei der der zweite Ausgang angekoppelt ist, und wobei die Steuereinrichtung signalflußmäßig zwischen der einen Stelle und der anderen Stelle angeordnet ist.
  13. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Rückkopplungseinrichtung einen Ausgang zum Liefern eines Rückkopplungssignals in der Rückkopplungseinrichtung aufweist, wobei die Vorrichtung ferner eine Kombinationseinrichtung (62) zum Kombinieren eines Signals an einer Stelle in der Vorwärtskopplungseinrichtung mit dem Rückkopplungssignal aufweist, um ein Kombinationssignal zu liefern, und bei der der Steuereingang der Steuereinrichtung (13, 60) mit dem Kombinationssignal beaufschlagbar ist.
  14. Vorrichtung nach einem der vorhergehenden Ansprüche, die ferner folgende Merkmale aufweist: eine weitere Steuereinrichtung (60), die zwischen zwei Speichereinrichtungen (D1, D2) geschaltet ist, so dass zwischen der einen Steuereinrichtung (13) und der weiteren Steuereinrichtung (60) zumindest eine Speichereinrichtung angeordnet ist, wobei die weitere Steuereinrichtung (60) ausgebildet ist, um abhängig von einem Steuersignal an einem Steuereingang der weiteren Steuereinrichtung ein Signal zwischen den zwei Speichereinrichtungen (D1, D2) zu beeinflussen.
  15. Vorrichtung nach Anspruch 14, bei der der Steuereingang der einen Steuereinrichtung (13) mit einem in der Rückkopplungseinrichtung vorhandenen Signal beaufschlagbar ist, und bei der der Steuereingang der weiteren Steuereinrichtung (60) mit einer Kombination aus dem in der Rückkopplungseinrichtung vorhandenen Signal und einem an einer vorbestimmten Stelle in der Vorwärtskopplungseinrichtung vorhandenen Signal beaufschlagbar ist.
  16. Vorrichtung gemäß Anspruch 15, bei der die Speichereinrichtungen der Vorwärtskopplungseinrichtung in einer seriellen Struktur angeordnet sind, so dass sich ein der Vorwärtskopplungseinrichtung zugeführtes Signal in einer definierten Signalflussrichtung durch die Vorwärtskopplungseinrichtung ausbreiten kann, und bei der die vorbestimmte Stelle, von der ein Signal abgeleitet wird, das zu der Kombination beiträgt, signalflußmäßig vor der weiteren Steuereinrichtung (60) angeordnet ist.
  17. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Speichereinrichtungen zum Speichern eines binären Zustands ausgebildet sind, bei der die Steuereinrichtung (13) ein Logikgatter aufweist, und bei der das Steuersignal ein binäres Signal ist, wobei ein erster Eingang des Logikgatters (13) mit einem Ausgang eines Registers (D2) verbunden ist, wobei ein zweiter Eingang des Logikgatters den Steuereingang (13a) bildet, und wobei ein Ausgang des Logikgatters mit einem Eingang eines anderen Registers (D1) verbunden ist.
  18. Vorrichtung nach einem der vorhergehenden Ansprüche bei der die Steuereinrichtung (13, 60) ein XOR- oder ein XNOR-Gatter aufweist.
  19. Vorrichtung nach einem der Ansprüche 15 bis 18, bei der zwischen der einen (13) und der weiteren (60) Steuereinrichtung zumindest zwei seriell geschaltete Speichereinrichtungen angeordnet sind, wobei der Ausgang mit einem der zwei Speichereinrichtungen verbunden ist und wobei ein weiterer Ausgang mit der anderen Speichereinrichtung verbunden ist, um zueinander verschobene pseudozufällige Folgen an den Ausgängen (7, 15) zu liefern.
  20. Verfahren zum Erzeugen einer pseudozufälligen Folge von Zahlen unter Verwendung einer Vorwärtskopplungseinrichtung (1) mit mehreren Speichereinrichtungen (2, 3, 4, 5), wobei die Vorwärtskopplungseinrichtung (1) einen Eingang (6) und einen Ausgang (7) aufweist, einer Rückkopplungseinrichtung (8, 14), die zwischen den Eingang (6) und den Ausgang (7) der Vorwärtskopplungseinrichtung geschaltet ist, und eine Auswahleinrichtung (20) mit einem ersten Eingang (20b), einem zweiten Eingang (20c), einem Steuereingang (20a) und einem Ausgang (20d), und eine Kombinationseinrichtung (21) zum Kombinieren des Ausgangs (20d) der Auswahleinrichtung (20) mit einem Ausgang (7) der Vorwärtskopplungseinrichtung (1), aufweist, einer in der Vorwärtskopplungseinrichtung (1) enthaltenen Steuereinrichtung (13) mit einem Steuereingang (13a), die zwischen zwei Speichereinrichtungen geschaltet ist und so ausgebildet ist, dass abhängig von einem an dem Steuereingang (13a) anliegenden Steuersignal ein Signal zwischen den zwei Speichereinrichtungen beeinflussbar ist, und einem Ausgang (7, 15) für die Folge von Zahlen, der mit einem Ausgang einer Speichereinrichtung oder mit einem Ausgang der Steuereinrichtung verbunden ist, mit folgenden Schritten: Initialisieren (30) der Speichereinrichtungen der Vorwärtskopplungseinrichtung auf einen vorbestimmten Startwert; ansprechend auf einen Zustand einer ausgewählten Speichereinrichtung, Steuern (32) der Steuerungseinrichtung (13) abhängig von einem Signal in der Rückkopplungseinrichtung (8, 14); abhängig von einem Zustand einer Speichereinrichtung, Verbinden entweder des ersten Eingangs (20b) oder des zweiten Eingangs (20c) mit dem Ausgang (20d) der Auswahleinrichtung (20); Kombinieren (21) des Ausgangs (20d) der Auswahleinrichtung (20) mit einem Ausgang (7) der Vorwärtskopplungseinrichtung (1), um einen Wert zu erhalten, der in den Eingang (6) der Vorwärtskopplungseinrichtung eingespeist wird oder in eine Recheneinrichtung eingespeist wird ist, deren Ausgangswert in den Eingang (6) der Vorwärtskopplungseinrichtung eingespeist wird; Ausgeben (34) eines Zustands einer Speichereinrichtung oder eines Zustands an einem Ausgang der Steuerungseinrichtung (13), um eine Zahl der Folge von Zahlen zu erhalten; Neubelegen (39) der Mehrzahl von Speichereinrichtungen basierend auf einem vorherigen Zustand der Speichereinrichtungen und auf einer Ausgabe der Rückkopplungseinrichtung (8); und Wiederholen (37) der Schritte des Steuerns (32), Verbindens, Kombinierens (21), Ausgebens (34) und Neubelegens (39), um die Folge von Zahlen zu erhalten.
  21. Computerprogramm mit einem Programmcode zum Durchführen des Verfahrens gemäß Patentanspruch 20, wenn das Computerprogramm auf einem Computer abläuft.
DE2003119508 2003-04-30 2003-04-30 Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen Expired - Fee Related DE10319508B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE2003119508 DE10319508B4 (de) 2003-04-30 2003-04-30 Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen
FR0404631A FR2854511B1 (fr) 2003-04-30 2004-04-30 Dispositif et procede pour produire une suite de nombres

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003119508 DE10319508B4 (de) 2003-04-30 2003-04-30 Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen

Publications (2)

Publication Number Publication Date
DE10319508A1 DE10319508A1 (de) 2004-12-02
DE10319508B4 true DE10319508B4 (de) 2006-10-19

Family

ID=33154486

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003119508 Expired - Fee Related DE10319508B4 (de) 2003-04-30 2003-04-30 Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen

Country Status (2)

Country Link
DE (1) DE10319508B4 (de)
FR (1) FR2854511B1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835488A (en) * 1995-05-24 1998-11-10 Sony Corporation Pseudo random noise sequence code generator and CDMA radio communication terminal
DE19821004C2 (de) * 1998-05-11 2000-03-23 Ericsson Telefon Ab L M Sequenzgenerator

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4974184A (en) * 1988-05-05 1990-11-27 Honeywell Inc. Maximum length pseudo-random test pattern generator via feedback network modification

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835488A (en) * 1995-05-24 1998-11-10 Sony Corporation Pseudo random noise sequence code generator and CDMA radio communication terminal
DE19821004C2 (de) * 1998-05-11 2000-03-23 Ericsson Telefon Ab L M Sequenzgenerator

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JP 03121613 A. In: Patents Abstracts of Japan *
JP 05291891 A. In: Patents Abstracts of Japan *

Also Published As

Publication number Publication date
FR2854511B1 (fr) 2007-02-09
DE10319508A1 (de) 2004-12-02
FR2854511A1 (fr) 2004-11-05

Similar Documents

Publication Publication Date Title
DE10357782B3 (de) Vorrichtung und Verfahren zum Erzeugen von Zufallszahlen mit einem Pseudozufallsgenerator
DE10339999B4 (de) Pseudozufallszahlengenerator
DE10347455B4 (de) Pseudozufallszahlengenerator für einen Stream Cipher
DE10201449C1 (de) Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor
DE102005010779B4 (de) Schlüsseldispositionsvorrichtung und System zur Ver-/Entschlüsselung von Daten
DE102004013480B4 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
EP2446580B1 (de) Vorrichtung und verfahren zur bildung einer signatur
DE19821004C2 (de) Sequenzgenerator
DE112008001707T5 (de) Finite-Feld-Operationen verwendender kryptographischer Zufallszahlengenerator
EP1324188A2 (de) Verfahren zum Multiplizieren zweier Faktoren aus dem Galois-Feld sowie Multiplizierer zum Durchführen des Verfahrens
EP1556754B1 (de) Vorrichtung und verfahren zum erzeugen einer pseudozufälligen folge von zahlen
DE10319508B4 (de) Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen
DE10061315A1 (de) Verfahren und Vorrichtung zum Erzeugen einer Pseudozufallsfolge
DE102004037814B4 (de) Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen
DE69832755T2 (de) Schaltung und Verfahren zum beliebigen Verschieben von M-Sequenzen
DE102004013481B4 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen mit externer Auffrischung
AT515097B1 (de) Verschlüsselungsverfahren und Pseudo-Zufallszahlengenerator
WO2003075507A1 (de) Codegenerator und vorrichtung zur synchronen oder asynchronen sowie permanenten identikation oder ver- und entschlüsselung von daten beliebiger lange
DE102004042756B3 (de) Verfahren und Anordnung zur Erzeugung von Pseudozufallszahlen
DE1449564A1 (de) Recheneinrichtung fuer digitale Schnellrechner
DE102004010666A1 (de) Schlüsselbitstromerzeugung
DE4409341A1 (de) Pseudozufallsfolgengenerator
EP1488566A1 (de) Schaltungsanordnung zum sicheren informationsaustausch zwischen einem sender und einem empfanger
DE10129241B4 (de) Multifunktionaler Rechner
DE10207966B4 (de) Vorrichtung und Verfahren zum Codieren eines Stroms von Informationseinheiten bzw. zum Decodieren von Codewörtern

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee