DE102015010518A1 - Method and device for generating random numbers - Google Patents
Method and device for generating random numbers Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
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.
-
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
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
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
Die Eingänge eines Komparators
Im Beispiel von
Anhand der
Der Komparator (
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.
Verbleibt die Eingangsspannung längere Zeit in diesem Bereich, entstehen Schwingungen am Ausgang (
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):
Damit ergibt sich eine Anstiegsgeschwindigkeit (z. B. in V/μs) von
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
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äß
Ist eine ausreichende Anzahl an Schwingungen abgezählt worden, wird eine weitere Karenzzeit t2 abgewartet. Sind in diesem Zeitabschnitt viele Schwingungen gezählt worden (
Sind hingegen gar keine (Idealfall) oder nur wenige Schwingungen gezählt worden (
Verweilzeit und Schrittweite werden gemäß
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
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.
- 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.
Die Steuereinrichtung
- 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).
- 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 Datenbusvon der Steuereinrichtung 16 geladen werden können.
- 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 thecontroller 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
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.
Der Mikrocontroller
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.
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
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.
- 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.
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.
- 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.
- 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äß
- 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.
- 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.
Sowohl dem Impulsbreitenzähler
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
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
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)
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)
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 |
-
2015
- 2015-08-13 DE DE102015010518.3A patent/DE102015010518A1/en not_active Withdrawn
Non-Patent Citations (11)
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)
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 |