DE102013219768A1 - Generate random bits - Google Patents
Generate random bits Download PDFInfo
- Publication number
- DE102013219768A1 DE102013219768A1 DE201310219768 DE102013219768A DE102013219768A1 DE 102013219768 A1 DE102013219768 A1 DE 102013219768A1 DE 201310219768 DE201310219768 DE 201310219768 DE 102013219768 A DE102013219768 A DE 102013219768A DE 102013219768 A1 DE102013219768 A1 DE 102013219768A1
- Authority
- DE
- Germany
- Prior art keywords
- random
- counter
- respective counter
- electronic circuit
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Manipulation Of Pulses (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erzeugen von Zufallsbits mittels einer elektronischen Schaltung. Es wird das Zufallssignal innerhalb der elektronischen Schaltung mindestens zwei Zählereinheiten parallel zugeführt. Das beschriebene Verfahren ermöglicht eine Erfassung von Zufallsereignissen aus einem Zeitintervall. Die Entropieausbeute, die aus einem Signal an einer Stelle eines Zufallszahlengenerators extrahierbar ist, wird durch das beschriebene Verfahren erhöht.The invention relates to a method and apparatus for generating random bits by means of an electronic circuit. The random signal within the electronic circuit is supplied in parallel to at least two counter units. The described method enables detection of random events from a time interval. The entropy yield extractable from a signal at a location of a random number generator is increased by the described method.
Description
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erzeugen von Zufallsbits mittels einer elektronischen Schaltung. The invention relates to a method and apparatus for generating random bits by means of an electronic circuit.
In sicherheitsrelevanten Anwendungen, beispielsweise bei asymmetrischen Authentifikationsverfahren, sind Zufallsbitfolgen als binäre Zufallszahlen notwendig. Bekannte Maßnahmen, um Zufallszahlen zu erzeugen, verwenden analoge Zufallsquellen. Als analoge Zufallsquellen werden Rauschquellen, wie beispielsweise das Rauschen von Zenerdioden, verstärkt und digitalisiert. Dabei wird digitale mit analoger Schaltungstechnik verbunden. In security-relevant applications, for example in asymmetric authentication methods, random bit sequences are necessary as binary random numbers. Known measures to generate random numbers use analogous random sources. As analogue random sources, noise sources such as the noise of zener diodes are amplified and digitized. Digital is connected with analog circuit technology.
Eine Quelle zur Erzeugung von Zufallsdaten ist eine wichtige Voraussetzung für viele Sicherheitsanwendungen. Insbesondere bei kryptographischen Verfahren werden aus den erzeugten Zufallsbits Schlüssel und einmalig verwendete Werte, sogenannte Nonces, abgeleitet. Dabei werden hohe Anforderungen an die Qualität der dazu verwendeten Zufallsbits gestellt: Ideale Zufallsbits müssen gleichverteilt auftreten, und mehrere Bits müssen voneinander statistisch unabhängig sein. Das heißt, die Quelle zur Erzeugung der Zufallsbits muss eine hohe Entropie besitzen. A source for generating random data is an important prerequisite for many security applications. Especially in the case of cryptographic methods, keys and once-used values, so-called nonces, are derived from the generated random bits. High demands are made on the quality of the random bits used for this purpose: ideal random bits must be distributed equally, and several bits must be statistically independent of one another. That is, the source for generating the random bits must have a high entropy.
Es werden Ringoszillatorschaltungen, wobei dieser Begriff sowohl klassische Ringoszillatoren, Mehrspurringoszillatoren, Fibonacci-Ringoszillatoren wie auch Galois-Ringoszillatoren umfasst, zur Erzeugung von Zufallszahlen eingesetzt, bei welchen eine Anzahl von logischen Gattern rückgekoppelt wird. Dabei befinden sich alle Gatter in einer durch die anderen Gatter gebildeten Rückkopplungsschleife, so dass ein Signalwechsel am Ausgang eines Gatters potentiell nach dem Weg über die aus anderen Gattern gebildete Rückkopplungsschleife wieder an einem Eingang des Gatters ankommen kann. Ring oscillator circuits, which include both classic ring oscillators, multi-track oscillators, Fibonacci ring oscillators, and Galois ring oscillators, are used to generate random numbers in which a number of logic gates are fed back. In this case, all the gates are in a feedback loop formed by the other gates, so that a signal change at the output of a gate can potentially return to an input of the gate after the path via the feedback loop formed from other gates.
Beispielsweise ergibt sich bei Ringoszillatorschaltungen ein zufälliger Jitter aus schwankenden Durchlaufzeiten der Signale durch Inverter. Dieser Jitter, also eine unregelmäßige zeitliche Schwankung in Zustandsänderungen der durch die Inverter geschickten Signale, kann bei mehrfachen Durchläufen durch die Ringoszillatorschaltung akkumuliert werden, so dass letztlich ein zufälliges analoges Signal entsteht. For example, in ring oscillator circuits, a random jitter results from fluctuating throughput times of the signals by inverters. This jitter, that is to say an irregular variation over time in changes in state 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.
Bei einem Multiplizierer-Zufallszahlengenerator wird beispielsweise ein auf einem FPGA vorhandenes binäres Multiplikationsrechenwerk verwendet. Es werden Ausgangs- bzw. Ergebnisbits an Eingangsbits rückgekoppelt, so dass Oszillationen entstehen, die praktisch zufällige Signalverläufe ergeben. For example, a multiplier random number generator uses a binary multiplication calculator present on an FPGA. Output or result bits are fed back to input bits, so that oscillations arise, resulting in practically random signal waveforms.
Bei rückkopplungsfreien Mehrspurzufallszahlengeneratoren liegt keine Rückkopplungsschleife derart vor, dass eine Zustandsänderung mindestens eines Rückkopplungsausgangssignals einer Abbildungseinrichtung als eine Zustandsänderung mindestens eines Eingangssignal einer anderen Abbildungseinrichtung derart zugeführt ist, dass eines oder mehrere Ausgangssignale der Abbildungseinrichtung von der Zustandsänderung des Rückkopplungsausgangssignals beeinflusst wird. In feedback-less multi-track random number generators, there is no feedback loop such that a state change of at least one feedback output of one imaging device is supplied as a change in state of at least one input signal of another imaging device such that one or more output signals of the imaging device are affected by the state change of the feedback output signal.
Aus dem Stand der Technik sind Verfahren zur Erzeugung echter Zufallszahlen bekannt, welche diese Bit für Bit gewinnen. Es wird dabei ein Bit gesampelt, anschließend für eine ausreichend lange Zeitspanne gewartet, bis man einen vom vorigen Zustand statistisch unabhängigen Zustand des Systems annehmen kann, und anschließend erneut ein Bit gesampelt. Diese Vorgehensweise wird iterativ angewendet. The prior art discloses methods of generating true random numbers that gain these bits by bit. One bit is sampled, then waited for a sufficiently long time until one can assume a statistically independent state of the system from the previous state, and then again sampled one bit. This procedure is used iteratively.
Es ist bekannt, schwingende rückgekoppelte Schaltungen an mehreren Stellen gleichzeitig zu sampeln und die gesampelten Bits algorithmisch zu einem einzigen Bit zu komprimieren. Für eine solche Komprimierung werden meist XOR-Verknüpfungen der Bits vorgenommen. Beispielsweise ist eine solche Schaltung in der Veröffentlichung von
Ein Ziel bei der Erzeugung echter Zufallszahlen ist es, aus einem von einem Zufallszahlengenerator herbeigeführten Zufallsereignis möglichst viel Entropie in der Form von Zufallsbits zu gewinnen und dabei den Energieverbrauch niedrig zu halten. A goal in generating true random numbers is to gain as much entropy as possible from a random event induced by a random number generator in the form of random bits while keeping energy consumption low.
Vor diesem Hintergrund ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung mit besonders großer Energieeffizienz bei der Zufallsbiterzeugung bereitzustellen. Against this background, it is an object of the present invention to provide a method and a device with particularly high energy efficiency in Randiesbiterzeugung.
Diese Aufgabe wird durch ein Verfahren und eine Vorrichtung zum Erzeugen von Zufallsbits gelöst. Vorteilhafte Ausführungsformen und Weiterbildungen sind in den Unteransprüchen angegeben. This object is achieved by a method and apparatus for generating random bits. Advantageous embodiments and further developments are specified in the subclaims.
Die im Folgenden genannten Vorteile müssen nicht notwendigerweise durch die Gegenstände der unabhängigen Ansprüche erzielt werden. Vielmehr kann es sich auch um Vorteile handeln, welche lediglich durch einzelne Ausführungsformen oder Weiterbildungen erzielt werden. The advantages mentioned below need not necessarily be achieved by the subject-matter of the independent claims. Rather, it may also be advantages, which are achieved only by individual embodiments or developments.
Erfindungsgemäß weist ein Verfahren zum Erzeugen von Zufallsbits mittels einer elektronischen Schaltung eingerichtet zur Erzeugung eines Zufallssignales folgende Schritte auf: Es wird das Zufallssignal innerhalb der elektronischen Schaltung mindestens zwei Zählereinheiten zugeführt. Durch eine Flanke des Zufallssignals wird ein jeweiliger Zählerwert der mindestens zwei Zählereinheiten geändert. Der jeweilige Zählerwert wird zu einem vorgegebenen Zeitpunkt ausgelesen. Aus den ausgelesenen jeweiligen Zählerwerten werden die Zufallsbits gebildet. According to the invention, a method for generating random bits by means of an electronic circuit configured to generate a Random signals the following steps: It is the random signal within the electronic circuit supplied to at least two counter units. By an edge of the random signal, a respective counter value of the at least two counter units is changed. The respective counter value is read out at a given time. From the read out respective counter values, the random bits are formed.
Bei der elektronischen Schaltung handelt es sich beispielsweise um einen Zufallszahlengenerator wie einen Fibonacci-Ringoszillator, einen Gallois-Ringoszillator, einen Mehrspurringoszillator, einen Multiplizierer-Zufallszahlengenerator oder einen rückkopplungsfreien Mehrspur-Zufallszahlengenerator. The electronic circuit is, for example, a random number generator such as a Fibonacci ring oscillator, a Gallois ring oscillator, a multi-track oscillator, a multiplier random number generator or a feedback-free multi-track random number generator.
Die elektronische Schaltung umfasst beispielsweise Abbildungseinrichtungen, wobei je nach eingesetztem Zufallszahlengenerator Inverter, NAND-Gatter, d.h. negierte UND-Gatter, NOR-Gatter, d.h. negierte ODER-Gatter, binäre Multiplikationsrechenwerke, Kaskadierungsgatter wie XOR-Gatter, d.h. exklusive ODER-Gatter, oder XNOR-Gatter, d.h. negierte exklusive ODER-Gatter, usw. verwendet werden. The electronic circuit includes, for example, imaging devices, wherein, depending on the random number generator employed, inverters, NAND gates, i. negated AND gates, NOR gates, i. negated OR gates, binary multiplication calculators, cascading gates such as XOR gates, i. exclusive OR gates, or XNOR gates, i. negated exclusive OR gates, etc. are used.
Als Baugruppen der elektronischen Schaltung können analoge Elemente wie invertierende Verstärker verbaut sein. Ferner ist auch der Einsatz vollständig digitaler Bauelemente in der Vorrichtung zum Erzeugen von Zufallsbits vorteilhaft, da eine aufwandsgünstige Implementierbarkeit möglich ist. As components of the electronic circuit, analog elements such as inverting amplifiers can be installed. Furthermore, the use of completely digital components in the device for generating random bits is advantageous because a cost-effective implementation is possible.
Logische Funktionen, welche durch die Abbildungseinrichtungen ausgeführt werden, können auch durch Nachschlagetabellen oder sogenannte Lookup-Tables realisiert werden. Lookup-Tables finden insbesondere auf Field-Programmable-Gate-Arrays, kurz FPGAs, Anwendung. Statt Gatter mit einer entsprechenden gewünschten Funktionalität zu realisieren, werden hierbei Tabellen abgespeichert, die die Ausgänge in ihrem Speicher je nach Eingangsbits nachschlagen. Für eine Anzahl z Inputbits weist die LUT beispielsweise 2z Adressen auf. Logical functions performed by the mapping devices can also be realized by look-up tables or so-called lookup tables. Lookup tables are particularly applicable to field programmable gate arrays, FPGAs for short. Instead of implementing gates with a corresponding desired functionality, in this case tables are stored, which look up the outputs in their memory depending on the input bits. For a number of input bits, e.g., the LUT, for example, 2 z addresses.
Als Anzahl der Zählereinheiten, auch Zähler genannt, werden zwei oder mehr, beispielsweise 3, 4, oder 32 Zähler verwendet. Es werden also die Eingänge mehrerer Zähler mit einem Signal innerhalb der elektronischen Schaltung verbunden. Das Signal wird dabei an einer Stelle der elektronischen Schaltung abgeleitet und den Zählern als Input zugeführt. As the number of counter units, also called counters, two or more, for example, 3, 4, or 32 counters are used. Thus, the inputs of several counters are connected to a signal within the electronic circuit. The signal is derived at one point of the electronic circuit and fed to the counters as input.
Die Zähler sind dabei so implementiert, dass sie bei Flanken des Eingangssignales, d.h. des zugeführten Zufallssignales, ihren Zählerwert um einen bestimmten Betrag, beispielsweise um den Wert 1, ändern. Bei dem Zählerwert handelt es sich um eine Information, die von dem Zähler abfragbar oder auslesbar ist. Damit ist eine Information, beispielsweise 0, gespeichert bis zum Auftreten einer Flanke im Zufallssignal, also einem Wechsel von logisch 0 auf logisch 1 oder andersherum. Die Flanke bewirkt den Wechsel des Zählerwertes, beispielsweise von 0 auf den Wert 1. Der neue Zählerwert 1 ist bis zum Auftreten der nächsten Flanke hinterlegt. The counters are implemented in such a way that they can be detected at edges of the input signal, i. of the supplied random signal, their counter value by a certain amount, for example by the value 1, change. The counter value is information that can be queried or read out by the counter. This information, for example, 0, stored until the occurrence of an edge in the random signal, ie a change from logic 0 to logical 1 or vice versa. The edge causes the counter value to change, for example from 0 to the value 1. The new counter value 1 is stored until the next edge occurs.
Das beschriebene Verfahren ermöglicht eine Erfassung von Zufallsereignissen aus einem Zeitintervall. Dagegen wäre bei einem denkbaren Sampeln von Signalen ein durch einen Takt vorgegebener Zeitpunkt für die Erzeugung der Zufallsbits entscheidend. Ist der Zeitpunkt, zu dem ausreichend Entropie aus einem Signal vorliegt, schwer abschätzbar, so ist ein Sampeln zu festen Zeitpunkten nachteilig. Das beschriebene Verfahren ist hingegen für Systeme vorteilhaft anwendbar, in welchen ein Zeitpunkt mit zufälligem Verhalten schwer ermittelbar ist. The described method enables detection of random events from a time interval. By contrast, in the case of conceivable sampling of signals, a time given by a clock would be decisive for the generation of the random bits. If the time when there is sufficient entropy from a signal is difficult to estimate, sampling at fixed times is disadvantageous. On the other hand, the method described is advantageously applicable to systems in which a time with random behavior is difficult to determine.
Die Entropieausbeute, die aus einem Signal an einer Stelle eines Zufallszahlengenerators extrahierbar ist, wird durch das beschriebene Verfahren erhöht. The entropy yield extractable from a signal at a location of a random number generator is increased by the described method.
Gemäß einer Ausgestaltung wird mindestens einer der jeweiligen Zählerwerte zu vorgebbaren Zeitpunkten, insbesondere periodisch, ausgelesen. According to one embodiment, at least one of the respective counter values is read out at predefinable times, in particular periodically.
Somit werden im laufenden Betrieb der elektronischen Schaltung fortwährend, beispielsweise im Abstand von einer Mikrosekunden oder beispielsweise in Abhängigkeit von Gatterdurchlaufzeiten der verbauten Abbildungseinrichtungen, Zufallsbits als Roh-Zufallszahlen generiert. Das Auslesen kann ferner an einen Neustart des Zufallszahlengenerators gekoppelt sein. Thus, during operation of the electronic circuit, random bits, for example at intervals of one microsecond or, for example, as a function of gate cycle times of the installed imaging devices, generate random bits as raw random numbers. The read may also be coupled to a restart of the random number generator.
Gemäß einer Ausgestaltung wird mindestens einer der jeweiligen Zählerwerte nach einem Auslesen zurückgesetzt. According to one embodiment, at least one of the respective counter values is reset after a readout.
Bei einem nachfolgenden Auslesen wird dann nicht von dem alten Zählerstand, der bei dem ersten Auslesevorgang vorlag, weitergezählt, sondern bei mindestens einer der Zählereinheiten erfolgt das Zählen aus einem definierten Anfangszustand. In a subsequent readout is then not counted from the old count, which was present in the first read, but in at least one of the counter units counting from a defined initial state.
Beispielsweisen werden eine der Zählereinheiten oder mehrere der Zählereinheiten oder aller der verbauten Zählereinheiten auf einen festen Wert, beispielsweise den Wert 0, zurückgesetzt. For example, one of the counter units or several of the counter units or all of the installed counter units is reset to a fixed value, for example the value 0.
Gemäß einer Ausgestaltung wird durch eine Flanke vorgegebener Richtung des Zufallssignals ein jeweiliger Zählerwert der mindestens zwei Zählereinheiten geändert wird. According to one embodiment, a respective counter value of the at least two counter units is changed by an edge of predetermined direction of the random signal.
Es gibt Zähler, welche bei jeder auftretenden Flanke, sowohl bei einer negativen als auch bei einer positiven Flanke, das heißt beispielsweise sowohl von einem Wechsel von logisch 0 auf logisch 1 als auch von logisch 1 auf logisch 0, ihren Zählerwert ändern. There are counters which change their counter value at each occurring edge, both with a negative and with a positive edge, that is, for example, both from a change from logical 0 to logical 1 and from logical 1 to logical 0.
Ferner sind Zähler verwendbar, welche nur bei Flanke vorgegebener Richtung, also beispielsweise nur bei einer positiven oder nur bei einer negativen Flanke, ihren Zählerwert ändern. Furthermore, counters can be used which change their counter value only at the edge of the predetermined direction, that is to say, for example, only with a positive edge or only with a negative edge.
Gemäß einer Weiterbildung wird in Abhängigkeit von den ausgelesenen jeweiligen Zählerwerten mit Hilfe einer algorithmischen Nachbearbeitung eine nachbearbeitete Zufallsbitfolge erzeugt. According to a development, a post-processed random bit sequence is generated as a function of the read-out respective counter values with the aid of an algorithmic post-processing.
Die Roh-Zufallszahlen werden beispielsweise mit Hilfe des Nachbearbeitungsverfahren, welches von
Ferner sind kryptographische Algorithmen vorteilhaft. Ein Beispiel für eine geeignete kryptographische Funktion ist die Anwendung einer kryptographischen Hashfunktion (z. B. KECCAK, siehe
Gemäß einer Ausgestaltung wird als Zählereinheit ein Modulo-m-Zähler verbaut, wobei m eine natürliche Zahl größer als eins ist. According to one embodiment, a modulo m counter is installed as counter unit, where m is a natural number greater than one.
In Zufallszahlengeneratoren übliche Binärzähler sind ohne zusätzlichen Schaltungsaufwand Modulo-m-Zähler, wobei m eine Zweierpotenz ist, deren Exponent durch die Zahl von Flipflops im Binärzähler gegeben ist. Binary counters common in random number generators are modulo m counters without additional circuitry, where m is a power of two whose exponent is given by the number of flipflops in the binary counter.
Gemäß einer Ausgestaltung wird als Zählereinheit ein Toggle-Flipflop verbaut wird. According to one embodiment, a toggle flip-flop is installed as the counter unit.
Eine besonders einfache Form eines Modulo-2-Zählers ist ein Toggle-Flipflop, das seinen Zählerstand von einem Bit insbesondere bei jeder positiven Flanke seines Eingangssignals invertiert. A particularly simple form of modulo-2 counter is a toggle flip-flop which inverts its one-bit count, in particular at each positive edge of its input signal.
Die Erfindung betrifft ferner eine Vorrichtung zum Erzeugen von Zufallsbits, aufweisend
- – eine elektronische Schaltung zur Erzeugung eines Zufallssignales,
- – mindestens zwei Zählereinheiten zum Erfassen des Zufallssignals innerhalb der elektronischen Schaltung und zum Speichern eines jeweiligen Zählerwertes in Abhängigkeit von eine Flanke des Zufallssignals;
- – ein jeweiliger Ausgangsknoten der jeweiligen Zählereinheit zum Abgreifen des jeweiligen Zählerwertes zu einem vorgegebenen Zeitpunkt;
- – eine Verarbeitungseinheit zum Erzeugen von Zufallsbits aus den abgegriffenen jeweiligen Zählerwerten.
- An electronic circuit for generating a random signal,
- - At least two counter units for detecting the random signal within the electronic circuit and for storing a respective counter value in response to an edge of the random signal;
- A respective output node of the respective counter unit for picking up the respective counter value at a predetermined time;
- A processing unit for generating random bits from the tapped respective counter values.
Die vorgeschlagene Vorrichtung ermöglicht eine große Entropieausbeute, das heißt eine hohe Rate bei der Zufallsbiterzeugung. Dadurch ist ein Zufallszahlengenerator mit geringem Energieverbrauch vorteilhaft realisiert. Gleichzeitig ist ein Hardwareaufwand gering. The proposed device allows a large entropy yield, that is, a high rate of random bit generation. As a result, a random number generator with low energy consumption is advantageously realized. At the same time, hardware costs are low.
Gemäß einer Ausgestaltung ist mindestens einer der jeweiligen Zählerwerte zu einem vorgegebenen Zeitpunkt, insbesondere periodisch, abgreifbar. According to one embodiment, at least one of the respective counter values can be tapped off at a predetermined time, in particular periodically.
Gemäß einer Ausgestaltung ist mindestens einer der jeweiligen Zählerwerte nach dem Abgreifen zurücksetzbar. According to one embodiment, at least one of the respective counter values can be reset after tapping.
Gemäß einer Ausgestaltung sind die mindestens zwei Zählereinheiten zum Speichern eines jeweiligen Zählerwertes in Abhängigkeit von einer Flanke vorgegebener Richtung des Zufallssignals ausgebildet. According to one embodiment, the at least two counter units are designed to store a respective counter value as a function of an edge of a predetermined direction of the random signal.
Gemäß einer Weiterbildung ist die Verarbeitungseinheit zum Durchführen einer algorithmischen Nachbearbeitung geeignet zum Erzeugen einer nachbearbeiteten Zufallsbitfolge aus den abgegriffenen jeweiligen Zählerwerten. According to a development, the processing unit for carrying out an algorithmic postprocessing is suitable for generating a postprocessed random bit sequence from the tapped respective counter values.
Gemäß einer Ausgestaltung ist als Zählereinheit ein Modulo m-Zähler verbaut. According to one embodiment, a modulo meter counter is installed as the counter unit.
Gemäß einer Ausgestaltung ist als Zählereinheit ein Toggle-Flipflop verbaut. According to one embodiment, a toggle flip-flop is installed as the counter unit.
Die Erfindung wird nachfolgend mit Ausführungsbeispielen anhand der Figuren näher erläutert. Es zeigen: The invention will be explained in more detail below with exemplary embodiments with reference to the figures. Show it:
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.
Der Mehrspurzufallszahlengenerator hat die Länge 100, d.h. besteht aus 100 Abbildungseinrichtungen K1, K2, ..., K100, die beispielsweise über Look-up-Tables LUT realisiert werden. An ein Ausgangsbit eines rückkopplungsfreien 4-Spur-Zufallszahlengenerators mit dem Zufallssignal ZS werden parallel 32 Toggle-Flipflops als Zählereinheiten
Der Übergang wird wiederholt durchgeführt und vor jedem Übergang werden die Toggle-Flipflops auf den Wert 0 zurückgesetzt. The transition is made repeatedly and before each transition the toggle flip-flops are reset to the value 0.
Nach der 4698035-fachen Wiederholung des Vorganges liegen in 86,6 Prozent eindeutige Werte der Toggle-Flipflops vor, das heißt in diesen Fällen haben alle Toggle-Flipflops den Wert 0 oder alle den Wert 1. Dies ist der durch den Toggle-Flipflop gespeicherte Zählerwert. Das Abgreifen der gespeicherten Zählerwerte geschieht über einen jeweiligen Ausgangsknoten
Die nachstehende erste Tabelle gibt die Häufigkeiten der 20 am häufigsten auftretenden Bitmuster bei der beschriebenen Ausführung der Vorrichtung an. Links steht in jeder Zeile dezimal die Anzahl des Auftretens des Musters bei den insgesamt 4698035 Versuchen, rechts das Muster in hexadezimaler Schreibweise: Tabelle 1:
Die Muster, bei denen alle Zähler übereinstimmend 4, 3 und 5 positive Signalflanken gezählt haben, sind am häufigsten. In 39,74 Prozent aller Durchgänge stimmen die 4 Zähler überein. Aus der erhaltenen Verteilung der Häufigkeitsmuster erhält man eine Entropie von 5.954258 Bits pro Versuch. The patterns where all counters consistently counted 4, 3, and 5 positive signal edges are the most common. In 39.74 percent of all passes, the 4 meters agree. From the obtained distribution of the frequency patterns one obtains an entropy of 5,954,258 bits per experiment.
In beiden Ausführungsbeispielen erfüllt das Input-Signal aus dem ringlosen 4-Spurringoszillator nicht die Anforderungen für Flip-Flops bzw. Zähler, in beiden Fällen werden mit großer Wahrscheinlichkeit die notwendigen Hold-Zeiten verletzt, so dass das Verhalten des Flipflops bzw. des Zählers nicht bestimmt ist und selbst als Zufallsquelle dient. In both embodiments, the input signal from the ringless 4-track oscillator does not meet the requirements for flip-flops or counters, in both cases, the necessary hold times are likely to be violated, so that the behavior of the flip-flop or the counter is not is determined and itself serves as a source of chance.
Die Auswertung der Häufigkeit der beobachteten Bitmuster ergab eine Entropie von 12,66 Bit pro Versuch. Im Vergleich mit der fast idealen Entropieausbeute von 3,99982 Bits pro 4 Bit-Sample, wenn man an den vier letzten Gattern nur je ein Toggle-Flipflop anbringt, erhält man also eine Steigerung der Entropieausbeute um den Faktor 3,16. Evaluation of the frequency of observed bit patterns revealed an entropy of 12.66 bits per trial. In comparison with the almost ideal entropy yield of 3.99998 bits per 4-bit sample, if one attaches only one toggle flip-flop to each of the last four gates, one obtains an increase in the entropy yield by a factor of 3.16.
Rückkopplungsfreie Mehrspur-Zufallszahlengeneratoren benötigen bei weitem weniger Energie zur Erzeugung eines Zufallsbits als andere bekannte Verfahren. Durch die Kombination der rückkopplungsfreien Mehrspur-Zufallszahlengeneratoren und dem vorgeschlagenen Verfahren oder der vorgeschlagenen Vorrichtung wird eine besonders hohe Energieeffizienz bei der Zufallszahlenerzeugung erreicht. Feedback-free multitrack random number generators require far less energy to generate a random bit than other known methods. The combination of the feedback-free multi-track random number generators and the proposed method or the proposed device, a particularly high energy efficiency in the random number generation is achieved.
Eine energieeffiziente Erzeugung von Zufallszahlen ist für zahlreiche mobile Anwendungen wichtig. Insbesondere ist die Vorrichtung und/ oder das Verfahren von großer Bedeutung bei batterielosen RFID-Tags mit Kryptofunktionalität. Energy efficient generation of random numbers is important for many mobile applications. In particular, the device and / or the method of great importance in batteryless RFID tags with crypto functionality.
In einem vierten Ausführungsbeispiel der Erfindung wird ein chaotisch schwingender Fibonacci-Ringoszillator, auch kurz FIRO genannt, der Länge 32 als elektronische Schaltung
Im Falle einer 5814784-maligen Wiederholung treten in den Toggle-Flipflops 2702970 verschiedene 32-Bit-Muster auf. Diese sehr große Zahl verschiedener Muster zeigt, dass sich die einzelnen Toggle-Flipflops sehr häufig verschieden verhalten, so dass eine hohe Entropieausbeute zu erwarten ist. In the case of a 5814784 repetition, 2702970 different 32-bit patterns appear in the toggle flip-flops. This very large number of different patterns shows that the individual toggle flip-flops very often behave differently, so that a high entropy yield is to be expected.
Aufgrund der großen Anzahl beobachteter unterschiedlicher 32-Bit-Muster ist eine zuverlässige statistische Schätzung der in den 32-Bit-Mustern enthaltenen Entropie kaum möglich. Ersatzweise werden die letzten 16 der Toggle-Flipflops ausgewertet. Due to the large number of observed different 32-bit patterns, a reliable statistical estimate of the entropy contained in the 32-bit patterns is hardly possible. Alternatively, the last 16 of the toggle flip-flops are evaluated.
Das häufigste 16-Bit-Muster tritt 196383 Mal auf. 4544 Muster treten in diesem Fall nie auf, 5568 treten nur einmal auf. Aus den Häufigkeiten der 16-Bit-Muster ergibt sich eine Entropie von 10,9777 Bits pro 16-Bit-Sample. The most common 16-bit pattern appears 196383 times. 4544 patterns never occur in this case, 5568 occur only once. The frequencies of the 16-bit patterns give an entropy of 10.9777 bits per 16-bit sample.
Die jeweilige Zählereinheit, Abbildungseinrichtung oder Verarbeitungseinheit kann hardwaretechnisch und/oder auch softwaretechnisch implementiert sein. Bei einer hardwaretechnischen Implementierung kann die jeweilige Einheit als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor ausgebildet sein. Bei einer softwaretechnischen Implementierung kann die jeweilige Einheit als Computerprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Objekt ausgebildet sein. The respective counter unit, imaging device or processing unit can be implemented in hardware and / or software technology. In a hardware implementation, the respective unit may be embodied as a device or as part of a device, for example as a computer or as a microprocessor. at In a software implementation, the respective unit can be designed as a computer program product, as a function, as a routine, as part of a program code or as an executable object.
Obwohl die Erfindung im Detail durch die Ausführungsbeispiele 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 embodiments, 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 Nicht-PatentliteraturCited non-patent literature
- K. Wold, C. H. Tan, "Analysis and enhancement of random number generator in FPGA based on oscillator rings", Proc. of ReConFig 2008, Cancun, 2008, pp. 385–390 [0009] K. Wold, CH Tan, "Analysis and Enhancement of Random Number Generator in FPGA based on oscillator rings", Proc. of ReConFig 2008, Cancun, 2008, pp. 385-390 [0009]
- A. Juels, M. Jakobsson, E. Shriver, und B. Hillyer, in „How to Turn Loaded Dice into Fair Coins“ (IEEE Transactions on Information Theory, May 2000) [0032] A. Juels, M. Jakobsson, E. Shriver, and B. Hillyer, in "How to Turn Loaded Dice into Fair Coins" (IEEE Transactions on Information Theory, May 2000). [0032]
- http://keccak.noekeon.org/ [0033] http://keccak.noekeon.org/ [0033]
Claims (16)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201310219768 DE102013219768A1 (en) | 2013-09-30 | 2013-09-30 | Generate random bits |
PCT/EP2014/068057 WO2015043855A2 (en) | 2013-09-30 | 2014-08-26 | Generation of random bits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201310219768 DE102013219768A1 (en) | 2013-09-30 | 2013-09-30 | Generate random bits |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102013219768A1 true DE102013219768A1 (en) | 2015-04-02 |
Family
ID=51492294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201310219768 Withdrawn DE102013219768A1 (en) | 2013-09-30 | 2013-09-30 | Generate random bits |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102013219768A1 (en) |
WO (1) | WO2015043855A2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106374884B (en) * | 2015-07-22 | 2021-05-07 | 恩智浦美国有限公司 | Spread spectrum clock generator |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100281088A1 (en) * | 2009-04-29 | 2010-11-04 | Psigenics Corporation | Integrated true random number generator |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19926640C2 (en) * | 1999-06-11 | 2002-08-14 | Rolf Freitag | Method for generating real random numbers and random number generator |
JP4248950B2 (en) * | 2003-06-24 | 2009-04-02 | 株式会社ルネサステクノロジ | Random number generator |
EP1776757B1 (en) * | 2004-08-09 | 2019-04-10 | Telecom Italia S.p.A. | Random number generation based on logic circuits with feedback |
DE102008048292B4 (en) * | 2008-09-22 | 2012-07-12 | Siemens Aktiengesellschaft | Apparatus and method for generating a random bit string |
-
2013
- 2013-09-30 DE DE201310219768 patent/DE102013219768A1/en not_active Withdrawn
-
2014
- 2014-08-26 WO PCT/EP2014/068057 patent/WO2015043855A2/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100281088A1 (en) * | 2009-04-29 | 2010-11-04 | Psigenics Corporation | Integrated true random number generator |
Non-Patent Citations (7)
Title |
---|
A. Juels, M. Jakobsson, E. Shriver, und B. Hillyer, in "How to Turn Loaded Dice into Fair Coins" (IEEE Transactions on Information Theory, May 2000) |
FISCHER, Viktor [et al]: Enhancing security of ring oscillator-based TRNG implemented in FPGA. In: Field Programmable Logic and Applications, 2008. FPL 2008. International Conference on. IEEE, 2008. S. 245-250. * |
HEINEMANN, Detlef: Synchrone Zähler. Skript zur Vorlesung Digitaltechnik DST4 an der University of Applied Sciences Berlin. Wintersemester 2005/2006. URL: http://public.beuth-hochschule.de/~heineman/DS4/Synchrone%20Zaehler.pdf [durch archive.org am 31.1.2012 aufgezeichnet, abgerufen am 22.4.2014] * |
http://keccak.noekeon.org/ |
JUELS, Ari [et al]: How to turn loaded dice into fair coins. In: Information Theory, IEEE Transactions on, 2000, 46. Jg., Nr. 3, S. 911-921. * |
K. Wold, C. H. Tan, "Analysis and enhancement of random number generator in FPGA based on oscillator rings", Proc. of ReConFig 2008, Cancun, 2008, pp. 385-390 |
PLATE, Jürgen: Schaltwerke. 9.2.2013. URL: http://www.netzmafia.de/skripten/digitaltechnik/flipflop.html [durch archive.org am 26.9.2013 aufgezeichnet, abgerufen am 22.4.2014] * |
Also Published As
Publication number | Publication date |
---|---|
WO2015043855A3 (en) | 2015-05-21 |
WO2015043855A2 (en) | 2015-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2976707B1 (en) | System and method for generating random bits | |
DE102008048292B4 (en) | Apparatus and method for generating a random bit string | |
DE102008018678A1 (en) | Apparatus and method for generating a random bit string | |
DE102012210990A1 (en) | Method for generating random numbers | |
DE102009008224B4 (en) | Inverting cell | |
DE102013204274A1 (en) | Method for detecting a correlation | |
DE102014200163A1 (en) | A method for generating an output of a random source of a random number generator | |
DE102013219768A1 (en) | Generate random bits | |
DE102012210361A1 (en) | Method for monitoring an output of a random number generator | |
DE102014200164A1 (en) | A method for generating an output of a random source of a random number generator | |
DE102015102363A1 (en) | ARRANGEMENT AND METHOD FOR CHECKING THE ENTROPY OF A QUOTA NUMBER | |
WO2015000640A1 (en) | Generation of a number of random bits | |
DE102014224421A1 (en) | Method and apparatus for generating random bits | |
DE102013210147A1 (en) | Generate random bits | |
WO2015128015A1 (en) | Apparatus and method for generating random bits | |
DE102013204272A1 (en) | Method for detecting a correlation | |
WO2015128168A1 (en) | Method and device for classifying and/or generating random bits | |
DE102014219651A1 (en) | Method and apparatus for generating random bits | |
DE102013213385A1 (en) | Method for evaluating an output of a random number generator | |
DE102013213392A1 (en) | Method for evaluating an output of a random number generator | |
DE102013201687A1 (en) | Method and apparatus for generating random bits | |
DE102022102594A1 (en) | INTEGRATED CIRCUIT FOR GENERATION OF RANDOM VECTORS | |
DE102013213396A1 (en) | A method for post-processing an output of a random source of a random number generator | |
DE102016200850A1 (en) | Method for operating a safety-relevant device and device | |
DE102014209689A1 (en) | Apparatus and method for generating random bits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |