DE102004047425B4 - Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen - Google Patents
Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen Download PDFInfo
- Publication number
- DE102004047425B4 DE102004047425B4 DE102004047425A DE102004047425A DE102004047425B4 DE 102004047425 B4 DE102004047425 B4 DE 102004047425B4 DE 102004047425 A DE102004047425 A DE 102004047425A DE 102004047425 A DE102004047425 A DE 102004047425A DE 102004047425 B4 DE102004047425 B4 DE 102004047425B4
- Authority
- DE
- Germany
- Prior art keywords
- signal
- parity
- external
- random number
- random
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/84—Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Logic Circuits (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Manipulation Of Pulses (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Permanent Magnet Type Synchronous Machine (AREA)
- Stereo-Broadcasting Methods (AREA)
Abstract
Verfahren
zur Erzeugung von Zufallszahlen bei dem von wenigstens zwei Ringoszillatoren
(32, 33, 34, 41, 42, 43, 71, 72, 73, 81, 82, 83, 84) mit jeweils
einer ungeraden Anzahl von hintereinandergeschalten Invertern oszillierende
digitale Ausgangssignale (A1, A2,
..., AL) gleicher oder unterschiedlicher
Periodizität
erzeugt werden, wobei ein einen logischen Zustand („0", „1"), darstellendes
externes Paritätssignal
(PS) erzeugt wird, welches genau dann den logischen Zustand „1" einnimmt,
wenn eine ungerade Anzahl von Ausgangssignalen (A1,
A2, ..., AL) den
logischen Zustand „1"
aufweist, und welches ansonsten den logischen Zustand „0" einnimmt,
dadurch gekennzeichnet, dass das externe Paritätssignal (PS) auf jeweils einen
externen Paritätseingang
(36, 37, 38, 45, 46, 47) der jeweiligen Ringoszillatoren (32, 33,
34, 41, 42, 43, 71, 72, 73, 81, 82, 83, 84) rückgekoppelt wird.
Description
- Die Erfindung betrifft einen Zufallsgenerator gemäß dem Oberbegriff des Patentanspruchs 14 sowie ein Verfahren zur Erzeugung von Zufallszahlen nach dem Oberbegriff des Patentanspruchs 1.
- Zufallszahlengeneratoren und Verfahren zum Betreiben solcher Zufallsgeneratoren sind z. B. in
DE 199 26 640 C undUS 4,905,176 A beschrieben. - Zufallszahlengeneratoren (engl. Random Number Generators – RNGs) dienen der automatischen Erzeugung von zufälligen binären oder mehrwertigen Zahlen (Zufallszahlen). Zufallszahlengeneratoren werden in einer Vielzahl von Anwendungsbereichen benötigt. Hierzu gehören zum Beispiel:
- – Kryptografische Anwendungen,
- – Stochastische Simulationen,
- – Testen von Software und Hardware,
- – Computerspiele.
- Im Folgenden werden ausschließlich kryptografische Anwendungen von Zufallszahlengeneratoren betrachtet. Zu diesen Anwendungen gehören beispielsweise:
- – Für Authentifikation: – Challenge-Response-Protokolle, – Zero-Knowledge-Beweise.
- – Für Schlüsselaustausch-Protokolle: – Diffie-Hellmann-Verfahren,
- – Zur Schlüsselerzeugung, – Sitzungsschlüssel für symmetrische Verschlüsselungsverfahren, – Schlüsselerzeugung für asymmetrische Verschlüsselungsverfahren (Public-Key-Verfahren), – Erzeugung von binärem Rauschen (ONE-TIME-PAD, Mc-Eliece, Public-Key-Verfahren), – Parametererzeugung für Public-Key-Verfahren (z. B. die Erzeugung zufälliger Primzahlen).
- – Für andere kryptografische Anwendungen: – Passworterzeugung, – Initialwerte (engl. Seeds) für deterministische Zufallszahlengeneratoren (Pseudo-Zufallszahlengeneratoren), – Ergänzung von Klartext-Blöcken (engl. Padding), – Sicheres Löschen von Speichermedien (durch mehrfaches Oberschreiben mit zufälligen Bitmustern).
- Im Allgemeinen werden zwei Hauptarten von Generatoren unterschieden, die deterministischen (engl. Pseudo Random Number Generator – PRNG) und die physikalischen Zufallszahlengeneratoren (engl. True Random Number Generator – TRNG). Bei deterministischen Generatoren handelt es sich um algorithmische Verfahren, welche aus einem zufällig gewählten Initialwert (engl. Initial Value – IV) eine viel längere Folge von Zahlen erzeugen, die zufällig erscheint. Natürlich kann diese Folge, durch den deterministischen Charakter der Erzeugungsmethode, per se nicht echt zufällig sein.
- Um tatsächlich zufällige Folgen von Zahlen erzeugen zu können, muss daher ein so genannter physikalischer Zufallszahlengenerator verwendet werden. Dieser nutzt zur Erzeugung der Zufallszahlen entweder nichtdeterministische oder chaotische physikalische Prozesse. Durch Messung und Bearbeitung von bestimmten Prozessmessgrößen (z. B. Spannung des thermischen Rauschens an einem Widerstand), werden dann die Zufallszahlen erzeugt.
- Ziel dieser Erfindung ist, einen physikalischen Zufallszahlengenerator zu realisieren, welcher in integrierten Schaltkreisen (Integrated Circuits = ICs) eingesetzt (eingebettet) werden kann und die folgenden kryptografischen und wirtschaftlich relevanten Gütekriterien erfüllt:
- – Implementierbar ausschließlich unter Verwendung standardisierter Bauelemente der herkömmlichen hochintegrierten Schaltkreise (z. B. logische Gatter),
- – Aufgebaut unter Nutzung möglichst weniger Bauelemente (kostengünstig, mit kleiner IC-Oberfläche und geringem Stromverbrauch),
- – Eingebettet als eigenständige, unabhängige, vor dem Einfluss anderer Einheiten geschützte Einheit auf dem IC
- – Ein- und Ausschalten unabhängig von den übrigen Einheiten auf dem IC
- – Schnelles Wiederherstellen der Funktionalität nach dem Einschalten (kurze Einwärme-Zeit)
- – Möglichst hohe Anzahl von erzeugten Zufallbits pro Zeit (hohe Rate)
- – Robustheit gegenüber Umgebungsbedingungen (Temperatur, elektromagnetische Störungen, Änderungen der Speisespannung, etc.)
- – Robustheit gegenüber invasiven und nichtinvasiven Manipulationsversuchen (Angriffen) – Passive Angriffe – Aktive Angriffe
- – Erfüllung statistischer Tests, welche die Qualität des Zufalls beurteilen
- – Möglichst wenig deterministische Nachbearbeitung der erzeugten Zufallszahlen
- – Möglichkeit einer Funktionalitäts- und Qualitätsprüfung während des Betriebs (Online-Test).
- Im Folgenden wird davon ausgegangen, dass ein kryptografischer Zufallszahlengenerator als Bitquelle realisiert ist. Je nach Anwendung werden die einzelnen Bits zu Blöcken zusammengefasst (z. B. 56 Bits für einen Schlüssel des Data Encryption Standard – DES). Im Allgemeinen ist davon auszugehen, dass die durch einen kryptografischen Zufallszahlengenerator erzeugten Bitfolgen (z. B. ein Schlüssel) geheim bleiben müssen, um die Sicherheit des Kryptosystems nicht zu kompromittieren (in den im vorigen Abschnitt aufgeführten Anwendungen gilt dies für alle Verfahren, bis auf Challenge-Response-Protokolle und Zero-Knowledge-Beweise). In diesen Fällen erzeugt der Zufalls zahlengenerator das Geheimnis (engl. Secret) des jeweiligen Kryptoverfahrens. Mithilfe dieses Geheimnisses werden nun z. B. Klartexte chiffriert. Falls dem Angreifer das Geheimnis unbekannt ist, hat er immer die Wahl alle möglichen Bitfolgen durchzuprobieren (vollständige Suche). Im obigen Beispiel würde dies bedeuten, dass der Angreifer, welcher ein mit dem unbekannten Schlüssel chiffrierten Klartext beobachtet hat, im (statistischen) Mittel 255 mögliche Schlüssel durchprobieren muss, bis er erwarten kann, den tatsächlich erzeugten Schlüssel gefunden zu haben. Dieser Angriff ist aus Sicht des Angreifers der schlechtest mögliche Fall. Um ein System erfolgreich anzugreifen, muss der Angreifer in der Lage sein, eine Vorhersage über eine bestimmte Anzahl von Bits zu treffen, die ein Generator zu einem bestimmten Zeitpunkt erzeugt. Dies kann ohne Kenntnis anderer vom Generator erzeugten Bitfolgen geschehen oder unter Kenntnis von Bitfolgen, die der Generator vor oder nach der unbekannten Bitfolge erzeugt hat. Der Angreifer kann entweder versuchen die erzeugte Bitfolge komplett oder nur zu Teilen zu erraten. Im letzteren Fall kann er die verbleibenden Bits durch eine vollständige Suche finden.
- Um eine solche Vorhersage zu treffen, stehen dem Angreifer alle bekannten technischen und wissenschaftlichen Mittel zur Verfügung. Er ist nur hinsichtlich der für den Angriff aufzuwendenden Kosten eingeschränkt. Man kann davon ausgehen, dass diese unter einer festgelegen Kostengrenze zu liegen haben (ein ökonomisches Argument: Der zu erwartende Gewinn durch den Angriff sollte die Kosten für den Angriff nicht überschreiten).
- Je nach Höhe der Kostengrenze kann die Bitquelle in verschiedene Sicherheitsstufen eingeteilt werden. Widersteht eine Bitquelle für eine gegebene Kostengrenze allen Angriffen, so soll sie, bezüglich dieser Kostengrenze, als praktisch sichere Bitquelle bezeichnet werden.
- Die
14 zeigt ein Modell eines physikalischen Zufallszahlengenerators TRNG in Form einer physikalischen Bitquelle. Wesentlicher Bestandteil der Quelle ist ein physikalisches dynamisches, unvorhersagbares System, die so genannte Zufallsquelle1 . Mit dieser Zufallsquelle1 kann ein interner (zeitabhängiger) Zustand assoziiert werden. In zeitlichen Abständen wird der Wert des Zustands der Zufallsquelle1 gemessen und bearbeitet (Werteermittlung2 ) und hieraus ein oder mehrere Zufalls-Bit erzeugt (Zufalls-Bit-Erzeugung3 ). Folgen dieser derart erzeugten Zufallsbits werden als interne Zufallsbits bezeichnet. Diese können anschließend einer algorithmischen Nachbearbeitung4 unterzogen werden. Die mathematische Nachbearbeitung4 dient im Allgemeinen dem Zweck, die Qualität der internen Zufallszahlen zu verbessern (ein Maß für die Qualität von Zufallszahlen muss hierbei noch definiert werden. Näheres hierzu im folgenden Abschnitt). Im Allgemeinen spricht man von Zufallsextraktion4 . Hierunter ist die Beseitigung von Abhängigkeiten zwischen aufeinander folgenden erzeugten Bits und der Beseitigung eines oftmals vorhandenen Bias (Ungleichverteilung der Nullen und Einsen) zu verstehen. Die hierbei erzeugten Zufallsbits werden in einem weiteren Schritt ausgegeben und gegebenenfalls in einem Ausgabespeicher hinterlegt (Zufalls-Bit-Ausgabe5 ). - Wie in
14 dargestellt, ist ein physikalischer Zufallszahlengenerator TRNG kein isoliertes System, sondern eingebettet in eine physikalische Umgebung6 . Es ist davon auszugehen, dass der gemessene Zustand und damit auch die erzeugten Zufallsbits von bestimmten physikalischen Größen der Umgebung6 abhängig sind. Hierzu gehören Größen, wie z. B. die an das Ge rät gelieferte Versorgungsspannung, die Umgebungstemperatur oder elektromagnetische Felder. - Anhand der Art des physikalischen Systems können verschiedene Arten von Generatoren unterschieden werden. Es können zwei wesentliche Arten der verwendeten physikalischen Systeme ausgemacht werden:
- – Quantenphysikalische Systeme,
- – Klassisch physikalische Systeme.
- Unter einem quantenphysikalischen System versteht man ein System, welches durch die Gesetze der Quantenmechanik beschrieben wird. Nach der derzeitigen allgemeinen wissenschaftlichen Ansicht sind die hierbei auftretenden Phänomene, auf welche sich dann die Zufallserzeugung abstützt, echt zufällig. Beispiele hierfür sind Zerfallsprozesse von radioaktiven Materialien.
- Klassisch physikalische Systeme hingegen werden durch die deterministischen Gesetze der (klassischen) Physik beschrieben. Dass diese Systeme trotzdem unvorhersagbar sein können, kann verschiedene Gründe haben. Für Systeme mit vielen Freiheitsgraden sind die auftretenden Wechselwirkungen innerhalb des Systems oft zu komplex um sie exakt vorherzusagen. Hinzu kommt, dass der Anfangszustand des Systems oft nicht exakt bestimmt werden kann. Dieser Umstand hat im Falle so genannter chaotischer Systeme weitere Auswirkungen. In solchen Systemen führen kleinste Änderungen im Anfangszustand, im Laufe der Zeit, zu sich stark unterscheidenden, nicht vorhersagbaren Systemzuständen.
- Um eine kryptografische Bitquelle zu beurteilen, muss sie mit den Eigenschaften der vorstehend vorgestellten praktisch sicheren kryptografischen Bitquelle verglichen werden. Hierzu gehören eine statistische Beurteilung der erzeugten Bitfolgen und eine Prüfung der Möglichkeiten der so genannten Seitenkanalangriffe. Beim Einsatz von Zufallszahlengeneratoren in eingebetteten Systemen kommt diesen Angriffen tatsächlich eine große Bedeutung zu. Unter einem Seitenkanalangriff ist ein Versuch zu verstehen, die vom Generator erzeugten Zahlen vorherzusagen, bzw. ihre Erzeugung zu beeinflussen. Dies geschieht nicht-invasiv durch Ermittlung von Messwerten aus der Umgebung des Generators (passive Angriffe), bzw. durch eine gezielte Beeinflussung der Umgebung (aktive Angriffe). Eine weitere Verschärfung eines solchen Angriffs stellen die invasiven Seitenkanalangriffe dar (zum Beispiel könnte der IC aufgebohrt werden, um dort Signale zu messen). Typische passive, nicht-invasive Angriffe sind zum Beispiel die Messung der elektromagnetischen Abstrahlung oder des Stromverbrauchs des Generators.
- Für die statistische Beurteilung der, durch einen Generator generierten Bitfolgen stehen verschiedene statistische Tests zur Verfügung (z. B. Killmann, Wolfgang; Schindler, Werner: „Ein Vorschlag zu: Funktionalitätsklassen und Evaluationsmethodologie für physikalische Zufallszahlengeneratoren", Bundesamt für Sicherheit in der Informationstechnik, 2001;/Marsaglia, G. Diehard: „A Battery of Tests for Randomness", URL http://stat.fsu.edu/pub/diehard/. 1996;/Ruhkin, A.L.; Sotot, J.; Nechvatal, J.; Smid, M.; Levenson, M.; Banks, D.; Vangle, M.; Leigh, S.; Vo, S.; Dray, J.: „A Statistical Test Suite for the Validation of Cryptography Random Number Generators", National Institute of Standards and Technology, Gaithersburg, MD, 2000;/Schindler, Werner and Wolfgang Killmann: „Evaluation Criteria for True (Physical) Random Number Generators Used in Cryptographic Applictions", in: Jr., Burton S.K. (Hrsg.); Kaya Koc, Cetin (Hrsg.); Paar, Christof (Hrsg.): „Cryptographic Hardware and Embedded Systems – CHES 2002", 4th International Workshop, Redwood Shores, CA, USA, August 13-15, 2002, Revised Papers. BD. 2523. Springer, 2003 (Lecture Notes in Computer Science). – ISBN 3-540-00409-2, S. 431-449.).
- Prinzipiell steht man bei der Beurteilung dieser endlichen Bitfolgen vor dem Problem der Definition des Begriffs einer zufälligen endlichen Sequenz. Nach Kolmogorov (Kolmogorov, Andrei N.: „Three approaches to the quantitative definition of information", in: "Problems in Information Transmission 1" (1965), Nr. 1) ist eine endliche Sequenz zufällig, falls sie nicht komprimiert werden kann. Dies bedeutet, dass die Länge ihrer kürzesten algorithmischen Beschreibung, bezüglich eines ausgewählten Rechnermodells, von der gleichen Größenordnung ist, wie die Länge der Sequenz selbst (dies ist die so genannte Kolmogorov-Komplexität einer Folge, mit der Turning-Maschine als Rechnermodell). Der Grundgedanke hierbei ist, dass eine Folge, welche komprimierbar ist, Regelmäßigkeiten aufweisen muss, um die Kompression zu ermöglichen. Zufällige Folgen weisen also in diesem Sinne keinerlei Regelmäßigkeiten auf. Leider lassen sich aus diesem Konzept keine direkten Tests für die Zufälligkeit von Folgen ableiten, da die Kolmogorov-Komplexität im Sinne der Berechenbarkeitstheorie nicht berechenbar ist.
- Die statistischen Tests sind nur in der Lage eine Bitfolge bezüglich bestimmter Eigenschaften zu prüfen, welche man zufälligen (endlichen) Bitfolgen zuweist. Diese Eigenschaften leiten sich oft aus intuitiven Vorstellungen ab, welche man nach allgemeiner Auffassung vom Zufall hat. Tatsächlich konnte von einer Reihe Tests gezeigt werden, dass sie, von im Sinne Kolmogorov zufälligen Bitfolgen, bestanden werden (Li, Ming; Vitannyi, Paul: „An Introduction to Kolmogorov Complexity and its Applications", Springer-Verlag, 1993, – ISBN 0-387-94053-7).
- Aus dem Stand der Technik sind nunmehr physikalische Zufallszahlengeneratoren in einer Vielzahl von Abwandlungen bekannt. Zu Beginn der Zufallszahlengeneratorenentwicklung wurden vorwiegend externe, d. h. nicht in ICs eingebettete Zufallszahlengeneratoren entwickelt. Hierfür steht eine größere Auswahl an verwendeten Zufallsquellen zur Verfügung. In heutigen, externen Zufallszahlengeneratoren werden eine Vielzahl von Zufallsquellen verwendet, beispielsweise radioaktive Quellen, elektronisches, thermisches Rauschen in Widerständen oder zufällige Ereignisse in der Umgebung (z. B. Zeitintervalle zwischen Tastendrucken auf einer Tastatur).
- Erst in jüngster Zeit werden in kommerziellen ICs Zufallszahlengeneratoren eingebettet. Hier spielen nun die Art der Zufallsquelle, deren Oberflächengröße auf dem IC, die technische Realisierung und Miniaturisierung eine wichtige Rolle. Allerdings wird bis heute die Immunität der Zufallszahlengeneratoren gegen Seitenkanalangriffe kaum beachtet. Beispiele für realisierte eingebettete Zufallszahlengeneratoren finden sich in
DE 101 17 362 A1 ; Cryptography Research, Inc. „Evaluation of the VIA C3 Nehemiah Random Number Generator", URL http://www.cryptography.com/resources/whitepapers/VIA rng.pdf; Cryptography Research, Inc. "The Intel Random Number Generator" URL http://www.cryptography.com/resources/whitepapers/IntelRNG.pdf; US 2002/0186 086 A1;US 4,855,690 ;DE 101 03 071 A1 ; Fischer, Viktor; Drutarovsky, Milos: "True Random Number Generator Embedded in Reconfigurable Hardware", in: Jr., Burton S.K. (Hrsg.); Kaya Koc, Cetin (Hrsg.); Paar, Christof (Hrsg.): „Cryptographic Hardware and Embedded Systems – CHES 2002", 4th International Workshop, Redwood Shores, CA, USA, Au gust 13-15, 2002, Revised Papers. BD. 2523. Springer, 2003 (Lecture Notes in Computer Science). – ISBN 3-540-00409-2, S. 415-430,US 5,706,218 ; WO 03/081417,DE 102 13 269 A1 ; US 2003/0185392 A1;EP 1 343 073 A2 ; Tkacik, Thomas E.: "A Hardware Random Number Generator", in: Jr., Burton S.K. (Hrsg.); Kaya Koc, Cetin (Hrsg.); Paar, Christof (Hrsg.): „Cryptographic Hardware and Embedded Systems – CHES 2002", 4th International Workshop, Redwood Shores, CA, USA, August 13-15, 2002, Revised Papers. BD. 2523. Springer, 2003 (Lecture Notes in Computer Science), – ISBN 3-540-00409-2, S. 450-453. - Die Erfindung geht von einem sogenannten Inverterketten-Zufallszahlengenerator aus, wie er gemäß dem Stand der Technik in unterschiedlichster Ausführung beschrieben ist. Beispielhaft wird auf die
DE 102 13 269 A1 verwiesen. - Grundbaustein dieser Zufallszahlengeneratoren ist ein so genannter Ringoszillator
8 . Er besteht aus der seriellen Verbindung von einer ungeraden Anzahl K von Invertern inv1, inv2, ... invK (logischen NOT-Gattern), wobei der Ausgang des letzten Inverters invK mit dem Eingang des ersten Inverters inv1 verbunden ist (siehe15a ). Durch die Verzögerungszeiten der einzelnen Inverter inv1, inv2, ... invK kommt es nur bei einer ungeraden Anzahl K von Gattern inv1, inv2, ... invK zu einer periodischen Schwingung. - Um diese Schwingung zu starten bzw. zu stoppen, kann der erste Inverter inv1 durch ein NAND-Gatter nand1 mit Steuereingang start/stop ersetzt werden (siehe
15b ). Wird dieser Steuereingang start/stop auf logisch Eins („1") gesetzt, beginnt der Ringoszillator9 zu schwingen. -
16a zeigt einen Ringoszillator10 für K = 3 mit zwei Invertern inv2, inv3 und einem NAND-Gatter nand1.16b zeigt einen idealisierten Signalverlauf am Eingang11 und Ausgang12 eines Inverters inv, dessen Verzögerungszeit τ beträgt. Nimmt man an, das die Gatter nand1, inv2, inv3 im Ringoszillator10 nach16a ein derartig idealisiertes Verhalten aufweisen, so zeigt16c den idealisierten Signalverlauf des Ringoszillators10 gemäß der16a an den Punkten S, B, C und A = A', nachdem der Eingang5 für eine Laufzeit T auf „1" gesetzt wurde. - Für eine technische Realisierung des Ringoszillators
10 mit K = 3 mit dem CMOS-Baustein 74HCT04 (ohne Eingangs-NAND-Gatter,17a ), ist ein mit einem Oszilloskop aufgenommener Signalverlauf14 am Punkt A' in17b darstellt. Wie sich aus der Ausschnittsvergrößerung des Signalverlaufs14 (in17b ) ergibt, wird durch thermische Bewegung der Elektronen in den Leitungen des Schaltkreises 74HCT04 ein thermisches Rauschsignal aufaddiert.17c zeigt die Hüllkurve15 des verrauschten Schwingungssignals14 beobachtet über ein längeres Zeitintervall t. Wie zu bemerken ist, führt das Rauschen in den Flanken des Signals14 zu einer früheren oder späteren Überschreitung des Entscheidungspegels relativ zum rauschfreien Signal. Diese zeitlich zufällige Verschiebung der Flanken wird als Jitter bezeichnet. Die Differenz zwischen den maximal möglichen Flankenverschiebungen, beobachtet bezüglich eines fixen Zeitpunktes t1 (17c ), ist mit dem Bezugszeichen Δ bezeichnet. Der Betrag dieser Differenz Δ nimmt zu, je weiter eine Flanke von dem Bezugszeitpunkt t1 entfernt ist. Dieses Phänomen ist als Jitter-Akkumulation bekannt. - In
18 ist ein Schwingungssignal14 des Ringoszillators10 aus17a , mit einer Frequenz f von ca. 25 MHz, 512 mal über die Dauer von 0,2 s gemittelt, dargestellt. Die Einhüllende13 dieses gemittelten Signals zeigt den Verlauf der Autokorrelation für verschiedene zeitliche Abstände vom Triggerpunkt an. Wie man aus18 sehen kann, wird das Signal14 erst nach ca. 0,28 s durch akkumulierten Jitter vollständig dekorreliert. - Dies bedeutet, dass die erzeugten Bits erst bei einer Abtastungsrate ν von 3 Hz (oder kleiner) dekorreliert wären und somit für eine Zufallsbitquelle genutzt werden könnten. Um die maximal mögliche Rate νmax der erzeugten Zufallsbits zu erhöhen, kann man mehrere Ringoszillatoren mit verschiedenen Perioden (d.h. mit verschiedenen Werten für K) kombinieren.
19 zeigt zwei Ausführungsbeispiele für Schaltungsanordnungen basierend auf einer Anzahl L von Ringoszillatoren17 ,18 ,19 und20 ,21 ,22 . Hierbei wird jeweils eine Paritätsprüfung (sogenanntes XORing) der Ausgänge durchgeführt. Konkret bedeutet dies, dass die Ausgänge der jeweiligen Ringoszilatoren17 ,18 ,19 und20 ,21 ,22 mit den Eingängen eines XOR-Gatters xor verbunden werden, so dass an dessen Ausgang genau dann ein „1"-Signal erzeugt wird, wenn an den Ausgängen der Ringoszilatoren17 ,18 ,19 und20 ,21 ,22 eine ungerade Anzahl von logischen „1" anliegt. Eine gerade Anzahl von logischen „1" wird am Ausgang des XOR-Gatters XOR ein „0"-Signal erzeugen. Deshalb wird das Signal am Ausgang des XOR-Gatters XOR nachfolgend als Paritätssignal PS bezeichnet. - Die beiden Schaltungen gemäß den
19a bzw.19b unterscheiden sich lediglich in der Beschaffung der start/stop-Eingänge der Ringoszillatoren17 ,18 ,19 und20 ,21 ,22 . Bei der ersten Ausführungsvariante gemäß der19a werden die start/stop-Eingänge der einzelnen Ringoszillatoren17 ,18 ,19 gemeinsam angesteuert. Die zweite in19b dargestellte Möglichkeit besteht darin, die Eingänge der Ringoszillatoren20 ,21 ,22 separat anzusteuern, um damit die Anfangsphasen der einzelnen Schwingungssignale gegeneinander zu verschieben. - In
20a ist eine Schaltung mit Paritätsprüfung von zwei Ringoszillatoren24 ,25 mit gemeinsamem start/stop Signal dargestellt. Wie in20b und20c zu sehen ist, bleibt die Periode P des Paritätssignals PS,29 konstant. Durch langsame Phasenverschiebungen der einzelnen Ringoszillator-Signale27 ,28 ändert sich der Signalverlauf29 des Paritätssignals PS, innerhalb einer Periode P über größere Zeitabstände, was in21a deutlich zu sehen ist. Die Einhüllende30 des Paritätssignals PS,29 über einen Zeitraum von ca. 0,2 s in21b zeigt eine variablere Autokorrelation, die kleiner ist, als die Autokorrelation der einzelnen Komponenten (siehe18 ). Diese Paritätsprüfung von Ringoszillatoren wird in vielen Realisierungen von Zufallszahlengeneratoren benutzt. Mit dieser Technik kann man die Korrelationen nicht komplett entfernen und daher wird eine zusätzliche, die Rate herabsetzende, deterministische Nachbearbeitung unvermeidbar. - Die Aufgabe der Erfindung besteht nunmehr darin, einen Zufallszahlengenerator der gattungsgemäßen Art sowie ein Verfahren zur Erzeugung einer Zufallszahlenfolge, wie es aus dem Stand der Technik bekannt ist, derart auszuführen bzw. weiterzubilden, dass eine deterministische Nachbearbeitung nicht mehr notwendig ist.
- Diese Aufgabe wird durch einen Zufallszahlengenerator mit den Merkmalen des Patentanspruchs 14 sowie durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 gelöst.
- Vorteilhafte Ausführungen und Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
- Die Erfindung geht von einem Verfahren zur Erzeugung von Zufallszahlen aus, bei dem von wenigstens zwei Ringoszillatoren oszillierende digitale Ausgangssignale gleicher oder unterschiedlicher Periodizität erzeugt werden und bei dem ein einen logischen Zustand, nämlich logisch „0" oder „1", darstellendes externes Paritätssignal erzeugt wird, welches genau dann den logischen Zustand „1" einnimmt, wenn eine ungerade Anzahl der Ausgangssignale den logischen Zustand „1" hat, und ansonsten den logischen Zustand „0" einnimmt. Erfindungsgemäß ist vorgesehen, dass das externe Paritätssignal auf jeweils einen externen Paritätseingang der jeweiligen Ringoszillatoren rückgekoppelt wird. Wie aus dem Stand der Technik bekannt ist kann das externe Paritätssignal zur Erzeugung von Zufallsbits verwendet werden, indem es abgetastet wird. Aufgrund der Rückkopplung des Paritätssignals auf den (externen Paritäts-) Eingang des jeweiligen Ringoszillators wird die Autokorrelation des Paritätssignals gegenüber dem aus dem Stand der Technik bekannten Verfahren ohne Rückkopplung signifikant reduziert. Daher kann mit dem erfindungsgemäßen Verfahren die Rate der erzeugten Zufallsbits deutlich erhöht werden.
- Ein Zufallszahlengenerator gemäß der Erfindung umfasst in entsprechender Weise wenigstens zwei vorzugsweise aus unabhängig freischwingenden rückgekoppelten Inverterketten mit einer ungeraden Anzahl an hintereinandergeschalteten Invertern aufgebaute Ringoszillatoren, welche die vorstehend genannten oszillierenden digitalen Ausgangssignale gleicher oder unterschiedlicher Periodizität erzeugen, sowie erste, vorzugsweise durch ein Exklusiv-ODER-Gatter gebildete, Paritätssignalerzeugungsmittel, welche das vorerwähnte externe Paritätssignal erzeugen. Erfindungsgemäß sind beispielsweise durch Exklusiv-ODER-Gatter gebildete Rückkoppelmittel vorgesehen, welche dieses externe Paritätssignal auf den jeweils einen externen Paritätseingang der jeweiligen (aus Inverterketten gebildeten) Ringoszillatoren zurückkoppeln.
- Erfindungsgemäß ist in einer bevorzugten Ausführungsvariante vorgesehen, dass zu jedem Ringoszillator jeweils ein einen vorgegebenen logischen Zustand (z.B. „1") darstellendes internes Paritätssignal erzeugt wird, wenn entweder das Ausgangssignal des jeweiligen Ringoszillators oder das auf den externen Paritätseingang des jeweiligen Ringoszillators rückgekoppelte Signal einen vorgegebenen logischen Zustand (z.B. „1") einnimmt. Diese internen Paritätssignale können wiederum durch weitere Paritätssignalbildung der vorstehend beschriebenen Art in ein weiteres Paritätssignal überführt werden, welches in vorstehend beschriebener Weise zur Erzeugung von Zufallsbits verwendet werden kann, indem es abgetastet wird. Durch diese weitere Paritätsbildung ergibt sich ein Signal, dessen Autokorrelation gegenüber dem externen Paritätssignal noch einmal signifikant reduziert ist. Damit einhergehend kann auf diese Weise die mögliche Abtastrate zur Erzeugung der Zufallsbits noch einmal deutlich erhöht werden.
- Der erfindungsgemäße Zufallszahlengenerator umfasst demgemäss zur Erzeugung der inneren Paritätssignale entsprechende Paritätssignalerzeugungsmittel. Diese umfassen vorzugsweise Exklusiv-ODER-Gatter mit jeweils einem externen Paritätseingang und einem Ausgangssignal-Eingang. An dem externen Paritätseingang liegt ein vom externen Paritätssignal abgeleitetes Signal, z.B. das Paritätssignal selbst oder ein Signal, dessen Erzeugung nachfolgend im Detail beschrieben wird, an. An dem Ausgangssignal-Eingang liegt das jeweilige Ausgangssignal des jeweiligen Ringoszillators an. Zur Erzeugung des weiteren Paritätssignals umfasst der erfindungsgemäße Zufallszahlengene rator weitere Paritätssignalerzeugungsmittel, welche das einen logischen Zustand „0" oder „1" darstellende weitere Paritätssignal erzeugen, wenn eine ungerade Anzahl der internen Paritätssignale einen vorgegebenen logischen Zustand (z.B. „1") einnimmt. Auch diese Mittel umfassen in entsprechender Art und Weise vorzugsweise ein Exklusiv-ODER-Gatter (XOR-Gatter) an dessen Eingängen die internen Paritätssignale anliegen.
- Wie vorstehend bereits erwähnt wurde, kann insbesondere bei aus Inverterketten gebildeten Ringoszillatoren ein Startproblem auftreten. Um dieses Problem zu vermeiden sind erfindungsgemäß bei dem Zufallszahlengenerator gemäß der Erfindung Startmittel vorgesehen, welche ein Startsignal (z.B. eine logische „1") erzeugen und einem start/stop-Eingang wenigstens eines der Ringoszillatoren zuführen, so dass dieser zur Oszillation angeregt wird. Hierzu weist dieser beispielsweise anstelle eines eingangsseitigen Inverters ein NAND-Gatter mit zwei Eingängen auf. Der eine Eingang und der Ausgang dieses NAND-Gatters sind anstelle des Eingangs und des Ausgangs des herausgenommenen Inverters mit der verbleibenden Inverterkette verschaltet. Der andere Eingang bildet den vorerwähnten start/stop-Eingang zum Zuführen des Startsignals.
- Es können grundsätzlich sämtliche Ringoszillatoren separat über entsprechende start/stop-Eingänge gestartet werden. Es hat sich jedoch in vielen Fällen als günstig erwiesen, wenn alle Ringoszillatoren, vorzugsweise gleichzeitig, mit Hilfe desselben Startsignals (z.B. logisch „1") zur Oszillation angeregt werden. Zu diesem Zweck sind beispielsweise alle Ringoszillatoren anstelle eines eingangsseitigen Inverters jeweils mit einem NAND-Gatter versehen, deren start/stop-Eingänge zum Zuführen des Startsignals (z.B. einer logischen „1") miteinander verbunden sind.
- Je nach Konstellation kann auch jetzt noch ein Startproblem auftreten. Dieses Startproblem lässt sich dadurch beseitigen, dass wenigstens einem externen Paritätseingang ein Inverter vorgeschaltet ist, dem das externe Paritätssignal zugeführt wird. Zum einen tritt durch diesen Inverter eine Verzögerung des Signals an diesem externen Paritätseingang und zum anderen tritt eine Polaritätsumkehr des Signals an diesem externen Paritätseingang mit vorgeschaltetem Inverter ein. Letzteres führt zu einer Polaritätsumkehr am Eingang des entsprechenden Ringoszillators und damit zu einem Ingangsetzen der Oszillation in diesem Ringoszillator. In der Folge werden auch die anderen angeschlossenen Ringoszillatoren zur Schwingung angeregt.
- In bestimmten Anwendungsfällen hat es sich als vorteilhaft herausgestellt, wenn allen externen Paritätseingängen Inverterketten mit einer unterschiedlichen Anzahl an Invertern vorgeschaltet sind, denen das externe Paritätssignal zugeführt wird. Eine Schwingung der Schaltungsanordnung kommt dann zustande, wenn die Summe der ein ungeradzahliges Vielfaches einer Verzögerungszeit eines Gatters (Inventer, NAND-Gatter, XOR-Gatter) betragenden Periodizität eines der von einem ersten der Ringoszillatoren erzeugten Ausgangssignals und der ein Vielfaches der Verzögerungszeit betragenden Verzögerungszeitdauer des externen Paritätssignals an dem externen Paritätseingang des ersten der Ringoszillatoren ein ungeradzahliges Vielfaches der Verzögerungszeit ist und wenn die Summe der ein ungeradzahliges Vielfaches der Verzögerungszeit betragenden Periodizität eines der von einem zweiten der Ringoszillatoren erzeugten Ausgangssignals und der ein Vielfaches der Verzögerungszeit betragenden Verzögerungszeitdauer des externen Paritätssignals an dem externen Paritätseingang des zweiten der Ringoszillatoren ein geradzahliges Vielfaches der Verzögerungszeit ist.
- Wie vorstehend bereits erwähnt wurde können sowohl das externe Paritätssignal als auch das weitere Paritätssignal zur Erzeugung von Zufallsbits verwendet werden. Der Zufallszahlengenerator gemäss der Erfindung kann daher Abtastmittel aufweisen, welche das externe Paritätssignal zur Erzeugung von Zufallsbits mit einer vorgegebenen Rate abtasten und/oder Abtastmittel, welche das weitere Paritätssignal zur Erzeugung von Zufallsbits mit einer vorgegebenen Rate abtasten.
- Die maximale Abtastrate kann weiter erhöht werden, wenn mehrere Zufallszahlengeneratoren der vorstehend beschriebenen Art kombiniert werden. Ausgehend von Zufallszahlengeneratoren, welche externe, insbesondere abgetastete, Paritätssignale erzeugen und/oder welche weitere, insbesondere abgetastete, Paritätssignale erzeugen lassen sich durch nochmalige bzw. wiederholte Paritätsbildung aus diesen Paritätssignalen (es sind beliebige Variationen von Paritätssignalbildungen möglich) Zufallszahlengeneratoren bilden bei denen das zur Zufallszahlenerzeugung vorgesehene (Super-)Paritätssignal eine nahezu beliebig reduzierte Autokorrelation aufweist.
- Die weitere Zufallszahlengeneration erfordert eine Abtastung. Hierbei spielt es keine Rolle, ob die externen Paritätssignale oder die weiteren Paritätssignale oder sonstige Paritätssignale niederer Ordnung zur Erzeugung von Zufallsbits mit einer vorgegebenen Rate synchron abgetastet werden oder das (Super-) Paritätssignal höchster Ordnung zur Erzeugung von Zufallsbits mit der vorgegebenen Rate abgetastet wird.
- Die Abtastung kann in zeitlich konstanten Abständen erfolgen, erfindungsgemäß ist jedoch auch vorgesehen, eine Abtastung in zufälligen, nicht uniformen Abtastintervallen durchzuführen. Beispielsweise lässt sich eine zufällige Abtastung erreichen, wenn die Abtastung zu einem Zeitpunkt durchgeführt wird, wenn ein von einem der vorstehend beschriebenen Zufallsgeneratoren zufällig erzeugtes Zufallsbit einen vorbestimmten logischen Zustand (z.B. „1") einnimmt.
- Die Abtastung kann beispielsweise mittels eines D-Flip-Flops erfolgen, welches in einem Takt von einem Taktgeber, insbesondere von einem astabilen Multivibrator (bei zeitlich konstanten Abtastintervallen) oder von einem rückgekoppelten Ringoszillatoren der vorstehend beschriebenen Art (bei zeitlich zufälligen Abtastintervallen), angesteuert wird.
- Die Erfindung wird nunmehr anhand der Zeichnungen näher beschrieben. Es zeigen:
-
1 Ringoszillatoren mit rückgekoppeltem Paritätssignal. -
2 ein Beispiel des Startproblems bei rückgekoppelten Ringoszillatoren: - a) vor dem Start;
- b) nach dem Start.
-
3 eine Lösung des Startproblems aus2 ; - a) vor dem Start;
- b) nach dem Start.
-
4 den Signalverlauf des Paritätssignals PS in der Schaltung aus3 in einer Zeitspanne von: - a) 10ns;
- b) 40ns;
- c) 200ns;
- d) 400ns;
- e) 1000ns;
- f) 2000ns.
-
5 ein gemitteltes Paritätssignal der Schaltung aus3 . -
6 ein allgemeines Schaltbild von rückgekoppelten Ringoszillatoren (RRO). -
7 einen Schaltkreis von RRO (4; 1, 3, 4, 5; 3, 2, 1, 0). -
8 interne Paritätssignale des RRO (4; 1, 3, 4, 5; 3, 2, 1, 0) nach der7 in den Punkten P1, P2, P3 und P4. -
9 einen Zufallsbitgenerator realisiert mit RROs. -
10 ein Beispiel eines Zufallszahlengenerators mit RRO (4; 1, 3, 4, 5; 3, 2, 1, 0). -
11 einen Zufallszahlengenerator mit einer Anzahl N RROs und abgetastetem Superparitätssignal. -
12 einen Zufallszahlengenerator mit einer Anzahl N abgetasteten RROs und abgetastetem Superparitätssignal. -
13 einen Zufallszahlengenerator mit einer Anzahl N synchronisiert, abgetasteten RROs und abgetastetem Superparitätssignal. -
14 ein Modell eines physikalischen Zufallsgenerators (Stand der Technik). -
15 Ring-Oszillatoren gemäß dem Stand der Technik - a) Inverterketten-Ring Oszillator;
- b) Inverterketten-Ring Oszillator mit Steuereingang.
-
16 ein Beispiel für die Funktionsweise eines Ring-Oszillators nach dem Stand der Technik - a) einen Ring Oszillator für K = 3 (Stand der Technik);
- b) eine idealisierte Verzögerung eines Inverters;
- c) einen Verlauf eines Schwingsignals.
-
17 ein Beispiel für die praktische Realisierung des Ring-Oszillators nach16 - a) Realisierung eines Ring Oszillator für K = 3 mit dem Baustein 74HCT04,
- b) Verlauf seines Schwingungssignals mit aufaddiertem thermischen Rauschen;
- c) Hüllkurve des verrauschten Schwingungssignals.
-
18 ein gemitteltes Schwingungssignal des Ringoszillators aus17a . -
19 ein Beispiel für die Durchführung einer sogenannten Paritätsprüfung (Stand der Technik) - a) eine Schaltung für die Paritätsprüfung von L Ringoszillatoren mit gemeinsam angesteuertem start/stop-Signal;
- b) eine Schaltung für die Paritätsprüfung von L Ringoszillatoren mit getrennt angesteuertem start/Stopp-Signal.
-
20 ein Beispiel für die praktische Durchführung der Paritätsprüfung nach der19a - a) ein Beispiel für eine Schaltung für Paritätsprüfung von zwei Ringoszillatoren mit gemeinsam angesteuertem start/Stopp-Signal
- b) Signale der einzelnen Komponenten und Verlauf des Paritätssignals.
- c) Signale der einzelnen Komponenten und Verlauf des Paritätssignals.
-
21 ein Beispiel für die praktische Durchführung der Paritätsprüfung nach der19a - a) Signale der einzelnen Komponenten und Verlauf des Paritätssignals
- b) ein gemitteltes Paritätssignal
der Schaltung aus
20a . -
22 einen RRO mit neutralisiertem Restbias - Die grundsätzliche Idee der Erfindung besteht, wie vorstehend dargelegt wurde, in der Rückkopplung des Paritätssignals auf die Eingänge der einzelnen Ringoszillatoren.
- Die
1 zeigt ein erstes Ausführungsbeispiel eines erfindungsgemäßen Zufallsgenerators basierend auf einer Anzahl L von Ringoszillatoren32 ,33 ,34 , deren Ausgänge entsprechenden Eingängen eines XOR-Gatters xor zugeführt werden, an dem ein Paritätssignal PS gebildet wird. - Wie
1 zeigt, wird die Zuführung des rückgekoppelten Paritätssignals PS auf die einzelnen Eingänge der Ringoszillatoren32 ,33 ,34 durch eine Anzahl logischer XOR-Gatter xor1, xor2, ... xorL erreicht. Der jeweilige Eingang, an dem das Paritätssignal PS anliegt, soll als externer Paritätseingang36 ,37 ,38 bezeichnet werden. - Wichtig ist zu bemerken, dass nicht für alle Wert-Kombinationen der Parameter L, K1, ..., KL eine Schwingung dieser Schaltung zustande kommt, wie das Beispiel in
2 für L = 3, K1 = 3, K2 = 5 und K3 = 7 zeigt und wie nachfolgend im Detail beschrieben wird. - In
2a ist der logische Zustand der ausgeschalteten Schaltung dargestellt.2b zeigt den Zustand der Schaltung nach dem Einschalten (d.h. nach dem Setzen des Start/Stop-Signals auf logisch „1"). Wie zu bemerken ist, befindet sich die Schaltung immer noch in einem statischen (nicht schwingenden) Zustand, da sich alle Ausgänge der NAND-Gatter nandi,1 für i = 1, 2, 3 nicht geändert haben. Dieses Startproblem kann durch Einfügen eines weiteren Inverters inv3,–1 vor dem externen Paritätseingang47 des XOR-Gatters behoben werden (siehe3 ). - Das Paritätssignal PS dieser nun schwingenden Schaltung ist in
4 für verschiedene Zeitintervalle dargestellt. Es ist eindeutig zu sehen, dass die Rückkopplung für eine geeignete (schwingende) Parameterkombination zu einer sehr unregelmäßigen Form des Paritätssignals PS führt. Das gemittelte Paritätssignal PS zeigt eine sehr geringe und konstante Autokorrelation (siehe5 ). Im Vergleich zu21b ist dies eine signifikante Verbesserung, die es erlaubt, die Rate ν der erzeugten Zufallsbits deutlich zu erhöhen. - Um das Startproblem generell zu lösen, und um zusätzliche Jitter-Akkumulation einzuführen, werden vor den XOR-Gattern xori i = 1, ..., L, Ketten von Invertern invi,–j, i = 1 ... L, j = 1, ... Mi eingeführt. Die Länge der einzelnen Ketten M1, ... ML variiert hierbei. Um sicher zu stellen, dass das Start/Stop-Problem nicht auftritt, müssen die Parameter Mi und Ki speziell gewählt werden. Es muss gelten, dass mindestens ein Paar i, j mit i, j, ∊ {1, ... L} × {1, ..., L} existiert, so dass eine der beiden Summen Mi + Ki und Mj + Kj ungerade und die andere gerade ist.
-
6 zeigt ein generelles Schaltbild mit rückgekoppeltem Paritätssignal PS. Diese Schaltung soll im Folgenden als rückgekoppelter Ring-Oszillatoren RRO bezeichnet werden. Die Signale an den Ausgängen P1 bis PL, der XOR-Gatter xor1 bis xorL, prüfen die Parität ihrer Eingangssignale und werden daher als interne Paritätssignale bezeichnet. Zur Unterscheidung soll das Paritätssignal PS am Ausgang des XOR-Gatters XOR als externes Paritätssignal bezeichnet werden. -
7 zeigt eine Instanz des RRO mit den Parametern L = 4, K1 = 1, K2 = 3, K3 = 4, K4 = 5; M1 = 3, M2 = 2, M3 = 1, M4 = 0. Als Kurzschreibweise wird RRO (4; 1, 3, 4, 5; 3, 2, 1, 0) verwendet. Die inneren Paritätssignale sind durch die Konstruktion des RRO sehr unterschiedlich, wie dies die8 zeigt, und können zur Erzeugung von Zufallsbits benutzt werden. - Durch eine weitere Paritätsprüfung PP der inneren Paritätssignale P1, P2, ... PL, bei der ein weiteres Paritätssignal PP erzeugt wird, wird die Qualität des Zufalls weiter verbessert und kann nach Abtastung als Zufallsbitfolge ZB verwendet werden, wie dies in
9 dargestellt ist. Die Abtastung erfolgt durch ein D-Flip-Flop85 , welches durch ein periodisches Taktsignal CP angesteuert wird. Das Taktsignal CP kann von einem astabilen Multivibrator87 erzeugt werden und seine Periode (uniformes Abtastungsintervall) durch einen binären Zähler86 bestimmt werden. Um zufällige, nicht uniforme Abtastintervalle zu erhalten, kann der astabile Multivibrator87 durch einen RRO ersetzt werden. In10 ist ein Zufallzahlengenerator mit der RRO-Instanz RRO (4; 1, 3, 4, 5; 3, 2, 1, 0) mit uniformer Abtastung dargestellt. Statistische Tests dieses Zufallszahlengenerators haben eine geringe Ungleichverteilung (Bias) und eine kleine Korrelation der Bits gezeigt. - Um diese zu beseitigen, wurden mehrere RROs durch eine weitere (Super-)Paritätsprüfung SP gekoppelt. Diese Kopplung kann auf verschiedene Weise durchgeführt werden. In
11 erfolgt die uniforme Abtastung nach der Paritätsprüfung PP, wohingegen in12 die einzelnen RROs vor der (Super)Paritätsprüfung SP abgetastet werden. Da dies asynchron geschieht, muss, um Zufallsbits gleicher Dauer zu erhalten, das Superparitätssignal SP nochmals abgetastet werden. Um dies zu vermeiden kann die Abtastung auch synchron durchgeführt werden, wie in13 gezeigt wird. - Oft zeigt sich in der Praxis ein kleines aber immer noch störendes Bias. Dementsprechend wird eine Zufallsbitfolge erzeugt, die nicht gut genug ist. Auch andere elektronisch realisierte TRNGs besitzen oft diesen Mangel, der meistens durch die unangepassten Arbeitspunkte der benutzten aktiven Halbleiterkomponenten bedingt ist. Um dieses Restbias zu neutralisieren, werden in bisheriger Praxis verschiedene deterministische Nachbearbeitungen nach der Abtastung (auf digitaler Ebene) durchgeführt, wie z.B. die oft benutzte von Neuman-Methode. Alle diese Algorithmen vermindern die Rate der erzeugten Zufallsbits wesentlich.
- Dennoch, bei rückgekoppelten Ringoszillatoren RRO kann dieses Restbias schon vor der Abtastung neutralisiert werden, wenn an den Ausgängen P1, P2, ....., PL der Ringoszillatoren RRO (siehe
22 ) binäre Zähler881 ,882 , ...88L der Länge Z (hier mit einer Anzahl Z JK-Flip-Flops JK1, JK2 ... JKZ) angeschlossen werden. Die Ausgänge dieser Zähler881 ,882 , ...88L werden an die Eingänge des XOR-Gatters, welches weitere Paritätssignal PP liefert, angeschlossen (22 ). Durch Zählen der Signalübergänge zwischen beiden Signalzuständen (Hoch und Niedrig mit ungleicher Dauer) erhält man neue (längere) Signalzustände. Diese neuen Signalzustände sind einander dauermäßig ähnlicher, als die Signalzustände des ursprünglichen Signals. Je größer die Anzahl Z ist, desto bessere Ausgleichungen der Signalzustandsdauern kann man erreichen und damit das Restbias auf beliebig kleine Werte unterdrücken. Schon bei Z = 1 erreicht man gute Ergebnisse. -
- 1
- Zufallsquelle
- 2
- Wertermittlung
- 3
- Zufalls-Bit-Erzeugung
- 4
- algorithmische Nachbearbeitung/Zufallsextraktion
- 5
- Zufalls-Bit-Ausgabe
- 6
- physikalische Umgebung
- 8
- Ringoszillator
- 9
- Ringoszillator mit Steuereingang
- 10
- Ringoszillator
- 11
- Eingangssignal
- 12
- Ausgangssignal
- 13
- Signaleinhüllende
- 14
- Signalverlauf an Leitungspunkt A'
- 15
- Hüllkurve
- 17
- Ringoszillator
- 18
- Ringoszillator
- 19
- Ringoszillator
- 20
- Ringoszillator
- 21
- Ringoszillator
- 22
- Ringoszillator
- 24
- Ringoszillator
- 25
- Ringoszillator
- 27
- erstes Eingangssignal des XOR-Gatters
- 28
- zweites Eingangssignal des XOR-Gatters
- 29
- Paritätssignal
- 30
- Einhüllende des gemittelten Paritätssignals
- 32
- Ringoszillator
- 33
- Ringoszillator
- 34
- Ringoszillator
- 36
- externer Paritätseingang
- 37
- externer Paritätseingang
- 38
- externer Paritätseingang
- 41
- Ringoszillator
- 42
- Ringoszillator
- 43
- Ringoszillator
- 45
- externer Paritätseingang
- 46
- externer Paritätseingang
- 47
- externer Paritätseingang
- 47°
- externer Paritätseingang
- 71
- Ringoszillator
- 72
- Ringoszillator
- 73
- Ringoszillator
- 81
- Ringoszillator
- 82
- Ringoszillator
- 83
- Ringoszillator
- 84
- Ringoszillator
- 85
- D-Flip-Flop
- 851
- D-Flip-Flop
- 86
- binärer Zähler
- 861
- binärer Zähler
- 87
- astabiler Multivibrator
- 871
- astabiler Multivibrator
- 881
- binärer Zähler
- A
- Leitungspunkt
- B
- Leitungspunkt
- C
- Leitungspunkt
- A'
- Leitungspunkt
- DES
- Data Encryption Standard
- f
- Frequenz
- inv
- Inverter
- inv1
- Inverter/NOT-Gatter
- inv2
- Inverter/NOT-Gatter
- invk
- Inverter/NOT-Gatter
- JK1
- JK-Flip-Flop
- JK2
- JK-Flip-Flop
- JKZ
- JK-Flip-Flop
- K
- Anzahl der Gatter
- K1
- Anzahl der Gatter
- K1
- Anzahl der Gatter
- K2
- Anzahl der Gatter
- K3
- Anzahl der Gatter
- KL
- Anzahl der Gatter
- L
- Anzahl der Ringoszillatoren
- M
- Anzahl der Gatter
- M1
- Anzahl der Gatter
- M2
- Anzahl der Gatter
- M3
- Anzahl der Gatter
- M4
- Anzahl der Gatter
- ML
- Anzahl der Gatter
- N
- Anzahl der Ringoszillatoren
- nand1
- NAND-Gatter
- nand2
- P
- Periode
- P1
- internes Paritätssignal
- P2
- internes Paritätssignal
- PL
- internes Paritätssignal
- PRNG
- deterministischer Zufallsgenerator
- PS
- externes Paritätssignal
- RRO
- rückgekoppelte Ringoszillatoren
- S
- Leitungspunkt
- SP
- Superparitätssignal
- Start/Stop
- Steuereingang
- t
- Zeit
- t1
- Zeitpunkt
- T
- Laufzeit
- TRNG
- physikalischer Zufallsgenerator
- U
- Spannung
- Ue
- Eingangsspannung
- Ua
- Ausgangsspannung
- xor
- Exklusiv ODER -/XOR-Gatter mit logisch „1" am Ausgang, wenn ungerade Anzahl der Eingänge auf logisch „1"
- xor1
- Exklusiv ODER -/XOR-Gatter mit logisch „1" am Ausgang, wenn ungerade Anzahl der Eingänge auf logisch „1"
- xor2
- Exklusiv ODER -/XOR-Gatter mit logisch „1" am Ausgang, wenn ungerade Anzahl der Eingänge auf logisch „1"
- Z
- Anzahl
- ZB
- Zufallsbit
- Δ
- Differenz
- ν
- Abtastrate
- νmax
- maximale Abtastrate
- τ
- Verzögerungszeit
Claims (32)
- Verfahren zur Erzeugung von Zufallszahlen bei dem von wenigstens zwei Ringoszillatoren (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) mit jeweils einer ungeraden Anzahl von hintereinandergeschalten Invertern oszillierende digitale Ausgangssignale (A1, A2, ..., AL) gleicher oder unterschiedlicher Periodizität erzeugt werden, wobei ein einen logischen Zustand („0", „1"), darstellendes externes Paritätssignal (PS) erzeugt wird, welches genau dann den logischen Zustand „1" einnimmt, wenn eine ungerade Anzahl von Ausgangssignalen (A1, A2, ..., AL) den logischen Zustand „1" aufweist, und welches ansonsten den logischen Zustand „0" einnimmt, dadurch gekennzeichnet, dass das externe Paritätssignal (PS) auf jeweils einen externen Paritätseingang (36 ,37 ,38 ,45 ,46 ,47 ) der jeweiligen Ringoszillatoren (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) rückgekoppelt wird. - Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zu jedem Ringoszillator (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) jeweils ein einen vorbestimmten logischen Zustand („0", „1") darstellendes internes Paritätssignal (P1, P2, P3, P4 ... PL) erzeugt wird, wenn entweder das Ausgangssignal (A1, A2 .... AL) des jeweiligen Ringoszillators (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) oder das auf den externen Paritätseingang (36 ,37 ,38 ,45 ,46 ,47 ) des jeweiligen Ringoszillators (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) rückge koppelte Signal einen vorgegebenen logischen Zustand („1") einnimmt. - Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass Signalübergänge der internen Paritätssignale (P1, P2, P3, P4 ... PZ) vor der Paritätssignalerzeugung gezählt werden.
- Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass wenigstens einer der Ringoszillatoren (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) mit Hilfe eines einem entsprechenden Eingang (Start/Stop) des entsprechenden Ringoszillators (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) zugeführten Startsignals („1") zur Oszillation angeregt wird. - Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass alle Ringoszillatoren (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ), vorzugsweise gleichzeitig, mit Hilfe desselben Startsignals („1") zur Oszillation angeregt werden. - Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das externe Paritätssignal (PS) vor dessen Rückkopplung auf wenigstens einen der externen Paritätseingänge (
47 ) invertiert wird. - Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das externe Paritätssignal (PS) vor dessen Rückkopplung auf wenigstens einen der externen Paritätseingänge (
47 ) verzögert wird. - Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass das externe Paritätssignal (PS) vor dessen Rückkopplung auf unterschiedliche externe Paritätseingänge (
36 ,37 ,38 ,45 ,46 ,47 ) um unterschiedliche Zeitdauern (τ) verzögert wird. - Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die Periodizitäten der Ringoszillatoren (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) und die Verzögerungszeitdauern des externen Paritätssignals (PS) an den externen Paritätseingängen (36 ,37 ,38 ,45 ,46 ,47 ) der Ringoszillatoren (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) derart gewählt werden, dass die Summe der ein ungeradzahliges Vielfaches (K1, K2, K3, ... KL) einer Verzögerungszeit eines Gatters betragenden Periodizität eines der von einem ersten der Ringoszillatoren (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) erzeugten Ausgangssignals (A1, A2 .... AL) und der ein Vielfaches (M1, M2, M3, ... ML) der Verzögerungszeit eines Gatters betragenden Verzögerungszeitdauer des externen Paritätssignals (PS) an dem externen Paritätseingang (36 ,37 ,38 ,45 ,46 ,47 ) des ersten der Ringoszillatoren (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) ein ungeradzahliges Vielfaches der Verzögerungszeit eines Gatters ist und dass die Summe der ein ungeradzahliges Vielfaches (K1, K2, K3, ... KL) der Verzögerungszeit eines Gatters betragenden Periodizität eines der von einem zweiten der Ringoszilla toren (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) erzeugten Ausgangssignals (A1, A2 .... AL) und der ein Vielfaches (M1, M2, M3, ... ML) der Verzögerungszeit eines Gatters betragenden Verzögerungszeitdauer des externen Paritätssignals (PS) an dem externen Paritätseingang (36 ,37 ,38 ,45 ,46 ,47 ) des zweiten der Ringoszillatoren (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) ein geradzahliges Vielfaches der Verzögerungszeit eines Gatters ist. - Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das externe Paritätssignal (PS) zur Erzeugung von Zufallsbits (ZB) mit einer vorgegebenen Rate (ν) abgetastet wird oder dass das weitere Paritätssignal (PP) zur Erzeugung von Zufallsbits (ZB) mit einer vorgegebenen Rate (ν) abgetastet wird.
- Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass mehrere externe, insbesondere abgetastete, Paritätssignale (PS) erzeugt werden und dass ein einen logischen Zustand („0", „1") darstellendes Superparitätssignal (SP) erzeugt wird, welches genau dann den logischen Zustand „1" einnimmt, wenn eine ungerade Anzahl der externen, insbesondere abgetasteten, Paritätssignale (PS) den logischen Zustand „1" aufweist, und welches ansonsten den logischen Zustand „0" einnimmt oder dass mehrere weitere, insbesondere abgetastete, Paritätssignale erzeugt werden und dass ein einen logischen Zustand („0", „1") darstellendes Superparitätssignal (SP) erzeugt wird, welches genau dann den logischen Zustand „1" einnimmt, wenn eine ungerade Anzahl der weiteren, insbesondere abgetasteten, Paritätssignale den logischen Zustand „1" aufweist, und welches ansonsten den logischen Zustand „0" einnimmt.
- Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die externen oder die weiteren Paritätssignale (PS) zur Erzeugung von Zufallsbits (ZB) mit einer vorgegebenen Rate (ν) synchron abgetastet werden oder dass das Superparitätssignal (SP) zur Erzeugung von Zufallsbits (ZB) mit einer vorgegebenen Rate (ν) abgetastet wird.
- Verfahren nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet, dass die Abtastung in zufälligen, nicht uniformen Abtastintervallen durchgeführt wird, insbesondere dass die Abtastung dann durchgeführt wird, wenn ein nach einem der Verfahren nach den Ansprüchen 1 bis 12 zufällig erzeugtes Zufallsbit (ZB) einen vorbestimmten logischen Zustand („1") einnimmt.
- Zufallszahlengenerator mit wenigstens zwei Ringoszillatoren (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ), insbesondere aus unabhängig freischwingenden rückgekoppelten Inverterketten mit einer ungeraden Anzahl (K) an hintereinandergeschalteten Invertern (inv1,2, inv2,1, inv3,1, ... invi,j, ... invL,KL), welche oszillierende digitale Ausgangssignale (A1, A2, .... AL) unterschiedlicher Periodizität erzeugen, und mit ersten Paritätssignalerzeugungsmitteln (XOR), welche ein einen vorbestimmten logischen Zustand („0", „1") darstellendes externes Paritätssignal (PS) erzeugen, welches genau dann den logischen Zustand „1" einnimmt, wenn eine ungerade Anzahl der Ausgangssignale (A1, A2 .... AL) den logischen Zustand „1" aufweist, und welches ansonsten den logischen Zustand „0" einnimmt, dadurch gekennzeichnet, dass Rückkoppelmittel (xor1, xor2, xor3, xor4 ... xorL) vorgesehen sind, welche das externe Paritätssignal (PS) auf jeweils einen externen Paritätseingang (36 ,37 ,38 ,45 ,46 ,47 ) der jeweiligen Ringoszillatoren (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) rückkoppeln. - Zufallszahlengenerator nach Anspruch 14, dadurch gekennzeichnet, dass die ersten Paritätssignalerzeugungsmittel ein XOR-Gatter (XOR) umfassen, an dessen Eingängen die Ausgangssignale (A1, A2, .... AL) anliegen.
- Zufallszahlengenerator nach einem der Ansprüche 14 oder 15, dadurch gekennzeichnet, dass zweite Paritätssignalerzeugungsmittel (xor1, xor2, xor3, ... xorL) vorgesehen sind, welche zu jedem Ringoszillator (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) jeweils ein einen vorgegebenen logischen Zustand („1") darstellendes internes Paritätssignal (P1, P2, P3, P4 ... PL) erzeugen, welches genau dann den logischen Zustand „1" einnimmt, wenn entweder das Ausgangssignal (A1, A2 .... AL) des jeweiligen Ringoszillators (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) oder das auf den externen Paritätseingang (36 ,37 ,38 ,45 ,46 ,47 ) des jeweiligen Ringoszillators (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) rückgekoppelte Signal einen vorgegebenen logischen Zustand („1") einnimmt. - Zufallszahlengenerator nach Anspruch 16, dadurch gekennzeichnet, dass die zweiten Paritätssignalerzeugungsmittel XOR-Gatter (xor1, xor2, xor3, ... xorL) mit jeweils einem externen Paritätseingang und einem Ausgangssignal-Eingang umfassen, wobei an dem Paritätseingang ein vom externen Paritätssignal (PS) abgeleitetes Signal und an dem Ausgangssignal-Eingang das jeweilige Ausgangssignal (A1, A2 .... AL) des jeweiligen Ringoszillators (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) anliegt. - Zufallszahlengenerator nach Anspruch 17, dadurch gekennzeichnet, dass dritte Paritätssignalerzeugungsmittel vorgesehen sind, welche ein einen logischen Zustand („0", „1") darstellendes weiteres Paritätssignal (WP) erzeugen, welches genau dann den logischen Zustand „1" einnimmt, wenn eine ungerade Anzahl der internen Paritätssignale (P1, P2, P3, P4 ... PL) den logischen Zustand „1" aufweist, und welches ansonsten den logischen Zustand „0" einnimmt.
- Zufallszahlengenerator nach Anspruch 18, dadurch gekennzeichnet, dass Zählmittel (
881 ,882 , ...88L ) vorgesehen sind, welche Signalübergänge der internen Paritätssignale (P1, P2, P3, ... PL) vor der Paritätssignalerzeugung zählen. - Zufallszahlengenerator nach Anspruch 21, dadurch gekennzeichnet, dass die Zählmittel einen Binärzähler (
881 ,882 , ...88L ), insbesondere eine Kette mit Flip-Flops, vorzugsweise JK-Flip-Flops (JK1, JK2, ... JKZ) umfassen. - Zufallszahlengenerator nach einem der Ansprüche 15 bis 20, dadurch gekennzeichnet, dass Startmittel vorgesehen sind, welche ein Startsignal („1") erzeugen und einem Eingang (start/stop) von wenigstens einem der Ringoszillatoren (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) zuführen, so dass dieser zur Oszillation angeregt wird. - Zufallszahlengenerator nach Anspruch 21, dadurch gekennzeichnet, dass der wenigstens eine der Ringoszillatoren (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) anstelle eines eingangsseitigen Inverters (inv1) ein NAND-Gatter (nand1, nand1,1, nand2,1, nand3,1, ... nandi,1, ... nandL,1) mit dem Eingang (start/stop) zum Zuführen des Startsignals („1") umfasst. - Zufallszahlengenerator nach einem der Ansprüche 22 oder 22, dadurch gekennzeichnet, dass die Startmittel derart ausgebildet sind, dass alle Ringoszillatoren (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ), vorzugsweise gleichzeitig, mit Hilfe desselben Startsignals („1") zur Oszillation angeregt werden. - Zufallszahlengenerator nach Anspruch 23, dadurch gekennzeichnet, dass alle Ringoszillatoren (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) anstelle eines eingangsseitigen Inverters (inv1) jeweils ein NAND-Gatter (nand1, nand1,1, nand2,1, nand3,1, ... nandi,1, ... nandL,1) mit jeweils einem Eingang (start/stop) umfassen, welche zum Zuführen des Startsignals („1") miteinander verbunden sind. - Zufallszahlengenerator nach einem der Ansprüche 14 bis 24, dadurch gekennzeichnet, dass wenigstens einem externen Paritätseingang (
47 ) ein Inverter (inv3,–1, inv1,–M1 .... inv1,–1, ... invL,–ML, ... invL,–1) vorgeschaltet ist, dem das externe Paritätssignal (PS) zugeführt wird. - Zufallszahlengenerator nach Anspruch 25, dadurch gekennzeichnet, dass allen externen Paritätseingängen Inverterketten mit einer unterschiedlichen Anzahl (M1, M2, ... ML) an Invertern (inv1,–M1 ... inv1,–1, ... invL,–ML, invL,–1) vorgeschaltet sind, denen das externe Paritätssignal (PS) zugeführt wird.
- Zufallszahlengenerator nach Anspruch 26, dadurch gekennzeichnet, dass die Summe der ein ungeradzahliges Vielfaches (K1, K2, K3, ... KL) einer Verzögerungszeit eines Gatters betragenden Periodizität eines der von einem ersten der Ringoszillatoren (
32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) erzeugten Ausgangssignals (A1, A2 .... AL) und der ein Vielfaches (M1, M2, M3, ... ML) der Verzögerungszeit eines Gatters betragenden Verzögerungszeitdauer des externen Paritätssignals (PS) an dem externen Paritätseingang (36 ,37 ,38 ,45 ,46 ,47 ) des ersten der Ringoszillatoren (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) ein ungeradzahliges Vielfaches der Verzögerungszeit eines Gatters ist und dass die Summe der ein ungeradzahliges Vielfaches (K1, KZ, K3, ... KL) der Verzögerungszeit eines Gatters betragenden Periodizität eines der von einem zweiten der Ringoszillatoren (32 ,33 ,34 ,41 ,42 ,43 ,71 ,72 ,73 ,81 ,82 ,83 ,84 ) erzeugten Ausgangssignals (A1, A2 .... AL) und der ein Vielfaches (M1, M2, M3, ... ML) der Verzögerungszeit eines Gatters betragenden Verzögerungszeitdauer des externen Paritätssignals (PS) an dem externen Paritätseingang (36 ,37 ,38 ,45 ,46 ,47 ) des zweiten der Ringoszillatoren (32 ,33 ,34 ,41 ,42 ,43 ;71 ,72 ,73 ,81 ,82 ,83 ,84 ) ein geradzahliges Vielfaches der Verzögerungszeit eines Gatters ist. - Zufallszahlengenerator nach einem der Ansprüche 15 bis 27, dadurch gekennzeichnet, dass Abtastmittel vorgesehen sind, welche das externe Paritätssignal (PS) zur Erzeugung von Zufallsbits (ZB) mit einer vorgegebenen Rate (ν) abtasten und/oder dass Abtastmittel vorgesehen sind, welche das weitere Paritätssignal (PP) zur Erzeugung von Zufallsbits (ZB) mit einer vorgegebenen Rate (ν) abtasten.
- Zufallszahlengenerator nach einem der Ansprüche 15 bis 28, dadurch gekennzeichnet, dass mehrere Zufallszahlengeneratoren nach einem der Ansprüche 15 bis 29 vorgesehen sind, welche externe, insbesondere abgetastete, Paritätssignale (PS) erzeugen und dass Superparitätssignalerzeugungsmittel vorgesehen sind, welche ein einen logischen Zustand („0", „1") darstellendes Superparitätssignal (SP) erzeugen, welches genau dann den logischen Zustand „1" einnimmt, wenn eine ungerade Anzahl der externen, insbesondere abgetasteten, Paritätssignale (PS) den logischen Zustand „1" aufweist, und welches ansonsten den logischen Zustand „0" einnimmt und/oder dass mehrere Zufallszahlengeneratoren nach einem der Ansprüche 15 bis 29 vorgesehen sind, welche weitere, insbesondere abgetastete, Paritätssignale (PP) erzeugen und dass Superparitätssignalerzeugungsmittel vorgesehen sind, welche ein einen logischen Zustand („0", „1") darstellendes Superparitätssignal (SP) erzeugen, welches genau dann den logischen Zustand „1" einnimmt, wenn eine ungerade Anzahl der weiteren, insbesondere abgetasteten, Paritätssignale (PP) den logischen Zustand „1" aufweist, und welches ansonsten den logischen Zustand „0" einnimmt.
- Zufallszahlengenerator nach Anspruch 29, dadurch gekennzeichnet, dass Abtastmittel vorgesehen sind, welche die externen Paritätssignale (PS) oder die weiteren Paritätssignale (PP) zur Erzeugung von Zufallsbits (ZB) mit einer vorgegebenen Rate (ν) synchron abtasten und/oder dass Abtastmittel vorgesehen sind, welche das Superparitätssignal (SP) zur Erzeugung von Zufallsbits (ZB) mit einer vorgegebenen Rate (ν) abtasten.
- Zufallszahlengenerator nach einem der Ansprüche 29 bis 30, dadurch gekennzeichnet, dass die Abtastmittel eingerichtet sind, eine Abtastung in zufälligen, nicht uniformen Abtastintervallen durchzuführen und insbesondere dann eine Abtastung vorzunehmen, wenn ein von einem der Zufallsgeneratoren nach den Ansprüchen 15 bis 31 zufällig erzeugtes Zufallsbit (ZB) einen vorbestimmten logischen Zustand („1") einnimmt.
- Zufallszahlengenerator nach einem der Ansprüche 29 bis 31, dadurch gekennzeichnet, dass die Abtastmittel ein D-Flip-Flop (
881 ,882 , ...88L ) umfassen, welches in einem Takt (CP) von einem Taktgeber, insbesondere von einem astabilen Multivibrator (87 ) oder von einem rückgekoppelten Ringoszillator (RRO), angesteuert wird.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004047425A DE102004047425B4 (de) | 2004-09-28 | 2004-09-28 | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
DE502005002630T DE502005002630D1 (de) | 2004-09-28 | 2005-09-16 | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
EP05020294A EP1643643B1 (de) | 2004-09-28 | 2005-09-16 | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
AT05020294T ATE385071T1 (de) | 2004-09-28 | 2005-09-16 | Zufallszahlengenerator sowie verfahren zur erzeugung von zufallszahlen |
JP2005278608A JP2006139756A (ja) | 2004-09-28 | 2005-09-26 | 乱数発生器および乱数を発生する方法 |
CNB2005101283441A CN100530077C (zh) | 2004-09-28 | 2005-09-28 | 随机数发生器及生成随机数的方法 |
US11/238,158 US7797361B2 (en) | 2004-09-28 | 2005-09-28 | System and method for generating random numbers using parity feedback |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004047425A DE102004047425B4 (de) | 2004-09-28 | 2004-09-28 | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102004047425A1 DE102004047425A1 (de) | 2006-04-20 |
DE102004047425B4 true DE102004047425B4 (de) | 2007-06-21 |
Family
ID=35708786
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102004047425A Expired - Fee Related DE102004047425B4 (de) | 2004-09-28 | 2004-09-28 | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
DE502005002630T Active DE502005002630D1 (de) | 2004-09-28 | 2005-09-16 | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE502005002630T Active DE502005002630D1 (de) | 2004-09-28 | 2005-09-16 | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
Country Status (6)
Country | Link |
---|---|
US (1) | US7797361B2 (de) |
EP (1) | EP1643643B1 (de) |
JP (1) | JP2006139756A (de) |
CN (1) | CN100530077C (de) |
AT (1) | ATE385071T1 (de) |
DE (2) | DE102004047425B4 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012149944A1 (de) | 2011-05-03 | 2012-11-08 | Novomatic Ag | Zufallszahlengenerator |
US10157248B2 (en) | 2013-10-31 | 2018-12-18 | Siemens Aktiengesellschaft | Circuit suitable for generating random bits and circuit for generating random bits |
Families Citing this family (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE44097E1 (en) * | 2005-07-22 | 2013-03-19 | Psigenics Corporation | Device and method for responding to influences of mind |
US8183980B2 (en) | 2005-08-31 | 2012-05-22 | Assa Abloy Ab | Device authentication using a unidirectional protocol |
ES2566922T3 (es) * | 2006-09-13 | 2016-04-18 | Airbus Defence And Space Limited | Generación de número aleatorio |
EP1901477A1 (de) * | 2006-09-13 | 2008-03-19 | Astrium Limited | Zufallszahlengenerator |
CN1949708B (zh) | 2006-11-10 | 2011-02-02 | 华为技术有限公司 | 随机数发生装置、方法及对应的数据交互系统 |
US7904494B2 (en) * | 2006-12-08 | 2011-03-08 | International Business Machines Corporation | Random number generator with random sampling |
DE102006061313A1 (de) | 2006-12-22 | 2008-07-03 | Giesecke & Devrient Gmbh | Zufallszahlengenerator auf Grundlage eines frei schwingenden Oszillators |
DE102007007699A1 (de) * | 2007-02-09 | 2008-08-14 | IHP GmbH - Innovations for High Performance Microelectronics/Institut für innovative Mikroelektronik | Reduktion von Seiten-Kanal-Informationen durch interagierende Krypto-Blocks |
US8583712B2 (en) * | 2007-09-18 | 2013-11-12 | Seagate Technology Llc | Multi-bit sampling of oscillator jitter for random number generation |
KR101481572B1 (ko) * | 2007-10-19 | 2015-01-26 | 삼성전자주식회사 | 난수 발생 장치 |
DE102008003946A1 (de) | 2008-01-11 | 2009-07-23 | Micronas Gmbh | Schaltung und Verfahren zur Generierung einer echten, schaltungsspezifischen und zeitinvarianten Zufallszahl |
US7602219B2 (en) * | 2008-02-20 | 2009-10-13 | Infineon Technologies Ag | Inverting cell |
JP5171315B2 (ja) * | 2008-02-28 | 2013-03-27 | 株式会社東芝 | 乱数生成回路 |
DE102008018678B4 (de) * | 2008-04-14 | 2011-02-03 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge |
US8081037B2 (en) * | 2008-06-11 | 2011-12-20 | Qualcomm Incorporated | Ring oscillator using analog parallelism |
EP2316180A4 (de) | 2008-08-11 | 2011-12-28 | Assa Abloy Ab | Sichere wiegand-kommunikation |
DE102008048292B4 (de) * | 2008-09-22 | 2012-07-12 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge |
US9742555B2 (en) * | 2008-09-25 | 2017-08-22 | Nokia Technologies Oy | Encryption/identification using array of resonators at transmitter and receiver |
JP5074359B2 (ja) * | 2008-11-12 | 2012-11-14 | 日本電信電話株式会社 | 乱数生成回路 |
JP5175701B2 (ja) * | 2008-12-05 | 2013-04-03 | ルネサスエレクトロニクス株式会社 | 半導体集積回路、データの暗号化装置、暗号鍵の生成装置、及び暗号鍵の生成方法 |
US9513872B2 (en) | 2009-11-25 | 2016-12-06 | Aclara Technologies Llc | Random number generator |
US8583711B2 (en) * | 2009-12-02 | 2013-11-12 | Seagate Technology Llc | Random number generation system with ring oscillators |
KR101783271B1 (ko) | 2009-12-10 | 2017-10-23 | 삼성전자주식회사 | 정보 객체의 인코딩을 위한 방법 및 이를 이용한 인코더 |
FR2958057B1 (fr) * | 2010-03-29 | 2016-04-01 | Univ Nantes | Generateur de sequences chaotiques, systeme de generation, procede de mesure d'orbite et programme d'ordinateur correspondants |
DE102010026688A1 (de) * | 2010-07-09 | 2012-01-12 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen von Zufallsbits |
CN102130667A (zh) * | 2011-01-18 | 2011-07-20 | 浙江大学 | 一种数字真随机振荡信号发生器 |
CN102324842B (zh) * | 2011-09-14 | 2013-11-13 | 深圳航天科技创新研究院 | 一种具有最大占空比限制的开关电源控制器 |
DE102012210990A1 (de) * | 2012-06-20 | 2013-12-24 | Robert Bosch Gmbh | Verfahren zum Erzeugen von Zufallszahlen |
US8918442B2 (en) * | 2012-08-22 | 2014-12-23 | International Business Machines Corporation | Reducing bias in hardware generated random numbers |
DE102012216892A1 (de) * | 2012-09-20 | 2014-03-20 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum Erzeugen von Zufallsbits |
KR101564954B1 (ko) * | 2012-10-08 | 2015-11-02 | 에스케이 텔레콤주식회사 | 광원과 단일광자검출기를 이용한 난수 생성 방법 및 장치 |
CN102981428B (zh) * | 2012-10-29 | 2014-12-31 | 天津大学 | 基于安全应用的微控制器指令保护结构及其加解密方法 |
US20140197865A1 (en) | 2013-01-11 | 2014-07-17 | International Business Machines Corporation | On-chip randomness generation |
DE102013201687A1 (de) * | 2013-02-01 | 2014-08-07 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum Erzeugen von Zufallsbits |
CN103973229B (zh) * | 2013-02-05 | 2016-12-28 | 爱思开海力士有限公司 | 乱数产生装置 |
US9058228B2 (en) * | 2013-02-19 | 2015-06-16 | Raytheon Company | Random number generator for generating truly random numbers |
KR101987141B1 (ko) * | 2013-03-04 | 2019-10-01 | 삼성전자주식회사 | 난수 발생기 |
DE102013204272A1 (de) * | 2013-03-12 | 2014-09-18 | Robert Bosch Gmbh | Verfahren zum Erkennen einer Korrelation |
US9361066B2 (en) * | 2013-04-30 | 2016-06-07 | The United States Of America As Represented By The Secretary Of The Air Force. | Random number generator using ring oscillators with initial delay |
DE102013208152A1 (de) * | 2013-05-03 | 2014-11-20 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen von Zufallsbits |
DE102013210147A1 (de) * | 2013-05-31 | 2014-12-18 | Siemens Aktiengesellschaft | Erzeugen von Zufallsbits |
DE102013213095A1 (de) * | 2013-07-04 | 2015-01-08 | Siemens Aktiengesellschaft | Erzeugen von einer Anzahl von Zufallsbits |
US9092284B2 (en) * | 2013-09-25 | 2015-07-28 | Netronome Systems, Inc. | Entropy storage ring having stages with feedback inputs |
CN104572014B (zh) * | 2013-10-15 | 2019-02-22 | 恩智浦美国有限公司 | 具有重复激活的振荡器的真随机数生成器 |
CN103885747B (zh) * | 2014-02-27 | 2017-01-11 | 浙江大学 | 低功耗随机数发生器 |
DE102014221827A1 (de) * | 2014-10-27 | 2016-05-12 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen von Zufallsbits |
WO2016070855A1 (es) * | 2014-11-06 | 2016-05-12 | Monitoreo Tecnológico, S.A. | Proceso de generación de códigos variables |
DE102014224421A1 (de) * | 2014-11-28 | 2016-06-02 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum Erzeugen von Zufallsbits |
CN104506300A (zh) * | 2014-11-28 | 2015-04-08 | 国家电网公司 | 非线性混沌信号发生装置 |
JP6419614B2 (ja) | 2015-03-17 | 2018-11-07 | 株式会社東芝 | データ生成装置および認証システム |
US10295583B2 (en) | 2015-04-16 | 2019-05-21 | Taiwan Semiconductor Manufacturing Company, Ltd. | Circuit for measuring flicker noise and method of using the same |
DE102015209123A1 (de) * | 2015-05-19 | 2016-11-24 | Robert Bosch Gmbh | Recheneinrichtung und Betriebsverfahren hierfür |
CN105159653B (zh) * | 2015-08-18 | 2018-03-20 | 珠海市一微半导体有限公司 | 随机数后处理电路及方法 |
CN105138307B (zh) * | 2015-10-19 | 2018-02-27 | 太原理工大学 | 一种基于相位噪声的可集成真随机数产生方法及装置 |
DE102016119750B4 (de) * | 2015-10-26 | 2022-01-13 | Infineon Technologies Ag | Vorrichtungen und Verfahren zur Mehrkanalabtastung |
CN105811935B (zh) * | 2016-03-06 | 2018-01-12 | 中国人民解放军国防科学技术大学 | 基于动态输入向量的片上set脉冲测试方法 |
US9891889B2 (en) * | 2016-06-30 | 2018-02-13 | International Business Machines Corporation | Injecting CPU time jitter to improve entropy quality for random number generator |
US10708251B2 (en) * | 2016-08-01 | 2020-07-07 | Timothy Steiner | Portable authentication and encryption device and system |
CN106325814B (zh) * | 2016-08-12 | 2018-11-20 | 西安电子科技大学 | 基于双环耦合振荡电路的真随机数生成器 |
US10140096B1 (en) * | 2016-12-14 | 2018-11-27 | Amazon Technologies, Inc. | Preventing ring oscillator phase-lock |
US10452877B2 (en) | 2016-12-16 | 2019-10-22 | Assa Abloy Ab | Methods to combine and auto-configure wiegand and RS485 |
JP2018112861A (ja) * | 2017-01-11 | 2018-07-19 | キヤノン株式会社 | 乱数生成装置、集積回路 |
TWI634478B (zh) * | 2017-07-18 | 2018-09-01 | 展達通訊股份有限公司 | 真亂數產生系統及其真亂數產生之方法 |
PL237197B1 (pl) * | 2017-08-08 | 2021-03-22 | Politechnika Warszawska | Generator losowy |
PL236964B1 (pl) * | 2017-08-08 | 2021-03-08 | Politechnika Warszawska | Generator losowy |
WO2019030667A1 (en) | 2017-08-08 | 2019-02-14 | Politechnika Warszawska | RANDOM NUMBER GENERATOR |
PL237476B1 (pl) * | 2017-08-08 | 2021-04-19 | Politechnika Warszawska | Generator fizycznie niekopiowalnych kluczy kryptograficznych |
PL236965B1 (pl) * | 2017-08-08 | 2021-03-08 | Politechnika Warszawska | Generator losowy |
PL236966B1 (pl) * | 2017-08-08 | 2021-03-08 | Politechnika Warszawska | Generator losowy |
PL238519B1 (pl) * | 2017-08-08 | 2021-08-30 | Politechnika Warszawska | Generator fizycznie niekopiowalnych kluczy kryptograficznych |
PL236963B1 (pl) * | 2017-08-08 | 2021-03-08 | Politechnika Warszawska | Generator losowy |
KR102341266B1 (ko) * | 2017-08-30 | 2021-12-20 | 삼성전자주식회사 | 물리적 복제방지 기능을 위한 집적 회로 및 이를 포함하는 장치 |
CN110519210A (zh) * | 2018-05-22 | 2019-11-29 | 中国科学院苏州纳米技术与纳米仿生研究所 | 密钥分发方法及终端设备 |
CN108717353B (zh) * | 2018-05-24 | 2021-04-06 | 太原理工大学 | 一种具有检测校正功能的真随机数产生方法与装置 |
KR102013934B1 (ko) * | 2018-06-19 | 2019-08-23 | 한림대학교 산학협력단 | Nand 게이트를 포함하는 링 오실레이터 및 이를 제어하는 발진 제어 회로 |
US20200036527A1 (en) * | 2018-07-24 | 2020-01-30 | Ca, Inc. | User authentication based on password-specific cryptographic keys |
CN111010880A (zh) * | 2018-08-08 | 2020-04-14 | 深圳市汇顶科技股份有限公司 | 随机数发生器的建模方法、装置、介质及随机数发生器 |
CN110502209B (zh) * | 2019-08-16 | 2021-05-25 | 兆讯恒达科技股份有限公司 | 一种随机数发生器防注入式攻击的方法 |
CN111008005A (zh) * | 2019-11-22 | 2020-04-14 | 深圳市纽创信安科技开发有限公司 | 一种真随机数发生器和真随机数发生方法 |
DE102020206723A1 (de) * | 2020-05-28 | 2021-12-02 | Andreas Schubert | Zufallszahlengenerator |
CN111969981B (zh) * | 2020-10-21 | 2021-01-12 | 鹏城实验室 | 一种时钟产生电路和随机数产生电路 |
CN116382635B (zh) * | 2023-06-05 | 2023-08-08 | 灿芯半导体(成都)有限公司 | 一种全数字、真随机数熵源系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4905176A (en) * | 1988-10-28 | 1990-02-27 | International Business Machines Corporation | Random number generator circuit |
DE19926640C2 (de) * | 1999-06-11 | 2002-08-14 | Rolf Freitag | Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4415818A (en) * | 1979-01-16 | 1983-11-15 | Nippon Telegraph & Telephone Corp. | Programmable sequential logic circuit devices |
US4694412A (en) * | 1982-09-22 | 1987-09-15 | Intel Corporation | Random number generator for use in an authenticated read-only memory |
US4799259A (en) * | 1986-04-10 | 1989-01-17 | Rockwell International Corporation | Monolithic random digital noise generator |
US4855690A (en) * | 1987-08-10 | 1989-08-08 | Dallas Semiconductor Corporation | Integrated circuit random number generator using sampled output of variable frequency oscillator |
US5963104A (en) * | 1996-04-15 | 1999-10-05 | Vlsi Technology, Inc. | Standard cell ring oscillator of a non-deterministic randomizer circuit |
US5706218A (en) * | 1996-05-15 | 1998-01-06 | Intel Corporation | Random number generator |
JPH10209821A (ja) * | 1996-12-05 | 1998-08-07 | Texas Instr Inc <Ti> | ランダムノイズ発生器及び発生方法 |
US6065029A (en) * | 1998-05-26 | 2000-05-16 | N*Able Technologies, Inc. | Method and system for providing a random number generator |
US6240432B1 (en) * | 1998-12-28 | 2001-05-29 | Vanguard International Semiconductor Corporation | Enhanced random number generator |
US6522210B1 (en) * | 2000-02-16 | 2003-02-18 | Honeywell International Inc. | Random pulse generator |
DE10103071A1 (de) * | 2001-01-24 | 2002-08-08 | Infineon Technologies Ag | Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl |
DE10117362A1 (de) | 2001-04-06 | 2002-10-17 | Infineon Technologies Ag | Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl |
US6807553B2 (en) * | 2001-04-23 | 2004-10-19 | Safenet B.V. | Digital true random number generator circuit |
US20020186086A1 (en) * | 2001-06-12 | 2002-12-12 | Dallas Semiconductor Corporation | Random number generator |
US6862605B2 (en) * | 2001-08-15 | 2005-03-01 | Scott A. Wilber | True random number generator and entropy calculation device and method |
US6512405B1 (en) * | 2002-01-14 | 2003-01-28 | Ip-First Llc | Oscillator bias variation mechanism |
JP3695409B2 (ja) * | 2002-03-05 | 2005-09-14 | ソニー株式会社 | 乱数データ発生回路 |
DE10213269A1 (de) * | 2002-03-25 | 2003-10-23 | Infineon Technologies Ag | Zufallszahlengenerator |
TW557636B (en) * | 2002-03-26 | 2003-10-11 | Ind Tech Res Inst | Random number generator |
US7356551B2 (en) * | 2003-03-14 | 2008-04-08 | Nxp B.V. | Method and apparatus of retaining maximum speed of flip-flop metastability based random number generators |
JP3732188B2 (ja) * | 2003-03-31 | 2006-01-05 | Necマイクロシステム株式会社 | 擬似乱数発生回路 |
-
2004
- 2004-09-28 DE DE102004047425A patent/DE102004047425B4/de not_active Expired - Fee Related
-
2005
- 2005-09-16 EP EP05020294A patent/EP1643643B1/de not_active Not-in-force
- 2005-09-16 DE DE502005002630T patent/DE502005002630D1/de active Active
- 2005-09-16 AT AT05020294T patent/ATE385071T1/de not_active IP Right Cessation
- 2005-09-26 JP JP2005278608A patent/JP2006139756A/ja active Pending
- 2005-09-28 CN CNB2005101283441A patent/CN100530077C/zh not_active Expired - Fee Related
- 2005-09-28 US US11/238,158 patent/US7797361B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4905176A (en) * | 1988-10-28 | 1990-02-27 | International Business Machines Corporation | Random number generator circuit |
DE19926640C2 (de) * | 1999-06-11 | 2002-08-14 | Rolf Freitag | Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012149944A1 (de) | 2011-05-03 | 2012-11-08 | Novomatic Ag | Zufallszahlengenerator |
US10157248B2 (en) | 2013-10-31 | 2018-12-18 | Siemens Aktiengesellschaft | Circuit suitable for generating random bits and circuit for generating random bits |
Also Published As
Publication number | Publication date |
---|---|
ATE385071T1 (de) | 2008-02-15 |
JP2006139756A (ja) | 2006-06-01 |
CN1782987A (zh) | 2006-06-07 |
CN100530077C (zh) | 2009-08-19 |
DE502005002630D1 (de) | 2008-03-13 |
DE102004047425A1 (de) | 2006-04-20 |
US20060069706A1 (en) | 2006-03-30 |
US7797361B2 (en) | 2010-09-14 |
EP1643643A1 (de) | 2006-04-05 |
EP1643643B1 (de) | 2008-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102004047425B4 (de) | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen | |
DE102008018678B4 (de) | Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge | |
DE102008048292B4 (de) | Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge | |
DE69722367T2 (de) | Pseudozufallsgenerator mit Taktauswahl | |
EP2976707B1 (de) | Vorrichtung und verfahren zum erzeugen von zufallsbits | |
EP1354264B1 (de) | Zufallszahlengenerator und verfahren zum erzeugen einer zufallszahl | |
DE102009008224B4 (de) | Invertierende Zelle | |
EP2240848A1 (de) | Schaltung und verfahren zur generierung einer echten, schaltungsspezifischen und zeitinvarianten zufallszahl | |
DE102012210990A1 (de) | Verfahren zum Erzeugen von Zufallszahlen | |
DE102014102501A1 (de) | Zufallszahlgenerator | |
DE102013204274A1 (de) | Verfahren zum Erkennen einer Korrelation | |
DE60319002T2 (de) | Verfahren und vorrichtung zur generierung von zufallszahlen mittels metastabiler flip-flops | |
DE102014200163A1 (de) | Verfahren zum Erzeugen einer Ausgabe einer Zufallsquelle eines Zufallsgenerators | |
DE102012210361A1 (de) | Verfahren zum Überwachen einer Ausgabe eines Zufallsgenerators | |
DE102021121328A1 (de) | System und Verfahren zur Steuerung einer Logikschaltung mit nicht-deterministischer Taktflankenvariation | |
DE102014224421A1 (de) | Verfahren und Vorrichtung zum Erzeugen von Zufallsbits | |
DE102004037814B4 (de) | Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen | |
DE102013213095A1 (de) | Erzeugen von einer Anzahl von Zufallsbits | |
WO2015128015A1 (de) | Vorrichtung und verfahren zum erzeugen von zufallsbits | |
DE102014203649A1 (de) | Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits | |
DE102014226996A1 (de) | Verfahren und Vorrichtung zum Erzeugen von Zufallsbits | |
DE102014219693A1 (de) | Verfahren und Vorrichtung zum Erzeugen von Zufallsbits | |
DE102006009939A1 (de) | Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen | |
AT515814A1 (de) | Verfahren und Vorrichtung zur Durchführung einer symmetrischen Stromverschlüsselung von Daten | |
DE102015203580A1 (de) | Vorrichtung und Verfahren zum Erzeugen von Zufallsbits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |