DE102020206723A1 - Random number generator - Google Patents

Random number generator Download PDF

Info

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
Application number
DE102020206723.6A
Other languages
German (de)
Inventor
Anmelder Gleich
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE102020206723.6A priority Critical patent/DE102020206723A1/en
Priority to PCT/EP2021/063431 priority patent/WO2021239564A1/en
Publication of DE102020206723A1 publication Critical patent/DE102020206723A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random 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 „ 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 “, welche den hierzu nächstgelegenen Stand der Technik offenbart, in diesem Bereich grob in die vier folgende Familien unterteilen:

  • - 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)
Random numbers can be generated by random number generators. There are essentially two main types of random number generators (RNGs): deterministic (pseudo-random) RNGs (DRNG or PRNG) and nondeterministic random number generators (genuinely random, hardware) based on a physical process (physical true RNG - TRNG or PTRNG). The latter can be briefly referred to as real or physical random number generators. The main requirement of them is that they generate unpredictable and uncontrollable random numbers. Although there are very many constructions of physical random number generators and although research in this area continues, the current state of the art can be determined according to the scientific publication " 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 ", Which reveals the closest prior art, roughly subdivide this area into the following four families:
  • - 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 .
Further relevant state of the art can be found in the following scientific publications:
  • 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.
Further preferred embodiments of the present invention emerge from the subclaims:
  • 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.
The present invention has the following advantages:
  • - 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:

  1. A. Kombination mit kryptographischer Nachbearbeitung (cryptographic postprocessing) mit deterministischen RNG (DRNG) gemäß AIS20/31.
  2. 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.
  3. C. Erstellen eines stochastischen Modells gemäß AIS20/31
  4. D. Veränderung der Größe der Matrixfeld-Oszillatoren
  5. E. Veränderung der Dimension der Matrixfeld-Oszillatoren
  6. F. veränderter Einsatz von Invertern in den Matrixfeld-Oszillatoren
  7. G. Veränderung der Anzahl der zu kombinierenden Matrixfeld-Oszillatoren
  8. H. Veränderung der Wartezeit (Anlaufzeit) nach Start des Zufallszahlengenerators vor Ausgabe des ersten Zufallswertes bei Verwerfen der vorherigen Werte
  9. I. Einführung einer Neustart-Betriebsart für Hochsicherheitsanwendungen
  10. J. Puffern von Zufallszahlen vor Ausgabe
  11. 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
If necessary, the present invention can be further developed as follows:
  1. A. Combination with cryptographic postprocessing with deterministic RNG (DRNG) according to AIS20 / 31.
  2. 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.
  3. C. Creation of a stochastic model according to AIS20 / 31
  4. D. Changing the size of the matrix field oscillators
  5. E. Changing the dimension of the matrix field oscillators
  6. F. Changed use of inverters in the matrix field oscillators
  7. G. Changing the number of matrix field oscillators to be combined
  8. 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
  9. I. Introduction of a restart mode of operation for high security applications
  10. J. Buffering random numbers before output
  11. 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).
These further developments can also enable the following advantages:
  • 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).
The following modifications of the present invention are possible:
  • - 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 Xilinx Spartan 6 LX4 FPGA (Spartan 6 XC6SLX4-2CPG196 FPGA) and on a Cmod- S7 board from Digilent with the Xilinx Spartan 7 FPGA (Spartan 7 XC7S25-1 CSGA225C FPGA).

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.
Show it:
  • 1 an XOR mini-oscillator according to the invention without showing the feedback via neighboring mini-oscillators;
  • 2 the inventive connection of two adjacent 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 the 3 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 M zusammengeschaltet werden. Die 1 zeigt den Aufbau eines XOR-Mini-Oszillators 100.An essential part of the invention are so-called XOR mini-oscillators, which become so-called matrix field oscillators or matrices M. are interconnected. the 1 shows the structure of an XOR mini oscillator 100 .

Der hier dargestellte Oszillator 100 ist zur Verwendung in einer zweidimensionalen Matrix M vorgesehen. Er verfügt daher über vier Eingänge, an die die vier Ausgangssignale der jeweils in der Matrix M benachbarten Oszillatoren angeschlossen sind:

  • 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.
The oscillator shown here 100 is for use in a two-dimensional matrix M. intended. It therefore has four inputs to which the four output signals of each in the matrix M. neighboring oscillators are connected:
  • 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 beiden Gatter 102, 104 sind wiederum mit den beiden Eingängen eines weiteren nachgeschalteten Exklusiv-Oder-Gatters 106 verbunden. Dessen Ausgang ist mit einem Eingang eines Multiplexeres 108 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 der Multiplexer 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 Signal ist üblicherweise auf 0 gesetzt, lediglich bei einem speziellen Oszillator in der Matrix M, dem Oszillator „Start“, der als Ort der Anregung für die Oszillatoren der Matrix M dient, wird dieses Signal zum sicheren Anlaufen des Oszillators während des Einschaltvorgangs kurzfristig auf 1 gesetzt, bevor dann der Multiplexer 108 auf den Eingang umgeschaltet wird, der mit dem Ausgang des Exklusiv-Oder-Gatters 106 verbunden ist.
Two of the inputs are connected to an exclusive-or gate:
  • The inputs t and b are with the exclusive-or gate 102 connected, the inputs I and r are connected to the exclusive-or gate 104 tied together. The outputs of the two gates 102 , 104 are in turn connected to the two inputs of a further downstream exclusive-or gate 106 tied together. Its output is with an input of a multiplexer 108 tied together. The multiplexer 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 on 108 switches through the input at which the exclusive-or gate 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 matrix M. , the oscillator "Start", which acts as a place of excitation for the oscillators of the matrix M. is used, this signal is set to 1 for a safe start-up of the oscillator during the switch-on process, before the multiplexer then 108 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 108 das Ausgangssignal des Oszillators 100 dar. Lediglich bei einem speziellen Oszillator in der Matrix ist noch ein Inverter 110 zwischen den Ausgang des Multiplexes 108 und den endgültigen Ausgang o (out) geschaltet.In the normal case, the output of the multiplex represents 108 the output of the oscillator 100 There is only an inverter in the matrix for a special oscillator 110 between the output of the multiplex 108 and the final output o (out) switched.

Zur Gewährleistung der statistischen Eigenschaften und der Portierbarkeit des Zufallszahlengenerators soll die Logik-Struktur dieser Schaltung strikt eingehalten werden. Der gestrichelte Inverter 110 ist optional, d.h. er ist als der Teil der Individualisierung eines Matrixfeld-Oszillators M am Ausgang nur eines XOR-Mini-Oszillators 100 eines Matrixfeld-Oszillators M implementiert. Er dient der Vermeidung der Gefahr eines ungewollten Stillstandes oder von periodischen Oszillationen eines Matrixfeld-Oszillators M.To ensure the statistical properties and portability of the random number generator, the logic structure of this circuit should be strictly adhered to. The dashed inverter 110 is optional, meaning it is as part of the customization of a matrix field oscillator M. at the output of only one XOR mini oscillator 100 a matrix field oscillator M. implemented. It is used to avoid the risk of an unwanted standstill or periodic oscillations of a matrix field oscillator M. .

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 100 wird durch folgende Betrachtungen deutlich. Dabei werden zwei XOR-Mini-Oszillatoren 100 miteinander verbunden. Die 2 zeigt zwei benachbarte XOR-Mini-Oszillatoren 100. Bei s[1:0] = 10 stellt der Pfad, der mit den Buchstaben A bis F gekennzeichnet ist, einen Rückkopplungspfad dar. Dieser Rückkopplungspfad bildet bei bestimmten Werten der Eingänge eine Inverter-Funktionalität, die ähnlich einem rückgekoppelten Inverter zu einem Oszillator-Verhalten führt. Die Tabelle 1 zeigt, für welche Wertekombinationen der Eingänge der Rückkopplungspfad eine Inverter-Funktionalität aufweist. Hierbei ist zu beachten, dass bei der Hälfte aller möglichen Wertekombinationen (32 von 64) eine Inverter-Funktionalität des Rückkopplungspfades und damit ein Oszillator-Verhalten auftritt. Außerdem ist zu beachten, dass bei dem Ausführungsbeispiel nicht nur zwei sondern 36 XOR-Mini-Oszillatoren 100 zu einem sogenannten Matrixfeld-Oszillator M zusammengeschaltet werden. Sie werden so miteinander verbunden, dass jeder XOR-Mini-Oszillator 100 vier Nachbar-XOR-Mini-Oszillatoren 100 hat. D.h. jeder XOR-Mini-Oszillator 100 hat grundsätzlich vier Möglichkeiten einen Rückkopplungspfad zu bilden und Oszillator-Signale zu erzeugen. Tabelle 1: Wertekombinationen der Eingänge zweier benachbarter XOR-Mini- Oszillatoren 100 mit einer Inverter-Funktionalität im Rückkopplungspfad r(i+1,k) l(i+1,k) b(i+1,k) r(i,k)\ l(i,k) t(i,k) Inverter-Funktionalität des XOR-Mini-Oszillators 0 0 0 0 0 1 I 0 0 0 0 1 0 I 0 0 0 1 0 0 I 0 0 0 1 1 1 I 0 1 1 0 0 1 I 0 1 1 0 1 0 I 0 1 1 1 0 0 I 0 1 1 1 1 1 I 1 0 1 0 0 1 I 1 0 1 0 1 0 I 1 0 1 1 0 0 I 1 0 1 1 1 1 I 1 1 0 0 0 1 I 1 1 0 0 1 0 I 1 1 0 1 0 0 I 1 1 0 1 1 1 I 0 0 1 0 0 0 II 0 1 0 0 0 0 II 1 0 0 0 0 0 II 1 1 1 0 0 0 II 0 0 1 0 1 1 II 0 1 0 0 1 1 II 1 0 0 0 1 1 II 1 1 1 0 1 1 II 0 0 1 1 0 1 II 0 1 0 1 0 1 II 1 0 0 1 0 1 II 1 1 1 1 0 1 II 0 0 1 1 1 0 II 0 1 0 1 1 0 II 1 0 0 1 1 0 II 1 1 1 1 1 0 II The basic considerations for choosing this basic structure are explained below. The oscillator behavior when connecting several XOR mini oscillators 100 becomes clear from the following considerations. There are two XOR mini oscillators 100 connected with each other. the 2 shows two adjacent XOR mini-oscillators 100 . With s [1: 0] = 10, the path marked with the letters A to F represents a feedback path. With certain values of the inputs, this feedback path forms an inverter functionality that is similar to a feedback inverter to an oscillator behavior leads. Table 1 shows the value combinations of the inputs for which the feedback path has an inverter functionality. It should be noted that with half of all possible value combinations (32 of 64) an inverter functionality of the feedback path and thus an oscillator behavior occurs. It should also be noted that in the exemplary embodiment not just two but 36 XOR mini-oscillators 100 to a so-called matrix field oscillator M. are interconnected. They are linked together so that every XOR mini-oscillator 100 four neighboring XOR mini-oscillators 100 Has. Ie every XOR mini oscillator 100 basically has four possibilities to form a feedback path and to generate oscillator signals. Table 1: Value combinations of the inputs of two adjacent XOR mini-oscillators 100 with an inverter functionality in the feedback path r (i + 1, k) l (i + 1, k) b (i + 1, k) r (i, k) \ l (i, k) t (i, k) Inverter functionality of the XOR mini oscillator 0 0 0 0 0 1 I. 0 0 0 0 1 0 I. 0 0 0 1 0 0 I. 0 0 0 1 1 1 I. 0 1 1 0 0 1 I. 0 1 1 0 1 0 I. 0 1 1 1 0 0 I. 0 1 1 1 1 1 I. 1 0 1 0 0 1 I. 1 0 1 0 1 0 I. 1 0 1 1 0 0 I. 1 0 1 1 1 1 I. 1 1 0 0 0 1 I. 1 1 0 0 1 0 I. 1 1 0 1 0 0 I. 1 1 0 1 1 1 I. 0 0 1 0 0 0 II 0 1 0 0 0 0 II 1 0 0 0 0 0 II 1 1 1 0 0 0 II 0 0 1 0 1 1 II 0 1 0 0 1 1 II 1 0 0 0 1 1 II 1 1 1 0 1 1 II 0 0 1 1 0 1 II 0 1 0 1 0 1 II 1 0 0 1 0 1 II 1 1 1 1 0 1 II 0 0 1 1 1 0 II 0 1 0 1 1 0 II 1 0 0 1 1 0 II 1 1 1 1 1 0 II

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: P y = ( 1 P x ) P z + P x ( 1 P z )

