DE102015203580A1 - Apparatus and method for generating random bits - Google Patents
Apparatus and method for generating random bits Download PDFInfo
- Publication number
- DE102015203580A1 DE102015203580A1 DE102015203580.8A DE102015203580A DE102015203580A1 DE 102015203580 A1 DE102015203580 A1 DE 102015203580A1 DE 102015203580 A DE102015203580 A DE 102015203580A DE 102015203580 A1 DE102015203580 A1 DE 102015203580A1
- Authority
- DE
- Germany
- Prior art keywords
- logic
- circuit
- circuits
- logic gate
- random
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
Abstract
Eine Vorrichtung zum Erzeugen von Zufallsbits hat mehrere Logikschaltungen mit jeweils verketteten logischen Gatterschaltungen. Bei jeder Logikschaltung sind mehrere auswählbare Rückkopplungspfade für die logischen Gatterschaltungen möglich. Dabei ist der jeweils ausgewählte Rückkopplungspfad einer Logikschaltung von einem Ausgangspegel abhängig, der an einer logischen Gatterschaltung einer anderen Logikschaltung abgreifbar ist. Es erfolgt daher im Betrieb eine dynamische Umschaltung zwischen Rückkopplungspfaden, sodass sich unregelmäßige, nichtperiodische und/oder chaotische Signalverläufe ergeben, welche als Zufallsquelle verwendet werden können. Die Logikschaltungen können als kurze Ketten von logischen Gatterschaltungen, beispielsweise in der Art von Fibonacci- oder Galois-Ringoszillatoren ausgeführt werden.
Es wird ferner ein entsprechendes Verfahren zum Erzeugen von Zufallsbits vorgestellt. Darstellungen von zufälligen Signalverläufen, die mit Hilfe von entsprechenden Vorrichtungen erzeugt sind, erläutern die Funktionsweise der Beispiele von Vorrichtungen und Verfahren zum Erzeugen von Zufallsbits.An apparatus for generating random bits has a plurality of logic circuits each having chained logic gate circuits. Each logic circuit has multiple selectable feedback paths for the logic gate circuits. In this case, the respectively selected feedback path of a logic circuit is dependent on an output level which can be tapped on a logic gate circuit of another logic circuit. In operation, therefore, there is a dynamic switching between feedback paths, resulting in irregular, non-periodic and / or chaotic signal waveforms, which can be used as a random source. The logic circuits may be implemented as short strings of logic gate circuits, for example in the nature of Fibonacci or Galois ring oscillators.
Furthermore, a corresponding method for generating random bits is presented. Representations of random waveforms generated by means of corresponding devices illustrate the operation of the examples of random bit generating apparatus and methods.
Description
Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren zum Erzeugen eines oder mehrerer Zufallsbits. Es wird zum Beispiel eine Zufallsbitfolge erzeugt, welche als binäre Zufallszahl verwendet wird. Die vorgeschlagenen Vorrichtungen und Verfahren zum Erzeugen von Zufallsbits dienen beispielsweise der Implementierung von Zufallszahlengeneratoren. Die Erfindung ermöglicht beispielsweise die Erzeugung echter Zufallsbits im Gegensatz zu Pseudozufallsbits.The present invention relates to an apparatus and method for generating one or more random bits. For example, a random bit sequence is generated which is used as a binary random number. The proposed devices and methods for generating random bits serve, for example, the implementation of random number generators. For example, the invention allows for the generation of true random bits as opposed to pseudorandom bits.
Die vorgeschlagene Vorrichtung und das Verfahren dienen insbesondere der Erzeugung von Zufallsbits oder Zufallsbitfolgen, die gute zufällige Eigenschaften haben, also eine möglichst hohe Entropie aufweisen. Zufallsdaten werden beispielsweise bei Sicherheitsanwendungen benötigt, wobei aus erzeugten Zufallsbits beispielsweise kryptographische Schlüssel oder dergleichen abgeleitet werden.The proposed device and the method are used in particular for the generation of random bits or random bit sequences which have good random properties, ie have the highest possible entropy. Random data is needed, for example, in security applications, where, for example, cryptographic keys or the like are derived from random bits generated.
In sicherheitsrelevanten Anwendungen, beispielsweise bei asymmetrischen Authentifikationsverfahren, sind Zufallsbitfolgen als binäre Zufallszahlen notwendig. Dabei ist es gewünscht, insbesondere bei mobilen Anwendungen einen möglichst geringen Hardwareaufwand zu betreiben. Bekannte Maßnahmen, um Zufallszahlen zu erzeugen, sind beispielsweise Pseudozufallszahlengeneratoren, analoge Zufallsquellen, Ringoszillatoren und deren Abwandlungen.In security-relevant applications, for example in asymmetric authentication methods, random bit sequences are necessary as binary random numbers. It is desired, in particular for mobile applications to operate as little hardware as possible. Known measures for generating random numbers are, for example, pseudo-random number generators, analog random sources, ring oscillators and their modifications.
Bei Pseudozufallszahlengeneratoren werden Seeds verwendet, von denen ausgehend deterministische Pseudozufallszahlen berechnet werden. Zur Erzeugung des Seeds wird in der Regel ein physikalischer Zufallsgenerator verwendet. Als analoge Zufallsquellen werden Rauschquellen, wie z. B. das Rauschen von Zenerdioden, verstärkt und digitalisiert. Dabei ist die Verbindung von digitaler mit analoger Schaltungstechnik meist nur aufwändig zu verwirklichen.For pseudo-random number generators, seeds are used, from which deterministic pseudorandom numbers are calculated. To create the seed, a physical random number generator is usually used. As analog random sources noise sources, such. As the noise of zener diodes, amplified and digitized. At the same time, the connection between digital and analog circuit technology is usually difficult to realize.
Bei Ringoszillatoren, die aus hintereinander geschalteten Invertern aufgebaut sind, ergeben sich zufällige Jitter aus schwankenden Durchlaufzeiten der Signale durch die Inverter. Diese Jitter, also eine unregelmäßige zeitliche Schwankung in Zustandsänderungen der durch die Inverter geschickten Signale, können bei mehrfachen Durchläufen durch die Ringoszillatorschaltung akkumuliert werden, so dass letztlich ein zufälliges analoges Signal entsteht. Nachteilig bei Ringoszillatoren ist häufig die notwendige lange Zeit vom Start der Schwingung bis ein brauchbar zufälliges Signal aufgrund der Jitter-Akkumulierung entsteht. Daher ergeben sich meist niedrige Datenerzeugungsraten bei Ringoszillatoren. Ferner ist möglich, dass die sich addierenden Jitter-Beiträge sich auch selbst wieder aufheben, so dass im Mittel zufällige kurze Gatterdurchlaufzeiten durch zufällige längere Gatterdurchlaufzeiten kompensiert werden.In ring oscillators, which are constructed of series-connected inverters, random jitter resulting from fluctuating throughput times of the signals through the inverter. These jitter, that is, an irregular variation with time in state changes of the signals sent by the inverters, can be accumulated in the case of multiple passes through the ring oscillator circuit, so that ultimately a random analog signal is produced. A disadvantage of ring oscillators is often the necessary long time from the start of the oscillation until a usable random signal due to the jitter accumulation arises. Therefore, low data generation rates usually occur with ring oscillators. Furthermore, it is possible that the adding jitter contributions also cancel themselves out, so that on average random short gate transit times are compensated by random longer gate transit times.
Bei vielen Sicherheitsverfahren sind Zufallszahlengeneratoren beispielsweise zur kryptographischen Schlüsselerzeugung wichtige Komponenten. Meist werden anwendungsspezifische integrierte Schaltungen (ASIC = application specific integrated circuit) benötigt, die Zufallszahlengeneratoren implementieren sollten. Auch auf FPGAs werden in einigen Anwendungen Zufallszahlengeneratoren implementiert. Auf FPGAs basieren die logischen Funktionen in der Regel auf look-up-tables (LUTs) und weisen dadurch alle ungefähr die gleichen Verzögerungszeiten auf. Die auf ASICs implementierten logischen Gatter hingegen zeigen ein davon sehr verschiedenes Verhalten; ihre Verzögerungszeiten hängen sehr stark von der realisierten logischen Funktion ab. Zum Beispiel kann ein in CMOS implementiertes XOR-Gatter eine zehnfach höhere Verzögerungszeit der eines Inverters haben. Deshalb liefern viele Verfahren, die auf FPGAs gut funktionieren, auf ASICs schlechte Ergebnisse. Es ist daher wünschenswert, Zufallszahlengeneratoren zu schaffen, die auch auf ASICs gute Zufallsbits liefern und günstig implementierbar sind.For many security methods, random number generators are important components for cryptographic key generation, for example. Mostly, application specific integrated circuits (ASIC) are needed which should implement random number generators. Also on FPGAs, random number generators are implemented in some applications. On FPGAs, the logical functions are usually based on look-up tables (LUTs), all of which have approximately the same delay times. The logic gates implemented on ASICs, on the other hand, show a very different behavior; their delay times depend very much on the realized logical function. For example, an XOR gate implemented in CMOS may have ten times the delay time of an inverter. Therefore, many methods that work well on FPGAs provide poor results on ASICs. It is therefore desirable to provide random number generators that also provide good random bits on ASICs and are low cost implementable.
Aus der
Insofern ist es eine Aufgabe der vorliegenden Erfindung, eine verbesserte Vorrichtung und/oder ein verbessertes Verfahren zum Erzeugen von Zufallsbits, insbesondere auf ASICs, bereitzustellen.In this respect, it is an object of the present invention to provide an improved apparatus and / or method for generating random bits, in particular on ASICs.
Demgemäß wird eine Vorrichtung zum Erzeugen von Zufallsbits mit mindestens zwei Logikschaltungen vorgeschlagen. Jede der Logikschaltungen umfasst mehrere logische Gatterschaltungen, die jeweils einen Eingangspegel in einen Ausgangspegel ausgeben, und mehrere auswählbare Rückkopplungspfade zum Einkoppeln eines Ausgangspegels einer ausgewählten logischen Gatterschaltung ist als Eingangspegel einer anderen logischen Gatterschaltung möglich. Jede Logikschaltung kann auch mehrere auswählbare Rückkopplungspfade zum Einkoppeln von logisch verknüpften Ausgangspegeln von ausgewählten logischen Gatterschaltungen als Eingangspegel einer anderen logischen Gatterschaltung aufweisen. Dabei ist der jeweils ausgewählte Rückkopplungspfad einer Logikschaltung von einem Ausgangspegel abhängig, der an einer logischen Gatterschaltung einer anderen Logikschaltung abgreifbar ist. Vorzugsweise sind die Logikschaltungen derart ausgestaltet, dass bei wenigstens einem ausgewählten Rückkopplungspfad die Ausgangspegel der logischen Gatterschaltungen einen unregelmäßigen nichtperiodischen und/oder chaotischen Signalverlauf aufweisen.Accordingly, an apparatus for generating random bits with at least two logic circuits is proposed. Each of the logic circuits comprises a plurality of logic gate circuits, each outputting an input level to an output level, and a plurality of selectable feedback paths for launching an output level of a selected logic gate circuit is possible as an input level of another logic gate circuit. each Logic circuitry may also include a plurality of selectable feedback paths for launching logically linked output levels of selected logic gate circuits as input levels of another logic gate circuit. In this case, the respectively selected feedback path of a logic circuit is dependent on an output level which can be tapped on a logic gate circuit of another logic circuit. Preferably, the logic circuits are configured such that, in at least one selected feedback path, the output levels of the logic gate circuits have an irregular non-periodic and / or chaotic waveform.
Durch den Einsatz von zwei Logikschaltungen, die jeweils für sich, beispielsweise verketteten logische Gatterschaltungen, wie Invertern, aufweisen, wird durch das Verändern der jeweiligen Rückkopplungspfade während des Betriebs der Logikschaltungen zuverlässig ausgeschlossen, dass periodische oder pseudoperiodische Signalverläufe entstehen. Es wird beispielsweise in Abhängigkeit von einem chaotischen Signal, welches der ersten Logikschaltung entnommen wird, der Rückkopplungspfad der zweiten Logikschaltung dynamisch ausgewählt. Umgekehrt ist der Rückkopplungspfad der ersten Logikschaltung durch einen Ausgangspegel der zweiten Logikschaltung bestimmt. Durch diese Verknüpfung ergeben sich insgesamt zuverlässige chaotische, also zufällige Ausgangssignalpegel, die chaotisch zwischen einem logischen L- und H-Pegel schwanken. Darüber hinaus führt die Beaufschlagung mit Jitter zu zufällig schwankenden nichtperiodischen Signalformen.Through the use of two logic circuits, each of which, for example, concatenated logic gate circuits, such as inverters have, is reliably prevented by changing the respective feedback paths during operation of the logic circuits that periodic or pseudo-periodic waveforms arise. For example, depending on a chaotic signal taken from the first logic circuit, the feedback path of the second logic circuit is dynamically selected. Conversely, the feedback path of the first logic circuit is determined by an output level of the second logic circuit. This combination results in a total reliable chaotic, so random output signal levels that fluctuate chaotically between a logical L and H level. In addition, the application of jitter results in randomly fluctuating non-periodic waveforms.
Bei Ausführungsbeispielen der Vorrichtung wird eine Auswahl oder Umschaltung des jeweiligen Rückkopplungspfads nicht getaktet vorgenommen, sondern beim Betrieb und in Abhängigkeit der sich ergebenden kontinuierlichen Ausgangspegel in einer anderen Logikschaltung. Auch aufgrund der sich ergebenden Jitter erfolgt eine Umschaltung von Rückkopplungspfaden somit zufällig.In embodiments of the device, selection or switching of the respective feedback path is not performed clocked, but in operation and in response to the resulting continuous output levels in another logic circuit. Also due to the resulting jitter switching of feedback paths is thus random.
Durch das dynamische Umschalten entsteht eine zufällige Signalform, die als Basis für eine Zufallsbiterzeugung benutzt werden kann. Beispielsweise wird ein beliebiges Ausgangssignal oder ein Ausgangspegel einer der Gatterschaltungen abgegriffen, und es wird ein Zufallsbit zugeordnet. Die jeweiligen Signalpegel schwanken dabei unvorhersehbar zwischen einem logischen L- und einem logischen H-Pegel bzw. zwischen einem 0- und einem 1-Pegel. Man erhält insofern ein Zufallssignal, das schwankende Spannungen aufweist, mit geringem Hardware-Aufwand.Dynamic switching creates a random waveform that can be used as the basis for random bit generation. For example, an arbitrary output signal or output level of one of the gate circuits is tapped and a random bit is assigned. The respective signal levels fluctuate unpredictably between a logical L and a logical H level or between a 0 and a 1 level. In this respect, a random signal is obtained which has fluctuating voltages with little hardware effort.
Die Vorrichtung kann ferner mit einer an den Leitungsknoten gekoppelten Abtasteinrichtung zum Abtasten und Halten eines Zufallssignalpegels ausgestattet sein. Beispielsweise kann ein Abtast- und Halteglied oder auch eine andere Zwischenspeichereinrichtung, wie z. B. ein Latch oder ein Flipflop, eingesetzt werden. In bevorzugten Ausführungsformen ist an den Leitungsknoten ein T-Flip-Flop angekoppelt, das aufgrund der schwankenden zufälligen Signalform des Zufallspegels bei einem Abtast- oder Ausgabezeitpunkt einen zufälligen Bitwert liefern kann. Denkbar sind auch andere Zwischenspeichereinrichtungen zum Bereitstellen eines Zufallsbitwerts.The apparatus may further be equipped with a sampling device coupled to the line node for sampling and holding a random signal level. For example, a sample and hold member or other intermediate storage device, such. As a latch or a flip-flop, are used. In preferred embodiments, a T flip-flop is coupled to the line node which can provide a random bit value at a sample or output time due to the random random waveform of the random level. Also conceivable are other temporary storage devices for providing a random bit value.
Vorzugsweise werden im Mittel, also über mehrere Abtastungen oder Erfassungen von Zufallsbitwerten, mehr als ein echtes Zufallsbit, besonderes bevorzugt mehr als zwei echte Zufallsbits, erzeugt. Als echtes Zufallsbit kann ein binärer Wert verstanden werden, der pro Abtastung oder Erfassung nicht vorhersagbar ist. Die Auftrittswahrscheinlichkeit für Null oder Eins ist dann z. B. 50%. Die Erfassungseinrichtung und oder eine Steuereinrichtung kann dann aus mehreren nacheinander erfassten Bitwerten durchschnittlich mehr als ein oder vorzugsweise mehr als zwei echte Zufallsbits erzeugen, beispielsweise aus zehn erfassten Bitwerten sechs echte Zufallsbits.Preferably, more than one true random bit, more preferably more than two true random bits, are generated on average, that is to say over several scans or acquisitions of random bit values. A true random bit can be understood to be a binary value that is unpredictable per sample or acquisition. The probability of occurrence for zero or one is then z. B. 50%. The detection device and / or a control device can then generate an average of more than one or preferably more than two true random bits from a plurality of sequentially detected bit values, for example, six true random bits from ten detected bit values.
In Ausführungsformen der Vorrichtung umfasst wenigstens eine der Logikschaltungen eine Auswahlschaltung, welche eingerichtet ist, in Abhängigkeit von einem Schaltsignal zwischen wenigstens zwei Ausgangspegeln von zwei ausgewählten logischen Gatterschaltungen der wenigstens einen Logikschaltung Einen als ein Rückkopplungssignal für den Rückkopplungspfad umzuschalten. Denkbar ist auch, dass das Rückkopplungssignal zwischen mehreren Ausgangspegeln ausgewählt wird. Der tatsächliche Rückkopplungspfad kann weitere logische Gatter, wie beispielsweise XODER-Verknüpfungen, zwischen den Ausgangspegeln bis zu dem Eingangssignal für die Rückkopplung umfassen.In embodiments of the apparatus, at least one of the logic circuits comprises a selection circuit arranged to switch one of at least two output levels of two selected logical gate circuits of the at least one logic circuit one as a feedback signal for the feedback path in response to a switching signal. It is also conceivable that the feedback signal is selected between several output levels. The actual feedback path may include other logic gates, such as XOR gates, between the output levels up to the input signal for the feedback.
Es ist möglich, dass das Schaltsignal in Abhängigkeit von einem Ausgangspegel, der an einer logischen Gatterschaltung der anderen Logikschaltung abgreifbar ist, erzeugt ist. Das Schaltsignal kann dabei zufällige Signalformen haben, beispielsweise weil die jeweils andere Logikschaltung bereits chaotisch zufällig schwingt. In Ausführungsformen hat jede Logikschaltung mehrere gleichzeitig ausgewählte Rückkopplungspfade.It is possible that the switching signal is generated in response to an output level which can be tapped at a logic gate circuit of the other logic circuit. The switching signal may have random waveforms, for example, because the other logic circuit already oscillates randomly chaotic. In embodiments, each logic circuit has a plurality of simultaneously selected feedback paths.
Es ist zum Beispiel möglich, die Logikschaltung als Fibonacci- oder Galois-Ringoszillator auszuführen. Es sind auch andere Rückkopplungstopologien denkbar. Falls eine der Logikschaltungen einen Fibonacci- oder Galois-Ringoszillator ausbildet, erfolgt dies gemäß einem entsprechenden Rückkopplungspolynom. In Ausführungsformen ist dann das Rückkopplungspolynom einer Logikschaltung jeweils von wenigstens einem Ausgangspegel abhängig und ändert sich bei sich änderndem Signalpegel, der an einer logischen Gatterschaltung der jeweils anderen Logikschaltung abgreifbar ist. Die Rückkopplungspolynome beeinflussen sich insofern gegenseitig. Es entsteht jeweils ein sich zeitlich verändernder Rückkopplungspfad.For example, it is possible to execute the logic circuit as a Fibonacci or Galois ring oscillator. Other feedback topologies are also conceivable. If one of the logic circuits forms a Fibonacci or Galois ring oscillator, it does so according to a corresponding feedback polynomial. In embodiments, then Feedback polynomial of a logic circuit in each case dependent on at least one output level and changes with changing signal level, which can be tapped at a logic gate circuit of the other logic circuit. The feedback polynomials mutually influence each other. In each case, a time-varying feedback path arises.
In Ausführungsformen der Vorrichtung sind die Logikschaltungen so ausgestaltet, dass die Ausgangspegel der logischen Gatterschaltungen bei allen auswählbaren Rückkopplungspfaden einen unregelmäßigen, nichtperiodischen und/oder chaotischen Signalverlauf aufweisen. Die jeweiligen Logikschaltungen haben vorzugsweise keinen Fixpunkt und schwingen dauerhaft nicht periodisch.In embodiments of the device, the logic circuits are configured such that the output levels of the logic gate circuits have an irregular, non-periodic and / or chaotic waveform for all selectable feedback paths. The respective logic circuits preferably have no fixed point and do not oscillate permanently periodically.
In Ausführungsformen umfasst die Vorrichtung genau zwei Logikschaltungen. Beispielsweise ist eine Ausführungsform denkbar, bei der zwei Fibonacci-Ringoszillatoren ausgeführt sind, wobei die Oszillationssignale jeweils das Rückkopplungspolynom des anderen Fibonacci-Ringoszillators verändern.In embodiments, the device comprises exactly two logic circuits. For example, an embodiment is conceivable in which two Fibonacci ring oscillators are implemented, wherein the oscillation signals each change the feedback polynomial of the other Fibonacci ring oscillator.
Vorzugsweise haben die Logikschaltungen eine unterschiedliche Anzahl von verketteten logischen Gatterschaltungen. Zum Beispiel kann die erste Logikschaltung einen Ringoszillatorschaltkreis der Länge n und die zweite Logikschaltung einen Ringoszillatorschaltkreis der Länge m ungleich n realisieren.Preferably, the logic circuits have a different number of concatenated logic gate circuits. For example, the first logic circuit may realize a ring oscillator circuit of length n and the second logic circuit a ring oscillator circuit of length m not equal to n.
Vorzugsweise haben die Logikschaltungen weniger als zehn verkettete logische Gatterschaltungen. Trotz der dann geringen Anzahl von logischen Gatterschaltungen, wie beispielsweise Inverter, kann zuverlässig ein zufälliges Signal mit hoher Entropie erzeugt werden. Dies liegt hauptsächlich daran, dass durch die Umschaltung zwischen verschiedenen Rückkopplungstopologien potenziell mögliche periodische Signalformen unterbunden werden.Preferably, the logic circuits have fewer than ten concatenated logic gate circuits. Despite the then small number of logic gate circuits, such as inverters, a random high entropy signal can be reliably generated. This is mainly due to the fact that the switching between different feedback topologies prevents potentially possible periodic signal forms.
In einer Weiterbildung der Vorrichtung umfasst die Vorrichtung weitere Logikschaltungen, wobei jede Logikschaltung mehrere logische Gatterschaltungen und jeweils einen Eingangspegel und einen Ausgangspegel ausgibt und mehrere auswählbare Rückkopplungspfade aufweist. Die Rückkopplungspfade sind zum Einkoppeln eines Ausgangspegels einer ausgewählten logischen Gatterschaltung als Eingangspegel einer anderen Gatterschaltung oder logisch verknüpfte Ausgangspegel von ausgewählten logischen Gatterschaltungen als Eingangspegel der anderen logischen Gatterschaltungen ausgestaltet. Dabei ist der jeweils ausgewählte Rückkopplungspfad einer Logikschaltung von mindestens einem Ausgangspegel abhängig, der an einer Gatterschaltung einer anderen Logikschaltung abgreifbar ist. Insofern können viele Logikschaltungen hinsichtlich ihrer eigenen Rückkopplungspfade so miteinander verknüpft werden, dass jeweils nichtperiodische chaotische Signal die Rückkopplungstopologie von anderen Logikschaltungen beeinflussen.In a further development of the device, the device comprises further logic circuits, wherein each logic circuit outputs a plurality of logic gate circuits and in each case an input level and an output level and has a plurality of selectable feedback paths. The feedback paths are configured to couple an output level of a selected logic gate circuit as an input level of another gate circuit, or logically linked output levels of selected logic gate circuits as input levels of the other logic gate circuits. In this case, the respectively selected feedback path of a logic circuit is dependent on at least one output level which can be tapped off at a gate circuit of another logic circuit. As such, many logic circuits may be linked with respect to their own feedback paths such that each non-periodic chaotic signal affects the feedback topology of other logic circuits.
In Ausführungsformen ist die Vorrichtung Teil einer FPGA-Einrichtung oder einer ASIC-Einrichtung.In embodiments, the device is part of an FPGA device or an ASIC device.
Es wird darüber hinaus ein Verfahren zum Erzeugen von Zufallsbits mit Hilfe von mindestens einer ersten Logikschaltung und einer zweiten Logikschaltung vorgestellt. Jede Logikschaltung hat mehrere logische Gatterschaltungen, die jeweils einen Eingangspegel in einen Ausgangspegel ausgeben, und mehrere auswählbare Rückkopplungspfade zum Einkoppeln eines Ausgangspegels einer ausgewählten Gatterschaltung als Eingangspegel einer anderen Gatterschaltung oder zum Einkoppeln logisch verknüpfter Ausgangspegel von ausgewählten logischen Gatterschaltungen als Eingangspegel der anderen logischen Gatterschaltung der jeweiligen Logikschaltung. Dabei wird während des Betriebs der Logikschaltungen der Rückkopplungspfad der ersten Logikschaltung abhängig von einem Ausgangspegel der zweiten Logikschaltung gewählt und insbesondere verändert.In addition, a method for generating random bits by means of at least a first logic circuit and a second logic circuit is presented. Each logic circuit has a plurality of logic gate circuits, each outputting an input level to an output level, and a plurality of selectable feedback paths for launching an output level of a selected gate circuit as an input level of another gate circuit or coupling logically linked output levels of selected gate logic circuits as an input level of the other logic gate circuit of the respective one logic circuit. In this case, during the operation of the logic circuits, the feedback path of the first logic circuit is selected as a function of an output level of the second logic circuit and in particular changed.
Bei dem Verfahren werden vorzugsweise die Rückkopplungspfade mehrfach, uns insbesondere dauerndem Betrieb verändert, und der Ausgangspegel einer Gattereinrichtung wird als Zufallssignal erfasst oder abgetastet. Ein mehrfaches Umschalten im Betrieb kann prinzipiell auch takt- oder zeitgesteuert vorgenommen werden, allerdings hängt der tatsächliche Rückkopplungspfad immer vom zufälligen Signalpegel der oder einer anderen Logikschaltung ab. Man kann sagen: es wird permanent umgeschaltet. Denkbar ist, dass das Schaltsignal eine chaotische analoge Form hat, aber einer digital steuerbaren Schalteinrichtung zugeführt ist.In the method, the feedback paths are preferably changed several times, in particular, continuous operation, and the output level of a gate device is detected or sampled as a random signal. In principle, multiple switching during operation can also be carried out clock-controlled or time-controlled, but the actual feedback path always depends on the random signal level of the or of another logic circuit. One can say: it is switched permanently. It is conceivable that the switching signal has a chaotic analog form, but is supplied to a digitally controllable switching device.
Das Verfahren kann insbesondere in FPGAs oder ASICs implementiert werden. Es ergibt sich insbesondere ein kontinuierlicher Betrieb, bei dem die Rückkopplungspfade verändert werden und der oder die Ausgangspegel einer Gatterschaltung als Zufallssignal abgetastet werden.The method can be implemented in particular in FPGAs or ASICs. In particular, there is a continuous operation in which the feedback paths are changed and the output level or levels of a gate circuit are sampled as a random signal.
Weiterhin wird ein Computerprogramm-Produkt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung eines entsprechenden Verfahrens veranlasst. Das Verfahren kann insbesondere über geeignete Beschreibungssprachen, beispielsweise VHDL oder Verilog, auf oder in einer FPGA- oder ASIC-Vorrichtung implementiert werden.Furthermore, a computer program product is proposed, which causes the execution of a corresponding method on a program-controlled device. The method can in particular be implemented on or in an FPGA or ASIC device via suitable description languages, for example VHDL or Verilog.
Ein Computerprogramm-Produkt wie ein Computerprogramm-Mittel kann beispielsweise als Speichermedium, wie Speicherkarte, USB-Stick, CD-ROM, DVD, oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogramm-Produkt oder dem Computerprogramm-Mittel erfolgen. Als programmgesteuerte Einrichtung kommt insbesondere eine Steuereinrichtung, wie zum Beispiel ein Mikroprozessor für eine Smartcard oder dergleichen, in Frage. Das Verfahren oder die Vorrichtung kann auch festverdrahtet oder in konfigurierbaren FPGAs oder ASICSs implementiert werden.A computer program product such as a computer program means can be used, for example, as a storage medium, such as a memory card, USB stick, CD-ROM, DVD, or even in the form of a Downloadable file can be provided or delivered by a server in a network. This can be done, for example, in a wireless communication network by the transmission of a corresponding file with the computer program product or the computer program means. As a program-controlled device is in particular a control device, such as a microprocessor for a smart card or the like, in question. The method or device may also be hardwired or implemented in configurable FPGAs or ASICSs.
Weiterhin wird ein Datenträger mit einem gespeicherten Computerprogramm mit Befehlen vorgeschlagen, welche die Durchführung eines entsprechenden Verfahrens auf einer programmgesteuerten Einrichtung veranlassen oder gemäß einer Hardware-Beschreibungssprache einen Logikschaltkreis bildet.Furthermore, a data carrier with a stored computer program with commands is proposed, which cause the implementation of a corresponding method on a program-controlled device or forms a logic circuit according to a hardware description language.
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Vorrichtungen oder Verfahrensvarianten. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen oder abändern.Further possible implementations of the invention also include not explicitly mentioned combinations of devices or method variants described above or below with regard to the exemplary embodiments. The skilled person will also add or modify individual aspects as improvements or additions to the respective basic form of the invention.
Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der Ausführungsbeispiele, die im Zusammenhang mit den Zeichnungen näher erläutert werden.The above-described characteristics, features, and advantages of this invention, as well as the manner in which they will be achieved, will become clearer and more clearly understood in connection with the following description of the embodiments, which will be described in connection with the drawings.
Dabei zeigen:Showing:
In den Figuren sind funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist.In the figures, functionally identical elements are provided with the same reference numerals, unless stated otherwise.
In der
Die Vorrichtung
Die Logikschaltung
In dem Ausführungsbeispiel, wie es in der
Die Ausgangssignale A1–An-1 sind einer Auswahleinrichtung
Es ist möglich, dass in Abhängigkeit von Schaltsignalen, die in der
Ähnlich wird der Rückkopplungspfad R' in der zweiten Logikeinrichtung
Die Vorrichtung
Die Erfassungseinrichtung
In der
Eine Auswahl- oder Schalteinrichtung
Bei der zweiten Logikschaltung
Insofern können die beiden Logikschaltungen
Die Anmelderin hat eine Vorrichtung gemäß der
Die
Die Vorrichtung
Die
Dabei erkennt man anhand der
In der
Insgesamt ermöglicht die gegenseitige Steuerung der Rückkopplungspfade von digital realisieren Logikschaltungen mit Schwingungsverhalten die zuverlässige und aufwandsgünstige Erzeugung von Zufallsbits. Durch die gegenseitige Beeinflussung der Rückkopplungspfade durch chaotische oder zufällige Signalformen ZS bzw. ZS' kann die Anzahl der notwendigen Inverter gering gehalten werden. Unerwünschte periodische Schwingungen, wie sie in verschiedenen Varianten von Ringoszillatoren auftreten können, werden reduziert, denn auch beim Beispiel mit zwei gegenseitig beeinflussenden Logikschaltungen mit Rückkopplungen stellt sich nur dann ein Schwingungszustand ein mit periodischem Signalverhalten, wenn die Perioden der Schwingungen in einem passenden Verhältnis stehen. Die Erfindung lässt sich aufwandsgünstig hardwaremäßig festverdrahtet oder auf FPGAs oder ASICs implementieren.Overall, the mutual control of the feedback paths of digitally realize logic circuits with vibration behavior allows the reliable and low-cost generation of random bits. By the mutual influence of the feedback paths by chaotic or random waveforms ZS and ZS ', the number of necessary inverters can be kept low. Unwanted periodic oscillations, which can occur in different variants of ring oscillators, are reduced, because even with the example of two mutually influencing logic circuits with feedbacks, a state of oscillation arises with periodic signal behavior only if the periods of the oscillations are in a suitable ratio. The invention can be hardware-hard wired or implemented on FPGAs or ASICs.
Die Vorrichtung
Obwohl die Erfindung im Detail durch das bevorzugte Ausführungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.Although the invention has been further illustrated and described in detail by the preferred embodiment, the invention is not limited by the disclosed examples, and other variations can be derived therefrom by those skilled in the art without departing from the scope of the invention.
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- DE 102008018678 A1 [0007] DE 102008018678 A1 [0007]
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102015203580.8A DE102015203580A1 (en) | 2015-02-27 | 2015-02-27 | Apparatus and method for generating random bits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102015203580.8A DE102015203580A1 (en) | 2015-02-27 | 2015-02-27 | Apparatus and method for generating random bits |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102015203580A1 true DE102015203580A1 (en) | 2016-03-24 |
Family
ID=55444958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102015203580.8A Withdrawn DE102015203580A1 (en) | 2015-02-27 | 2015-02-27 | Apparatus and method for generating random bits |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102015203580A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108365946A (en) * | 2018-01-31 | 2018-08-03 | 国网河南省电力公司潢川县供电公司 | A kind of energy internet communication security system and method based on chaos system array |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090248771A1 (en) * | 2008-03-28 | 2009-10-01 | Atmel Corporation | True random number generator |
DE102008018678A1 (en) | 2008-04-14 | 2009-10-22 | Siemens Aktiengesellschaft | Apparatus and method for generating a random bit string |
-
2015
- 2015-02-27 DE DE102015203580.8A patent/DE102015203580A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090248771A1 (en) * | 2008-03-28 | 2009-10-01 | Atmel Corporation | True random number generator |
DE102008018678A1 (en) | 2008-04-14 | 2009-10-22 | Siemens Aktiengesellschaft | Apparatus and method for generating a random bit string |
Non-Patent Citations (1)
Title |
---|
Li, Lijuan; LI, Shuguo: A digital TRNG based on cross feedback ring oscillators. In: IEICE transactions, E, English transactions, A, Fundamentals of electronics, communications and computer sciences, Vol. E97-A, 2014, no. 1, S. 284-291. - ISSN 1745-1337 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108365946A (en) * | 2018-01-31 | 2018-08-03 | 国网河南省电力公司潢川县供电公司 | A kind of energy internet communication security system and method based on chaos system array |
CN108365946B (en) * | 2018-01-31 | 2023-04-11 | 国网河南省电力公司潢川县供电公司 | Energy internet communication safety system and method based on chaotic system array |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2976707B1 (en) | System and method for generating random bits | |
EP1643643B1 (en) | Random number generator and method for random number generation | |
DE102008048292B4 (en) | Apparatus and method for generating a random bit string | |
DE112011106024B4 (en) | Device specific information generating apparatus and device specific information generating method | |
EP1354264B1 (en) | Random number generator and method for generating a random number | |
EP2271980A1 (en) | Device and method for generating a random bit sequence | |
WO2009086878A1 (en) | Circuit and method for generating a true, circuit-specific and time-invariant random number | |
DE102014102501A1 (en) | Random number generator | |
DE102014200163A1 (en) | A method for generating an output of a random source of a random number generator | |
DE102015203580A1 (en) | Apparatus and method for generating random bits | |
DE102014200309A1 (en) | Method for checking an output | |
DE102014224421A1 (en) | Method and apparatus for generating random bits | |
DE102014203648A1 (en) | Device for generating random bits in random number generator, has detecting device that is provided to detect various random bits when successive level of input signal changes | |
DE102014203649A1 (en) | Method for classifying and/or generating random bits, for mobile applications, involves classifying output signal from logic elements in ring oscillator circuit as random coincidence signal/non-random function of occurring bit patterns | |
WO2015000640A1 (en) | Generation of a number of random bits | |
DE102014226996A1 (en) | Method and apparatus for generating random bits | |
EP1159782A1 (en) | Random signal generator and method for generating a random signals | |
DE102014219795A1 (en) | Apparatus and method for generating random bits | |
DE102015203577A1 (en) | Method and apparatus for generating random bits | |
WO2015176836A1 (en) | Apparatus and method for generating random bits | |
DE102014221831A1 (en) | Apparatus and method for generating random bits | |
EP2799980A2 (en) | Device and method for generating random bits | |
DE102014221827A1 (en) | Apparatus and method for generating random bits | |
DE102015203573A1 (en) | Method and apparatus for generating random bits | |
WO2015043855A2 (en) | Generation of random bits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R230 | Request for early publication | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |