DE102015203580A1 - Apparatus and method for generating random bits - Google Patents

Apparatus and method for generating random bits Download PDF

Info

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
Application number
DE102015203580.8A
Other languages
German (de)
Inventor
Markus Dichtl
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE102015203580.8A priority Critical patent/DE102015203580A1/en
Publication of DE102015203580A1 publication Critical patent/DE102015203580A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • 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)
  • 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.

Figure DE102015203580A1_0001
Figure DE102015203580A1_0001

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 DE 10 2008 018 678 A1 ist eine Vorrichtung und ein Verfahren zum Erzeugen einer Zufallsbitfolge bekannt, bei dem Ringoszillatorschaltkreis mit verschiedenen Rückkopplungspfaden betrieben werden kann. Zu vorgegebenen Taktzeitpunkten soll eine Umschaltung zwischen den Rückkopplungspfaden erfolgen, so dass an einem Ausgangsknoten eines der Ringoszillatorschaltkreise ein Zufallssignal abgreifbar ist. Bei dem Betrieb des einzelnen Ringoszillators erfolgt die Zufallsgenerierung hauptsächlich durch den aufgrund der Logikgatter eingeprägten Jitter. Mit Hilfe der getakteten Umschaltung von vorgegebenen Rückkopplungstopologien soll das Auftreten von regelmäßigen periodischen Signalverläufen verhindert werden. Es sind eine relativ hohe Anzahl von verketteten Invertern bzw. lange Ringoszillatoren notwendig.From the DE 10 2008 018 678 A1 For example, an apparatus and method for generating a random bit sequence is known in which ring oscillator circuits can be operated with different feedback paths. At predetermined clock instants, a switchover between the feedback paths should take place so that a random signal can be tapped off at an output node of one of the ring oscillator circuits. In the operation of the single ring oscillator, the random generation is mainly due to the jitter impressed by the logic gates. With the help of the clocked switching of predetermined feedback topologies, the occurrence of regular periodic signal waveforms should be prevented. There is a relatively high number of concatenated inverters or long ring oscillators necessary.

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:

1 eine schematische Darstellung eines ersten Ausführungsbeispiels für eine Vorrichtung zum Erzeugen von Zufallsbits. 1 a schematic representation of a first embodiment of an apparatus for generating random bits.

2 eine schematische Darstellung eines zweiten Ausführungsbeispiels für eine Vorrichtung zum Erzeugen von Zufallsbits. 2 a schematic representation of a second embodiment of an apparatus for generating random bits.

38 Signalformen von Zufallssignalen, welche beim Betrieb des zweiten Ausführungsbeispiels für eine Vorrichtung zum Erzeugen von Zufallsbits auftreten. 3 - 8th Signal forms of random signals which occur in the operation of the second embodiment for a device for generating random bits.

9 zeigt eine schematische Darstellung eines Ausführungsbeispiels für eine Verschlüsselungsvorrichtung. 9 shows a schematic representation of an embodiment of an encryption device.

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 1 ist eine erste Ausführungsform für eine Vorrichtung zum Erzeugen von Zufallsbits schematisch dargestellt.In the 1 A first embodiment of an apparatus for generating random bits is shown schematically.

Die Vorrichtung 1 umfasst dabei zwei Logikschaltungen 2, 2', die miteinander verkettete Logikgatter bzw. Inverter 3 03 n umfassen. Bei der folgenden Beschreibung ist die erste Logikschaltung mit dem Bezugszeichen 2 versehen. Die zweite Logikschaltung ist mit einem Bezugszeichen 2' versehen. Das Gleiche gilt für die Elemente, welche hinsichtlich der ersten Logikschaltung 2 erläutert sind. Die beiden Logikschaltungen 2, 2' sind im Wesentlichen gleich oder ähnlich aufgebaut.The device 1 includes two logic circuits 2 . 2 ' , the logic gates or inverters linked together 3 0 - 3 n include. In the following description, the first logic circuit is denoted by the reference numeral 2 Mistake. The second logic circuit is denoted by a reference numeral 2 ' Mistake. The same applies to the elements which, with respect to the first logic circuit 2 are explained. The two logic circuits 2 . 2 ' are essentially the same or similar.

Die Logikschaltung 2 umfasst n Inverter 3 03 n, wobei jedem Inverter jeweils ein Eingangspegel Ei zugeführt ist und ein Ausgangspegel Ai (i = 0 bis n) ausgangsseitig abgreifbar ist. Beispielsweise wird das Ausgangssignal oder der Ausgangspegel A0 des ersten Inverters 3 0 als Eingangssignal oder Eingangspegel E1 dem zweiten Inverter 3 1 in der Kette zugeführt.The logic circuit 2 includes n inverter 3 0 - 3 n , wherein each inverter is supplied with an input level E i and an output level A i (i = 0 to n) can be tapped on the output side. For example, the output signal or the output level becomes A 0 of the first inverter 3 0 as input signal or input level E 1 to the second inverter 3 1 fed in the chain.

In dem Ausführungsbeispiel, wie es in der 1 dargestellt ist, kann ein Fibonacci-Ringoszillator ausgebildet werden, indem die Ausgangspegel als Ausgangssignale über XODER-Verknüpfungen 4 14 n-1 einem Rückkopplungspfad R zugeführt werden, wobei der Rückkopplungspfad R als Eingangssignal E0 für den ersten Inverter 3 0 verwendet wird.In the embodiment, as in the 1 a Fibonacci ring oscillator can be formed by the output levels as outputs via XOR gates 4 1 - 4 n-1 are supplied to a feedback path R, wherein the feedback path R as an input signal E 0 for the first inverter 3 0 is used.

Die Ausgangssignale A1–An-1 sind einer Auswahleinrichtung 5 zugeführt. Die Auswahleinrichtung 5 kann beispielsweise in der Art eines Multiplexers oder auch als steuerbare Schalter implementiert sein. Die Auswahleinrichtung 5 liefert ausgangsseitig Rückkopplungssignale S1–Sn-1, die dem Rückkopplungspfad R über die XODER-Gatter 4 14 n-1 zugeführt sind. Das Ausgangssignal An des letzten Inverters 3 n in der Kette von Invertern 3 03 n wird ebenfalls über ein XODER-Gatter 4 n-1 dem Rückkopplungspfad, also dem Eingangssignal E0 für den ersten Inverter 3 0 eingekoppelt.The output signals A 1 -A n-1 are a selector 5 fed. The selection device 5 may for example be implemented in the manner of a multiplexer or as a controllable switch. The selection device 5 On the output side, it supplies feedback signals S 1 -S n-1 which are fed to the feedback path R via the XOR gates 4 1 - 4 n-1 are supplied. The output signal A n of the last inverter 3 n in the chain of inverters 3 0 - 3 n is also via an XOR gate 4 n-1 the feedback path, ie the input signal E 0 for the first inverter 3 0 coupled.

Es ist möglich, dass in Abhängigkeit von Schaltsignalen, die in der 1 für die erste Logikschaltung 2 mit Ai'–Ak' bezeichnet sind und von der zweiten Logikschaltung 2' stammen, die Rückkopplungssignale S1–Sn-1 ausgewählt werden bzw. durchgeschaltet werden. Als Schaltsignal werden einer oder mehrere Ausgangspegel Ai'–Ak' der zweiten Logikschaltung 2' verwendet. Das heißt, der jeweilige Rückkopplungspfad R ist beeinflusst durch die Ausgangspegel A1'–An' der Gatterschaltungen bzw. Inverter 3 0'–3 n' der zweiten Logikschaltung 2'.It is possible that, depending on switching signals, in the 1 for the first logic circuit 2 are denoted by A i '-A k ' and by the second logic circuit 2 ' originate, the feedback signals S 1 -S n-1 are selected or switched through. As a switching signal, one or more output levels A i '-A k ' of the second logic circuit 2 ' used. That is, the respective feedback path R is influenced by the output levels A 1 '-A n ' of the gate circuits and inverters, respectively 3 0 '- 3 n 'of the second logic circuit 2 ' ,

Ähnlich wird der Rückkopplungspfad R' in der zweiten Logikeinrichtung 2' durch die Ausgangspegel A1–An der Gatterschaltungen bzw. Inverter 3 03 n der ersten Logikschaltung 2 beeinflusst.Similarly, the feedback path R 'becomes in the second logic device 2 ' through the output levels A 1 -A n of the gate circuits or inverter 3 0 - 3 n the first logic circuit 2 affected.

Die Vorrichtung 1 zum Erzeugen von Zufallsbits umfasst ferner eine Steuereinrichtung 6, eine Erfassungseinrichtung 7 und einen Speicher B. Die Erfassungseinrichtung 7 ist beispielsweise an einen Ausgang einer der Inverter 3 03 n, 3 0'–3 n' angekoppelt. Im Beispiel, wie es in der 1 dargestellt ist, wird das Ausgangssignal An als Zufallssignal ZS verwendet. Aufgrund der Jitter und unregelmäßigen Rückkopplungstopologien entsteht ein chaotisches Zufallssignal ZS.The device 1 for generating random bits further comprises a control device 6 , a detection device 7 and a memory B. The detection device 7 is, for example, to an output of one of the inverters 3 0 - 3 n , 3 0 '- 3 n 'docked. In the example, as in the 1 is shown, the output signal A n is used as a random signal ZS. Due to the jitter and irregular feedback topologies, a chaotic random signal ZS arises.

Die Erfassungseinrichtung 7 zählt beispielsweise steigende und/oder fallende Signalflanken und gibt den Zählwert als einen Zufallsbitwert ZB aus. Auch eine Zählung von Signalflanken modulo einer ganzen Zahl ist denkbar. Es ist auch möglich, dass zu vorgegebenen Abtastzeitpunkten, die von der Steuereinrichtung 6 festgelegt werden, ein Signalpegel erfasst wird und diesem Signalpegel ein Zufallsbitwert ZB zugeordnet wird. Diese Funktionalität erfüllt die Erfassungsvorrichtung 7. Im Speicher 8 werden einer oder mehrere dieser Zufallsbitwerte abgelegt und können zur weiteren Verarbeitung verwendet werden. Die Steuereinrichtung 6 führt beispielsweise weitere Manipulierungen oder Auswertungen an den ermittelten Zufallsbitwerten ZB im Speicher 8 durch. Dies ist durch die Steuersignale CT angedeutet.The detection device 7 counts, for example, rising and / or falling signal edges and outputs the count value as a random bit value ZB. A count of signal edges modulo an integer is conceivable. It is also possible that at predetermined sampling times by the control device 6 be set, a signal level is detected and this signal level is assigned a random bit value ZB. This functionality fulfills the detection device 7 , In the storage room 8th one or more of these random bit values are stored and may be used for further processing. The control device 6 leads, for example, further manipulations or evaluations to the determined random bit values ZB in the memory 8th by. This is indicated by the control signals CT.

In der 2 ist ein zweites Ausführungsbeispiel für eine Vorrichtung 1 zum Erzeugen von Zufallsbits 10 dargestellt. In dem Ausführungsbeispiel der 2 ist eine erste Logikschaltung 2 als Fibonacci-Ringoszillator mit sechs Invertern 3 03 5 ausgestaltet. Die zweite Logikschaltung 2' ist als Fibonacci-Ringoszillator mit sechs logischen Gattern, also Invertern 3 0'–3 6' ausgeführt. Bei der ersten Logikschaltung bzw. dem ersten Fibonacci-Ringoszillator 2 ist das Ausgangssignal A2 des zweiten Inverters 3 2 und das Ausgangssignal A5 über ein XODER-Gatter 4 2 fest in den Rückkopplungspfad eingekoppelt.In the 2 is a second embodiment of a device 1 for generating random bits 10 shown. In the embodiment of 2 is a first logic circuit 2 as a Fibonacci ring oscillator with six inverters 3 0 - 3 5 designed. The second logic circuit 2 ' is a Fibonacci ring oscillator with six logic gates, ie inverters 3 0 '- 3 6 'executed. In the first logic circuit or the first Fibonacci ring oscillator 2 is the output signal A 2 of the second inverter 3 2 and the output signal A 5 via an XOR gate 4 2 firmly coupled into the feedback path.

Eine Auswahl- oder Schalteinrichtung 5 ermöglicht ferner in Abhängigkeit von einem Schaltsignal ZS' die Einkopplung des Ausgangssignals A1 oder des Ausgangssignals A3 über das XODER-Gatter 4 1 in dem Rückkopplungspfad R. Die Schalt- oder Auswahleinrichtung 5 liefert als Rückkopplungssignal S entweder den Signalpegel A1, der ausgangsseitig am Inverter 3 1 abgreifbar ist, oder ausgangsseitig am Inverter 3 3 vorliegt.A selection or switching device 5 also allows depending on a switching signal ZS 'the coupling of the output signal A 1 or the output signal A 3 via the XOR gate 4 1 in the feedback path R. The switching or selection device 5 supplies as feedback signal S either the signal level A 1 , the output side of the inverter 3 1 can be tapped, or on the output side at the inverter 3 3 is present.

Bei der zweiten Logikschaltung 2' wird das Ausgangssignal A3' über das XODER-Gatter 4 3' fest in den Rückkopplungspfad R' eingekoppelt. Eine Auswahl oder Schalteinrichtung 5' ermöglicht in Abhängigkeit von dem Schaltsignal ZS die Einkopplung des Ausgangssignals A1' oder des Ausgangssignals A5'. Über das XODER-Gatter 4 1' in den Rückkopplungspfad R'.In the second logic circuit 2 ' becomes the output signal A 3 'via the XOR gate 4 3 'firmly coupled into the feedback path R'. A selection or switching device 5 ' allows in response to the switching signal ZS, the coupling of the output signal A 1 'or the output signal A 5 '. About the XOR gate 4 1 'in the feedback path R'.

Insofern können die beiden Logikschaltungen 2, 2' Fibonacci-Ringoszillatoren mit unterschiedlichen Rückkopplungspolynomen realisieren. Die Umschaltung zwischen den jeweiligen Rückkopplungspolynomen erfolgt über das Schaltsignal ZS' bzw. ZS. Als Schaltsignal ZS' für die erste Logikschaltung 2 ist das Ausgangssignal ZS' des Fibonacci-Ringoszillators 2', wie es am sechsten Inverter 3 6' abgreifbar ist, benutzt. Dieses Zufallssignal ZS' wird als Schaltsignal in der Schalteinrichtung 5 verwendet. Umgekehrt wird das Zufallssignal ZS, welches an dem fünften Inverter 3 5 als Ausgangssignal A5 abgreifbar ist, als Schaltsignal für den zweiten Ringoszillatorschaltkreis mit Fibonacci-Topologie 2' verwendet.In this respect, the two logic circuits 2 . 2 ' Realize Fibonacci ring oscillators with different feedback polynomials. The switching between the respective feedback polynomials takes place via the switching signal ZS 'or ZS. As a switching signal ZS 'for the first logic circuit 2 is the output ZS 'of the Fibonacci ring oscillator 2 ' as it is on the sixth inverter 3 6 'is tapped used. This random signal ZS 'is used as a switching signal in the switching device 5 used. Conversely, the random signal ZS, which at the fifth inverter 3 5 is tapped off as an output signal A 5 , as a switching signal for the second ring oscillator circuit with Fibonacci topology 2 ' used.

Die Anmelderin hat eine Vorrichtung gemäß der 2 auf einem FPGA-Chip von Typ Cyclone V der Firma Altera implementiert. Bei einer Implementierung auf einem FPGA kann die Verschaltung in einer Hardwarebeschreibungssprache (z. B. VHDL oder Verilog) als Konfigurationsdatei abgespeichert werden.The Applicant has a device according to the 2 implemented on a FPGA chip type Cyclone V from Altera. In an implementation on an FPGA, the interconnection can be stored in a hardware description language (eg VHDL or Verilog) as a configuration file.

Die 28 zeigen die Pegelverläufe des Ausgangssignals A0', welches ausgangsseitig an dem ersten Inverter der zweiten Logikschaltung 2' abgreifbar ist. Dabei zeigt die x-Achse den zeitlichen Verlauf in Nanosekunden, und die y-Achse zeigt eine Spannung in beliebig skalierten Einheiten. In den Darstellungen entspricht ein Skalenteil auf der y-Achse einem Volt.The 2 - 8th show the level curves of the output signal A 0 ', which output side to the first inverter of the second logic circuit 2 ' can be tapped. The x-axis shows the time course in nanoseconds, and the y-axis shows a voltage in arbitrarily scaled units. In the illustrations, a scale portion on the y-axis corresponds to one volt.

Die Vorrichtung 10, wie sie in der 2 dargestellt ist, wurde jeweils zum Zeitpunkt t = 20 ns gestartet. Das heißt, eine entsprechende Steuereinrichtung hält alle Ein- und Ausgangssignale bzw. Ausgangspegel bis t = 20 ns auf einem wohldefinierten Wert, beispielsweise 0- oder L-Pegel. Ab t = 20 ns werden diese Zwangsbedingungen an die Ein- und Ausgangspegel freigegeben, und die Schaltung beginnt zu schwingen.The device 10 as they are in the 2 has been started, in each case at the time t = 20 ns started. That is, a corresponding controller keeps all input and output signals or output levels up to t = 20 ns at a well-defined value, for example 0 or L level. From t = 20 ns, these constraints are released to the input and output levels, and the circuit begins to oscillate.

Die 3 zeigt eine Überlagerung von Signalen A0' nach vielen Neustarts, also übereinandergelegte Spannungskurven. Die 48 zeigen die Signalverläufe A0' einzeln.The 3 shows a superimposition of signals A 0 'after many reboots, so superimposed voltage curves. The 4 - 8th show the waveforms A 0 'individually.

Dabei erkennt man anhand der 3, dass in dem Bereich von 1 bis 3 in den dargestellten Einheiten für den Pegel ab etwa 40–20 ns alle möglichen Pegelwerte, insbesondere zwischen 1 und 3 Volt, überlaufen werden. Die 47 zeigen entsprechende Zufallssignalverläufe für das Zufallssignal A0' nach einem jeweiligen Start des Zufallsbitgenerators 10 zum Zeitpunkt t = 20 ns. In den Kurven sind keine Perioden, Periodizitäten oder voraussagbare Signalverläufe erkennbar. Das Zufallssignal eignet sich zur Erfassung von Zufallsbitwerten.It can be seen by the 3 in that in the range of 1 to 3 in the illustrated units for the level from about 40 to 20 ns all possible level values, in particular between 1 and 3 volts, are overrun. The 4 - 7 show corresponding random signal waveforms for the random signal A 0 'after a respective start of the random bit generator 10 at the time t = 20 ns. The curves are not periods, periodicities or predictable Signal curves visible. The random signal is suitable for detecting random bit values.

In der 8 hat die Anmelderin eine Signalform aufgetragen, die entsteht, wenn die Schalteinrichtung 5' blockiert wird, also nur ein fester Rückkopplungspfad vorliegt. Das entsprechende Fibonacci-Polynom ist dann festgelegt. Ist dies der Fall, kann eine periodische Signalform entstehen. In der 8 ist beispielsweise die Periode T angedeutet, die dem Oszillationssignal für den Fibonacci-Ringoszillator 2' entspricht, bei dem nur das Signal A1' oder A5' kontinuierlich rückgekoppelt wird.In the 8th the applicant has applied a waveform, which arises when the switching device 5 ' is blocked, so there is only one fixed feedback path. The corresponding Fibonacci polynomial is then specified. If this is the case, a periodic waveform can arise. In the 8th For example, the period T is indicated, which corresponds to the oscillation signal for the Fibonacci ring oscillator 2 ' corresponds, in which only the signal A 1 'or A 5 ' is continuously fed back.

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 1 oder 10 eignet sich insbesondere zum Einsatz in einer Verschlüsselungseinrichtung. Eine Vorrichtung zum Verschlüsseln von Daten ist als Ausführungsbeispiel in der 9 angedeutet. Die Verschlüsselungsvorrichtung 100 hat eine Vorrichtung zum Erzeugen von Zufallsbits 1 und eine Recheneinrichtung 9. Die Verschlüsselungseinrichtung 100 dient dem Verschlüsseln von Reindaten DT, die der Vorrichtung 100 zugeführt werden, in verschlüsselte oder chiffrierte Ausgangsdaten CDT. Dabei wird der Recheneinrichtung 9 eine Zufallszahl oder Zufallsbitfolge ZZ aus dem Zufallsbitgenerator 1 zugeführt. Diese Zufallsbitfolge ZZ kann als kryptographischer Schlüssel eingesetzt werden, so dass unter Anwendung eines Verschlüsselungsalgorithmus, beispielsweise AES oder dergleichen, aus den Eingangsdaten DT verschlüsselte Daten CDT erzeugt werden. Aufgrund der Zufallszahlerzeugung, die mit hoher Datenrate erfolgen kann, ergibt sich eine besonders sichere und schnelle Verschlüsselungsmöglichkeit.The device 1 or 10 is particularly suitable for use in an encryption device. An apparatus for encrypting data is shown as an embodiment in the 9 indicated. The encryption device 100 has a device for generating random bits 1 and a computing device 9 , The encryption device 100 It is used to encrypt the real data DT, that of the device 100 supplied in encrypted or ciphered output data CDT. In this case, the computing device 9 a random number or random bit sequence ZZ from the random bit generator 1 fed. This random bit sequence ZZ can be used as a cryptographic key, so that encrypted data CDT are generated from the input data DT using an encryption algorithm, for example AES or the like. Due to the random number generation, which can be done with high data rate, results in a particularly secure and fast encryption option.

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)

Vorrichtung (1) zum Erzeugen von Zufallsbits mit mindestens zwei Logikschaltungen (2, 2'), wobei jede Logikschaltung (2) mehrere logische Gatterschaltungen (3 03 n), die jeweils einen Eingangspegel (E0–En) in einen Ausgangspegel (A0–An) ausgeben, und mehrere auswählbare Rückkopplungspfade (R) zum Einkoppeln eines Ausgangspegels (A0–An) einer ausgewählten logischen Gatterschaltung (3 03 2) als Eingangspegel (E0–En) einer anderen logischen Gatterschaltung (3 03 n) oder zum Einkoppeln logisch verknüpfter Ausgangspegel (A0–An) von ausgewählten logischen Gatterschaltungen (3 03 n) als Eingangspegel (E0–En) der anderen logischen Gatterschaltung (3 03 n) aufweist, wobei der jeweils ausgewählte Rückkopplungspfad (R) einer Logikschaltung (2) von einem Ausgangspegel (A0'–An') abhängt, der an einer logischen Gatterschaltung (3 0'–3 n') einer anderen Logikschaltung (2') abgreifbar ist, und wobei die Logikschaltungen (2, 2') insbesondere so ausgestaltet sind, dass bei wenigstens einem ausgewählten Rückkopplungspfad (R) die Ausgangspegel (A0–An) der logischen Gatterschaltungen (3 03 n) einen unregelmäßigen, nichtperiodischen und/oder chaotischen Signalverlauf aufweisen.Contraption ( 1 ) for generating random bits with at least two logic circuits ( 2 . 2 ' ), each logic circuit ( 2 ) a plurality of logic gate circuits ( 3 0 - 3 n ) each outputting an input level (E 0 -E n ) to an output level (A 0 -A n ) and a plurality of selectable feedback paths (R) for launching an output level (A 0 -A n ) of a selected logic gate circuit ( 3 0 - 3 2 ) as an input level (E 0 -E n ) of another logic gate circuit ( 3 0 - 3 n ) or for coupling logically linked output levels (A 0 -A n ) of selected logic gate circuits ( 3 0 - 3 n ) as the input level (E 0 -E n ) of the other logic gate circuit ( 3 0 - 3 n ), wherein the respectively selected feedback path (R) of a logic circuit ( 2 ) depends on an output level (A 0 '-A n ') connected to a logic gate circuit ( 3 0 '- 3 n ') of another logic circuit ( 2 ' ), and wherein the logic circuits ( 2 . 2 ' ) are in particular designed so that, in at least one selected feedback path (R), the output levels (A 0 -A n ) of the logic gate circuits ( 3 0 - 3 n ) have an irregular, non-periodic and / or chaotic waveform. Vorrichtung nach Anspruch 1, wobei wenigstens eine der Logikschaltungen (2, 2') eine Auswahlschaltung (5, 5') umfasst, welche eingerichtet ist, in Abhängigkeit von einem Schaltsignal (SW) zwischen wenigstens zwei Ausgangspegeln (A0–An) von zwei ausgewählten logischen Gatterschaltungen (3 03 n) der wenigstens einen Logikschaltung (2, 2') als ein Rückkopplungssignal (Si) für den Rückkopplungspfad (R) umzuschalten.Apparatus according to claim 1, wherein at least one of the logic circuits ( 2 . 2 ' ) a selection circuit ( 5 . 5 ' ), which is set up, depending on a switching signal (SW), between at least two output levels (A 0 -A n ) of two selected logical gate circuits (SW) 3 0 - 3 n ) of the at least one logic circuit ( 2 . 2 ' ) as a feedback signal (S i ) for the feedback path (R). Vorrichtung nach Anspruch 2, wobei das Schaltsignal (SW) in Abhängigkeit von einem Ausgangspegel (A0'–An'), welcher an einer logischen Gatterschaltung (3 0'–3 n') der anderen Logikschaltung (2') abgreifbar ist, erzeugt ist.Apparatus according to claim 2, wherein the switching signal (SW) in response to an output level (A 0 '-A n '), which on a logic gate circuit ( 3 0 '- 3 n ') of the other logic circuit ( 2 ' ) is tapped, is generated. Vorrichtung nach einem der Ansprüche 1–3, wobei jede Logikschaltung (2, 2') mehrere gleichzeitig ausgewählte Rückkopplungspfade umfasst.Device according to one of claims 1-3, wherein each logic circuit ( 2 . 2 ' ) comprises a plurality of simultaneously selected feedback paths. Vorrichtung nach einem der Ansprüche 1–4, wobei die Logikschaltungen (2, 2') so ausgestaltet sind, dass die Ausgangspegel (A0–An) der logischen Gatterschaltungen (3 03 n) bei allen auswählbaren Rückkopplungspfaden (R) einen unregelmäßigen, nichtperiodischen und/oder chaotischen Signalverlauf aufweisen.Device according to one of claims 1-4, wherein the logic circuits ( 2 . 2 ' ) are designed so that the output levels (A 0 -A n ) of the logic gate circuits ( 3 0 - 3 n ) have an irregular, non-periodic and / or chaotic signal curve in all selectable feedback paths (R). Vorrichtung nach einem der Ansprüche 1–5, wobei die Vorrichtung genau zwei Logikschaltungen (2, 2') umfasst.Device according to one of claims 1-5, wherein the device exactly two logic circuits ( 2 . 2 ' ). Vorrichtung nach einem der Ansprüche 1–6, wobei die Logikschaltungen (2, 2') eine unterschiedliche Anzahl von verketteten logischen Gatterschaltungen (3 03 n) umfassen.Device according to one of claims 1-6, wherein the logic circuits ( 2 . 2 ' ) a different number of concatenated logic gate circuits ( 3 0 - 3 n ). Vorrichtung nach einem der Ansprüche 1–7, wobei die Logikschaltungen (2, 2') weniger als zehn verkettete logische Gatterschaltungen (3 03 n) umfassen.Device according to one of claims 1-7, wherein the logic circuits ( 2 . 2 ' ) less than ten concatenated logic gate circuits ( 3 0 - 3 n ). Vorrichtung nach einem der Ansprüche 1–8, wobei wenigstens eine Logikschaltung (2, 2') einen Fibonacci- oder einen Galois-Ringoszillator gemäß einem Rückkopplungspolynom ausbildet.Device according to one of claims 1-8, wherein at least one logic circuit ( 2 . 2 ' ) forms a Fibonacci or a Galois ring oscillator according to a feedback polynomial. Vorrichtung nach Anspruch 9, wobei das Rückkopplungspolynom jeweils von wenigstens einem Ausgangspegel (A0–An) abhängt, der an einer logischen Gatterschaltung (3 03 n) einer anderen Logikschaltung (2, 2') abgreifbar ist.Apparatus according to claim 9, wherein the feedback polynomial each depends on at least one output level (A 0 -A n ) connected to a logic gate circuit ( 3 0 - 3 n ) another logic circuit ( 2 . 2 ' ) can be tapped. Vorrichtung nach einem der Ansprüche 1–10, ferner mit einer Erfassungsvorrichtung (7), welche in Abhängigkeit von wenigstens einem Ausgangspegel (A0–An) mindestens einen Zufallsbitwert (ZB) erzeugt.Device according to one of claims 1-10, further comprising a detection device ( 7 ) which generates at least one random bit value (ZB) as a function of at least one output level (A 0 -A n ). Vorrichtung nach einem der Ansprüche 1–11, ferner mit einer Steuereinrichtung (6), welche eingerichtet ist, in Abhängigkeit von wenigstens zwei erfassten Ausgangspegel (A0–An) im Mittel mehr als einen Zufallsbitwert (ZB) zu erzeugen.Device according to one of claims 1-11, further comprising a control device ( 6 ) which is set up to generate on average more than one random bit value (ZB) as a function of at least two detected output levels (A 0 -A n ). Vorrichtung nach einem der Ansprüche 1–12, wobei die Vorrichtung weitere Logikschaltungen aufweist und jede Logikschaltung 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 als Eingangspegel einer anderen logischen Gatterschaltung oder logisch verknüpfte Ausgangspegel von ausgewählten logischen Gatterschaltungen als Eingangspegel der anderen logischen Gatterschaltung aufweist, und wobei der jeweils ausgewählte Rückkopplungspfad einer Logikschaltung von mindestens einem Ausgangspegel abhängt, der an einer Gatterschaltung einer anderen Logikschaltungen abgreifbar ist.The apparatus of any of claims 1-12, wherein the apparatus comprises further logic circuits and 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 logic gate circuit as input level of another logic gate circuit or having logic-associated output levels of selected logic gate circuits as input levels of the other logic gate circuit, and wherein the respective selected feedback path of a logic circuit depends on at least one output level tapped at a gate circuit of other logic circuits. Verschlüsselungsvorrichtung (100) mit einer Vorrichtung (1) nach einem der Ansprüche 1–13, und einer Recheneinrichtung (1) zur Durchführung eines Verschlüsselungsalgorithmus an Eingangsdaten (DT) in Abhängigkeit von einem mit Hilfe der Vorrichtung nach einem der Ansprüche 1–13, erzeugten Zufallsbit (ZB) zum Erzeugen von verschlüsselten Daten (CDT).Encryption device ( 100 ) with a device ( 1 ) according to any one of claims 1-13, and a computing device ( 1 for performing an encryption algorithm on input data (DT) in response to a random bit (ZB) generated by means of the apparatus according to any one of claims 1-13 for generating encrypted data (CDT). Verfahren zum Erzeugen von Zufallsbits mit Hilfe von mindestens einer ersten Logikschaltung (2) und einer zweiten Logikschaltung (2'), wobei jede Logikschaltung (2, 2') mehrere logische Gatterschaltungen (3 03 n), die jeweils einen Eingangspegel (E0–En) in einen Ausgangspegel (A0–An) ausgeben, und mehrere auswählbare Rückkopplungspfade zum Einkoppeln eines Ausgangspegels (A0–An) einer ausgewählten Gatterschaltung (3 03 n) als Eingangspegel (E0–En) einer anderen Gatterschaltung (3 03 n) oder logisch verknüpfte Ausgangspegel (A0–An) von ausgewählten logischen Gatterschaltungen (3 03 n) als Eingangspegel (E0–En) der anderen logischen Gatterschaltung (3 03 n) der jeweiligen Logikschaltung (2, 2') aufweist, wobei während des Betriebs der Logikschaltungen (2, 2') der Rückkopplungspfad der ersten Logikschaltung (2) abhängig von einem Ausgangspegel (A0'–An') der zweiten Logikschaltung (2') gewählt wird. Method for generating random bits with the aid of at least one first logic circuit ( 2 ) and a second logic circuit ( 2 ' ), each logic circuit ( 2 . 2 ' ) a plurality of logic gate circuits ( 3 0 - 3 n ) each outputting an input level (E 0 -E n ) to an output level (A 0 -A n ), and a plurality of selectable feedback paths for launching an output level (A 0 -A n ) of a selected gate circuit ( 3 0 - 3 n ) as input level (E 0 -E n ) of another gate circuit ( 3 0 - 3 n ) or logically linked output levels (A 0 -A n ) of selected logic gate circuits ( 3 0 - 3 n ) as the input level (E 0 -E n ) of the other logic gate circuit ( 3 0 - 3 n ) of the respective logic circuit ( 2 . 2 ' ), wherein during operation of the logic circuits ( 2 . 2 ' ) the feedback path of the first logic circuit ( 2 ) depending on an output level (A 0 '-A n ') of the second logic circuit ( 2 ' ) is selected.
DE102015203580.8A 2015-02-27 2015-02-27 Apparatus and method for generating random bits Withdrawn DE102015203580A1 (en)

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)

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

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

Patent Citations (2)

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

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

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