DE10339999A1 - Pseudozufallszahlengenerator - Google Patents

Pseudozufallszahlengenerator Download PDF

Info

Publication number
DE10339999A1
DE10339999A1 DE10339999A DE10339999A DE10339999A1 DE 10339999 A1 DE10339999 A1 DE 10339999A1 DE 10339999 A DE10339999 A DE 10339999A DE 10339999 A DE10339999 A DE 10339999A DE 10339999 A1 DE10339999 A1 DE 10339999A1
Authority
DE
Germany
Prior art keywords
shift register
elementary shift
output
elementary
feedback
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.)
Granted
Application number
DE10339999A
Other languages
English (en)
Other versions
DE10339999B4 (de
Inventor
Rainer Dr. Goettfert
Berndt Dr. Gammel
Gerd Dipl.-Phys. Dirscherl
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 DE10339999A priority Critical patent/DE10339999B4/de
Priority to US10/925,903 priority patent/US20050097153A1/en
Priority to FR0409138A priority patent/FR2859290B1/fr
Publication of DE10339999A1 publication Critical patent/DE10339999A1/de
Application granted granted Critical
Publication of DE10339999B4 publication Critical patent/DE10339999B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators

Abstract

Ein Pseudozufallszahlengenerator umfasst ein erstes Elementarschieberegister (101) mit einer nicht-linearen Rückkopplungseigenschaft, ein zweites Elementarschieberegister (102) sowie eine Kombinationseinrichtung (120) zum Kombinieren von Signalen an einem Ausgang des ersten Elementarschieberegisters (101) und des zweiten Elementarschieberregisters (102), um ein kombiniertes Signal zu erhalten, das eine Pseudozufallszahl darstellt. Die Kombination von einzelnen nichtlinearen Elementarschieberegistern ermöglicht eine sichere und flexible Implementierung von Zufallszahlengeneratoren, deren Ausgangsfolgen eine hohe lineare Komplexität sowie eine hohe Periodenlänge umfassen.

Description

  • Die vorliegende Erfindung bezieht sich auf Pseudozufallszahlengeneratoren und insbesondere auf Pseudozufallszahlengeneratoren, die auf rückgekoppelten Schieberegistern basieren.
  • Ein bekannter derartiger Zufallszahlengenerator ist in 12 dargestellt. Der Pseudozufallszahlengenerator von 12, der auch als lineares rückgekoppeltes Schieberegister bezeichnet wird, umfasst eine Mehrzahl von Speicherelementen 51, 52, 53, 54, die in 12 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 12 beispielhaft dargestellt ist. Der Ausgangswert der letzten Kombinationseinrichtung 58 wird in die Speicherzelle n, die in 12 mit 54 bezeichnet ist, eingespeist.
  • Das in 12 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 12 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 12 dargestellte lineare rückgekoppelte Schieberegister liefert somit eine Folge von Zahlen an sprechend 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 12 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 12 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 12 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 Ausgabefolge geschlossen werden könnte. Indem die Schieberegistervorrichtungen als Teile von Schlüsselgeneratoren verwendet wer den, 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 wer den, 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 12 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 12 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.
  • Prinzipiell werden Pseudozufallszahlengeneratoren, wie sie beispielsweise anhand von 12 dargestellt worden sind, für verschiedene Zwecke benötigt, nämlich zu Simulationszwecken, zum Durchführen von zufälligen Stichproben bei Statistikanwendungen, zum Testen von Computerprogrammen, bei der sequentiellen Chiffrierung zur Generierung einer Schlüsselfolge, für probabilistische Algorithmen, in der numerischen Mathematik, insbesondere zur numerischen Integration, zur Schlüsselgenerierung in der Kryptologie oder für Monte-Carlo-Methoden. Insbesondere werden Pseudozufallszahlengeneratoren kommerziell eingesetzt für Sicherheits-ICs, innerhalb von typischerweise integrierten Zufallszahlengeneratoren, innerhalb von Kryptomodulen oder für Pay-TV-Anwendungen oder auch in Chipkarten für Handys etc.
  • Grundsätzlich können Zufallszahlen auf der Basis eines physikalisch zufälligen Prozesses generiert werden, oder aber durch bestimmte mathematische Manipulationen. Lediglich im letzteren Fall spricht man von Pseudozufallszahlen, während man im ersteren Fall von echten Zufallszahlen ausgeht. Bei einem Pseudozufallszahlengenerator werden aus bestimmten Anfangswerten, dem sogenannten Seed, der durch die Initialisierungseinrichtung 55 von 12 bewirkt wird, Zahlen mit typischerweise sehr hoher Geschwindigkeit generiert, die eine ganze Reihe von Tests bestehen müssen, welche echte Zufallszahlen auch bestehen würden. Das Seed wird dabei aber durch einen echten physikalischen Zufallsprozess erzeugt. Wie es anhand von 12 dargelegt worden ist, werden lineare rückgekoppelte Schieberegister (LFSR; LFSR = Linear Feedback Shift Register) verwendet, um Pseudozufallszahlengeneratoren zu schaffen. Schieberegister mit linearer Rückkopplung sind insofern von Vorteil, da es mathematische Theorien dahingehend gibt, dass gewisse Eigenschaften der erzeugten Pseudozufallszahlen theoretisch vorhergesagt werden können. Die wichtigsten Eigenschaften sind die Periodenlänge und die lineare Komplexität der Ausgabefolge. So existieren Theorien für lineare Schieberegister, die es ermöglichen, die Ausgabefolge entweder exakt vorherzusagen oder zumindest Aussagen über die Mindestlänge der Periode sowie über die Mindestgröße der linearen Komplexität zu treffen. In anderen Worten können durch mathematische Verfahren untere Schranken für die Periodenlängen und die lineare Komplexität angegeben und bewiesen werden.
  • Der Nachteil, der mit der Verwendung von Schieberegistern mit linearer Rückkopplung als Grundbausteine in Pseudozufallszahlengeneratoren einhergeht, besteht darin, dass die Ausgabefolgen eine lineare Komplexität aufweisen, die relativ klein ist, gegenüber der Periodenlänge. Dies liegt daran, dass schon die Ausgabefolgen eines einzelnen Schieberegisters mit linearer Rückkopplung ein solches Missverhältnis von Periodenlänge zu linearer Komplexität aufweisen. Wenn ein Schieberegister mit linearer Rückkopplung beispielsweise aus N Speicherzellen, wie beispielsweise Flip-Flops, besteht, dann kann die Periodenlänge der Ausgabefolge höchstens den Wert 2N – 1 annehmen. Ist das Rückkopplungspolynom gut gewählt, so wird dies tatsächlich der Fall sein. Dagegen ist die lineare Komplexität der Ausgabefolge höchstens gleich N.
  • Um die Periodenlänge und gleichzeitig die lineare Komplexität zu erhöhen, wäre es daher unter Verwendung eines Schieberegisters mit linearer Rückkopplung nötig, die Anzahl der Speicherzellen immer weiter zu vergrößern, was zum einen Platzprobleme mit sich bringt, und was zum anderen elektrische Probleme mit sich bringt, da alle Speicherzellen in einem Schieberegister durch einen Takt angesprochen werden müssen, wobei Synchronisationsprobleme immer stärker werden, wenn die Anzahl der Speicherzellen immer weiter steigt.
  • Darüber hinaus führt eine immer größere Anzahl von Speicherzellen innerhalb eines einzigen Schieberegisters dazu, dass der Pseudozufallszahlengenerator für einen Angreifer immer leichter zu lokalisieren sein wird und damit immer leichter das Ziel eines Kryptoangriffs wird. Dies ist insbesondere dann nachteilhaft, wenn der Pseudozufallszahlengenerator geheime Informationen enthält bzw. auf der Basis von geheimen Informationen arbeitet, was typischerweise dann der Fall sein wird, wenn der Pseudozufallszahlengenerator in einem kryptographischen Umfeld eingesetzt wird.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein verbessertes Konzept zum Erzeugen von Pseudozufallszahlen zu schaffen.
  • Diese Aufgabe wird durch einen Pseudozufallszahlengenerator nach Patentanspruch 1, ein Verfahren zum Erzeugen von Pseudozufallszahlen nach Patentanspruch 18 oder ein Computer-Programm nach Patentanspruch 19 gelöst.
  • Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass hohe lineare Komplexitäten, hohe Periodenlängen und ein flexibler Einsatz vorhandener Hardwareressourcen dadurch erreichbar ist, dass der Pseudozufallszahlengenerator aus einer Mehrzahl von Elementarschieberegistern mit nicht-linearen Rückkopplungseigenschaften aufgebaut wird, und dass Signale auf den Ausgängen der Elementarschieberegister miteinander kombiniert werden, um ein kombiniertes Signal zu erhalten, das z. B. eine Binärstelle einer Pseudozufallszahl ist.
  • An dieser Stelle sei darauf hingewiesen, dass natürlich – im binären Fall – bereits eine Binärstelle am Ausgang eine Zufallszahl darstellt. Üblicherweise wird jedoch eine Pseudozufallszahl beispielsweise mit 8, 16, ... Bits benötigt. In diesem Fall würde man z. B. 8, 16, ... aufeinanderfolgende Bits am Ausgang des Pseudozufallszahlengenerators nehmen. Die Bits können aufeinanderfolgend sein oder nicht, obgleich die „Entnahme" von aufeinanderfolgenden Bits am Ausgang bevorzugt wird.
  • Je nach verwendeter Kombinationsvorschrift, die durch die Kombinationseinrichtung implementiert wird, kann eine flexible Erhöhung der linearen Komplexität erreicht werden. Wenn als Kombinationseinrichtung eine nicht-lineare Kombinationsvorschrift verwendet wird, wie beispielsweise eine Multiplikation, d. h. ein UND-Gatter im binären Fall, so ist die lineare Komplexität einer Pseudozufallszahlenfolge, die von dem erfindungsgemäßen Pseudozufallszahlengenerator erzeugt wird, unter geeigneten Voraussetzungen gleich dem Produkt der linearen Komplexitäten der Pseudozufallszahlenfolgen, die durch die einzelnen Elementarschieberegister mit nicht-linearer Rückkopplungseigenschaft erzeugt werden. Wird dagegen eine lineare Kombination verwendet, also beispielsweise eine Addition (Modulo 2), also eine XOR-Verknüpfung im binären Fall, so ist die lineare Komplexität der Ausgangsfolge des Pseudozufallszahlengenerators gleich der Summe der linearen Komplexitäten der durch die Elementarschieberegister mit nicht linearer Rückkopplungseigenschaft erzeugten Pseudozufallszahlenfolgen. Der Einsatz von Elementarschieberegistern mit nicht-linearer Rückkopplungseigenschaft anstatt linearer Rückkopplungseigenschaft ermöglicht es, dass die oben dargestellten Verhältnisse bezüglich der linearen Komplexität gelten. Darüber hinaus ist die Periodenlänge der Pseudozufallszahlengeneratorfolge immer gleich dem Produkt der Elementarschieberegister-Periodenlängen für sich gesehen.
  • Das erfindungsgemäße Pseudozufallszahlengeneratorkonzept ist insbesondere dahingehend von Vorteil, dass eine beliebige Anzahl von Elementarschieberegistern mit nicht-linearer Rückkopplungseigenschaft verwendet werden können und dass deren Ausgänge durch eine Kombinationseinrichtung kombiniert werden können, wobei die Kombinationseinrichtung sehr einfach ausführbar ist, nämlich beispielsweise indem sie lediglich eine UND-Operation und/oder eine XOR-Operation, also eine Addition Modulo 2, durchführt.
  • Durch Verwenden einer beliebigen Anzahl von Elementarschieberegistern in dem erfindungsgemäßen Pseudozufallszahlengenerator existiert eine hohe Flexibilität dahingehend, für jede spezielle Anwendung eine spezielle lineare Komplexität oder Periodenlänge zu erzeugen. So muss nicht in ein einzelnes Elementarschieberegister mit nicht-linearer Rückkopplung eingegriffen werden, wenn für eine andere Anwendung ein Pseudozufallszahlengenerator benötigt wird. Statt dessen ermöglicht es das erfindungsgemäße Konzept, für jede verschiedene Anwendung eine verschiedene Anzahl von Elementarschieberegistern mit nicht-linearer Rückkopplung vorzusehen und durch eine Kombinationseinrichtung zu verkoppeln. Der Entwickler hat daher einen hohen Freiheitsgrad, um für jede Anwendung ein genau dimensioniertes Produkt zu erzeugen, das einerseits nicht überdimensioniert ist (und damit kosteneffektiv ist), und das andererseits nicht unterdimensioniert ist, und somit die erforderliche Periodenlänge und erforderliche lineare Komplexität für eine spezielle Anwendung aufweist.
  • Das erfindungsgemäße Konzept ist ferner im Hinblick auf die Sicherheit und Flexibilität beim Schaltungsentwurf vorteilhaft, da verschiedene Elementarschieberegister als spezielle Einheiten an vom Schaltungsentwickler gewünschten Stellen innerhalb einer integrierten Schaltung angeordnet werden können. Würde dagegen bei der Verwendung eines einzigen Schieberegisters zur Erhöhung der linearen Komplexität die Anzahl der Speicherzellen erhöht werden, so würde eine solche Schieberegisteranordnung mit einer großen Anzahl von Speicherzellen immer deutlicher erkennbar sein, und zwar im Vergleich zu verschiedenen wesentlich kleineren Elementarschieberegistern, die prinzipiell beliebig auf einer integrierten Schaltung angeordnet werden können und somit für einen Angreifer nicht oder nur sehr schwer lokalisierbar sind. Die Elementarschieberegister müssen bei dem erfindungsgemäßen Pseudozufallszahlengenerator nur über eine einzige Elementarschieberegister-Ausgangsleitung mit einer Kombinationseinrichtung, die typischerweise ebenfalls eines oder mehrere Gatter umfasst, verbunden sein, wobei die Kombinationseinrichtung ohne weiteres und ohne großen Aufwand einfach auf einer integrierten Schaltung versteckt werden kann.
  • Zusammenfassend hat der erfindungsgemäße Pseudozufallszahlengenerator somit den Vorteil, dass er zum einen effizient und für die entsprechende Anforderung skalierbar aufgebaut werden kann, und dass er andererseits die Möglichkeit mit sich bringt, in einer integrierten Schaltung verteilt angebracht zu werden, derart, dass er für sicherheitskritische Anwendungen nicht ohne weiteres lokalisierbar ist.
  • Bei bevorzugten Ausführungsbeispielen der vorliegenden Erfindung sind die verwendeten Elementarschieberegister binäre Schieberegister mit nicht-linearer Rückkopplungsfunktion, die maximal periodische Folgen produzieren, und zwar immer dann, wenn nicht sämtliche Zellen des Schieberegisters das Bit 0 enthalten. Ein solches maximal periodisches Schieberegister mit N Speicherzellen produziert Ausgabefolgen der Periodenlänge 2N – 1.
  • Ferner wird es bevorzugt, dass die Anzahlen der Speicherzellen der in einem Pseudozufallszahlengenerator verwendeten Elementarschieberegister mit nicht-linearer Rückkopplungseigenschaft paarweise teilerfremd sind. Dies bedeutet, dass die Elementarschieberegister, die jeweils eine eigene Anzahl von Speicherzellen umfassen, Anzahlen von Speicherzellen umfassen, deren größter gemeinsamer Teiler gleich 1 ist.
  • Ferner wird es bevorzugt, dass die eingesetzten Elementarschieberegister die zusätzliche Eigenschaft haben, Folgen maximaler linearer Komplexität zu produzieren, und zwar immer wiederum dann, wenn nicht alle Zellen des Schieberegisters eine 0 enthalten. Ein solches Schieberegister mit N Speicherzellen produziert Ausgabefolgen der linearen Komplexität 2N – 2. Wenn für alle eingesetzten Schieberegister diese Eigenschaft erfüllt ist, dann hat die lineare Komplexität der Ausgabefolge des Pseudozufallszahlengenerators einen entsprechenden maximalen Wert für die lineare Komplexität.
  • Ferner wird es für bevorzugte Ausführungsbeispiele der vorliegenden Erfindung im Hinblick auf eine sichere theoretische Erfassbarkeit und Vorhersagbarkeit bevorzugt, dass von jedem Schieberegister die Ausgabefolge nur einmal verwendet wird, d. h. dass aus jedem Schieberegister nur ein „Draht" herausführt.
  • Ferner wird es bevorzugt, dass die Ausgabefolgen einiger Schieberegister gliedweise miteinander multipliziert werden (Multiplikation Modulo 2). Die so erzeugten Produktfolgen werden einem Gesamtaddierer zugeführt.
  • Ferner wird es bevorzugt, dass die Ausgabefolge von mindestens einem Schieberegister dem Gesamtaddierer direkt zugeführt wird.
  • Schließlich wird es bevorzugt, dass die Ausgabefolge des Gesamtaddierers, der Teil der Kombinationseinrichtung ist, die Ausgabefolge des gesamten Pseudozufallszahlengenerators darstellt. In diesem Zusammenhang wird unter Gesamtaddierer eine XOR-Verknüpfung von mehreren Eingangsfolgen, und zwar termweise, also im binären Fall, bitweise, verstanden.
  • Insbesondere wird es bevorzugt, einfache Kombinationen bestehender nicht-linearer rückgekoppelter Schieberegister zu verwenden, da über diese einfachen Kombinationen theoretische Aussagen über die Periodenlänge und lineare Komplexität der Ausgabefolgen mathematisch exakt beweisbar sind. Dies ermöglicht den kontrollierten Einsatz der erfindungsgemäßen Schieberegister mit nicht-linearer Rückkopplungseigenschaft in Pseudozufallszahlengeneratoren.
  • Ferner wird es bevorzugt, dass die einzelnen Elementarschieberegister, wie es ausgeführt worden ist, maximal periodische nicht-lineare rückgekoppelte Schieberegister (MP-NLFSR) sind. Ein maximal periodisches nicht-lineares rückgekoppeltes Schieberegister ist ein NLFSR mit der Eigenschaft, dass es Folgen maximaler Periodenlänge generieren kann. Angenommen, das Schieberegister hat N Speicherzellen. Dann beträgt die maximale Periodenlänge 2N – 1. Wenn die Speicherzellen eines MP-NLFSR mit einem beliebigen Anfangszustand belegt werden (mit der einzigen Ausnahme, dass nicht alle Zellen das Bit 0 enthalten dürfen), dann wird dieses MP-NLFSR stets eine Folge maximaler Periodenlänge generieren.
  • Je nach Implementierung können MP-NLFSR per Computersuche auf experimentellem Weg erzeugt werden. Erfindungsgemäß hat sich herausgestellt, dass so konstruierte MP-NLFSR so gut wie immer auch eine sehr hohe lineare Komplexität aufweisen. Dies bedeutet, dass die von dem MP-NLFSR produzierte Ausgabefolge nicht nur über eine maximale Periodenlänge von 2N – 1 verfügt, sondern im allgemeinen auch über eine annähernd so große li neare Komplexität verfügt. Insbesondere beträgt der maximal mögliche Wert für die lineare Komplexität 2N – 2, wobei dieser Wert für die vorliegende Erfindung angestrebt wird. Diese Beobachtung ergibt sich zum einen aus Computerexperimenten und steht auch in Einklang mit dem mathematisch bewiesenen Satz von Meidl und Niederreiter, der in IEEE Transactions on Informations Theory 48, Nr. 11, Seiten 2817-2825, November 2002, dargestellt ist.
  • Wie es ausgeführt worden ist, wird es bevorzugt, dass die Anzahlen der Speicherzellen der verwendeten MP-NLFSR untereinander paarweise teilerfremd sind. Dann können exakte Werte für die Periodenlänge und die lineare Komplexität der Ausgabefolge für gewisse Kombinationen der MP-NLFSR mathematisch bewiesen werden, und zwar durch eine Formel, die die Größen R, S, T, ...., enthält, wobei R die Anzahl der Speicherzellen des ersten maximal periodischen nicht-linearen rückgekoppelten Schieberegisters ist, S die Anzahl der Speicherzellen des zweiten maximal periodischen nicht-linearen rückgekoppelten Schieberegisters ist, T die Anzahl des dritten Elementarschieberegisters etc. ist.
  • Ferner können auch maximal periodische nicht-lineare rückgekoppelte Schieberegister verwendet werden, deren Ausgabefolgen nicht die maximale lineare Komplexität haben sondern (etwas) kleinere Werte, wie beispielsweise L1, L2, L3. Werden solche Elementarschieberegister erfindungsgemäß kombiniert, und zwar vorzugsweise unter Verwendung einer einfachen Kombinationsvorschrift, die beispielsweise lediglich eine UND- oder XOR- etc. Verknüpfung umfasst, also eine einfache logische Verknüpfung, so kann für die Ausgabefolge der so gebildeten Pseudozufallszahlengeneratorvorrichtung ebenfalls eine Formel für die Periodenlänge und für die lineare Komplexität mathematisch exakt bewiesen werden. Eine solche Formel für die lineare Komplexität der Ausgabefolge enthält nun aber neben den Größen R, S, T, .... auch die Größen L1, L2, L3, ....
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
  • 1 einen Pseudozufallszahlengenerator gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung;
  • 2 einen Pseudozufallszahlengenerator gemäß einem zweiten Ausführungsbeispiel der vorliegenden Erfindung;
  • 3 einen Pseudozufallszahlengenerator gemäß einem dritten Ausführungsbeispiel der vorliegenden Erfindung;
  • 4 einen Pseudozufallszahlengenerator gemäß einem vierten Ausführungsbeispiel der vorliegenden Erfindung;
  • 5 einen Pseudozufallszahlengenerator gemäß einem fünften Ausführungsbeispiel der vorliegenden Erfindung;
  • 6 einen bevorzugten Aufbau eines Elementarschieberegisters mit nicht-linearer Rückkopplung;
  • 7 einen alternativen Aufbau für ein Elementarschieberegister mit nicht-linearer Rückkopplung;
  • 8 einen alternativen Aufbau für ein Elementarschieberegister mit nicht-linearer Rückkopplung;
  • 9 einen alternativen Aufbau für ein Elementarschieberegister mit nicht-linearer Rückkopplungseigenschaft;
  • 10 einen beispielhaften Aufbau für ein Elementarschieberegister mit nicht-linearer Rückkopplung;
  • 11 eine allgemeine Darstellung eines Elementarschieberegisters mit Speicherzellen in der Vorwärtskopplungseinrichtung und einer Rückkopplungsfunktion F; und
  • 12 ein bekanntes lineares Schieberegister zur Erzeugung einer Zufallszahlenfolge.
  • 1 zeigt einen Pseudozufallszahlengenerator gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung. Der Pseudozufallszahlengenerator umfasst ein erstes Elementarschieberegister 101 mit einer nicht-linearen Rückkopplungseigenschaft und einem ersten Elementarschieberegisterausgang 101a sowie ein zweites Elementarschieberegister 102, das vorzugsweise ebenfalls eine nicht-lineare Rückkopplungseigenschaft aufweist. Das zweite Elementarschieberegister umfasst, ebenso wie das erste Elementarschieberegister 101, ebenfalls einen zweiten Elementarschieberegisterausgang 102a. Die beiden Elementarschieberegisterausgänge 101a, 102a sind mittels einer Kombinationseinrichtung kombiniert, die in 1 allgemein mit 120 bezeichnet ist. Die Kombinationseinrichtung 120 liefert ausgangsseitig ein kombiniertes Signal auf einer Ausgangsleitung 122, das – über der Zeit gesehen – eine Pseudozufallszahlenfolge und, vorzugsweise, eine Bitfolge umfasst.
  • Der erfindungsgemäße Pseudozufallszahlengenerator kann prinzipiell aus zwei Elementarschieberegistern 101, 102 bestehen, wobei zumindest eins, jedoch vorzugsweise alle beide eine nicht-lineare Rückkopplungseigenschaft aufweisen, wie es anhand von 1 gezeigt ist. Bei einem bevorzugten Ausführungsbeispiel ist die Anzahl der Elementarschieberegister, die vorzugsweise alle eine nicht-lineare Rückkopplungseigenschaft haben, größer als 2, so dass sich das in 1 ge zeigte Ausführungsbeispiel ergibt, das ein drittes Elementarschieberegister 103 umfasst, das ebenso wie die beiden Elementarschieberegister 101 und 102 vorzugsweise ebenfalls eine nicht-lineare Rückkopplungseigenschaft aufweist, und das ferner einen dritten Elementarschieberegisterausgang 103a aufweist. In diesem Fall, also wenn drei oder mehr Elementarschieberegister verwendet werden, ist die Kombinationseinrichtung 120 vorzugsweise gewissermaßen zweiteilig ausgeführt, nämlich dahingehend, dass sie zum einen einen Multiplizierer 120a sowie einen Addierer 120b umfasst. Im binären Fall wird es bevorzugt, dass der Multiplizierer eine Multiplikation Modulo 2 durchführt, also eine UND-Verknüpfung von zwei Bits. Darüber hinaus wird es bevorzugt, dass der Addierer 120b eine Addition Modulo 2 – im binären Fall – durchführt, also eine XOR-Verknüpfung zweier Bits. Es sei jedoch darauf hingewiesen, dass prinzipiell aus Gründen der theoretischen Vorhersagbarkeit bevorzugt wird, dass die Kombinationseinrichtung lediglich einfache logische Grundfunktionen umfasst, wie AND, NAND, OR, NOR, XOR, XNOR, etc. Die Logikfunktionen können, wie es aus dem in 1 gezeigten Beispiel ersichtlich wird, entweder gemeinsam oder für sich in der Kombinationsvorrichtung vorkommen, je nach dem, wie es für eine bestimmte Ausführung erwünscht wird.
  • Bei dem bevorzugten Ausführungsbeispielen wird aufgrund der Einfachheit der Implementierung und aufgrund der Möglichkeit der theoretischen Vorhersagbarkeit bevorzugt, dass die Kombinationseinrichtung lediglich eines oder mehrere UND-Gatter sowie eines oder mehrere XOR-Gatter umfasst, wie es prinzipiell anhand von 1 dargestellt ist.
  • Wird ein Pseudozufallszahlengenerator lediglich aus zwei Elementarschieberegistern aufgebaut, also ist bei dem in 1 gezeigten Ausführungsbeispiel das zweite Elementarschieberegister 102 nicht vorhanden, und statt dessen lediglich das dritte Elementarschieberegister 103, so umfasst die Kombinationseinrichtung im Gegensatz zum anderen Fall, bei dem das dritte Elementarschieberegister 103 vorhanden ist, statt der UND-Verknüpfung, also dem Multiplizierer 120a, lediglich den Addierer, also die XOR-Verknüpfung 120b.
  • Ferner wird es bevorzugt, dass die Vorwärtskopplungseinrichtungen der Schieberegister 101, 102, 103R Speicherzellen, S Speicherzellen und T Speicherzellen haben. Die Anzahl der Speicherzellen sollte für die einzelnen Elementarschieberegister bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung paarweise teilerfremd sein. So gilt für das in 1 dargestellte Ausführungsbeispiel folgendes: ggT (R, S) = 1, ggT (R, T) = 1 und ggT (S, T) = 1, wobei ggT (A, B) der größte gemeinsame Teiler der ganzen Zahlen A und B ist. Dies bedeutet, dass bei einem bevorzugten Ausführungsbeispiel R = 19, S = 20 und T = 21 ist. Alternativ wäre es möglich, R = 23, S = 25 und T = 27 oder R = 29, S = 30 und T = 31 zu wählen. Unzulässig wäre jedoch das Tripel R = 24, S = 25 und T = 27, weil die Zahlen 24 und 27 den gemeinsamen Teiler 3 enthalten, welcher ungleich dem maximal zulässigen gemeinsamen Teiler 1 ist.
  • Ferner wird es bevorzugt, dass die verwendeten Schieberegister 101, 102, 103 maximal periodisch sind, d. h. für sich betrachtet folgende Periodenlänge 2R – 1, 2S – 1 bzw. 2T – 1 produzieren, wobei R, S und T die Anzahlen der Speicherzellen in den jeweiligen Elementarschieberegistern ist. Ferner wird es bevorzugt, dass die einzelnen Elementarschieberegister Ausgabefolgen von maximaler linearer Komplexität produzieren können. So soll die Ausgabefolge des R-zelligen Schieberegisters 101 die lineare Komplexität 2R – 2 haben. Hierbei ist die lineare Komplexität nur um „1" kleiner als die Periodenlänge, was nur deshalb möglich ist, weil das Elementarschieberegister 101 eine nicht-lineare Rückkopplungseigenschaft hat.
  • Alternativ wird von den eingesetzten maximal periodischen Schieberegistern nicht zwingend verlangt, dass deren Ausgabefolgen die maximal mögliche lineare Komplexität haben. Damit ergibt sich jedoch auch für die Ausgabefolge des gesamten erfindungsgemäßen Pseudozufallszahlengenerators eine kleinere lineare Komplexität, was jedoch für bestimmte Anwendungen nicht kritisch ist.
  • Wie es aus 1 ersichtlich ist, liefert der dort dargestellte bevorzugte Pseudozufallszahlengenerator eine Ausgabefolge mit einer Periodenlänge, die gleich dem Produkt der Periodenlängen der einzelnen Elementarschieberegister 101, 102, 103 ist. Ferner ergibt sich auch eine große lineare Komplexität, da der Multiplizierer 120a dazu führt, dass sich die linearen Komplexitäten der beiden Elementarschieberegister 101, 102 multiplizieren. Die lineare Komplexität des dritten Elementarschieberegisters 103 wird, aufgrund des Addierers 120b in der Kombinationseinrichtung, zu dem Produkt der linearen Komplexitäten der beiden Elementarschieberegister 101, 102 hinzu addiert, so dass sich eine gesamte lineare Komplexität der Ausgabefolge des in 1 gezeigten erfindungsgemäßen Pseudozufallszahlengenerators ergibt, wie sie in 1 gleichungsmäßig dargestellt ist.
  • Das in 2 dargestellte bevorzugte Ausführungsbeispiel für einen Pseudozufallszahlengenerator gemäß der vorliegenden Erfindung unterscheidet sich von dem in 1 dargestellten Ausführungsbeispiel dadurch, dass ein weiteres nicht-lineares Schieberegister 104 vorgesehen ist. So sind die beiden ersten Elementarschieberegister 101, 102, wie in 1 dargestellt, durch den Multiplizierer 120a miteinander kombiniert, während das Ausgangssignal des Multiplizierers 120a wie in 1 dargestellt mit dem Ausgangssignal des Elementarschieberegisters 103 addiert wird. Im Unterschied zu 1 wird jedoch nun auch das Ausgangssignal des vierten Elementarschieberegisters 104 ebenfalls hinzu addiert, und zwar unter Verwendung eines Addierers 120b, der nunmehr drei Eingänge aufweist.
  • Durch Verwendung eines vierten Elementarschieberegisters 104 kann nunmehr die Periodenlänge ebenfalls, wie es in 2 gezeigt ist, erhöht werden, und zwar nicht additiv, sondern multiplikativ. Ferner wird die lineare Komplexität ebenfalls durch das vierte Schieberegister erhöht, obgleich dasselbe lediglich additiv beiträgt, jedoch nicht multiplikativ beiträgt.
  • Ein weiteres Ausführungsbeispiel der vorliegenden Erfindung ist in 3 gezeigt, wobei sich 3 von 2 dadurch unterscheidet, dass ein weiteres Elementarschieberegister 105 vorhanden ist, dessen Elementarschieberegisterausgang ebenso wie die entsprechenden Ausgänge des ersten und des zweiten Elementarschieberegisters dem Multiplizierer 120a zugeführt wird. Dadurch wird die Periodenlänge wieder multiplikativ erhöht. Wichtigerweise wird jedoch nun auch die lineare Komplexität multiplikativ erhöht, wie es anhand der in 3 gezeigten Gleichungen dargestellt ist.
  • Eine weitere Alternative der vorliegenden Erfindung ist in 4 dargestellt. Hierbei werden 10 Elementarschieberegister 101-110 verwendet, die, wie es anhand von 4 dargestellt ist, durch eine Kombinationseinrichtung miteinander kombiniert sind, welche nunmehr nicht nur einen Multiplizierer 120a und einen Addierer 120b umfasst, sondern die bei dem in 4 gezeigten Beispiel zusätzlich weitere Multiplizierer 120c, 120d umfasst. Es sei darauf hingewiesen, dass sämtliche Schieberegisters, deren Ausgänge in dem Multiplizierer 120a, 120c, 120d natürlich auch in einen einzigen Multiplizierer eingespeist werden könnten, der insgesamt sieben Eingänge hat. Ausgangsseitig werden wiederum alle Ausgänge der Multiplizierer 120a, 120c, 120d sowie alle Ausgänge der Elementarschieberegister 103, 104, 110, die nicht einem Multiplizierer zugeführt werden, dem Addierer 120b zugeführt, um an einem Gesamtausgang 122 eine Pseudozufallszahlenfolge zu erhalten.
  • An dieser Stelle sei darauf hingewiesen, dass es allgemein gesagt bevorzugt wird, eine Kombinationseinrichtung zu verwenden, die derart gestaltet ist, dass wenigstens zwei Elementarschieberegisterausgänge multiplikativ kombiniert werden, und dass dann das Ausgangssignal des multiplikativen Kombinierers, also des Multiplizierers 120a, 120c bzw. 120d in einen Gesamtaddierer 120b eingespeist wird, der ferner alle Elementarschieberegisterausgangssignale der anderen, nicht mit einem Multiplizierer verbundenen Elementarschieberegister umfasst, und der selber einen Ausgang hat, der mit dem Gesamtausgang 122 des erfindungsgemäßen Pseudozufallszahlengenerators zusammenfällt. Eine solche Anordnung wird aus Gründen der besseren Vorhersagbarkeit und damit sichererer Einsetzbarkeit der erfindungsgemäßen Schieberegister bevorzugt.
  • 5 zeigt ein alternatives Ausführungsbeispiel für einen erfindungsgemäßen Pseudozufallszahlengenerator, bei dem insgesamt 11 Elementarschieberegister verwendet werden, die vorzugsweise alle eine nicht-lineare Rückkopplungseigenschaft haben. So werden die Elementarschieberegister-Ausgangsleitungen der Elementarschieberegister 101, 102, 105, 109, 110, 111 durch den Multiplizierer 120a verknüpft, während die Elementarschieberegister-Ausgangsleitungen der Elementarschieberegister 103, 104, 106, 107, 108 zusammen mit dem Ausgang des Multiplizierers 120a über den Gesamtaddierer 120b verknüpft werden, um an einem Ausgang 122 – über der Zeit gesehen – eine Pseudozufallszahlenfolge zu erhalten.
  • Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung sind alle Schaltungen binär. Dies bedeutet, dass jedes Elementarschieberegister ausgangsseitig, also an dem Ausgang 101a, 102a, 103a von 1 beispielsweise eine Folge von Bits erzeugt, wobei jedes Bit der einzelnen Folge von Bits einem Taktzyklus zugeordnet ist, der von einem Steuertakt, der in den 1 bis 5 nicht gezeigt ist, geliefert wird. In diesem Fall werden Bits auf Ausgangsleitungen 101, 102, 105, 109, 110, 111 von 5 beispielsweise, die alle zum gleichen Steuertakt gehören, durch den Addierer 120a aufaddiert, dessen Ausgang somit ebenfalls eine Folge von Pseudozufallszahlen umfasst, deren lineare Komplexität in Analogie zu den Formeln, die anhand der 1 bis 3 dargelegt worden sind, gleich dem Produkt der linearen Komplexitäten der Schieberegister 101, 102, 105, 109, 110, 111 ist, und deren Periodenlänge gleich dem Produkt der Periodenlängen der einzelnen Schieberegister 101, 102, 105, 109, 110, 111 ist.
  • Diese Folge wird nunmehr – ebenso bitweise – mit den Ausgangsfolgen der Schieberegister 103, 104, 106, 107, 108 von 5 durch den Gesamtaddierer 120b addiert.
  • Es sei darauf hingewiesen, dass Verzögerungen, die durch den Multiplizierer 120a eingeführt werden, unerheblich sind, da es ohnehin beliebig ist, aus welcher Speicherzelle innerhalb eines Elementarschieberegisters, welches eine rückgekoppelte Schleife umfasst, die Ausgangsfolge eines Elementarschieberegisters ausgekoppelt wird. Mit anderen Worten ist es beliebig, mit welcher Speicherzelle die Mehrzahl von Speicherzellen innerhalb eines Elementarschieberegisters die Elementarschieberegister-Ausgangsleitung verbunden ist. Daher ist es auch unerheblich, wie viel Verzögerung ein Multiplizierer 120a einführt. Ferner ist es nicht nötig, dass alle einzelnen Schieberegister durch denselben Takt oder allgemein gesprochen überhaupt gleich schnell getaktet werden, so lange immer eine Addition durch den Addierer 120b bzw. eine Multiplikation durch den Multiplizierer 120a gewährleistet ist, damit eine ununterbrochene Folge von Zufallszahlen an dem Ausgang 122 erhalten wird. Ob nunmehr bezogen auf einen Absolutzeitpunkt zueinander verschobene Folgen der Elementarschieberegister bzw. Folgen, die innerhalb der Kombiniereinrichtung entstehen, wie beispielsweise am Ausgang des Multiplizierers 120a, verschoben oder nicht verschoben kombiniert werden, spielt dabei keine Rolle.
  • Hierzu sei – bereits im Vorgriff auf 6 – darauf hingewiesen, dass aus jedem Elementarschieberegister mit mehreren Speicherzellen an vielen Stellen Folgen von Pseudozufallszahlen ausgekoppelt werden können. So kann bei dem in 6 gezeigten Ausführungsbeispiel z. B. die erste Folge von Pseudozufallszahlen am Ausgang der Speicherzelle 5, die mit SEn bezeichnet ist, ausgekoppelt werden. Zusätzlich oder vorzugsweise alternativ kann jedoch auch die zweite Folge von Pseudozufallszahlen am Ausgang der Speicherzelle 3, die mit SE1 bezeichnet ist, ausgekoppelt werden. Dasselbe gilt für 9, wo eine Folge beispielsweise am Ausgang der Speicherzelle 2 aus dem Elementarschieberegister ausgegeben werden kann, oder alternativ hierzu am Ausgang der Speicherzelle 3, der mit „15" bezeichnet ist. In 10 sind viele verschiedene Möglichkeiten gezeigt, an denen Folgen ausgekoppelt werden können, nämlich am Ausgang der Speicherzellen D7, D6, D5, D4, D3, D2, D1 oder D0.
  • Nachfolgend wird Bezug nehmend auf die 6 bis 10 eine Anzahl von verschiedenen Ausführungsbeispielen zur Ausgestaltung der einzelnen Elementarschieberegister 101-111 in den 6 bis 9 gegeben. Es sei darauf hingewiesen, dass nicht unbedingt alle Schieberegister, beispielsweise in 5 die Schieberegister 101-111, denselben Aufbau haben müssen, sondern dass sie unterschiedliche Aufbauten haben können, so lange wenigstens eines, und vorzugsweise alle Schieberegister eine nicht-lineare Rückkopplungseigenschaft haben.
  • 6 zeigt ein Elementarschieberegister mit nichtlinearer Rückkopplung zum Erzeugen einer pseudozufälligen Folge von Zahlen mit einer Vorwärtskopplungseinrichtung 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 6 nicht gezeigt sind, ergänzt werden kann, um Folgen von Zufallszahlen zu puffern, auf irgendeine andere Art und Weise zu kombinieren etc.
  • Die in 6 gezeigte 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 6 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 6 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ärtskopplungseinrichtung 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 Kombina tion der beiden genannten Werte nicht eine UND- sondern eine OR-Kombination eingesetzt wird. Für Fachleute ist es klar, dass verschiedene 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 z. B. nichtlinear 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.
  • In der Vorwärtskopplungseinrichtung 1 von 6 ist ferner eine Steuereinrichtung 13 eingebracht, die zwischen zwei Speicherelementen angeordnet ist, nämlich bei dem in 6 gezeigten Beispiel den Speicherelementen 4 und 5. Nachdem ein Signalfluss von dem Speicherelement 0 bis zum Speicherelement n in 6 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 6 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 6 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 6 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 6 gezeigte Elementar-Zahlenfolgengenerator dazu verwendet, um z. B. 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, wobei beide Folgen oder nur eine Folge der beiden folgen in die Kombinationseinrichtung eingespeist werden kann. Das Einfügen der Steuereinrichtung 13 bewirkt, dass die an dem Ausgang 7 ausgegebene Folge tatsächlich unterschiedlich zu der am Ausgang 15 ausge gebenen 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.
  • 7 zeigt 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 7 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 7 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 Elementarschieberegistern, die eine Sequenz erzeugen können, ist das in 7 dargestellte Schieberegister mit den beiden in 7 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 7 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 7 ist ferner wieder eine Steuereinrichtung 13 zwischen zwei Speicherelementen angeordnet, wobei dies die Spei cherelemente 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 8 Bezug genommen, um eine spezielle Implementierung der Multiplexereinrichtung 20 von 7 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 8 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 Speicher zelle 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 Implementierungen benötigt werden, bei denen jedes logische Gatter zwei Eingänge und einen Ausgang hat, ist die in 8 gezeigte beispielhafte Darstellung vorteilhaft.
  • Bei einem Verfahrens zum Erzeugen einer pseudozufälligen Folge von Zahlen aus einem Elementarschieberegister 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, wird zunächst ein Schritt des Initialisierens der Speichereinrichtung in der Vorwärtskopplungseinrichtung auf einen vorbestimmten Startwert ausgeführt.
  • Ansprechend auf einen Zustand einer Speichereinrichtung der Mehrzahl von Speichereinrichtungen der Vorwärtskopplungseinrichtung wird dann in einem weiteren Schritt 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, um eine Zahl der Folge von Zufallszahlen zu erhalten. Hierauf wird in einem Entscheidungsblock untersucht, ob weitere Zufallszahlen benötigt werden. Wird diese Frage mit nein beantwortet, so wird das Verfahren beendet. Wird dagegen festgestellt, dass weitere Zahlen benötigt werden, so wird der Entscheidungsblock mit „ja" beantwortet, woraufhin ein weiteren Schritt folgt, in dem die Mehrzahl von Speichereinrichtungen basierend auf einem vorherigen Zustand der Speichereinrichtung und auf einer Ausgabe der Rückkopplungseinrichtung neu belegt werden. In einer Schleife werden die Schritte des Steuerns der Steuerungseinrichtung, Ausgebens und Neubelegens so oft wie gewünscht wiederholt, um schließlich die pseudozufällige Folge von Zahlen zu erhalten.
  • Es sei darauf hingewiesen, dass dieses 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 7 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 ausgegeben wird. Durch das Links-Verschieben des insgesamt betrachteten Zustands der gesamten Speichereinrichtungen kann die ganz rechte Speichereinrichtung mit der Nr. 7 in 7 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.
  • 9 zeigt ein alternatives Ausführungsbeispiel, bei dem die in 6 mit dem Bezugszeichen 14 bezeichnete Alternative der Rückkopplungseinrichtung dargestellt ist. Insbesondere ist die Rückkopplungseinrichtung 14 in 9 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 9 gezeigten Ausführungsbeispiel wird die Steuereinrichtung 13 mit einem Steuersignal gesteuert, das direkt von der Rückkopplungseinrichtung 14 abgeleitet wird. Bei der in 9 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 9 ein Signalfluss durch einen Pfeil 61 markiert, der den Signalfluss in der Vorwärtskopplungseinrichtung darstellt, der sich bei dem in 9 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 9 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 9 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.
  • 10 zeigt ein 8-Bit-Elementarschieberegister 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 9 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 9 und 10 gezeigten Ausführungsbeispiele für ein Elementarschieberegister 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 Ausführungsbeispiel wird, um einen besonders effizienten Pseudozufallszahlengenerator zu erhalten, an dem Ausgang von jeder Speicherzelle D0–D7 eine Pseudozufallszahlenfolge abgezapft und einer Kombinationseinrichtung zugeführt. Insbesondere sind die beiden Folgen, die von den Zel len 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 10 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 10 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.
  • 11 zeigt ein allgemeines rückgekoppeltes Schieberegister mit Speicherzellen D0, ..., Dn–1 mit einer Vorwärtskopplungseinrichtung sowie mit einer Rückkopplungseinrichtung, die mit F(x0, x1, ..., xn–1) bezeichnet ist.
  • Betrachtet sei ein allgemeines n-stufiges (oder n-zelliges) rückgekoppeltes Schieberegister über dem Grundkörper GF(2) = {0,1}. Das Schieberegister besteht aus n Speicherzellen (Flip-Flops) D0, D1, ..., Dn–1 und der (elektronischen) Realisierung einer Rückkopplungsfunktion F(x0, x1, ..., xn–1). Die Rückkopplungsfunktion ordnet jedem n-Tupel bestehend aus n Bits, einen eindeutigen Wert aus GF(2) zu, also den Wert 0 oder 1. In mathematischer Terminologie ist F eine Funktion mit Definitionsbereich GF(2)n und Zielbereich GF(2).
  • Das Schieberegister wird von einer äußeren Uhr gesteuert. Mit jedem Uhrentakt wird der Inhalt der Speicherzelle Dj in die linke benachbarte Zelle Dj–1 verschoben. 1 ≤ j ≤ n – 1. Der Inhalt der Speicherzelle D0 wird ausgegeben. Seien die Inhalte der Speicherzellen D0, D1, ... Dn–2, Dn–1 zum Zeitpunkt t gegeben durch st, st+1 ..., st+n-2, st+n–1.
  • Dann enthalten die Speicherzellen einen Uhrentakt später, also zum Zeitpunkt t + 1, die Bits st+1, st+2, ..., st+n–1, st+n,wobei der in der Zelle Dn–1 eingeflossene Wert st+n gegeben ist durch st+n = F(st, st+1, ..., st+n–1).
  • Das n-Tupel (st, st+1, ..., st+n–1) beschreibt den Zustand des Schieberegisters zum Zeitpunkt t. Das n-Tupel (s0, s1, ..., sn–1) heißt der Anfangszustand. Als Abkürzung für das allgemeine rückgekoppelte Schieberegister mit Rückkopplungsfunktion F wird FSR(F) verwendet (FSR steht für feedback shift register). 12 zeigt ein allgemeines rückgekoppeltes Schieberegister.
  • Mit jedem Takt der äußeren Uhr gibt das Schieberegister ein Bit aus. Auf diese Weise kann das Schieberegister eine periodische Bitfolge S0, s1, s2, ... produzieren, eine sogenannte Schieberegisterfolge. Es seien s0, s1, ..., sn–1 die Anfangswerte der Schieberegisterfolge. Die Rückkopplungsfunktion F(x0, x1, ..., xn–1) und die Anfangswerte s0, s1, ..., sn–1 bestimmen die Schieberegisterfolge vollständig. Da es nur 2n verschiedene Zustände für das Schieberegister gibt, beträgt die Periodenlänge der Schieberegisterfolge s0, s1, s2, ... höchstens 2n.
  • Ein allgemeines rückgekoppeltes Schieberegister FSR(F) heißt homogen, wenn seine Rückkopplungsfunktion F homogen ist, d. h. wenn F(0, 0, ..., 0) = 0 gilt. Ein homogenes, in den Anfangszustand s0 = s1 = ... = sn–1 = 0 versetztes Schieberegister produziert die Nullfolge. Daraus folgt, dass die Periodenlänge der Ausgabefolge eines n-stufigen homogenen Schieberegisters höchstens 2n – 1 betragen kann. Wenn die Periodenlänge den maximalen Wert 2n – 1 annimmt, dann nennt man die Schieberegisterfolge eine M-Folge und das Schieberegister maximal. Es ist eine wichtige Aufgabe maximale Schieberegister zu finden.
  • Zwei Spezialfälle des allgemeinen rückgekoppelten Schieberegisters FSR(F) sind von besonderem Interesse. Der Fall bei dem die Rückkopplungsfunktion F die Form
    Figure 00350001
    hat, wobei die Koeffizienten aij entweder 0 oder 1 sind. In diesem Fall spricht man von einer quadratischen Rückkopplungsfunktion als Beispiel für eine nichtlineare Rückkopplungsfunktion und die Bezeichnung quadratisch überträgt sich auch auf das Schieberegister.
  • Der andere Spezialfall liegt vor, wenn die Rückkopplungsfunktion F linear ist. Dann hat F die Form F(x0, x1, ..., xn–1) = a0x0 + a1x1 + ... + an–1xn–1,wobei die auftretenden Koeffizienten ai wieder gleich 0 oder 1, also Elemente aus GF(2) sind. In diesem Fall spricht man von einem linearen oder linear rückgekoppelten Schieberegister und verwendet für dieses die Abkürzung LFSR (linear feedback shift register). Beachte, dass sowohl die linear rückgekoppelten als auch die quadratisch rückgekoppelten Schieberegister homogen sind.
  • Ein n-stufiges linear rückgekoppeltes Schieberegister wird üblicherweise durch ein binäres Polynom f(x) vom Grad n in einer Variablen x charakterisiert. Man nennt dieses Polynom f das charakteristische Polynom des linear rückgekoppelten Schieberegisters. Für das Schieberegister schreibt man dann LFSR(f).
  • Die Rückkopplungsfunktion F(x0, x1, ..., xn–1) eines linear rückgekoppelten Schieberegisters ist ein Polynom in n Variablen x0, x1, ..., xn–1 und vom Grad 1. Demgegenüber ist das charakteristische Polynom f(x) desselben linearen Schieberegisters ein Polynom nur einer Variablen, nämlich der Variablen x, aber vom Grad n. Es gilt f(x) = xn + F(1, x, x2, ..., xn–1).
  • Die Nichtlinearität der Rückkopplungsfunktion kann somit durch relativ beliebige Ausgestaltungen der Rückkopplungsfunktion F durchgeführt werden. Hierzu wird es prinzipiell genügen, lediglich die Ausgangssignale von zwei Speicherzellen Di und Di+1 miteinander zu multiplizieren, woraus ein quadratisches Schieberegister entstehen würde. Selbstverständlich können auch mehr als zwei Speicherzellenausgänge miteinander multipliziert oder irgendeiner nicht-linearen Funktion unterzogen werden. Prinzipiell kann jedoch auch eine Rückkopplung mit nur einem Ausgangssignal einer einzigen Speicherzelle durchgeführt werden, indem z. B. lediglich das Ausgangssignal der Speicherzelle D0 rückgekoppelt wird, in die Funktion F(x0) eingespeist wird und das Ausgangssignal dieser Funktion z. B. in die Speicherzelle Dn–1 eingangsseitig eingespeist wird. Eine solche nicht-lineare Funktion mit nur einem einzigen Wert wäre beispielsweise eine Inversion, also eine logisch NOT-Funktion. Die nicht-lineare Funktion könnte jedoch auch irgendeine andere Funktion sein, beispielsweise eine nicht-lineare Zuordnungsfunktion oder eine kryptographische Funktion.
  • Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren zum Erzeugen von Pseudozufallszahlen in Hardware oder in Software implementiert werden. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft.
  • 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
    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
    101
    erstes Elementarschieberegister
    101a
    erster Elementarschieberegister-Ausgang
    102
    zweites Elementarschieberegister
    102a
    zweiter Elementarschieberegister-Ausgang
    103
    drittes Elementarschieberegister
    103a
    dritter Elementarschieberegister-Ausgang
    104
    viertes Elementarschieberegister
    105
    fünftes Elementarschieberegister
    106
    sechstes Elementarschieberegister
    107
    siebtes Elementarschieberegister
    108
    achtes Elementarschieberegister
    109
    neuntes Elementarschieberegister
    110
    zehntes Elementarschieberegister
    111
    elftes Elementarschieberegister
    120
    Kombinationseinrichtung
    120a
    UND-Gatter
    120b
    XOR-Gatter
    120c
    zweites UND-Gatter
    120d
    drittes UND-Gatter
    122
    Ausgang des Pseudozufallszahlengenerators

Claims (19)

  1. Pseudozufallszahlengenerator mit folgenden Merkmalen: einem ersten Elementarschieberegister (101) mit einer nichtlinearen Rückkopplungseigenschaft und einem ersten Elementarschieberegister-Ausgang (101a); einem zweiten Elementarschieberegister (102) mit einem zweiten Elementarschieberegister-Ausgang (102a); und einer Kombinationseinrichtung (120) zum Kombinieren des ersten Elementarschieberegister-Ausgangs (101a) und des zweiten Elementarschieberegister-Ausgangs, um ein kombiniertes Signal an einem Ausgang (122) zu erhalten, das eine Pseudozufallszahl umfasst.
  2. Pseudozufallszahlengenerator nach Anspruch 1, bei dem die Kombinationseinrichtung (120) einen Multiplizierer, einen Addierer, einen Dividierer oder einen Subtrahierer aufweist.
  3. Pseudozufallszahlengenerator nach Anspruch 1 oder 2, der ferner ein drittes Elementarschieberegister (103) mit einem dritten Elementarschieberegister-Ausgang (103a) aufweist, wobei die Kombinationseinrichtung (120) ausgebildet ist, um den ersten Elementarschieberegister-Ausgang (101a), den zweiten Elementarschieberegister-Ausgang (102a) und ferner den dritten Elementarschieberegister-Ausgang (103a) zu kombinieren.
  4. Pseudozufallszahlengenerator nach Anspruch 3, bei dem die Kombinationseinrichtung (120) ausgebildet ist, um Signale an dem ersten Elementarschieberegister-Ausgang (101a) und dem zweiten Elementarschieberegister-Ausgang (102a) zu multiplizieren (120a), um ein Multiplikationsergebnis zu er halten, und um das Multiplikationsergebnis mit einem Signal an dem dritten Elementarschieberegister-Ausgang (103a) zu addieren (120b), um das kombinierte Signal zu erhalten.
  5. Pseudozufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem die Kombinationseinrichtung ausgebildet ist, um von jedem Elementarschieberegister (101, 102, 103) einen zugeordneten Elementarschieberegister-Ausgang (101a, 102a, 103a) nur einmal zu verwenden.
  6. Pseudozufallszahlengenerator nach einem der vorhergehenden Ansprüche, der ferner eine Takteinrichtung aufweist, wobei die Takteinrichtung ausgebildet ist, um die Elementarschieberegister und die Kombinationseinrichtung zu takten.
  7. Pseudozufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei der ein Elementarschieberegister (101, 102, 103) folgende Merkmale aufweist: eine Vorwärtskopplungseinrichtung; und eine mit der Vorwärtskopplungseinrichtung gekoppelte Rückkopplungseinrichtung, wobei die Rückkopplungseinrichtung ausgebildet ist, um unter Verwendung von einem oder mehreren Zuständen in der Vorwärtskopplungseinrichtung eine nichtlineare Funktion zu implementieren, so dass ein Ausgangssignal aus der Rückkopplungseinrichtung mit einem Eingangssignal in die Rückkopplungseinrichtung in einem nicht-linearen Zusammenhang steht.
  8. Pseudozufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem ein Elementarschieberegister (101, 102, 103) folgende Merkmale aufweist: eine Mehrzahl von Speicherzellen (D0, D1, D2) , die in Serie zueinander geschaltet sind, wobei der Elementarschieberegister-Ausgang mit einem Ausgang einer Speicherzelle gekoppelt ist, eine Rückkopplungseinrichtung mit einem Rückkopplungseingang und einem Rückkopplungsausgang, wobei der Rückkopplungseingang mit einem Ausgang von einer Speicherzelle verbunden ist, und wobei die Rückkopplungseinrichtung ausgebildet ist, um Signale an Ausgängen von zumindest zwei Speicherzellen nichtlinear miteinander zu kombinieren.
  9. Pseudozufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem jedes Elementarschieberegister eine Anzahl von Speicherzellen umfasst, und bei dem die Anzahl von Speicherzellen der Elementarschieberegister so gewählt sind, dass sie untereinander teilerfremd sind.
  10. Pseudozufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem ein Elementarschieberegister so ausgebildet ist, dass es eine Folge mit einer Periodizität erzeugt, die die maximale Periodizität ist, oder wenigstens 75% der maximalen Periodizität beträgt.
  11. Pseudozufallszahlengenerator nach Anspruch 10, bei dem das Elementarschieberegister eine Anzahl N von Speicherzellen aufweist, und bei dem die Folge eine Periodenlänge gleich 2N – 1 hat.
  12. Pseudozufallszahlengenerator nach Anspruch 1, der ferner ein drittes Elementarschieberegister (103) und ein viertes Elementarschieberegister (104) aufweist, und bei dem die Kombinationseinrichtung ausgebildet ist, um Signale an dem ersten Elementarschieberegister-Ausgang (101a) und dem zweiten Elementarschieberegister-Ausgang (102a) mittels eines UND-Gatters (120a) zu kombinieren, und um Signale an einem Ausgang des dritten Elementarschieberegisters (103), an einem Ausgang des vierten Elementarschieberegisters (104) und einem Ausgang des UND-Gatters (120a) mit einem XOR-Gatter (120b) zu kombinieren.
  13. Pseudozufallszahlengenerator nach Anspruch 1, der ferner ein drittes Elementarschieberegister (103), ein viertes Elementarschieberegister (104) und ein fünftes Elementarschieberegister (105) aufweist, und bei dem die Kombinationseinrichtung (120) ausgebildet ist, um Signale an Ausgängen des ersten Elementarschieberegisters (101), des zweiten Elementarschieberegisters (102) und des fünften Elementarschieberegisters (105) mittels eines UND-Gatters (120a) zu kombinieren, und um Signale an einem Ausgang des dritten Elementarschieberegisters (103), des vierten Elementarschieberegisters (104) und des UND-Gatters (120a) mittels eines XOR-Gatters (120b) zu kombinieren.
  14. Pseudozufallszahlengenerator nach Anspruch 1, der ferner ein drittes Elementarschieberegister (103), ein viertes Elementarschieberegister (104), ein fünftes Elementarschieberegister (105), ein sechstes Elementarschieberegister (106), ein siebtes Elementarschieberegister (107), ein achtes Ele mentarschieberegister (108), ein neuntes Elementarschieberegister (109) und ein zehntes Elementarschieberegister (110) umfasst, und bei dem die Kombinationseinrichtung ausgebildet ist, um Signale an Ausgängen des ersten Elementarschieberegisters (101), des zweiten Elementarschieberegisters (102) und des fünften Elementarschieberegisters (105) mittels eines ersten UND-Gatters (120a) zu kombinieren, um Signale an Ausgängen des sechsten Elementarschieberegisters (106) und des siebten Elementarschieberegisters (107) mittels eines zweiten UND-Gatters (120d) zu kombinieren, um Signale an Ausgängen des achten Elementarschieberegisters (108) und des neunten Elementarschieberegisters (109) mittels eines dritten UND-Gatters (120c) zu kombinieren, und um Signale an Ausgängen des dritten Elementarschieberegisters (103), des vierten Elementarschieberegisters (104), des zehnten Elementarschieberegisters (110) und des ersten UND-Gatters (120a), des zweiten UND-Gatters (120d) und des dritten UND-Gatters (120c) mittels eines XOR-Gatters (120b) zu kombinieren.
  15. Pseudozufallszahlengenerator nach Anspruch 1, der ferner ein drittes (103), viertes (104), fünftes (105), sechstes (106), siebtes (107), achtes (108), neuntes (109), zehntes (110) und elftes (111) Elementarschieberegister umfasst, und bei dem die Kombinationseinrichtung (120) ausgebildet ist, um Signale an Ausgängen des ersten (101), des zweiten (102), des fünften (105), des neunten (109), des zehnten (110) und des elften (111) Elementarschieberegisters mittels eines UND-Gatters (120a) zu kombinieren, und um Signale an Ausgängen des dritten (103), vierten (104), sechsten (106), siebten (107), achten (108), und des UND-Gatters (120a) mittels eines XOR-Gatters (120b) zu kombinieren, um das kombinierte Signal zu erhalten.
  16. Pseudozufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem jedes Elementarschieberegister ein Elementarschieberegister mit nicht-linearer Rückkopplungseigenschaft ist.
  17. Pseudozufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem die Kombinationseinrichtung ausgebildet ist, um ein Gatter zu umfassen, das aus folgender Gruppe von Gattern ausgewählt ist: AND-Gatter, NAND-Gatter, OR-Gatter, NOR-Gatter, XOR-Gatter, XNOR-Gatter.
  18. Verfahren zum Erzeugen einer Folge von Pseudozufallszahlen, mit folgenden Schritten: Betreiben eines ersten Elementarschieberegisters (101) mit einer nicht-linearen Rückkopplungseigenschaft und einem ersten Elementarschieberegister-Ausgang (101a); Betreiben eines zweiten Elementarschieberegisters (102) mit einem zweiten Elementarschieberegister-Ausgang (102a); und Kombinieren von Signalen an dem ersten Elementarschieberegister-Ausgang (101a) und dem zweiten Elementarschieberegister-Ausgang (102b), um ein kombiniertes Signal zu erhalten, das eine Pseudozufallszahl der Folge von Pseudozufallszahlen darstellt.
  19. Computer-Programm mit einem Programmcode zum Durchführen des Verfahrens nach Patentanspruch 18, wenn das Computer-Programm auf einem Computer abläuft.
DE10339999A 2003-08-29 2003-08-29 Pseudozufallszahlengenerator Expired - Fee Related DE10339999B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10339999A DE10339999B4 (de) 2003-08-29 2003-08-29 Pseudozufallszahlengenerator
US10/925,903 US20050097153A1 (en) 2003-08-29 2004-08-23 Pseudorandom number generator
FR0409138A FR2859290B1 (fr) 2003-08-29 2004-08-27 Generateur de nombres pseudoaleatoires

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10339999A DE10339999B4 (de) 2003-08-29 2003-08-29 Pseudozufallszahlengenerator

Publications (2)

Publication Number Publication Date
DE10339999A1 true DE10339999A1 (de) 2005-04-07
DE10339999B4 DE10339999B4 (de) 2005-07-14

Family

ID=34129608

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10339999A Expired - Fee Related DE10339999B4 (de) 2003-08-29 2003-08-29 Pseudozufallszahlengenerator

Country Status (3)

Country Link
US (1) US20050097153A1 (de)
DE (1) DE10339999B4 (de)
FR (1) FR2859290B1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004037814B4 (de) * 2004-08-04 2010-12-16 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074081B2 (en) * 2002-04-15 2011-12-06 Infineon Technologies Ag Method for replacing contents of a data storage unit
DE102004013480B4 (de) * 2004-03-18 2013-01-24 Infineon Technologies Ag Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
EP1872515A1 (de) * 2005-04-20 2008-01-02 Synaptic Laboratories Limited Prozess und vorrichtung zum zählen
DE102005020808B3 (de) * 2005-05-04 2006-07-20 Micronas Gmbh Nichtflüchtige Speichereinrichtung mit einer Programmier- und Löschkontrolle
JP2009523359A (ja) * 2006-01-11 2009-06-18 ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド 動的に変化する時間ホッピング系列をuwb信号のために生成する方法及び装置
DE102006012635B4 (de) * 2006-03-20 2009-08-20 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen einer Zahl mit einer zufälligen Verteilung
US7962539B2 (en) * 2007-04-30 2011-06-14 International Business Machines Corporation System, method and device of generating a random value
US8265272B2 (en) 2007-08-29 2012-09-11 Red Hat, Inc. Method and an apparatus to generate pseudo random bits for a cryptographic key
US8781117B2 (en) * 2007-08-29 2014-07-15 Red Hat, Inc. Generating pseudo random bits from polynomials
US8099449B1 (en) * 2007-10-04 2012-01-17 Xilinx, Inc. Method of and circuit for generating a random number using a multiplier oscillation
IL188089A (en) 2007-12-12 2013-02-28 Nds Ltd Bit generator
US20090204656A1 (en) * 2008-02-13 2009-08-13 Infineon Technologies Ag Pseudo random number generator and method for generating a pseudo random number bit sequence
US8416947B2 (en) * 2008-02-21 2013-04-09 Red Hat, Inc. Block cipher using multiplication over a finite field of even characteristic
US8560587B2 (en) * 2008-05-22 2013-10-15 Red Hat, Inc. Non-linear mixing of pseudo-random number generator output
US8588412B2 (en) * 2008-05-23 2013-11-19 Red Hat, Inc. Mechanism for generating pseudorandom number sequences
US8358781B2 (en) * 2008-11-30 2013-01-22 Red Hat, Inc. Nonlinear feedback mode for block ciphers
FR2960977B1 (fr) * 2010-06-07 2012-07-13 St Microelectronics Grenoble 2 Generateur de sequence a sollicitation variable pour circuit d'autotest integre
FR3000246B1 (fr) * 2012-12-21 2016-04-15 Centre Nat De La Rech Scient (C N R S) Generateur de sequences chaotiques
US9201629B2 (en) 2013-03-14 2015-12-01 International Business Machines Corporation Instruction for performing a pseudorandom number seed operation
US8873750B2 (en) * 2013-03-14 2014-10-28 International Business Machines Corporation Instruction for performing a pseudorandom number generate operation
US9722663B2 (en) * 2014-03-28 2017-08-01 Intel Corporation Interference testing
US9696965B2 (en) 2014-12-16 2017-07-04 Nuvoton Technology Corporation Input-dependent random number generation using memory arrays
US11601120B2 (en) 2021-02-03 2023-03-07 Nuvoton Technology Corporation Attack-resistant ring oscillators and random-number generators

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3811038A (en) * 1971-09-15 1974-05-14 Int Computers Ltd Pseudo-random number generators
US20030065691A1 (en) * 2001-04-13 2003-04-03 Schmidt Douglas Charles Method and apparatus for generating random numbers with improved statistical properties

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3911330A (en) * 1974-08-27 1975-10-07 Nasa Nonlinear nonsingular feedback shift registers
NO141294C (no) * 1974-10-31 1980-02-06 Licentia Gmbh Fremgangsmaate ved frembringelse av slumpartede binaertegnfoelger
DE3371947D1 (en) * 1982-12-20 1987-07-09 Radiotechnique Sa Generator of random number sequences
US4852023A (en) * 1987-05-12 1989-07-25 Communications Satellite Corporation Nonlinear random sequence generators
US5187676A (en) * 1991-06-28 1993-02-16 Digital Equipment Corporation High-speed pseudo-random number generator and method for generating same
US5574673A (en) * 1993-11-29 1996-11-12 Board Of Regents, The University Of Texas System Parallel architecture for generating pseudo-random sequences
JPH09179726A (ja) * 1995-12-25 1997-07-11 Nec Corp 擬似乱数発生装置
IL128007A (en) * 1999-01-11 2003-02-12 Milsys Ltd Enhancements on compact logic devices and also for accelerating and securing computations in modular arithmetic especially for use in public key cryptographic co-processors designed for elliptic curve and rsa type computations
US6745219B1 (en) * 2000-06-05 2004-06-01 Boris Zelkin Arithmetic unit using stochastic data processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3811038A (en) * 1971-09-15 1974-05-14 Int Computers Ltd Pseudo-random number generators
US20030065691A1 (en) * 2001-04-13 2003-04-03 Schmidt Douglas Charles Method and apparatus for generating random numbers with improved statistical properties

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004037814B4 (de) * 2004-08-04 2010-12-16 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen

Also Published As

Publication number Publication date
DE10339999B4 (de) 2005-07-14
FR2859290B1 (fr) 2007-05-25
FR2859290A1 (fr) 2005-03-04
US20050097153A1 (en) 2005-05-05

Similar Documents

Publication Publication Date Title
DE10339999B4 (de) Pseudozufallszahlengenerator
DE10357782B3 (de) Vorrichtung und Verfahren zum Erzeugen von Zufallszahlen mit einem Pseudozufallsgenerator
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
DE102005012098B4 (de) Datenchiffrierprozessor sowie AES-Chiffriersystem und AES-Chiffrierverfahren
DE60222052T2 (de) Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA)
DE60314584T2 (de) Maskierung von in einem Restklassensystem zerlegten bzw. faktorisierten Daten
EP1342148A2 (de) Kryptographieprozessor
DE102004013480B4 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
EP2446580B1 (de) Vorrichtung und verfahren zur bildung einer signatur
DE102010029735A1 (de) Verfahren zum Generieren eines Bitvektors
DE10304451B3 (de) Modulare Exponentiation mit randomisiertem Exponenten
DE112008001707T5 (de) Finite-Feld-Operationen verwendender kryptographischer Zufallszahlengenerator
DE3138698C2 (de)
EP1324188A2 (de) Verfahren zum Multiplizieren zweier Faktoren aus dem Galois-Feld sowie Multiplizierer zum Durchführen des Verfahrens
EP1342153B1 (de) Verfahren und vorrichtung zum erzeugen einer pseudozufallsfolge mittels diskretem logarithmus
DE102004037814B4 (de) Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen
DE69832755T2 (de) Schaltung und Verfahren zum beliebigen Verschieben von M-Sequenzen
DE10250831B3 (de) Vorrichtung und Verfahren zum Erzeugen einer pseudozufälligen Folge von Zahlen
DE10319508B4 (de) Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen
DE102004013481B4 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen mit externer Auffrischung
DE102004042756B3 (de) Verfahren und Anordnung zur Erzeugung von Pseudozufallszahlen
DE60302249T2 (de) Aes mixcolumn transformation
DE10201450B4 (de) Carry-Skip-Addierer für verschlüsselte Daten
DE102022102594A1 (de) Integrierte schaltung zum erzeugen von zufallsvektoren

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