EP2329356A1 - Apparatus and method for generating a random bit sequence - Google Patents

Apparatus and method for generating a random bit sequence

Info

Publication number
EP2329356A1
EP2329356A1 EP09781262A EP09781262A EP2329356A1 EP 2329356 A1 EP2329356 A1 EP 2329356A1 EP 09781262 A EP09781262 A EP 09781262A EP 09781262 A EP09781262 A EP 09781262A EP 2329356 A1 EP2329356 A1 EP 2329356A1
Authority
EP
European Patent Office
Prior art keywords
signal
oscillator
ring oscillator
random
random bit
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.)
Withdrawn
Application number
EP09781262A
Other languages
German (de)
French (fr)
Inventor
Markus Dichtl
Bernd Meyer
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.)
Siemens AG
Original Assignee
Siemens 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 Siemens AG filed Critical Siemens AG
Publication of EP2329356A1 publication Critical patent/EP2329356A1/en
Withdrawn 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/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Definitions

  • an apparatus for generating a random bit sequence comprises a ring oscillator comprising a plurality of inverting digital devices, at which an oscillator signal can be tapped off.
  • a buffer element is provided for storing levels of the oscillator signal, and at least two controllable switching devices are provided in a signal path of the ring oscillator, preferably to simultaneously excite at least two harmonics or edges of a harmonic of the ring oscillator.
  • waveforms of the oscillator signal OS and the random bit signal ZB are plotted over time t in FIGS.
  • the oscillator signal is applied to the clock input 15 of the flip-flop 14 over time.
  • Logical L level corresponds to a level of 0 V and an H level, that is a logic 1, about 3.3 V in the following representations of signal curves.
  • a ring oscillator with an even number of inverters as shown in FIG. 1, has a fixed point and stops after a certain period of time.
  • the waveform up to the stalling of the ring oscillator serves as a random basis for the generation of the random bit.
  • the flip-flop 14 counts as a clock divider the number of Vibrations modulo 2. That is, the present at the data output 17 level coincidentally corresponds to the number of resulting in the waveform of Figure 2 rising or falling signal edges.
  • Another random element results from the strongly fluctuating amplitudes, so that, for example, in the range between 200 and 300 ns there is no well-defined logic level at the input 15 of the buffer or flip-flop 14.
  • NAND gates 28, 29 correspond to a combination of the controllable switches 24, 25, each having an inverter 6, 11.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Manipulation Of Pulses (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

An apparatus (1) for generating a random bit sequence (ZZ) comprises a ring oscillator which includes a plurality of inverting digital devices (2-11) and on which an oscillator signal (OS) can be tapped. An intermediate storage element (14) monitors and stores fluctuating levels of the oscillator signal (OS). Furthermore, at least two controllable switch devices (12, 13) for simultaneously exciting at least two harmonic wave edges (OW1, OW2) of the ring oscillator are provided in a signal path of the ring oscillator. The phasing of the two harmonic wave edges (OW1, OW2) and a potential convergence thereof are subject to statistical fluctuations, which are used as a basis for the random bit generation. An apparatus and a method for generating random bit sequences are claimed. A corresponding random number generator can be used in particular as a FPGA for security applications, such as cryptographic methods. The apparatus (1) comprises substantially digital components, which are easy to produce in a standardized manner. A dedicated regulating circuit is not necessary. The apparatus is also robust toward exterior influences. The figures illustrate circuit diagrams of possible implementations and signal curves of the occurring signals.

Description

Beschreibungdescription
Vorrichtung und Verfahren zum Erzeugen einer ZufallsbitfolgeApparatus and method for generating a random bit string
Die vorliegende Erfindung betrifft Vorrichtungen und Verfahren zum Erzeugen von Zufallsbits und Zufallsbitfolgen. Dies dient beispielsweise zur Implementierung eines Zufallszahlengenerators .The present invention relates to apparatus and methods for generating random bits and random bit strings. This is for example used to implement a random number generator.
Zufallszahlen, welche in digitaler Form als Zufallsbitfolgen auftreten, werden häufig in sicherheitsrelevanten Anwendungen benötigt. Es ist beispielsweise bei asymmetrischen Authenti- fikationsverfahren notwendig, Zufallszahlen zu erzeugen und zu verwenden. Insbesondere bei RFID-Tags mit Sicherheitsfunk- tionalität sind entsprechende Zufallszahlen mit besonders niedrigem Hardwareaufwand zu generieren. Wünschenswert ist es dabei, lediglich digitale Logikschaltungen, welche aufwandsgünstig implementiert werden können, einzusetzen.Random numbers, which occur in digital form as random bit sequences, are often required in security-relevant applications. For asymmetric authentication methods, for example, it is necessary to generate and use random numbers. Particularly in the case of RFID tags with security functionality, corresponding random numbers with particularly low hardware expenditure must be generated. It is desirable to use only digital logic circuits, which can be implemented with low cost.
In der Vergangenheit wurden Zufallszahlengeneratoren z.B. unter Verwendung analoger Rauschquellen, deren Signale digitalisiert werden, verwendet. Hybride Analog/Digital-Schaltungen sind jedoch nur aufwändig zu implementieren.In the past, random number generators have been used e.g. using analog noise sources whose signals are digitized. However, hybrid analog / digital circuits are expensive to implement.
Um echte zufällige Bitfolgen zu erzeugen, ist in der Regel eine physikalische Zufallsquelle erforderlich, die in der Regel schwierig in Computersystemen einzusetzen ist. Bei Hardware-Zufallszahlen-Generatoren wird ein physikalischer Pro- zess als Zufallsquelle verwendet. Dann muss allerdings das physikalische System über Sensoren erfasst und vermessen werden, wobei aus den gemessenen Daten anschließend die Zufallsdaten extrahiert werden können. Als Beispiele für zufallsbestimmte physikalische Prozesse seien radioaktiver Zerfall, Rauschen von Halbleitern, freischwingende Oszillatoren oder Quantenzustände von Photonen genannt. Obgleich eine gute Ran- dominisierung von Zufallsdaten damit erzielt wird, sind die notwendigen Messvorrichtungen außergewöhnlich aufwendig, so dass eine Anwendung in Massenartikeln, beispielsweise für ein einfaches Verschlüsseln von Daten auf RFID-Tags, nicht ökonomisch ist. Bei rein elektrisch arbeitenden Zufallszahlen- Generatoren ergibt sich zudem häufig das Problem, dass die korrekte Arbeitsweise davon abhängt, dass analoge Elektronik- Schaltungen auf vordefinierte Arbeitspunkte exakt eingestellt werden müssen. Daher ergeben sich Probleme bei Fertigungsstreuungen und Veränderungen der Betriebsbedingungen wie Temperatur oder anderen äußeren Einflüssen. Es ist somit nachteilig, da rein analoge Schaltkreise empfindlich gegen- über Störungen und Manipulationen sind.Generating true random bit sequences usually requires a physical source of randomness, which is typically difficult to use in computer systems. Hardware random number generators use a physical process as a random source. Then, however, the physical system must be detected and measured by sensors, and then the random data can be extracted from the measured data. Examples of random physical processes include radioactive decay, semiconductor noise, free-running oscillators, or quantum states of photons. Although a good randomization of random data is achieved with it, the necessary measuring devices are extremely expensive, so that an application in mass-produced items, for example for a Simple encryption of data on RFID tags is not economical. In addition, in the case of purely electrical random number generators, the problem frequently arises that the correct mode of operation depends on the fact that analog electronic circuits must be set exactly to predefined operating points. Therefore, there are problems with manufacturing variations and changes in operating conditions such as temperature or other external influences. It is therefore disadvantageous since purely analog circuits are sensitive to disturbances and manipulations.
So genannte Pseudo-Zufauszahlen können algorithmisch erzeugt werden. Dabei sollen die algorithmisch erzeugten Zufallsbits oder Zufallszahlen, obwohl sie eigentlich nicht zufällig sind, von echten Zufallsbits möglichst nicht zu unterscheiden sein. Bei Pseudo-Zufallsbits wird eine Mikroprozessoreinrichtung CPU (= Central Processing Unit) mit einem entsprechenden Programm betrieben, das aus einem Speicher einen so genannten Seedwert (= Samen) benötigt. Aus dem aktuellen Wert des Seeds berechnet die CPU Zufallsbits und neue Werte des Seeds, die wiederum abgespeichert werden und den alten Wert überschreiben. Um nicht dieselben Zufallsbit- oder Zahlenfolgen auf verschiedenen Geräten zu erhalten, werden die verschiedenen Geräte in einem Personalisierungsschritt auf einen individu- eilen Startwert gesetzt.So-called pseudo-Zufauszahlen can be generated algorithmically. In this case, the algorithmically generated random bits or random numbers, although not actually random, should as far as possible not be distinguished from true random bits. In the case of pseudo-random bits, a microprocessor device CPU (= Central Processing Unit) is operated with a corresponding program which requires a so-called seed value (= seed) from a memory. From the seed's current value, the CPU calculates random bits and new seed values, which in turn are stored and override the old value. In order not to receive the same random bit or number sequences on different devices, the various devices are set to an individual start value in a personalization step.
Obwohl Pseudo-Zufauszahlen für manche Anwendungen ausreichend zufällige Daten liefern, können sie physikalische Zufallszahlen nicht vollständig ersetzen. Denn zumindest für die Bestimmung eines initialen Seed-Wertes wird echter Zufall benötigt. Von dem initialen Seed-Wert ausgehend, sind die Pseudo-Zufauszahlen jedoch deterministisch. Die statistische Qualität von erzeugten Pseudo-Zufallsdaten hängt dabei stark vom verwendeten Algorithmus und der Länge des Seed-Wertes ab. Es finden beispielsweise in Standard-C-Bibliotheken Verfahren Verwendung, die Fibonacci-Generatoren verwenden. Auch rückgekoppelte Schieberegister werden teilweise für die Erzeugung von Pseudo-Zufauszahlen verwendet. Die vorgenannten Maßnah- men eigenen sich nicht für kryptographische Anwendungen. Ein Angreifer könnte zu leicht die Zufallszahlenfolge voraussagen .Although pseudo-in-numbers provide enough random data for some applications, they can not completely replace physical random numbers. Because at least for the determination of an initial seed value real coincidence is needed. However, starting from the initial seed value, the pseudo-in-feed numbers are deterministic. The statistical quality of generated pseudo-random data depends strongly on the algorithm used and the length of the seed value. For example, standard C libraries use methods that use Fibonacci generators. Also feedback shift registers are partially used for the generation of pseudo-in-feed numbers. The abovementioned measures These are not suitable for cryptographic applications. An attacker could easily predict the random number sequence.
Aufwändigere Verfahren verwenden kryptographisch starke Hash- Funktionen oder Verschlüsselungsverfahren, um aus einem aktuellen Seed-Wert Zufallsdaten und neue Seed-Werte zu berechnen. Um eine ausreichende Qualität bei der Erzeugung von Zufallszahlen zu erzielen, sind daher besonders leistungsfähige Ressourcen benötigende CPUs notwendig.More sophisticated methods use cryptographically strong hash functions or encryption techniques to calculate random data and new seed values from a current seed value. In order to achieve sufficient quality in the generation of random numbers, therefore, particularly high-performance resources requiring CPUs are necessary.
In der Vergangenheit wurde auch vorgeschlagen, rein digitale Zufallszahlen-Generatoren, die digitale elektrische Komponenten in integrierten Schaltkreisen aufweisen, zu schaffen. Beispielsweise wurde vorgeschlagen, die Verwendung von Jitter in Ringoszillatoren zur Zufallszahlenerzeugung zu verwenden. Digitale Ringoszillatoren werden üblicher Weise aus einer ungeraden Anzahl von Invertern, die zyklisch angeordnet bzw. miteinander rückgekoppelt sind, ausgebildet. Die Schwankungen der Periodenlängen werden dabei als Jitter bezeichnet. Allerdings ist der Jitter in der Regel klein gegenüber der Periodenlänge, so dass sich die Zufälligkeit desselben nur langsam über die Zeit akkumuliert. Um Zufallszahlen schneller zu erzeugen, sind Fibonacci- oder Gallois-Ringoszillator-Varianten vorgeschlagen worden, mittels denen schneller Zufallszahlenfolgen erzeugt werden können.It has also been proposed in the past to provide purely digital random number generators having digital electrical components in integrated circuits. For example, it has been proposed to use the use of jitter in ring oscillators for random number generation. Digital ring oscillators are usually formed from an odd number of inverters that are cyclically arranged or fed back together. The fluctuations of the period lengths are referred to as jitter. However, the jitter is usually small compared to the period length, so that the randomness of it accumulates only slowly over time. To generate random numbers faster, Fibonacci or Gallois ring oscillator variants have been proposed, by means of which faster random number sequences can be generated.
Zwar können die digital implementierten Zufallszahlen- Generatoren günstig hergestellt werden, beispielsweise als FPGAs oder in ASICs (Application specific integrated circuits = anwendungszugeschnittene integrierte Schaltkreise) , allerdings stören Fertigungsschwankungen der entsprechenden Bauteile den Prozess der Zufallszahlenerzeugung. Um statistische Defekte in den Zufallsdaten, die beispielsweise von physika- lischen Rauschquellen erzeugt werden, zu kompensieren, werden auch algorithmische Nachbearbeitungen vollzogen. Dabei werden die Messdaten komprimiert, um eine Erhöhung der Entropie zu erreichen. Um Schwankungen in der Häufigkeitsverteilung aus- zugleichen, können auch kryptographisch starke Hash- Funktionen Verwendung finden.Although the digitally implemented random number generators can be manufactured cheaply, for example as FPGAs or in ASICs (Application Specific Integrated Circuits), manufacturing variations of the corresponding components disturb the process of random number generation. In order to compensate statistical defects in the random data, which are generated for example by physical noise sources, also algorithmic post-processing is performed. The measured data are compressed in order to increase the entropy. To avoid fluctuations in the frequency distribution Cryptographically strong hash functions can also be used.
Insgesamt ergibt sich aus den bekannten Verfahren und Genera- toren zur Zufallsbiterzeugung bzw. die entsprechenden Hardware mäßigen Implementierungen, eine Reihe von Nachteilen, die den Einsatz in Massenprodukten in der Regel ausschließen.Overall, the known methods and generators for random bit generation or the corresponding hardware-moderate implementations result in a number of disadvantages which generally preclude their use in mass products.
Es ist daher eine Aufgabe der vorliegenden Erfindung, eine verbesserte Vorrichtung und ein Verfahren zum Erzeugen von Zufallsbits zu schaffen.It is therefore an object of the present invention to provide an improved apparatus and method for generating random bits.
Diese Aufgabe wird durch eine Vorrichtung mit den Merkmalen des Patentanspruchs 1 und durch ein Verfahren nach Patentan- spruch 14 gelöst.This object is achieved by a device having the features of patent claim 1 and by a method according to patent claim 14.
Demgemäß weist eine Vorrichtung zum Erzeugen einer Zufallsbitfolge einen mehrere invertierende digitale Einrichtung umfassenden Ringoszillator auf, an dem ein Oszillatorsignal abgreifbar ist. Es ist ein Zwischenspeicherelement zum Speichern von Pegeln des Oszillatorsignals vorgesehen, und mindestens zwei steuerbare Schalteinrichtungen sind in einem Signalpfad des Ringoszillators vorgesehen, um vorzugsweise gleichzeitig mindestens zwei Oberwellen bzw. Flanken einer Oberwelle des Ringoszillators anzuregen.Accordingly, an apparatus for generating a random bit sequence comprises a ring oscillator comprising a plurality of inverting digital devices, at which an oscillator signal can be tapped off. A buffer element is provided for storing levels of the oscillator signal, and at least two controllable switching devices are provided in a signal path of the ring oscillator, preferably to simultaneously excite at least two harmonics or edges of a harmonic of the ring oscillator.
Das Zwischenspeicherelement überwacht und speichert die schwankenden Pegel des Oszillatorsignals. Da die gleichzeitig erzeugten Oberwellenflanken gegeneinander phasenverschoben sind, laufen dieselben potenziell unter statistischen Schwankungen zusammen. Die sich ergebenden Signalformen sind nicht vorhersagbar und dienen als Basis der Zufallsbiterzeugung.The latch element monitors and stores the fluctuating levels of the oscillator signal. Since the simultaneously generated harmonic edges are out of phase with each other, they potentially converge in statistical variations. The resulting waveforms are unpredictable and serve as the basis of random bit generation.
Bei einem Verfahren zum Erzeugen einer Zufallsbitfolge sind die Schritte vorgesehen:In a method for generating a random bit sequence, the steps are provided:
Bereitstellen eines Ringoszillators, welcher digitale Schaltelemente umfasst; Anregen von mindestens zwei Flanken einer oder mehrerer Oberwelle des Ringoszillators als Oszillatorsignal, welches zwischen zwei vorgegebenen logischen Pegeln schwankt;Providing a ring oscillator comprising digital switching elements; Exciting at least two edges of one or more harmonics of the ring oscillator as an oscillator signal which fluctuates between two predetermined logic levels;
Abgreifen des Oszillatorsignals; undPicking up the oscillator signal; and
Ermitteln eines Zufallsbits in Abhängigkeit einer Anzahl von Pegeldurchgängen des Oszillatorsignals in einem vorgegebenen Zeitraum.Determining a random bit in response to a number of level crossings of the oscillator signal in a predetermined period.
Beispielsweise kann ausgehend von einem statischen Zustand mit geeignet gewählten Anfangsbedingungen, welche durch die steuerbaren Schalteinrichtungen festgelegt werden können, ein metastabiler Schwingungszustand des Ringoszillators in Form einer Oberwelle eingestellt werden. Die Phasenlage der beiden Flanken der Oberwelle unterliegt statistischen Schwankungen. In der Regel fallen nach einem gewissen Zeitraum die beiden Flanken der Oberwelle zusammen. Hat der Ringoszillator eine gerade Anzahl von Invertern, wird er stehen bleiben. Sofern eine ungerade Anzahl von Invertern vorgesehen ist, fällt der Ringoszillator in seine Grundfrequenz und schwingt stabil weiter .For example, starting from a static state with suitably selected initial conditions, which can be determined by the controllable switching devices, a metastable vibration state of the ring oscillator in the form of a harmonic wave can be set. The phase position of the two edges of the harmonic is subject to statistical fluctuations. As a rule, the two edges of the harmonic coincide after a certain period of time. If the ring oscillator has an even number of inverters, it will stop. If an odd number of inverters is provided, the ring oscillator drops to its fundamental frequency and continues to oscillate stable.
Als Zufallsbit kann beispielsweise eine Anzahl von steigenden oder fallenden Oszillatorsignalflanken innerhalb des vorgegebenen Zeitraumes verwendet werden. Insbesondere das Zwischenspeicherelement, welches zum Beispiel als Flip-Flop ausgestaltet sein kann, eignet sich zum Zählen von Signalflanken. Wird ferner diese ermittelte oder gespeicherte Anzahl einer Modulo-Operation unterzogen, ergibt sich ein zufälliges Bit.As a random bit, for example, a number of rising or falling oscillator signal edges can be used within the predetermined time period. In particular, the buffer element, which may be configured for example as a flip-flop, is suitable for counting signal edges. Further, if this determined or stored number undergoes a modulo operation, a random bit results.
Beispielsweise eine Steuereinrichtung kann an dem Zwischenspeicherelement mehrere Zufallsbits nacheinander ermitteln, welche dann eine Zufallsbitfolge oder eine binäre Zufallszahl liefert . In der Vorrichtung können die steuerbaren Schalteinrichtungen zum Beispiel als UND-Gatter ausgeführt werden. UND-Gatter lassen sich leicht standardisiert implementieren und dienen, je nach logischem Pegel eines Eingangssignals, als geschlos- sener Schalter oder blockieren den Signalpfad innerhalb des Ringoszillators .For example, a control device can determine several random bits one after the other at the buffer element, which then delivers a random bit sequence or a binary random number. In the apparatus, the controllable switching devices may be implemented as AND gates, for example. AND gates are easily implemented in a standardized manner and, depending on the logic level of an input signal, serve as a closed switch or block the signal path within the ring oscillator.
Auf analoge Weise kann die steuerbare Schalteinrichtung als ODER-Gatter ausgeführt sein, wobei dann ein logischer L-Pegel zum Anschwingen der Schaltung führt.In an analogous manner, the controllable switching device can be embodied as an OR gate, in which case a logic L level leads to the oscillation of the circuit.
Als eine Ausführungsform ist ferner eine Steuereinrichtung vorgesehen, welcher derart ein Startsignal für die steuerbaren Schalteinrichtungen und das Zwischenspeicherelement er- zeugt, dass jede steuerbare Schalteinrichtung jeweils eine Oberwellenflanke des Oszillatorsignals erzeugt und das Zwischenspeicherelement zurückgesetzt wird. Dadurch wird ermöglicht, dass von einem statischen Zustand aus ein metastabiler Schwingungszustand erreicht wird.As an embodiment, a control device is furthermore provided which generates such a start signal for the controllable switching devices and the buffer element, that each controllable switching device generates a harmonic edge of the oscillator signal and the buffer element is reset. This allows a metastable state of vibration to be achieved from a static state.
Ferner kann die Steuereinrichtung an einem Ausgang des Zwischenspeicherelements einen logischen Pegel eines Zufallsbit abgreifen, wobei das Startsignal zum Erzeugen mehrerer Zufallsbits erzeugt wird, und die mehreren Zufallsbits als Zu- fallsbitfolge von der Steuereinrichtung ausgegeben werden. Die Vorgehensweise hat zum Beispiel den Vorteil, dass keine weitere Regelschaltung erforderlich ist, um einen metastabilen Zustand des Ringoszillators aufzufinden oder aufrecht zu erhalten. Vielmehr ergibt sich durch die Erzeugung von Ober- wellen dieser metastabile Zustand, welcher als Basis für die Zufallsbiterzeugung dient.Furthermore, the control device can pick up a logic level of a random bit at an output of the buffer element, the start signal for generating a plurality of random bits being generated, and the plurality of random bits being output as a random bit sequence from the control device. The approach has, for example, the advantage that no further control circuit is required to find or maintain a metastable state of the ring oscillator. Rather, the generation of super waves results in this metastable state, which serves as the basis for the generation of random bitumen.
In einer Ausführungsform ist zwischen den steuerbaren Schalteinrichtungen jeweils eine gleiche Anzahl von invertierenden digitalen Einrichtungen vorgesehen. Diese symmetrische Anordnung hat den Vorteil, dass Störeinflüsse symmetrisiert vorliegen und die statistische Zufälligkeit verbessert wird. In noch weiteren Ausführungsformen der Vorrichtung zum Erzeugen einer Zufallsbitfolge ist ein weiteres Zwischenspeicherelement derart an den Ringoszillator gekoppelt, dass parasitäre elektrische Einflüsse der Zwischenspeicherelemente sym- metrisch in Bezug auf die invertierenden digitalen Einrichtungen vorliegen. Die kapazitive Last der beispielsweise als logische Gatter ausgeführten invertierenden Einrichtungen oder Schalteinrichtungen, ist damit weitestgehend symmetrisch, so dass die jeweilige Oberwelle besonders lange erhal- ten wird und die statistisch zufällige Phasenbeziehung zwischen beiden Oberwellen günstiger ist. Das zweite Zwischenspeicherelement, beispielsweise als Flip-Flop ausgeführt, dient zum Beispiel nur der Symmetrisierung des Oszillatorteils der Schaltung, wobei dessen Ausgang nicht verwendet wird.In one embodiment, an equal number of inverting digital devices are provided between the controllable switching devices. This symmetrical arrangement has the advantage that interferences are symmetrized and the statistical randomness is improved. In yet further embodiments of the apparatus for generating a random bit sequence, a further buffer element is coupled to the ring oscillator such that parasitic electrical influences of the buffer elements are present symmetrically with respect to the inverting digital devices. The capacitive load of the inverting devices or switching devices embodied, for example, as logic gates, is thus largely symmetrical, so that the respective harmonic wave is maintained for a particularly long time and the statistically random phase relationship between the two harmonics is more favorable. The second buffer element, for example designed as a flip-flop, serves, for example, only for the symmetrization of the oscillator part of the circuit, the output of which is not used.
Die invertierenden digitalen Einrichtungen und die steuerbaren Schalteinrichtungen können als zwei logische Gatter, wie z.B. NAND-Gatter integriert werden. Ein NAND-Gatter kombi- niert einerseits eine invertierende Funktion des durchlaufenden Signals und andererseits eine Schaltfunktion, je nach Kombination der logischen Eingangssignale. Die Vorrichtung zur Erzeugung von Zufallsbits lässt sich daher besonders kompakt ausführen.The inverting digital devices and the controllable switching devices may be implemented as two logic gates, e.g. NAND gates are integrated. A NAND gate combines on the one hand an inverting function of the continuous signal and on the other hand a switching function, depending on the combination of the logical input signals. The device for generating random bits can therefore be made particularly compact.
Statt der NAND-Gatters können auch NOR-Gatter verwendet werden, wobei dann der Übergang zum logische Wert H das Schwingen der Schaltung startet.Instead of the NAND gates, NOR gates can also be used, in which case the transition to the logical value H starts the oscillation of the circuit.
Es ist ferner denkbar, dass zwischen einem Eingang eines logischen Gatters, insbesondere eines NAND-Gatters (bzw. des NOR-Gatters) und einem Ausgang des jeweils anderen NAND- Gatters (bzw. NOR-Gatters) eine Verzögerungseinrichtung geschaltet ist. Die Verzögerungszeit durch die Verzögerungsein- richtung, beispielsweise eine Kette von Treiberschaltungen, sollte dabei länger sein als die Schaltzeit der NAND-Gatter (bzw. NOR-Gatter). Ansonsten würden die beiden Oberwellen praktisch direkt aufeinander fallen. In einer Weiterbildung ist die Vorrichtung als FPGA (= Field Programmable Gate Array bzw. im Feld programmierbare Gate- Anordnung) ausgeführt. Durch die vollständig digital imple- mentierte Vorrichtung ist eine entsprechende Programmierung besonders einfach. Ferner eignen sich die Vorrichtung und das Verfahren zur Implementierung in einem ASIC.It is also conceivable that a delay device is connected between an input of a logic gate, in particular a NAND gate (or the NOR gate) and an output of the respective other NAND gate (or NOR gate). The delay time through the delay device, for example a chain of driver circuits, should be longer than the switching time of the NAND gate (or NOR gate). Otherwise, the two harmonics would fall practically directly on each other. In a development, the device is embodied as FPGA (= field programmable gate array or field programmable gate arrangement). The completely digitally implemented device makes corresponding programming particularly easy. Furthermore, the apparatus and method are suitable for implementation in an ASIC.
Die vorgeschlagene Vorrichtung und das Verfahren haben den Vorteil, dass sie schaltungstechnisch besonders einfach zu implementieren sind. Es wird nur eine geringe Anzahl von e- lektronischen digitalen Bauelementen benötigt. Damit eignet sich insbesondere ein Einsatz entsprechender Zufallszahlen- Generatoren im Massengeschäft.The proposed device and the method have the advantage that they are particularly easy to implement circuitry. Only a small number of electronic digital components are required. This makes it particularly suitable to use corresponding random number generators in mass business.
Weitere vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche sowie der im Folgenden beschriebenen Ausführungsbeispiele der Erfindung. Im Weiteren wird die Erfindung anhand von Ausführungsbeispielen unter Bezug- nähme auf die folgenden Figuren näher erläutert. Es zeigt dabei :Further advantageous embodiments of the invention are the subject of the dependent claims and the embodiments of the invention described below. In the following, the invention will be explained in more detail by means of exemplary embodiments with reference to the following figures. It shows:
Figur 1 : ein Schaltbild einer ersten Ausführungsform einer Vorrichtung zur Erzeugung von Zufallsbitfolgen;FIG. 1 shows a circuit diagram of a first embodiment of a device for generating random bit sequences;
Figuren 2-5 mögliche Signalformen von Oszillatorsignalen und Zufallsbitsignalen;Figures 2-5 possible waveforms of oscillator signals and random bit signals;
Figur 6: ein Ersatzschaltbild für einen Ringoszillator, welcher in Ausführungsformen von Vorrichtungen zur Erzeugung von Zufallsbits eingesetzt werden kann;FIG. 6 shows an equivalent circuit diagram for a ring oscillator which can be used in embodiments of devices for generating random bits;
Figur 7 : ein Schaltbild einer zweiten Ausführungsform einer Vorrichtung zur Erzeugung von Zufallsbitfolgen; Figuren 8, 9: mögliche Signalformen von Oszillatorsignalen; undFIG. 7 shows a circuit diagram of a second embodiment of a device for generating random bit sequences; FIGS. 8, 9: possible signal forms of oscillator signals; and
Figur 10: ein Schaltbild einer dritten Ausführungsform einer Vorrichtung zur Erzeugung von Zufallsbitfolgen .FIG. 10 shows a circuit diagram of a third embodiment of a device for generating random bit sequences.
In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts Anderes angegeben ist.In the figures, identical or functionally identical elements have been given the same reference numerals, unless stated otherwise.
Figur 1 zeigt einen Zufallsbit-Generator als Vorrichtung zum Erzeugen von Zufallsbitfolgen. Der Zufallsbit-Generator 1 um- fasst einen Ringoszillator, der aus seriell verschalteten In- vertern 2-11 aufgebaut ist. Dabei ist ein oberer Zweig aus fünf Invertern 2-6 und ein unterer Zweig aus fünf Invertern 7-11 dargestellt. Die beiden Zweige sind zyklisch miteinander verschaltet, wobei als steuerbare Schalteinrichtungen jeweils ein AND- bzw. UND-Gatter 12, 13 verwendet ist. Die UND-Gatter haben jeweils zwei Eingänge 18, 19, 21, 22 und einen Ausgang 20, 23.FIG. 1 shows a random bit generator as a device for generating random bit sequences. The random bit generator 1 comprises a ring oscillator, which is constructed from serially interconnected inverters 2-11. In this case, an upper branch of five inverters 2-6 and a lower branch of five inverters 7-11 is shown. The two branches are connected to each other cyclically, with an AND gate 12, 13 being used as the controllable switching devices. The AND gates each have two inputs 18, 19, 21, 22 and an output 20, 23rd
Jeweils ein Eingang 21, 19 der UND-Gatter 12, 13 ist über eine geeignete Leitung an eine Steuereinrichtung 50 gekoppelt, welche ein Steuersignal ST erzeugt. Der Signalpfad des Ringoszillators umfasst damit die Inverter 2-11 und die beiden UND-Gatter 12, 13. Am Signalpfad ist ein entsprechendes Oszillatorsignal OS abgreifbar.In each case an input 21, 19 of the AND gates 12, 13 is coupled via a suitable line to a control device 50, which generates a control signal ST. The signal path of the ring oscillator thus comprises the inverters 2-11 and the two AND gates 12, 13. At the signal path, a corresponding oscillator signal OS can be tapped off.
Zum Erfassen und Speichern des Oszillatorsignals OS ist ein Zwischenspeicherelement 14, welches als Flip-Flop ausgeführt ist, gekoppelt. Das Flip-Flop 14 hat einen Takteingang 15, einen Rücksetzeingang 16 und einen Datenausgang 17. Der Rücksetzeingang 16 ist an den Steuerausgang 51 der Steuereinrich- tung 50 gekoppelt und empfängt wie die Eingänge 21 und 19 der UND-Gatter 12, 13 das Startsignal ST. Das Oszillatorsignal OS ist an den Takteingang 15 des Flip-Flops 14 geführt. An dem Datenausgang 17 des Flip-Flops 14 lässt sich ein Zufallsbit ZB abgreifen, welches an einen Eingang 52 der Steuereinrichtung 50 geführt ist.For detecting and storing the oscillator signal OS, a buffer element 14, which is designed as a flip-flop coupled. The flip-flop 14 has a clock input 15, a reset input 16 and a data output 17. The reset input 16 is coupled to the control output 51 of the control device 50 and, like the inputs 21 and 19 of the AND gates 12, 13, receives the start signal ST , The oscillator signal OS is fed to the clock input 15 of the flip-flop 14. At the data output 17 of the flip-flop 14, a random bit can be For example, tap, which is guided to an input 52 of the control device 50.
Die Steuereinrichtung 50 erzeugt das Startsignal ST derart, dass ausgehend von den UND-Gattern 12, 13, im Signalpfad jeweils eine Flanke einer Oberwelle entsteht. Dabei durchläuft eine erste Oberwellenflanke vom Ausgang 23 des UND-Gatters 12 durch die Inverter 2-6, und eine zweite Oberwelle läuft von dem Ausgang 20 des zweiten UND-Gatters 13 durch die Inverter 7-11. Zunächst kann das Startsignal ST zum Beispiel auf logischen L-Pegel oder 0-Pegel gesetzt werden. Dann ist am Ausgang 23, 20 der UND-Gatter 12, 13 immer ein logischer L-Pegel bzw. eine 0. Eine Schwingung des Ringoszillators ergibt sich damit nicht. Wird das Startsignal ST auf logischen H-Pegel oder 1 gesetzt, arbeiten die UND-Gatter 12, 13 als geschlossene Schalter. D.h., Eingang 22 ist logisch mit dem Ausgang 23 des UND-Gatters 12 verbunden und der Eingang 18 ist logisch mit dem Ausgang 20 des UND-Gatters 13 verbunden. Gleichzeitig erfolgt ein Rücksetzen des Flip-Flops 14.The control device 50 generates the start signal ST in such a way that, starting from the AND gates 12, 13, in each case one edge of a harmonic arises in the signal path. At this time, a first harmonic edge passes from the output 23 of the AND gate 12 through the inverters 2-6, and a second harmonic wave passes from the output 20 of the second AND gate 13 through the inverters 7-11. For example, the start signal ST may be set at logical L level or 0 level, for example. Then, at the output 23, 20 of the AND gate 12, 13 is always a logical L level or 0. A vibration of the ring oscillator does not result. If the start signal ST is set to logic H level or 1, the AND gates 12, 13 operate as closed switches. That is, input 22 is logically connected to the output 23 of the AND gate 12 and the input 18 is logically connected to the output 20 of the AND gate 13. At the same time resetting of the flip-flop 14th
Es ergeben sich nun zwei Oberwellenflanken im Signalpfad des Ringoszillators. Beim Start liegt am Eingang des ersten In- verters 2 eine logische 1 vor. Durch die Invertierungen der Folgeinverter 3-6 ergibt sich dann am Eingang 18 des UND- Gatters 13 eine logische 0. Gleichzeitig wird eine Oberwellenflanke, ausgehend von einer logischen 1, am Ausgang 20 des UND-Gatters 13 bzw. Eingang des Inverters 7 durch die untere Inverterkette getrieben. Dies führt zu einer logischen 0 am Ausgang des Inverters 11. Somit liegen die beiden Oberwellen- flanken phasenverschoben vor. Das Oszillatorsignal umfasst daher miteinander überlagerte Flanken eines Oberwellensignals .There are now two harmonics edges in the signal path of the ring oscillator. At the start, a logical 1 is present at the input of the first inverter 2. At the same time, a harmonic edge, starting from a logic 1, at the output 20 of the AND gate 13 or input of the inverter 7 through the. In the inverters of the follower inverter 3-6 results then at the input 18 of the AND gate driven lower inverter chain. This leads to a logic 0 at the output of the inverter 11. Thus, the two harmonic flanks are out of phase. The oscillator signal therefore comprises superposed edges of a harmonic signal.
Durch die Überlagerung der beiden Flanken der Oberwelle ist kein stabiles logisches Signal durch das Oszillatorsignal OS gegeben. Am Takteingang 15 des Flip-Flops 14 schwankt daher ein unregelmäßiges oszillierendes logisches Signal. Das Oszillatorsignal kann in diesem metastabilen Schwingungszustand als analoges Signal mit Zufallseigenschaften aufgefasst werden .Due to the superposition of the two edges of the harmonic no stable logic signal is given by the oscillator signal OS. At the clock input 15 of the flip-flop 14 therefore oscillates an irregular oscillating logic signal. The oscillator signal can be in this metastable vibrational state be understood as an analog signal with random properties.
Eine topologisch und funktional äquivalente Anordnung kann auch erreicht werden, indem in einem aus Invertern aufgebauten Ringoszillator, zwei Inverter durch NAND-Gatter ersetzt werden. Diese sollten vorzugsweise an gegenüberliegenden Positionen des Rings vorgesehen werden, um gegenüber Störeinflüssen symmetrische Signaleigenschaften zu erreichen. Es ist auch denkbar, um mehr als zwei Oberwellen zu erzeugen, mehrere steuerbare Schalter, die durch geeignete Zuführung eines Startsignals Oberwellenflanken erzeugen, vorzusehen.A topologically and functionally equivalent arrangement can also be achieved by replacing two inverters with NAND gates in a ring oscillator constructed from inverters. These should preferably be provided at opposite positions of the ring in order to achieve symmetrical signal properties against interference. It is also conceivable, in order to generate more than two harmonics, to provide a plurality of controllable switches, which generate harmonic edges by suitable supply of a start signal.
Zur näheren Erläuterung der Funktionsweise der Ausführungs- form eines Zufallszahlen-Generators in der Figur 1, sind in den Figuren 2-5 Signalformen des Oszillatorsignals OS und des Zufallsbitsignals ZB über die Zeit t aufgetragen. In der Figur 2 ist beispielsweise das Oszillatorsignal am Takteingang 15 des Flip-Flops 14 über die Zeit aufgetragen. Logischer L- Pegel entspricht bei den folgenden Darstellungen von Signalkurven einem Pegel von 0 V und ein H-Pegel, also einer logischen 1, etwa 3,3 V.For a more detailed explanation of the mode of operation of the embodiment of a random number generator in FIG. 1, waveforms of the oscillator signal OS and the random bit signal ZB are plotted over time t in FIGS. In the figure 2, for example, the oscillator signal is applied to the clock input 15 of the flip-flop 14 over time. Logical L level corresponds to a level of 0 V and an H level, that is a logic 1, about 3.3 V in the following representations of signal curves.
Man erkennt, dass sobald das Startsignal ST auf logisch 1 ge- setzt wird, am Ausgang des Inverters 6 das Oszillatorsignal unregelmäßig zu schwingen beginnt. Man kann erkennen, dass zwei Oberwellenflanken OWl und OW2 gegeneinander verschoben und mit unterschiedlicher Amplitude im zeitlichen Verlauf vorliegen. Ab etwa 300 ns sind die beiden Flanken OWl und OW2 der Oberwelle zusammen gelaufen und schwingen stabil aus. Der Ringoszillator bleibt somit stehen.It can be seen that as soon as the start signal ST is set to logic 1, the oscillator signal begins to oscillate irregularly at the output of the inverter 6. It can be seen that two harmonic edges OW1 and OW2 are shifted from one another and present with different amplitude over time. From about 300 ns, the two edges OWl and OW2 of the harmonic have gone together and swing stable. The ring oscillator thus stops.
Grundsätzlich hat ein Ringoszillator mit einer geraden Anzahl von Invertern, wie er in der Figur 1 dargestellt ist, einen Fixpunkt und bleibt nach einem gewissen Zeitraum stehen. Der Signalverlauf bis zu dem Stehenbleiben des Ringoszillators dient als Zufallsbasis für die Erzeugung des Zufallsbits. Denn das Flip-Flop 14 zählt als Taktteiler die Anzahl der Schwingungen Modulo 2. D.h. der am Datenausgang 17 vorliegende Pegel entspricht zufällig der Anzahl der sich im Signalverlauf der Figur 2 ergebenden steigenden oder fallenden Signalflanken. Ein weiteres zufälliges Element ergibt sich durch die stark schwankenden Amplituden, so dass beispielsweise im Bereich zwischen 200 und 300 ns kein wohldefinierter logischer Pegel am Eingang 15 des Zwischenspeichers bzw. Flip- Flops 14 vorliegt.Basically, a ring oscillator with an even number of inverters, as shown in FIG. 1, has a fixed point and stops after a certain period of time. The waveform up to the stalling of the ring oscillator serves as a random basis for the generation of the random bit. Because the flip-flop 14 counts as a clock divider the number of Vibrations modulo 2. That is, the present at the data output 17 level coincidentally corresponds to the number of resulting in the waveform of Figure 2 rising or falling signal edges. Another random element results from the strongly fluctuating amplitudes, so that, for example, in the range between 200 and 300 ns there is no well-defined logic level at the input 15 of the buffer or flip-flop 14.
Die Figur 3 zeigt den Oszillatorsignalverlauf über die Zeit ein weiteres Mal. Die Kurve der Figur 3 entspricht einem anderen Start als dem der Figur 2. Man erkennt, dass wiederum zwei Oberwellenflanken OWl, OW2 vorliegen, die aufeinander zulaufen und nach etwa 300 ns den Oszillator in einen stabi- len Zustand führen. Allerdings unterscheiden sich die Signalverläufe der Figur 2 und der Figur 3 zufällig voneinander.FIG. 3 shows the oscillator signal course once more over time. The curve of FIG. 3 corresponds to a different start than that of FIG. 2. It can be seen that once again there are two harmonic edges OW1, OW2, which converge towards one another and lead the oscillator into a stable state after approximately 300 ns. However, the waveforms of Figure 2 and Figure 3 differ randomly from each other.
Die Figuren 4 und 5 zeigen den zeitlichen Verlauf des Zufallsbitsignals ZB am Ausgang 17 des Flip-Flops 14. Durch die zufällige Oszillatorsignalform am Takteingang 15 des Flip- Flops 14, ergeben sich sowohl logische H- als auch logische L-Pegel am Ausgang 17 des Flip-Flops 14. Die Signalform in der Figur 4 für das Zufallsbit ZB ergibt sich in zufälliger Abhängigkeit von dem Oszillatorsignal OS am Takteingang 15.Figures 4 and 5 show the time course of Zufallsbitsignals ZB at the output 17 of the flip-flop 14. Due to the random oscillator waveform at the clock input 15 of the flip-flop 14, both logical H and logical L-level at the output 17 of Flip-flops 14. The waveform in the figure 4 for the random bit ZB results in random dependence on the oscillator signal OS at the clock input 15th
Nach einem vorgegebenen Zeitraum, beispielsweise 400 ns, wenn der Ringoszillator seinen stabilen Zustand erreicht hat, kann ein zufälliges Bit, welches im Fall der Figur 4 einen logischen H-Pegel aufweist, erfasst werden. Dies erfolgt bei- spielsweise durch die Steuereinrichtung 15, die über ihrenAfter a predetermined period, for example 400 ns, when the ring oscillator has reached its stable state, a random bit, which in the case of FIG. 4 has a logic H level, can be detected. This is done, for example, by the control device 15, which via its
Eingang 52 an den Ausgang 17 des Flip-Flops 14 gekoppelt ist.Input 52 is coupled to the output 17 of the flip-flop 14.
Die Figur 5 zeigt einen ähnlichen Signalverlauf. Allerdings ist der logische Pegel des sich ergebenden Zufallsbits nach 400 ns ein logischer L-Pegel der in etwa 0 V beträgt. Man kann nun beispielsweise einen Zeitraum vorgeben, in dem in der Regel der Ringoszillator, nach dem durch das Startsignal zwei Oberwellenflanken erzeugt wurden, einen stabilen Zustand erreicht. Die sich zwischenzeitlich zufällig ergebenden Signalverläufe bzw. Signalflanken dienen dem Bestimmen eines Zufallsbits. Die Güte der Zufälligkeit des erzeugten Zufallsbits ZB hängt im Wesentlichen von dem nicht determinierbaren, zeitversetzten Verlauf der erzeugten Oberwelle ab. Die beiden Oberwellenflanken durchlaufen die Ringoszillatoranordnung phasenverschoben. Dabei spielen einerseits die Schalteigenschaften, insbesondere Schaltzeiten der beiden UND-Gatter 12, 13 eine Rolle, wie auch die Verzögerungseigenschaften der In- verter 2-11.FIG. 5 shows a similar signal curve. However, the logic level of the resulting random bit after 400 ns is a logical L level which is approximately 0V. It is now possible, for example, to specify a period of time in which the ring oscillator, after which two harmonic edges have been generated by the start signal, generally assumes a stable state reached. The meanwhile randomly resulting signal waveforms or signal edges are used to determine a random bit. The quality of the randomness of the generated random bit ZB essentially depends on the non-determinable, time-shifted course of the generated harmonic. The two harmonic edges pass through the ring oscillator arrangement phase-shifted. On the one hand, the switching properties, in particular switching times of the two AND gates 12, 13, play a role, as do the delay characteristics of inverters 2-11.
In der Figur 6 ist daher ein Ersatzschaltbild für einen entsprechenden Ringoszillator hergestellt. In einer einfachen Ausführungsform eines Ringoszillators 100, der sich zum Ein- satz in einem Zufallsbit-Generator eignet, sind jeweils einIn the figure 6, therefore, an equivalent circuit diagram for a corresponding ring oscillator is made. In a simple embodiment of a ring oscillator 100, which is suitable for use in a random bit generator, one each
Inverter 6, 11 und eine Verzögerungsstrecke 26, 27 hintereinander geschaltet. Diese beiden Verzögerungs- und Inverter- strecken werden zyklisch durch zwei Schalter 24, 25 verschaltet. Die beiden Schalter lassen sich durch ein Startsignal ST öffnen oder schließen. Dies erfolgt im Wesentlichen gleichzeitig .Inverter 6, 11 and a delay line 26, 27 connected in series. These two delay and inverter sections are cyclically interconnected by two switches 24, 25. The two switches can be opened or closed by a start signal ST. This is done essentially simultaneously.
Sind die beiden steuerbaren Schalter 24, 25 geöffnet, ergibt sich keinerlei Oszillation. Vielmehr liegen stabile logische Pegel am Eingang und Ausgang eines jeweiligen Inverters 6, 11 vor. Werden die Schalter jedoch geschlossen, durchläuft beispielsweise eine Signalflanke, ausgehend vom Ausgang des Inverters 6 (ein wohldefinierter H- oder L-Pegel die Verzögerungsstrecke 27 und wird durch den zweiten Inverter 11 inver- tiert. Das somit invertierte Oberwellensignal durchläuft dann erneut eine Verzögerungsstrecke 26 und wird wiederum vom Inverter 6 invertiert. Somit umlaufen zwei Oberwellenflanken im Signalpfad als Oszillatorsignal OS. Vorzugsweise sind dabei die Schaltzeiten der steuerbaren Schalter 24, 25 geringer als die Signalverzögerung durch die Verzögerungsstrecken 26, 27.If the two controllable switches 24, 25 open, there is no oscillation. Rather, stable logic levels are present at the input and output of a respective inverter 6, 11. However, if the switches are closed, for example, a signal edge, starting from the output of the inverter 6 (a well-defined H or L level, passes through the delay line 27 and is inverse-converted by the second inverter 11. The thus-inverted harmonic signal then passes through a delay line 26 again and in turn is inverted by the inverter 6. Thus, two harmonic edges in the signal path circulate as oscillator signal OS. Preferably, the switching times of the controllable switches 24, 25 are less than the signal delay through the delay lines 26, 27.
Durch Abgriff des Oszillatorsignals OS und ein Zählen der sich ergebenden Signalflanken durch die beiden überlagerten Oberwellenflanken, wird dann, wie beispielsweise hinsichtlich der Figur 1 erläutert wurde, ein Zufallsbit ermittelt. Durch mehrfaches Anstoßen der Oberwellen und Rücksetzen des entsprechenden Zwischenspeicherelementes, wie einem Flip-Flop, wird dann eine Zufallsbitfolge erzeugt.By tapping the oscillator signal OS and counting the resulting signal edges by the two superimposed Harmonic edges, then, as has been explained, for example, with reference to Figure 1, a random bit determined. By repeatedly triggering the harmonics and resetting the corresponding latch element, such as a flip-flop, a random bit sequence is then generated.
Die Figur 7 zeigt einen Zufallsbit-Generator als Vorrichtung zum Erzeugen von Zufallsbits, bei dem invertierende Elemente in NAND-Gattern integriert sind. Der Zufallsbit-Generator 101 weist eine Kette von Treiberschaltungen 36-40 auf, die prinzipiell eine Verzögerungsstrecke darstellen. Eine zweite entsprechende Verzögerungsstrecke ist aus fünf weiteren Treibern 41-45 aufgebaut. Es ergibt sich ein oberer Zweig und ein unterer Zweig, die miteinander über ein NAND-Gatter 28 bzw. 29 verbunden sind. Die NAND-Gatter 28, 29 weisen jeweils zweiFigure 7 shows a random bit generator as a random bit generating device in which inverting elements are integrated in NAND gates. The random bit generator 101 comprises a chain of driver circuits 36-40, which in principle constitute a delay path. A second corresponding delay line is made up of five further drivers 41-45. The result is an upper branch and a lower branch, which are connected to each other via a NAND gate 28 and 29, respectively. The NAND gates 28, 29 each have two
Signaleingänge 30-33 und einen invertierenden Ausgang 34, 35 auf. Im Vergleich zur Figur 6 entsprechen die NAND-Gatter 28, 29 einer Kombination der steuerbaren Schalter 24, 25 mit jeweils einem Inverter 6, 11.Signal inputs 30-33 and an inverting output 34, 35 on. In comparison to FIG. 6, the NAND gates 28, 29 correspond to a combination of the controllable switches 24, 25, each having an inverter 6, 11.
An erste Eingänge 30, 33 der NAND-Gatter 28, 29 ist ein Startsignal ST geführt. Zwischen den Ausgang 34 des ersten NAND-Gatters 28 und dem zweiten Eingang 32 des zweiten NAND- Gatters 29 ist die obere Verzögerungsstrecke aus Treibern 36- 40 geschaltet. Zwischen den Ausgang 35 des zweiten NAND- Gatters 29 und dem zweiten Eingang 31 des ersten NAND-Gatters 28 ist der untere Zweig aus den fünf Treibern 41-45 gekoppelt. Am Ausgang des Treibers 40 wird das Oszillatorsignal OS abgegriffen und an einen Takteingang 15 eines Flip-Flops 14 geführt. Ein Rücksetzeingang 16 des Flip-Flops 14 ist ebenfalls mit dem Startsignal ST verbunden, und der Datenausgang 17 des Flip-Flops liefert ein Zufallsbit ZB. Die Funktionsweise ist ähnlich hinsichtlich der in Figur 1 beschriebenen Schaltung. Sobald das Startsignal auf 1 gesetzt wird, wird das Flip-Flop 14 zurückgesetzt und am Ausgang 34 bzw. 35 der NAND-Gatter starten miteinander phasenverschobene Oberwellenflanken des sich ergebenden Ringoszillators, der im Signalpfad die NAND-Gatter 28, 29 und die Treiberschaltungen 36-45 hat. Selbst mit diesen wenigen digitalen Elementen lassen sich Zufallsbits hoher Güte erzeugen.At first inputs 30, 33 of the NAND gates 28, 29, a start signal ST is performed. Between the output 34 of the first NAND gate 28 and the second input 32 of the second NAND gate 29, the upper delay line of drivers 36- 40 is connected. Between the output 35 of the second NAND gate 29 and the second input 31 of the first NAND gate 28, the lower branch of the five drivers 41-45 is coupled. At the output of the driver 40, the oscillator signal OS is tapped and fed to a clock input 15 of a flip-flop 14. A reset input 16 of the flip-flop 14 is also connected to the start signal ST, and the data output 17 of the flip-flop supplies a random bit ZB. The operation is similar with respect to the circuit described in Figure 1. As soon as the start signal is set to 1, the flip-flop 14 is reset and at the output 34 or 35 of the NAND gates start phase-shifted harmonic edges of the resulting ring oscillator, which in the signal path, the NAND gates 28, 29 and the driver circuits 36- 45 Has. Even with these few digital elements, random bits of high quality can be generated.
In der Figur 8 ist eine beispielhafte Signalform des Oszilla- torsignals OS am Eingang des Flip-Flops 14 für den Zufallsbit-Generator 101 dargestellt. Man erkennt, dass nach etwa 450 ns der Ringoszillator einen stabilen L-Pegel am Ausgang des Treibers 40 bzw. Eingang 32 des NAND-Gatters 29 hat. Dies ist der stabile Zustand für den Ringoszillator.FIG. 8 shows an exemplary waveform of the oscillator signal OS at the input of the flip-flop 14 for the random bit generator 101. It can be seen that after approximately 450 ns the ring oscillator has a stable L level at the output of the driver 40 or input 32 of the NAND gate 29. This is the stable state for the ring oscillator.
In der Figur 9 ist ein ähnlicher Signalverlauf für das Oszillatorsignal nach einem weiteren Start über die Zeit dargestellt. Bei dem in der Figur 9 dargestellten „Run" fallen die beiden erzeugten Oberwellen bereits früher aufeinander bzw. laufen zusammen, so dass nach bereits etwa 370 ns der stabile Zustand des Oszillators erreicht wird. Durch Zählen der sich ergebenden Signalflanken, beispielsweise in dem vorgegebenen Zeitraum zwischen 0 und 450 ns, wird dann ein Zufallsbit ZB abgeleitet, welches am Ausgang 17 des Flip-Flops 14 abgreif- bar ist.FIG. 9 shows a similar signal curve for the oscillator signal after a further start over time. In the case of the "run" shown in FIG. 9, the two harmonics generated already coincide earlier or converge, so that the stable state of the oscillator is reached after about 370 ns, by counting the resulting signal edges, for example in the given period of time between 0 and 450 ns, a random bit ZB is then derived, which can be tapped off at the output 17 of the flip-flop 14.
Ferner ist in der Figur 10 eine weitere Variante eines Zufallsbit-Generators dargestellt. Der Zufallsbit-Generator 102 weist im Wesentlichen dieselben Elemente, wie in der Figur 1 dargestellt ist, auf, wobei jedoch am oberen und am unteren Zweig nur jeweils drei Inverter 2-4 und 5-7 nacheinander geschaltet sind. Auf Elemente, die in der Figur 1 bereits erläutert wurden, wird hier nicht eingegangen. Der Zufallsbit- Generator 102 weist neben einem ersten Zwischenspeicherele- ment 14 bzw. einem Flip-Flop ein zweites Flip-Flop 46 auf, welches vorzugsweise eine identische Struktur wie das erste Flip-Flops 14 hat. Der Takteingang 47 des zweiten Flip-Flops 46 ist an den Ausgang des letzten Inverters 7 in der unteren Inverterkette gekoppelt bzw. an den Eingang des ersten UND- Gatters 12. Der Takteingang 15 des ersten Flip-Flops 14 ist an den letzten Inverter 4 der oberen Inverterkette und an den Eingang des zweiten UND-Gatters 13 geführt. Das zweite Flip- Flop 46 hat ebenfalls einen Rücksetzeingang 48 an den, wie auch an den Rücksetzeingang 16 des ersten Flip-Flops 14 das Startsignal ST geführt ist.Furthermore, a further variant of a random bit generator is shown in FIG. The random bit generator 102 has substantially the same elements as shown in FIG. 1, but only three inverters 2-4 and 5-7 are connected in series at the top and bottom branches. Elements which have already been explained in FIG. 1 will not be discussed here. The random bit generator 102 has, in addition to a first buffer element 14 or a flip-flop, a second flip-flop 46, which preferably has an identical structure to the first flip-flop 14. The clock input 47 of the second flip-flop 46 is coupled to the output of the last inverter 7 in the lower inverter chain or to the input of the first AND gate 12. The clock input 15 of the first flip-flop 14 is to the last inverter 4 of upper inverter chain and guided to the input of the second AND gate 13. The second flip-flop 46 also has a reset input 48 to the, as also to the reset input 16 of the first flip-flop 14, the start signal ST is performed.
Das zweite Flip-Flop 46 dient dabei der Symmetrisierung des Oszillatorteils der Schaltung. Der Datenausgang 49 wird nicht verwendet. Durch die erzielte symmetrische Situation bleibt eine erzeugte Oberwelle durch das erste oder zweite UND- Gatter 12, 13 besonders lange erhalten. Somit ergibt sich eine größere Anzahl von potenziell durch das Flip-Flop 14 er- fassbare Signalflanken, die zu dem Zufallsbitwert ZB führen.The second flip-flop 46 serves to symmetrize the oscillator part of the circuit. The data output 49 is not used. Due to the achieved symmetrical situation, a generated harmonic by the first or second AND gate 12, 13 is maintained for a particularly long time. This results in a larger number of signal edges, which can potentially be detected by the flip-flop 14, which lead to the random bit value ZB.
Die vorgestellten Zufallsbit-Generatoren haben insbesondere den Vorteil, dass nur eine geringe Anzahl von digitalen e- lektronischen Komponenten notwendig ist, die leicht in den integrierten Schaltkreisen implementiert werden können. Ferner kann die vorgeschlagene Vorgehensweise einfach in einer gebräuchlichen Hardware-Beschreibungssprache wie VHDL beschrieben werden. Dadurch können logische Standard- Komponenten aus Zellbibliotheken zu IC-Anwendungen leicht verwendet werden. Dadurch sind die entsprechenden Komponenten auch synthetisierbar und als FPGA-Anwendungen verwendbar. Da die Zufallszahlen-Generatoren völlig digital arbeiten, sind keine analogen Schaltungskomponenten oder entsprechende Fertigungsprozesse bei der Herstellung entsprechender integrier- ter Schaltungen notwendig.The presented random bit generators have the particular advantage that only a small number of digital electronic components is necessary, which can be easily implemented in the integrated circuits. Furthermore, the proposed approach can be easily described in a common hardware description language such as VHDL. This makes it easy to use standard logical components from cell libraries to IC applications. As a result, the corresponding components can also be synthesized and used as FPGA applications. Since the random number generators operate entirely digitally, no analog circuit components or corresponding manufacturing processes are necessary in the production of corresponding integrated circuits.
Da die Oberwellen dieselben digitalen Bauelemente des jeweiligen Ringoszillators nacheinander durchlaufen, wirken sich Änderungen durch die Umweltbedingungen oder elektrische Ei- genschaften der Elektronik in gleicher Weise auf die Signalflanken aus. Die Schwingungsvorgänge sind daher besonders robust gegenüber externen Einflüssen, hinsichtlich Fertigungsstreuungen und Alterungsvorgängen. Somit eignet sich insbesondere ein Einsatz in der Massenproduktion, beispielsweise auf RFIDs.Since the harmonics pass through the same digital components of the respective ring oscillator in succession, changes due to the environmental conditions or electrical properties of the electronics affect the signal edges in the same way. The vibration processes are therefore particularly robust against external influences, with regard to manufacturing variations and aging processes. Thus, in particular a use in mass production, for example, RFIDs is suitable.
Obwohl die vorliegende Erfindung anhand einiger Ausführungsbeispiele erläutert wurde, ist sie nicht darauf beschränkt, sondern vielfältig modifizierbar. Insbesondere können andere als vorgestellte Anzahlen von Invertern in den Oszillatoren vorgesehen werden. Auch ist es möglich, mehr als zwei Oberwellenflanken durch geeignete steuerbare Schalter in einem Signalpfad eines Ringoszillators zu erzeugen. Dadurch ergibt sich eine weitere Randomisierung des Oszillatorsignals in dem Einschwingvorgang. Ferner ist es möglich mehrere Oberwellen unterschiedlicher Ordnung zu erzeugen und viele Oberwellen flanken als randomisierende Elemente zu verwenden. Neben den dargestellten Flip-Flops als Zwischenspeicherelemente, können auch weitere digitale Speicherformen Anwendung finden. Although the present invention has been explained with reference to some embodiments, it is not limited thereto. but variously modifiable. In particular, other than imaginary numbers of inverters may be provided in the oscillators. It is also possible to generate more than two harmonic edges by means of suitable controllable switches in a signal path of a ring oscillator. This results in a further randomization of the oscillator signal in the transient process. Furthermore, it is possible to generate several harmonics of different order and flank many harmonics to be used as randomizing elements. In addition to the illustrated flip-flops as intermediate storage elements, other digital storage forms can be used.

Claims

Patentansprüche claims
1. Vorrichtung (1) zum Erzeugen einer Zufallsbitfolge (ZZ) mit einem mehrere invertierende digitale Einrichtungen (2-11) umfassenden Ringoszillator, an dem ein Oszillatorsignal (OS) abgreifbar ist, einem Zwischenspeicherelement (14) zum Speichern von Pegeln des Oszillatorsignals (OS) und mit mindestens zwei in einem Signalpfad des Ringoszillators vorgesehenen steuerbaren Schalteinrichtungen (12, 13) zum gleichzeiti- gen Anregen von mindestens zwei Oberwellenflanken (OWl, OW2) des Ringoszillators.1. Device (1) for generating a random bit sequence (ZZ) comprising a plurality of inverting digital devices (2-11) comprising a ring oscillator on which an oscillator signal (OS) can be tapped, a buffer element (14) for storing levels of the oscillator signal (OS ) and with at least two controllable switching devices (12, 13) provided in a signal path of the ring oscillator for the simultaneous excitation of at least two harmonic edges (OW1, OW2) of the ring oscillator.
2. Vorrichtung (1) nach Anspruch 1, wobei der Ringoszillator eine gerade Anzahl von seriell ver- schalteten Invertern (2-11) als invertierende digitale Einrichtungen umfasst.2. Device (1) according to claim 1, wherein the ring oscillator comprises an even number of serially connected inverters (2-11) as inverting digital devices.
3. Vorrichtung (1) nach Anspruch 1 oder 2, wobei die steuerbaren Schalteinrichtungen (12, 13) als logi- sehe Gatter, insbesondere als UND-Gatter oder als ODER-Gatter ausgeführt sind.3. Device (1) according to claim 1 or 2, wherein the controllable switching means (12, 13) are designed as logic gates, in particular as an AND gate or as an OR gate.
4. Vorrichtung (1) nach einem der Ansprüche 1 - 3, wobei das Zwischenspeicherelement (14) eine Anzahl von stei- genden und/oder fallenden Oszillatorsignalflanken erfasst und speichert .4. Device (1) according to one of claims 1-3, wherein the buffer element (14) detects and stores a number of rising and / or falling oscillator signal edges.
5. Vorrichtung (1) nach einem der Ansprüche 1 - 3, wobei eine Steuereinrichtung (50) derart ein Startsignal (ST) für die steuerbaren Schalteinrichtungen (12, 13) und das Zwischenspeicherelement (14) erzeugt, dass jede steuerbare Schalteinrichtung (12, 13) jeweils eine Oberwellenflanke des Oszillatorsignals (OS) erzeugt und das Zwischenspeicherelement (14) zurückgesetzt wird.5. Device (1) according to any one of claims 1-3, wherein a control device (50) such a start signal (ST) for the controllable switching devices (12, 13) and the buffer element (14) generates that each controllable switching device (12, 13) in each case generates a harmonic edge of the oscillator signal (OS) and the buffer element (14) is reset.
6. Vorrichtung (1) nach Anspruch 4 und 5, wobei die Steuereinrichtung (50) an einem Ausgang des Zwischenspeicherelements (14) einen logischen Pegel eines Zu- fallsbits (ZB) abgreift, das Startsignal (ST) zum Erzeugen mehrerer Zufallsbits erzeugt und die mehreren Zufallsbits (ZB) als Zufallsbitfolge (ZZ) ausgibt.6. Device (1) according to claim 4 and 5, wherein the control device (50) at an output of the latching element (14) a logic level of an accessory ifbits (ZB) generates the start signal (ST) to generate a plurality of random bits and outputs the plurality of random bits (ZB) as a random bit sequence (ZZ).
7. Vorrichtung (1) nach einem der Ansprüche 1 - 6, wobei zwischen den steuerbaren Schalteinrichtungen (12, 13) jeweils eine gleiche Anzahl von invertierenden digitalen Einrichtungen (2-11) vorgesehen sind.7. Device (1) according to any one of claims 1-6, wherein in each case an equal number of inverting digital devices (2-11) are provided between the controllable switching devices (12, 13).
8. Vorrichtung (1) nach einem der Ansprüche 1 - 7, wobei die steuerbaren Schalteinrichtungen (12, 13) in einem ersten Schaltzustand eine Oszillation des Ringoszillators blockieren und in einem zweiten Schaltzustand einen Signalpfad öffnen, der die invertierenden digitalen Einrichtungen (2-11) umfasst.8. Device (1) according to one of claims 1-7, wherein the controllable switching devices (12, 13) in a first switching state block an oscillation of the ring oscillator and in a second switching state open a signal path, the inverting digital devices (2-11 ).
9. Vorrichtung (101) nach einem der Ansprüche 1 - 8, wobei die invertierenden digitalen Einrichtungen und die steuerbaren Schalteinrichtungen als mindestens zwei zyklisch verschaltete logische Gatter integriert sind.9. Device (101) according to one of claims 1-8, wherein the inverting digital devices and the controllable switching devices are integrated as at least two cyclically interconnected logic gates.
10. Vorrichtung (101) nach Anspruch 9, wobei zwischen einem Eingang (32) eines logischen Gatters (29) und einem Ausgang (34) des jeweils anderen logischen Gatters (28) eine Verzögerungseinrichtung (36-40) geschaltet ist .10. Device (101) according to claim 9, wherein between an input (32) of a logic gate (29) and an output (34) of the respective other logic gate (28), a delay means (36-40) is connected.
11. Vorrichtung (102) nach einem der Ansprüche 1 - 10, wobei ein weiteres Zwischenspeicherelement (46) derart an den Ringoszillator gekoppelt ist, dass parasitäre Einflüsse der Zwischenspeicherelemente (14, 46) symmetrisch in Bezug auf die invertierenden digitalen Einrichtungen (2-7) vorliegen.11. Device (102) according to one of claims 1-10, wherein a further buffer element (46) is coupled to the ring oscillator in such a way that parasitic influences of the buffer elements (14, 46) are symmetrical with respect to the inverting digital devices (2-7 ) are present.
12. Vorrichtung (1) nach einem der Ansprüche 1 - 11, wobei das Zwischenspeicherelement (14) als Flip-Flop ausgeführt ist.12. Device (1) according to any one of claims 1-11, wherein the buffer element (14) is designed as a flip-flop.
13. Vorrichtung (1) nach einem der Ansprüche 1 - 12, wobei die Vorrichtung als FPGA ausgeführt ist.13. Device (1) according to one of claims 1 - 12, wherein the device is designed as an FPGA.
14. Verfahren zum Erzeugen einer Zufallsbitfolge umfassend:14. A method for generating a random bit sequence comprising:
- Bereitstellen eines Ringoszillators (1), welcher digitale Schaltelemente umfasst;- providing a ring oscillator (1) comprising digital switching elements;
- Anregen von mindestens zwei Oberwellenflanken (OWl, OW2) des Ringoszillators als Oszillatorsignal (OS) , welches zwischen zwei vorgegebenen logischen Pegeln schwankt;- Exciting at least two harmonic edges (OWL, OW2) of the ring oscillator as an oscillator signal (OS), which varies between two predetermined logic levels;
- Abgreifen des Oszillatorsignals (OS) ; und - Ermitteln eines Zufallsbits (ZB) in Abhängigkeit einer Anzahl von Pegeldurchgängen des Oszillatorsignals (OS) in einem vorgegebenen Zeitraum.- Picking up the oscillator signal (OS); and - determining a random bit (ZB) in response to a number of level transitions of the oscillator signal (OS) in a predetermined period of time.
15. Verfahren nach Anspruch 14, wobei der vorgegebene Zeitraum derart gewählt wird, dass die Oberwellenflanken (OWl, OW2) innerhalb des vorgegebenen Zeitraums zusammenlaufen und eine stabile Oszillation des Ringoszillators (1) hervorrufen.15. The method of claim 14, wherein the predetermined period is selected such that the harmonic waves (OWL, OW2) converge within the predetermined period of time and cause a stable oscillation of the ring oscillator (1).
16. Verfahren nach Anspruch 14 oder 15, wobei das Zufallsbit durch Zählen der steigenden und/oder fallenden Oszillatorsignalflanken innerhalb des vorgegebenen Zeitraums ermittelt wird, wobei insbesondere eine Anzahl von Signalflanken einer Modulo-Operation unterzogen wird.16. The method of claim 14 or 15, wherein the random bit is determined by counting the rising and / or falling oscillator signal edges within the predetermined period, in particular a number of signal edges is subjected to a modulo operation.
17. Verfahren nach einem der Ansprüche 14 - 16, wobei nacheinander mehrere Zufallsbits (ZB) ermittelt werden, welche eine Zufallsbitfolge oder eine binäre Zufallszahl (ZZ) liefern . 17. The method according to any one of claims 14-16, wherein successively a plurality of random bits (ZB) are determined which provide a random bit sequence or a binary random number (ZZ).
EP09781262A 2008-09-22 2009-07-30 Apparatus and method for generating a random bit sequence Withdrawn EP2329356A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102008048292A DE102008048292B4 (en) 2008-09-22 2008-09-22 Apparatus and method for generating a random bit string
PCT/EP2009/059837 WO2010031630A1 (en) 2008-09-22 2009-07-30 Apparatus and method for generating a random bit sequence

Publications (1)

Publication Number Publication Date
EP2329356A1 true EP2329356A1 (en) 2011-06-08

Family

ID=41100658

Family Applications (1)

Application Number Title Priority Date Filing Date
EP09781262A Withdrawn EP2329356A1 (en) 2008-09-22 2009-07-30 Apparatus and method for generating a random bit sequence

Country Status (4)

Country Link
US (1) US8410857B2 (en)
EP (1) EP2329356A1 (en)
DE (1) DE102008048292B4 (en)
WO (1) WO2010031630A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9891888B2 (en) 2015-06-17 2018-02-13 Nxp B.V. Digital true random number generator based on S-boxes

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886692B2 (en) * 2009-02-09 2014-11-11 Samsung Electronics Co., Ltd. Apparatus for generating random number
US9213835B2 (en) * 2010-04-07 2015-12-15 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
US9300472B2 (en) 2011-09-30 2016-03-29 Nokia Technologies Oy Method and apparatus for improving digital signatures
US8841974B2 (en) * 2012-09-06 2014-09-23 Silicon Image, Inc. Test solution for ring oscillators
US9231567B2 (en) 2012-09-06 2016-01-05 Lattice Semiconductor Corporation Test solution for a random number generator
CN103870238B (en) * 2012-12-10 2018-03-16 北京普源精电科技有限公司 Pseudo-random sequence generator and its generation method based on FPGA
DE102013210147A1 (en) * 2013-05-31 2014-12-18 Siemens Aktiengesellschaft Generate random bits
DE102013219768A1 (en) * 2013-09-30 2015-04-02 Siemens Aktiengesellschaft Generate random bits
US9335972B2 (en) * 2013-11-29 2016-05-10 The Regents Of The University Of Michigan True random number generator
US9531354B1 (en) * 2014-06-19 2016-12-27 Sk Hynix Memory Solutions Inc. True random number generator
FR3023396B1 (en) 2014-07-02 2016-07-29 Stmicroelectronics Rousset RANDOM NUMBER GENERATOR
DE102015203573A1 (en) 2015-02-27 2016-03-24 Siemens Aktiengesellschaft Method and apparatus for generating random bits
FR3051086B1 (en) 2016-05-04 2019-07-26 Stmicroelectronics (Rousset) Sas PULSE COUNTING CIRCUIT
FR3051085B1 (en) 2016-05-04 2020-02-14 Stmicroelectronics (Rousset) Sas MULTIPLEXER STRUCTURE
FR3051084B1 (en) * 2016-05-04 2019-08-02 Stmicroelectronics (Rousset) Sas OSCILLATION NUMBER GENERATOR
US9891889B2 (en) 2016-06-30 2018-02-13 International Business Machines Corporation Injecting CPU time jitter to improve entropy quality for random number generator
CN106484363A (en) * 2016-10-10 2017-03-08 宁波三星医疗电气股份有限公司 A kind of ammeter meter is used for the method for producing random number
US10331410B2 (en) 2016-11-09 2019-06-25 Google Llc Hardened random number generator with ring oscillator collapse time random truncation
EP3413188B1 (en) 2017-06-06 2020-09-16 Siemens Aktiengesellschaft Method for optimal layout of a random number generator
DE102018222894A1 (en) * 2018-12-21 2020-06-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Phase shift based and PVT compensated generator for real random numbers
CN111352608B (en) * 2020-02-28 2022-08-02 电子科技大学 Low-overhead FPGA (field programmable Gate array) basic true random number generation system
DE102020206723A1 (en) 2020-05-28 2021-12-02 Andreas Schubert Random number generator

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3681708A (en) * 1969-04-29 1972-08-01 Bendix Corp Pseudo-random frequency generator
JP3439606B2 (en) * 1996-08-02 2003-08-25 沖電気工業株式会社 Ring oscillation circuit
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
US6480072B1 (en) * 2000-04-18 2002-11-12 Advanced Micro Devices, Inc. Method and apparatus for generating random numbers
JP3696209B2 (en) * 2003-01-29 2005-09-14 株式会社東芝 Seed generation circuit, random number generation circuit, semiconductor integrated circuit, IC card and information terminal device
JP4248950B2 (en) * 2003-06-24 2009-04-02 株式会社ルネサステクノロジ Random number generator
DE102004047425B4 (en) * 2004-09-28 2007-06-21 Micronas Gmbh Random number generator and method for generating random numbers
US7279996B2 (en) * 2005-08-16 2007-10-09 International Business Machines Corporation Method of functionality testing for a ring oscillator
GB2447364B (en) * 2005-10-27 2011-02-09 Fortress Gb Ltd A digital component deterministic pseudo-random clock and noise source device based on a random frequency modulated oscillator
DE102006032419B3 (en) 2006-07-13 2007-03-08 Infineon Technologies Ag Device for generation of start value for pseudo-random number generator, has oscillation device and mechanism for generating start value, based upon oscillator signal during part of the transient oscillation of the oscillation device
KR101481572B1 (en) * 2007-10-19 2015-01-26 삼성전자주식회사 Random number generator
JP4427581B2 (en) * 2008-01-08 2010-03-10 株式会社東芝 Random number generator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2010031630A1 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9891888B2 (en) 2015-06-17 2018-02-13 Nxp B.V. Digital true random number generator based on S-boxes

Also Published As

Publication number Publication date
US8410857B2 (en) 2013-04-02
DE102008048292A1 (en) 2010-04-08
WO2010031630A1 (en) 2010-03-25
DE102008048292B4 (en) 2012-07-12
US20110163818A1 (en) 2011-07-07

Similar Documents

Publication Publication Date Title
DE102008048292B4 (en) Apparatus and method for generating a random bit string
DE102008018678B4 (en) Apparatus and method for generating a random bit string
EP2183726B1 (en) Device and method for generating a random bit sequence
EP1643643B1 (en) Random number generator and method for random number generation
EP1354264B1 (en) Random number generator and method for generating a random number
DE60319104T2 (en) METERING CIRCUIT FOR COUNTER-COUNTER-GENERATION
DE10141939B4 (en) Flip-flop circuit for clock signal-dependent data buffering and signal height comparator containing the same
DE102012210990A1 (en) Method for generating random numbers
DE102013204274A1 (en) Method for detecting a correlation
DE102014200163A1 (en) A method for generating an output of a random source of a random number generator
DE102012210361A1 (en) Method for monitoring an output of a random number generator
DE102014200164A1 (en) A method for generating an output of a random source of a random number generator
DE19618098C1 (en) Random bit sequence generation circuit
DE102014224421A1 (en) Method and apparatus for generating random bits
WO2015000640A1 (en) Generation of a number of random bits
WO2014191201A1 (en) Generation of random bits
DE102014203649A1 (en) Method for classifying and/or generating random bits, for mobile applications, involves classifying output signal from logic elements in ring oscillator circuit as random coincidence signal/non-random function of occurring bit patterns
DE102013204272A1 (en) Method for detecting a correlation
WO2015043855A2 (en) Generation of random bits
WO2014117983A1 (en) Method and device for generating random bits
DE102015203580A1 (en) Apparatus and method for generating random bits
DE102014226996A1 (en) Method and apparatus for generating random bits
DE102013213396A1 (en) A method for post-processing an output of a random source of a random number generator
EP2799980A2 (en) Device and method for generating random bits
DE102016207448A1 (en) Device with a plurality of digital gate circuits and method for operating the same

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20110204

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR

AX Request for extension of the european patent

Extension state: AL BA RS

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SIEMENS AKTIENGESELLSCHAFT

17Q First examination report despatched

Effective date: 20150828

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20160108