Figure DE102020206723A1_0001
Another interesting basic consideration is the basic properties of the XOR operation y = x ⊕ z with regard to weighted and unweighted random sequences. If both input variables x and z are statistically independent and the probabilities P (x = 1), P (z = 1) and P (y = 1) are denoted as P x , P z and P y , then the output probability is P. y of the XOR operation: P. y = ( 1 - P. x ) P. z + P. x ( 1 - P. z )
Figure DE102020206723A1_0001

Die Gleichung (1) kann wie folgt umgeformt werden: 1 2 P y = 2 ( 1 2 P x ) ( 1 2 P z )

Figure DE102020206723A1_0002
Equation (1) can be transformed as follows: 1 2 - P. y = 2 ( 1 2 - P. x ) ( 1 2 - P. z )
Figure DE102020206723A1_0002

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: | 1 2 P y | = 2 | ( 1 2 P x ) ( 1 2 P z ) | .

Figure DE102020206723A1_0003
The absolute amount of the difference between the signal probability and the ideal probability of 0.5 is a measure of the similarity of a binary variable to an ideal binary random variable: | 1 2 - P. y | = 2 | ( 1 2 - P. x ) ( 1 2 - P. z ) | .
Figure DE102020206723A1_0003

Da 0 < 2 | 1 2 α | < 1

Figure DE102020206723A1_0004
für 0 < a < 1 und a ≠ 0,5 ist, kann die folgende Ungleichung hergeleitet werden. 0 < | 1 2 P y | < | 1 2 P x | ,   | 1 2 P z |  f u ¨ 0 < P x , P z < 1  und  P x , P z 0,5.
Figure DE102020206723A1_0005
There 0 < 2 | 1 2 - α | < 1
Figure DE102020206723A1_0004
for 0 <a <1 and a ≠ 0.5, the following inequality can be derived. 0 < | 1 2 - P. y | < | 1 2 - P. x | , | 1 2 - P. z | f u ¨ r 0 < P. x , P. z < 1 and P. x , P. z 0.5.
Figure DE102020206723A1_0005

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: P y = 1 2 P z + 1 2 ( 1 P z ) = 1 2

Figure DE102020206723A1_0006
In the special case P x = 0.5, according to the equation: P. y = 1 2 P. z + 1 2 ( 1 - P. z ) = 1 2
Figure DE102020206723A1_0006

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 M vermischen sie sich, es bilden sich undefinierte Zwischenzustände (Metastabilität) und es tritt analoges Verhalten, u.a. chaotische Oszillationen an den Ausgängen der Matrixfeld-Oszillatoren M, auf. Dieses analoge Verhalten hat sowohl pseudo- als auch echt zufällige Eigenschaften. Der echt zufällige Anteil am Verhalten wird wesentlich von den unvorhersehbaren Veränderungen von Verzögerungszeiten der Schaltungselemente verursacht und bestimmt, die vom elektronischen Rauschen beeinflusst werden. Um diesen echt zufälligen Einfluss gegenüber dem pseudozufälligen Einfluss nachhaltig zu erhöhen, werden erfindungsgemäß die Anzahl der Verbindungen und damit auch der Rückkopplungen (Oszillator-Verhalten) möglichst effizient vergrößert. Durch die komplexen Rückkopplungsstrukturen breiten sich kleine zufällige Variationen schnell über den ganzen Matrixfeld-Oszillator M aus und das macht die Extraktion von Zufälligkeit durch Abtastung einfacher.The functionalities and properties described in these two basic considerations do not appear in their pure form in reality. In the asynchronous circuit of the matrix field oscillators M. if they mix, undefined intermediate states are formed (metastability) and analogous behavior occurs, including chaotic oscillations at the outputs of the matrix field oscillators M. , on. This analog behavior has both pseudo and genuinely random properties. The really random part of the behavior is essentially caused and determined by the unpredictable changes in the delay times of the circuit elements, which are influenced by the electronic noise. In order to increase this genuinely random influence over the long term compared to the pseudo-random influence, according to the invention the number of connections and thus also the feedback (oscillator behavior) are increased as efficiently as possible. Due to the complex feedback structures, small random variations spread quickly over the entire matrix field oscillator M. and that makes extracting randomness by sampling easier.

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 M bestehend aus einem Feld von sich gegenseitig beeinflussenden XOR-Mini-Oszillatoren 100. Ein Matrixfeld-Oszillator M (asynchrone Schaltung) in dem in 3 dargestellten Ausführungsbeispiel besteht aus einem zweidimensionalen 6 x 6-Feld von XOR-Mini-Oszillatoren 100, deren Ausgangssignal jeweils den Nachbar-Mini-Oszillatoren 100 in allen vier Richtungen als Eingangssignal dient.The influence of the genuinely random electronic noise is considerably increased by the selected circuit structure. This is the third basic consideration. All three basic considerations lead to the circuit of the matrix field oscillators M. consisting of an array of mutually influencing XOR mini-oscillators 100 . A matrix field oscillator M. (asynchronous switching) in the in 3 The illustrated embodiment consists of a two-dimensional 6 x 6 field of XOR mini-oscillators 100 whose output signal is the neighboring mini-oscillators 100 serves as an input signal in all four directions.

Das Ausgangssignal o eines jeden XOR-Mini-Oszillators 100 wird an die entsprechenden Eingänge der vier Nachbar-Mini-Oszillatoren 100 angelegt. Die Ausgangssignale der XOR-Mini-Oszillatoren 100 an den Rändern der Matrixfeld-Oszillatoren M werden nicht direkt als Eingangssignale zurückgeführt, sondern sie dienen als Eingangssignale für die XOR-Mini-Oszillatoren 100 an den gegenüberliegenden Rändern des jeweiligen Matrixfeld-Oszillators M (siehe 4).The output signal o of each XOR mini-oscillator 100 is connected to the corresponding inputs of the four neighboring mini-oscillators 100 created. The output signals of the XOR mini oscillators 100 at the edges of the matrix field oscillators M. are not fed back directly as input signals, but serve as input signals for the XOR mini-oscillators 100 at the opposite edges of the respective matrix field oscillator M. (please refer 4th ).

5 zeigt die Nummerierung der Elemente in einem Matrixfeld-Oszillator in Form (Zeile, Spalte). Tabelle 2: beispielhafte Individualisierung der Matrixfeld-Oszillatoren Matrixfeld-Oszillator Start Inv Out 0 (0,2) (4,5) (1,5) 1 (1,3) (2,0) (3,1) 2 (2,4) (5,2) (5,4) 3 (3,5) (5,1) (0,1) 4 (4,5) (2,1) (3,4) 5 (4,3) (1,5) (2,0) 6 (5,2) (1,3) (1,2) 7 (4,0) (5,4) (5,1) 8 (2,1) (3,5) (4,2) 5 shows the numbering of the elements in a matrix field oscillator in form (row, column). Table 2: exemplary customization of the matrix field oscillators Matrix field oscillator begin Inv Out 0 (0.2) (4.5) (1.5) 1 (1.3) (2.0) (3.1) 2 (2.4) (5.2) (5.4) 3 (3.5) (5.1) (0.1) 4th (4.5) (2.1) (3.4) 5 (4.3) (1.5) (2.0) 6th (5.2) (1.3) (1.2) 7th (4.0) (5.4) (5.1) 8th (2.1) (3.5) (4.2)

Zur Gewährleistung der Individualität und der Unabhängigkeit der Matrixfeld-Oszillatoren M muss bei der Wahl des Ortes der Anregung (Start), des zusätzlichen Inverters (Inv) und des Ausgangs (Out) darauf geachtet werden, dass sie sich in einem einzelnen Matrixfeld-Oszillator M und als 3er-Kombination in allen Matrixfeld-Oszillatoren M des Zufallszahlengenerators unterscheiden. Es soll also nie der gleiche Oszillator als Ort der Anregung (Start), als Oszillator mit zusätzlichem Inverter (Inv) oder als Ausgangs-Oszillator (Out) dienen. Vielmehr sollen diese Aufgaben durch jeweils separate Oszillatoren wahrgenommen werden. Die Individualisierung der Matrixfeld-Oszillatoren M in dem Ausführungsbeispiel zeigt Tabelle 2.To ensure the individuality and independence of the matrix field oscillators M. When choosing the location of the excitation (Start), the additional inverter (Inv) and the output (Out), care must be taken that they are in a single matrix field oscillator M. and as a 3-way combination in all matrix field oscillators M. of the random number generator. The same oscillator should never serve as a place of excitation (start), as an oscillator with an additional inverter (Inv) or as an output oscillator (Out). Rather, these tasks should be performed by separate oscillators. The customization of the matrix field oscillators M. Table 2 shows the exemplary embodiment.

Der rein asynchrone Matrixfeld-Oszillator M ist deaktiviert, wenn die Steuereingänge der XOR-Mini-Oszillatoren 100 alle s[1:0] = 00 sind. In diesem Fall sind alle Ausgänge o der XOR-Mini-Oszillatoren 100 andauernd gleich logisch null (0). Die einzige Ausnahme bildet der XOR-Mini-Oszillator Inv mit dem zusätzlichen Inverter 110 am Ausgang. Hier ist der Ausgang konstant logisch eins (1). Der Matrixfeld-Oszillator M wird aktiviert, indem die Steuereingänge der XOR-Mini-Oszillatoren 100 alle s[1:0] = 10 gesetzt werden. Die einzige Ausnahme bildet der XOR-Mini-Oszillator Start. Hier wird der Steuereingang kurzzeitig s[1:0] = 01 gesetzt, um den Matrixfeld-Oszillator M mit einem Ausgangswert von logisch eins (1) direkt anzuregen. Nach der erfolgten Anregung wird auch dieser Steuereingang auf s[1:0] = 10 gesetzt. Eine indirekte Anregung findet auch durch den XOR-Mini-Oszillator Inv mit dem zusätzlichen Inverter 110 statt. Der Ausgang des XOR-Mini-Oszillators Out stellt gleichzeitig den Ausgang des Matrixfeld-Oszillators M dar.The purely asynchronous matrix field oscillator M. is deactivated when the control inputs of the XOR mini oscillators 100 all s [1: 0] = 00. In this case all outputs are o the XOR mini-oscillators 100 continuously equal to logic zero (0). The only exception is the XOR mini oscillator Inv with the additional inverter 110 at the exit. Here the output is a constant logical one (1). The matrix field oscillator M. is activated by the control inputs of the XOR mini oscillators 100 all s [1: 0] = 10 are set. The only exception is the XOR mini oscillator Start. Here the control input is set briefly to s [1: 0] = 01 to activate the matrix field oscillator M. to be stimulated directly with an output value of logic one (1). After the excitation has taken place, this control input is also set to s [1: 0] = 10. Indirect excitation is also provided by the XOR mini oscillator Inv with the additional inverter 110 instead of. The output of the XOR mini-oscillator Out is also the output of the matrix field oscillator M. represent.

Die Steuersignale der einzelnen XOR-Mini-Oszillatoren 100 werden durch die beiden Eingangssignale enable und start bestimmt (siehe Tabelle 3). Diese beiden Eingangssignale nehmen bei der Aktivierung des Matrixfeld-Oszillators M ausgehend von logisch null (0) gleichzeitig den Wert logisch eins (1) an. Während das enable-Eingangssignal diesen Wert für die Dauer der Aktivierung des Matrixfeld-Oszillators M beibehält, geht das start-Eingangssignal relativ kurz danach wieder auf den Ausgangswert logisch null (0) zurück. Durch das Setzen des Eingangssignals enable auf 0 werden die Matrixfeld-Oszillatoren M deaktiviert (Ruhezustand). Tabelle 3: Steuersignale der XOR-Mini-Oszillatoren 100 Enable Start s[1:0] Start s[1:0] 0 0 00 00 0 1 00 00 1 0 10 10 1 1 10 01 The control signals of the individual XOR mini oscillators 100 are determined by the two input signals enable and start (see table 3). These two input signals take place when the matrix field oscillator is activated M. starting from logic zero (0) at the same time the value logic one (1). During the enable input signal this value for the duration of the activation of the matrix field oscillator M. remains, the start input signal goes back relatively shortly thereafter to the output value logic zero (0). Setting the input signal enable to 0 turns the matrix field oscillators M. deactivated (idle state). Table 3: Control signals of the XOR mini oscillators 100 Enable begin s [1: 0] Start s [1: 0] 0 0 00 00 0 1 00 00 1 0 10 10 1 1 10 01

In dem Ausführungsbeispiel werden an sechs Stellen im Matrixfeld-Oszillator M die Ausgangssignale als Testsignale ausgegeben. Sie dienen als Grundlage für die Oszillationsprüfung des jeweiligen Matrixfeld-Oszillators M. Zwei der sechs Testsignale entsprechen den Ausgangssignalen der XOR-Mini-Oszillatoren Out und Start und sind somit abhängig von der Individualisierung des jeweiligen Matrixfeld-Oszillators M. Die vier weiteren Testsignale tasten an festen Orten der Matrixfeld-Oszillatoren M die Ausgangssignale ab (siehe folgende Tabelle). Tabelle 4: Testsignale in den Matrixfeld-Oszillatoren M Testsignal Ausgangssignal des XOR-Mini-Oszillators test[0] (Zeileout, SpalteOut), z.B. (1,5) test[1] (Zeilestart, SpalteStart), z.B. (0,2) test[2] (1,1) test[3] (0,5) test[4] (3,2) test[5] (4,4) In the exemplary embodiment, there are six positions in the matrix field oscillator M. the output signals are output as test signals. They serve as the basis for the oscillation test of the respective matrix field oscillator M. . Two of the six test signals correspond to the output signals of the XOR mini oscillators Out and Start and are therefore dependent on the individualization of the respective matrix field oscillator M. . The four other test signals probe at fixed locations on the matrix field oscillators M. the output signals (see following table). Table 4: Test signals in the matrix field oscillators M Test signal Output signal of the XOR mini oscillator test [0] (Row out , column Out ), e.g. (1,5) test [1] (Row start , column start ), e.g. (0,2) test [2] (1.1) test [3] (0.5) test [4] (3.2) test [5] (4.4)

Der Zufallszahlengenerator in dem Ausführungsbeispiel enthält als Rauschquelle 9 asynchrone Matrixfeld-Oszillatoren M. Die analogen Ausgangssignale der 9 Matrixfeld-Oszillatoren M werden in der in 6 dargestellten Schaltung digitalisiert und zum Takt der nachfolgenden synchronen Schaltung synchronisiert. Die beiden Eingangssignale Systemtakt (clk) und asynchrones Active-Low-Reset (res_a_n) werden an die entsprechenden Eingänge der D-Flip-Flops 200 angelegt.The random number generator in the exemplary embodiment contains as a noise source 9 asynchronous matrix field oscillators M. . The analog output signals of the 9 matrix field oscillators M. are in the in 6th digitized circuit shown and synchronized to the clock of the subsequent synchronous circuit. The two input signals system clock (clk) and asynchronous active-low reset (res_a_n) are sent to the corresponding inputs of the D flip-flops 200 created.

Beim Übergang von der asynchronen zu der synchronen Schaltung sind im Digitalisierer 20 zwei sogenannte Metastabilitäts-Flip-Flop-Stufen (RA : asynchrones Active-Low-Reset; RS: synchrones Active-High-Reset) für die Digitalisierung erforderlich. Im Rahmen dieser Digitalisierungsschaltung 20 werden die generierten analogen Ausgangssignale (sogenannte raw random signals) der 9 Matrixfeld-Oszillatoren M bei einem aktivierten Enable-Signal durch die erste Metastabilitäts-Flip-Flop-Stufe (9 D-Flip-Flops 200) abgetastet, mit der XOR-Kombination 210 zusammengeführt und nach der zweiten Metastabilitäts-Flip-Flop-Stufe (1 D-Flip-Flop 220) als ein digitales Signal bzw. als Orginal-Zufallssequenz (sogenannte raw random sequence) ausgegeben. Die XOR-Kombination 210 komprimiert die abgetasteten Ausgangssignale von 9 unabhängigen Matrixfeld-Oszillatoren M zu einem Signal. Dies führt dazu, dass die echte Entropie am Ausgang der XOR-Kombination 210 größer als die einzelnen echten Entropien an den Ausgängen der Matrixfeld-Oszillatoren M (vor der XOR-Kombination) ist. Die komplexen hochfrequenten Ausgangssignale (chaotische Oszillationen) der Matrixfeld-Oszillatoren M können häufige Metastabilitätseffekte in der ersten Metastabilitäts-Flip-Flop-Stufe hervorrufen und zu metastabilen Signalen nach dieser ersten Stufe führen. Erst nach der zweiten Metastabilitäts-Flip-Flop-Stufe wird eine rein digitale Zufallssequenz mit einem sehr geringen Bias kontinuierlich ausgegeben. Hier werden mehrere Kopien derselben physikalischen Rauschquelle (hier Matrixfeld-Oszillatoren), deren Abtastbits XOR-kombiniert werden, als eine einzige Rauschquelle betrachtet.When changing from the asynchronous to the synchronous circuit are in the digitizer 20th two so-called metastability flip-flop stages (R A : asynchronous active-low reset; R S : synchronous active high reset) required for digitization. As part of this digitization circuit 20th the generated analog output signals (so-called raw random signals) of the 9 matrix field oscillators M. when the enable signal is activated by the first metastability flip-flop stage (9 D flip-flops 200 ) scanned with the XOR combination 210 merged and after the second metastability flip-flop stage (1 D flip-flop 220 ) as a digital signal or as an original random sequence (so-called raw random sequence). The XOR combination 210 compresses the sampled output signals from 9 independent matrix field oscillators M. to a signal. This leads to the real entropy at the output of the XOR combination 210 greater than the individual real entropies at the outputs of the matrix field oscillators M. (before the XOR combination) is. The complex high-frequency output signals (chaotic oscillations) of the matrix field oscillators M. can cause frequent metastability effects in the first metastability flip-flop stage and lead to metastable signals after this first stage. Only after the second metastability flip-flop stage is a purely digital random sequence continuously output with a very low bias. Here several copies of the same physical noise source (here matrix field oscillators), whose sampling bits are XOR-combined, are considered as a single noise source.

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 M und des Digitalisierers 20 eine bestimmte Zeit (45 µs in diesem Ausführungsbeispiel) vor Ausgabe der ersten Zufallsbits durch den Zufallszahlengenerator gewartet und die während der Wartezeit (Anlaufzeit) anfallenden Zufallsbits verworfen werden, um den noch gering vorhandenen pseudozufälligen Einfluss auf die Ausgangssequenz auf ein unbedeutendes Maß zu minimieren. Dazu ist die erfindungsgemäße Schaltung vorzugsweise noch um ein Modul 230 zur Realisierung der Wartezeit (Anlaufzeit) von 45 µs ergänzt. Das Modul 230 zur Realisierung der Wartezeit (Anlaufzeit) von 45 µs ist oberhalb des Digitalisierers in 6 angeordnet. Es basiert auf einem entsprechenden Zähler und zeigt nach Ablauf der Wartezeit (45 µs) nach Start des Zufallszahlengenerators (Voraussetzung: enable ist 1 und das asynchrone Active-Low-Reset wird nicht aktiviert) mit dem Ausgangssignal out_valid = 1 an, dass die Anlaufzeit vorüber ist und die Bits der Orginal-Zufallssequenz am Ausgang out gültig sind. Vorher ist out_valid = 0, d.h. die Bits der Ausgangsequenz am Ausgang out sollten verworfen werden.Additional post-processing of the output sequence after digitization is not necessary due to the excellent statistical properties of the sequence. However, immediately after activating the 9 matrix field oscillators M. and the digitizer 20th waited a certain time (45 microseconds in this embodiment) before the output of the first random bits by the random number generator and the random bits occurring during the waiting time (start-up time) are discarded in order to minimize the pseudo-random influence on the output sequence to an insignificant level. For this purpose, the circuit according to the invention is preferably also around a module 230 to implement the waiting time (start-up time) of 45 µs added. The module 230 to realize the waiting time (start-up time) of 45 µs is above the digitizer in 6th arranged. It is based on a corresponding counter and after the waiting time (45 µs) has elapsed after the random number generator has started (requirement: enable is 1 and the asynchronous active-low reset is not activated), it uses the output signal out_valid = 1 to indicate that the start-up time is over and the bits of the original random sequence at the output out are valid. Before that, out_valid = 0, ie the bits of the output sequence at the output out should be discarded.

Neben der bereits beschriebenen Aktivierung der Rauschquelle durch die beiden Eingangssignale enable und start, lässt sich auch der Digitalisierer 20 durch das Setzen des Eingangssignals enable auf 1 aktivieren (Bedingung: keine Aktivierung des asynchronen Active-Low-Resets) und durch das Setzen des Eingangssignals enable auf 0 deaktivieren (Ruhezustand).In addition to the activation of the noise source already described using the two input signals enable and start, the digitizer 20th activate by setting the input signal enable to 1 (condition: no activation of the asynchronous active-low reset) and deactivate by setting the input signal enable to 0 (idle state).

Im Folgenden werden die Schaltungen Oszillationsprüfung 30 und Totalausfall-Test 40 beschrieben. Als Vorbemerkung ist hier festzuhalten, dass ein fehlerhaftes Verhalten der Matrixfeld-Oszillatoren M in Form des Erzeugens einer periodischen Testsequenz wie z.B. 10101 ...01 weder bekannt noch plausibel ist, da periodische Oszillationen u.a. durch den Einsatz des zusätzlichen Inverters 110 in jedem der Matrixfeld-Oszillatoren M verhindert werden. Im Folgenden wird daher dieser Fall nicht weiter berücksichtigt.The following are the oscillation test circuits 30th and total failure test 40 described. As a preliminary remark, it should be noted here that incorrect behavior of the matrix field oscillators M. in the form of generating a periodic test sequence such as 10101 ... 01 is neither known nor plausible, since periodic oscillations, among other things, due to the use of the additional inverter 110 in each of the matrix field oscillators M. be prevented. This case will therefore not be considered further in the following.

Die Teilschaltung Flankenerkennung 300 (clk: Systemtakt; res_a_n, RA : asynchrones Active-Low-Reset; RS: synchrones Active-High-Reset) in 7 detektiert Änderungen eines digitalisierten Testsignals.The partial circuit edge detection 300 (clk: system clock; res_a_n, R A : asynchronous active-low reset; R S : synchronous active high reset) in 7th detects changes in a digitized test signal.

Zu diesem Zweck wird jedes der 6 Testsignale eines Matrixfeld-Oszillators M (zur Auswahl dieser Testsignale siehe Tabelle 4) jeweils einem ersten D-Flip-Flop 310 zur Abtastung zugeführt. Der Ausgang dieses D-Flip-Flops 310 wird dem Eingang eines weiteren D-Flip-Flops 320 zugeführt. Diese beiden D-Flip-Flops 310 und 320 dienen als Metastabilitäts-Flip-Flops zur Digitalisierung und zur Synchronisierung des jeweiligen Testsignals. Der Ausgang des D-Flip-Flops 320 wird einerseits dem D-Eingang eines weiteren D-Flip-Flops 330 zugeführt, welches der zur Flankenerkennung erforderlichen Zeitverzögerung dient, und zur Erkennung der Flanke wird der Eingang des D-Flip-Flops 330 (dies entspricht dem Ausgang des D-Flip-Flops 320) einerseits und der Ausgang des D-Flip-Flops 330 jeweils dem Eingang eines Exklusiv-Oder-Gatters 340 zugeführt. Dessen Ausgangssignal „edge“ zeigt jeweils das Vorhandensein einer Flanke in dem digitalisierten Ausgangssignaltest an.For this purpose, each of the 6 test signals is used by a matrix field oscillator M. (for the selection of these test signals, see Table 4) each with a first D flip-flop 310 fed for scanning. The output of this D flip-flop 310 becomes the input of another D flip-flop 320 fed. These two D flip-flops 310 and 320 serve as metastability flip-flops for digitizing and synchronizing the respective test signal. The output of the D flip-flop 320 becomes on the one hand the D input of another D flip-flop 330 which is used for the time delay required for edge detection, and the input of the D flip-flop is used to detect the edge 330 (this corresponds to the output of the D flip-flop 320 ) on the one hand and the output of the D flip-flop 330 each to the input of an exclusive-or gate 340 fed. Its output signal "edge" indicates the presence of an edge in the digitized output signal test.

Diese Ausgangssignale „edge“ dienen sodann als Eingangssignale für die Oszillationsprüfung 30.These "edge" output signals then serve as input signals for the oscillation test 30th .

8 zeigt die Schaltung Oszillationsprüfung 30(clk: Systemtakt; res_a_n: asynchrones Active-Low-Reset; res_s: synchrones Active-High-Reset). Hier werten 6 Instanzen der Schaltung Flankenerkennung 300 die jeweils 6 Testsignale eines Matrixfeld-Oszillators M aus. Wenn 100 Takte lang keines der jeweils 6 digitalisierten Testsignale eine Flanke aufweist, zeigt dies das Ausgangssignal des Zählers bzw. der Schaltung Oszillationsprüfung 30 mit noedge = 1 an. Dies ein sehr deutliches Zeichen, dass der entsprechende Matrixfeld-Oszillator M nicht mehr oszilliert. Mit noedge = 0 wird angezeigt, dass der Matrixfeld-Oszillator M oszilliert (built-in oscillation health test). 8th shows the oscillation test circuit 30 (clk: system clock; res_a_n: asynchronous active-low reset; res_s: synchronous active-high reset). Here 6 instances of the circuit evaluate edge detection 300 each of the 6 test signals of a matrix field oscillator M. the end. if 100 Clocks none of the 6 digitized test signals has an edge, this is shown by the output signal of the counter or the oscillation test circuit 30th with noedge = 1. This is a very clear indication that the corresponding matrix field oscillator M. no longer oscillates. With noedge = 0 it is indicated that the matrix field oscillator M. oscillated (built-in oscillation health test).

Demgemäß umfasst die in 8 dargestellte Schaltung Oszillationsprüfung 30 6 Flankenerkennungsschaltungen 300 (0 bis 5), deren jeweilige Ausgangssignale „edge“ einem Oder-Gatter 32 zugeführt sind. Der Ausgang dieses Oder-Gatters 32 wird dem Rücksetz-Eingang res_s eines Zählers 34 zugeführt. Der Zähler wird mit dem Systemtakt hochgezählt, d.h. der Systemtakt liegt auf dem Zähleingang des Zählers. Wenn der Zähler überläuft, d.h. während so vieler Systemtakte, wie der Zähler zählen kann, keine Flanke entstanden ist, geht der Zähler Überlauf auf logisch 1 und wird als Signal „noedge“, also Oszillationsstörung des entsprechenden Matrixfeld-Oszillators M angezeigt. Der Zähler kann beispielsweise bei einem Dezimalzähler 100 Takte weit zählen, bis er überläuft, bei einem binären Zähler empfiehlt sich eine Zweierpotenz, beispielsweise 128. Die Überlauf-Signale des Zählers 34 „noedge“ werden dann zur Gesamtüberwachung des erfindungsgemäßen Zufallszahlengenerators einer Schaltung Totalausfall-Test 40 zugeführt.Accordingly, the in 8th Circuit shown oscillation test 30th 6 edge detection circuits 300 (0 to 5), their respective output signals "edge" to an OR gate 32 are supplied. The output of this OR gate 32 is the reset input res_s of a counter 34 fed. The counter is incremented with the system clock, ie the system clock is on the counter input of the counter. If the counter overflows, ie no edge has occurred during as many system clocks as the counter can count, the counter overflow goes to logic 1 and is signaled as "noedge", i.e. an oscillation fault in the corresponding matrix field oscillator M. displayed. The counter can, for example, be a decimal counter 100 Count the number of cycles until it overflows; a power of two is recommended for a binary counter, for example 128. The overflow signals of the counter 34 “Noedge” then become a total failure test for the overall monitoring of the random number generator according to the invention of a circuit 40 fed.

Die Schaltung Totalausfall-Test 40 in 9 (clk: Systemtakt; res_a_n: asynchrones Active-Low-Reset) gibt das Signal tot = 1 aus, d.h. ein Totalausfall liegt vor, wenn die Oszillationsprüfungen 30 aller 9 Matrixfeld-Oszillatoren M keine Oszillation (noedge = 1) anzeigen. Die Oszillationsprüfung 30 und der Totalausfall-Test werden kontinuierlich betrieben (Bedingung: enable = 1 und keine Aktivierung des asynchronen Active-Low-Resets). Sie sind so ausgelegt, dass ein Totallausfall auf der einen Seite relativ schnell angezeigt wird und ein falscher Alarm auf der anderen Seite extrem unwahrscheinlich ist.The circuit total failure test 40 in 9 (clk: system clock; res_a_n: asynchronous active-low reset) outputs the signal tot = 1, ie a total failure has occurred when the oscillation tests 30th of all 9 matrix field oscillators M. show no oscillation (noedge = 1). The oscillation test 30th and the total failure test are operated continuously (condition: enable = 1 and no activation of the asynchronous active low reset). They are designed in such a way that a total failure on the one hand is indicated relatively quickly and a false alarm on the other hand is extremely unlikely.

Demgemäß werden alle Ausgänge „noedge“ der 9 Oszillationsprüfungsschaltungen 0 bis 8 einem Und-Gatter 42 zugeführt. Dessen Ausgang ergibt das Signal „tot“ für den Totalausfall des erfindungsgemäßen Zufallszahlengenerators.Accordingly, all outputs “noedge” of the 9 oscillation test circuits 0 to 8 become an AND gate 42 fed. Its output results in the signal “dead” for the total failure of the random number generator according to the invention.

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 M bestehend aus sich gegenseitig beeinflussenden XOR-Mini-Oszillatoren 100 im Rahmen des beschriebenen Ausführungsbeispiels (9 individualisierte Matrixfeld-Oszillatoren M (Rauschquelle) jeweils bestehend aus einem zweidimensionalen 6 x 6-Feld von XOR-Mini-Oszillatoren 100 inkl. einem entsprechenden Digitalisierer 20 und Totalausfall-Test 40) untersucht. Dies geschieht an Hand einer Implementierung des Ausführungsbeispiels des Zufallszahlengenerators auf einem SmartFusion-Evaluationsboard mit dem SmartFusion-FPGA A2F200M3FFGG484 von Microsemi basierend auf einem VHDL-Modell. Hierbei ist zu beachten, dass die SmartFusion-FPGA-Technologie auf der ProASIC3-FPGA-Flash-Architektur beruht. Bei der Untersuchung wird nur das reine FPGA (FPGA fabric) ohne den im SOC FPGA ebenfalls vorhandenen Prozessor benutzt. Das wichtigste Ziel dieser Untersuchung ist es, zu ermitteln, in wie weit die vom Zufallszahlengenerator erzeugte Zufälligkeit echt ist. Dazu wird im Abschnitt 1.1 das Verhalten eines einzelnen Matrixfeld-Oszillators 100 und im Abschnitt 1.2 das Verhalten des gesamten Zufallszahlengenerators untersucht. In den Anhängen A, B und C sind zusätzlich Kurz-Analysen von Implementierungen des oben beschriebenen Ausführungsbeispiels des erfindungsgemäßen Zufallszahlengenerators auf einem IGLOO-FPGA (Microsemi), einem Spartan-6-FPGA (Xilinx) und einem Spartan-7-FPGA (Xilinx) dargestellt. Mit Anhang D folgt eine Kurz-Analyse einer „Frequency Injection Attack“. Im Anhang E sind einige Merkmale (Ressourcen- und Leistungsverbrauch) von Implementierungen des Ausführungsbeispiels des erfindungsgemäßen Zufallszahlengenerators aufgeführt. Schließlich zeigt der Anhang F die Ergebnisse eines Langzeit-Oszillationstests der vier Implementierungen des Ausführungsbeispiels des erfindungsgemäßen Zufallszahlengenerators.The following are the properties of a true random number generator according to the invention based on a combination of individualized matrix field oscillators M. consisting of mutually influencing XOR mini-oscillators 100 within the scope of the exemplary embodiment described (9 individualized matrix field oscillators M. (Noise source) each consisting of a two-dimensional 6 x 6 field of XOR mini-oscillators 100 including a corresponding digitizer 20th and total failure test 40 ) investigated. This is done using an implementation of the exemplary embodiment of the random number generator on a SmartFusion evaluation board with the SmartFusion FPGA A2F200M3FFGG484 from Microsemi based on a VHDL model. It should be noted that the SmartFusion FPGA technology is based on the ProASIC3 FPGA Flash architecture. During the investigation, only the pure FPGA (FPGA fabric) is used without the processor also present in the SOC FPGA. The most important goal of this investigation is to determine to what extent the randomness generated by the random number generator is real. This is done in section 1.1 the behavior of a single matrix field oscillator 100 and examined in section 1.2 the behavior of the entire random number generator. Appendices A, B and C also contain brief analyzes of implementations of the above-described exemplary embodiment of the random number generator according to the invention on an IGLOO-FPGA (Microsemi), a Spartan-6-FPGA (Xilinx) and a Spartan-7-FPGA (Xilinx) shown. Appendix D is followed by a brief analysis of a “Frequency Injection Attack”. Appendix E lists some features (resource and power consumption) of implementations of the exemplary embodiment of the random number generator according to the invention. Finally, Appendix F shows the results of a long-term oscillation test of the four implementations of the exemplary embodiment of the random number generator according to the invention.

1.1 Untersuchung eines Matrixfeld-Oszillators M 1.1 Investigation of a matrix field oscillator M.

Um einen ersten Eindruck von dem Verhalten der in dem Zufallszahlengenerator enthaltenen Matrixfeld-Oszillatoren M zu bekommen, wird als erstes beispielhaft das Ausgangssignal (Standardausgang) des Matrixfeld-Oszillators 0 des erfindungsgemäßen Zufallszahlengenerators in der Zeit- und Frequenzdomäne (Spektrum) mit einem Oszilloskop aufgezeichnet. Die 10 bzw. 11 zeigt das Ausgangsignal des Matrixfeld-Oszillators 0 im Zeit- (oberer Teil der Abbildung) und im Frequenzbereich (unterer Teil der Abbildung) falls der Matrixfeld-Oszillator 0 deaktiviert ( 10) bzw. aktiviert (11) ist.To get a first impression of the behavior of the matrix field oscillators contained in the random number generator M. The first example is the output signal (standard output) of the matrix field oscillator 0 of the random number generator according to the invention in the time and frequency domains (Spectrum) recorded with an oscilloscope. the 10 respectively. 11th shows the output signal of the matrix field oscillator 0 in the time (upper part of the figure) and in the frequency domain (lower part of the figure) if the matrix field oscillator 0 is deactivated ( 10 ) or activated ( 11th ) is.

Beim Vergleich der beiden spektralen Darstellungen in den 10 und 11 erkennt man, dass der Abstand zwischen dem Rauschen des deaktivierten und des aktivierten Matrixfeld-Oszillators 0 ca. 20 dB beträgt. Das offensichtliche Vorliegen von Rauschen beim aktivierten Matrixfeld-Oszillator M hilft bei der Frage leider nicht weiter, wie groß der Anteil der echten Zufälligkeit am Rauschen ist.When comparing the two spectral representations in the 10 and 11th it can be seen that the distance between the noise of the deactivated and activated matrix field oscillator 0 is approx. 20 dB. The obvious presence of noise with the matrix field oscillator activated M. unfortunately does not help with the question of how large the proportion of real randomness is in the noise.

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 12 sind drei von insgesamt 1000 gemessenen Kurven der differentiellen Ausgangsspannung des Matrixfeld-Oszillators 0 nach verschiedenen Neustarts dargestellt.The restart measurements were made using the above-mentioned FPGA technology. In every experiment, the inactive state (output equal to 0) serves as the initial state of the matrix field oscillator 0, so that the initial conditions are essentially identical. Instead of a standard output, 0 LVDS outputs were selected for the output of the matrix field oscillator and corresponding output voltages were measured differentially in order to increase the accuracy of the measurement. In 12th three of a total of 1000 measured curves of the differential output voltage of the matrix field oscillator 0 are shown after various restarts.

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 12 immer mehr. Die Menge an Zufälligkeit in den aufgezeichneten Kurven, die relevant für die Extraktion der Entropie durch Abtastung ist, kann durch die Standardabweichung der Ausgangsspannung als eine Funktion der Zeit gemessen werden. D.h. falls die Standardabweichung relativ groß ist, dann ist die Extraktion eines Bits von echter Zufälligkeit durch Abtastung relativ leicht und zuverlässig. Ist die Standardabweichung auf der anderen Seite relativ klein, dann ist das extrahierte zufällige Bit stark gewichtet und dieser Bias wird stark von der Implementierung abhängig sein. So wurden entsprechend die Standardabweichung und das arithmetische Mittel der differentiellen Ausgangsspannung des Matrixfeld-Oszillators 0 als Funktionen der Zeit (Zeitdauer 140 ns) für die 1000 Kurven berechnet. Die Ergebnisse sind in den 13 und 14 dargestellt.It can be clearly seen that the courses of the three curves differ from one another. While they are identical or at least similar at the beginning, they differ in the course of the presentation of the 12th always more. The amount of randomness in the recorded curves relevant to the extraction of entropy by sampling can be measured by the standard deviation of the output voltage as a function of time. That is, if the standard deviation is relatively large, then extracting a bit of true randomness by sampling is relatively easy and reliable. On the other hand, if the standard deviation is relatively small, then the extracted random bit is heavily weighted and this bias will be highly implementation-dependent. Accordingly, the standard deviation and the arithmetic mean of the differential output voltage of the matrix field oscillator 0 were calculated as functions of time (duration 140 ns) for the 1000 curves. The results are in the 13th and 14th shown.

Die Ergebnisse des experimentellen Neustart-Ansatzes zeigen, dass der Matrixfeld-Oszillator 0 echte Zufälligkeit generiert. Man sieht in 13 und 14, dass nach ungefähr 25 ns der arithmetische Mittelwert und die Standardabweichung relativ stabile Werte erreichen. Der relativ stabile Wert für die Standardabweichung ist ungefähr doppelt so groß wie die entsprechenden Werte des Fibonacci- und des Galois-Ring-Oszillators. Die Struktur des Matrixfeld-Oszillators M ermöglicht also eine robustere und zuverlässigere Entropie-Extraktion durch Abtastung als vergleichbare Oszillatoren. Aufgrund der grundsätzlich gleichen Struktur sind gleiche bzw. ähnliche Ergebnisse für die anderen Matrixfeld-Oszillatoren M zu erwarten.The results of the experimental restart approach show that the matrix field oscillator 0 generates true randomness. You can see in 13th and 14th that after about 25 ns the arithmetic mean and standard deviation reach relatively stable values. The relatively stable value for the standard deviation is approximately twice as large as the corresponding values for the Fibonacci and Galois ring oscillators. The structure of the matrix field oscillator M. thus enables a more robust and reliable entropy extraction by sampling than comparable oscillators. Because the structure is basically the same, the results are the same or similar for the other matrix field oscillators M. expected.

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) Statistische Tests (Gesamtdatenmenge: ca. 11,9 MB) AIS31 statistische Testsuite (1.3.1) NIST statistische Testsuite/ NIST 800-22 (sts-2.1.2 mit Default-Parametern) TestU01 statistischer Test, Universität Montreal (TestU01 1.2.3) T8 (Entropie-Test) T0-T8 Testbatterie Alphabit Testbatterie Rabbit sequentielle Datenaufnahme 8,0001030 bestanden bestanden bestanden bestanden For further analysis, the data output of the random number generator takes place via an SPI interface, as it enables the desired, relatively high data rate of 30 Mbit / s. The FT2232H mini module from FTDI is used for this. It provides this SPI interface. The implementation of the random number generator is adapted to this interface. The SPI interface enables data blocks up to a size of 65536 bytes to be read at a data rate of up to 30 Mbit / s. The data is transferred from the FT2232H mini module to a computer via USB. Although the random number generator is of course capable of continuous data output, due to the SPI interface used, data can only be are output in blocks. As a first step in the investigation, the basic statistical properties of the random number generator are checked with common statistical tests (AIS31 statistical test suite, NIST statistical test suite / NIST 800-22 and TestU01 statistical test from the University of Montreal). The statistical tests are applied to data that are recorded with a sequential data acquisition with 200 62,500 byte or. 500,000-bit data blocks (data rate 30 Mbit / s) are created. These are original random sequences after digitization (raw random sequence). The total amount of data generated by the random number generator at room temperature has a size of 100,000,000 bits (approx. 11.9 MB). The results of the statistical tests are shown in Table 5. Table 5: Results of the statistical tests of data generated by the random number generator at room temperature with sequential data acquisition with 200 62,500-byte or 500,000-bit data blocks (data rate 30 Mbit / s) Statistical tests (total amount of data: approx. 11.9 MB) AIS31 statistical test suite (1.3.1) NIST statistical test suite / NIST 800-22 (sts-2.1.2 with default parameters) TestU01 statistical test, University of Montreal (TestU01 1.2.3) T8 (entropy test) T0-T8 Alphabit test battery Rabbit test battery sequential data acquisition 8,0001030 passed passed passed passed

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) Temperatur AIS31 statistische Testsuite (1.3.1) T8 (Entropie-Test) T0-T8 -25° C 7,9977650 bestanden -20° C 8,0013081 bestanden -15° C 8,0038099 bestanden -10° C 7,9966510 bestanden -5° C 7,9974596 bestanden 0° C 8,0026852 bestanden +5° C 7,9979734 bestanden +10° C 8,0001493 bestanden +15° C 8,0041145 bestanden +20° C 8,0005963 bestanden +25° C 8,0031554 bestanden +30° C 7,9968651 bestanden +35° C 8,0007169 bestanden +40° C 7,9954391 bestanden +45° C 8,0044901 bestanden +50° C 7,9989890 bestanden +55° C 7,9956289 bestanden AIS20 / 31 requires that the AIS31 statistical test suite is passed under all relevant environmental conditions. The random number generator is therefore subjected to temperature tests in a specific temperature range. Here again, the sequential data acquisition is carried out with basically unchanged test conditions (except for temperature). This means that 200 62,500-byte or 500,000-bit data blocks are received at each of the different temperatures (from -25 ° C to +55 ° C in steps of 5 ° C). This again results in a total amount of data of 100,000,000 bits each (approx. 11.9 MB). Each of these total data sets is tested with the AIS31 statistical test suite. The results are shown in Table 6. Table 6: Results of the tests with the AlS31 statistical test suite of data generated by the random number generator at different temperatures with sequential data recording with 200 62,500-byte or 500,000-bit data blocks (data rate 30 Mbit / s) temperature AIS31 statistical test suite (1.3.1) T8 (entropy test) T0-T8 -25 ° C 7.9977650 passed -20 ° C 8.0013081 passed -15 ° C 8.0038099 passed -10 ° C 7.9966510 passed -5 ° C 7,9974596 passed 0 ° C 8.0026852 passed + 5 ° C 7.9979734 passed + 10 ° C 8.0001493 passed + 15 ° C 8.0041145 passed + 20 ° C 8.0005963 passed + 25 ° C 8.0031554 passed + 30 ° C 7.9968651 passed + 35 ° C 8,0007169 passed + 40 ° C 7.9954391 passed + 45 ° C 8.0044901 passed + 50 ° C 7.9989890 passed + 55 ° C 7.9956289 passed

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 M aus Abschnitt 1.1 ab. Anstatt die analogen Signale vor der Digitalisierung (raw random signals) werden die Original-Zufallssequenzen nach der Digitalisierung (raw random sequence) bei Neustarts für unterschiedlich lange Zeitabschnitte aufgezeichnet und mit herkömmlichen statistischen Tests analysiert. Die Analyse erfolgt, indem die verschiedenen Datensequenzen in Form von Datenblöcken zu einer Gesamtdatenmenge zusammengesetzt werden, die dann mit gängigen statistischen Tests (AIS31 statistische Testsuite, NIST statistische Testsuite/NIST 800-22 und TestU01 statistischer Test von der Universität Montreal) geprüft werden. Die Grundidee dabei ist, dass auch bei einer durch Neustarts erzeugten Datenmenge die statistischen Tests bestanden werden müssen. Denn bei Vorliegen einer echten Zufallsgenerierung durch den Zufallszahlengenerator müssen die statistischen Eigenschaften der Datenmenge unabhängig davon sein, ob sie durch eine sequentielle Datenaufnahme oder durch Datenblöcke bei einer Reihe von Neustarts entsteht. Andererseits werden die durch eventuell noch vorhandene Pseudozufälligkeiten verursachten Unzulänglichkeiten wie Bias und statistische Abhängigkeiten durch die sehr anspruchsvollen und komplexen statistischen Tests bei diesem Ansatz erkannt. Treten mehrere Fehler in den Tests auf, ist die Wahrscheinlichkeit groß, dass die Pseudozufälligkeit signifikanten Einfluss auf die Original-Zufallssequenzen nach der Digitalisierung hat. Im fehlerfreien Fall ist der Einfluss der Pseudozufälligkeit vernachlässigbar gering. Dieses Verfahren hat den Vorteil, zum einen kleinere Datenblöcke über kürzere Zeitintervalle, aber auch größere Datenblöcke über längere Zeitintervalle untersuchen zu können.Despite the results of Section 1.1, it cannot be ruled out that pseudorandomness that is still present negatively influences the entropy extraction by sampling. Another method of investigation is necessary to clarify whether the randomness generated by the entire random number generator is still subject to a significant pseudo-random influence after digitization. The approach for this new analysis method at the level of the total random number generator is derived from the experimental restart approach at the level of a matrix field oscillator M. from Section 1.1. Instead of the analog signals before digitization (raw random signals), the original random sequences after digitization (raw random sequence) are recorded for different lengths of time during restarts and analyzed using conventional statistical tests. The analysis is carried out by combining the various data sequences in the form of data blocks to form a total data volume, which is then checked with common statistical tests (AIS31 statistical test suite, NIST statistical test suite / NIST 800-22 and TestU01 statistical test from the University of Montreal). The basic idea is that the statistical tests must be passed even if the amount of data generated by restarting. This is because if there is a real random generation by the random number generator, the statistical properties of the data volume must be independent of whether they arise from sequential data acquisition or from data blocks with a series of restarts. On the other hand, inadequacies such as bias and statistical dependencies caused by possibly still existing pseudo-randomnesses are recognized by the very demanding and complex statistical tests in this approach. If several errors occur in the tests, there is a high probability that the pseudo-randomness has a significant influence on the original random sequences after digitization. In the error-free case, the influence of the pseudo randomness is negligibly small. This method has the advantage of being able to examine smaller data blocks over shorter time intervals, but also larger data blocks over longer time intervals.

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 15 dargestellt.The frequency distribution of byte values gives a first impression of the properties of the corresponding total data volume. She will be in 15th shown.

Die ungleichmäßige Häufigkeitsverteilung der Byte-Werte in 15 ist offensichtlich. Die relativen Häufigkeiten bis einschließlich dem schwarzen Strich L (Byte-Wert 0x3F) betragen im Wesentlichen jeweils 0,40% und danach jeweils 0,38% bzw. 0,39%. Da sich die Datenmenge aus 100.000 1000-Bit-Datenblöcken nach 100.000 Neustarts zusammensetzt, deutet dies auf einen noch vorhandenen pseudozufälligen Einfluss auf den Zufallszahlengenerator hin. Dieser pseudozufällige Einfluss zeigt sich auch bei der weiteren statistischen Analyse der obigen Datenmenge. Während bei der AIS31 statistischen Testsuite überraschenderweise alle Tests mit dieser Datenmenge noch bestanden werden, trifft das für die beiden anderen angewendeten statistischen Tests nicht zu.

  • - 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)
The uneven frequency distribution of the byte values in 15th is obvious. The relative frequencies up to and including the black line L (byte value 0x3F) are essentially 0.40% each and then 0.38% and 0.39% respectively. Since the amount of data is composed of 100,000 1000-bit data blocks after 100,000 restarts, this indicates that there is still a pseudo-random influence on the random number generator. This pseudo-random influence can also be seen in the further statistical analysis of the above data volume. While the AIS31 statistical test suite surprisingly still passes all tests with this amount of data, this does not apply to the other two statistical tests used.
  • - 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)

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 M. So wird bei der zweiten Durchführung die neue Testmethode (Neustart-Methode mit direkt nach der Digitalisierung gesammelten Daten) unter gleichen Bedingungen wie beim ersten Experiment auf einen Zufallszahlengenerator angewendet, der eine Wartezeit von 45 µs direkt nach jedem Neustart aufweist. Erst nach der Wartezeit werden Zufallsdaten ausgegeben.A solution to this problem can be obtained by considering the findings from Section 1.1. The longer you wait, the more random the state of the matrix field oscillators M. . In the second run, the new test method (restart method with data collected immediately after digitization) is applied to a random number generator under the same conditions as in the first experiment, which has a waiting time of 45 µs immediately after each restart. Random data is only output after the waiting time.

Nun liegt eine geänderte Häufigkeitsverteilung der Byte-Werte der Gesamtdatenmenge, wie 16 zeigt, vor. Die Häufigkeitsverteilung der Byte-Werte ist nun wesentlich gleichmäßiger. Es gibt jetzt keine auffällige Stufe mehr bei dem Byte-Wert 0x3F (schwarzer Strich L). Die relativen Häufigkeiten betragen im Wesentlichen jeweils 0,39%. Der pseudozufällige Einfluss auf den Zufallszahlengenerator wurde durch die Einführung der Wartezeit offensichtlich entscheidend reduziert. Das Verschwinden eines signifikanten pseudozufälligen Einflusses, d.h. der Zufallszahlengenerator erzeugt nur noch reine echte Zufälligkeit, zeigt auch die statistische Analyse weiterer Neustart-Versuche mit unterschiedlicher Datenblockgröße und Anzahl von Neustarts bei Raumtemperatur, bei einer Datenrate von 30 Mbit/s und ebenfalls gleichen Gesamtdatenmenge von jeweils 100.000.000 Bits (ca. 11,9 MB). Tabelle 7: Ergebnisse der statistischen Tests von durch den Zufallszahlengenerator bei verschiedenen Neustart-Bedingungen bei Raumtemperatur erzeugten Daten bei einer Wartezeit von 45 µs nach jedem Neustart Neustart-Tests (Gesamtdatenmenge: ca. 11,9 MB) AIS31 statistische Testsuite (1.3.1) NIST statistische Testsuite/ NIST 800-22 (sts-2.1.2 mit Default-Parametern) TestU01 statistischer Test, Universität Montreal (TestU01 1.2.3) T8 (Entropie-Test) T0-T8 Testbatterie Alphabit Testbatterie Rabbit 100.000 Neustarts mit jeweils 125-Byte- bzw. 1.000-Bit-Datenblöcken 7,9996946 bestanden bestanden bestanden bestanden 10.000 Neustarts mit jeweils 1 .250-Byte-bzw. 10.000-Bit-Datenblöcken 8,0004572 bestanden bestanden bestanden bestanden 1.000 Neustarts mit jeweils 12.500-Byte-bzw. 100.000-Bit-Datenblöcken 8,0002218 bestanden bestanden bestanden bestanden 200 Neustarts mit jeweils 62.500-Byte-bzw. 500.000-Bit-Datenblöcken 8,0017385 bestanden bestanden bestanden bestanden Now there is a changed frequency distribution of the byte values of the total amount of data, such as 16 shows before. The frequency distribution of the byte values is now much more even. There is now no more noticeable level with the byte value 0x3F (black line L). The relative frequencies are essentially 0.39% each. The pseudo-random influence on the random number generator was obviously significantly reduced by the introduction of the waiting time. The disappearance of a significant pseudo-random influence, i.e. the random number generator only generates pure real randomness, is also shown by the statistical analysis of further restart attempts with different data block sizes and the number of restarts at room temperature, at a data rate of 30 Mbit / s and also the same total amount of data in each case 100,000,000 bits (about 11.9 MB). Table 7: Results of the statistical tests of data generated by the random number generator under various restart conditions at room temperature with a waiting time of 45 µs after each restart Restart tests (total data volume: approx. 11.9 MB) AIS31 statistical test suite (1.3.1) NIST statistical test suite / NIST 800-22 (sts-2.1.2 with default parameters) TestU01 statistical test, University of Montreal (TestU01 1.2.3) T8 (entropy test) T0-T8 Alphabit test battery Rabbit test battery 100,000 restarts with 125-byte or 1,000-bit data blocks each 7.9996946 passed passed passed passed 10,000 restarts each with 1,250 byte or 10,000-bit data blocks 8.0004572 passed passed passed passed 1,000 restarts each with 12,500 byte or 100,000-bit data blocks 8.0002218 passed passed passed passed 200 restarts each with 62,500 byte or 500,000-bit blocks of data 8.0017385 passed passed passed passed

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) NIST SP800-90B Entropieabschätzung - IID-Pfad Neustart-Tests Tests IID-Pfad Initiale Min-Entropie pro Bit (Horiginal) Neustart-Tests (IID) Aktualisierte Min-Entropie pro Bit (H) nach Neustart-Tests bestanden 0,993767 bestanden 0,993767 The minimum entropy tests and restart tests of the relatively new NIST SP800-90B standard enable a final test of the properties of the random number generator. The minimum entropy tests consist of two paths: IID (independent and identically distributed) and non-IID. Based on the research results so far, the IID path will be followed in the following. This means that it is assumed that the entropy source independently generates identically distributed random numbers. First, the initial minimum entropy estimate (H original ) is determined with the minimum entropy test, then the restart tests are carried out. The first 10 6 bits of the original random sequences after digitization (raw random sequence) after a waiting time of 45 µs after the start according to the sequential data acquisition already described (see Section 1.2.1) serve as the data volume for the minimum entropy test. To generate the amount of data for the restart tests, 1000 restarts are carried out at room temperature. 1000 bits of the original random sequences are recorded after digitization (raw random sequence) after a waiting time of 45 µs after each restart. This also results in a data volume of 10 6 bits on which the restart tests are applied. The results of the tests according to NIST SP800-90B are shown in Table 8. They show that the tests confirm the initial IID assumption. This also passes the restart tests for this assumption. The determined value for the minimum entropy per bit is still very high at 0.993767 bits, even after the restart tests. This value is very close to the maximum possible value of 1 bit, which occurs when there is an ideally uniform probability distribution. It should be noted at this point that NIST SP800-90B does not require a specified minimum value for the estimated minimum entropy to pass the test procedure if the restart tests are passed. Table 8: Results of the NIST SP800-90B tests of data generated by the random number generator at room temperature (data rate 30 Mbit / s) NIST SP800-90B Entropy Estimate - IID Path Reboot tests Testing IID path Initial minimum entropy per bit (H original ) Reboot Tests (IID) Updated minimum entropy per bit (H) after restart tests passed 0.993767 passed 0.993767

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) Temperaturen Entropieabschätzung - IID-Pfad Neustart-Tests IID-Pfad Initiale Min-Entropie pro Bit (Horiginal) Neustart-Tests (IID) Aktualisierte Min-Entropie pro Bit (H) nach Neustart-Tests -25° C bestanden 0,994563 bestanden 0,994563 -20° C bestanden 0,996136 bestanden 0,995368 -15° C bestanden 0,995779 bestanden 0,995779 -10° C bestanden 0,994172 bestanden 0,994172 -5° C bestanden 0,995730 bestanden 0,992945 0° C bestanden 0,995696 bestanden 0,995653 +5° C bestanden 0,994807 bestanden 0,994092 +10° C bestanden 0,996234 bestanden 0,996122 +15° C bestanden 0,995805 bestanden 0,994879 +20° C bestanden 0,995250 bestanden 0,995250 +25° C bestanden 0,995814 bestanden 0,995256 +30° C bestanden 0,995569 bestanden 0,995569 +35° C bestanden 0,996185 bestanden 0,996162 +40° C bestanden 0,996139 bestanden 0,995664 +45° C bestanden 0,994845 bestanden 0,994845 +50° C bestanden 0,995552 bestanden 0,995466 +55° C bestanden 0,994718 bestanden 0,994718 The results of the tests in Table 9 again show that the IID assumption is confirmed by all tests. It also passes all restart tests for this assumption. Table 9: Results of the NIST SP800-90B tests of data generated by the random number generator at different temperatures (data rate 30 Mbit / s) Temperatures Entropy Estimate - IID Path Reboot tests IID path Initial minimum entropy per bit (H original ) Reboot Tests (IID) Updated minimum entropy per bit (H) after restart tests -25 ° C passed 0.994563 passed 0.994563 -20 ° C passed 0.996136 passed 0.995368 -15 ° C passed 0.995779 passed 0.995779 -10 ° C passed 0.994172 passed 0.994172 -5 ° C passed 0.995730 passed 0.992945 0 ° C passed 0.995696 passed 0.995653 + 5 ° C passed 0.994807 passed 0.994092 + 10 ° C passed 0.996234 passed 0.996122 + 15 ° C passed 0.995805 passed 0.994879 + 20 ° C passed 0.995250 passed 0.995250 + 25 ° C passed 0.995814 passed 0.995256 + 30 ° C passed 0.995569 passed 0.995569 + 35 ° C passed 0.996185 passed 0.996162 + 40 ° C passed 0.996139 passed 0.995664 + 45 ° C passed 0.994845 passed 0.994845 + 50 ° C passed 0.995552 passed 0.995466 + 55 ° C passed 0.994718 passed 0.994718

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 M als auch auf der Ebene des gesamten Zufallszahlengenerators zeigen, dass echte Zufälligkeit erzeugt wird. Es konnte mittels der umfassenden Neustart-Experimente gezeigt werden, dass durch die Einführung der Wartezeit (Anlaufzeit) nach jedem Neustart vor Ausgabe des ersten Zufallswertes bei Verwerfen der vorherigen Daten der pseudozufällige Einfluss auf ein unbedeutendes Maß reduziert werden kann. Weiterhin konnte nachgewiesen werden, dass der Matrixfeld-Oszillator M eine deutlich robustere und zuverlässigere Entropie-Extraktion durch Abtastung als vergleichbare Oszillatoren wie beispielsweise Fibonacci- und Galois-RingOszillatoren ermöglicht. Zu betonen ist, dass alle Neustart-Experimente auf der Ebene des gesamten Zufallszahlengenerators auf Original-Zufallssequenzen direkt nach der Digitalisierung (raw random sequences) beruhen. Das heißt eine komplexe zusätzliche Nachbearbeitung (postprocessing) der Daten nach der Digitalisierung ist nicht notwendig. Weiter ist zu beachten, dass diese Neustart-Untersuchungen bei einer relativ hohen Bitrate von 30 Mbit/s durchgeführt wurden. Diese Tests führen dazu, dass die Notwendigkeit von anderen aufwendigeren Wegen zum Beweis der von diesem Zufallszahlengenerator generierten echten Zufälligkeit bedeutend kleiner wird. Das heißt, die Analyse ermöglicht einen klaren Nachweis der echten Zufälligkeit, ohne dass der schwierige, aufwendige, risikobehaftete und ggf. bestreitbare Beweisansatz des stochastischen Modells (siehe AIS20/31) beschritten wird. Zusammenfassend lässt sich feststellen, dass der erfindungsgemäße Zufallszahlengenerator eine echte Entropie-Quelle von sehr hoher Qualität im gesamten untersuchten Temperaturbereich darstellt.The investigation results both at the level of the matrix field oscillator M. as well as at the level of the overall random number generator show that true randomness is generated. With the help of the comprehensive restart experiments, it was possible to show that the introduction of the waiting time (start-up time) after each restart before the first random value is output when the previous data is discarded can reduce the pseudo-random influence to an insignificant level. Furthermore it could be proven that the matrix field oscillator M. enables a significantly more robust and reliable entropy extraction by scanning than comparable oscillators such as Fibonacci and Galois ring oscillators. It should be emphasized that all restart experiments at the level of the entire random number generator are based on original random sequences directly after digitization (raw random sequences). This means that complex additional post-processing of the data after digitization is not necessary. It should also be noted that these restart examinations were carried out at a relatively high bit rate of 30 Mbit / s. These tests mean that the need for other, more elaborate ways of proving the true randomness generated by this random number generator is significantly reduced. This means that the analysis enables a clear proof of the real randomness without using the difficult, time-consuming, risky and possibly controversial evidence approach of the stochastic model (see AIS20 / 31). In summary, it can be stated that the random number generator according to the invention represents a real entropy source of very high quality in the entire temperature range examined.

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) Statistische Tests (Gesamtdatenmenge: ca. 11,9 MB) AIS31 statistische Testsuite (1.3.1) NIST statistische Testsuite/ NIST 800-22 (sts-2.1.2 mit Default-Parametern) TestU01 statistischer Test, Universität Montreal (TestU01 1.2.3) T8 (Entropie-Test) T0-T8 Testbatterie Alphabit Testbatterie Rabbit sequentielle Datenaufnahme 8,0025617 bestanden bestanden bestanden bestanden Tabelle 11: Ergebnisse der NIST SP800-90B Tests von durch den Zufallszahlengenerator bei Raumtemperatur erzeugten Daten (Datenrate 30 Mbit/s) NIST SP800-90B Entropieabschätzung - IID-Pfad Neustart-Tests Tests IID-Pfad Initiale Min-Entropie pro Bit (Horiginal) Neustart-Tests (IID) Aktualisierte Min-Entropie pro Bit (H) nach Neustart-Tests bestanden 0,994586 bestanden 0,994586 Table 10: Results of the statistical tests of data generated by the random number generator at room temperature with sequential data acquisition with 200 62,500-byte or 500,000-bit data blocks (data rate 30 Mbit / s) Statistical tests (total amount of data: approx. 11.9 MB) AIS31 statistical test suite (1.3.1) NIST statistical test suite / NIST 800-22 (sts-2.1.2 with default parameters) TestU01 statistical test, University of Montreal (TestU01 1.2.3) T8 (entropy test) T0-T8 Alphabit test battery Rabbit test battery sequential data acquisition 8.0025617 passed passed passed passed Table 11: Results of the NIST SP800-90B tests of data generated by the random number generator at room temperature (data rate 30 Mbit / s) NIST SP800-90B Entropy Estimate - IID Path Reboot tests Testing IID path Initial minimum entropy per bit (H original ) Reboot Tests (IID) Updated minimum entropy per bit (H) after restart tests passed 0.994586 passed 0.994586

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 Xilinx Spartan 6 LX4 FPGA (Spartan 6 XC6SLX4-2CPG196 FPGA)

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) Statistische Tests (Gesamtdatenmenge: ca. 11,9 MB) AIS31 statistische Testsuite (1.3.1) NIST statistische Testsuite/ NIST 800-22 (sts-2.1.2 mit Default-Parametern) TestU01 statistischer Test, Universität Montreal (TestU01 1.2.3) T8 (Entropie-Test) T0-T8 Testbatterie Alphabit Testbatterie Rabbit sequentielle Datenaufnahme 7,9999384 bestanden bestanden bestanden bestanden Tabelle 13: Ergebnisse der NIST SP800-90B Tests von durch den Zufallszahlengenerator bei Raumtemperatur erzeugten Daten (Datenrate 30 Mbit/s NIST SP800-90B Entropieabschätzung - IID-Pfad Neustart-Tests Tests IID-Pfad Initiale Min-Entropie pro Bit (Horiginal) Neustart-Tests (IID) Aktualisierte Min-Entropie pro Bit (H) nach Neustart-Tests bestanden 0,995052 bestanden 0,995052 Table 12: Results of the statistical tests of data generated by the random number generator at room temperature with sequential data acquisition with 200 62,500-byte or 500,000-bit data blocks (data rate 30 Mbit / s) Statistical tests (total amount of data: approx. 11.9 MB) AIS31 statistical test suite (1.3.1) NIST statistical test suite / NIST 800-22 (sts-2.1.2 with default parameters) TestU01 statistical test, University of Montreal (TestU01 1.2.3) T8 (entropy test) T0-T8 Alphabit test battery Rabbit test battery sequential data acquisition 7.9999384 passed passed passed passed Table 13: Results of the NIST SP800-90B tests of data generated by the random number generator at room temperature (data rate 30 Mbit / s NIST SP800-90B Entropy Estimate - IID Path Reboot tests Testing IID path Initial minimum entropy per bit (H original ) Reboot Tests (IID) Updated minimum entropy per bit (H) after restart tests passed 0.995052 passed 0.995052

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 Xilinx Spartan 7 FPGA (Spartan 7 XC7S25-1CSGA225C FPGA)

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 Statistische Tests (Gesamtdatenmenge: ca. 11,9 MB) AIS31 statistische Testsuite (1.3.1) NIST statistische Testsuite/ NIST 800-22 (sts-2.1.2 mit Default-Parametern) TestU01 statistischer Test, Universität Montreal (TestU01 1.2.3) T8 (Entropie-Test) T0-T8 Testbatterie Alphabit Testbatterie Rabbit sequentielle Datenaufnahme 7,9958925 bestanden bestanden bestanden bestanden Tabelle 15: Ergebnisse der NIST SP800-90B Tests von durch den Zufallszahlengenerator bei Raumtemperatur erzeugten Daten NIST SP800-90B Entropieabschätzung - IID-Pfad Neustart-Tests Tests IID-Pfad Initiale Min-Entropie pro Bit (Horiginal) Neustart-Tests (IID) Aktualisierte Min-Entropie pro Bit (H) nach Neustart-Tests bestanden 0,995644 bestanden 0,994488 Table 14: Results of the statistical tests of data generated by the random number generator at room temperature with a sequential data acquisition with 200 62,500-byte or 500,000-bit data blocks Statistical tests (total amount of data: approx. 11.9 MB) AIS31 statistical test suite (1.3.1) NIST statistical test suite / NIST 800-22 (sts-2.1.2 with default parameters) TestU01 statistical test, University of Montreal (TestU01 1.2.3) T8 (entropy test) T0-T8 Alphabit test battery Rabbit test battery sequential data acquisition 7.9958925 passed passed passed passed Table 15: Results of NIST SP800-90B testing of data generated by the random number generator at room temperature NIST SP800-90B Entropy Estimate - IID Path Reboot tests Testing IID path Initial minimum entropy per bit (H original ) Reboot Tests (IID) Updated minimum entropy per bit (H) after restart tests passed 0.995644 passed 0.994488

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 Statistische Tests (Gesamtdatenmenge: ca. 11,9 MB) AIS31 statistische Testsuite (1.3.1) NIST statistische Testsuite/ NIST 800-22 (sts-2.1.2 mit Default-Parametern) TestU01 statistischer Test, Universität Montreal (TestU01 1.2.3) T8 (Entropie-Test) T0-T8 Testbatterie Alphabit Testbatterie Rabbit sequentielle Datenaufnahme 7,9995812 bestanden bestanden bestanden bestanden Tabelle 17: Ergebnisse der NIST SP800-90B Tests von durch den Zufallszahlengenerator bei Raumtemperatur erzeugten Daten NIST SP800-90B Entropieabschätzung - IID-Pfad Neustart-Tests Tests IID-Pfad Initiale Min-Entropie pro Bit (Horiginal) Neustart-Tests (IID) Aktualisierte Min-Entropie pro Bit (H) nach Neustart-Tests bestanden 0,994730 bestanden 0,994730 Table 16: Results of the statistical tests of data generated by the random number generator at room temperature with a sequential data acquisition with 200 62,500-byte or 500,000-bit data blocks Statistical tests (total amount of data: approx. 11.9 MB) AIS31 statistical test suite (1.3.1) NIST statistical test suite / NIST 800-22 (sts-2.1.2 with default parameters) TestU01 statistical test, University of Montreal (TestU01 1.2.3) T8 (entropy test) T0-T8 Alphabit test battery Rabbit test battery sequential data acquisition 7.9995812 passed passed passed passed Table 17: Results of NIST SP800-90B testing of data generated by the random number generator at room temperature NIST SP800-90B Entropy Estimate - IID Path Reboot tests Testing IID path Initial minimum entropy per bit (H original ) Reboot Tests (IID) Updated minimum entropy per bit (H) after restart tests passed 0.994730 passed 0.994730

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 Xilinx Spartan 7 FPGA on the Cmod S7 board (switching speed of the digital I / Os: maximum 25 MHz).

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 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 wurde bei dieser Kurz-Analyse für verschiedene Frequenzen untersucht, ob die Einspeisung einer sinusförmigen Störspannung auf die Betriebsspannung eines IGLOO-FPGAs mit der Implementierung des in Abschnitt 1 beschriebenen Ausführungsbeispiels des Zufallszahlengenerators einen negativen Einfluss auf die (echten) Zufallseigenschaften der vom Generator erzeugten Daten hat. Die in den Tabellen 18 und 19 dargestellten Ergebnisse zeigen, dass das für die untersuchten Frequenzen nicht der Fall ist. Tabelle 18: Ergebnisse der Tests mit der AlS31 statistischen Testsuite von durch den Zufallszahlengenerator bei verschiedenen Frequenzen eines Störsignals erzeugten Daten bei sequentieller Datenaufnahme mit 200 62.500-Byte- bzw. 500.000-Bit- Datenblöcken (Datenrate 30 Mbit/s) Frequenz des auf die 1,2 V VCC-Core-Spannung des AIS31 statistische Testsuite (1.3.1) IGLOO-FPGAs eingespeisten sinusförmigen 200 mVpp Störsignals T8 (Entropie-Test) T0-T8 1 MHz 7,9989505 bestanden 2 MHz 7,9978298 bestanden 5 MHz 8,0015176 bestanden 10 MHz 8,0027132 bestanden 15 MHz 8,0022397 bestanden 20 MHz 8,0017930 bestanden 25 MHz 7,9992265 bestanden 30 MHz 7,9997138 bestanden 35 MHz 7,9993854 bestanden 40 MHz 8,0006074 bestanden 45 MHz 7,9999514 bestanden 50 MHz 7,9989018 bestanden Tabelle 19: Ergebnisse der NIST SP800-90B Tests von durch den Zufallszahlengenerator bei verschiedenen Frequenzen eines Störsignals erzeugten Daten (Datenrate 30 Mbit/s) Frequenz des auf Entropieabschätzung - IID-Pfad Neustart-Tests die 1,2 V VCC-Core-Spannung des IGLOO-FPGAs eingespeisten sinusförmigen 200 mVpp Störsignals IID-Pfad Initiale Min-Entropie pro Bit (Horiginal) Neustart-Tests (IID) Aktualisierte Min-Entropie pro Bit (H) nach Neustart-Tests 1 MHz bestanden 0,995566 bestanden 0,994442 2 MHz bestanden 0,994931 bestanden 0,994411 5 MHz bestanden 0,993913 bestanden 0,993913 10 MHz bestanden 0,993712 bestanden 0,993712 15 MHz bestanden 0,994215 bestanden 0,994215 20 MHz bestanden 0,995492 bestanden 0,995492 25 MHz bestanden 0,992802 bestanden 0,992802 30 MHz bestanden 0,994508 bestanden 0,994508 35 MHz bestanden 0,993971 bestanden 0,993971 40 MHz bestanden 0,995017 bestanden 0,995017 45 MHz bestanden 0,993962 bestanden 0,993962 50 MHz bestanden 0,994940 bestanden 0,993115 Based on knowledge of the publication T. Markettos and SW 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 In this brief analysis, it was investigated for different frequencies whether feeding a sinusoidal interference voltage to the operating voltage of an IGLOO-FPGA with the implementation of the random number generator described in section 1 has a negative influence on the (real) random properties of the data generated by the generator . The results shown in Tables 18 and 19 show that this is not the case for the frequencies examined. Table 18: Results of the tests with the AlS31 statistical test suite of data generated by the random number generator at different frequencies of an interfering signal with sequential data recording with 200 62,500 byte or 500,000 bit data blocks (data rate 30 Mbit / s) Frequency of the to the 1.2 V VCC core voltage of the AIS31 statistical test suite (1.3.1) IGLOO-FPGAs fed sinusoidal 200 mVpp interference signal T8 (entropy test) T0-T8 1 MHz 7.9989505 passed 2 MHz 7.9978298 passed 5 MHz 8.0015176 passed 10 MHz 8.0027132 passed 15 MHz 8.0022397 passed 20 MHz 8.0017930 passed 25 MHz 7.9992265 passed 30 MHz 7.9997138 passed 35 MHz 7.9993854 passed 40 MHz 8,0006074 passed 45 MHz 7.9999514 passed 50 MHz 7.9989018 passed Table 19: Results of the NIST SP800-90B tests of data generated by the random number generator at different frequencies of an interfering signal (data rate 30 Mbit / s) Frequency of the Entropy Estimate - IID Path Reboot tests the 1.2 V VCC core voltage of the IGLOO FPGA fed in sinusoidal 200 mVpp interference signal IID path Initial minimum entropy per bit (H original ) Reboot Tests (IID) Updated minimum entropy per bit (H) after restart tests 1 MHz passed 0.995566 passed 0.994442 2 MHz passed 0.994931 passed 0.994411 5 MHz passed 0.993913 passed 0.993913 10 MHz passed 0.993712 passed 0.993712 15 MHz passed 0.994215 passed 0.994215 20 MHz passed 0.995492 passed 0.995492 25 MHz passed 0.992802 passed 0.992802 30 MHz passed 0.994508 passed 0.994508 35 MHz passed 0.993971 passed 0.993971 40 MHz passed 0.995017 passed 0.995017 45 MHz passed 0.993962 passed 0.993962 50 MHz passed 0.994940 passed 0.993115

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
I. Example implementation of SmartFusion-FPGA A2F200M3F-FGG484 on the SmartFusion evaluation board from Microsemi:
  • 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): 277
II. Example implementation Xilinx Spartan 7 FPGA (Spartan 7 XC7S25-1 CSGA225C FPGA) on the Cmod S7 board from Digilent
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):
P off = 3,768  mW
Figure DE102020206723A1_0007
Example implementation IGLOO-FPGA AGLN250V2-VQG100 on the IGLOO nano starter kit board (AGLN-NANO-KIT) from Microsemi:
  • Power consumption of the FPGA (core) with a deactivated random number generator (1.2 V core voltage):
P. off = 3,768 mW
Figure DE102020206723A1_0007

Leistungsverbrauch des FPGAs (Core) bei einem aktivierten Zufallszahlengenerator (1,2 V Core-Spannung): P on = 64,2  mW

Figure DE102020206723A1_0008
Power consumption of the FPGA (core) with an activated random number generator (1.2 V core voltage): P. on = 64.2 mW
Figure DE102020206723A1_0008

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 Implementierung 1 Monat kontinuierlicher Betrieb Anzahl von Matrixfeld-Oszillatoren (max. 9) mit temporären oder permanenten Stillstand Totalausfall SmartFusion-FPGA 0 nein IGLOO-FPGA 0 nein Spartan-6-FPGA 0 nein Spartan-7-FPGA 0 nein All 4 implementations of the exemplary embodiment (see section 1) of the random number generator according to the invention were subjected to a long-term oscillation test. It is checked whether one or more of the 9 matrix field oscillators stop temporarily or permanently or no longer oscillate for a month with continuous operation of the random number generator (no oscillation of the 6 digitized test signals for 100 cycles). If all 9 matrix field oscillators stop, there is a total failure. The results are shown in Table 20. Table 20: Results of the long-term oscillation test for 4 implementations of the exemplary embodiment of the random number generator implementation 1 month of continuous operation Number of matrix field oscillators (max. 9) with temporary or permanent standstill Total failure SmartFusion FPGA 0 no IGLOO FPGA 0 no Spartan 6 FPGA 0 no Spartan 7 FPGA 0 no

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)

Zufallszahlengenerator mit rein digitalen Schaltungselementen, dadurch gekennzeichnet, dass er 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, characterized in that it 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) 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 respectively neighboring oscillator circuits (100) is connected, the oscillator circuits (100) at the edges of the matrix (M) being correspondingly connected to oscillator circuits (100) at the opposite edges of the matrix (M), and that Output signal of one of the oscillator circuits (Out) the S signal output (out) of the matrix (M). Zufallszahlengenerator nach Anspruch 1, dadurch gekennzeichnet, dass das Ausgangssignal der einzelnen Oszillator-Schaltung (100) noch über einen Signaleingang eines Multiplexeres (108) geführt ist, dessen Steuereingang mit einem ersten binären Steuersignal (s[1]) beaufschlagt ist, und dessen Ausgangssignal das Ausgangssignal (o) der einzelnen Oszillator-Schaltung (100) bildet, und das erste binäre Steuersignal (s[1]) zum Aktivieren und Deaktivieren der Matrix (M) aus Oszillator-Schaltungen dient.Random number generator according to Claim 1 , characterized in that the output signal of the individual oscillator circuit (100) is also fed via a signal input of a multiplexer (108), the control input of which has a first binary control signal (s [1]) applied to it, and the output signal of which is the output signal (o ) the individual oscillator circuit (100) forms, and the first binary control signal (s [1]) is used to activate and deactivate the matrix (M) of oscillator circuits. Zufallszahlengenerator nach Anspruch 2, dadurch gekennzeichnet, dass das Ausgangssignal (o) mindestens einer der einzelnen Oszillator-Schaltungen (Inv) über einen Inverter (110) geführt ist.Random number generator according to Claim 2 , characterized in that the output signal (o) of at least one of the individual oscillator circuits (Inv) is passed via an inverter (110). Zufallszahlengenerator nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Matrix (M) zweidimensional, vorzugsweise quadratisch ist, und vorzugsweise 6 x 6 einzelne Oszillator-Schaltungen (100) umfasst.Random number generator according to one of the Claims 1 until 3 , characterized in that the matrix (M) is two-dimensional, preferably square, and preferably comprises 6 x 6 individual oscillator circuits (100). Zufallszahlengenerator nach Anspruch 2, dadurch gekennzeichnet, dass eine weitere der Oszillator-Schaltungen (Start) der Matrix (M) mit einem weiteren binären Steuersignal (s[0]) an ihrem Multiplexer (108) verbunden ist, welches so eingerichtet ist, dass es für eine kurze Zeitspanne direkt vor der Aktivierung der Matrix (M) über das erste binäre Steuersignal (s[1]) aktiviert wird, und zum sicheren Anlaufen der Oszillator-Schaltungen (100) der Matrix (M) dient.Random number generator according to Claim 2 , characterized in that another of the oscillator circuits (start) of the matrix (M) is connected to a further binary control signal (s [0]) at its multiplexer (108), which is set up for a short period of time is activated directly before the activation of the matrix (M) via the first binary control signal (s [1]), and is used to safely start the oscillator circuits (100) of the matrix (M). Zufallszahlengenerator nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass lediglich eine weitere Oszillator-Schaltung (Inv) in der Matrix (M) mit einem Inverter (110) versehen ist.Random number generator according to one of the Claims 1 until 5 , characterized in that only one further oscillator circuit (Inv) in the matrix (M) is provided with an inverter (110). Zufallszahlengenerator nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass das Ausgangssignal (out) der Matrix (M) mit einem D-Kippglied (200) verbunden ist, dessen Ausgangssignal (Q) das abgetastete Ausgangssignal der Matrix (M) darstellt.Random number generator according to one of the Claims 1 until 6th , characterized in that the output signal (out) of the matrix (M) is connected to a D flip-flop (200), the output signal (Q) of which represents the sampled output signal of the matrix (M). Zufallszahlengenerator nach Anspruch 7, dadurch gekennzeichnet, dass er mehrere Matrizen (M) aus einzelnen Oszillator-Schaltungen (100) umfasst, deren abgetastete Ausgangssignale alle jeweils mit einem Eingang eines Exklusiv-Oder-Gatters (210) verbunden sind, dessen Ausgang die Zufallssequenz liefert.Random number generator according to Claim 7 , characterized in that it comprises several matrices (M) of individual oscillator circuits (100), the sampled output signals of which are all connected to an input of an exclusive-or gate (210), the output of which supplies the random sequence. Zufallszahlengenerator nach Anspruch 8, dadurch gekennzeichnet, dass der Ausgang des Exklusiv-Oder-Gatters (210) mit einem Eingang eines weiteren D-Kippglieds (220) verbunden ist, dessen Ausgang die synchrone digitale Zufallssequenz liefert.Random number generator according to Claim 8 , characterized in that the output of the exclusive-OR gate (210) is connected to an input of a further D flip-flop (220), the output of which supplies the synchronous digital random sequence. Zufallszahlengenerator nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass die einzelnen, durch das Exklusiv-Oder-Gatter (210) verbundenen Matrizen (M) dadurch individualisiert sind, dass in jeder der Matrizen (M) die relativen Positionen der Oszillator-Schaltungen mit dem Inverter (Inv), dem Signal-Ausgang (Out) und dem speziellen weiteren binären Steuersignal (s[0]) zueinander anders sind.Random number generator according to Claim 8 or 9 , characterized in that the individual matrices (M) connected by the exclusive-or gate (210) are individualized in that in each of the matrices (M) the relative positions of the oscillator circuits with the inverter (Inv), the Signal output (Out) and the special additional binary control signal (s [0]) are different from one another. Zufallszahlengenerator nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Modul (230) zur Erzeugung einer Wartezeit vorgesehen ist, welches einen Zähler umfasst und dazu dient, nach Ablauf der Wartezeit nach dem Start des Zufallsgenerators ein Signal auszugeben, welches anzeigt, dass die am Ausgang ausgegebenen Daten gültig und verwendbar sind.Random number generator according to one of the preceding claims, characterized in that a module (230) for generating a waiting time is provided, which comprises a counter and serves to output a signal after the waiting time has elapsed after the start of the random generator, which indicates that the on Output are valid and usable. Zufallszahlengenerator nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Ausgangssignal (o) einer Oszillator-Schaltung (100) einer Matrix (M) mit einem Dateneingang (D) eines ersten D-Kippglieds (310) verbunden ist, dessen Ausgang (Q) mit einem Dateneingang (D) eines zweiten D-Kippglieds (320) verbunden ist, dessen Ausgang (Q) mit einem Dateneingang (D) eines dritten D-Kippglieds (330), dessen Ausgang (Q) ebenso wie der Ausgang der zweiten D-Kippglieds (320) jeweils mit einem Eingang eines Exklusiv-Oder-Gatters (340) verbunden ist, dessen Ausgang (edge) angezeigt, ob die Oszillator-Schaltung (100) schwingt.Random number generator according to one of the preceding claims, characterized in that the output signal (o) of an oscillator circuit (100) of a matrix (M) is connected to a data input (D) of a first D flip-flop (310), the output (Q) of which with a data input (D) of a second D- Flip-flop (320) is connected, the output (Q) with a data input (D) of a third D flip-flop (330), the output (Q) as well as the output of the second D flip-flop (320) each with an input of an exclusive -Or gate (340) is connected, the output (edge) of which indicates whether the oscillator circuit (100) is oscillating. Zufallszahlengenerator nach Anspruch 12, dadurch gekennzeichnet, dass die Ausgänge (edge) der Exklusiv-Oder-Gatter (340) verschiedener Oszillator-Schaltungen (100) einer Matrix (M) jeweils mit einem Eingang eines Oder-Gatters (32) verbunden sind, dessen Ausgang mit dem Rücksetz-Eingang eines Zählers (34) verbunden ist, der mit einem Systemtakt hochzählt, und dessen Überlauf ein Signal liefert, dass die Matrix (M) nicht ordnungsgemäß oszilliert.Random number generator according to Claim 12 , characterized in that the outputs (edge) of the exclusive-OR gates (340) of different oscillator circuits (100) of a matrix (M) are each connected to an input of an OR gate (32), the output of which is connected to the reset -Input of a counter (34) is connected, which counts up with a system clock, and whose overflow supplies a signal that the matrix (M) is not oscillating properly. Zufallszahlengenerator nach Anspruch 13, dadurch gekennzeichnet, dass die Überlauf-Signale (noedge) der Zähler (34) der zu dem Zufallszahlengenerator verbundenen Matrizen (M) jeweils mit einem Eingang eines Und-Gatters (42) verbunden sind, dessen Ausgangssignal einen Totalausfall des Zufallszahlengenerators anzeigt.Random number generator according to Claim 13 , characterized in that the overflow signals (noedge) of the counters (34) of the matrices (M) connected to the random number generator are each connected to an input of an AND gate (42) whose output signal indicates a total failure of the random number generator. Kryptographische Schaltung zur Ausführung von symmetrischen und/oder asymmetrischen Kryptographieverfahren, dadurch gekennzeichnet, dass sie vollständig, einschließlich eines echten Zufallsgenerators mit robuster, zuverlässiger, annähernd maximal echter Zufälligkeit (Entropie), in einem einzigen digitalen integrierten Schaltkreis aufgebaut ist.Cryptographic circuit for executing symmetrical and / or asymmetrical cryptography methods, characterized in that it is constructed entirely in a single digital integrated circuit, including a true random number generator with robust, reliable, approximately maximum true randomness (entropy). Kryptographische Schaltung nach Anspruch 15, dadurch gekennzeichnet, dass sie einen Zufallszahlengenerator nach einem der Ansprüche 1 bis 14 umfasst.Cryptographic circuit according to Claim 15 , characterized in that it uses a random number generator according to one of the Claims 1 until 14th includes.
DE102020206723.6A 2020-05-28 2020-05-28 Random number generator Pending DE102020206723A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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