DE102020206723A1 - Random number generator - Google Patents
Random number generator Download PDFInfo
- Publication number
- DE102020206723A1 DE102020206723A1 DE102020206723.6A DE102020206723A DE102020206723A1 DE 102020206723 A1 DE102020206723 A1 DE 102020206723A1 DE 102020206723 A DE102020206723 A DE 102020206723A DE 102020206723 A1 DE102020206723 A1 DE 102020206723A1
- Authority
- DE
- Germany
- Prior art keywords
- random number
- number generator
- output
- matrix
- oscillator
- 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.)
- Pending
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
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
Zufallszahlengenerator mit rein digitalen Schaltungselementen, der eine Matrix (M) aus einzelnen Oszillator-Schaltungen (100) umfasst, die eine gerade Anzahl Eingänge (t, b, I, r) aufweisen, die jeweils mit einem Ausgang (o) einer benachbarten Oszillator-Schaltung (100) verbunden sind, wobei jeweils zwei (t, b; l, r) der Eingänge mit einem ersten Exklusiv-Oder-Gatter (102, 104) verbunden sind, und die Ausgänge der ersten Exklusiv-Oder-Gatter (102, 104) mit Eingängen eines weiteren Exklusiv-Oder-Gatters (106) verbunden sind, dessen Ausgangssignal ein Ausgangssignal (o) der einzelnen Oszillator-Schaltung (100) bildet, und mit Eingängen (b, t, r, I) der jeweils benachbarten Oszillator-Schaltungen (100) verbunden ist, wobei die Oszillator-Schaltungen (100) an den Rändern der Matrix (M) entsprechend mit Oszillator-Schaltungen (100) an den gegenüberliegenden Rändern der Matrix (M) verbunden sind, und das Ausgangssignal einer der Oszillator-Schaltungen (Out) den Signal-Ausgang (out) der Matrix (M) bildet.Random number generator with purely digital circuit elements, which comprises a matrix (M) of individual oscillator circuits (100), which have an even number of inputs (t, b, I, r), each with an output (o) of an adjacent oscillator Circuit (100) are connected, two (t, b; l, r) of the inputs being connected to a first exclusive-or gate (102, 104), and the outputs of the first exclusive-or gates (102, 104) are connected to inputs of a further exclusive-OR gate (106), the output signal of which forms an output signal (o) of the individual oscillator circuit (100), and to inputs (b, t, r, I) of the respective neighboring oscillator Circuits (100), the oscillator circuits (100) at the edges of the matrix (M) being connected to oscillator circuits (100) at the opposite edges of the matrix (M), and the output signal of one of the oscillators Circuits (Out) the signal output (out) of the Matri x (M).
Description
Die vorliegende Erfindung betrifft einen selbsttestbaren echten Zufallszahlengenerator basierend auf einer Kombination von individualisierten Matrixfeld-Oszillatoren bestehend aus sich gegenseitig beeinflussenden XOR-Mini-Oszillatoren.The present invention relates to a self-testable real random number generator based on a combination of individualized matrix field oscillators consisting of mutually influencing XOR mini-oscillators.
Stand der TechnikState of the art
In vielen Bereichen werden Zufallszahlen verwendet. Dazu zählen Bereiche wie Kryptographie, Monte-Carlo-Berechnung und Simulation, Glücksspiele usw.. Ein besonders wichtiger Bereich ist die Kryptographie. Hier werden Zufallszahlen u.a. für Schlüssel für symmetrische und asymmetrische Kryptographieverfahren, kryptographische Abfrage-Antwort-Protokolle, Initialisierungsvektoren oder Zufallsstopfbits benötigt. Ein praktisches Anwendungsgebiet in diesem Bereich sind beispielsweise Chipkarten.Random numbers are used in many areas. These include areas such as cryptography, Monte Carlo calculation and simulation, games of chance, etc. A particularly important area is cryptography. Here random numbers are required, among other things, for keys for symmetric and asymmetric cryptography procedures, cryptographic query-response protocols, initialization vectors or random stuffing bits. Chip cards, for example, are a practical area of application in this area.
Zufallszahlen können durch Zufallszahlengeneratoren erzeugt werden. Es gibt im Wesentlichen zwei Hauptarten von Zufallszahlengeneratoren (random number generators - RNGs): deterministische (pseudozufällige) RNGs (DRNG oder PRNG) und nichtdeterministische Zufallsgeneratoren (echt zufällig, Hardware) basierend auf einen physikalischen Prozess (physical true RNG - TRNG oder PTRNG). Die letzteren können kurz als echte oder physikalische Zufallszahlengeneratoren bezeichnet werden. Die Hauptanforderung an sie ist, dass sie unvorhersehbare und unkontrollierbare Zufallszahlen generieren. Obwohl sehr viele Konstruktionen von physikalischen Zufallszahlengeneratoren existieren und obwohl auch die Forschung auf diesem Gebiet weiter geht, lässt sich der augenblickliche Stand der Technik gemäß der wissenschaftlichen Veröffentlichung „
- - auf Rauschen basierende Zufallszahlengeneratoren (noise based RNGs)
- - Zufallszahlengeneratoren basierend auf einem frei laufenden Oszillator (free running oscillator RNGs)
- - Chaos-Zufallszahlengeneratoren (chaos RNGs)
- - Quanten-Zufallszahlengeneratoren (quantum RNGs)
- - Noise based random number generators (noise based RNGs)
- - Random number generators based on a free running oscillator (RNGs)
- - Chaos random number generators (chaos RNGs)
- - Quantum random number generators (quantum RNGs)
Zurzeit gibt es keine Standardisierung in diesem Bereich. Allerdings herrscht in der Industrie aktuell die Verwendung von physikalischen Zufallszahlengeneratoren basierend auf einem frei laufenden Oszillator (free running oscillator - FRO) vor, deren Zufälligkeit bzw. Entropie sich von elektronischem Rauschen in logischen Schaltungen ableiten lässt und die sich nicht als strikt gleichmäßig zufällig erwiesen haben. Diese Art von Zufallszahlengeneratoren bietet allerdings grundsätzlich eine leichtere technische Realisierbarkeit. Eine neuere Entwicklung in diesem Bereich sind Zufallszahlengeneratoren basierend auf einer Kombination eines linearen Rückkopplungsschieberegisters (linear feedback shift register - LFSR) und eines frei laufenden Oszillators (FRO). Sie werden Fibonacci-Ringoszillator (Finbonacci ring oscillator - FIRO) und Galois-Ringoszillator (Galois ring oscillator - GARO) genannt.There is currently no standardization in this area. However, in industry there is currently the use of physical random number generators based on a free running oscillator (FRO), the randomness or entropy of which can be derived from electronic noise in logic circuits and which have not proven to be strictly uniformly random . However, this type of random number generator basically offers easier technical feasibility. A more recent development in this area are random number generators based on a combination of a linear feedback shift register (LFSR) and a free-running oscillator (FRO). They are called the Fibonacci ring oscillator (FIRO) and the Galois ring oscillator (GARO).
Weiterer diesbezüglicher Stand der Technik ergibt sich aus dem folgenden wissenschaftlichen Veröffentlichungen:
-
V. Fischer, Random Number Generators for Cryptography - Design and Evaluation, Summer School on Design and Security of Cryptographic Algorithms and Devices, Sibenik, Croatia, June 2014 -
M. Dichtl, Fibonacci Ring Oscillators as True Random Number Generators - A Security Risk, IACR Cryptology ePrint Archive, 270, 2015 -
W. Killmann and W. Schindler, AIS20/AIS31 - A Proposal for: Functionality Classes for Random Number Generators, version 2.0, 2011 -
A. Rukhin et al., A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications, NIST Special Publication 800-22, US Department of Commerce, National Institute of Standards and Technology, Gaithersburg, MD, April 2010 -
M. Dichtl, J.D. Golic, High-Speed True Random Number Generation with Logic Gates Only, Cryptographic Hardware and Embedded Systems - CHES 2007, Lecture Notes in Computer Science, vol 4727, Springer, Berlin, Heidelberg, pp 45-62, 2007 -
J. Balasch et al., Design and testing methodologies for true random number generators towards industry certification, 2018 IEEE 23rd European Test Symposium (ETS), Bremen, pp. 1-10, 2018 -
M. Sönmez Turan et al., Recommendation for the Entropy Sources Used for Random Bit Generation, NIST Special Publication 800-90B, Department of Commerce, National Institute of Standards and Technology, Gaithersburg, MD, January 2018 -
A. Schubert and W. Anheier, On Random Pattern Testability of Cryptographic VLSI Cores, Journal of Electronic Testing: Theory and Applications, Vol. 16, No. 3, Kluwer Academic Publishers, Netherlands, pp. 185-192, 2000 -
A. Schubert, Modellierung, Optimierung und Selbsttest von kryptographischen virtuellen Komponenten, Dissertation Universität Bremen, Fortschritt-Berichte VDI Reihe 10, Nr. 690, VDI Verlag GmbH, Düsseldorf, 2002
-
V. Fischer, Random Number Generators for Cryptography - Design and Evaluation, Summer School on Design and Security of Cryptographic Algorithms and Devices, Sibenik, Croatia, June 2014 -
M. Dichtl, Fibonacci Ring Oscillators as True Random Number Generators - A Security Risk, IACR Cryptology ePrint Archive, 270, 2015 -
W. Killmann and W. Schindler, AIS20 / AIS31 - A Proposal for: Functionality Classes for Random Number Generators, version 2.0, 2011 -
A. Rukhin et al., A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications, NIST Special Publication 800-22, US Department of Commerce, National Institute of Standards and Technology, Gaithersburg, MD, April 2010 -
M. Dichtl, JD Golic, High-Speed True Random Number Generation with Logic Gates Only, Cryptographic Hardware and Embedded Systems - CHES 2007, Lecture Notes in Computer Science, vol 4727, Springer, Berlin, Heidelberg, pp 45-62, 2007 -
J. Balasch et al., Design and testing methodologies for true random number generators towards industry certification, 2018 IEEE 23rd European Test Symposium (ETS), Bremen, pp. 1-10, 2018 -
M. Sönmez Turan et al., Recommendation for the Entropy Sources Used for Random Bit Generation, NIST Special Publication 800-90B, Department of Commerce, National Institute of Standards and Technology, Gaithersburg, MD, January 2018 -
A. Schubert and W. Anheier, On Random Pattern Testability of Cryptographic VLSI Cores, Journal of Electronic Testing: Theory and Applications, Vol. 16, No. 3, Kluwer Academic Publishers, Netherlands, pp. 185-192, 2000 -
A. Schubert, Modeling, Optimization and Self-Testing of Cryptographic Virtual Components, Dissertation University of Bremen, Progress Reports VDI Series 10, No. 690, VDI Verlag GmbH, Düsseldorf, 2002
Zusammenfassend kann man über FRO-Zufallszahlengeneratoren sagen, dass sie niedrige Kosten und Aufwand versprechen, aber eine Lösung mit niedriger Entropie darstellen. Sie bieten weder eine sehr gute noch eine beweisbare Zufälligkeit. Außerdem besteht die Gefahr der Kopplung von FROs mit dem Systemtakt oder anderen Logikschaltungen auf dem Chip einschließlich in der Nähe liegender FROs. Die Implementierungsdetails von FROs müssen häufig an den spezifischen Typ, die Generation oder die Technologie eines FPGAs oder ASICs angepasst werden. Trotz ihres interessanten und innovativen Prinzips stellen Fibonacci-Ringoszillatoren und Galois-Ringoszillatoren nur eine Teillösung der Probleme von FROs dar. Das Problem der Nicht-Portierbarkeit und der Anforderung eines genügend großen Rauschens für ein vernünftiges zufälliges Verhalten, weit weg von einem pseudozufälligen Verhalten, bleiben bestehen. Ein weiteres beobachtetes Problem dieser neuen Art von Ringoszillatoren ist die Gefahr eines ungewollten Stillstandes oder des Auftretens von periodischen statt chaotischen Oszillationen. Allgemein ist die Verbreitung echter Zufallszahlengeneratoren noch eher begrenzt. Das liegt wohl auch daran, dass der Preis von guten echten kommerziellen Zufallszahlengeneratoren mit hohen Bitraten wie beispielsweise echten Quanten-Zufallszahlengeneratoren recht hoch ist.In summary, one can say about FRO random number generators that they promise low costs and effort, but represent a solution with low entropy. They offer neither a very good nor a provable randomness. There is also a risk of FROs being coupled to the system clock or other logic circuitry on the chip, including nearby FROs. The implementation details of FROs often need to be adapted to the specific type, generation or technology of an FPGA or ASIC. Despite their interesting and innovative principle, Fibonacci ring oscillators and Galois ring oscillators only represent a partial solution to the problems of FROs. The problem of non-portability and the requirement of a sufficiently large noise for a reasonable random behavior, far from a pseudo-random behavior, remain exist. Another problem observed with this new type of ring oscillator is the risk of an unwanted standstill or the occurrence of periodic rather than chaotic oscillations. In general, the spread of real random number generators is still rather limited. This is probably also due to the fact that the price of good real commercial random number generators with high bit rates, such as real quantum random number generators, is quite high.
Ausgehend von dem beschriebenen Stand der Technik ist es Aufgabe der vorliegenden Erfindung, einen Zufallszahlengenerator zu schaffen, der ein robustes, zuverlässiges, maximal echt zufälliges Verhalten garantiert und ausschließlich unter Verwendung bekannter digitaler Schaltungen aufgebaut ist. Damit lässt sich erfindungsgemäß erstmals eine kryptographische Schaltung zur Ausführung symmetrischer und/oder asymmetrische Kryptographieverfahren schaffen, die vollständig, einschließlich eines echten Zufallszahlengenerators mit robuster, zuverlässiger, annähernd maximal echter Zufälligkeit (Entropie), auf einer einzigen integrierten digitalen Schaltung aufgebaut ist.Starting from the prior art described, the object of the present invention is to create a random number generator which guarantees a robust, reliable, maximally genuinely random behavior and is constructed exclusively using known digital circuits. In this way, according to the invention, a cryptographic circuit for executing symmetrical and / or asymmetrical cryptography methods can be created for the first time, which is completely built up on a single integrated digital circuit, including a real random number generator with robust, reliable, approximately maximum real randomness (entropy).
Erfindungsgemäß wird diese Aufgabe dadurch gelöst, dass der Zufallszahlengenerator eine Matrix aus einzelnen Oszillator-Schaltungen umfasst, die eine gerade Anzahl Eingänge aufweisen, die jeweils mit einem Ausgang einer benachbarten Oszillator-Schaltung verbunden sind, wobei jeweils zwei der Eingänge mit einem ersten Exklusiv-Oder-Gatter verbunden sind, und die Ausgänge der ersten Exklusiv-Oder-Gatter mit Eingängen eines weiteren Exklusiv-Oder-Gatters verbunden sind, dessen Ausgangssignal ein Ausgangssignal der einzelnen Oszillator-Schaltung bildet, und mit Eingängen der jeweils benachbarten Oszillator-Schaltungen verbunden ist, wobei die Oszillator-Schaltungen an den Rändern der Matrix entsprechend mit Oszillator-Schaltungen an den gegenüberliegenden Rändern der Matrix verbunden sind, und das Ausgangssignal einer der Oszillator-Schaltungen den Signal-Ausgang der Matrix bildet.According to the invention, this object is achieved in that the random number generator comprises a matrix of individual oscillator circuits that have an even number of inputs that are each connected to an output of an adjacent oscillator circuit, two of the inputs with a first exclusive or Gates are connected, and the outputs of the first exclusive-or gates are connected to inputs of a further exclusive-or gate, the output signal of which forms an output signal of the individual oscillator circuit, and is connected to inputs of the respective neighboring oscillator circuits, wherein the oscillator circuits at the edges of the matrix are correspondingly connected to oscillator circuits at the opposite edges of the matrix, and the output signal of one of the oscillator circuits forms the signal output of the matrix.
Mit dieser Schaltungsanordnung lässt sich erstmals mittels eines neuartigen Zusammenschlusses bekannter digitaler Einzelschaltungen ein analoges Ausgangssignal mit echt zufälligem Signalverlauf erzeugen, das eine robuste und zuverlässige Extraktion von annähernd maximal echter Zufälligkeit (Entropie) durch Abtastung ermöglicht. Es ist nicht mehr nötig, wie bei bisherigen echten Zufallszahlengeneratoren mit hoher Qualität, dieses echt zufällige analoge Ausgangssignal mittels analoger Schaltungen und/oder anderen physikalischen Hilfsmittel, wie beispielsweise radioaktiven Zerfällen zu bilden.With this circuit arrangement it is possible for the first time by means of a novel combination of known digital individual circuits to generate an analog output signal with a genuinely random signal curve, which enables a robust and reliable extraction of almost a maximum of genuine randomness (entropy) by scanning. It is no longer necessary, as with previous real random number generators with high quality, to generate this real random analog output signal by means of analog circuits and / or other physical aids, such as radioactive decay.
Der Grundgedanke besteht darin, mit sogenannten Matrixfeld-Oszillatoren möglichst nah an der Idee eines auf Oszillatoren basierenden Zufallszahlengenerators zu bleiben, aber a) den echt zufälligen Einfluss (echte Entropie) von unvorhersehbaren, intrinsischen Veränderungen (Instabilitäten) von Verzögerungszeiten von Schaltungselementen durch elektronisches Rauschen auf die Signalausbreitung und damit auf die Zustände in einer komplexen asynchronen Schaltung entscheidend zu erhöhen bzw. zu verstärken und so den pseudozufälligen Einfluss signifikant zu reduzieren und b) die positiven Eigenschaften von XOR-Logikbausteinen in Form von sogenannten Mini-Oszillatoren möglichst optimal zu nutzen und c) die Sicherheit und Robustheit gegen unerwünschte Manipulationen (Attacken) durch die gewählte komplexe Schaltungsstruktur deutlich zu erhöhen. Die Ausgangssignale der XOR-Mini-Oszillatoren an den Rändern der Matrixfeld-Oszillatoren werden nicht direkt als Eingangssignale zurückgeführt, sondern sie dienen als Eingangssignale für die XOR-Mini-Oszillatoren an den gegenüberliegenden Rändern des jeweiligen Matrixfeld-Oszillators. Diese Maßnahme dient dazu, die statistischen Eigenschaften des Zufallszahlengenerators zu verbessern. Dabei sollen die Matrixfeld-Oszillatoren nicht zu groß werden, um eine Kombination von mehreren Matrixfeld-Oszillatoren zu ermöglichen.The basic idea is to stay as close as possible to the idea of an oscillator-based random number generator with so-called matrix field oscillators, but a) the real random influence (real entropy) of unpredictable, intrinsic changes (instabilities) of delay times of circuit elements due to electronic noise to decisively increase or amplify the signal propagation and thus the states in a complex asynchronous circuit and thus significantly reduce the pseudo-random influence and b) use the positive properties of XOR logic modules in the form of so-called mini-oscillators as optimally as possible and c ) security and robustness against unwanted manipulation (attacks) through the selected complex circuit structure to increase significantly. The output signals of the XOR mini oscillators at the edges of the matrix field oscillators are not fed back directly as input signals, but rather serve as input signals for the XOR mini oscillators at the opposite edges of the respective matrix field oscillator. This measure serves to improve the statistical properties of the random number generator. The matrix field oscillators should not become too large in order to enable a combination of several matrix field oscillators.
Weitere bevorzugte Ausführungsformen der vorliegenden Erfindung ergeben sich aus den Unteransprüchen:
- Hierbei ist es bevorzugt, dass das Ausgangssignal der einzelnen Oszillator-Schaltung noch über einen Signaleingang eines Multiplexers geführt ist, dessen Steuereingang mit einem ersten binären Steuersignal und dessen anderer Signaleingang mit einem weiteren binären Steuersignal verbunden ist, und dessen Ausgangssignal das Ausgangssignal der einzelnen Oszillator-Schaltung bildet, wobei das erste binäre Steuersignal zum Aktivieren und Deaktivieren der Matrix aus Oszillator-Schaltungen dient, und das weitere binäre Steuersignal zum sicheren Anlaufen der einzelnen Oszillator-Schaltungen dient.
- It is preferred that the output signal of the individual oscillator circuit is also routed via a signal input of a multiplexer, the control input of which is connected to a first binary control signal and the other signal input of which is connected to a further binary control signal, and the output signal of which is the output signal of the individual oscillator Forms circuit, wherein the first binary control signal is used to activate and deactivate the matrix of oscillator circuits, and the further binary control signal is used to safely start the individual oscillator circuits.
Auf diese Weise kann der erfindungsgemäße Zufallszahlengenerator gezielt ein- und ausgeschaltet werden und gleichzeitig kann ein sicheres Anschwingen der einzelnen Oszillator-Schaltungen herbeigeführt werden.In this way, the random number generator according to the invention can be switched on and off in a targeted manner and, at the same time, reliable oscillation of the individual oscillator circuits can be brought about.
Es ist weiter bevorzugt, das Ausgangssignal mindestens einer der einzelnen Oszillator-Schaltungen über einen Inverter zu führen. Dies verbessert sowohl die Zufälligkeit des Ausgangssignals als auch die Sicherheit des Anschwingens der verbundenen Oszillator-Schaltungen.It is further preferred to route the output signal of at least one of the individual oscillator circuits via an inverter. This improves both the randomness of the output signal and the reliability of the oscillation of the connected oscillator circuits.
Weiter ist es bevorzugt, dass die Matrix zweidimensional, vorzugsweise quadratisch ist, und vorzugsweise 6 x 6 einzelne Oszillator-Schaltungen umfasst.It is further preferred that the matrix is two-dimensional, preferably square, and preferably comprises 6 × 6 individual oscillator circuits.
Die vorliegende Erfindung würde zwar auch mit einer eindimensionalen Matrix funktionieren, dann ist ein sicheres Anschwingen der Oszillatoren aber nicht mehr garantiert und das zufällige Verhalten könnte durch Einwirkungen von außen manipuliert werden. Eine mehr als zweidimensionale Ausführung der Matrix führt zu extrem kompliziertem Schaltungsaufbau, ohne dass noch ein erheblicher Gewinn an Manipulationsfestigkeit und Zufälligkeit des Schaltungsverhaltens erzielt werden könnte.The present invention would also work with a one-dimensional matrix, but then reliable oscillation of the oscillators is no longer guaranteed and the random behavior could be manipulated by external influences. A more than two-dimensional design of the matrix leads to an extremely complicated circuit structure without any significant gain in manipulation resistance and randomness of the circuit behavior.
Weiter ist es bevorzugt, dass eine weitere der Oszillator-Schaltungen der Matrix mit einem speziellen weiteren binären Steuersignal an ihrem Multiplexer verbunden ist, welches so eingerichtet ist, dass es für eine kurze Zeitspanne direkt vor der Aktivierung der Matrix über das erste binäre Steuersignal aktiviert wird, und damit zum sicheren Anlaufen der Oszillator-Schaltungen der Matrix dient. Auf diese Weise kann ein sicheres Anschwingen der Oszillatoren der Matrix sichergestellt werden.It is also preferred that a further one of the oscillator circuits of the matrix is connected to a special further binary control signal at its multiplexer, which is set up in such a way that it is activated for a short period of time directly before the matrix is activated via the first binary control signal , and thus serves to safely start up the oscillator circuits of the matrix. In this way, a reliable start-up of the oscillators of the matrix can be ensured.
Weiter ist es bevorzugt, dass lediglich eine weitere Oszillator-Schaltung in der Matrix mit einem Inverter versehen ist.It is further preferred that only one further oscillator circuit in the matrix is provided with an inverter.
Es hat sich nämlich gezeigt, dass das Vorsehen eines Inverters in der gesamten Matrix das Anschwingen aller Oszillatoren verbessert. Weitere Inverter vorzusehen bringt keinen größeren Zugewinn mehr, erhöht aber den Schaltungsaufwand.It has been shown that the provision of an inverter in the entire matrix improves the oscillation of all oscillators. Providing more inverters does not bring any greater gain, but increases the circuit complexity.
Weiter ist es erfindungsgemäß bevorzugt, das Ausgangssignal der Matrix mit einem D-Kippglied (erste Metastabiltäts-FF-Stufe) zu verbinden, dessen Ausgangssignal das abgetastete - ggf. metastabile - Ausgangssignal der Matrix darstellt. Zusammen mit der zweiten Metastabiltäts-FF-Stufe kann auf dieser Weise am einfachsten das gewünschte digitale Ausgangssignal der Matrix bereitgestellt werden, da die Matrix selbst, wie oben beschrieben, trotz ihrer Zusammensetzung ausschließlich aus Digitalschaltungen ein analoges Ausgangssignal liefert.Furthermore, it is preferred according to the invention to connect the output signal of the matrix to a D flip-flop (first metastabilty FF stage), the output signal of which represents the sampled - possibly metastable - output signal of the matrix. Together with the second metastability FF stage, the desired digital output signal of the matrix can most easily be provided in this way, since the matrix itself, as described above, supplies an analog output signal exclusively from digital circuits despite its composition.
Eine Verletzung der Setup- and Hold- Zeiten der ersten D-Kippglied-Stufe durch das analoge Ausgangssignal der Matrix führt zu einen nicht digitalen (metastabilen) „Zwischensignal“ nach der ersten D-Kippglied-Stufe, siehe https://de.wikipedia.org/wiki/Metastabilität_(digitale_Schaltung). Erst nach der zweiten D-Kippglied-Stufe erhält man ein rein digitales und synchronisiertes Ausgangssignal.A violation of the setup and hold times of the first D flip-flop stage by the analog output signal of the matrix leads to a non-digital (metastable) "intermediate signal" after the first D flip-flop stage, see https: //de.wikipedia .org / wiki / metastability_ (digital_circuit). A purely digital and synchronized output signal is only obtained after the second D flip-flop stage.
Weiter ist es bevorzugt, wenn der erfindungsgemäße Zufallszahlengenerator mehrere Matrizen aus einzelnen Oszillator-Schaltungen umfasst, deren abgetastete Ausgangssignale alle jeweils mit einem Eingang eines Exklusiv-Oder-Gatters verbunden sind, dessen Ausgang die Zufallssequenz liefert.It is also preferred if the random number generator according to the invention comprises several matrices of individual oscillator circuits, the sampled output signals of which are all connected to an input of an exclusive-or gate, the output of which supplies the random sequence.
Die XOR-Kombination von mehreren individualisierten Matrixfeld-Oszillatoren gleichzeitig mit der Digitalisierung (und Synchronisierung) hat den Vorteil, dass ggf. auch der Ausfall eines Matrixfeld-Oszillators abgefangen wird. The XOR combination of several individualized matrix field oscillators at the same time as digitization (and synchronization) has the advantage that the failure of a matrix field oscillator may also be intercepted.
Außerdem wird der Zufallszahlengenerator durch die XOR-Kombination unabhängiger Matrixfeld-Oszillatoren zufälliger und robuster, da die Entropie am Ausgang der XOR-Kombination größer als die einzelnen Entropien an den Ausgängen der Matrixfeld-Oszillatoren (vor der XOR-Kombination) ist.In addition, the XOR combination of independent matrix field oscillators makes the random number generator more random and robust, since the entropy at the output of the XOR combination is greater than the individual entropies at the outputs of the matrix field oscillators (before the XOR combination).
Weiter ist es bevorzugt, wenn der Ausgang des Exklusiv-Oder-Gatters mit einem Eingang der zweiten D-Kippglied-Stufe (zweite Metastabilitäts-FF-Stufe) verbunden ist, dessen Ausgang die digitalisierte und synchronisierte Zufallssequenz liefert.It is also preferred if the output of the exclusive-or gate is connected to an input of the second D flip-flop stage (second metastability FF stage), the output of which supplies the digitized and synchronized random sequence.
Weiter ist es bevorzugt, wenn die einzelnen, durch das Exklusiv-Oder-Gatter verbundenen Matrizen dadurch individualisiert sind, dass in jeder der Matrizen die relativen Positionen der Oszillator-Schaltungen mit dem Inverter, dem Signal-Ausgang und dem speziellen weiteren binären Steuersignal (Ort der Anregung) zueinander anders sind.It is also preferred if the individual matrices connected by the exclusive-OR gate are individualized in that in each of the matrices the relative positions of the oscillator circuits with the inverter, the signal output and the special additional binary control signal (location the excitation) are different from each other.
Die Individualisierung der Matrixfeld-Oszillatoren durch Wahl des Ortes der Anregung, des Inverters und des Ausgangs machen die Matrixfeld-Oszillatoren unabhängig voneinander. Damit können die statistischen Eigenschaften des Zufallszahlengenerators weiter verbessert werden und die Gefahr der Kopplung von Matrixfeld-Oszillatoren vermieden werden. Der Einsatz eines zusätzlichen Inverters im Matrixfeld dient der Vermeidung der Gefahr eines ungewollten Stillstandes bzw. einer periodischen Oszillation eines Matrixfeld-Oszillators.The individualization of the matrix field oscillators by choosing the location of the excitation, the inverter and the output make the matrix field oscillators independent of one another. In this way, the statistical properties of the random number generator can be further improved and the risk of coupling matrix field oscillators can be avoided. The use of an additional inverter in the matrix field serves to avoid the risk of an unwanted standstill or periodic oscillation of a matrix field oscillator.
Weiter ist es bevorzugt, das Ausgangssignal einer Oszillator-Schaltung einer Matrix mit einem Dateneingang eines ersten D-Kippglieds zu verbinden, dessen Ausgang mit einem Dateneingang eines zweiten D-Kippglieds verbunden ist, dessen Ausgang mit einem Dateneingang eines dritten D-Kippglieds verbunden ist, dessen Ausgang ebenso wie der Ausgang des zweiten D-Kippglieds jeweils mit einem Eingang eines Exklusiv-Oder-Gatters verbunden ist, dessen Ausgang anzeigt, ob die Oszillator-Schaltung schwingt. Auf diese Weise wird erfindungsgemäß ein Kontrollsignal über das korrekte Schwingen der jeweiligen Matrizen aus Oszillator-Schaltungen bereitgestellt.It is also preferred to connect the output signal of an oscillator circuit of a matrix to a data input of a first D flip-flop whose output is connected to a data input of a second D flip-flop whose output is connected to a data input of a third D flip-flop, the output of which, like the output of the second D flip-flop, is connected to an input of an exclusive-or gate, the output of which indicates whether the oscillator circuit is oscillating. In this way, according to the invention, a control signal is provided about the correct oscillation of the respective matrices from oscillator circuits.
Dabei ist es weiter bevorzugt, die Ausgänge der Exklusiv-Oder-Gatter verschiedener Oszillator-Schaltungen einer Matrix jeweils einem Eingang eines Oder-Gatters verbunden sind, dessen Ausgang mit dem Rücksetz-Eingang eines Zählers verbunden ist, der mit einem Systemtakt hochzählt, und dessen Überlauf ein Signal liefert, dass die Matrix nicht ordnungsgemäß oszilliert.It is further preferred that the outputs of the exclusive-OR gates of different oscillator circuits of a matrix are each connected to an input of an OR gate, the output of which is connected to the reset input of a counter that counts up with a system clock Overflow provides a signal that the matrix is not oscillating properly.
Auf diese Weise wird sichergestellt, dass lediglich echte Stillstände der Oszillatoren der Matrizen ein Störungssignal liefern. Schließlich bedeutet ein analoges zufälliges Ausgangssignal auch, dass das Signal über einen längeren Zeitraum konstant null oder eins sein kann, da diese Signalfolge zwar unwahrscheinlich aber nicht ausgeschlossen ist.In this way it is ensured that only real standstills of the oscillators of the matrices deliver a fault signal. Finally, an analog random output signal also means that the signal can be a constant zero or one over a longer period of time, since this signal sequence is unlikely but cannot be ruled out.
Zur Überwachung des gesamten erfindungsgemäßen Zufallszahlengenerators ist es bevorzugt, die Überlauf-Signale der Zähler der zu dem Zufallszahlengenerator verbundenen Matrizen jeweils mit einem Eingang eines Und-Gatters zu verbinden, dessen Ausgangssignal einen Totalausfall des Zufallszahlengenerators anzeigt. Dieser Totalausfall-Test hat die Aufgabe, einen Totalausfall des Zufallszahlengenerators schnell anzuzeigen, und ist an den speziellen erfindungsgemäßen Aufbau des Zufallszahlengenerators angepasst.To monitor the entire random number generator according to the invention, it is preferred to connect the overflow signals of the counters of the matrices connected to the random number generator to an input of an AND gate whose output signal indicates a total failure of the random number generator. This total failure test has the task of quickly indicating a total failure of the random number generator and is adapted to the special structure according to the invention of the random number generator.
Eine Nachbearbeitung (post-processing) nach der Digitalisierung ist erfindungsgemäß nicht erforderlich, um statistische Tests zu bestehen. Vorzugsweise wird eine Wartezeit (Anlaufzeit) direkt nach dem Start des Zufallszahlengenerators vor Ausgabe der ersten Zufallswerte eingeführt. Während dieser Zeit werden die anfallenden Daten verworfen. Mit dieser Maßnahme wird der noch vorhandene pseudozufällige Einfluss auf den Zufallszahlengenerator entscheidend reduziert. Eingebaute Oszillationsprüfungen (built-in oscillation health tests) ermöglichen eine sichere Aussage über die Zustände der Matrixfeld-Oszillatoren. Die Auswertung aller Oszillationsprüfungen führt zu einem einfachen, effektiven und schnellen Test zur Erkennung eines Totalausfalls der Rauschquelle (total failure test (TOT) of the noise source). Desweiteren kann der Zufallszahlengenerator durch ein entsprechendes Eingangssignal gezielt in einen Ruhezustand gebracht werden.According to the invention, post-processing after digitization is not necessary in order to pass statistical tests. A waiting time (start-up time) is preferably introduced directly after the start of the random number generator before the first random values are output. During this time, the resulting data will be discarded. With this measure, the still existing pseudo-random influence on the random number generator is decisively reduced. Built-in oscillation health tests enable reliable statements to be made about the states of the matrix field oscillators. The evaluation of all oscillation tests leads to a simple, effective and quick test for the detection of a Total failure test (TOT) of the noise source. Furthermore, the random number generator can be brought into a state of rest in a targeted manner by means of a corresponding input signal.
Die vorliegende Erfindung weist die folgenden Vorteile auf:
- - Kombination von individualisierten Matrixfeld-Oszillatoren, die unabhängig voneinander sind, zu einem statistisch starken, robusten, echten Zufallszahlengenerator
- - bessere echte Zufallseigenschaften als andere bekannte vergleichbare Ansätze
- - keine zusätzliche (komplexe) Nachbearbeitung (post-processing) nach der Digitalisierung notwendig zur Erreichung der geforderten statistischen Eigenschaften
- - hervorragende Ergebnisse bei statistischen Tests (AIS-31-Testsuite, NIST statistische Testsuite/NIST 800-22, TestU01 statistischer Test von der Universität Montreal und Tests gemäß NIST SP800-90B) der Original-Zufallssequenz (raw random sequence) nach der Digitalisierung (alle Tests werden bestanden)
- - kostengünstiger und technologieunabhängiger Ansatz ohne analoge Komponenten, da sehr einfache Implementierbarkeit und Portierbarkeit des Zufallszahlengenerators bei alleiniger Verwendung von normaler digitaler Logik (geeignet für alle FPGAs und ASICs) mit begrenzten Ressourcen und keine Notwendigkeit von speziellen manuellen Interventionen (stattdessen automatische Synthese)
- - höhere Sicherheit durch die Implementierung des ganzen Zufallszahlengenerators in einen einzigen Chip und ggf. zusätzliche Integration eines kryptographischen Systems in demselben Chip, da Realisierung des Zufallszahlengenerators unter alleiniger Verwendung von normaler digitaler Logik (geeignet für alle FPGAs und ASICs) bei begrenzten Ressourcen
- - sehr hohe konstante Bitrate (mindestens 30 Mbit/s) im Vergleich mit vergleichbaren Zufallszahlengeneratoren (digitale Logik, Aufwand, Kosten) möglich
- - Vermeidung der Gefahr eines Stillstandes des Zufallszahlengenerators (stall) bzw. von periodischen Oszillationen durch Einsatz mindestens eines zusätzlichen Inverters in jedem der Matrixfeld-Oszillatoren
- - entscheidende Reduzierung des noch vorhandenen kleinen pseudozufälligen Einflusses auf die Ausgangssequenz nach der Digitalisierung durch eine Wartezeit (Verwerfen der anfallenden Daten während der Wartezeit) direkt nach Start vor Ausgabe des ersten Zufallswerts
- - weitgehende Temperaturunabhängigkeit des Zufallsprozesses
- - keine Gefahr der Kopplung von Matrixfeld-Oszillatoren im Vergleich zu FROs u.a. aufgrund der Individualisierung und der komplexen Struktur (Gatter-Rückkopplungspfade) der Matrixfeld-Oszillatoren (wesentlich komplexer als FROs)
- - große Sicherheit und Robustheit des Zufallszahlengenerators (bisher sind keine Attacken und/oder Schwächen bekannt), da deutlich kleinere Gefahr der Manipulation von Matrixfeld-Oszillatoren beispielsweise im Rahmen von aktiven Seitenkanalattacken im Vergleich zu FROs u.a. aufgrund der Individualisierung und der komplexen Struktur (Gatter-Rückkopplungspfade) der Matrixfeld-Oszillatoren (wesentlich komplexer als FROs)
- - einfacher, effektiver und schneller Totalausfall-Test basierend auf eingebauten Oszillationsprüfungen der Matrixfeld-Oszillatoren.
- - Combination of individualized matrix field oscillators, which are independent of each other, to a statistically strong, robust, real random number generator
- - better real random properties than other known comparable approaches
- - No additional (complex) post-processing after digitization necessary to achieve the required statistical properties
- - Excellent results in statistical tests (AIS-31 test suite, NIST statistical test suite / NIST 800-22, TestU01 statistical test from the University of Montreal and tests according to NIST SP800-90B) of the original random sequence (raw random sequence) after digitization ( all tests are passed)
- - Cost-effective and technology-independent approach without analog components, as the random number generator is very easy to implement and portability when using only normal digital logic (suitable for all FPGAs and ASICs) with limited resources and no need for special manual interventions (instead, automatic synthesis)
- - Higher security through the implementation of the entire random number generator in a single chip and, if necessary, additional integration of a cryptographic system in the same chip, since the random number generator is implemented using only normal digital logic (suitable for all FPGAs and ASICs) with limited resources
- - Very high constant bit rate (at least 30 Mbit / s) possible in comparison with comparable random number generators (digital logic, effort, costs)
- - Avoidance of the risk of the random number generator stalling or of periodic oscillations by using at least one additional inverter in each of the matrix field oscillators
- - Decisive reduction of the small pseudo-random influence that still exists on the output sequence after digitization through a waiting time (discarding the resulting data during the waiting time) directly after the start before the output of the first random value
- - extensive temperature independence of the random process
- - no risk of coupling matrix field oscillators in comparison to FROs due to the individualization and the complex structure (gate feedback paths) of the matrix field oscillators (much more complex than FROs)
- - Great security and robustness of the random number generator (no attacks and / or weaknesses are known to date), since the risk of manipulation of matrix field oscillators, for example in the context of active side-channel attacks, compared to FROs, among other things due to the individualization and the complex structure (gate- Feedback paths) of the matrix field oscillators (much more complex than FROs)
- - simple, effective and fast total failure test based on built-in oscillation tests of the matrix field oscillators.
Die vorliegende Erfindung kann im Bedarfsfalle folgendermaßen weiterentwickelt werden:
- A. Kombination mit kryptographischer Nachbearbeitung (cryptographic postprocessing) mit deterministischen RNG (DRNG) gemäß AIS20/31.
- B. eingebettete On-line-Tests (initiale, regelmäßige und auf Anfrage) beispielsweise gemäß AIS20/31 und/oder NIST zusätzlich zu den schon vorhandenen Tests.
- C. Erstellen eines stochastischen Modells gemäß AIS20/31
- D. Veränderung der Größe der Matrixfeld-Oszillatoren
- E. Veränderung der Dimension der Matrixfeld-Oszillatoren
- F. veränderter Einsatz von Invertern in den Matrixfeld-Oszillatoren
- G. Veränderung der Anzahl der zu kombinierenden Matrixfeld-Oszillatoren
- H. Veränderung der Wartezeit (Anlaufzeit) nach Start des Zufallszahlengenerators vor Ausgabe des ersten Zufallswertes bei Verwerfen der vorherigen Werte
- I. Einführung einer Neustart-Betriebsart für Hochsicherheitsanwendungen
- J. Puffern von Zufallszahlen vor Ausgabe
- K. Eventuelle (Verwendung nur in
bestimmten Fällen bei 1. sehr seltenen Anwendungen des Ausführungsbeispiels mit extremen Anforderungen an die statistischen Eigenschaften oder bei 2. für sehr gute statistischen Eigenschaften nicht ausreichender Konfiguration des Zufallszahlengenerators (beispielsweise kleinere Anzahl von Matrixfeld-Oszillatoren oder kleinere Anzahl von XOR-Mini-Oszillatoren in den Matrixfeld-Oszillatoren als beim Ausführungsbeispiel) zusätzliche Nachbearbeitung (postprocessing) wie beispielsweise mit dem Von-Neumann-Verfahren
- A. Combination with cryptographic postprocessing with deterministic RNG (DRNG) according to AIS20 / 31.
- B. Embedded on-line tests (initial, regular and on request) for example according to AIS20 / 31 and / or NIST in addition to the tests already available.
- C. Creation of a stochastic model according to AIS20 / 31
- D. Changing the size of the matrix field oscillators
- E. Changing the dimension of the matrix field oscillators
- F. Changed use of inverters in the matrix field oscillators
- G. Changing the number of matrix field oscillators to be combined
- H. Change in the waiting time (start-up time) after the start of the random number generator before outputting the first random value if the previous values are discarded
- I. Introduction of a restart mode of operation for high security applications
- J. Buffering random numbers before output
- K. Possible (use only in certain cases in 1. very rare applications of the exemplary embodiment with extreme requirements on the statistical properties or in 2. for very good statistical properties insufficient configuration of the random number generator (for example smaller number of matrix field oscillators or smaller number of XOR mini-oscillators in the matrix field oscillators as in the exemplary embodiment) additional post-processing, for example with the Von Neumann method
Diese Weiterentwicklungen können zusätzlich die folgenden Vorteile ermöglichen:
- zu A.: Gewährleistung der Unvorhersehbarkeit von generierten Zahlen in Vorwärts und/oder Rückwärtsrichtung bei permanenten und temporären Ausfall der Rauschquelle (entropy source)
- zu B.: umfassende On-line-Test-Strategie (u.a. auch On-line-Test der statistischen Eigenschaften)
- zu C.: Entropie-Abschätzung, Erfüllen der Anforderungen von AIS20/31
- zu D, E, F, G, H: Anpassung an veränderte technische Gegebenheiten, d.h. z.B. an neue FPGA- oder ASIC-Technologiegenerationen, oder an neue Erkenntnisse hinsichtlich Schwächen bzw. Attacken
- zu I: Online-Test der echten Zufälligkeitseigenschaften
- zu J: Ergebnisse von Tests abwarten und ggf. mangelhafte Daten verwerfen.
- zu K.: Einsatz der Nachverarbeitung zur weiteren Verbesserung der statistischen Eigenschaften der vom Zufallszahlengenerator erzeugten Zufallsdaten (in den allermeisten Anwendungsfällen dieses Zufallszahlengenerators und insbesondere im Fall des Ausführungsbeispiels ist diese Nachbearbeitung nicht notwendig und nicht vorteilhaft bzw. wünschenswert u.a. wegen der Reduzierung der Datenbitrate).
- Re A .: Guarantee of the unpredictability of generated numbers in forward and / or backward direction in the event of permanent and temporary failure of the noise source (entropy source)
- to B .: comprehensive on-line test strategy (including on-line test of statistical properties)
- to C .: Entropy estimation, fulfillment of the requirements of AIS20 / 31
- Re D, E, F, G, H: Adaptation to changed technical conditions, ie for example to new FPGA or ASIC technology generations, or to new findings regarding weaknesses or attacks
- to I: online test of the real randomness properties
- Re J: Wait for the results of tests and, if necessary, discard inadequate data.
- To K .: Use of post-processing to further improve the statistical properties of the random data generated by the random number generator (in the vast majority of applications of this random number generator and especially in the case of the exemplary embodiment, this post-processing is not necessary and not advantageous or desirable, among other things because of the reduction in the data bit rate).
Folgende Abwandlungen der vorliegenden Erfindung sind möglich:
- - Veränderung der Größe der zweidimensionalen, quadratischem Matrixfeld-Oszillatoren, d.h. andere Anzahl von XOR-Mini-Oszillatoren
- - Veränderung der Formen der Matrixfeld-Oszillatoren (kein Quadrat)
- - Veränderung der Verdrahtung der XOR-Mini-Oszillatoren, insbesondere an den Rändern der Matrixfeld-Oszillatoren
- - Veränderung der Dimension der Matrixfeld-Oszillatoren (eindimensionale oder mehrdimensionale (dreidimensionale, vierdimensionale, ...) Struktur durch entsprechende Veränderung der Anzahl der Eingänge der XOR-Mini-Oszillatoren und der zweidimensionalen Verdrahtung der XOR-Mini-Oszillatoren)
- - Veränderung der Logik-Struktur in den XOR-Mini-Oszillatoren (z.B. XOR-
Gatter mit 4 Eingängen) - - veränderter Einsatz von Invertern in den Matrixfeld-Oszillatoren
- - Veränderung der Anzahl der Matrixfeld-Oszillatoren
- - Veränderung der Individualisierung der Matrixfeld-Oszillatoren
- - Veränderung der Wartezeit (Anlaufzeit) nach Start des Zufallszahlengenerators vor Ausgabe des ersten Zufallswertes bei Verwerfen der vorherigen Werte
- - veränderter Totalausfall-Test bzw. andere Oszillationsprüfungen (z.B. andere Anzahl von Takten ohne Flanke der jeweils 6 Testsignale als Schwelle für die Meldung einer Nicht-Oszillation).
- - Change in the size of the two-dimensional, square matrix field oscillators, ie a different number of XOR mini-oscillators
- - Modification of the shapes of the matrix field oscillators (no square)
- - Change in the wiring of the XOR mini oscillators, especially at the edges of the matrix field oscillators
- - Change in the dimensions of the matrix field oscillators (one-dimensional or multi-dimensional (three-dimensional, four-dimensional, ...) structure by changing the number of inputs of the XOR mini oscillators and the two-dimensional wiring of the XOR mini oscillators)
- - Change of the logic structure in the XOR mini oscillators (e.g. XOR gate with 4 inputs)
- - Changed use of inverters in the matrix field oscillators
- - Change in the number of matrix field oscillators
- - Change in the individualization of the matrix field oscillators
- - Change in the waiting time (start-up time) after starting the random number generator before outputting the first random value if the previous values are discarded
- - Modified total failure test or other oscillation tests (e.g. different number of cycles without edge of the 6 test signals as a threshold for reporting a non-oscillation).
Es existiert ein VHDL-Modell eines Ausführungsbeispiels des erfindungsgemäßen Zufallszahlengenerators. Basierend auf diesem VHDL-Modell ist auf einem SmartFusion-Evaluationsboard mit dem SmartFusion - FPGA A2F200M3F-FGG484 von Microsemi (Microchip Technology) ein Prototyp des Ausführungsbeispiels des Zufallszahlengenerators implementiert. Es gibt weitere Implementierungen des Prototyps auf einem IGLOO-Nano-Starter-Kit-Board ebenfalls von Microsemi, auf einem Cmod-S6-Board von Digilent mit dem Xilinx Spartan 6 LX4 FPGA (Spartan 6 XC6SLX4-2CPG196 FPGA) und auf einem Cmod-S7-Board von Digilent mit dem Xilinx Spartan 7 FPGA (Spartan 7 XC7S25-1 CSGA225C FPGA).There is a VHDL model of an exemplary embodiment of the random number generator according to the invention. Based on this VHDL model, a prototype of the exemplary embodiment of the random number generator is implemented on a SmartFusion evaluation board with the SmartFusion - FPGA A2F200M3F-FGG484 from Microsemi (Microchip Technology). There are further implementations of the prototype on an IGLOO-Nano-Starter-Kit-Board also from Microsemi, on a Cmod-S6-Board from Digilent with the
Im Folgenden wird die Erfindung anhand eines in den Zeichnungen dargestellten Ausführungsbeispiels näher beschrieben und erklärt.The invention is described and explained in more detail below using an exemplary embodiment shown in the drawings.
Es zeigen:
-
1 einen erfindungsgemäßen XOR-Mini-Oszillator ohne Darstellung der Rückkopplung über Nachbar-Mini-Oszillatoren; -
2 die erfindungsgemäße Verbindung zweier benachbarter XOR-Mini-Oszillatoren der 1 ; -
3 den Aufbau eines erfindungsgemäßen Matrixfeld-Oszillators aus einer zweidimensionalen Matrix von XOR-Mini-Oszillatoren mit einer beispielhaften Individualisierung ohne Darstellung der Verbindungsleitungen an den Rändern; -
4 den Matrixfeld-Oszillator der 3 mit Darstellung der Verbindungsleitungen an den Rändern (zum Zweck der Übersichtlichkeit sind hier die Signalbezeichnungen bei den einzelnen Oszillatoren weggelassen); -
5 die Nummerierung der Elemente der Matrix eines Matrixfeld-Oszillators; -
6 die Gesamtschaltung eines erfindungsgemäßen Zufallszahlengenerators aus den einzelnen vorbeschriebenen Elementen mit digitalisierter Rauschquelle (ohne Totalausfall-Test und Oszillationsprüfungen); -
7 die erfindungsgemäß vorgeschlagene Schaltung für die Flankenerkennung zum Zweck der Oszillationsprüfung; -
8 die Schaltung für die erfindungsgemäße Oszillationsprüfung; -
9 die erfindungsgemäße Schaltung für den Totalausfall-Test; -
10 das Ausgangssignal eines erfindungsgemäßen Matrixfeld-Oszillators im Zeit- (oberer Teil der Abbildung) und im Frequenzbereich (unterer Teil der Abbildung) falls der Matrixfeld-Oszillator deaktiviert ist; -
11 das gleiche Ausgangssignal für den Fall der Aktivierung des Matrixfeld-Oszillators; -
12 drei Kurven des Verlaufs der differenziellen Ausgangsspannung eines erfindungsgemäßen Matrixfeld-Oszillators nach drei verschiedenen Neustarts; -
13 die Standardabweichung der differenziellen Ausgangsspannung des Matrixfeld-Oszillators nach 1000 verschiedenen Neustarts; -
14 das arithmetische Mittel der differenziellen Ausgangsspannung des Matrixfeld-Oszillators nach 1000 verschiedenen Neustarts; -
15 die Häufigkeitsverteilung von Byte-Werten bei einer vom Zufallszahlengenerator erzeugten Datenmenge, die bei 100.000 Neustarts mit jeweils 125-Byte- bzw. 1.000-Bit-Datenblöcken entstanden ist, ohne Wartezeit nach jedem Neustart; -
16 die gleiche Häufigkeitsverteilung, wenn die Daten erst nach einer Wartezeit von 45 Mikrosekunden nach jedem Neustart aufgezeichnet werden.
-
1 an XOR mini-oscillator according to the invention without showing the feedback via neighboring mini-oscillators; -
2 the inventive connection of twoadjacent XOR mini-oscillators 1 ; -
3 the structure of a matrix field oscillator according to the invention from a two-dimensional matrix of XOR mini-oscillators with an exemplary individualization without showing the connecting lines at the edges; -
4th the matrix field oscillator of the3 with a representation of the connecting lines at the edges (for the sake of clarity, the signal designations for the individual oscillators have been omitted); -
5 the numbering of the elements of the matrix of a matrix field oscillator; -
6th the overall circuit of a random number generator according to the invention from the individual elements described above with a digitized noise source (without total failure test and oscillation tests); -
7th the circuit proposed according to the invention for edge detection for the purpose of oscillation testing; -
8th the circuit for the oscillation test according to the invention; -
9 the circuit according to the invention for the total failure test; -
10 the output signal of a matrix field oscillator according to the invention in the time (upper part of the figure) and in the frequency domain (lower part of the figure) if the matrix field oscillator is deactivated; -
11th the same output signal in the event that the matrix field oscillator is activated; -
12th three curves of the profile of the differential output voltage of a matrix field oscillator according to the invention after three different restarts; -
13th the standard deviation of the differential output voltage of the matrix field oscillator after 1000 different restarts; -
14th the arithmetic mean of the differential output voltage of the matrix field oscillator after 1000 different restarts; -
15th the frequency distribution of byte values in the amount of data generated by the random number generator, which has arisen after 100,000 restarts with 125-byte or 1,000-bit data blocks each, without waiting time after each restart; -
16 the same frequency distribution if the data is not recorded for 45 microseconds after each restart.
Ein wesentlicher Teil der Erfindung sind sogenannte XOR-Mini-Oszillatoren, die zu sogenannten Matrixfeld-Oszillatoren oder Matrizen
Der hier dargestellte Oszillator
- t (top): hier ist der Ausgang des in der Matrix oberhalb gelegenen Oszillators angeschlossen
- b (bottom): hier ist der Ausgang des in der Matrix unterhalb gelegenen Oszillators angeschlossen
- l (left): hier ist der Ausgang des in der Matrix links gelegenen Oszillators angeschlossen und
- r (right): hier ist der Ausgang des in der Matrix rechts
von dem Oszillator 100 gelegenen Oszillators angeschlossen.
- t (top): the output of the oscillator located above in the matrix is connected here
- b (bottom): the output of the oscillator located below in the matrix is connected here
- l (left): the output of the oscillator on the left in the matrix is connected here and
- r (right): here is the output of the one in the matrix to the right of the
oscillator 100 located oscillator connected.
Jeweils zwei der Eingänge sind auf ein Exklusiv-Oder-Gatter geführt:
- Die Eingänge t und b sind mit dem Exklusiv-Oder-
Gatter 102 verbunden, die Eingänge I und r sind mit dem Exklusiv-Oder-Gatter 104 verbunden. Die Ausgänge der beidenGatter 102 ,104 sind wiederum mit den beiden Eingängen eines weiteren nachgeschalteten Exklusiv-Oder-Gatters 106 verbunden. Dessen Ausgang ist mit einem Eingang eines Multiplexeres108 verbunden.Der Multiplexer 108 verfügt über zwei Eingänge, die mittels des Signals s[1] umgeschaltet werden können. Damit kann der Oszillator ein- und ausgeschaltet werden, indem zum Einschalten das Signal s[1] so belegt wird, dass derMultiplexer 108 den Eingang durchschaltet, an dem das Exklusiv-Oder-Gatter 106 angeschlossen ist. Im ausgeschalteten Zustand wird der Eingang durchgeschaltet, an dem das Signal s[0] liegt. Dieses Signalist üblicherweise auf 0 gesetzt, lediglich bei einem speziellen Oszillator in der MatrixM , dem Oszillator „Start“, der als Ort der Anregung für die Oszillatoren der MatrixM dient, wird dieses Signal zum sicheren Anlaufen des Oszillators während des Einschaltvorgangs kurzfristig auf 1 gesetzt, bevor dann derMultiplexer 108 auf den Eingang umgeschaltet wird, der mit dem Ausgang des Exklusiv-Oder-Gatters 106 verbunden ist.
- The inputs t and b are with the exclusive-or
gate 102 connected, the inputs I and r are connected to the exclusive-orgate 104 tied together. The outputs of the twogates 102 ,104 are in turn connected to the two inputs of a further downstream exclusive-orgate 106 tied together. Its output is with an input of amultiplexer 108 tied together. Themultiplexer 108 has two inputs that can be switched using the s [1] signal. This enables the oscillator to be switched on and off by assigning signal s [1] so that the multiplexer is switched on108 switches through the input at which the exclusive-orgate 106 connected. When switched off, the input to which the signal s [0] is applied is switched through. This signal is usually set to 0, only for a special oscillator in the matrixM. , the oscillator "Start", which acts as a place of excitation for the oscillators of the matrixM. is used, this signal is set to 1 for a safe start-up of the oscillator during the switch-on process, before the multiplexer then108 the input is switched to that with the output of the exclusive-OR gate 106 connected is.
Im normalen Fall stellt der Ausgang des Multiplexes
Zur Gewährleistung der statistischen Eigenschaften und der Portierbarkeit des Zufallszahlengenerators soll die Logik-Struktur dieser Schaltung strikt eingehalten werden. Der gestrichelte Inverter
Die Grundüberlegungen für die Wahl dieser Grundstruktur werden im Folgenden erläutert. Das Oszillator-Verhalten bei der Zusammenschaltung von mehreren XOR-Mini-Oszillatoren
Eine weitere interessante Grundüberlegung sind die grundsätzlichen Eigenschaften der XOR-Operation y = x ⊕ z hinsichtlich gewichteter und ungewichteter Zufallssequenzen. Falls beide Eingangsvariablen x und z statistisch unabhängig sind und die Wahrscheinlichkeiten P (x=1), P (z=1) und P (y=1), als Px, Pz und Py bezeichnet werden, dann ist die Ausgangswahrscheinlichkeit Py der XOR-Operation:
Die Gleichung (1) kann wie folgt umgeformt werden:
Der absolute Betrag der Differenz zwischen der Signalwahrscheinlichkeit und der idealen Wahrscheinlichkeit von 0,5 ist ein Maß für die Ähnlichkeit einer binären Variablen mit einer idealen binären zufälligen Variablen:
Da
In diesem Fall hat eine Folge am Ausgang der XOR-Operation eine größere Ähnlichkeit zu einer nicht gewichteten (pseudo-)zufälligen Folge als die beiden Eingangsfolgen. In diesem Kontext hat die XOR-Operation also die Eigenschaft, den Grad von Zufälligkeit zu erhöhen. Eine Schaltung von einer Vielzahl von verknüpften XOR-Gattern verstärkt diese beschriebenen Eigenschaften.In this case, a sequence at the output of the XOR operation is more similar to a non-weighted (pseudo) random sequence than the two input sequences. In this context, the XOR operation has the property of increasing the degree of randomness. A circuit of a multiplicity of linked XOR gates reinforces these described properties.
Im Sonderfall Px = 0,5 gilt gemäß Gleichung:
Dieser Sonderfall impliziert für die XOR-Operation, dass bei einer (pseudo-) zufälligen Eingangsgröße mit der Signalwahrscheinlichkeit 0,5 die Ausgangsgröße ebenfalls (pseudo-)zufällig mit der Signalwahrscheinlichkeit 0,5 und unabhängig von der zweiten Eingangsgröße ist. Falls beide Eingangsgrößen x und z (pseudo-)zufällig mit Px = Pz = 0,5 und statistisch voneinander unabhängig sind, ist die Ausgangsgröße ebenfalls (pseudo-) zufällig mit Py = 0,5 und sowohl von dem einen als auch den anderen Eingang statistisch unabhängig.For the XOR operation, this special case implies that with a (pseudo-) random input variable with the signal probability 0.5, the output variable is also (pseudo-) random with the signal probability 0.5 and independent of the second input variable. If both input variables x and z are (pseudo-) random with P x = P z = 0.5 and statistically independent of each other, the output variable is also (pseudo-) random with P y = 0.5 and both from one and the other the other input is statistically independent.
Die in diesen zwei Grundüberlegungen beschriebenen Funktionalitäten und Eigenschaften treten In der Realität nicht in Reinform auf. In der asynchronen Schaltung der Matrixfeld-Oszillatoren
Der Einfluss des echt zufälligen elektronischen Rauschens wird durch die gewählte Schaltungsstruktur erheblich verstärkt. Dies ist die dritte Grundüberlegung. Alle drei Grundüberlegungen führen zu der Schaltung der Matrixfeld-Oszillatoren
Das Ausgangssignal o eines jeden XOR-Mini-Oszillators
Zur Gewährleistung der Individualität und der Unabhängigkeit der Matrixfeld-Oszillatoren
Der rein asynchrone Matrixfeld-Oszillator
Die Steuersignale der einzelnen XOR-Mini-Oszillatoren
In dem Ausführungsbeispiel werden an sechs Stellen im Matrixfeld-Oszillator
Der Zufallszahlengenerator in dem Ausführungsbeispiel enthält als Rauschquelle
Beim Übergang von der asynchronen zu der synchronen Schaltung sind im Digitalisierer
Eine zusätzliche Nachbearbeitung (post-processing) der Ausgangssequenz nach der Digitalisierung ist aufgrund der ausgezeichneten statistischen Eigenschaften der Sequenz nicht erforderlich. Allerdings soll direkt nach der Aktivierung der 9 Matrixfeld-Oszillatoren
Neben der bereits beschriebenen Aktivierung der Rauschquelle durch die beiden Eingangssignale enable und start, lässt sich auch der Digitalisierer
Im Folgenden werden die Schaltungen Oszillationsprüfung
Die Teilschaltung Flankenerkennung
Zu diesem Zweck wird jedes der 6 Testsignale eines Matrixfeld-Oszillators
Diese Ausgangssignale „edge“ dienen sodann als Eingangssignale für die Oszillationsprüfung
Demgemäß umfasst die in
Die Schaltung Totalausfall-Test
Demgemäß werden alle Ausgänge „noedge“ der 9 Oszillationsprüfungsschaltungen 0 bis 8 einem Und-Gatter
Es folgt nun die Beschreibung des experimentellen Nachweises, dass der erfindungsgemäße Zufallszahlengenerator nicht nur funktioniert, sondern auch echt zufällige und nicht pseudozufällige Bitfolgen hoher Entropie liefert.The following is a description of the experimental evidence that the random number generator according to the invention not only works, but also delivers genuinely random and non-pseudo-random bit sequences of high entropy.
Im Folgenden werden die Eigenschaften eines erfindungsgemäßen echten Zufallszahlengenerators basierend auf einer Kombination von individualisierten Matrixfeld-Oszillatoren
1.1 Untersuchung eines Matrixfeld-Oszillators
Um einen ersten Eindruck von dem Verhalten der in dem Zufallszahlengenerator enthaltenen Matrixfeld-Oszillatoren
Beim Vergleich der beiden spektralen Darstellungen in den
Im Folgenden wird ein Neustart-Ansatz verfolgt, um den Umfang der von einem Oszillator erzeugten echten Zufälligkeit zu evaluieren und analysieren. In the following, a restart approach is followed in order to evaluate and analyze the extent of the true randomness generated by an oscillator.
Auf diesem Weg ist es praktisch möglich, zwischen echter Zufälligkeit und Pseudozufälligkeit zu unterscheiden.In this way it is practically possible to distinguish between true randomness and pseudo-randomness.
Dieser Ansatz basiert auf der Wiederholung der Experimente ausgehend von identischen Startbedingungen, d.h. man startet den Oszillator ausgehend von den gleichen Anfangszuständen aller logischen Gatter neu. Pseudozufälligkeit ist deterministisch und zeigt so identisches Verhalten bei jeder Wiederholung des Experimentes. Andererseits verhält sich echte Zufälligkeit bei jeder Wiederholung trotz identischer Startbedingungen unterschiedlich. In einem unwesentlichen Ausmaß kann echte Zufälligkeit auch in den Startbedingungen enthalten sein, die ideal nicht identisch sind.This approach is based on repeating the experiments starting from identical starting conditions, i.e. starting the oscillator starting from the same starting states of all logic gates. Pseudo-randomness is deterministic and thus shows identical behavior each time the experiment is repeated. On the other hand, true randomness behaves differently with each repetition, despite identical starting conditions. To an insignificant extent, true randomness can also be included in the start conditions, which ideally are not identical.
Die Neustart-Messungen wurden mittels der bereits oben genannten FPGA-Technologie vorgenommen. Bei jedem Experiment dient der inaktive Zustand (Ausgang gleich 0) als Anfangszustand des Matrixfeld-Oszillators 0, so dass die Anfangsbedingungen im Wesentlichen identisch sind. Anstatt eines Standardausgangs wurden für den Ausgang des Matrixfeld-Oszillators 0 LVDS-Ausgänge gewählt und entsprechende Ausgangsspannungen differentiell gemessen, um die Genauigkeit der Messung zu erhöhen. In
Man erkennt deutlich, dass sich die Verläufe der drei Kurven voneinander unterscheiden. Während sie am Anfang noch identisch oder zumindest ähnlich sind, unterscheiden sie sich im Verlauf der Darstellung der
Die Ergebnisse des experimentellen Neustart-Ansatzes zeigen, dass der Matrixfeld-Oszillator 0 echte Zufälligkeit generiert. Man sieht in
1.2 Untersuchung des gesamten Zufallszahlengenerators1.2 Investigation of the entire random number generator
1.2.1 Herkömmliche statistische Tests1.2.1 Traditional statistical tests
Für die weitere Analyse findet die Datenausgabe des Zufallszahlengenerators über eine SPI-Schnittstelle statt, da sie die angestrebte, relativ hohe Datenrate von 30 Mbit/s ermöglicht. Das FT2232H-Mini-Modul von FTDI wird dazu eingesetzt. Es stellt diese SPI-Schnittstelle zur Verfügung. Die Implementierung des Zufallszahlengenerators wird an diese Schnittstelle angepasst. Die SPI-Schnittstelle ermöglicht das Lesen von Datenblöcken bis zu einer Größe von 65536 Bytes bei einer Datenrate von bis zu 30 Mbit/s. Die Daten werden vom FT2232H-Mini-Modul zu einem Rechner über USB übertragen. Obwohl der Zufallszahlengenerator natürlich zur kontinuierlichen Datenausgabe fähig ist, können aufgrund der verwendeten SPI-Schnittstelle Daten nur blockweise ausgegeben werden. Als erster Schritt bei der Untersuchung werden die grundsätzlichen statistischen Eigenschaften des Zufallszahlengenerators mit gängigen statistischen Tests (AIS31 statistische Testsuite, NIST statistische Testsuite/NIST 800-22 und TestU01 statistischer Test von der Universität Montreal) überprüft. Die statistischen Tests werden auf Daten angewendet, die bei einer sequentiellen Datenaufnahme mit 200 62.500-Byte-bzw. 500.000-Bit-Datenblöcken (Datenrate 30 Mbit/s) entstehen. Es handelt sich dabei um Original-Zufallssequenzen nach der Digitalisierung (raw random sequence). Die dabei vom Zufallszahlengenerator bei Raumtemperatur erzeugte Gesamtdatenmenge hat eine Größe von 100.000.000 Bits (ca. 11,9 MB). Die Ergebnisse der statistischen Tests sind in der Tabelle 5 dargestellt.
Tabelle 5: Ergebnisse der statistischen Tests von durch den Zufallszahlengenerator bei Raumtemperatur erzeugten Daten bei einer sequentiellen Datenaufnahme mit 200 62.500-Byte- bzw. 500.000-Bit-Datenblöcken (Datenrate 30 Mbit/s)
Die Tabelle 5 zeigt, dass der Zufallszahlengenerator alle durchgeführten statistischen Tests besteht. Die zweite Spalte der Tabelle 5 enthält das Ergebnis des Entropie-Tests über ein Byte. Hierbei ist zu beachten, dass die AlS31-Testsuite mit Shannon-Entropieschätzung arbeitet. Der Wert für die Shannon-Entropie pro Byte in der zweiten Spalte von Tabelle 5 ist größer als der Maximalwert von 8 Bit. Dies liegt an Rundungsfehlern in der Berechnung durch das AIS31-Analysewerkzeug. Der Entropie-Wert in der besagten Spalte ist größer als 7,976 Bit Shannon-Entropie pro Byte. D.h. die Shannon-Entropie pro Bit ist in diesem Fall größer als 0,997 Bit. Somit werden die entsprechenden Anforderungen von AIS20/31 erfüllt.Table 5 shows that the random number generator passed all statistical tests carried out. The second column of Table 5 contains the result of the entropy test over one byte. It should be noted that the AlS31 test suite works with Shannon entropy estimation. The value for the Shannon entropy per byte in the second column of Table 5 is greater than the maximum value of 8 bits. This is due to rounding errors in the calculation by the AIS31 analysis tool. The entropy value in said column is greater than 7.976 bits of Shannon entropy per byte. This means that the Shannon entropy per bit is greater than 0.997 bits in this case. Thus, the corresponding requirements of AIS20 / 31 are met.
AIS20/31 fordert, dass die AIS31 statistische Testsuite bei allen relevanten Umweltbedingungen bestanden wird. Daher wird der Zufallszahlengenerator Temperaturtests in einem bestimmten Temperaturbereich unterzogen. Es wird hier wieder die sequentielle Datenaufnahme bei grundsätzlich unveränderten Testbedingungen (außer Temperatur) durchgeführt. Das heißt, bei jeder der unterschiedlichen Temperaturen (von -25 °C bis +55 °C in Schritten von 5 °C) werden 200 62.500-Byte- bzw. 500.000-Bit-Datenblöcke empfangen. Dies ergibt wieder jeweils eine Gesamtdatenmenge von jeweils 100.000.000 Bits (ca. 11,9 MB). Jede dieser Gesamtdatenmengen wird mit der AIS31 statistischen Testsuite getestet. Die Ergebnisse sind in der Tabelle 6 dargestellt.
Tabelle 6: Ergebnisse der Tests mit der AlS31 statistischen Testsuite von durch den Zufallszahlengenerator bei verschiedenen Temperaturen erzeugten Daten bei sequentieller Datenaufnahme mit 200 62.500-Byte- bzw. 500.000-Bit-Datenblöcken (Datenrate 30 Mbit/s)
Die Ergebnisse der Untersuchungen in Tabelle 6 ergeben wieder, dass die Entropie-Werte stets größer als 7,99 Bit Shannon-Entropie pro Byte bzw. 0,99875 Bit Shannon-Entropie pro Bit sind und somit die Anforderungen von AIS20/31 erfüllen. In mehreren Fällen sind die Werte für die Shannon-Entropie pro Byte in der zweiten Spalte von Tabelle 6 größer als der Maximalwert von 8 Bit. Wie schon vorher erwähnt, liegt dies an Rundungsfehlern in der Berechnung durch das AlS31 -Analysewerkzeug. Die dritte Spalte der Tabelle 6 zeigt, dass alle Tests der AIS31-Testsuite bei allen Temperaturen im untersuchten Temperaturbereich bestanden werden. Dies gilt sogar für die niedrigen Temperaturen. Hierbei ist zu betonen, dass es sich bei den untersuchten Daten um Original-Zufallssequenzen nach der Digitalisierung (raw random sequences) handelt.The results of the investigations in Table 6 again show that the entropy values are always greater than 7.99 bit Shannon entropy per byte or 0.99875 bit Shannon entropy per bit and thus meet the requirements of AIS20 / 31. In several cases the values for the Shannon entropy per byte in the second column of Table 6 are greater than the maximum value of 8 bits. As mentioned before, this is due to rounding errors in the calculation by the AlS31 analysis tool. The third column of Table 6 shows that all tests of the AIS31 test suite were passed at all temperatures in the temperature range examined. This even applies to the low temperatures. It should be emphasized that the examined data are original random sequences after digitization (raw random sequences).
1.2.2 Statistische Tests im Rahmen von experimentellen Neustart-Untersuchungen1.2.2 Statistical tests in the context of experimental restart investigations
Trotz der Ergebnisse von Abschnitt 1.1 kann nicht ausgeschlossen werden, dass noch vorhandene Pseudozufälligkeit die Entropie-Extraktion durch Abtastung negativ beeinflusst. Eine weitere Untersuchungsmethode ist notwendig, um eine Aufklärung darüber zu erhalten, ob die vom gesamten Zufallszahlengenerator erzeugte Zufälligkeit nach der Digitalisierung noch signifikantem pseudozufälligen Einfluss unterliegt. Der Ansatz für diese neue Analysemethode auf der Ebene des Gesamt-Zufallszahlengenerators leitet sich vom experimentellen Neustart-Ansatz auf der Ebene eines Matrixfeld-Oszillators
Dieser neue Ansatz verspricht einen einfachen aber umfassenden Überblick, ob der Zufallszahlengenerator echte Zufälligkeit ohne signifikanten Einfluss von Pseudozufälligkeit bei der gegebenen Datenrate erzeugt oder nicht. Zur Demonstration der effektiven Wirkungsweise wird diese neue Methode bei dem Zufallszahlengenerator zweimal angewendet, beim ersten Mal ohne und beim zweiten Mal mit einer Wartezeit direkt nach dem Neustart, in der die Zufallsbits verworfen werden. Erst nach der Wartezeit werden die Zufallsbits nicht mehr unterdrückt, sondern ausgegeben.This new approach promises a simple but comprehensive overview of whether the random number generator generates true randomness without a significant influence of pseudo randomness at the given data rate or not. To demonstrate the effective mode of operation, this new method is used twice for the random number generator, the first time without and the second time with a waiting time immediately after the restart, in which the random bits are discarded. Only after the waiting time are the random bits no longer suppressed, but output.
Zuerst wird die neue Testmethode beim Zufallszahlengenerator ohne Wartezeit nach jedem Neustart angewendet. Es werden hierbei 100.000 Neustarts mit jeweils 125-Byte-bzw. 1.000-Bit-Datenblöcken (Original-Zufallssequenzen direkt nach der Digitalisierung (raw random sequence)) mit einer Datenrate von jeweils 30 Mbit/s bei Raumtemperatur durchgeführt. First, the new test method is applied to the random number generator without waiting after each restart. There are 100,000 restarts, each with 125-byte or. 1,000-bit data blocks (original random sequences directly after digitization (raw random sequence)) with a data rate of 30 Mbit / s each at room temperature.
Einen ersten Eindruck von den Eigenschaften der entsprechenden Gesamtdatenmenge gibt die Häufigkeitsverteilung von Byte-Werten. Sie wird in
Die ungleichmäßige Häufigkeitsverteilung der Byte-Werte in
- - NIST statistical test suite/NIST 800-22 (sts-2.1.2): nicht bestanden (nicht bestandene Tests wie folgt)
- Frequency
- CumulativeSums
- Runs
- NonOverlappingTemplate
- - TestU01 statistischer Test, Unversität Montreal (TestU01 1.2.3):
- Alphabit-Batterie: nicht bestanden (nicht bestandene Tests wie folgt)
- MultinomialBitsOver (L = 2)
- MultinomialBitsOver (L = 4)
- MultinomialBitsOver (L = 8)
- Hamminglndep (L = 16)
- Hamminglndep (L = 32)
- RandomWalk1 H (L = 64)
- RandomWalk1 M (L = 64)
- RandomWalk1 J (L = 64)
- RandomWalk1 H (L = 320)
- RandomWalk1 M (L = 320)
- RandomWalk1 J (L = 320)
- RandomWalk1 R (L = 320)
- Rabbit-Batterie: nicht bestanden (nicht bestandene Tests wie folgt)
- Fourier3
- PeriodslnStrings
- HammingWeight
- Hamminglndep (L = 16)
- Hamminglndep (L = 32)
- Hamminglndep (L = 64)
- AutoCor
- Run of bits
- Run of bits
- RandomWalk1 H
- RandomWalk1 M
- RandomWalk1 J
- RandomWalk1 H (L = 1024)
- RandomWalk1 M (L = 1024)
- RandomWalk1 J (L = 1024)
- RandomWalk1 H (L = 10016)
- RandomWalk1 M (L = 10016)
- RandomWalk1 J (L = 10016)
- Alphabit-Batterie: nicht bestanden (nicht bestandene Tests wie folgt)
- - NIST statistical test suite / NIST 800-22 (sts-2.1.2): failed (failed tests as follows)
- Frequency
- CumulativeSums
- Runs
- NonOverlappingTemplate
- - TestU01 statistical test, University of Montreal (TestU01 1.2.3):
- Alphabit battery: failed (failed tests as follows)
- MultinomialBitsOver (L = 2)
- MultinomialBitsOver (L = 4)
- MultinomialBitsOver (L = 8)
- Hamminglndep (L = 16)
- Hamminglndep (L = 32)
- RandomWalk1 H (L = 64)
- RandomWalk1 M (L = 64)
- RandomWalk1 J (L = 64)
- RandomWalk1 H (L = 320)
- RandomWalk1 M (L = 320)
- RandomWalk1 J (L = 320)
- RandomWalk1 R (L = 320)
- Rabbit battery: failed (failed tests as follows)
- Fourier3
- PeriodslnStrings
- HammingWeight
- Hamminglndep (L = 16)
- Hamminglndep (L = 32)
- Hamminglndep (L = 64)
- AutoCor
- Run of bits
- Run of bits
- RandomWalk1 H.
- RandomWalk1 M
- RandomWalk1 J.
- RandomWalk1 H (L = 1024)
- RandomWalk1 M (L = 1024)
- RandomWalk1 J (L = 1024)
- RandomWalk1 H (L = 10016)
- RandomWalk1 M (L = 10016)
- RandomWalk1 J (L = 10016)
- Alphabit battery: failed (failed tests as follows)
Eine Lösung dieses Problems erhält man, wenn man sich die Erkenntnisse aus Abschnitt 1.1 vergegenwärtigt. Je länger man wartet, desto echt zufälliger ist der Zustand der Matrixfeld-Oszillatoren
Nun liegt eine geänderte Häufigkeitsverteilung der Byte-Werte der Gesamtdatenmenge, wie
Die Ergebnisse dieser Untersuchungen zeigt die Tabelle 7. Die zweite Spalte der Tabelle 7 enthält die Ergebnisse des Entropie-Tests über ein Byte. Teilweise sind die Werte für die Shannon-Entropie pro Byte größer als der Maximalwert von 8 Bit aufgrund von Rundungsfehlern. Die Entropie-Werte in der besagten Spalte sind alle größer als 7,976 Bit Shannon-Entropie pro Byte. D.h. die Shannon-Entropie pro Bit ist in allen Fällen größer als 0,997 Bit. Somit werden die entsprechenden Anforderungen von AIS20/31 erfüllt. Die Ergebnisse dieser umfangreichen Neustart-Tests zeigen, dass trotz der gleichen Anfangsbedingungen bei den Neustarts dieser Zufallszahlengenerator Daten liefert, die die genannten statistischen Tests erfüllen. Dies gilt sogar für Daten, die aus relativ kleinen Datenblöcken (1000 Bit Sequenzen) zusammengesetzt sind und bei einer sehr großen Anzahl von Neustarts (100.000) generiert wurden. Dies ist ein klarer Nachweis, dass reine echte Zufälligkeit von dem Zufallszahlengenerator generiert wird. Die einzige Bedingung dafür ist, dass eine Wartezeit (Anlaufzeit) von 45 µs direkt nach jedem Neustart vor Ausgabe des ersten Zufallswertes bei Verwerfen der vorherigen Daten eingehalten wird. Diese Anlaufzeit wird bei allen Untersuchungen in diesem Dokument, die den Gesamt-Zufallszahlengenerator betreffen, berücksichtigt. Die einzigen Ausnahmen bilden die Untersuchungen am Anfang dieses Abschnitts 1.2.2, die explizit ohne Wartezeit nach jedem Neustart durchgeführt wurden.The results of these tests are shown in Table 7. The second column of Table 7 contains the results of the entropy test over one byte. In some cases, the values for the Shannon entropy per byte are greater than the maximum value of 8 bits due to rounding errors. The entropy values in said column are all greater than 7.976 bits of Shannon entropy per byte. In other words, the Shannon entropy per bit is greater than 0.997 bits in all cases. Thus, the corresponding requirements of AIS20 / 31 are met. The results of these extensive restart tests show that, in spite of the same initial conditions, this random number generator delivers data that meet the aforementioned statistical tests when restarting. This even applies to data that is composed of relatively small data blocks (1000 bit sequences) and with one very small large number of restarts (100,000) were generated. This is a clear proof that pure real randomness is generated by the random number generator. The only condition for this is that a waiting time (start-up time) of 45 µs is observed immediately after each restart before the first random value is output if the previous data is discarded. This lead time is taken into account in all investigations in this document that concern the total random number generator. The only exceptions are the examinations at the beginning of this section 1.2.2, which were explicitly carried out without waiting after each restart.
1.2.3 Tests gemäß NIST SP800-90B1.2.3 Tests according to NIST SP800-90B
Eine abschließende Prüfung der Eigenschaften des Zufallszahlengenerators ermöglichen die Min-Entropie-Tests und Neustart-Tests (restart tests) des relativ neuen Standards NIST SP800-90B. Die Min-Entropie-Tests bestehen aus zwei Pfaden: IID (independent and identically distributed) und Nicht-IID. Aufgrund der bisherigen Untersuchungsergebnisse wird im Folgenden der IID-Pfad beschritten. D.h. es wird davon ausgegangen, dass die Entropie-Quelle unabhängig identisch verteilte Zufallszahlen generiert. Zuerst wird die initiale Min-Entropie-Schätzung (Horiginal) mit dem Min-Entropie-Test ermittelt, dann werden die Neustart-Tests durchgeführt. Die ersten 106 Bits der Original-Zufallssequenzen nach der Digitalisierung (raw random sequence) nach einer Wartezeit von 45 µs nach Start entsprechend der bereits beschriebenen sequentiellen Datenaufnahme (siehe Abschnitt 1.2.1) dienen als Datenmenge für den Min-Entropie-Test. Zur Generierung der Datenmenge für die Neustart-Tests werden 1000 Neustarts bei Raumtemperatur durchgeführt. Es werden jeweils 1000 Bits der Original-Zufallssequenzen nach der Digitalisierung (raw random sequence) nach einer Wartezeit von 45 µs nach jedem Neustart aufgezeichnet. Das ergibt ebenfalls eine Datenmenge von 106 Bits, auf die die Neustart-Tests angewendet werden. Die Ergebnisse der Tests gemäß NIST SP800-90B sind in der Tabelle 8 dargestellt. Sie zeigen, dass sich die anfängliche IID-Annahme durch die Tests bestätigt. So werden auch die Neustart-Tests für diese Annahme bestanden. Der ermittelte Wert für die Min-Entropie pro Bit ist mit 0,993767 Bit sogar nach den Neustart-Tests unverändert sehr hoch. Dieser Wert ist sehr nah an dem maximal möglichen Wert von 1 Bit, der bei Vorliegen einer ideal gleichmäßigen Wahrscheinlichkeitsverteilung auftritt. An dieser Stelle ist zu bemerken, dass NIST SP800-90B für das erfolgreiche Bestehen des Testverfahrens keinen spezifizierten Minimalwert für die geschätzte Min-Entropie fordert, wenn die Neustart-Tests bestanden werden.
Tabelle 8: Ergebnisse der NIST SP800-90B Tests von durch den Zufallszahlengenerator bei Raumtemperatur erzeugten Daten (Datenrate 30 Mbit/s)
Entsprechend den Untersuchungen mit der AIS31 statistische Testsuite im Abschnitt 1.2.1 wird auch hier im Rahmen der NIST SP800-90B Tests der Zufallszahlengenerator Temperaturtests in einem bestimmten Temperaturbereich unterzogen. Es wird hier wieder die Datenaufnahme bei grundsätzlich unveränderten Testbedingungen (außer Temperatur) durchgeführt. Das heißt, bei jeder der unterschiedlichen Temperaturen (von -25 °C bis +55 °C in Schritten von 5 °C) werden die vorher beschriebenen NIST SP800-90B Tests durchgeführt. Die Ergebnisse sind in der Tabelle 9 dargestellt.According to the investigations with the AIS31 statistical test suite in section 1.2.1, the random number generator is also subjected to temperature tests in a certain temperature range as part of the NIST SP800-90B tests. The data acquisition is carried out here again with basically unchanged test conditions (except for temperature). This means that the previously described NIST SP800-90B tests are carried out at each of the different temperatures (from -25 ° C to +55 ° C in steps of 5 ° C). The results are shown in Table 9.
Die Ergebnisse der Untersuchungen in der Tabelle 9 ergeben wieder, dass die IID-Annahme durch alle Tests bestätigt wird. Außerdem werden auch alle Neustart-Tests für diese Annahme bestanden.
Tabelle 9: Ergebnisse der NIST SP800-90B Tests von durch den Zufallszahlengenerator bei verschiedenen Temperaturen erzeugten Daten (Datenrate 30 Mbit/s)
Die Min-Entropie pro Bit nach den Neustart-Tests ist bei allen Temperaturen immer größer als 0,99 Bit und damit sehr hoch. Dies gilt sogar für die niedrigen Temperaturen. Hierbei ist wieder zu betonen, dass es sich bei den untersuchten Daten um Original-Zufallssequenzen nach der Digitalisierung (raw random sequences) handelt. Aus all diesen Ergebnissen lässt sich folgern, dass im gesamten untersuchten Temperaturbereich der erfindungsgemäße Zufallszahlengenerator als echte Entropie-Quelle von sehr hoher Qualität hier seine Bestätigung findet.The minimum entropy per bit after the restart tests is always greater than 0.99 bit at all temperatures and is therefore very high. This even applies to the low temperatures. It should be emphasized again that the examined data are original random sequences after digitization (raw random sequences). From all these results it can be concluded that the random number generator according to the invention is confirmed here as a real entropy source of very high quality in the entire temperature range examined.
1.3. Zusammenfassung1.3. summary
Die Untersuchungsergebnisse sowohl auf der Ebene des Matrixfeld-Oszillators
Anhang A. Kurz-Analyse basierend auf einem IGLOO-FPGA von MicrosemiAppendix A. Brief analysis based on an IGLOO FPGA from Microsemi
IGLOO nano starter kit board (AGLN-NANO-KIT) mit dem IGLOO-FPGA AGLN250V2-VQG100 von MicrosemiIGLOO nano starter kit board (AGLN-NANO-KIT) with the IGLOO-FPGA AGLN250V2-VQG100 from Microsemi
Tabelle 10: Ergebnisse der statistischen Tests von durch den Zufallszahlengenerator bei Raumtemperatur erzeugten Daten bei einer sequentiellen Datenaufnahme mit 200 62.500-Byte- bzw. 500.000-Bit-Datenblöcken (Datenrate 30 Mbit/s)
Anhang B. Kurz-Analyse basierend auf einem Spartan-6-FPGA von XilinxAppendix B. Brief analysis based on a Spartan-6 FPGA from Xilinx
Cmod S6 board von Digilent mit dem Xilinx Spartan 6 LX4 FPGA (Spartan 6 XC6SLX4-2CPG196 FPGA)Cmod S6 board from Digilent with the
Tabelle 12: Ergebnisse der statistischen Tests von durch den Zufallszahlengenerator bei Raumtemperatur erzeugten Daten bei einer sequentiellen Datenaufnahme mit 200 62.500-Byte- bzw. 500.000-Bit-Datenblöcken (Datenrate 30 Mbit/s)
Anhang C. Kurz-Analyse basierend auf einem Spartan-7-FPGA von XilinxAppendix C. Brief analysis based on a Spartan-7 FPGA from Xilinx
Cmod S7 Board von Digilent mit dem Xilinx Spartan 7 FPGA (Spartan 7 XC7S25-1CSGA225C FPGA)Cmod S7 Board from Digilent with the
Teil I - Zufallszahlengenerator: 15 Mbit/s, IF (SPI): 15 Mbit/sPart I - Random number generator: 15 Mbit / s, IF (SPI): 15 Mbit / s
Tabelle 14: Ergebnisse der statistischen Tests von durch den Zufallszahlengenerator bei Raumtemperatur erzeugten Daten bei einer sequentiellen Datenaufnahme mit 200 62.500-Byte- bzw. 500.000-Bit-Datenblöcken
Teil II - Zufallszahlengenerator: 30 Mbit/s, IF (SPI): 15 Mbit/sPart II - Random number generator: 30 Mbit / s, IF (SPI): 15 Mbit / s
Tabelle 16: Ergebnisse der statistischen Tests von durch den Zufallszahlengenerator bei Raumtemperatur erzeugten Daten bei einer sequentiellen Datenaufnahme mit 200 62.500-Byte- bzw. 500.000-Bit-Datenblöcken
Bemerkung: Die Beschränkung der Datenrate des Interfaces (Serial Peripheral Interface - SPI) auf 15 Mbit/s ist in der Beschaltung des Xilinx Spartan 7 FPGA auf dem Cmod S7 Board begründet (Schaltgeschwindigkeit der digitalen I/Os: maximal 25 MHz).Note: The limitation of the data rate of the interface (Serial Peripheral Interface - SPI) to 15 Mbit / s is due to the wiring of the
Anhang D. Kurz-Analyse einer „Frequency Injection Attack“ basierend auf einem IGLOO-FPGA von MicrosemiAppendix D. Brief analysis of a “Frequency Injection Attack” based on an IGLOO-FPGA from Microsemi
IGLOO nano starter kit board (AGLN-NANO-KIT) mit dem IGLOO-FPGA AGLN250V2-VQG100 von MicrosemiIGLOO nano starter kit board (AGLN-NANO-KIT) with the IGLOO-FPGA AGLN250V2-VQG100 from Microsemi
Auf Basis der Kenntnis der Veröffentlichung
Anhang E. Merkmale der Implementierung des Ausführungsbeispiels (siehe Abschnitt 1) des ZufallszahlengeneratorsAppendix E. Features of the implementation of the exemplary embodiment (see Section 1) of the random number generator
RessourcenverbrauchResource consumption
I. Beispielimplementierung SmartFusion-FPGA A2F200M3F-FGG484 auf dem SmartFusion-Evaluationsboard von Microsemi:
- Anzahl benötigter FPGA-Kernzellen (Core Cells): 2108
- Number of required FPGA core cells: 2108
II. Beispielimplementierung Xilinx Spartan 7 FPGA (Spartan 7 XC7S25-1 CSGA225C FPGA) auf dem Cmod S7 Board von Digilent
Anzahl benötigter FPGA-LUTs: 1218
Anzahl benötigter FPGA-Register (Flip-Flops): 277II. Example
Number of FPGA LUTs required: 1218
Number of FPGA registers (flip-flops) required: 277
Leistungsverbrauch:Power consumption:
Beispielimplementierung IGLOO-FPGA AGLN250V2-VQG100 auf dem IGLOO nano starter kit board (AGLN-NANO-KIT) von Microsemi:
- Leistungsverbrauch des FPGAs (Core) bei einem deaktivierten Zufallszahlengenerator (1,2 V Core-Spannung):
- Power consumption of the FPGA (core) with a deactivated random number generator (1.2 V core voltage):
Leistungsverbrauch des FPGAs (Core) bei einem aktivierten Zufallszahlengenerator (1,2 V Core-Spannung):
Anhang F. Langzeit-Oszillationstest der Implementierungen des Ausführungsbeispiels (siehe Abschnitt 1) des ZufallszahlengeneratorsAppendix F. Long-term oscillation test of the implementations of the exemplary embodiment (see Section 1) of the random number generator
Alle 4 Implementierungen des Ausführungsbeispiels (siehe Abschnitt 1) des erfindungsgemäßen Zufallszahlengenerators wurden einem Langzeit-Oszillationstest unterzogen. Dabei wird geprüft, ob während der Dauer eines Monats bei kontinuierlichem Betrieb des Zufallszahlengenerators ein oder mehrere der 9 Matrixfeld-Oszillatoren temporär oder permanent stehenbleiben bzw. nicht mehr oszillieren (100 Takte lang keine Oszillation der jeweils 6 digitalisierten Testsignale). Wenn alle 9 Matrixfeld-Oszillatoren stehenbleiben, liegt ein Totalausfall vor. Die Ergebnisse zeigt die Tabelle 20.
Tabelle 20: Ergebnisse des Langzeit-Oszillationstest für 4 Implementierungen des Ausführungsbeispiels des Zufallszahlengenerators
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED 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 was 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-PatentliteraturNon-patent literature cited
- Mario Stipcevic und Çetin Kaya Koç, True Random Number Generators, Open Problems in Mathematics and Computational Science, Springer International Publishing, Switzerland, S. 275-316, 2014 [0003]Mario Stipcevic and Çetin Kaya Koç, True Random Number Generators, Open Problems in Mathematics and Computational Science, Springer International Publishing, Switzerland, pp. 275-316, 2014 [0003]
- V. Fischer, Random Number Generators for Cryptography - Design and Evaluation, Summer School on Design and Security of Cryptographic Algorithms and Devices, Sibenik, Croatia, June 2014 [0005]V. Fischer, Random Number Generators for Cryptography - Design and Evaluation, Summer School on Design and Security of Cryptographic Algorithms and Devices, Sibenik, Croatia, June 2014 [0005]
- M. Dichtl, Fibonacci Ring Oscillators as True Random Number Generators - A Security Risk, IACR Cryptology ePrint Archive, 270, 2015 [0005]M. Dichtl, Fibonacci Ring Oscillators as True Random Number Generators - A Security Risk, IACR Cryptology ePrint Archive, 270, 2015 [0005]
- W. Killmann and W. Schindler, AIS20/AIS31 - A Proposal for: Functionality Classes for Random Number Generators, version 2.0, 2011 [0005]W. Killmann and W. Schindler, AIS20 / AIS31 - A Proposal for: Functionality Classes for Random Number Generators, version 2.0, 2011 [0005]
- A. Rukhin et al., A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications, NIST Special Publication 800-22, US Department of Commerce, National Institute of Standards and Technology, Gaithersburg, MD, April 2010 [0005]A. Rukhin et al., A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications, NIST Special Publication 800-22, US Department of Commerce, National Institute of Standards and Technology, Gaithersburg, MD, April 2010 [0005]
- M. Dichtl, J.D. Golic, High-Speed True Random Number Generation with Logic Gates Only, Cryptographic Hardware and Embedded Systems - CHES 2007, Lecture Notes in Computer Science, vol 4727, Springer, Berlin, Heidelberg, pp 45-62, 2007 [0005]M. Dichtl, J.D. Golic, High-Speed True Random Number Generation with Logic Gates Only, Cryptographic Hardware and Embedded Systems - CHES 2007, Lecture Notes in Computer Science, vol 4727, Springer, Berlin, Heidelberg, pp 45-62, 2007 [0005]
- J. Balasch et al., Design and testing methodologies for true random number generators towards industry certification, 2018 IEEE 23rd European Test Symposium (ETS), Bremen, pp. 1-10, 2018 [0005]J. Balasch et al., Design and testing methodologies for true random number generators towards industry certification, 2018 IEEE 23rd European Test Symposium (ETS), Bremen, pp. 1-10, 2018 [0005]
- M. Sönmez Turan et al., Recommendation for the Entropy Sources Used for Random Bit Generation, NIST Special Publication 800-90B, Department of Commerce, National Institute of Standards and Technology, Gaithersburg, MD, January 2018 [0005]M. Sönmez Turan et al., Recommendation for the Entropy Sources Used for Random Bit Generation, NIST Special Publication 800-90B, Department of Commerce, National Institute of Standards and Technology, Gaithersburg, MD, January 2018 [0005]
- A. Schubert and W. Anheier, On Random Pattern Testability of Cryptographic VLSI Cores, Journal of Electronic Testing: Theory and Applications, Vol. 16, No. 3, Kluwer Academic Publishers, Netherlands, pp. 185-192, 2000 [0005]A. Schubert and W. Anheier, On Random Pattern Testability of Cryptographic VLSI Cores, Journal of Electronic Testing: Theory and Applications, Vol. 16, No. 3, Kluwer Academic Publishers, Netherlands, pp. 185-192, 2000 [0005]
-
A. Schubert, Modellierung, Optimierung und Selbsttest von kryptographischen virtuellen Komponenten, Dissertation Universität Bremen, Fortschritt-Berichte VDI Reihe 10, Nr. 690, VDI Verlag GmbH, Düsseldorf, 2002 [0005]A. Schubert, Modeling, Optimization and Self-Testing of Cryptographic Virtual Components, Dissertation University of Bremen, Progress
Reports VDI Series 10, No. 690, VDI Verlag GmbH, Düsseldorf, 2002 [0005] - T. Markettos and S. W. Moore, The Frequency Injection Attack on Ring-Oscillator- Based True Random Number Generators, Cryptographic Hardware and Embedded Systems - CHES 2009, Lecture Notes in Computer Science, vol. 5747, Springer, Berlin, Heidelberg, pp 317-331, 2009 [0100]T. Markettos and S. W. Moore, The Frequency Injection Attack on Ring-Oscillator- Based True Random Number Generators, Cryptographic Hardware and Embedded Systems - CHES 2009, Lecture Notes in Computer Science, vol. 5747, Springer, Berlin, Heidelberg, pp 317-331, 2009 [0100]
Claims (16)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020206723.6A DE102020206723A1 (en) | 2020-05-28 | 2020-05-28 | Random number generator |
PCT/EP2021/063431 WO2021239564A1 (en) | 2020-05-28 | 2021-05-20 | Random number generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020206723.6A DE102020206723A1 (en) | 2020-05-28 | 2020-05-28 | Random number generator |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102020206723A1 true DE102020206723A1 (en) | 2021-12-02 |
Family
ID=76138063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102020206723.6A Pending DE102020206723A1 (en) | 2020-05-28 | 2020-05-28 | Random number generator |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102020206723A1 (en) |
WO (1) | WO2021239564A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60110086T2 (en) | 2000-07-27 | 2006-04-06 | Activated Content Corp., Inc., Burlingame | STEGOTEXT CODIER AND DECODER |
DE102008048292A1 (en) | 2008-09-22 | 2010-04-08 | Siemens Aktiengesellschaft | Apparatus and method for generating a random bit string |
DE102014200164A1 (en) | 2014-01-09 | 2015-07-09 | Robert Bosch Gmbh | A method for generating an output of a random source of a random number generator |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004047425B4 (en) * | 2004-09-28 | 2007-06-21 | Micronas Gmbh | Random number generator and method for generating random numbers |
-
2020
- 2020-05-28 DE DE102020206723.6A patent/DE102020206723A1/en active Pending
-
2021
- 2021-05-20 WO PCT/EP2021/063431 patent/WO2021239564A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60110086T2 (en) | 2000-07-27 | 2006-04-06 | Activated Content Corp., Inc., Burlingame | STEGOTEXT CODIER AND DECODER |
DE102008048292A1 (en) | 2008-09-22 | 2010-04-08 | Siemens Aktiengesellschaft | Apparatus and method for generating a random bit string |
DE102014200164A1 (en) | 2014-01-09 | 2015-07-09 | Robert Bosch Gmbh | A method for generating an output of a random source of a random number generator |
Non-Patent Citations (13)
Title |
---|
A. Rukhin et al., A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications, NIST Special Publication 800-22, US Department of Commerce, National Institute of Standards and Technology, Gaithersburg, MD, April 2010 |
A. Schubert and W. Anheier, On Random Pattern Testability of Cryptographic VLSI Cores, Journal of Electronic Testing: Theory and Applications, Vol. 16, No. 3, Kluwer Academic Publishers, Netherlands, pp. 185-192, 2000 |
A. Schubert, Modellierung, Optimierung und Selbsttest von kryptographischen virtuellen Komponenten, Dissertation Universität Bremen, Fortschritt-Berichte VDI Reihe 10, Nr. 690, VDI Verlag GmbH, Düsseldorf, 2002 |
FISCHER, Viktor : Random number generators for cryptopgraphy - Design and evaluation. In: Summer School on Design and Security of Cryptographic Algorithms and Devices - 01 June - 06 June 2014 - Sibenik, Croatia, 2014, S. 1-52. URL: https://summerschool-croatia.cs.ru.nl/2014/slides/Random%20Number%20Generators%20for%20Cryptography.pdf [abgerufen am 2020-07-07]. |
J. Balasch et al., Design and testing methodologies for true random number generators towards industry certification, 2018 IEEE 23rd European Test Symposium (ETS), Bremen, pp. 1-10, 2018 |
M. Dichtl, Fibonacci Ring Oscillators as True Random Number Generators - A Security Risk, IACR Cryptology ePrint Archive, 270, 2015 |
M. Dichtl, J.D. Golic, High-Speed True Random Number Generation with Logic Gates Only, Cryptographic Hardware and Embedded Systems - CHES 2007, Lecture Notes in Computer Science, vol 4727, Springer, Berlin, Heidelberg, pp 45-62, 2007 |
M. Sönmez Turan et al., Recommendation for the Entropy Sources Used for Random Bit Generation, NIST Special Publication 800-90B, Department of Commerce, National Institute of Standards and Technology, Gaithersburg, MD, January 2018 |
Mario Stipcevic und Çetin Kaya Koç, True Random Number Generators, Open Problems in Mathematics and Computational Science, Springer International Publishing, Switzerland, S. 275-316, 2014 |
SCHUBERT, A. ; ANHEIER W.: On random pattern testability of cryptographic VLSI cores. In: Journal of Electronic Testing, Bd. 16, 2000, S. 185-192. - ISSN 1573-0727 (E); 0923-8174 (P). DOI: 10.1023/A:1008378912411. URL: https://link.springer.com/content/pdf/10.1023/A:1008378912411.pdf [abgerufen am 2020-07-07]. |
T. Markettos and S. W. Moore, The Frequency Injection Attack on Ring-Oscillator- Based True Random Number Generators, Cryptographic Hardware and Embedded Systems - CHES 2009, Lecture Notes in Computer Science, vol. 5747, Springer, Berlin, Heidelberg, pp 317-331, 2009 |
V. Fischer, Random Number Generators for Cryptography - Design and Evaluation, Summer School on Design and Security of Cryptographic Algorithms and Devices, Sibenik, Croatia, June 2014 |
W. Killmann and W. Schindler, AIS20/AIS31 - A Proposal for: Functionality Classes for Random Number Generators, version 2.0, 2011 |
Also Published As
Publication number | Publication date |
---|---|
WO2021239564A1 (en) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1643643B1 (en) | Random number generator and method for random number generation | |
EP2976707B1 (en) | System and method for generating random bits | |
DE102008048292A1 (en) | Apparatus and method for generating a random bit string | |
DE102014102501A1 (en) | Random number generator | |
EP2240848A1 (en) | Circuit and method for generating a true, circuit-specific and time-invariant random number | |
DE102012210990A1 (en) | Method for generating random numbers | |
Bleak et al. | The infinite simple group $ V $ of Richard J. Thompson: presentations by permutations | |
Wang et al. | From chaos to pseudorandomness: a case study on the 2-D coupled map lattice | |
DE112009000152B4 (en) | Method for data transmission via a data channel using an elliptic curve cryptography method and device therefor | |
DE102014200163A1 (en) | A method for generating an output of a random source of a random number generator | |
DE112008001707T5 (en) | Cryptographic random number generator using finite field operations | |
DE60319002T2 (en) | METHOD AND DEVICE FOR GENERATING RANDOM COUNTERS USING METASTIC FLIP FLOPS | |
DE102020206723A1 (en) | Random number generator | |
DE102014200309A1 (en) | Method for checking an output | |
DE102015102363A1 (en) | ARRANGEMENT AND METHOD FOR CHECKING THE ENTROPY OF A QUOTA NUMBER | |
DE102012210361A1 (en) | Method for monitoring an output of a random number generator | |
DE102014200164A1 (en) | A method for generating an output of a random source of a random number generator | |
DE102011078645A1 (en) | Method for safely checking a code | |
DE102013208836A1 (en) | Method and apparatus for generating a hash value | |
DE60221863T2 (en) | METHOD FOR IMPLEMENTING A CRYPTOGRAPHIC ALGORITHM TO FIND THE PUBLIC EXPONENT IN AN ELECTRONIC COMPONENT | |
DE102014224421A1 (en) | Method and apparatus for generating random bits | |
WO2000054406A1 (en) | Random signal generator and method for generating a random signals | |
DE102013213385A1 (en) | Method for evaluating an output of a random number generator | |
DE102013204272A1 (en) | Method for detecting a correlation | |
DE102014219651A1 (en) | Method and apparatus for generating random bits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication |