DE102015010518A1 - Method and device for generating random numbers - Google Patents

Method and device for generating random numbers Download PDF

Info

Publication number
DE102015010518A1
DE102015010518A1 DE102015010518.3A DE102015010518A DE102015010518A1 DE 102015010518 A1 DE102015010518 A1 DE 102015010518A1 DE 102015010518 A DE102015010518 A DE 102015010518A DE 102015010518 A1 DE102015010518 A1 DE 102015010518A1
Authority
DE
Germany
Prior art keywords
comparators
random
comparator
voltage
behavior
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
DE102015010518.3A
Other languages
German (de)
Inventor
Anmelder Gleich
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE102015010518.3A priority Critical patent/DE102015010518A1/en
Publication of DE102015010518A1 publication Critical patent/DE102015010518A1/en
Withdrawn legal-status Critical Current

Links

Images

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

Abstract

Zum Erzeugen echter Zufallszahlen werden Rauscheffekte, Laufzeitschwankungen und Effekte des metastabilen Verhaltens ausgenutzt. Entropiequellen sind vor allem Halbleiterdioden, Gatterschaltungen und Ringoszillatoren. Ringoszillatoren und andere Digitalschaltungen neigen dazu, bestimmte Bitmuster bevorzugt abzugeben (Bias). Das muss überprüft und korrigiert werden (post-processing). Um das Zufallsverhalten bewerten zu können, muss der gesamte Bitstrom erzeugt werden. Das neue Verfahren soll mit Schaltmitteln auskommen, die zur Schaltungsintegration gut geeignet sind. Bereits beim Bilden der einzelnen Zufallsbits soll überprüft werden, ob die Entropiequelle brauchbar ist oder nicht. Im Bedarfsfall sollen die Parameter adaptiv nachgeführt werden. Es wird das Verhalten von Komparatoren ausgenutzt, die ins Schwingen geraten können, wenn die Differenzspannung zwischen den Eingängen in der Größenordnung der Eingangsoffsetspannung liegt. Dieser Betriebszustand wird zyklisch herbeigeführt. Dabei wird das Schwingungsverhalten ausgewertet. Der Differenzspannungsbereich muss so durchfahren werden, dass Schwingungen entstehen, die im Laufe der Zeit abklingen. Hierzu sind die Eingänge von Komparatoren (1) an zeitvariable Analogsignalquellen (2) und Referenzspannungsquellen (4) angeschlossen. Die Ausgänge sind mit Zähleinrichtungen (5) verbunden, denen Bewertungseinrichtungen (6) nachgeordnet sind. Als Alternative zu herkömmlichen Zufallsgeneratoren.To generate true random numbers, noise effects, propagation time fluctuations and effects of metastable behavior are exploited. Entropy sources are mainly semiconductor diodes, gate circuits and ring oscillators. Ring oscillators and other digital circuits tend to bias certain bit patterns (bias). This must be checked and corrected (post-processing). In order to evaluate the random behavior, the entire bitstream must be generated. The new method is to manage with switching means that are well suited for circuit integration. Already when forming the individual random bits should be checked whether the Entropiequelle is useful or not. If necessary, the parameters should be adjusted adaptively. It exploits the behavior of comparators that can oscillate when the differential voltage between the inputs is on the order of magnitude of the input offset voltage. This operating state is cyclically brought about. The vibration behavior is evaluated. The differential voltage range must be traversed in such a way that vibrations occur which decay over time. For this purpose, the inputs of comparators (1) to time-varying analog signal sources (2) and reference voltage sources (4) are connected. The outputs are connected to counting devices (5), to which evaluation devices (6) are arranged downstream. As an alternative to conventional random number generators.

Description

Die Erfindung betrifft ein Verfahren zum Erzeugen von echten Zufallszahlen in Form von Bitmustern und Vorrichtungen zur Durchführung des Verfahrens. Die Erfindung wird in Rechnersystemen, Kommunikationssystemen und Speichersubsystemen eingesetzt.The invention relates to a method for generating true random numbers in the form of bit patterns and devices for carrying out the method. The invention is used in computer systems, communication systems and memory subsystems.

Die Nutzung von Zufallszahlen (Random Numbers), beispielsweise zu Verschlüsselungszwecken, ist seit langem bekannt und in der Spezialliteratur umfassend beschrieben. Die weitere Beschreibung kann sich deshalb auf die Erzeugung solcher Zahlen beschränken und die Anwendungsprobleme außer Betracht lassen. Man unterscheidet Pseudo-Zufallszahlen und echte Zufallszahlen (True Ramdom Numbers). Pseudo-Zufallszahlen sind Zahlenwerte bzw. Bitmuster, die auf den ersten Blick keine Regelmäßigkeiten aufweisen, aber von deterministisch wirkenden Einrichtungen bzw. entsprechenden Algorithmen erzeugt werden. Es handelt sich um Bitmuster, die sich zyklisch wiederholen, wenn auch mit einer vergleichsweise langen Periode. Ist das Bildungsgesetz bekannt, kann man solch Bitfolgen rekonstruieren; es ist nur ein Frage des Rechenaufwands. Echte Zufallszahlen hingegen müssen mit physikalischen Prozessen erzeugt werden, die ein innewohnendes (inhärentes) Zufallsverhalten aufweisen. Da die Zufälligkeit aus einem physikalischen Prozeß kommt (Entropiequelle) und nicht aus einem digitalen Automaten, ist es im Idealfall nicht möglich, eine einmal erzeugte Zufallszahl zu rekonstruieren, auch dann nicht, wenn man denselben Erzeugungsapparat verwendet. Zwar ist es nicht auszuschließen, daß Zufallszahlen erzeugt werden, die einander gleich sind. Die Wahrscheinlichkeit, daß dies auftritt, ist aber sehr gering.The use of random numbers (Random Numbers), for example for encryption purposes, has long been known and comprehensively described in the specialist literature. The further description can therefore be limited to the generation of such numbers and disregard the application problems. We distinguish between pseudo-random numbers and true random numbers (True Ramdom Numbers). Pseudo-random numbers are numerical values or bit patterns which, at first glance, have no regularities but are generated by deterministic devices or corresponding algorithms. These are bit patterns that repeat cyclically, albeit with a comparatively long period. If the law of education is known, one can reconstruct such bit sequences; it's just a matter of computational effort. Real random numbers, on the other hand, have to be generated with physical processes that have inherent (inherent) randomness. Since the randomness comes from a physical process (source of entropy) and not from a digital automaton, it is ideally not possible to reconstruct a random number once generated, even if one uses the same generating apparatus. Although it is not excluded that random numbers are generated, which are equal to each other. The probability that this occurs, but is very low.

Zum Erzeugen echter Zufallszahlen sind verschiedene physikalische Prozesse untersucht und angewendet worden. Man nutzt teils Prozesse, die ein ausgeprägtes Rauschverhalten aufweisen, teils solche, die auf der Unvorhersagbarkeit des Übergangs aus metastabilen Zuständen oder auf Laufzeit- bzw. Frequenzschwankungen beruhen. In der Literatur werden vor allem folgende Effekte genannt:
der radioaktive Zerfall,
das Frequenzrauschen in der Atmosphäre,
das thermische Rauschen von Widerstandselementen,
Rauscheffekte in Halbleiterbauelementen, beispielsweise in Zenerdioden,
die Schwankungen der Signalverzögerungszeiten von Gatterschaltungen,
das metastabile Verhalten rückgekoppelter Gatterschaltungen, vor allem von Ringoszillatoren,
die Laufzeit- und somit Frequenzschwankungen (Jitter) von Ringoszillatoren,
die Koinzidenz voneinander unabhängiger Schwingungen.
To generate true random numbers, various physical processes have been studied and applied. One uses partly processes that have a pronounced noise behavior, partly those that are based on the unpredictability of the transition from metastable states or to transit time or frequency fluctuations. The following effects are mentioned in the literature in particular:
the radioactive decay,
the frequency noise in the atmosphere,
the thermal noise of resistive elements,
Noise effects in semiconductor devices, such as zener diodes,
the variations of the signal delay times of gate circuits,
the metastable behavior of feedback gate circuits, especially of ring oscillators,
the transit time and thus frequency fluctuations (jitter) of ring oscillators,
the coincidence of independent vibrations.

Als Beispiele aus dem umfangreichen Schrifttum seien folgende Quellen angeführt, in denen die bekannten Verfahren vorgestellt und teils ausführlich erläutert werden:

  • Cetin Kaya Koc (Editor): Cryptographic Engineering. Springer Science + Business Media, LLC 2009.
  • Jennewein, T., Achleitner, U., Weihs, G., Weinfurter, H., & Zeilinger, A.: A fast and compact quantum random number generator. Review of Scientific Instruments, 71(4), 1675–1680 (2000).
  • Wang, Y.-H.; Zhang, H.-G.; Shen, Z.-D.; Li, K.-S.: Thermal noise random number generator based on SHA-2 (512). Proceedings of 2005 International Conference on Machine Learning and Cybernetics (Vol. 7, S. 3970–3974).
  • Brederlow, R.; Prakash, R.; Paulus, C.; Thewes, R.: (2006). A low-power true random number generator using random telegraph noise of single Oxide-traps. In Solid-State Circuits Conference, 2006 (ISSCC 2006). Digest of Technical Papers. IEEE International, S. 1666–1675.
  • Berk Sunar, William J. Martin and Douglas R. Stinson: A Provably Secure True Random Number Generator with Built-In Tolerance to Active Attacks. In: IEEE Transactions on Computers (2007).
  • Markus Dichtl and Jovan Dj. Golic: High-speed true random number generation with logic gates only. CHES, S. 45–62, 2007.
  • Ihor Vasyltsov u. a.: Fast Digital TRNG Based on Metastable Ring Oscillator. In: Cryptographic Hardware and Embedded Systems – CHES 2008.
  • Killmann, W., & Schindler, W.: A Design for a Physical RNG with Robust Entropy Estimators. In Proceedings of the 10th international workshop on Cryptographic Hardware and Embedded Systems, S. 146–163. Berlin, Heidelberg: Springer-Verlag, 2008.
  • Marco Bucci and Raimondo Luzzi: Fully Digital Random Bit Generators for Cryptographic Applications. IEEE Transactions on Circuits and Systems – I: Regular Papers, VOL. 55, NO. 3, S. 861–875, April 2008.
  • Yoo, S.-K.; Karakoyunlu, D.; Birand, B.; Sunar, B.: Improving the Robustness of Ring Oscillator TRNGs. ACM Trans. Reconfigurable Technol. Syst., 3(2), 9:1–9:30 (2010).
  • Chan, J. J. M.; Sharma, B.; Lv, J.; Thomas, G.; Thulasiram, R.; Thulasiraman, P.: True Random Number Generator Using GPUs and Histogram Equalization Techniques. 2011 IEEE 13th International Conference on High Performance Computing and Communications (HPCC), S. 161–170.
As examples from the extensive literature, the following sources are cited, in which the known methods are presented and partly explained in detail:
  • Cetin Kaya Koc (Editor): Cryptographic Engineering. Springer Science + Business Media, LLC 2009.
  • Jennewein, T., Achleitner, U., Weihs, G., Weinfurter, H., & Zeilinger, A .: A fast and compact quantum random number generator. Review of Scientific Instruments, 71 (4), 1675-1680 (2000).
  • Wang, Y.-H .; Zhang, H.-G .; Shen, Z.-D .; Li, K.-S .: Thermal noise random number generator based on SHA-2 (512). Proceedings of 2005 International Conference on Machine Learning and Cybernetics (Vol. 7, pp. 3970-3974).
  • Brederlow, R .; Prakash, R .; Paul, C .; Thewes, R .: (2006). A low-power true random number generator using random telegraph noise of single oxide traps. In Solid State Circuits Conference, 2006 (ISSCC 2006). Digest of Technical Papers. IEEE International, pp. 1666-1675.
  • Berk Sunar, William J. Martin and Douglas R. Stinson: A Provably Secure True Random Number Generator with Built-In Tolerance to Active Attacks. In: IEEE Transactions on Computers (2007).
  • Markus Dichtl and Jovan Dj. Golic: High-speed true random number generation with logic gates only. CHES, p. 45-62, 2007.
  • Ihor Vasyltsov et al .: Fast Digital TRNG Based on Metastable Ring Oscillator. In: Cryptographic Hardware and Embedded Systems - CHES 2008.
  • Killmann, W., & Schindler, W .: A Design for a Physical RNG with Robust Entropy Estimators. In Proceedings of the 10th International Workshop on Cryptographic Hardware and Embedded Systems, p. 146-163. Berlin, Heidelberg: Springer-Verlag, 2008.
  • Marco Bucci and Raimondo Luzzi: Fully Digital Random Bit Generators for Cryptographic Applications. IEEE Transactions on Circuits and Systems - I: Regular Papers, VOL. 55, NO. 3, pp. 861-875, April 2008.
  • Yoo, S.-K .; Karakoyunlu, D .; Birand, B .; Sunar, B .: Improving the Robustness of Ring Oscillator TRNGs. ACM Trans. Reconfigurable Technol. Syst., 3 (2), 9: 1-9: 30 (2010).
  • Chan, JJM; Sharma, B .; Lv, J .; Thomas, G .; Thulasiram, R .; Thulasiraman, P .: True Random Number Generator Using GPUs and Histogram Equalization Techniques. 2011 IEEE 13th International Conference on High Performance Computing and Communications (HPCC), pp. 161-170.

Da das erfindungsgemäße Verfahren andere Bauelemente als Entropiequelle ausnutzt, ist es nicht erforderlich, Schutzrechte zu betrachten, die Lösungen mit Bauelementen zum Gegenstand haben, die in der Literatur als Stand der Technik beschrieben sind.Since the method according to the invention utilizes other components as entropy source, it is not It is necessary to look at industrial property rights that deal with solutions with components that are described in the literature as state of the art.

Die Ausnutzung stochastischer Vorgänge, die in der Natur vorkommen, wie beispielsweise der radioaktive Zerfall, ergibt nahezu ideale Entropiequellen. Der Aufwand ist aber so hoch, daß solche Lösungen für sozusagen normale Anwendungen (Einbau in USB-Sticks, in Speicherkarten, Mikrocontroller usw.) nicht in Betracht kommen.The exploitation of stochastic processes occurring in nature, such as radioactive decay, yields nearly ideal sources of entropy. However, the effort is so high that such solutions for virtually normal applications (installation in USB sticks, memory cards, microcontrollers, etc.) are not eligible.

Die Rauschpegel elektronischer Bauelemente liegen typischerweise unter 1 mV. Entsprechende Schaltungen sind empfindlich gegen Spannungsschwankungen und eingekoppelte Störungen. Sie sind somit auch vergleichsweise leicht von außen zu beeinflussen. Gegenmaßnahmen erfordern Aufwand, in erster Linie eine besondere Stabilisierung der Betriebsspannung sowie eine wirksame Abschirmung. Zur Abwehr von Angriffsversuchen ist u. a. die Kombination mit weiteren Zufallsgeneratoren vorgeschlagen worden, die auf anderen Prinzipien beruhen.The noise levels of electronic components are typically less than 1 mV. Corresponding circuits are sensitive to voltage fluctuations and coupled interference. They are therefore also relatively easy to influence from the outside. Countermeasures require effort, especially a special stabilization of the operating voltage and effective shielding. To ward off attack attempts u. a. the combination with other random number generators based on other principles has been proposed.

Die Ausnutzung von Digitalschaltungen, insbesondere von Gattern, ist mit dem grundsätzlichen Problem behaftet, daß das Zufallsverhalten nicht immer gleiche Wahrscheinlichkeiten (für Nullen und Einsen) ergibt, sondern daß es vorkommen kann, daß die Schaltung bestimmte Bitmuster bevorzugt abgibt (Bias). Dies muß mit Testverfahren überprüft und ggf. mit einer sog. Nachbehandlung (post-processing) der erzeugten Bitmuster korrigiert werden. Um das Zufallsverhalten bewerten zu können, muß aber zunächst einmal der gesamte Bitstrom erzeugt werden.The exploitation of digital circuits, especially gates, suffers from the fundamental problem that the random behavior does not always give equal probabilities (for zeros and ones), but that the circuit may preferentially output certain bit patterns (bias). This must be checked by test methods and, if necessary, corrected with a so-called post-processing of the generated bit patterns. In order to be able to evaluate the random behavior, however, the entire bit stream must first be generated.

Das Ziel der Erfindung besteht darin, ein Verfahren zum Erzeugen echter Zufallszahlen anzugeben, das mit Schaltmitteln auskommt, die kostengünstig sind, deren Verhalten überschaubar ist und die in Hinsicht auf die Schaltungsintegration gut beherrschbar sind.The object of the invention is to provide a method for generating true random numbers, which manages with switching means that are inexpensive, whose behavior is manageable and which are well manageable in terms of circuit integration.

Die Aufgabe der Erfindung besteht darin, sowohl ein Verfahren zum Erzeugen echter Zufallszahlen als auch Vorrichtungen, also Schaltungsanordnungen, zu dessen Durchführung anzugeben. Die Zufallszahlen sollen als beliebig lange Bitketten, also Folgen von Nullen und Einsen, geliefert werden, die auf bekannte Weise übertragen oder gespeichert werden können.The object of the invention is to provide both a method for generating true random numbers and devices, ie circuit arrangements, for its implementation. The random numbers should be supplied as arbitrarily long bit strings, ie sequences of zeros and ones, which can be transmitted or stored in a known manner.

Die Mängel der bekannten Lösungen haben ihre Ursache darin, daß sie entweder zu aufwendig oder in ihrem Zufallsverhalten nicht ohne weiteres genau genug zu beurteilen sind.The shortcomings of the known solutions have their cause in the fact that they are either too expensive or in their random behavior can not be judged with sufficient accuracy.

Erfindungsgemäß wird die Aufgabe durch die in den Patentansprüchen angeführten Verfahrensschritte und Schaltungen gelöst. Die Verfahrensschritte sind in den kennzeichnenden Merkmalen des Anspruchs 1 angegeben. Anspruch 2 sieht vor, die Verfahrensschritte mit systematischen Veränderungen der Betriebsparameter zyklisch zu durchlaufen, um Verläufe herauszufinden, die besonders gut geeignet sind, Zufallszahlen zu gewinnen (Kalibrierung). Die Ansprüche 3 bis 5 betreffen Varianten der Durchführung des Verfahrensschritts 2, Anspruch 6 betrifft Einzelheiten der Durchführung des Verfahrensschritts 3. Anspruch 7 beschreibt den grundsätzlichen Aufbau von Vorrichtungen zur Durchführung des erfindungsgemäßen Verfahrens. Die Ansprüche 8 bis 10 betreffen Alternativen der Auslegung der Zählschaltungen.According to the invention, the object is achieved by the method steps and circuits cited in the patent claims. The method steps are specified in the characterizing features of claim 1. Claim 2 provides to cycle through the method steps with systematic changes of the operating parameters in order to find out progressions which are particularly well suited for obtaining random numbers (calibration). Claims 3 to 5 relate to variants of the implementation of the method step 2, claim 6 concerns details of the implementation of the method step 3. Claim 7 describes the basic structure of devices for carrying out the method according to the invention. Claims 8 to 10 relate to alternatives of the design of the counting circuits.

Die Erfindung wirkt derart, daß das Verhalten von Komparatoren ausgenutzt wird, die ins Schwingen geraten können, wenn die Differenzspannung zwischen beiden Eingängen in der Größenordnung der Eingangsoffsetspannung liegt. Dieser Betriebszustand wird zeitweise zyklisch herbeigeführt. Dabei wird das Schwingungsverhalten ausgewertet. Es gibt Schwingungsverläufe, die zur Gewinnung von Zufallszahlen geeignet sind und solche, die dazu nicht geeignet sind. Wird der Bereich der Eingangsoffsetspannung vergleichsweise schnell durchfahren, so gibt es nur wenige Schwingungen. Bei entsprechend schnellem Durchlauf schaltet der Komparator um, ohne ins Schwingen zu geraten. Es gibt dann nur eine einzige Signalflanke. Verweilt hingegen die Differenzspannung ständig in einem gewissen Bereich der Eingangsoffsetspannung, kann es zu andauernden Schwingungen kommen. Sowohl einzelne Flanken als auch Dauerschwingungen sind als Entropiequelle unbrauchbar. Der Differenzspannungsbereich muß so durchfahren werden, daß sich eine Anzahl an Schwingungen ergibt, die im Laufe der Zeit abklingen, also eine Art Impulsbündel (Burst). Die Anzahl der Schwingungen oder die Breite der Impulse oder beides kann als Entropiequelle genutzt werden. Die einzelnen Bits der Zufallszahl ergeben sich in Abhängigkeit davon, ob der jeweilige Zählwert gerade oder ungerade ist.The invention operates to exploit the behavior of comparators that can oscillate when the differential voltage between the two inputs is on the order of the input offset voltage. This operating state is temporarily caused cyclically. The vibration behavior is evaluated. There are waveforms that are suitable for obtaining random numbers and those that are not suitable for this purpose. If the range of the input offset voltage is traversed comparatively quickly, then there are only a few oscillations. With a correspondingly fast passage, the comparator switches without oscillating. There is only one signal edge. On the other hand, if the differential voltage is constantly in a certain range of the input offset voltage, continuous oscillations can occur. Both individual flanks and continuous vibrations are useless as Entropiequelle. The differential voltage range must be traversed so that there are a number of oscillations, which decay over time, so a kind of burst (burst). The number of oscillations or the width of the pulses or both can be used as Entropiequelle. The individual bits of the random number result depending on whether the respective count is even or odd.

Im einfachsten Fall trägt jeder einzelne Vergleichsvorgang eines Komparators ein Bit zur Zufallszahl bei. Das Bit wird aber nur dann abgegeben, wenn bestimmte Bedingungen erfüllt sind. In einfacheren Auslegungen wird die Anzahl der Schwingungen bzw. die Breite der Impulse ausgewertet. Das Bit wird nur dann abgegeben, wenn eine bestimmter Mindestwert nicht unterschritten und ein bestimmter Höchstwert nicht überschritten wird.In the simplest case, each individual comparison process of a comparator contributes one bit to the random number. The bit is only issued if certain conditions are met. In simpler interpretations, the number of oscillations or the width of the pulses is evaluated. The bit is only output if a certain minimum value is not undershot and a certain maximum value is not exceeded.

Diese Mindest- und Höchstwerte sind experimentell gefundene Festwerte. Es ist nicht grundsätzlich schwierig, sie im fertigen Zufallsgenerator durch systematisches Probieren zu bestimmen und als Festwerte zu speichern (anfängliche Kalibierung).These minimum and maximum values are experimentally found fixed values. It is not fundamentally difficult to use them in the finished random number generator determined by systematic sampling and stored as fixed values (initial calibration).

Höher entwickelte Zufallsgeneratoren können die Schwingungsverläufe mit vorgegebenen Mustern vergleichen. Verfahren und Vorrichtungen zum Ausführen von Ähnlichkeitsvergleichen und zum Einlernen von Referenzmustern sind bekannt, beispielsweise auf Grundlage neuronaler Netze.Higher developed random number generators can compare the waveforms with given patterns. Methods and apparatus for performing similarity comparisons and teaching reference patterns are known, for example, based on neural networks.

Es steht aber nicht auf Dauer fest, wie sich ein Komparator tatsächlich verhält, wenn die Differenzspannung den Bereich der Eingangsoffsetspannung durchläuft. Das hängt von der Betriebsspannung, der Temperatur usw. ab. Deshalb werden zyklische Kalibrierungsläufe durchgeführt, bei denen der Differenzspannungsverlauf systematisch geändert wird. Der beste Differenzspannungsverlauf ist der, bei dem sich die meisten Schwingungsmuster ergeben, die sich zum Gewinnen von Zufallsbits eignen. Der so gefundene Ablauf wird dann verwendet, um Zufallsbits zu erzeugen. Kalibrierungsläufe werden dann ausgeführt, wenn sich eine ungewöhnlich hohe Anzahl an Vergleichsvorgängen ergibt, bei denen keine Zufallsbits gebildet werden können, oder dann, wenn der Zufallsgenerator nichts zu tun hat.However, it is not permanently known how a comparator actually behaves when the differential voltage passes through the range of the input offset voltage. That depends on the operating voltage, the temperature, etc. Therefore, cyclic calibration runs are performed in which the differential voltage waveform is changed systematically. The best differential voltage curve is that which gives rise to most of the oscillation patterns that are suitable for obtaining random bits. The process thus found is then used to generate random bits. Calibration runs are performed when there is an unusually high number of compare operations where random bits can not be formed or when the random number generator has nothing to do.

Vorrichtungen zur Durchführung des Verfahrens enthalten Analogsignalquellen, die mit den Eingängen der Komparatoren verbunden sind. Den Ausgängen der Komparatoren sind digitale Zähl- und Bewertungseinrichtungen nachgeordnet. Der hierfür zu treibende Aufwand richtet sich nach den Anforderungen an die Datenrate der Zufallszahlenerzeugung (Bits/s). Sind diese Anforderungen nicht allzu hoch, genügen einfache Binärzähler, die an die Komparatorausgänge angeschlossen und deren Ausgänge wiederum mit einer programmgesteuerten Recheneinrichtung (also praktisch: einem Mikrocontroller) verbunden sind.Devices for carrying out the method include analog signal sources connected to the inputs of the comparators. The outputs of the comparators are followed by digital counting and evaluation devices. The effort required for this depends on the requirements for the data rate of the random number generation (bits / s). If these requirements are not too high, simple binary counters which are connected to the comparator outputs and whose outputs are in turn connected to a program-controlled computing device (that is to say practically a microcontroller) are sufficient.

Bereits beim Bilden der einzelnen Zufallsbits (in statu nascendi) kann überprüft werden, ob die Entropiequelle brauchbar ist oder nicht. Im Bedarfsfall können die entscheidenden Parameter adaptiv nachgeführt werden (Kalibrierung). Eine Nachbearbeitung ganzer Bitketten (post-processing) dürfte somit in vielen Anwendungsfällen unnötig sein. Die Schaltungstechnik beruht auf nur wenigen analogen Komponenten. Komparatoren sind gut beherrschbare Bauelemente, die ohne weiteres für den in Rede stehenden Anwendungsfall dimensioniert werden können, beispielsweise in Hinsicht auf etwas höhere Eingangsoffsetspannungen und verstärkte Schwingneigung. Komparatoren und Digitalschaltungen lassen sich auf einem einzigen Schaltkreis unterbringen. Die Mikrocontroller mit eingebauten Analog-Digital-Wandlern mögen als Beispiele dienen. Eine Komparator-Zähler-Anordnung ist bei weitem nicht so kompliziert wie ein Analog-Digital-Wandler. Die Hardware muß eigentlich nur analoge Pegel liefern (beispielsweise mit Digital-Analog-Wandlern) und Impulse zählen. Alles weitere kann programmseitig erledigt werden (Mikrocontroller).Already when forming the individual random bits (in statu nascendi) can be checked whether the Entropiequelle is useful or not. If necessary, the decisive parameters can be adjusted adaptively (calibration). Post-processing of entire bit strings should therefore be unnecessary in many applications. The circuit technology is based on only a few analog components. Comparators are well controllable components that can be readily dimensioned for the application in question, for example, in terms of slightly higher input offset voltages and increased tendency to oscillate. Comparators and digital circuits can be accommodated on a single circuit. The microcontrollers with built-in analog-to-digital converters may serve as examples. A comparator-counter arrangement is not nearly as complicated as an analog-to-digital converter. The hardware actually only has to supply analog levels (for example with digital-to-analog converters) and count pulses. Everything else can be done by the program (microcontroller).

Ein Ausführungbeispiel der Erfindung ist in der Zeichnung dargestellt und wird im folgenden näher beschrieben.An embodiment of the invention is illustrated in the drawing and will be described in more detail below.

Es zeigenShow it

1 ein grundsätzliches Blockschaltbild einer Vorrichtung zur Durchführung des Verfahrens, 1 a basic block diagram of an apparatus for carrying out the method,

2 bis 4 Illustrationen zur Veranschaulichung der Wirkungsweise eines Komparators, 2 to 4 Illustrations illustrating the operation of a comparator,

5 bis 7 Illustrationen zur Veranschaulichung des Komparatorverhaltens, das im erfindungsgemäßen Verfahren ausgenutzt wird, 5 to 7 Illustrations to illustrate the comparator behavior used in the method according to the invention,

8 bis 14 Illustrationen zur Veranschaulichung von Einzelheiten der Signalverläufe, 8th to 14 Illustrations illustrating details of the waveforms,

15 bis 27 Vorrichtungen zur Durchführung des Verfahrens. 15 to 27 Devices for carrying out the method.

Die Erfindung nutzt die Tatsache aus, daß Komparatoren ins Schwingen geraten können, wenn die Differenzspannung zwischen beiden Eingängen in der Größenordnung der Eingangsoffsetspannung liegt. Dieser Betriebsfall wird absichtlich herbeigeführt, die abgegebenen Schwingungen werden im Sinne einer Entropiequelle ausgewertet.The invention exploits the fact that comparators can oscillate when the differential voltage between both inputs is on the order of the input offset voltage. This operating case is deliberately brought about, the emitted vibrations are evaluated in the sense of an entropy source.

Das Verfahren soll zunächst anhand einer einfachen Vorrichtung erläutert werden, die in 1 dargestellt ist.The method will first be explained by means of a simple device, which is described in US Pat 1 is shown.

Die Eingänge eines Komparators 1 werden mit Differenzspannungsverläufen beaufschlagt, die den Bereich der Eingangsoffsetspannung durchlaufen. Das Schwingungsverhalten des Ausgangs wird ausgewertet. Der Ausgang gibt entweder einen Schwingungsverlauf ab, der zur Gewinnung von Zufallsbits (zufälligen Nullen oder Einsen) geeignet ist, oder nicht. Die Vorrichtung wird so betrieben, daß der Differenzspannungsverlauf an den Eingängen immer wieder so abgewandelt wird, daß sich in möglichst vielen Durchläufen brauchbare Schwingungsverläufe ergeben.The inputs of a comparator 1 are applied to differential voltage waveforms that go through the range of the input offset voltage. The vibration behavior of the output is evaluated. The output either outputs a waveform suitable for obtaining random bits (random zeros or ones) or not. The device is operated so that the differential voltage profile at the inputs is always modified so that arise in as many passes usable vibration waveforms.

Im Beispiel von 1 liefert ein Signalgenerator 2 eine zeitvariable analoge Eingangsspannung 3, die der Komparator 1 mit einer Referenzspannung 4 vergleicht. Dem Komparatorausgang ist eine Zähleinrichtung 5 nachgeschaltet, die mit einer Bewertungseinrichtung 6 verbunden ist. Aus der Zähleinrichtung 5 kann wenigstens ein Zufallsbit 7 entnommen werden. Die Bewertungseinrichtung 6 liefert ein Gültigkeitssignal 8, das kennzeichnet, ob der Schwingungsverlauf brauchbar gewesen ist oder nicht.In the example of 1 supplies a signal generator 2 a time-varying analog input voltage 3 that the comparator 1 with a reference voltage 4 compares. The comparator output is a counter 5 downstream, with an evaluation device 6 connected is. From the counter 5 can at least one random bit 7 be removed. The evaluation facility 6 delivers valid signal 8th indicating whether the waveform has been usable or not.

Anhand der 2 bis 4 sollen zunächst einige Grundbegriffe und Grundlagen der Wirkungsweise von Komparatoren erläutert werden.Based on 2 to 4 First, some basic concepts and principles of the operation of comparators will be explained.

Der Komparator (2) ist ein hoch verstärkender, nicht rückgekoppelter Differenzverstärker. Der typische Komparator hat fünf Anschlüsse: einen positiven Eingang 9 (U+), einen negativen Eingang 10 (U–), einen Ausgang 11 (UA) sowie zwei Anschlüsse für die Versorgungsspannung (UB+, UB–). Die Ausgangsstufe wird als Schaltstufe betrieben. Der Komparator ist dazu vorgesehen, die Signalpegel an den Eingängen miteinander zu vergleichen und eine binäre Vergleichsaussage zu liefern. Hierzu wird die Eingangsspannungsdifferenz UDIFF = U+ – U– verstärkt. Aus Sicht der Anwendungspraxis kann der Ausgang nur einen von zwei Pegeln (Low, High) annehmen. Ist U– größer als U+, so ist UDIFF negativ, und am Ausgang ergibt sich ein Low-Pegel. Ist U+ größer als U–, so ist UDIFF positiv, und am Ausgang ergibt sich ein High-Pegel. Der Komparator weist aber intern kein Schnappverhalten auf. Die Wirkung ergibt sich allein infolge des hohen Verstärkungsfaktors, der dazu führt, daß schon geringste Differenzspannungen UDIFF den Verstärker vollkommen übersteuern. Es bleibt der Fall, daß U+ genau gleich U– ist oder daß UDIFF so niedrig ist, daß trotz des hohen Verstärkungsfaktors keine Übersteuerung auftritt. In diesem Eingangsspannungsbereich ist das Verhalten des Komparators unbestimmt. Der betreffende Kennwert heißt Eingangsoffsetspannung (Input Offset Voltage VOS). 3 zeigt das Verhalten des Komparators im Bereich der Eingangsoffsetspannung 12. Dieser Bereich wird auch linearer Bereich genannt. Der Ausgangsspannungsverlauf 13 ist dort unbestimmt. Ein verläßlicher Low-Pegel ergibt sich erst dann, wenn die Eingangsdifferenzspannung (UDIFF) kleiner ist als der negative Endwert (–VOS) der Eingangsoffsetspannung (Differenzspannungsbereich 14). Ein verläßlicher High-Pegel ergibt sich erst dann, wenn die Eingangsdifferenzspannung (UDIFF) größer ist als der positive Endwert (+VOS) der Eingangsoffsetspannung (Differenzspannungsbereich 15). 4 veranschaulicht typische Größenordnungen der Eingangsoffsetspannung und damit des linearen Bereichs anhand von zwei Beispielen.The comparator ( 2 ) is a high gain, non-feedback differential amplifier. The typical comparator has five connections: a positive input 9 (U +), a negative input 10 (U-), an output 11 (UA) and two connections for the supply voltage (UB +, UB-). The output stage is operated as a switching stage. The comparator is designed to compare the signal levels at the inputs and to provide a binary comparison statement. For this purpose, the input voltage difference UDIFF = U + - U- is amplified. From the point of view of application practice, the output can only assume one of two levels (Low, High). If U- is greater than U +, then UDIFF is negative, and the output results in a low level. If U + is greater than U-, then UDIFF is positive, and the output results in a high level. The comparator has no internal snapping behavior. The effect is due solely to the high gain factor, which means that even the slightest differential voltages UDIFF completely overdrive the amplifier. It remains the case that U + is exactly equal to U - or that UDIFF is so low that, despite the high gain factor, no overmodulation occurs. In this input voltage range, the behavior of the comparator is indeterminate. The relevant characteristic value is called input offset voltage VOS. 3 shows the behavior of the comparator in the range of the input offset voltage 12 , This area is also called a linear area. The output voltage curve 13 is there indefinite. A reliable low level results only when the input differential voltage (UDIFF) is less than the negative end value (-VOS) of the input offset voltage (differential voltage range 14 ). A reliable high level only results when the input differential voltage (UDIFF) is greater than the positive end value (+ VOS) of the input offset voltage (differential voltage range 15 ). 4 illustrates typical magnitudes of the input offset voltage and thus the linear range using two examples.

Verbleibt die Differenzspannung längere Zeit im linearen Bereich, kann der Ausgang zeitweise undefinierte Pegel annehmen. Da die Spannungsverstärkung sehr hoch ist, kann der Komparator ins Schwingen geraten. 5 zeigt, wie ein Eingangssignal mit einer Referenzspannung verglichen wird. Die Schaltschwelle liegt im linearen Bereich 12.If the differential voltage remains in the linear range for a longer time, the output may temporarily assume undefined levels. Since the voltage gain is very high, the comparator can oscillate. 5 shows how an input signal is compared with a reference voltage. The switching threshold is in the linear range 12 ,

Verbleibt die Eingangsspannung längere Zeit in diesem Bereich, entstehen Schwingungen am Ausgang (5a). Wird hingegen der lineare Bereich in einer so kurzen Zeit durchfahren, daß der Komparator gar nicht so schnell hin- und herschalten kann, ergibt sich nur eine einzige Signalflanke (5b). Wenn sich die Differenzspannung extrem langsam ändert, kann der Signalverlauf so schwanken, daß der lineare Bereich nicht in einer Richtung durchlaufen, sondern in Gegenrichtung wieder verlassen wird (6). Hierdurch können sich vielfältige Schwingungserscheinungen ergeben. 7 zeigt einige Meßbeispiele.If the input voltage remains in this range for a longer time, oscillations will occur at the output ( 5a ). If, however, the linear range is traversed in such a short time that the comparator can not switch back and forth so quickly, only a single signal edge results ( 5b ). If the differential voltage changes extremely slowly, the signal curve can fluctuate in such a way that the linear region does not pass in one direction but is left in the opposite direction ( 6 ). This can result in a variety of vibration phenomena. 7 shows some examples of measurements.

Es dürfte dann nicht zu Schwingungen kommen, wenn die Zeit, in der die Differenzspannung den linearen Bereich durchlauft (t_lin), kürzer ist als die Antwortzeit des Komparators (Datenblattwert t_RESP): t_lin < t_RESP There should be no oscillation if the time in which the differential voltage passes through the linear range (t_lin) is shorter than the response time of the comparator (data sheet value t_RESP): t_lin <t_RESP

Damit ergibt sich eine Anstiegsgeschwindigkeit (z. B. in V/μs) von 2·VOS / t_RESP This results in a slew rate (eg in V / μs) of 2 · VOS / t_RESP

Das ist aber nur eine ungenaue Überschlagsrechnung, weil sich beide Parameter im laufenden Betrieb ändern können.But this is only an inaccurate rough estimate, because both parameters can change during operation.

Beim bestimmungsgemäßen Einsatz des Komparators sind Schwingungen zu verhindern, oder das Komparatorausgangssignal ist so auszuwerten, daß die Schwingungen nicht schaden. Beim erfindungsgemäßen Einsatz hingegen sollen solche Schwingungen absichtlich hervorgerufen werden. Hierzu muß die Eingangsdifferenzspannung eine gewisse Zeit im linearen Bereich verweilen. Der lineare Bereich muß aber nach einer endlichen Zeit (Verweilzeit t_lin) wieder verlassen werden, denn sonst (wenn die die Eingangsdifferenzspannung ständig im linearen Bereich gehalten wird), würden sich Dauerschwingungen ergeben, deren Frequenz zwar exemplarabhängig ist, aber unter den jeweiligen Betriebsbedingungen nahezu konstant bleibt.When the comparator is used as intended, vibrations must be prevented or the comparator output signal must be evaluated so that the vibrations do not harm. When using the invention, however, such vibrations should be deliberately caused. For this purpose, the input differential voltage must remain in the linear range for a certain time. However, the linear range must be left again after a finite time (dwell time t_lin), because otherwise (if the input differential voltage is constantly kept in the linear range), permanent oscillations would result, the frequency of which is copy-dependent, but almost constant under the respective operating conditions remains.

Der einfachste Verlauf der Differenzspannung zur Durchführung des erfindungsgemäßen Verfahrens ist ein linearer Anstieg oder Abfall (Spannungshub bzw. Schrittweite U_step), währenddessen der lineare Bereich durchfahren wird (Verweilzeit t_lin). Die Anstiegsgeschwindigkeit (z. B. in V/μs) ergibt sich zu U_step / t_lin The simplest course of the differential voltage for carrying out the method according to the invention is a linear increase or decrease (voltage swing or step width U_step), during which the linear range is traversed (dwell time t_lin). The slew rate (eg in V / μs) is too high U_step / t_lin

8a zeigt einen steiler ansteigenden Verlauf mit kurzer Verweilzeit und großer Schrittweite, 8b einen flacher ansteigenden mit längerer Verweilzeit und kleinerer Schrittweite. 8a shows a steep rising gradient with short dwell time and large increment, 8b a flat rising with longer residence time and smaller increment.

9 veranschaulicht, wie die Anstiegsgeschwindigkeit gewählt werden muß, um brauchbare Zufallsbitmuster zu erzeugen. 9 Figure 4 illustrates how the slew rate must be chosen to produce useful random bit patterns.

9a zeigt einen steilen Anstieg mit extrem kurzer Verweilzeit. Der lineare Bereich wird zu schnell durchfahren. Der Komparator kommt gar nicht ins Schwingen, sondern schaltet nur um. Als Entropiequelle unbrauchbar. 9a shows a steep climb with extremely short dwell time. The linear range is traversed too fast. The comparator does not start to oscillate, but only switches over. Unusable as entropy source.

9b zeigt einen brauchbaren Anstieg. Der Komparatoreingang verweilt längere Zeit im linearen Bereich. Dabei gibt er Schwingungen ab, die mit der Zeit aufhören und deren Impulsanzahl und Impulsbreite sich immer wieder ändert. Kommt als Entropiequelle in Betracht. 9b shows a reasonable increase. The comparator input lingers for a long time in the linear range. In doing so, it emits vibrations that stop over time and whose number of impulses and pulse width changes again and again. Comes as Entropiequelle into consideration.

9c zeigt einen extrem flachen Anstieg mit langer Verweilzeit. Der Komparator gibt solange Schwingungen ab, wie die Eingangsdifferenzspannung im linearen Bereich verweilt (Dauerschwingungen). Als Entropiequelle unbrauchbar. 9c shows an extremely shallow rise with a long residence time. The comparator outputs vibrations as long as the input differential voltage remains in the linear range (continuous oscillations). Unusable as entropy source.

10 veranschaulich ein einfaches Verfahren der Ausgangssignalbewertung. Die Ausgangssignalverläufe a), b), c) entsprechen 9. Das Ausgangssignal des Komparators gelangt auf den Zählimpulseingang (bzw. Takteingang) eines Zählers. 10 illustrate a simple method of output signal evaluation. The output signal curves a), b), c) correspond 9 , The output signal of the comparator reaches the count pulse input (or clock input) of a counter.

Der Eingangspegel wird angelegt. Dann wird eine Karenzzeit (Waiting Period) t1 abgewartet. In dieser Zeit muß der Zähler eine gewisse Mindestanzahl an Schwingungen gezählt haben. Andernfalls können keine Zufallsbits gebildet werden.The input level is created. Then a waiting period t1 is waited for. During this time, the counter must have counted a certain minimum number of oscillations. Otherwise random bits can not be formed.

Gemäß 10a zählt der Zähler nur von 0 auf 1. Der Komparator schwingt gar nicht, sondern schaltet nur um. Dieses Ergebnis ist unbrauchbar. Der Verfahrensschritt wird abgebrochen.According to 10a counts the counter only from 0 to 1. The comparator does not oscillate, but only switches. This result is unusable. The process step is aborted.

Ist eine ausreichende Anzahl an Schwingungen abgezählt worden, wird eine weitere Karenzzeit t2 abgewartet. Sind in diesem Zeitabschnitt viele Schwingungen gezählt worden (10c), handelt es sich offensichtlich um Dauerschwingungen. Auch dieses Ergebnis ist unbrauchbar. Der Verfahrensschritt wird abgebrochen.If a sufficient number of oscillations has been counted, a further waiting period t2 is awaited. Have many oscillations been counted during this period ( 10c ), it is obviously continuous vibrations. This result is useless. The process step is aborted.

Sind hingegen gar keine (Idealfall) oder nur wenige Schwingungen gezählt worden (10b), so handelt es sich um abklingende Schwingungen. Das Ergebnis ist brauchbar. Im einfachsten Fall wird das Zufallsbit von der niedrigstwertigen Zählerstelle abgenommen (gerade oder ungerade Anzahl).On the other hand, no (ideal case) or only a few oscillations have been counted ( 10b ), these are decaying vibrations. The result is usable. In the simplest case, the random bit is taken from the least significant counter (even or odd number).

Verweilzeit und Schrittweite werden gemäß 11 so gewählt, daß sich in den weitaus meisten Durchläufen Schwingungsverläufe ähnlich 10b ergeben. Gemäß 11b steigt die analoge Eingangsspannung während der Verweilzei t_lin von einem Anfangswert bis zu einem Endwert, wobei die beiden Werte die Eingangsoffsetspannung VOFFS in gewissem Maße überlappen (Sicherheitszuschlag).Dwell time and increment are according to 11 chosen so that in the vast majority of runs waveforms similar 10b result. According to 11b During the dwell time t_lin, the analog input voltage rises from an initial value to a final value, wherein the two values overlap the input offset voltage VOFFS to some extent (safety margin).

12 veranschaulicht, wie in einem Durchlauf der analogen Eingangsspannung 3 mehrere Zählwerte und damit Zufallsbits gewonnen werden können. Hierzu kann man mehrere Komparatoren mit festen Referenzspannungen verwerden oder an einen einzigen Komparator verschiedene Referenzspannungen nacheinander anlegen. 12a zeigt einen linearen Eingangsspannungsverlauf, 12b einen treppenförmigen. In 13 ist dargestellt, wie Eingangsspannung 3 und Referenzspannung 4 umgeschaltet werden können, um einen Komparator während eines Durchlaufs mehrmals auszunutzen. 14 zeigt einen dreieckförmigen Verlauf der Eingangsspannung. Hierbei wird der lineare Bereich in zwei Richtungen durchfahren. 12 illustrates how in one pass of the analog input voltage 3 several counts and thus random bits can be obtained. For this one can use several comparators with fixed reference voltages or create different reference voltages one after the other at a single comparator. 12a shows a linear input voltage curve, 12b a staircase. In 13 is shown as input voltage 3 and reference voltage 4 can be toggled to exploit a comparator several times during a run. 14 shows a triangular course of the input voltage. Here, the linear range is traversed in two directions.

Die Wahl der Ablauforganisation hängt von den Eigenschaften des Komparators ab. In anfänglichen Kalibrierungsläufen wird zunächst ermittelt, bei welchem Eingangsspannungsverlauf sich die meisten brauchbaren Zufallsbits (also Schwingungsverläufe ähnlich 10b) ergeben. Die weitere Auswahl beruht dann auf standardisierten Tests der erzeugten Zufallsbitmuster.The choice of process organization depends on the characteristics of the comparator. In initial calibration runs, it is first determined at which input voltage curve the most useful random bits (ie waveforms similar 10b ). The further selection is then based on standardized tests of the generated random bit patterns.

Ist der grundsätzliche Verlauf gefunden, werden die Parameter im laufenden Betrieb immer wieder nachgeführt (Adaptierung).Once the basic process has been found, the parameters are continually updated during operation (adaptation).

So werden die aktuellen Anfangs- und Endwerte treppenförmiger Spannungsverläufe gefunden, indem alle möglichen Werte zyklisch nacheinander durchprobiert werden. Dies kann in folgenden Schritten ablaufen:

  • 1. Wert anlegen.
  • 2. Karenzzeit abwarten.
  • 3. Wurden Schwingungen gezählt?
  • 4. Wenn nein, dann den nächsten Wert anlegen und weiter mit Schritt 2.
  • 5. Wenn ja, sind es zuviele Schwingungen?
  • 6. Wenn nein, dann ergibt der aktuelle Wert den Anfangswert. Den nächsten Wert anlegen. Dann die vorhergehenden Schritte solange durchlaufen, bis eine Mindestanzahl an Schwingungen erreicht ist. Dann den Wert weiter erhöhen, bis entweder zuviele Schwingungen auftreten (Dauerschwingungen) oder bis die Schwingungen aufhören.
  • 7. Wenn es zuviele Schwingungen sind, kann vermutet werden, daß es sich um Dauerschwingungen handelt. Dauerschwingungen liegend dann vor, wenn die Anzahl der gezählten Schwingungen proportional zur Karenzzeit zunimmt (doppelte Karenzzeit ergibt doppelte Anzahl an Schwingungen usw.). Somit ist diese Parametereinstellung unbrauchbar. Der lineare Bereich muß dann schneller durchfahren werden (steilerer Anstieg). Mit entsprechend geänderten Parameter erneut probieren.
  • 8. Wenn es zuwenige Schwingungen sind, ist diese Parametereinstellung unbrauchbar.
  • Der lineare Bereich wird zu schnell durchfahren (zu steiler Anstieg). Mit entsprechend geänderten Parametern erneut probieren.
  • 9. Wenn es weder zuwenige noch zuviele Schwingungen sind, kann die Vorrichtung mit den aktuellen Parametern als Entropiequelle genutzt werden.
Thus, the current start and end values of staircase voltage curves are found by trying all possible values cyclically one after the other. This can be done in the following steps:
  • 1. Create value.
  • 2. Wait for the waiting period.
  • 3. Were oscillations counted?
  • 4. If no, then create the next value and continue with step 2.
  • 5. If so, are there too many vibrations?
  • 6. If no, then the current value gives the initial value. Create the next value. Then go through the previous steps until a minimum number of vibrations has been reached. Then increase the value until either too many oscillations occur (continuous oscillations) or until the oscillations cease.
  • 7. If there are too many vibrations, it can be assumed that they are permanent oscillations. Permanent vibrations are present when the number of counted oscillations increases in proportion to the waiting time ( double grace period gives twice the number of oscillations, etc.). Thus, this parameter setting is unusable. The linear range must then be passed faster (steeper increase). Try again with the parameters changed accordingly.
  • 8. If there are too few vibrations, this parameter setting is unusable.
  • The linear range is traversed too fast (too steep rise). Try again with the parameters changed accordingly.
  • 9. If there are neither too few nor too many vibrations, the device with the current parameters can be used as source of entropy.

15 veranschaulicht den grundsätzlichen Aufbau einer Schaltungslösung. Die Eingänge eines Komparators 1 sind an einen Signalgenerator 2 und eine Referenzspannungsquelle 4 angeschlossen. Der Ausgang des Komparators 1 ist mit einer Zähleinrichtung 5 verbunden, der Bewertungseinrichtungen 6 nachgeschaltet sind. Alle besagten Einrichtungen sind an eine Steuereinrichtung 16 angeschlossen, die über Ein- und Ausgabeschnittstellen 17 mit der Anwendungsumgebung bzw. Außenwelt verbunden ist. Über diese Schnittstellen werden Aufträge, Kommandos, Parameter usw. eingegeben und die erzeugte Zufallszahlen abgeliefert. 15 illustrates the basic structure of a circuit solution. The inputs of a comparator 1 are to a signal generator 2 and a reference voltage source 4 connected. The output of the comparator 1 is with a counter 5 connected, the evaluation facilities 6 are downstream. All said devices are connected to a control device 16 connected via input and output interfaces 17 connected to the application environment or the outside world. Orders, commands, parameters, etc. are entered via these interfaces and the generated random numbers are delivered.

Die Steuereinrichtung 16 ist als Mikrocontroller oder als digitaler Zustandsautomat (Finite State Machine FSM) ausgeführt. Es entspricht dem Stand der Technik, Steuerungsabläufe auszuprogrammieren (Softwarelösung) oder eine entsprechende Schaltung auf Grundlage einer Verhaltensbeschreibung zu synthetisieren (Hardwarelösung). Deshalb genügt hier eine pauschale, skizzenhafte Beschreibung der zu steuernden Abläufe ohne Beachtung von Spitzfindigkeiten und Einzelheiten der Ablauforganisation.The control device 16 is designed as a microcontroller or as a digital state machine (Finite State Machine FSM). It corresponds to the state of the art to program control processes (software solution) or to synthesize a corresponding circuit based on a behavioral description (hardware solution). Therefore, a blanket, sketchy description of the processes to be controlled is sufficient here, without attention to subtleties and details of the process organization.

16 zeigt Einzelheiten einer Zähleinrichtung 5 mit nachgeordneten Bewertungseinrichtungen 6. Der Komparator 1 ist an den Zähltakteingang des Zählers 5 angeschlossen. CLEAR ist ein Löschsignal, das von der Steuereinrichtung 16 kommt. Die Bewertungseinrichtungen 6 erkennen folgende Bedingungen:

  • 1. Der Zählerinhalt hat seinen Endwert erreicht (OVERFLOW).
  • 2. Es ist eine Mindestanzahl an Impulsen gezählt worden (MIN_NoP; NoP = Number of Pulses).
  • 3. Es ist mehr als eine Höchstanzahl an Impulsen gezählt worden (MAX_NoP).
16 shows details of a counter 5 with downstream evaluation facilities 6 , The comparator 1 is at the count clock input of the counter 5 connected. CLEAR is a clear signal issued by the controller 16 comes. The evaluation facilities 6 recognize the following conditions:
  • 1. The counter content has reached its final value (OVERFLOW).
  • 2. A minimum number of pulses has been counted (MIN_NoP; NoP = Number of Pulses).
  • 3. More than a maximum number of pulses has been counted (MAX_NoP).

Hat der Zählerinhalt seinen Endwert erreicht (OVERFLOW), wird nicht weitergezählt. Hierzu ist die invertierte Bedingung (INHIBIT) auf den Zählerlaubniseingang (CE) zurückgeführt.If the counter content has reached its final value (OVERFLOW), it will not continue counting. For this purpose, the inverted condition (INHIBIT) is returned to the Zähllaubniseingang (CE).

Die drei Bedingungen werden im Beispiel wie folgt erkannt:

  • a) Die Bedingung OVERFLOW mit einer konjunktiven Verknüpfung aller Zählwertausgänge. Der Zähler 5 ist als Binärzähler ausgebildet, und die Bedingung ist dann erfüllt, wenn der Zählwert sein Maximum (alles Einsen) erreicht hat.
  • b) Die beiden anderen Bedingungen werden mit Vergleichsschaltungen erkannt. In 16 ist zudem angedeutet, daß den Vergleichsschaltungen Halteregister vorgeordnet sind, die über einen Datenbus von der Steuereinrichtung 16 geladen werden können.
The three conditions are recognized in the example as follows:
  • a) The condition OVERFLOW with a conjunctive combination of all count value outputs. The counter 5 is designed as a binary counter, and the condition is fulfilled when the count reaches its maximum (all ones).
  • b) The other two conditions are detected by comparison circuits. In 16 is also indicated that the comparison circuits holding registers are arranged upstream, via a data bus from the controller 16 can be loaded.

Die Nutzung von Gattern zum Decodieren von Bitmustern und von Vergleichschaltungen entspricht dem bekannten Stand der Technik und muß nicht näher beschrieben werden. Für konkrete Implementierungen lassen sich ohne weiteres jeweils kostengünstige Lösungen finden (z. B. mit Vergleichsschaltungen oder durch Decodieren von Festwerten).The use of gates for decoding bit patterns and compare circuits is well known in the art and need not be described further. For concrete implementations, cost-effective solutions can easily be found (eg with comparison circuits or by decoding of fixed values).

Im Beispiel ist ein Zählvorgang dann als Entropiequelle brauchbar, wenn der Zähler nicht überläuft UND wenn der Zähler wenigstens eine vorgegebene Mindestanzahl an Impulsen gezählt hat (MIN_NOP) UND wenn eine vorgegebene Höchstanzahl an Impulsen nicht überschritten wurde (MAX_NOP). In diesem Fall wird das Gültigkeitssignal 8 (VALID) aktiv. Im Grunde implementiert die Anordnung das in 10 veranschaulichte Bewertungsschema.In the example, a count is useful as an entropy source if the counter does not overflow AND if the counter has counted at least a predetermined minimum number of pulses (MIN_NOP) AND if a predetermined maximum number of pulses has not been exceeded (MAX_NOP). In this case, the validity signal becomes 8th (VALID) active. Basically, the arrangement implements the in 10 illustrated rating scheme.

In den weitaus meisten Einsatzfällen sind die Anforderungen an die Arbeitsgeschwindigkeit nicht so hoch, daß eine vollständige Hardwarelösung unbedingt erforderlich ist. Zumeist wird man Zählwertvergleiche programmseitig erledigen können. Die einzige Bedingung, die schaltungstechnisch erkannt werden muß, ist die Überlaufbedingung (OVERFLOW). Ansonsten genügt es, die Zählerinhalte abzufragen und mit Vergleichsoperationen auszuwerten.In the vast majority of applications, the speed requirements are not so high that a complete hardware solution is essential. In most cases, count comparisons can be done by the program. The only condition that must be recognized in terms of circuitry is the overflow condition (OVERFLOW). Otherwise, it is sufficient to query the counter contents and evaluate them with comparison operations.

17 veranschaulicht einen Zufallsgenerator zur Durchführung des erfindungsgemäßen Verfahrens, in dem die Steuereinrichtung 16 als Mikrocontroller ausgebildet ist. Die Zähl- und Bewertungseinrichtungen 5, 6 werden, dem Stand der Technik entsprechend, mit Mitteln der programmierbaren Logik implementiert, beispielsweise in einem CPLD. Es gibt auch programmierbare Schaltkreise, die sowohl digitale als auch analoge Funktionseinheiten enthalten (Mixed Signal FPGAs o. dergl.). Eingebaute Komparatoren sind dann nutzbar, wenn sie ins Schwingen geraten können. Es dürfen also keine (nicht abschaltbaren) Zusatzschaltungen eingebaut sein, die die Schwingneigung unterdrücken (Hysterese o. dergl.). Auch dürfen die Schwingungen die Funktionsfähigkeit der anderen Schaltungsteile nicht beeinträchtigen. Die Schnittstellen 17 sind vorzugsweise solche, die Industriestandards entsprechen, also serielle Schnittstellen, USB, SPI, I2C usw. 17 illustrates a random number generator for carrying out the method according to the invention, in which the control device 16 is designed as a microcontroller. The counting and rating facilities 5 . 6 According to the prior art, these are implemented by means of programmable logic, for example in a CPLD. There are also programmable circuits that include both digital and analog functional units (mixed signal FPGAs or the like). Built-in comparators can be used if they can vibrate. It must not be installed (not switchable) additional circuits that suppress the tendency to oscillate (hysteresis o. The like.). Also, the vibrations must not affect the functionality of the other circuit parts. The interfaces 17 are preferred those that comply with industry standards, ie serial ports, USB, SPI, I2C, etc.

Der Mikrocontroller 16 hat eingebaute oder über Schnittstellen angeschlossene Digital-Analog-Wandler, die als Signalgeneratoren 2 betrieben werden. In einer ersten Auslegung wird nur ein Digital-Analog-Wandler genutzt, der eine zeitvariable analoge Eingangsspannung 3 erzeugt. Die Referenzspannungen 4 sind fest. In einer alternativen Auslegung werden auch die Referenzspannungen 4 von Digital-Analog-Wandlern geliefert. Der Mikrocontroller kann über einen Datenbus die Zählerstände abfragen. Die Steuersignale dienen dazu, den jeweiligen Zähler auszuwählen und die Zähler zu löschen. Anstelle der direkten Verbindung über Datenbus und Steuersignale kann ohne Schwierigkeiten eine standardisierte Schnittstelle verwendet werden, beispielsweise SPI.The microcontroller 16 has built-in or interfaced digital-to-analog converters acting as signal generators 2 operate. In a first design, only a digital-to-analog converter is used which has a time-varying analog input voltage 3 generated. The reference voltages 4 are firm. In an alternative design, the reference voltages also become 4 supplied by digital-to-analog converters. The microcontroller can query the meter readings via a data bus. The control signals are used to select the respective counter and to clear the counters. Instead of the direct connection via data bus and control signals can be used without difficulty, a standardized interface, such as SPI.

Das Anschließen externer Einrichtungen über solche Schnittstellen gehört zum Stand der Technik. Eine weitere Alternative besteht darin, eingebaute Zählschaltungen und Komparatoren der Mikrocontroller auszunutzen. Ob dies möglich ist, hängt von den Einzelheiten der Schaltungsauslegung ab. Eingebaute Zählschaltungen sind dann grundsätzlich nutzbar, wenn sie mit einem asynchronen Zähltakt arbeiten können. Zu eingebauten Komparatoren gilt das gleiche wie für Komparatoren in programmierbaren Schaltkreisen.The connection of external devices via such interfaces belongs to the prior art. Another alternative is to take advantage of built-in counters and comparators of the microcontrollers. Whether this is possible depends on the details of the circuit design. Built-in counting circuits are basically usable if they can work with an asynchronous counting clock. Built-in comparators are the same as comparators in programmable circuits.

18 zeigt eine gegenüber 16 teils vereinfachte, teils erweiterte Schaltungslösung zum Zählen von Schwingungen. Die Zähleinrichtung 5 ist als Binärzähler ausgebildet. Der Ausgang des Komparators 1 ist mit dessen Takteingang verbunden. Die Schaltung wirkt, wie in 17 dargestellt, mit einem Mikrocontroller zusammen. Der Mikrocontroller kann den Zählerstand auslesen und den Zähler löschen (Ausgangssignale CT, Löschsignal CLEAR). Die Bewertung der Schwingungsanzahl wird programmtechnisch gelöst. Die Bewertungseinrichtung 6 erkennt lediglich die Überlaufbedingung (OVERFLOW) und wirkt auf den Zählerlaubniseingang (CE), um das Zählen anzuhalten, wenn der Zähler 5 seinen Endwert erreicht hat. Ansonsten könnte es vorkommen, daß der Zähler 5 überläuft und der Mikrocontroller dann mit falschen Zählerständen arbeitet. Der Zähler 5 wird durch einen Hilfszähler 18 ergänzt, der im Überlauffall nicht angehalten wird. Eine einzige Binärstelle genügt, um zwischen einer geraden oder ungeraden Anzahl unterscheiden zu können (Hilfszählerausgang CTXA). Zwei oder mehr Binärstellen (im Beispiel: der Hilfszählerausgang CTXB) erlauben bedarfsweise ein genaueres Beobachten der Zählvorgänge (programmseitig oder über Leuchtanzeigen). 18 shows one opposite 16 partly simplified, partly extended circuit solution for counting oscillations. The counting device 5 is designed as a binary counter. The output of the comparator 1 is connected to its clock input. The circuit works as in 17 shown with a microcontroller together. The microcontroller can read the counter reading and clear the counter (output signals CT, clear signal CLEAR). The evaluation of the number of oscillations is solved programmatically. The evaluation facility 6 it only detects the overflow condition (OVERFLOW) and acts on the meter enable input (CE) to stop counting when the counter 5 has reached its final value. Otherwise, it could happen that the counter 5 overflows and the microcontroller then works with false meter readings. The counter 5 is by an auxiliary counter 18 added, which is not stopped in the overflow. A single binary is sufficient to distinguish between an even or odd number (auxiliary counter output CTXA). Two or more binary digits (in the example: the auxiliary counter output CTXB) allow, if necessary, a more precise observation of the counting processes (on the program side or via illuminated displays).

Die einfachste Nutzung als Entropiequelle besteht darin, in jedem Durchlauf durch den linearen Bereich jeweils ein einziges Zufallsbit zu entnehmen; jeder Durchlauf entspricht dem Werfen einer Münze oder einem Würfeln Gerade/Ungerade. Eine erste Betriebsweise besteht darin, ein Zufallsbit nur dann zu entnehmen, wenn der Zähler 5 nicht bis zum Ende durchgelaufen ist. Dann liefert die niedrigstwertige Stelle des Zählers 5 den Wert des Zufallsbits. In einer alternativen Betriebsweise wird eine größere Anzahl an Schwingungen als zulässig angesehen. Während das Programm die Zählerstellung auswertet, können weitere Impulse vom Komparator kommen. Dies wird als zusätzlicher Zufallsmechanismus ausgenutzt. Der Zähler 5 kann dann aber bis zum Ende durchlaufen und kommt somit als Entropiequelle nicht mehr in Betracht. Deshalb wird das Zufallsbit von der niedrigstwertigen Stelle (CTXA) des Hilfszählers 18 entnommen. Die Auswahl der Betriebsart hängt von den Eigenschaften des Komparators und von der grundsätzlichen Schaltungsauslegung ab.The simplest use as an entropy source is to extract one single random bit in each pass through the linear region; each pass corresponds to throwing a coin or rolling a straight or odd. A first mode of operation is to take a random bit only when the counter 5 did not go through to the end. Then returns the least significant digit of the counter 5 the value of the random bit. In an alternative mode of operation, a greater number of vibrations is considered permissible. While the program evaluates the count, more pulses may come from the comparator. This is exploited as an additional random mechanism. The counter 5 But then it can go through to the end and thus is no longer considered as entropy source. Therefore, the random bit of the least significant digit (CTXA) of the auxiliary counter 18 taken. The choice of operating mode depends on the characteristics of the comparator and on the basic circuit design.

Durchläuft die Eingangsspannung eines Komparators den linearen Bereich, wird im einfachsten Fall ein einziges Zufallsbit abgegeben. Um in einem Durchlauf mehrere voneinander unabhängige Zufallsbits zu erzeugen, gibt es folgende Möglichkeiten:

  • 1. ein Komparator, dem eine zeitvariable Referenzspannung zugeführt wird (vgl. 13),
  • 2. mehrere parallel betriebene Komparatoren mit gleichen Eingangs- und Referenzspannungen (fest oder zeitvariabel),
  • 3. mehrere parallel betriebene Komparatoren mit gleichen Eingangsspannungen und abgestuften Referenzspannungen.
If the input voltage of a comparator passes through the linear range, in the simplest case a single random bit is emitted. In order to generate several independent random bits in one pass, there are the following possibilities:
  • 1. a comparator to which a time-varying reference voltage is supplied (see. 13 )
  • 2. several parallel-operated comparators with the same input and reference voltages (fixed or time-variable),
  • 3. several parallel operated comparators with equal input voltages and graded reference voltages.

19 zeigt eine Einrichtung, die aus mehreren Komparatoren und Zählschaltungen gemäß 18 besteht. Die Ausgänge der Zählschaltungen 5, 18 werden über eine Auswahlschaltung 19 an den Mikrocontroller angeschlossen. Die Komparatoren erhalten unterschiedliche Referenzspannungen, die so abgestuft sind, daß jeweils nur ein einziger Komparator schaltet (Abstand der Spannungswerte deutlich größer als zweimal die Eingangsoffsetspannung). 19 shows a device consisting of several comparators and counting circuits according to 18 consists. The outputs of the counting circuits 5 . 18 be over a selection circuit 19 connected to the microcontroller. The comparators receive different reference voltages, which are graduated so that only a single comparator switches (distance of the voltage values significantly greater than twice the input offset voltage).

Damit mehrere Komparatoren sich nicht gegenseitig beeinflussen können, also wirklich unabhängig voneinander schalten, sollten ihre Eingänge über Puffferstufen (als Impedanzwandler geschaltete Operationsverstärker) angeschlossen sein. Das gehört zum Stand der Technik und ist hier nicht dargestellt.So that several comparators can not influence each other, ie really switch independently, their inputs should be connected via buffer stages (operational amplifiers connected as impedance converters). This is part of the prior art and is not shown here.

20 zeigt mehrere Komparatoren mit nachgeordneten Zähleinrichtungen, die an eine gemeinsame Referenzspannung angeschlossen sind. Diese Anordnung arbeitet in folgenden Schritten:

  • 1. Die Referenzspannung anlegen.
  • 2. Die Zähler löschen.
  • 3. Den Analogspannungsbereich durchfahren.
  • 4. Die Zählerinhalte auswerten.
  • 5. Ggf. die Referenzspannung ändern und den Ablauf von Schritt 2 an wiederholen.
20 shows several comparators with downstream counters, which are connected to a common reference voltage. This arrangement works in the following steps:
  • 1. Apply the reference voltage.
  • 2. Clear the counters.
  • 3. Drive through the analog voltage range.
  • 4. Evaluate the counter contents.
  • 5. If necessary change the reference voltage and repeat the procedure from step 2 on.

Die Auswertung der Zählwerte ergibt, welche Komparatoren bei welchen Referenzspannungspegeln brauchbare Zufallswerte liefern und welche nicht.The evaluation of the counts results in which comparators deliver useful random values at which reference voltage levels and which do not.

In einer alternativen Auslegung gemäß 21 gibt es nur eine Zähleinrichtung 5 für mehrere Komparatoren. Jeder Komparator erhält eine andere Referenzspannung. Die Komparatorausgänge sind über eine Auswahlschaltung 20 mit der Zählschaltung verbunden. Im Beispiel wird die Auswahladresse in einem Auswahlregister gehalten, das vom Mikrocontroller (gemäß 17) geladen wird oder das seinerseits als Zähler ausgebildet sein kann. Diese Anordnung arbeitet in folgenden Schritten:

  • 1. Den ersten Komparator auswählen.
  • 2. Die Zähleinrichtung löschen.
  • 3. Den Bereich der Referenzspannung durchfahren, die am Komparator anliegt.
  • 4. Die Zählwerte auswerten.
  • 5. Den nächsten Komparator auswählen (das Auswahlgeister weiterzählen lassen oder mit dem nächsten Wert laden). Dann den Ablauf von Schritt 2 an wiederholen.
In an alternative interpretation according to 21 there is only one counter 5 for several comparators. Each comparator receives a different reference voltage. The comparator outputs are via a selection circuit 20 connected to the counting circuit. In the example, the selection address is held in a selection register which is controlled by the microcontroller (in accordance with 17 ) or which in turn may be designed as a counter. This arrangement works in the following steps:
  • 1. Select the first comparator.
  • 2. Delete the counter.
  • 3. Pass the range of the reference voltage applied to the comparator.
  • 4. Evaluate the count values.
  • 5. Select the next comparator (let the selection ghost continue counting or load to the next value). Then repeat the procedure from step 2 on.

22 veranschaulicht eine Zählschaltung, die die Breite der Ausgangsimpulse des Komparators auszählt. Die übliche Impulsdauermessung besteht darin, einen Zähler mit einem hinreichend schnellen Takt so lange zählen zu lassen, wie das Impulssignal aktiv ist. Der Komparator wird aber, beim Durchfahren des linearen Bereichs, zunächst gar nicht schalten, dann Impulse abgeben und schließlich endgültig umschalten, also den neuen Pegel auf Dauer halten. Es ist deshalb zu unterscheiden zwischen den auszuzählenden Impulsen und dem nicht mehr auszuzählenden Dauerpegel. Das Problem wird hier so gelöst, daß der Impulsbreitenzähler 21 über einen Addierer 22 an ein Akkumulatorregister 23 angeschlossen ist. Der Impulsbreitenzähler 21 arbeitet wie soeben beschrieben. Solange der Komparatorausgang aktiv ist, zählt er mit dem (vergleichsweise schnellen (hochfrequenten)) Zähltakt (CLK). Wird der Komparatorausgang inaktiv, so wird der aktuelle Zählwert (CT_PW) zum Inhalt des Akkumulatorregisters 23 addiert. Diese Addition findet nur dann statt, wenn das Komparatorausgangssignal eine abfallende Flanke aufweist, also wirklich ein Impuls ist. Der Zählwert nach dem endgültigen Umschalten des Komparators hat somit keinen Einfluß mehr auf das eigentliche Zählergebnis. Das Akkumulatorregister 23 enthält die Summe der ausgezählten Breiten aller Impulse (CT_PW_TALLY). 22 illustrates a counting circuit which counts the width of the output pulses of the comparator. The usual pulse duration measurement is to let a counter with a sufficiently fast clock count as long as the pulse signal is active. However, the comparator will not switch when driving through the linear range, then give impulses and finally finally switch over, so keep the new level in the long run. It is therefore necessary to differentiate between the pulses to be counted and the continuous level that can no longer be counted. The problem is solved here so that the pulse width counter 21 via an adder 22 to an accumulator register 23 connected. The pulse width counter 21 works as just described. As long as the comparator output is active, it counts with the (comparatively fast (high-frequency)) count clock (CLK). If the comparator output becomes inactive, the current count value (CT_PW) becomes the content of the accumulator register 23 added. This addition only takes place when the comparator output signal has a falling edge, ie is really a pulse. The count after the final switching of the comparator thus has no influence on the actual counting result. The accumulator register 23 contains the sum of the counted widths of all pulses (CT_PW_TALLY).

Sowohl dem Impulsbreitenzähler 21 als auch dem Akkumulatorregister 23 sind Schaltungen nachgeordnet, die einen jeweils bestimmten maximalen Zählerstand erkennen und verhindern, daß der Zähler überläuft. Im Beispiel sind konjunktive Verknüpfungen vorgesehen, die den Endwert ”alles Einsen” erkennen. Die Nutzung von Gattern zum Decodieren anderer Endwerte oder von Vergleichschaltungen entspricht dem bekannten Stand der Technik und muß nicht näher beschrieben werden.Both the pulse width counter 21 as well as the accumulator register 23 are downstream circuits that detect a particular maximum counter reading and prevent the counter overflows. In the example, conjunctive links are provided which recognize the end value "all ones". The use of gates for decoding other end values or comparator circuits is well known in the art and need not be described further.

23 zeigt die zugehörig Ablaufsteuerschaltung, die aus zwei Flipflops besteht, die als Schieberegister verschaltet sind. Es ist eine an sich bekannte Grundschaltung zum Erkennen von Signalflanken. Das Ausgangssignal des Komparators läuft in das erste Flipflop ein. Eine Rückflanke liegt dann vor, wenn das erste Flipflop bereits inaktiv und das zweite noch aktiv ist. Diese Bedingung führt über eine konjunktive Verknüpfung dazu, daß der Inhalt des Impulsbreitenzählers zum Akkumulatorinhalt addiert wird (Steuersignal TALLY_ENABLE) und daß der Impulsbreitenzähler gelöscht wird (Steuersignal RES_CT_PW; der Löscheingang (RES) des Impulsbreitenzählers 21 wirkt synchron). Vor dem Durchfahren des jeweiligen Analogspannungsbereichs sind beide Zähler 21, 23 zu löschen. Hierzu dient das Löschsignal CLEAR, das von der Steuereinrichtung 16 (Mikrocontroller) aktiviert wird. 23 shows the associated sequence control circuit, which consists of two flip-flops, which are connected as a shift register. It is a known basic circuit for detecting signal edges. The output signal of the comparator enters the first flip-flop. A trailing edge occurs when the first flip-flop is already inactive and the second is still active. This condition, via a conjunctive link, causes the content of the pulse width counter to be added to the contents of the accumulator (control signal TALLY_ENABLE), and the pulse width counter to be cleared (control signal RES_CT_PW, the clear input (RES) of the pulse width counter 21 works synchronously). Before passing through the respective analog voltage range, both counters are 21 . 23 to delete. For this purpose, the clear signal CLEAR, that of the control device 16 (Microcontroller) is activated.

24 veranschaulicht die Funktionsweise anhand eines Beispiels. 24 illustrates the functionality by means of an example.

Die vorstehend beschriebene Schaltung wird dann eingesetzt, wenn beim Durchfahren des linearen Bereichs der Ausgang des Komparators am Anfang einen Low-Pegel liefert und dann auf High umschaltet. Die High-Impulse werden ausgezählt, der High-Pegel nach dem endgültigen Umschalten liefert aber keinen Beitrag zum Zählergebnis. Das ist in 25a dargestellt. Wird hingegen der lineare Bereich in umgekehrter Richtung durchfahren, liefert der Komparatorausgang anfänglich einen High-Pegel und schaltet am Ende auf Low um (vgl. auch 14). Dann ist es zweckmäßig, die Dauer der Low-Anteile der Impulse zu zählen, wie in 25b veranschaulicht. Die Schaltung von 22 kann durch Invertieren des Komparatorausgangsignals auf diese Betriebsweise umgestellt werden. 26 zeigt eine entsprechende Abwandlung der Schaltung von 22. Der Komparatorausgang ist an ein XOR-Gatter 24 angeschlossen, dessen zweiter Eingang mit einem Steuersignal (INVERT) beschaltet ist. INVERT wird je nach Durchlaufrichtung passend geschaltet, beispielsweise vom steuernden Mikrocontroller.The circuit described above is used when, when passing through the linear range, the output of the comparator initially provides a low level and then switches to high. The high pulses are counted, but the high level after the final switchover does not contribute to the count result. Is in 25a shown. If, however, the linear range is traversed in the opposite direction, the comparator output initially supplies a high level and at the end switches to low (cf. 14 ). Then it is convenient to count the duration of the low portions of the pulses, as in 25b illustrated. The circuit of 22 can be switched to this mode by inverting the comparator output signal. 26 shows a corresponding modification of the circuit of 22 , The comparator output is connected to an XOR gate 24 whose second input is connected to a control signal (INVERT). INVERT is switched according to the direction of flow, for example by the controlling microcontroller.

Abhängig von den Anforderungen, wie Kosten, Datenrate (in Zufallsbits je Sekunde) und Qualität der Entropiequelle, können die vorstehend beschriebenen Wirkprinzipien und Schaltungsauslegungen vielfältig kombiniert werden, um einen jeweils zweckgerechten Zufallszahlengenerator zu bauen.Depending on the requirements, such as cost, data rate (in random bits per second), and quality of the entropy source, the operating principles and circuit designs described above may be combined in many ways to build a suitable random number generator.

In Hinsicht auf die Anzahl der Komparatoren und der Referenzspannungen ergeben sich folgende Varianten:
ein Komparator, eine feste Referenzspannung,
ein Komparator, eine zeitvariable Referenzspannung,
mehrere Komparatoren, eine feste Referenzspannung,
mehrere Komparatoren, mehrere feste Referenzspannungen,
mehrere Komparatoren, eine zeitvariable Referenzspannung,
mehrere Komparatoren, mehrere zeitvariable Referenzspannungen.
With regard to the number of comparators and the reference voltages, the following variants result:
a comparator, a fixed reference voltage,
a comparator, a time-varying reference voltage,
several comparators, a fixed reference voltage,
several comparators, several fixed reference voltages,
several comparators, a time-varying reference voltage,
several comparators, several time-varying reference voltages.

In Hinsicht auf die Auswertung des Komparatorverhaltens ergeben sich folgende Varianten:
die Impulsanzahl auswerten,
die Impulsbreite auswerten,
beides auswerten.
With regard to the evaluation of the comparator behavior, the following variants result:
evaluate the number of pulses,
evaluate the pulse width,
evaluate both.

In Hinsicht auf die Gewinnung der Zufallsbits ergeben sich folgende Varianten:
die Zufallswerte aus der Impulsanzahl gewinnen,
die Zufallswerte aus der Impulsbreite gewinnen,
die Zufallswerte aus beiden gewinnen, z. B. mittels XOR-Verknüpfung.
With regard to the acquisition of the random bits, the following variants result:
win the random values from the number of pulses,
gain the random values from the pulse width,
the random values of both win, z. B. by XOR linkage.

Wenn mehrere Komparatoren gleichzeitig schalten, kann man die gegenseitigen Rückwirkungen als weiteren Zufallsmechanismus ausnutzen. Es kann aber sein, daß sich Abhängigkeiten zwischen den jeweils erzeugten Zufallsbits ergeben, die analysiert und zu Angriffszwecken ausgenutzt werden können. (Das hängt von der Schaltungsauslegung, der Schaltkreistechnologie usw. ab.) Dann wäre zu verhindern, daß mehrere Komparatoren gleichzeitig schalten, so daß die Unabhängigkeit der einzelnen Entropiequellen gewahrt bleibt. Wichtig ist, das Auftreten von unerwünschten Schwingungen ähnlich 7 in der Schaltung zu unterdrücken. Eine Einfachlösung besteht darin, die Ausgänge der Komparatoren, die nicht schalten sollen, in einem Rücksetzzustand zu halten. Die meisten Komparatoren haben Open-Collector- oder Open-Drain-Ausgänge, so daß es möglich ist, sie mit einer entsprechenden Treiberstufe auf Low-Pegel zu ziehen. 27 veranschaulicht eine Schaltungslösung. Jedem der Komparatoren ist eine Treiberstufe 25 beigeordnet, die von Auswahlsignalen (SEL) angesteuert wird. Im Beispiel von 27 sind die Treiberstufen 25 an einen Decoder angeschlossen, der die Komparatorauswahladresse (SEL) decodiert. Nur die Treiberstufe 25 der jeweils ausgewählten Komparator-Zähler-Anordnung gibt den Komparatorausgang frei. Alle anderen Komparatorausgänge werden von ihren Treiberstufen 25 auf Low-Pegel gehalten.If several comparators switch at the same time, one can exploit the reciprocal effects as a further random mechanism. However, it may be that dependencies arise between the random bits generated in each case, which can be analyzed and exploited for purposes of attack. (This depends on circuit design, circuit technology, etc.). It would then be possible to prevent several comparators from switching at the same time, thus preserving the independence of the individual sources of entropy. Importantly, the occurrence of unwanted vibrations is similar 7 in the circuit to suppress. A simple solution is to hold the outputs of the comparators that are not to switch in a reset state. Most comparators have open-collector or open-drain outputs, so it is possible to pull them low with a corresponding driver stage. 27 illustrates a circuit solution. Each of the comparators is a driver stage 25 assigned, which is controlled by selection signals (SEL). In the example of 27 are the driver stages 25 connected to a decoder which decodes the comparator select address (SEL). Only the driver level 25 the selected comparator-counter arrangement releases the comparator output. All other comparator outputs are from their driver stages 25 kept low.

Das Prinzip der Zufallserzeugung entspricht im Grunde dem Werfen einer Münze oder dem Würfeln. Die entscheidende Frage: Sind beide Ereignisse (Kopf oder Wappen, Gerade oder Ungerade) tatsächlich gleich wahrscheinlich oder nicht? Weil es immer Ungenauigkeiten gibt, ist anzunehmen, daß sie nicht gleich wahrscheinlich sind; es wird sich stets eine gewisse Bevorzugung des einen Ergebniswertes ergeben (Bias).The principle of random generation basically corresponds to throwing a coin or rolling the dice. The crucial question: Are both events (head or crest, even or odd) actually the same or not? Because there are always inaccuracies, it can be assumed that they are not equally probable; there will always be a certain preference for the one result value (bias).

Die erfindungsgemäße Zufallsbildung beruht auf Zählvorgängen, die in sich auf Plausibilität geprüft werden können. Man kann bereits anhand der aktuellen Zählwerte pauschal beurteilen, ob der jeweilige ”Wurf” eine plausible Zuälligkeit (Randomness) aufweist oder nicht. Zudem wäre es ohne Schwierigkeiten möglich, nicht nur die Zufallsbitmuster zu speichern oder an übergeordnete Systeme weiterzugeben, sondern auch die Zählwerte und anderen Parameter (wie beispielsweise Referenzpegel und Verweilzeiten). Gestützt auf solche Daten kann man die Entropiequelle besser beurteilen und Manipulationsversuche erkennen.The randomization according to the invention is based on counting processes which can be tested for plausibility. It is already possible to assess on the basis of the current count values, whether the respective "throw" has a plausible randomness or not. In addition, it would be possible without difficulty to store not only the random bit patterns or pass them on to higher-level systems, but also the counts and other parameters (such as reference levels and dwell times). Based on such data, one can better assess the source of entropy and detect manipulation attempts.

Der eigentliche, den Zufall erzeugende Vorgang kann beeinflußt werden. Beeinflußbare Parameter sind vor allen die Referenzpegel, der zeitliche Verlauf des Analogsignals, die Verweilzeit im linearen Bereich, die Karenzzeiten der Impulszählung und die Grenzen der Zählwerte. Diese Parameter können systematisch durchprobiert werden, bis sich plausible Zufallswerte ergeben (Adaptierung). Diese Adaptierung kann nach dem Einschalten oder in den Arbeitspausen erfolgen.The actual, random process can be influenced. Influencing parameters are above all the reference levels, the time course of the analog signal, the dwell time in the linear range, the grace periods of the pulse count and the limits of the counts. These parameters can be systematically tested until plausible random values result (adaptation). This adaptation can take place after switching on or during work breaks.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

11
Komparatorcomparator
22
Signalgeneratorsignal generator
33
Zeitvariable analoge EingangsspannungTime-variable analog input voltage
44
Referenzspannungreference voltage
55
Zähleinrichtung, ZählerCounting device, counter
66
Bewertungseinrichtungevaluator
77
Zufallsbitrandom bits
88th
Gültigkeitssignalvalid signal
99
Positiver EingangPositive input
1010
Negativer EingangNegative entrance
1111
Ausgangoutput
1212
EingangsoffsetspannungInput offset voltage
1313
AusgangsspannungsverlaufOutput voltage curve
14, 1514, 15
DifferenzspannungsbereicheDifferential voltage ranges
1616
Steuereinrichtungcontrol device
1717
Ein- und AusgabeschnittstellenInput and output interfaces
1818
Hilfszählersubmeter
19, 2019, 20
Auswahlschaltungenselection circuits
2121
ImpulsbreitenzählerPulse width counter
22 22
Addiereradder
2323
Akkumulatorregisteraccumulator
2424
XOR-GatterXOR gate
2525
Treiberstufedriver stage

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • Cetin Kaya Koc (Editor): Cryptographic Engineering. Springer Science + Business Media, LLC 2009. [0004] Cetin Kaya Koc (Editor): Cryptographic Engineering. Springer Science + Business Media, LLC 2009. [0004]
  • Jennewein, T., Achleitner, U., Weihs, G., Weinfurter, H., & Zeilinger, A.: A fast and compact quantum random number generator. Review of Scientific Instruments, 71(4), 1675–1680 (2000). [0004] Jennewein, T., Achleitner, U., Weihs, G., Weinfurter, H., & Zeilinger, A .: A fast and compact quantum random number generator. Review of Scientific Instruments, 71 (4), 1675-1680 (2000). [0004]
  • Wang, Y.-H.; Zhang, H.-G.; Shen, Z.-D.; Li, K.-S.: Thermal noise random number generator based on SHA-2 (512). Proceedings of 2005 International Conference on Machine Learning and Cybernetics (Vol. 7, S. 3970–3974). [0004] Wang, Y.-H .; Zhang, H.-G .; Shen, Z.-D .; Li, K.-S .: Thermal noise random number generator based on SHA-2 (512). Proceedings of 2005 International Conference on Machine Learning and Cybernetics (Vol. 7, pp. 3970-3974). [0004]
  • Brederlow, R.; Prakash, R.; Paulus, C.; Thewes, R.: (2006). A low-power true random number generator using random telegraph noise of single Oxide-traps. In Solid-State Circuits Conference, 2006 (ISSCC 2006). Digest of Technical Papers. IEEE International, S. 1666–1675. [0004] Brederlow, R .; Prakash, R .; Paul, C .; Thewes, R .: (2006). A low-power true random number generator using random telegraph noise of single oxide traps. In Solid State Circuits Conference, 2006 (ISSCC 2006). Digest of Technical Papers. IEEE International, pp. 1666-1675. [0004]
  • Berk Sunar, William J. Martin and Douglas R. Stinson: A Provably Secure True Random Number Generator with Built-In Tolerance to Active Attacks. In: IEEE Transactions on Computers (2007). [0004] Berk Sunar, William J. Martin and Douglas R. Stinson: A Provably Secure True Random Number Generator with Built-In Tolerance to Active Attacks. In: IEEE Transactions on Computers (2007). [0004]
  • Markus Dichtl and Jovan Dj. Golic: High-speed true random number generation with logic gates only. CHES, S. 45–62, 2007. [0004] Markus Dichtl and Jovan Dj. Golic: High-speed true random number generation with logic gates only. CHES, p. 45-62, 2007. [0004]
  • Ihor Vasyltsov u. a.: Fast Digital TRNG Based on Metastable Ring Oscillator. In: Cryptographic Hardware and Embedded Systems – CHES 2008. [0004] Ihor Vasyltsov et al .: Fast Digital TRNG Based on Metastable Ring Oscillator. In: Cryptographic Hardware and Embedded Systems - CHES 2008. [0004]
  • Killmann, W., & Schindler, W.: A Design for a Physical RNG with Robust Entropy Estimators. In Proceedings of the 10th international workshop on Cryptographic Hardware and Embedded Systems, S. 146–163. Berlin, Heidelberg: Springer-Verlag, 2008. [0004] Killmann, W., & Schindler, W .: A Design for a Physical RNG with Robust Entropy Estimators. In Proceedings of the 10th International Workshop on Cryptographic Hardware and Embedded Systems, p. 146-163. Berlin, Heidelberg: Springer-Verlag, 2008. [0004]
  • Marco Bucci and Raimondo Luzzi: Fully Digital Random Bit Generators for Cryptographic Applications. IEEE Transactions on Circuits and Systems – I: Regular Papers, VOL. 55, NO. 3, S. 861–875, April 2008. [0004] Marco Bucci and Raimondo Luzzi: Fully Digital Random Bit Generators for Cryptographic Applications. IEEE Transactions on Circuits and Systems - I: Regular Papers, VOL. 55, NO. 3, pp. 861-875, April 2008. [0004]
  • Yoo, S.-K.; Karakoyunlu, D.; Birand, B.; Sunar, B.: Improving the Robustness of Ring Oscillator TRNGs. ACM Trans. Reconfigurable Technol. Syst., 3(2), 9:1–9:30 (2010). [0004] Yoo, S.-K .; Karakoyunlu, D .; Birand, B .; Sunar, B .: Improving the Robustness of Ring Oscillator TRNGs. ACM Trans. Reconfigurable Technol. Syst., 3 (2), 9: 1-9: 30 (2010). [0004]
  • Chan, J. J. M.; Sharma, B.; Lv, J.; Thomas, G.; Thulasiram, R.; Thulasiraman, P.: True Random Number Generator Using GPUs and Histogram Equalization Techniques. 2011 IEEE 13th International Conference on High Performance Computing and Communications (HPCC), S. 161–170. [0004] Chan, JJM; Sharma, B .; Lv, J .; Thomas, G .; Thulasiram, R .; Thulasiraman, P .: True Random Number Generator Using GPUs and Histogram Equalization Techniques. 2011 IEEE 13th International Conference on High Performance Computing and Communications (HPCC), pp. 161-170. [0004]

Claims (10)

Verfahren zum Erzeugen von Zufallszahlen, gekennzeichnet durch folgende Verfahrensschritte: 1. Beaufschlagung von hochverstärkenden Differenzverstärkern (Komparatoren) mit Verläufen der Differenzspannung zwischen den Eingängen, die den Bereich der Eingangsoffsetspannung durchlaufen. 2. Bewertung des Schwingungsverhaltens der Ausgänge. 3. Abgabe von binären Zufallswerten in Abhängigkeit davon, ob das aktuelle Schwingungsverhalten zur Ableitung von Zufallsbitmustern geeignet ist oder nicht.Method for generating random numbers, characterized by the following method steps: 1. Loading of high-gain differential amplifiers (comparators) with curves of the differential voltage between the inputs, which pass through the range of the input offset voltage. 2. Evaluation of the vibration behavior of the outputs. 3. Delivery of binary random values depending on whether the current oscillation behavior is suitable for deriving random bit patterns or not. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Verfahrensschritte zyklisch durchlaufen werden, wobei der zeitliche Verlauf der Differenzspannung zwischen den Eingängen verändert und das Schwingungsverhalten der Ausgänge ausgewertet wird, und daß die Zufallsbitmuster mit solchen Zeitverläufen der Differenzspannung zwischen den Eingängen gewonnen werden, die sich hierbei als besonders geeignet erwiesen haben.Method according to Claim 1, characterized in that the method steps are cycled, wherein the time profile of the differential voltage between the inputs is changed and the oscillation behavior of the outputs is evaluated, and in that the random bit patterns are obtained with such time profiles of the differential voltage between the inputs have proven to be particularly suitable here. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Verfahrensschritt 2 durch Zählen der abgegebenen Schwingungen ausgeführt wird.A method according to claim 1, characterized in that the method step 2 is carried out by counting the vibrations emitted. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Verfahrensschritt 2 durch Auszählen der Impulsbreiten der abgegebenen Schwingungen ausgeführt wird.Method according to Claim 1, characterized in that method step 2 is carried out by counting the pulse widths of the emitted vibrations. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Verfahrensschritt 2 durch Vergleichen der abgegebenen Signalverläufe mit bekanntermaßen geeigneten Schwingungsmustern ausgeführt wird.Method according to Claim 1, characterized in that method step 2 is carried out by comparing the emitted signal profiles with known suitable vibration patterns. Verfahren nach Anspruch 1 und 3 oder 4, dadurch gekennzeichnet, daß der Verfahrensschritt 3 so ausgeführt wird, daß ein Anteil zur Zufallszahl nur dann geliefert wird, wenn bestimmte minimale Zählwerte nicht unterschritten und bestimmte maximale Zählwerte nicht überschritten werden.Method according to Claim 1 and 3 or 4, characterized in that method step 3 is carried out in such a way that a proportion to the random number is only supplied if certain minimum counts are not undershot and certain maximum counts are not exceeded. Vorrichtung zur Durchführung des Verfahrens nach jedem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Eingänge von Komparatoren 1 an zeitvariable Analogsignalquellen 2 und Referenzspannungsquellen 4 angeschlossen sind und daß die Ausgänge der besagten Komparatoren 1 mit Zähleinrichtungen 5 verbunden sind, denen ihrerseits Bewertungseinrichtungen 6 nachgeordnet sind.Apparatus for carrying out the method according to any one of the preceding claims, characterized in that the inputs of comparators 1 to time-variable analog signal sources 2 and reference voltage sources 4 are connected and that the outputs of said comparators 1 with counters 5 which in turn have valuation facilities 6 are subordinate. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die Zähleinrichtungen 5 als Impulsanzahlzähler ausgebildet sind, deren Zähltakteingänge mit den Ausgängen der Komparatoren 1 verbunden sind.Apparatus according to claim 7, characterized in that the counting means 5 are formed as a pulse number counter whose Zählakteingänge with the outputs of the comparators 1 are connected. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die Zähleinrichtungen 5 als Impulsdauerzähler ausgebildet sind, deren Zählerlaubniseingänge mit den Ausgängen der Komparatoren 1 verbunden sind.Apparatus according to claim 7, characterized in that the counting means 5 are designed as pulse duration counter whose Zähllaubniseingänge with the outputs of the comparators 1 are connected. Vorrichtung nach Anspruch 8 oder 9, dadurch gekennzeichnet, daß die Zähleinrichtungen 5 aus jeweils zwei Zählern bestehen, von denen der eine eine Zählweitenbegrenzung hat und der andere nicht.Apparatus according to claim 8 or 9, characterized in that the counting means 5 consist of two counters, one of which has a Zählweitenbegrenzung and the other not.
DE102015010518.3A 2015-08-13 2015-08-13 Method and device for generating random numbers Withdrawn DE102015010518A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015010518.3A DE102015010518A1 (en) 2015-08-13 2015-08-13 Method and device for generating random numbers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015010518.3A DE102015010518A1 (en) 2015-08-13 2015-08-13 Method and device for generating random numbers

Publications (1)

Publication Number Publication Date
DE102015010518A1 true DE102015010518A1 (en) 2017-02-16

Family

ID=57907760

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015010518.3A Withdrawn DE102015010518A1 (en) 2015-08-13 2015-08-13 Method and device for generating random numbers

Country Status (1)

Country Link
DE (1) DE102015010518A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016005082A1 (en) 2016-04-27 2017-11-02 Wolfgang Matthes Method and device for generating random numbers by evaluating the vibration behavior of comparators
CN111901107A (en) * 2020-07-23 2020-11-06 南京低功耗芯片技术研究院有限公司 Entropy source and feedback coefficient calculation method based on asynchronous feedback unit

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
Berk Sunar, William J. Martin and Douglas R. Stinson: A Provably Secure True Random Number Generator with Built-In Tolerance to Active Attacks. In: IEEE Transactions on Computers (2007).
Brederlow, R.; Prakash, R.; Paulus, C.; Thewes, R.: (2006). A low-power true random number generator using random telegraph noise of single Oxide-traps. In Solid-State Circuits Conference, 2006 (ISSCC 2006). Digest of Technical Papers. IEEE International, S. 1666–1675.
Cetin Kaya Koc (Editor): Cryptographic Engineering. Springer Science + Business Media, LLC 2009.
Chan, J. J. M.; Sharma, B.; Lv, J.; Thomas, G.; Thulasiram, R.; Thulasiraman, P.: True Random Number Generator Using GPUs and Histogram Equalization Techniques. 2011 IEEE 13th International Conference on High Performance Computing and Communications (HPCC), S. 161–170.
Ihor Vasyltsov u. a.: Fast Digital TRNG Based on Metastable Ring Oscillator. In: Cryptographic Hardware and Embedded Systems – CHES 2008.
Jennewein, T., Achleitner, U., Weihs, G., Weinfurter, H., & Zeilinger, A.: A fast and compact quantum random number generator. Review of Scientific Instruments, 71(4), 1675–1680 (2000).
Killmann, W., & Schindler, W.: A Design for a Physical RNG with Robust Entropy Estimators. In Proceedings of the 10th international workshop on Cryptographic Hardware and Embedded Systems, S. 146–163. Berlin, Heidelberg: Springer-Verlag, 2008.
Marco Bucci and Raimondo Luzzi: Fully Digital Random Bit Generators for Cryptographic Applications. IEEE Transactions on Circuits and Systems – I: Regular Papers, VOL. 55, NO. 3, S. 861–875, April 2008.
Markus Dichtl and Jovan Dj. Golic: High-speed true random number generation with logic gates only. CHES, S. 45–62, 2007.
Wang, Y.-H.; Zhang, H.-G.; Shen, Z.-D.; Li, K.-S.: Thermal noise random number generator based on SHA-2 (512). Proceedings of 2005 International Conference on Machine Learning and Cybernetics (Vol. 7, S. 3970–3974).
Yoo, S.-K.; Karakoyunlu, D.; Birand, B.; Sunar, B.: Improving the Robustness of Ring Oscillator TRNGs. ACM Trans. Reconfigurable Technol. Syst., 3(2), 9:1–9:30 (2010).

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016005082A1 (en) 2016-04-27 2017-11-02 Wolfgang Matthes Method and device for generating random numbers by evaluating the vibration behavior of comparators
CN111901107A (en) * 2020-07-23 2020-11-06 南京低功耗芯片技术研究院有限公司 Entropy source and feedback coefficient calculation method based on asynchronous feedback unit

Similar Documents

Publication Publication Date Title
EP1643643B1 (en) Random number generator and method for random number generation
EP2183726B1 (en) Device and method for generating a random bit sequence
DE102008018678A1 (en) Apparatus and method for generating a random bit string
DE102013204274A1 (en) Method for detecting a correlation
DE102015010518A1 (en) Method and device for generating random numbers
DE102004061312B4 (en) Apparatus and method for detecting a potential attack on a cryptographic calculation
DE102012210361A1 (en) Method for monitoring an output of a random number generator
DE102015122973B4 (en) Signal processing device and measuring device for high-precision transit time measurement of two signals
DE102014200164A1 (en) A method for generating an output of a random source of a random number generator
DE19618098C1 (en) Random bit sequence generation circuit
DE102015120235A1 (en) Signal processing device and measuring device for high-precision transit time measurement of two signals
DE102020214998A1 (en) Quantum random number generator and method with direct random number extraction from multi-event histograms
DE102010021307A1 (en) Method for creating random bit streams that are utilized as keys in cryptographic applications, involves controlling irregular sample of noise sources by chaos-based switching circuit, where noises from sources are scanned by converter
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
DE102016200850A1 (en) Method for operating a safety-relevant device and device
DE102016119244B4 (en) Time to digital converter
DE102013210147A1 (en) Generate random bits
DE102014219651A1 (en) Method and apparatus for generating random bits
DE102013213095A1 (en) Generating a number of random bits
DE102013213385A1 (en) Method for evaluating an output of a random number generator
DE102016005082A1 (en) Method and device for generating random numbers by evaluating the vibration behavior of comparators
WO2015043855A2 (en) Generation of random bits
DE102006009939B4 (en) Random number generator and method for generating random numbers
DE1961973A1 (en) Circuit arrangement for measuring and classifying short times
DE10229202B4 (en) Trigger generator circuit

Legal Events

Date Code Title Description
R086 Non-binding declaration of licensing interest
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee