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

Apparatus and method for generating random bits Download PDF

Info

Publication number
DE102014219795A1
DE102014219795A1 DE102014219795.3A DE102014219795A DE102014219795A1 DE 102014219795 A1 DE102014219795 A1 DE 102014219795A1 DE 102014219795 A DE102014219795 A DE 102014219795A DE 102014219795 A1 DE102014219795 A1 DE 102014219795A1
Authority
DE
Germany
Prior art keywords
ring oscillator
circuit
gate
circuits
oscillator circuit
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
DE102014219795.3A
Other languages
German (de)
Inventor
Pascale Böffgen
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 DE102014219795.3A priority Critical patent/DE102014219795A1/en
Publication of DE102014219795A1 publication Critical patent/DE102014219795A1/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)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

Eine Vorrichtung (1) zum Erzeugen von Zufallsbits hat mindestens zwei Ringoszillatorschaltungen (2, 2‘), wobei jede Ringoszillatorschaltung (2) mehrere Gatterschaltungen (30–32n), die jeweils einen Eingangspegel (E0–E2n) in einen Ausgangspegel (A0–A2n) ausgeben, und mehrere auswählbare Rückkopplungspfade (Zi) zum Einkoppeln eines Ausgangspegels (A0–A2n) einer ausgewählten Gatterschaltung (30–32n) als Eingangspegel (E0–E2n) einer anderen Gatterschaltung (30–32n) aufweist. der jeweils ausgewählte Rückkopplungspfad (Zi) einer Ringoszillatorschaltung (2, 2‘) von wenigstens einem Ausgangspegel (A0–A2n) abhängt, der an einer Gatterschaltung (30–32n) einer anderen Ringoszillatorschaltung (2, 2‘) abgreifbar ist. Bei einem Verfahren zum Erzeugen von Zufallsbits mit Hilfe von mindestens einer ersten Ringoszillatorschaltung (2) und einer zweiten Ringoszillatorschaltung (2‘), wobei jede Ringoszillatorschaltung (2, 2‘) mehrere Gatterschaltungen (30–32n), die jeweils einen Eingangspegel (E0–E2n) in einen Ausgangspegel (A0–A2n) ausgeben, und mehrere auswählbare Rückkopplungspfade zum Einkoppeln eines Ausgangspegels (A0–A2n) einer ausgewählten Gatterschaltung (30–32n) als Eingangspegel (E0–E2n) einer anderen Gatterschaltung (30–32n) der Ringoszillatorschaltung (2, 2‘) aufweist, wird während des Betriebs der Ringoszillatorschaltungen (2, 2‘) der Rückkopplungspfad der ersten der Ringoszillatorschaltungen (2) abhängig von einem Ausgangspegel (A0–A2n) der zweiten Ringoszillatorschaltung (2‘) gewählt. An random bit generating apparatus (1) has at least two ring oscillator circuits (2, 2 '), each ring oscillator circuit (2) having a plurality of gate circuits (3 0 -3 2n ) each having an input level (E 0 -E 2n ) in an output level (A 0 -A 2n ) and a plurality of selectable feedback paths (Z i ) for coupling an output level (A 0 -A 2n ) of a selected gate circuit (3 0 -3 2n ) as an input level (E 0 -E 2n ) of another gate circuit (3 0 -3 2n ). the respectively selected feedback path (Z i ) of a ring oscillator circuit (2, 2 ') depends on at least one output level (A 0 -A 2n ) which can be tapped on a gate circuit (3 0 -3 2n ) of another ring oscillator circuit (2, 2') is. In a method for generating random bits by means of at least a first ring oscillator circuit (2) and a second ring oscillator circuit (2 '), each ring oscillator circuit (2, 2') having a plurality of gate circuits (3 0 -3 2n ) each having an input level ( E 0 -E 2n ) to an output level (A 0 -A 2n ), and a plurality of selectable feedback paths for coupling an output level (A 0 -A 2n ) of a selected gate circuit (3 0 -3 2n ) as an input level (E 0 -E 2n ) of another gate circuit (3 0 -3 2n ) of the ring oscillator circuit (2, 2 '), during operation of the ring oscillator circuits (2, 2'), the feedback path of the first of the ring oscillator circuits (2) is dependent on an output level (A 0 -A 2n ) of the second ring oscillator circuit (2 ').

Figure DE102014219795A1_0001
Figure DE102014219795A1_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 vorgeschlagenen Verfahren und Vorrichtungen 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 methods and devices are used in particular to generate random bits or random bit sequences which have good random properties, that is to say 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 e.g. 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änger 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.

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 Ringoszillatorschaltungen vorgeschlagen, wobei jede Ringoszillatorschaltung mehrere 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, aufweist. Die Vorrichtung ist derart ausgestaltet, dass der jeweils ausgewählte Rückkopplungspfad einer Ringoszillatorschaltung von wenigstens einem Ausgangspegel abhängt, der an einer Gatterschaltung einer anderen Ringoszillatorschaltung abgreifbar ist. Accordingly, an apparatus for generating random bits having at least two ring oscillator circuits is proposed, each ring oscillator circuit having a plurality of 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. The device is designed such that the respective selected feedback path of a ring oscillator circuit depends on at least one output level which can be tapped off at a gate circuit of another ring oscillator circuit.

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 Ringoszillatorschaltung. Aufgrund der sich ergebenden Jitter erfolgt eine Umschaltung von Rückkopplungspfaden zufällig. In embodiments of the device, a selection or switching of the respective feedback path is not made clocked, but in operation and in response to the resulting continuous output levels in another ring oscillator circuit. Due to the resulting jitter, switching of feedback paths occurs at random.

Es wird ferner eine erweiterte oder alternative Vorrichtung zum Erzeugen von Zufallsbits mit mindestens drei Ringoszillatorschaltungen vorgeschlagen. Jede Ringoszillatorschaltung weist dabei mehrere Gatterschaltungen, die jeweils einen Eingangspegel in einen Ausgangspegel ausgeben, auf. Es sind mehrere auswählbare Rückkopplungspfade zum Einkoppeln eines Ausgangspegels einer ausgewählten Gatterschaltung als Eingangspegel einer anderen Gatterschaltung vorgesehen. Dabei hängt der jeweils ausgewählte Rückkopplungspfad einer Ringoszillatorschaltung von zwei Ausgangspegeln ab, die an Gatterschaltungen der beiden anderen Ringoszillatorschaltungen abgreifbar sind. There is also an extended or alternative apparatus for generating random bits with at least three ring oscillator circuits proposed. Each ring oscillator circuit has a plurality of gate circuits each outputting an input level to an output level. There are provided a plurality of selectable feedback paths for launching an output level of a selected gate circuit as an input level of another gate circuit. In this case, the respectively selected feedback path of a ring oscillator circuit depends on two output levels, which can be tapped at gate circuits of the two other ring oscillator circuits.

Bei der vorgeschlagenen Vorrichtung sind Ringoszillatorschaltungen beispielsweise aus einer ungeraden Anzahl von hintereinander geschalteten Invertern implementiert. Jede der wenigstens drei Ringoszillatorschaltungen wird dynamisch während des Betriebs hinsichtlich ihrer Länge verändert, also der Anzahl von hintereinander gekoppelten Invertern. Dies erfolgt in Abhängigkeit von Zuständen von zwei anderen Ringoszillatoren. 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, dass schwankende Spannungen aufweist, mit geringem Hardware-Aufwand. In the proposed device, ring oscillator circuits are implemented, for example, from an odd number of inverters connected in series. Each of the at least three ring oscillator circuits is changed dynamically during operation in terms of their length, that is, the number of inverters coupled in series. This is done depending on conditions of two other ring oscillators. 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.

In Ausführungsformen hat jede der Ringoszillatorschaltungen eine erste und eine letzte Gatterschaltung zwischen denen mittlere Gatterschaltungen verkettet sind. Die Ausgangspegel von wenigstens zwei mittleren Gatterschaltungen und der letzten Gatterschaltung sind, insbesondere über ein schaltbares Rückkopplungsnetzwerk, als Eingangspegel der ersten Gatterschaltung zuführbar. Durch Schalten zwischen möglichen Rückkopplungspfaden entstehen während des Betriebs unterschiedlich lange Ringoszillatorschaltungen. Vorzugsweise ist immer nur ein ausgewählter Ausgangspegel in einer jeweiligen Ringoszillatorschaltung über den Rückkopplungspfad als Eingangspegel der ersten Gatterschaltung zugeführt. In embodiments, each of the ring oscillator circuits has first and last gate circuits between which middle gate circuits are interlinked. The output levels of at least two middle gate circuits and the last gate circuit can be supplied as input levels to the first gate circuit, in particular via a switchable feedback network. Switching between possible feedback paths results in ring oscillator circuits of different lengths during operation. Preferably, only a selected output level in a respective ring oscillator circuit is always supplied via the feedback path as an input level to the first gate circuit.

In Ausführungsformen der Vorrichtung hat jede Ringoszillatorschaltung eine auswählbare Länge entsprechend der Anzahl der verketteten und rückgekoppelten Gatterschaltungen. Mit Hilfe eines kombinatorischen Schaltnetzwerks kann die Länge jeder der Ringoszillatorschaltungen in Abhängigkeit von wenigstens einem Ausgangspegel einer Gatterschaltung einer ersten anderen Ringoszillatorschaltung und einem Ausgangspegel einer Gatterschaltung einer zweiten anderen Ringoszillatorschaltung wählbar sein. In embodiments of the apparatus, each ring oscillator circuit has a selectable length corresponding to the number of chained and feedback gate circuits. With the aid of a combinatorial switching network, the length of each of the ring oscillator circuits may be selectable in response to at least one output level of a gate circuit of a first other ring oscillator circuit and an output level of a gate circuit of a second other ring oscillator circuit.

In Ausführungsformen ist die Vorrichtung zum Erzeugen von Zufallsbits derart eingerichtet, dass eine Pegeländerung eines Ausgangspegels einer ausgewählten Gatterschaltung einer Ringoszillatorschaltung zu einer Änderung des Rückkopplungspfads einer anderen Ringoszillatorschaltung führt. Man erhält somit eine dynamische Veränderung der Ringoszillatorlängen, wobei die aktuelle Länge einer Ringoszillatorschaltung von Zuständen von zwei anderen Ringoszillatorschaltungen abhängt. Diese Verknüpfung von logischen Pegeln oder logischen Zuständen der Ringoszillatorschaltungen untereinander führt zu zufälligen Signalformen, die beispielsweise durch Abtasten und Zuordnen von Bitwerten oder logischen Pegeln zu Zufallsbitfolgen und damit Zufallszahlen zusammengesetzt werden können. In embodiments, the means for generating random bits is arranged such that a level change of an output level of a selected gate circuit of a ring oscillator circuit results in a change of the feedback path of another ring oscillator circuit. Thus, one obtains a dynamic change of the ring oscillator lengths, wherein the actual length of a ring oscillator circuit depends on states of two other ring oscillator circuits. This combination of logic levels or logical states of the ring oscillator circuits with each other leads to random waveforms, which can be assembled, for example, by sampling and assigning bit values or logic levels to random bit sequences and thus random numbers.

In Ausführungsformen ist die Vorrichtung mit einem in dem Rückkopplungspfad vorgesehenen Leitungsknoten ausgestattet, welcher zum Abgreifen eines Zufallssignals dient. In embodiments, the device is provided with a line node provided in the feedback path, which serves to pick up a random signal.

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 means such as e.g. a latch or flip-flop. 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.

In Ausführungsformen können die Gatterschaltungen einer jeweiligen Ringoszillatorschaltung Inverter sein oder aufweisen. Ringoszillatoren umfassen in den meisten Fällen eine ungerade Anzahl von Invertern, die nacheinander geschaltet sind. Aufgrund der Rückkopplung ergibt sich ein oszillierendes Signal, welches mit einem Jitter beaufschlagt ist, der sich aufgrund von Laufzeitunterschieden der jeweiligen Inverter einstellen kann. Durch Akkumulieren dieses Jitters bei mehrfachen Durchläufen durch den Ringoszillator sind steigende und/oder fallende Signalflanken derart verschoben und verzerrt, dass sie nach einer gewissen Laufzeit der Vorrichtung nicht mehr erkennbar sind und einer zufälligen Signalform entsprechen. Diese in sich schon zufälligen Signalpegel bestimmen nun die aktuelle Länge anderer Ringoszillatoren, die dadurch sich ständig verändernde Signaleigenschaften haben. In embodiments, the gate circuits of a respective ring oscillator circuit may be or include inverters. Ring oscillators in most cases comprise an odd number of inverters connected in series. Due to the feedback results in an oscillating signal, which is acted upon by a jitter, which can be adjusted due to runtime differences of the respective inverter. By accumulating this jitter in multiple passes through the ring oscillator rising and / or falling signal edges are so shifted and distorted that they are no longer recognizable after a certain period of the device and correspond to a random waveform. These already random signal levels now determine the current length of other ring oscillators, which thereby have constantly changing signal properties.

In Ausführungsformen hat eine jeweilige Ringoszillatoreinrichtung wenigstens 29 Gatterschaltungen. Denkbar sind auch Ringoszillatoren mit weniger als 29 Gatterschaltungen. Es können auch mehr als drei Ringoszillatoren eingesetzt werden, die gegenseitig im Betrieb ihre Länge verändern. In embodiments, a respective ring oscillator device has at least 29 gate circuits. Also conceivable are ring oscillators with fewer than 29 gate circuits. It can also be more than three ring oscillators are used, which mutually change their length during operation.

Es wird darüber hinaus ein Verfahren zum Erzeugen von Zufallsbits mit Hilfe mindestens einer ersten, einer zweiten und einer dritten Ringoszillatorschaltung vorgeschlagen, wobei jede Ringoszillatorschaltung mehrere Gatterschaltungen, die jeweils einen Eingangspegel in einen Ausgangspegel ausgeben, aufweist. Es sind mehrere auswählbare Rückkopplungspfade zum Einkoppeln eines Ausgangspegels einer ausgewählten Gatterschaltung als Eingangspegel einer anderen Gatterschaltung der Ringoszillatorschaltung möglich. Das Verfahren umfasst die Schritte:
Abgreifen eines ersten Ausgangspegels einer Gatterschaltung der ersten Ringoszillatorschaltung;
Abgreifen eines zweiten Ausgangspegels einer Gatterschaltung der zweiten Ringoszillatorschaltung; und
Auswählen des Rückkopplungspfads einer dritten Ringoszillatorschaltung als Funktion des ersten und des zweiten Ausgangspegels.
It is also proposed a method for generating random bits by means of at least a first, a second and a third ring oscillator circuit, each ring oscillator circuit having a plurality of gate circuits, each outputting an input level to an output level. Several selectable feedback paths are possible for coupling an output level of a selected gate circuit as an input level of another gate circuit of the ring oscillator circuit. The method comprises the steps:
Picking up a first output level of a gate circuit of the first ring oscillator circuit;
Picking up a second output level of a gate circuit of the second ring oscillator circuit; and
Selecting the feedback path of a third ring oscillator circuit as a function of the first and second output levels.

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 Ausgangspegel einer Gatterschaltung als Zufallssignal abgetastet wird. 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 of a gate circuit is sampled as a random signal.

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.

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 provided or supplied, 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 from 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. Furthermore, a data carrier with a stored computer program with commands is suggested, which cause the implementation of a corresponding method on a program-controlled device.

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 detail in conjunction 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.

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

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

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.

Die 1 zeigt eine erste Ausführungsform einer Vorrichtung zum Erzeugen von Zufallsbits. Die Vorrichtung ist insbesondere als ASIC ausgeführt. Die Vorrichtung 1 umfasst drei Ringoszillatorschaltungen 2, 2‘, 2‘‘. Im Wesentlichen sind die drei Ringoszillatorschaltungen 2, 2‘ und 2‘‘ gleich aufgebaut. The 1 shows a first embodiment of a device for generating random bits. The device is designed in particular as an ASIC. The device 1 includes three ring oscillator circuits 2 . 2 ' . 2 '' , In essence, the three ring oscillator circuits 2 . 2 ' and 2 '' built up the same.

Die erste Ringoszillatorschaltung 2 umfasst dabei eine Anzahl von hintereinander geschalteten Invertern als logische Gatter 3 03 2n, wobei n eine natürliche Zahl ist. Jeder Inverter 3 03 2n empfängt ein Eingangssignal oder einen Eingangspegel Ei und gibt einen invertierten Ausgangspegel Ai mit i = 0–2n aus. In der 1 ist beispielhaft lediglich das Eingangssignal E0 und das Ausgangssignal A0 für den ersten Inverter 3 0 mit Bezugszeichen versehen. In der 1 sind zwischen dem ersten Inverter 3 0 und dem letzten Inverter 3 2n mittlere Inverter 3 13 2n-1 geschaltet. Die Inverter 3 1 und 3 2 sind der Einfachheit halber als ein Inverterpaar 4 dargestellt. The first ring oscillator circuit 2 comprises a number of inverters connected in series as logic gates 3 0 - 3 2n , where n is a natural number. Every inverter 3 0 - 3 2n receives an input signal or input level E i and outputs an inverted output level A i with i = 0-2n. In the 1 is merely the example Input signal E 0 and the output signal A 0 for the first inverter 3 0 provided with reference numerals. In the 1 are between the first inverter 3 0 and the last inverter 3 2n middle inverter 3 1 - 3 2n-1 switched. The inverters 3 1 and 3 2 are for the sake of simplicity as an inverter pair 4 shown.

Beim Betrieb des Zufallszahlengenerators 1 nach dem Beispiel der 1 propagiert das Eingangssignal E0 durch die Inverterkette solange bis es rückgekoppelt wird. Der Ringoszillator 2 ermöglicht verschiedene Rückkopplungspfade. Es sind Zwischensignale Z2, Z4–Z2n in der 1 angedeutet. Die Zwischensignale Z2–Z2n entsprechen jeweils den Ausgangssignalen oder Ausgangspegeln des im jeweiligen Inverterpaar 4 signalabwärts vorliegenden Inverters. Dies ist explizit bei den Invertern 3 2 und 3 2n angedeutet. When operating the random number generator 1 according to the example of 1 propagates the input signal E 0 through the inverter chain until it is fed back. The ring oscillator 2 allows different feedback paths. There are intermediate signals Z 2 , Z 4 -Z 2n in the 1 indicated. The intermediate signals Z 2 -Z 2n respectively correspond to the output signals or output levels of the respective inverter pair 4 downstream inverter. This is explicit with the inverters 3 2 and 3 2n indicated.

Der Ringoszillatorschaltung 2 ist eine Umschalteinrichtung oder Auswahleinrichtung 5 zugeordnet. Der Auswahleinrichtung 5 sind die Zwischensignale Z2–Z2n eingekoppelt. In Abhängigkeit von Auswahlsignalen S schaltet die Auswahleinrichtung 5 eines der Zwischensignale Z2–Z2n als Rückkopplungssignal R eingangsseitig dem ersten Inverter 3 0 zu. Das heißt, der Ringoszillator 2 kann mit verschiedenen Längen betrieben werden, wobei die Länge des Ringoszillators durch die Anzahl der rückgekoppelten Inverter bestimmt ist. The ring oscillator circuit 2 is a switching device or selector 5 assigned. The selection device 5 are the intermediate signals Z 2 -Z 2n coupled. In dependence on selection signals S, the selection device switches 5 one of the intermediate signals Z 2 -Z 2n as a feedback signal R on the input side of the first inverter 3 0 too. That is, the ring oscillator 2 can be operated with different lengths, the length of the ring oscillator being determined by the number of feedback inverters.

Als Auswahlsignale S empfängt die Auswahleinrichtung 5 beispielsweise zwei Ausgangssignale oder Ausgangssignalpegel der beiden anderen Ringoszillatorschaltungen 2‘, 2‘‘. In der Darstellung der 1 sind zwei Auswahlsignale Ai‘ und Aj‘‘ angedeutet. Die Indizes i und j stehen für einen i-ten bzw. j-ten Inverter der in den Ringoszillatorschaltungen 2‘ bzw. 2‘‘ implementierten Inverterketten. As selection signals S receives the selection device 5 For example, two output signals or output signal level of the other two ring oscillator circuits 2 ' . 2 '' , In the presentation of the 1 two selection signals A i 'and A j ''are indicated. The indices i and j stand for an ith or a j-th inverter in the ring oscillator circuits 2 ' respectively. 2 '' implemented inverter chains.

Im Wesentlichen sind die Ringoszillatorschaltungen 2‘ und 2‘‘ analog dem zuvor beschriebenen Ringoszillator 2 aufgebaut. In der 1 sind die Elemente des zweiten Ringoszillators 2‘ mit einem Strich in den Bezugszeichen versehen. Für den dritten Ringoszillatorschaltkreis 2‘‘ sind die Bezugszeichen mit einem doppelten Strich versehen. Essentially, the ring oscillator circuits are 2 ' and 2 '' analogous to the previously described ring oscillator 2 built up. In the 1 are the elements of the second ring oscillator 2 ' provided with a dash in the reference numerals. For the third ring oscillator circuit 2 '' the reference numerals are provided with a double prime.

Beim Betrieb der Vorrichtung zum Erzeugen von Zufallsbits 1 wird ständig die Länge der Ringoszillatoren 2, 2‘, 2‘‘ verändert, denn in Abhängigkeit von den jeweiligen Pegeln der Auswahlsignale Ai‘, Aj‘‘, Ak, Al‘‘, Am und Ap‘, die sich wiederum beim Betrieb aufgrund der chaotischen Signalformen verändern, ergeben sich ständig wechselnde Schaltungskonfigurationen. In operation of the random bit generating device 1 is constantly changing the length of the ring oscillators 2 . 2 ' . 2 '' changed, because in response to the respective levels of the selection signals A i ' , A j'' , A k , A l'' , A m and A p ', which in turn change in operation due to the chaotic waveforms, constantly changing circuit configurations.

Die eingesetzten Auswahlschaltungen 5, 5‘, 5‘‘ können zum Beispiel Multiplexer sein. Im Beispiel der 1 wird ein Zufallssignal ZS am Ausgang des ersten Inverters 3 0 der ersten Ringoszillatorschaltung 2 abgegriffen. Die Signalform ist dabei zufällig aufgrund der Beaufschlagung der Signalflanken mit Jittern und der kontinuierlich wechselnden Schaltungskonfiguration. Die Vorrichtung zum Erzeugen von Zufallsbits ist einfach implementierbar bzw. erfordert nur einen geringen Hardwareaufwand. Dadurch ist insbesondere eine Eignung für FPGAs und ASICs gegeben. The selection circuits used 5 . 5 ' . 5 '' For example, they can be multiplexers. In the example of 1 becomes a random signal ZS at the output of the first inverter 3 0 of the first ring oscillator circuit 2 tapped. The signal form is random due to the action of jitter on the signal edges and the continuously changing circuit configuration. The device for generating random bits is easy to implement or requires only a small amount of hardware. This is particularly suitable for FPGAs and ASICs.

Obwohl lediglich drei Ringoszillatorschaltungen 2, 2‘, 2‘‘ dargestellt sind, kann die Ausführungsform um weitere Ringoszillatorschaltungen erweitert werden, wobei jeweils dynamisch die Länge der Inverterketten verändert wird. Although only three ring oscillator circuits 2 . 2 ' . 2 '' are illustrated, the embodiment can be extended by further ring oscillator circuits, each dynamically changing the length of the inverter chains.

Die 2 zeigt eine schematische Darstellung eines zweiten Ausführungsbeispiels für eine Vorrichtung zum Erzeugen von Zufallsbits. Die Vorrichtung 10 umfasst wieder drei, hinsichtlich ihrer Länge veränderbaren Ringoszillatorschaltungen 2, 2‘, 2‘‘. Die erste obere Ringoszillatorschaltung 2 kann mit maximal 31 Invertern 3 0 bis 3 30 betrieben werden. Die zweite Ringoszillatorschaltung 2‘ umfasst 29 hintereinander schaltbare Inverter 3 0‘ bis 3 28‘. Die dritte Ringoszillatorschaltung 2‘‘ hat maximal 31 Inverter 3 0‘‘ bis 3 30‘‘. Die Inverter sind jeweils verkettet hintereinander geschaltet. The 2 shows a schematic representation of a second embodiment of an apparatus for generating random bits. The device 10 again comprises three, with respect to their length variable ring oscillator circuits 2 . 2 ' . 2 '' , The first upper ring oscillator circuit 2 can with a maximum of 31 inverters 3 0 to 3 30 are operated. The second ring oscillator circuit 2 ' includes 29 consecutive inverters 3 0 ' to 3 28 ' . The third ring oscillator circuit 2 '' has a maximum of 31 inverters 3 0 '' to 3 30 '' . The inverters are each linked in series.

Die erste Ringoszillatorschaltung 2 hat vier steuerbare Schalter 9 8, 9 18, 9 26 und 9 30. Mithilfe der steuerbaren Schalter 9 8, 9 18, 9 26 und 9 30 kann jeweils eines der Ausgangssignale bzw. ein Ausgangspegel des jeweiligen Inverters 3 8, 3 18, 3 26 oder 3 30 als Rückkopplungssignal dem ersten Inverter 3 0 zugeführt werden. Eine Auswahleinrichtung 5 steuert die steuerbaren Schalter 9 8, 9 18, 9 26, 9 30. Beispielsweise hat die Ringoszillatorschaltung 2 eine Länge von 31 Invertern, wenn der Schalter 9 30 das Ausgangssignal A30 des letzten Inverters 3 30 über den Rückkopplungspfad R als Rückkopplungssignal dem ersten Inverter 3 0 zuführt. The first ring oscillator circuit 2 has four controllable switches 9 8 , 9 18 , 9 26 and 9 30 . Using the controllable switches 9 8 , 9 18 , 9 26 and 9 30 may each one of the output signals or an output level of the respective inverter 3 8 , 3 18 , 3 26 or 3 30 as a feedback signal to the first inverter 3 0 are supplied. A selection device 5 controls the controllable switches 9 8 , 9 18 , 9 26 , 9 30 . For example, the ring oscillator circuit has 2 a length of 31 inverters when the switch 9 30, the output signal A 30 of the last inverter 3 30 via the feedback path R as a feedback signal to the first inverter 3 0 feeds.

Die Auswahleinrichtung 5 steuert die Schalter 9 8, 9 18, 9 26 und 9 30 in Abhängigkeit von dem Ausgangssignal A11‘‘ und A16‘ an. A16‘ ist dabei Ausgangssignal oder der Ausgangspegel A16‘ der Invertereinrichtung 3 16‘ in der zweiten Ringoszillatorschaltung 2‘. Das Ausgangssignal A11‘‘ entspricht dabei dem Ausgangspegel A11‘‘ des Inverters 3 11‘‘ in der dritten Ringoszillatorschaltung 2‘‘. Die Auswahleinrichtung 5 kann zum Beispiel ein logisches Gatter sein, das je nach Vorliegen der Pegel der Auswahlsignale A11‘‘ und A16‘ einen der Schalter 9 8, 9 18, 9 26 oder 9 30 schließt. The selection device 5 controls the switches 9 8 , 9 18 , 9 26 and 9 30 in response to the output signal A 11 '' and A 16 '. A 16 'is output signal or the output level A 16 ' of the inverter device 3 16 'in the second ring oscillator circuit 2 ' , The output signal A 11 '' corresponds to the output level A 11 '' of the inverter 3 11 "in the third ring oscillator circuit 2 '' , The selection device 5 may for example be a logic gate, which, depending on the presence of the levels of the selection signals A 11 '' and A 16 'one of the switches 9 8 , 9 18 , 9 26 or 9 30 closes.

Ähnlich sind die zweiten und dritten Ringoszillatorschaltungen 2‘ und 2‘‘ ausgestaltet. Die Vorrichtung 10 umfasst ferner eine Steuereinrichtung 7, die beispielsweise ein Abtast- und Halteglied 6 aufweist, dem das Rückkopplungssignal R als Zufallssignal ZS zugeführt ist. Durch Abtasten des Zufallssignals ZS und Halten des entsprechenden Signalpegels erfolgt eine Zuordnung auf einen logischen Pegel H oder L bzw. 1 oder 0. Man erhält damit am Ausgang des Abtast- und Halteglieds 6 ein Zufallsbit ZB. Das Zufallsbit ZB wird einer Speichereinrichtung 8 zugeführt, welche ebenfalls von einer Steuereinrichtung 7 über ein Steuersignal CT2 ansteuerbar ist. Das Abtasten kann wiederholt erfolgen, sodass eine Zufallsbitfolge im Speicher 8 abgelegt werden kann. Similarly, the second and third ring oscillator circuits 2 ' and 2 '' designed. The device 10 further comprises a control device 7 , for example, a sample and hold member 6 having the feedback signal R supplied as a random signal ZS. By sampling the random signal ZS and holding the corresponding signal level, an assignment is made to a logical level H or L or 1 or 0. It is thus obtained at the output of the sample and hold element 6 a random bit ZB. The random bit ZB becomes a memory device 8th fed, which also from a control device 7 can be controlled via a control signal CT2. The sampling can be repeated, so that a random bit sequence in the memory 8th can be stored.

Die Anmelderin hat eine Vorrichtung gemäß der 2 auf einem FPGA-Chip von Typ Cyclone V der Firma Altera implementiert. The Applicant has a device according to the 2 implemented on a FPGA chip type Cyclone V from Altera.

Die jeweils aktuelle Länge des ersten Ringoszillators 2 ist eine Funktion der logischen Pegel der Signale A11‘‘ und A16‘. Die Auswahleinrichtung 5 ist so implementiert, dass wenn beide logischen Pegel A11‘‘ = A16‘ = 0 sind, nur der Schalter 9 30 den Rückkopplungspfad freigibt. Man erhält einen Ringoszillator 2 der Länge 31. Wenn A11‘‘ = A16‘ = 1 sind, wird der Schalter 9 26 geschlossen, und der Ringoszillator 2 hat die Länge 27. Falls A11‘‘ = 1 und A16‘ = 0 ist, wird der Schalter 9 8 geschlossen, und der Ringoszillator 2 hat die Länge 9. Im letzten Fall, wenn A11‘‘ = 0 und A16‘ = 1, wird der Schalter 9 18 geschlossen, und der Ringoszillator 2 hat die Länge 19. The current length of the first ring oscillator 2 is a function of the logic levels of the signals A 11 "and A 16 '. The selection device 5 is implemented so that when both logic levels A 11 '' = A 16 '= 0, only the switch 9 30 releases the feedback path. You get a ring oscillator 2 of length 31. When A 11 '' = A 16 '= 1, the switch becomes 9 26 closed, and the ring oscillator 2 has the length 27. If A 11 '' = 1 and A 16 '= 0, the switch becomes 9 8 closed, and the ring oscillator 2 has the length 9. In the latter case, if A 11 '' = 0 and A 16 '= 1, the switch will 9 18 closed, and the ring oscillator 2 has the length 19

Ähnlich erfolgt die Umschaltung zwischen den Längen der Ringoszillatoren 2‘ und 2‘‘. Für A8 = A25‘‘ = 0 wird der Schalter 9 12 geschlossen, das heißt der Ringoszillator 2‘‘ hat die Länge 13. Für A8 = A25‘‘ = 1 wird der Schalter 9 26 geschlossen, und der Ringoszillator 2‘‘ hat die Länge 27. Falls A8 = 1 und A25‘‘ = 0, wird der Schalter 10 geschlossen, sodass der Ringoszillator 2‘ die Länge 11 hat. Im letztmöglichen Fall wird der Ringoszillator mit der Länge 29 betrieben, das heißt der Schalter 9 28 ist geschlossen. Similarly, the switching between the lengths of the ring oscillators takes place 2 ' and 2 '' , For A 8 = A 25 '' = 0, the switch becomes 9 12 closed, that is the ring oscillator 2 '' has the length 13. For A 8 = A 25 '' = 1 the switch becomes 9 26 closed, and the ring oscillator 2 '' has the length 27. If A 8 = 1 and A 25 '' = 0, the switch becomes 10 closed, so the ring oscillator 2 ' the length has 11. In the last possible case, the ring oscillator is operated with the length 29, that is, the switch 9 28 is closed.

Für den dritten Ringoszillator 2‘‘ ist die Auswahleinrichtung 5‘‘ derart eingerichtet, dass wenn A24 = A17‘ = 0 sind, der Schalter 9 22 geschlossen ist. Der Ringoszillator 2‘‘ wird dann mit der Länge 23 betrieben. Falls A24 = A17‘ = 1 sind, ist der Schalter 9 30 geschlossen, und der Ringoszillator 2‘‘ hat die Länge 31. Falls A24 = 0 und A17‘ = 1 ist, ist der Schalter 9 12 geschlossen, und der Ringoszillator 2‘‘ hat die Länge 13. Im letzten Fall, wenn A24 = 1 und A17‘ = 0, wird der Schalter 9 26 geschlossen, sodass der Ringoszillator die Länge 27 hat. For the third ring oscillator 2 '' is the selection device 5 '' set such that when A 24 = A 17 '= 0, the switch 9 22 is closed. The ring oscillator 2 '' is then operated with the length 23. If A 24 = A 17 '= 1, the switch is 9 30 closed, and the ring oscillator 2 '' has the length 31. If A 24 = 0 and A 17 '= 1, the switch is 9 12 closed, and the ring oscillator 2 '' has the length 13. In the last case, if A 24 = 1 and A 17 '= 0, the switch will 9 26 closed, so that the ring oscillator has the length 27.

Bei einer Implementierung auf einem FPGA kann die Verschaltung in einer Hardwarebeschreibungssprache (z.B. VHDL oder Verilog) als Konfigurationsdatei abgespeichert werden. When implemented on an FPGA, the circuitry may be stored in a hardware description language (e.g., VHDL or Verilog) as a configuration file.

In den 3, 4 und 5 ist für die Implementierung gemäß der 2 das jeweilige Zufallssignal ZS erfasst worden. In den 3, 4 und 5 ist ein Zeitabschnitt von etwa 450 ns mithilfe eines Oszilloskops gemessen worden und dargestellt. Das Zufallssignal ZS ist in beliebigen Einheiten (a.u. = arbitrary units) dargestellt. Zum jeweiligen Zeitpunkt t = 0 ns erfolgt ein Starten des Ringoszillators, das heißt ausgehend von einem Zustand, in dem alle Eingangssignale für die Inverter auf einem vorgegebenen Pegel gehalten werden bzw. gezwungen werden, wird ein freischwingender oder oszillierender Zustand der Vorrichtung 10 gestartet. In the 3 . 4 and 5 is for the implementation according to the 2 the respective random signal ZS has been detected. In the 3 . 4 and 5 For example, a period of about 450 ns has been measured and displayed using an oscilloscope. The random signal ZS is shown in arbitrary units (au = arbitrary units). At the respective time point t = 0 ns, the ring oscillator is started, that is, starting from a state in which all input signals for the inverters are held at a predetermined level, a free-running or oscillating state of the device is produced 10 started.

Man erkennt, dass bereits nach etwa t > 80 ns die Kurven der 3, 4 und 5 unterschiedliche Signalformen zeigen. Die 3, 4 und 5 entsprechen verschiedenen Läufen, also verschiedene Starts der Vorrichtung 10 gemäß der 2. Es wurden jedes Mal identische Startbedingungen eingestellt, das heißt die Inverter waren bis zum Zeitpunkt t = 0 auf demselben Zustand gehalten. It can be seen that already after about t> 80 ns the curves of the 3 . 4 and 5 show different signal forms. The 3 . 4 and 5 correspond to different runs, so different starts of the device 10 according to the 2 , Each time identical starting conditions were set, that is, the inverters were kept at the same state until time t = 0.

In der 6 ist eine Überlagerung vieler Zufallsläufe des Zufallssignals ZS dargestellt. Man erkennt, dass etwa nach 80 ns das Signal ZS im Bereich zwischen einem 0- und 1-Pegel, der beliebig zugeordnet werden kann, schwankt und praktisch alle Pegel gleichmäßig abdeckt. Nach etwa 80 ns erzeugt der Zufallszahlengenerator 10 somit echten Zufall. In the 6 a superposition of many random runs of the random signal ZS is shown. It can be seen that approximately after 80 ns the signal ZS fluctuates in the range between a 0 and 1 level, which can be arbitrarily assigned, and covers virtually all levels uniformly. After about 80 ns the random number generator generates 10 thus real coincidence.

Wird das Zufallssignal ZS abgetastet, erhält man einen Signalpegel, der unvorhersehbar 0 oder 1 entspricht. Insbesondere bei der Implementierung auf ASICs ist es vorteilhaft, dass aufgrund der relativ einfachen Topologie der Ringoszillatorschaltungen auf XOR-Gatter verzichtet werden kann, die auf ASICs im Vergleich zu den eingesetzten Invertern meist deutlich langsamer sind. Es kann schnell, in dem vorliegenden Beispiel bereits nach 80 ns, ein echtes Zufallsbit abgegriffen werden. Das vorgeschlagene Verfahren bzw. die vorgeschlagene Vorrichtung zum Erzeugen von Zufallsbits haben insbesondere den Vorteil der einfachen Implementierung auf ASICs und FPGAs bei geringem Hardwareaufwand und einer hohen Zufallsbitrate. If the random signal ZS is sampled, one obtains a signal level which unpredictably corresponds to 0 or 1. In particular, when implemented on ASICs, it is advantageous that due to the relatively simple topology of the ring oscillator circuits can be dispensed with XOR gates, which are usually much slower on ASICs compared to the inverters used. It can quickly, in the present example after 80 ns, a real random bit can be tapped. The proposed method and the proposed device for generating random bits in particular have the advantage of simple implementation on ASICs and FPGAs with a low hardware outlay and a high random bit rate.

Ein drittes Ausführungsbeispiel ist in der 7 schematisch dargestellt. Die Vorrichtung 1 umfasst zwei Ringoszillatorschaltkreise 2, 2‘, deren aktuelle Länge jeweils von einem Ausgangspegel Ai, Aj‘ einer Gatterschaltung in dem anderen Ringoszillatorschaltkreis 2, 2‘ abhängt. Dazu ist jeweils eine Umschalt- oder Auswahlvorrichtung 5, 5‘ vorgesehen. Einer der Ausgangspegel des ersten Ringoszillatorschaltkreises 2 wird als Zufallssignal ZS abgegriffen. Die Vorrichtung wird so betrieben, dass nicht getaktet die Umschaltung oder Auswahl der Länge oder Rückkopplungspfade erfolgt, sondern zufällig als Funktion des zufälligen Zustands des anderen Ringoszillators, der mit Jitter beaufschlagt ist. A third embodiment is in the 7 shown schematically. The device 1 includes two ring oscillator circuits 2 . 2 ' , whose actual length each of an output level A i , A j 'of a gate circuit in the other ring oscillator circuit 2 . 2 ' depends. This is in each case a switching or selection device 5 . 5 ' intended. One of the output levels of the first ring oscillator circuit 2 is tapped as a random signal ZS. The device is operated so as not clocked to switch or select the length or feedback paths, but randomly as a function of the random state of the other ring oscillator, which is subjected to jitter.

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.

Claims (10)

Vorrichtung (1) zum Erzeugen von Zufallsbits mit mindestens zwei Ringoszillatorschaltungen (2, 2‘), wobei jede Ringoszillatorschaltung (2) mehrere Gatterschaltungen (3 03 2n), die jeweils einen Eingangspegel (E0–E2n) in einen Ausgangspegel (A0–A2n) ausgeben, und mehrere auswählbare Rückkopplungspfade (Zi) zum Einkoppeln eines Ausgangspegels (A0–A2n) einer ausgewählten Gatterschaltung (3 03 2n) als Eingangspegel (E0–E2n) einer anderen Gatterschaltung (3 03 2n) aufweist, wobei der jeweils ausgewählte Rückkopplungspfad (Zi) einer Ringoszillatorschaltung (2, 2‘) von wenigstens einem Ausgangspegel (A0–A2n) abhängt, der an einer Gatterschaltung (3 03 2n) einer anderen Ringoszillatorschaltung (2, 2‘) abgreifbar ist. Contraption ( 1 ) for generating random bits with at least two ring oscillator circuits ( 2 . 2 ' ), each ring oscillator circuit ( 2 ) a plurality of gate circuits ( 3 0 - 3 2n ), each outputting an input level (E 0 -E 2n ) to an output level (A 0 -A 2n ), and a plurality of selectable feedback paths (Z i ) for coupling an output level (A 0 -A 2n ) of a selected gate circuit ( 3 0 - 3 2n ) as the input level (E 0 -E 2n ) of another gate circuit ( 3 0 - 3 2n ), wherein the respective selected feedback path (Z i ) of a ring oscillator circuit ( 2 . 2 ' ) depends on at least one output level (A 0 -A 2n ) connected to a gate circuit ( 3 0 - 3 2n ) of another ring oscillator circuit ( 2 . 2 ' ) can be tapped. Vorrichtung nach Anspruch 1, wobei die Vorrichtung mindestens drei Ringoszillatorschaltungen (2, 2‘, 2‘‘) aufweist und jede Ringoszillatorschaltung (2) mehrere Gatterschaltungen (3 03 2n), die jeweils einen Eingangspegel (E0–E2n) in einen Ausgangspegel (A0–A2n) ausgeben, und mehrere auswählbare Rückkopplungspfade (Zi) zum Einkoppeln eines Ausgangspegels (A0–A2n) einer ausgewählten Gatterschaltung (3 03 2n) als Eingangspegel (E0–E2n) einer anderen Gatterschaltung (3 03 2n), aufweist; und wobei der jeweils ausgewählte Rückkopplungspfad (Zi) einer Ringoszillatorschaltung (2, 2‘, 2‘‘) von zwei Ausgangspegeln (A0–A2n) abhängt, die an Gatterschaltungen (3 03 2n) der beiden anderen Ringoszillatorschaltungen (2, 2‘, 2‘‘) abgreifbar sind. Device according to claim 1, wherein the device comprises at least three ring oscillator circuits ( 2 . 2 ' . 2 '' ) and each ring oscillator circuit ( 2 ) a plurality of gate circuits ( 3 0 - 3 2n ), each outputting an input level (E 0 -E 2n ) to an output level (A 0 -A 2n ), and a plurality of selectable feedback paths (Z i ) for coupling an output level (A 0 -A 2n ) of a selected gate circuit ( 3 0 - 3 2n ) as the input level (E 0 -E 2n ) of another gate circuit ( 3 0 - 3 2n ); and wherein the respective selected feedback path (Z i ) of a ring oscillator circuit ( 2 . 2 ' . 2 '' ) depends on two output levels (A 0 -A 2n ) connected to gate circuits ( 3 0 - 3 2n ) of the two other ring oscillator circuits ( 2 . 2 ' . 2 '' ) can be tapped. Vorrichtung nach Anspruch 1 oder 2, wobei jede der Ringoszillatorschaltungen (2, 2‘, 2‘‘) eine erste (3 0) und eine letzte Gatterschaltung (3 2n) aufweist, zwischen denen mittlere Gatterschaltungen (3 13 2n-1) verkettet sind, und die Ausgangspegel (A1–A2n-1) von wenigstens zwei mittleren Gatterschaltungen (3 13 2n-1) und der letzten Gatterschaltung (3 2n) mit Hilfe von schaltbaren Rückkopplungspfaden als Eingangspegel (E0–E2n) der ersten Gatterschaltung (3 0) zuführbar sind. Apparatus according to claim 1 or 2, wherein each of the ring oscillator circuits ( 2 . 2 ' . 2 '' ) a first ( 3 0 ) and a last gate circuit ( 3 2n ) between which middle gate circuits ( 3 1 - 3 2n-1 ) and the output levels (A 1 -A 2n-1 ) of at least two middle gate circuits ( 3 1 - 3 2n-1 ) and the last gate circuit ( 3 2n ) by means of switchable feedback paths as the input level (E 0 -E 2n ) of the first gate circuit ( 3 0 ) can be fed. Vorrichtung nach einem der Ansprüche 1–3, wobei jede Ringoszillatorschaltung (2, 2‘, 2‘‘) eine auswählbare Länge entsprechend der Anzahl der verketteten und rückgekoppelten Gatterschaltungen (3 03 2n) hat und mit Hilfe eines kombinatorischen Schaltnetzwerks die Länge jeder der Ringoszillatorschaltungen (2, 2‘, 2‘‘) in Abhängigkeit von wenigstens einem Ausgangspegel (A0‘–A2n‘) einer Gatterschaltung (3 0‘–3 2n‘) einer ersten anderen Ringoszillatorschaltung (2, 2‘, 2‘‘) und einem Ausgangspegel (A0‘‘–A2n‘‘) einer Gatterschaltung (3 0‘‘–3 2n‘‘) einer zweiten anderen Ringoszillatorschaltung (2, 2‘, 2‘‘) wählbar ist. Device according to one of claims 1-3, wherein each ring oscillator circuit ( 2 . 2 ' . 2 '' ) a selectable length corresponding to the number of chained and feedback gate circuits ( 3 0 - 3 2n ) and with the aid of a combinatorial switching network, the length of each of the ring oscillator circuits ( 2 . 2 ' . 2 '' ) in dependence on at least one output level (A 0 '-A 2n ') of a gate circuit ( 3 0 '- 3 2n ') of a first other ring oscillator circuit ( 2 . 2 ' . 2 '' ) and an output level (A 0 '' -A 2n '') of a gate circuit ( 3 0 '' - 3 2n '') of a second other ring oscillator circuit ( 2 . 2 ' . 2 '' ) is selectable. Vorrichtung nach einem der Ansprüche 1–4, wobei die Vorrichtung derart eingerichtet ist, dass eine Pegeländerung eines Ausgangspegels (A0–A2n) einer ausgewählten Gatterschaltung (3 03 2n) einer Ringoszillatorschaltung (2, 2‘, 2‘‘) zu einer Änderung des Rückkopplungspfads einer anderen Ringoszillatorschaltung (2, 2‘, 2‘‘) führt. Device according to one of claims 1-4, wherein the device is arranged such that a level change of an output level (A 0 -A 2n ) of a selected gate circuit ( 3 0 - 3 2n ) of a ring oscillator circuit ( 2 . 2 ' . 2 '' ) to a change of the feedback path of another ring oscillator circuit ( 2 . 2 ' . 2 '' ) leads. Vorrichtung nach Anspruch 5, ferner mit einer an einen Leitungsknoten gekoppelten Abtasteinrichtung (6) zum Abtasten und Halten eines Zufallssignalpegels. Apparatus according to claim 5, further comprising a scanner coupled to a line node ( 6 ) for sampling and holding a random signal level. Vorrichtung nach einem der Ansprüche 1–6, wobei wenigstens eine der Gatterschaltungen (3 03 2n) einer jeweiligen Ringoszillatoreinrichtung (2, 2‘, 2‘‘) ein Inverter ist. Device according to one of claims 1-6, wherein at least one of the gate circuits ( 3 0 - 3 2n ) of a respective ring oscillator device ( 2 . 2 ' . 2 '' ) is an inverter. Verfahren zum Erzeugen von Zufallsbits mit Hilfe von mindestens einer ersten Ringoszillatorschaltung (2) und einer zweiten Ringoszillatorschaltung (2‘), wobei jede Ringoszillatorschaltung (2, 2‘) mehrere Gatterschaltungen (3 03 2n), die jeweils einen Eingangspegel (E0–E2n) in einen Ausgangspegel (A0–A2n) ausgeben, und mehrere auswählbare Rückkopplungspfade zum Einkoppeln eines Ausgangspegels (A0–A2n) einer ausgewählten Gatterschaltung (3 03 2n) als Eingangspegel (E0–E2n) einer anderen Gatterschaltung (3 03 2n) der Ringoszillatorschaltung (2, 2‘) aufweist, wobei während des Betriebs der Ringoszillatorschaltungen (2, 2‘) der Rückkopplungspfad der ersten der Ringoszillatorschaltungen (2) abhängig von einem Ausgangspegel (A0–A2n) der zweiten Ringoszillatorschaltung (2‘) gewählt wird. Method for generating random bits with the aid of at least one first ring oscillator circuit ( 2 ) and a second ring oscillator circuit ( 2 ' ), each ring oscillator circuit ( 2 . 2 ' ) a plurality of gate circuits ( 3 0 - 3 2n ), each outputting an input level (E 0 -E 2n ) to an output level (A 0 -A 2n ), and a plurality of selectable feedback paths for launching an output level (A 0 -A 2n ) of a selected gate circuit ( 3 0 - 3 2n ) as the input level (E 0 -E 2n ) of another gate circuit ( 3 0 - 3 2n ) of the ring oscillator circuit ( 2 . 2 ' ), wherein during operation of the ring oscillator circuits ( 2 . 2 ' ) the feedback path of the first of the ring oscillator circuits ( 2 ) depending on an output level (A 0 -A 2n ) of the second ring oscillator circuit ( 2 ' ) is selected. Verfahren nach Anspruch 8, bei dem mindestens eine erste, eine zweite und eine dritte Ringoszillatorschaltung (2, 2‘, 2‘‘) betrieben wird, wobei jede Ringoszillatorschaltung (2, 2‘, 2‘‘) mehrere Gatterschaltungen (3 03 2n), die jeweils einen Eingangspegel (E0–E2n) in einen Ausgangspegel (A0–A2n) ausgeben, und mehrere auswählbare Rückkopplungspfade zum Einkoppeln eines Ausgangspegels (A0–A2n) einer ausgewählten Gatterschaltung (3 03 2n) als Eingangspegel (E0–E2n) einer anderen Gatterschaltung (3 03 2n) der Ringoszillatorschaltung (2, 2‘, 2‘‘) aufweist, mit den Schritten: Abgreifen eines ersten Ausgangspegels (A0–A2n) einer Gatterschaltung (3 03 2n) der ersten Ringoszillatorschaltung (2); Abgreifen eines zweiten Ausgangspegels (A0‘–A2n‘) einer Gatterschaltung (3 0‘–3 2n‘) der zweiten Ringoszillatorschaltung (2‘); Auswählen des Rückkopplungspfads der dritten Ringoszillatorschaltung (2‘‘) als Funktion des ersten und des zweiten Ausgangspegel (A0–A2n, A0‘–A2n‘). Method according to Claim 8, in which at least one first, one second and one third ring oscillator circuit ( 2 . 2 ' . 2 '' ), each ring oscillator circuit ( 2 . 2 ' . 2 '' ) a plurality of gate circuits ( 3 0 - 3 2n ), each outputting an input level (E 0 -E 2n ) to an output level (A 0 -A 2n ), and a plurality of selectable feedback paths for launching an output level (A 0 -A 2n ) of a selected gate circuit ( 3 0 - 3 2n ) as the input level (E 0 -E 2n ) of another gate circuit ( 3 0 - 3 2n ) of the ring oscillator circuit ( 2 . 2 ' . 2 '' ), comprising the steps of: picking up a first output level (A 0 -A 2n ) of a gate circuit ( 3 0 - 3 2n ) of the first ring oscillator circuit ( 2 ); Picking up a second output level (A 0 '-A 2n ') of a gate circuit ( 3 0 '- 3 2n ') of the second ring oscillator circuit ( 2 ' ); Selecting the feedback path of the third ring oscillator circuit ( 2 '' ) as a function of the first and second output levels (A 0 -A 2n , A 0 '-A 2n '). Verfahren nach Anspruch 8 oder 9, wobei die Rückkopplungspfade kontinuierlich im Betrieb verändert werden und der Ausgangspegel (A0–A2n) einer Gattereinrichtung (3 03 2n) als Zufallssignal (ZS) abgetastet wird. Method according to claim 8 or 9, wherein the feedback paths are continuously changed during operation and the output level (A 0 -A 2n ) of a gate device ( 3 0 - 3 2n ) is sampled as a random signal (ZS).
DE102014219795.3A 2014-09-30 2014-09-30 Apparatus and method for generating random bits Withdrawn DE102014219795A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014219795.3A DE102014219795A1 (en) 2014-09-30 2014-09-30 Apparatus and method for generating random bits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014219795.3A DE102014219795A1 (en) 2014-09-30 2014-09-30 Apparatus and method for generating random bits

Publications (1)

Publication Number Publication Date
DE102014219795A1 true DE102014219795A1 (en) 2016-03-31

Family

ID=55485787

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014219795.3A Withdrawn DE102014219795A1 (en) 2014-09-30 2014-09-30 Apparatus and method for generating random bits

Country Status (1)

Country Link
DE (1) DE102014219795A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008018678A1 (en) * 2008-04-14 2009-10-22 Siemens Aktiengesellschaft Apparatus and method for generating a random bit string

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 *

Similar Documents

Publication Publication Date Title
EP2976707B1 (en) System and method for generating random bits
DE112011106024B4 (en) Device specific information generating apparatus and device specific information generating method
DE102008048292B4 (en) Apparatus and method for generating a random bit string
EP1354264B1 (en) Random number generator and method for generating a random number
DE60122787T2 (en) DIGITAL FREQUENCY RECYCLER
DE102013222218A1 (en) Method for constructing circuit used for generating random bits used in asymmetric authentication method, involves linking specific functions with a pretext of a related function as another function, to perform fixed point free mapping
WO2009127475A1 (en) Device and method for generating a random bit sequence
DE102014102501A1 (en) Random number generator
DE112008001707T5 (en) Cryptographic random number generator using finite field operations
DE102016119750A1 (en) Apparatus and methods for multichannel scanning
DE102014200163A1 (en) A method for generating an output of a random source of a random number generator
DE102014219795A1 (en) Apparatus and method for generating random bits
DE102014224421A1 (en) Method and apparatus for generating random bits
DE102015203580A1 (en) Apparatus and method for generating random bits
DE19910729C1 (en) Random number generator and method for generating random numbers
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
DE102008027391A1 (en) Circuit, method for receiving a signal and use of a random generator
WO2015000640A1 (en) Generation of a number of random bits
DE102013210147A1 (en) Generate random bits
DE102014226996A1 (en) Method and apparatus for generating random bits
WO2015176836A1 (en) Apparatus and method for generating random bits
DE102016207448A1 (en) Device with a plurality of digital gate circuits and method for operating the same
EP2799980A2 (en) Device and method for generating random bits
DE102014219693A1 (en) Method and apparatus for generating random bits

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee