DE102013219768A1 - Generate random bits - Google Patents

Generate random bits Download PDF

Info

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
Application number
DE201310219768
Other languages
German (de)
Inventor
Markus Dichtl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE201310219768 priority Critical patent/DE102013219768A1/en
Priority to PCT/EP2014/068057 priority patent/WO2015043855A2/en
Publication of DE102013219768A1 publication Critical patent/DE102013219768A1/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)
  • 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 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 , beschrieben. Bei hohem Energieverbrauch wird hier eine niedrige Datenrate erzielt. It is known to sample oscillating feedback circuits at multiple locations simultaneously and to algorithmically compress the sampled bits into a single bit. For such a compression XOR operations of the bits are usually made. For example, such a circuit is in the publication of 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 , described. With high energy consumption, a low data rate is achieved here.

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 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) vorgestellt wurde, weiterverarbeitet. The raw random numbers are, for example, using the post-processing method, which of 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) was presented, further processed.

Ferner sind kryptographische Algorithmen vorteilhaft. Ein Beispiel für eine geeignete kryptographische Funktion ist die Anwendung einer kryptographischen Hashfunktion (z. B. KECCAK, siehe http://keccak.noekeon.org/ ) auf die Roh-Zufallszahlen. Dabei werden für die Erzeugung der nachbearbeiteten Zufallsbitfolge vom Hashwert weniger Bits verwendet, als es der in den Zählerständen enthaltenen Entropie entspricht. Als kryptographische Funktionen zur Nachbearbeitung kommen ferner Blockchiffren in Frage. Furthermore, cryptographic algorithms are advantageous. An example of a suitable cryptographic function is the use of a cryptographic hash function (eg KECCAK, see http://keccak.noekeon.org/ ) on the raw random numbers. In this case, fewer bits are used by the hash value for generating the postprocessed random bit sequence than corresponds to the entropy contained in the counter readings. As cryptographic functions for post-processing also block ciphers come into question.

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.
The invention further relates to an apparatus for generating random bits comprising
  • 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:

1 Eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits gemäß einem ersten Ausführungsbeispiel der Erfindung; 1 A schematic representation of an apparatus for generating random bits according to a first embodiment of the invention;

2 Eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits gemäß einem zweiten Ausführungsbeispiel der Erfindung; 2 A schematic representation of an apparatus for generating random bits according to a second embodiment of the invention;

3 Eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits gemäß einem dritten Ausführungsbeispiel der Erfindung; 3 A schematic representation of an apparatus for generating random bits according to a third embodiment of the invention;

4 Eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits gemäß einem vierten Ausführungsbeispiel der Erfindung. 4 A schematic representation of an apparatus for generating random bits according to a fourth embodiment of the invention.

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.

1 zeigt einen Mehrspurzufallszahlengenerator als elektronische Schaltung 10 geeignet zur Erzeugung eines Zufallssignales ZS. In einem Mehrspurzufallszahlengenerator existieren mehrere Kanäle oder Spuren, die einer jeweiligen Abbildungseinrichtung K1, K2, ..., K100 zugeführt werden. Jede Abbildungseinrichtung hat Eingänge, die durch die Anzahl der Spuren festgelegt sind. Signale aus den Kanälen werden je Abbildungseinrichtung jeweils kombiniert und beispielsweise mit Lookup-Tables, kurz LUTs, ausgewertet. Jede Lookup-Table liefert ein Ausgangsbit, wobei das Ausgangsbit jeder Lookup-Table durch einen Wechsel eines logischen Zustandes an einem der Eingangssignale beeinflusst wird. Damit wird ein Jitter, der als Zufallsquelle genutzt wird, vervielfältigt. 1 shows a multi-track random number generator as an electronic circuit 10 suitable for generating a random signal ZS. In a multi-track random number generator, there are a plurality of channels or tracks supplied to a respective mapping device K1, K2, ..., K100. Each mapping device has inputs that are determined by the number of tracks. Signals from the channels are respectively combined per imaging device and evaluated, for example, with lookup tables, or LUTs for short. Each lookup table provides an output bit, with the output bit of each lookup table being affected by a change in a logic state on one of the input signals. This duplicates a jitter that is used as a random source.

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 101, 102, ..., 132 angebracht. Es werden die Zählerwerte der Toggle-Flipflops, also der jeweilige Zustand eines jeden Toggle-Flipflops, zu einem Zeitpunkt nach einem Übergang vom Input "0000", d.h. 4 Nullbits als Eingangsbits für die vier Spuren des 4-Spur-Zufallszahlengenerators, zum Input "1111", d.h. 4 Einsbits als Eingangsbits, ausgelesen. The multi-track random number generator has the length 100, ie consists of 100 mapping devices K1, K2,..., K100, which are realized, for example, via look-up tables LUT. To an output bit of a feedback-free 4-track random number generator with the random signal ZS are parallel 32 toggle flip-flops as counter units 101 . 102 , ..., 132 appropriate. The counter values of the toggle flip-flops, ie the respective state of each toggle flip-flop, are input to the input at a time after a transition from the input "0000", ie 4 zero bits as input bits for the four tracks of the 4-track random number generator. 1111 ", ie 4 bits as input bits.

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 201, 202, ..., 232 der jeweiligen Zählereinheit 101, 102, ..., 132. Die jeweiligen Zählerwerte werden an eine Verarbeitungseinheit 20 übermittelt, welche eine algorithmische Nachbearbeitung der abgegriffenen jeweiligen Zählerwerte durchführt. Der verbleibende Anteil in der Messreihe steigert die Entropie des Outputs auf 2,3998 Bits pro Versuch. Diese Entropie wird zur Erzeugung der Zufallsbits ausgenutzt. After the 4698035-fold repetition of the process are present in 86.6 percent unique values of the toggle flip-flops, that is, in these cases all toggle flip-flops have the value 0 or all the value 1. This is the stored by the toggle flip-flop counter value. The tapping of the stored counter values is done via a respective output node 201 . 202 , ..., 232 the respective counter unit 101 . 102 , ..., 132 , The respective counter values are sent to a processing unit 20 which performs an algorithmic post-processing of the tapped respective counter values. The remaining fraction in the series increases the entropy of the output to 2.3998 bits per trial. This entropy is used to generate the random bits.

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: 2064137 FFFFFFFF 2005595 00000000 50019 14500025 45097 EBAFFFDA 39828 FBFFFFFF 36053 04000000 17829 00200000 13563 EBAFFDDA 11986 FFDFFFFF 10656 14500225 10329 555D4775 8009 FBFFFFDF 7616 EBA7FC9A 7551 14504365 7274 AAA2B88A 6720 EBA37C9A 6654 E9A37C9A 6439 28A15802 6269 14500365 6186 04000020 The following first table indicates the frequencies of the 20 most frequently occurring bit patterns in the described embodiment of the device. On the left side of each line there is a decimal number of occurrences of the sample in the total of 4698035 trials, on the right the pattern in hexadecimal notation: Table 1: 2064137 FFFFFFFF 2005595 00000000 50019 14500025 45097 EBAFFFDA 39828 FBFFFFFF 36053 04000000 17829 00200000 13563 EBAFFDDA 11986 FFDFFFFF 10656 14500225 10329 555D4775 8009 FBFFFFDF 7616 EBA7FC9A 7551 14504365 7274 AAA2B88A 6720 EBA37C9A 6654 E9A37C9A 6439 28A15802 6269 14500365 6186 04000020

2 zeigt ein zweites Ausführungsbeispiel zur Durchführung des Verfahrens. Am rückkopplungsfreien 4-Spur-Zufallszahlengenerator gemäß dem ersten Ausführungsbeispiel werden nun an einem Ausgangsbit mit dem Zufallssignal ZS vier 8-Bit-Zähler als Zählereinheiten 101, 102, 103, 104 angebracht. Bei 2263571-maliger Durchführung der Zufallsbitextraktion werden die in der zweiten Tabelle gelisteten 20 Muster am häufigsten beobachtet. Entsprechend der ersten Tabelle stehen die dezimale Häufigkeit links und das Muster rechts. Jeder Zählerstand wird durch zwei aufeinanderfolgende hexadezimal-Zeichen dargestellt. Tabelle 2: 361907 04040404 226367 03030303 187768 05050505 129439 05040505 87592 04030404 77225 05060505 69854 06050606 62520 06060606 51156 02020202 43673 05020505 40178 04010404 39038 04070404 37145 05080505 32084 06070606 29205 00070404 25254 05010505 23302 03020303 22061 06020606 21901 05070505 20857 01080505 19475 09020505 2 shows a second embodiment for carrying out the method. At the feedback-free 4-track random number generator according to the first embodiment, four 8-bit counters are now used as counter units at an output bit with the random signal ZS 101 . 102 . 103 . 104 appropriate. With 2263571 times random bite extraction, the 20 patterns listed in the second table are most commonly observed. According to the first table, the decimal frequency is on the left and the pattern on the right. Each count is represented by two consecutive hexadecimal characters. Table 2: 361907 04040404 226367 03030303 187768 05050505 129439 05040505 87592 04030404 77225 05060505 69854 06050606 62520 06060606 51156 02020202 43673 05020505 40178 04010404 39038 04070404 37145 05080505 32084 06070606 29205 00070404 25254 05010505 23302 03020303 22061 06020606 21901 05070505 20857 01080505 19475 09020505

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.

3 zeigt ein drittes Ausführungsbeispiel der Erfindung, bei welchem an jede der vier letzten LUTs des rückkopplungsfreien 4-Spur-Zufallszahlengenerators aus den oben beschriebenen Ausführungsbeispielen acht Modulo-4-Zähler als Zählereinheiten 101, 102, ..., 132 angeschlossen wurden. Es wurden 6194205 Durchläufe zur Zufallszahlenerzeugung durch Wechsel des Eingangs des 4-Spur-Zufallszahlengenerator vom Bitmuster "0000" auf das Bitmuster "1111" durchgeführt. Die Modulo-4-Zähler wurden vor jedem Versuch auf den Wert 0 zurückgesetzt. 3 shows a third embodiment of the invention, in which to each of the four last LUTs of the feedback-free 4-track random number generator from the embodiments described above, eight modulo-4 counters as counter units 101 . 102 , ..., 132 were connected. 6194205 random number generation cycles were performed by changing the input of the 4-track random number generator from the bit pattern "0000" to the bit pattern "1111". The modulo 4 counters were reset to 0 before each attempt.

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 10 verwendet. 4 zeigt Abbildungseinrichtungen K1, K2, ..., K32, in diesem Fall Inverter sowie logische XOR-Gatter X1, X2, ..., X31, welche die Rückkopplung bilden. An einen Ausgang des FIRO werden parallel 32 Toggle-Flipflops als Zählereinheiten 101, 102, ..., 132 angeschlossen. Vor jedem Neustart des FIRO werden alle 32 Toggle-Flipflops auf 0 zurückgesetzt. Nach einer Schwingphase von beispielsweise einer millionstel Sekunde, während der der FIRP chaotisch schwingt, wird der Zählerwert der 32 Toggle-Flipflops abgespeichert und am jeweiligen Ausgangsknoten 201, 202, ..., 232 der jeweiligen Zählereinheit 101, 102, ..., 132 zur Verfügung gestellt. In a fourth embodiment of the invention, a chaotically oscillating Fibonacci ring oscillator, also called FIRO for short, of length 32 as an electronic circuit 10 used. 4 shows mapping means K1, K2, ..., K32, in this case inverters, and XOR logic gates X1, X2, ..., X31 forming the feedback. At an output of the FIRO, 32 toggle flip-flops are used in parallel as counter units 101 . 102 , ..., 132 connected. Before each restart of the FIRO, all 32 toggle flip-flops are reset to 0. After a swing phase of, for example, a millionth of a second, during which the FIRP oscillates chaotically, the counter value of the 32 toggle flip-flops is stored and at the respective output node 201 . 202 , ..., 232 the respective counter unit 101 . 102 , ..., 132 made available.

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)

Verfahren zum Erzeugen von Zufallsbits (Z) mittels einer elektronischen Schaltung (10) eingerichtet zur Erzeugung eines Zufallssignales (ZS), – wobei das Zufallssignal (ZS) innerhalb der elektronischen Schaltung (10) mindestens zwei Zählereinheiten (101, 102, ..., 132) zugeführt wird; – wobei durch eine Flanke des Zufallssignals (ZS) ein jeweiliger Zählerwert der mindestens zwei Zählereinheiten (101, 102, ..., 132) geändert wird; – wobei der jeweilige Zählerwert zu einem vorgegebenen Zeitpunkt ausgelesen wird; – wobei aus den ausgelesenen jeweiligen Zählerwerten die Zufallsbits (Z) gebildet werden. Method for generating random bits (Z) by means of an electronic circuit ( 10 ) arranged to generate a random signal (ZS), - wherein the random signal (ZS) within the electronic circuit ( 10 ) at least two meter units ( 101 . 102 , ..., 132 ) is supplied; Wherein a respective counter value of the at least two counter units is determined by an edge of the random signal ZS; 101 . 102 , ..., 132 ) will be changed; - Wherein the respective counter value is read out at a predetermined time; - Wherein the random bits (Z) are formed from the read out respective counter values. Verfahren nach Anspruch 1, wobei die elektronische Schaltung als ein Fibonacci-Ringoszillator, ein Gallois-Ringoszillator, ein Mehrspurringoszillator, ein Multiplizierer-Zufallszahlengenerator oder ein rückkopplungsfreier Mehrspur-Zufallszahlengenerator ausgebildet wird.  The method of claim 1, wherein the electronic circuit is formed as a Fibonacci ring oscillator, a Gallois ring oscillator, a Mehrspurringoszillator, a multiplier random number generator or a feedback-free multi-track random number generator. Verfahren nach einem der Ansprüche 1 oder 2, wobei mindestens einer der jeweiligen Zählerwerte zu vorgebbaren Zeitpunkten, insbesondere periodisch, ausgelesen wird.  Method according to one of claims 1 or 2, wherein at least one of the respective counter values at predetermined times, in particular periodically, is read out. Verfahren nach einem der vorstehenden Ansprüche, wobei mindestens einer der jeweiligen Zählerwerte nach einem Auslesen zurückgesetzt wird.  Method according to one of the preceding claims, wherein at least one of the respective counter values is reset after a read-out. Verfahren nach einem der vorstehenden Ansprüche, wobei durch eine Flanke vorgegebener Richtung des Zufallssignals (ZS) ein jeweiliger Zählerwert der mindestens zwei Zählereinheiten (101, 102, ..., 132) geändert wird. Method according to one of the preceding claims, wherein a respective counter value of the at least two counter units (ZS) is determined by an edge of predetermined direction of the random signal (ZS). 101 . 102 , ..., 132 ) will be changed. Verfahren nach einem der vorstehenden Ansprüche, wobei in Abhängigkeit von den ausgelesenen jeweiligen Zählerwerten mit Hilfe einer algorithmischen Nachbearbeitung eine nachbearbeitete Zufallsbitfolge erzeugt wird.  Method according to one of the preceding claims, wherein a post-processed random bit sequence is generated as a function of the read-out respective counter values with the aid of algorithmic post-processing. Verfahren nach einem der vorstehenden Ansprüche, wobei als Zählereinheit (101, 102, ..., 132) ein Modulo m-Zähler verbaut wird, wobei m eine natürliche Zahl größer als eins ist. Method according to one of the preceding claims, wherein as counter unit ( 101 . 102 , ..., 132 ) a modulo m counter is installed, where m is a natural number greater than one. Verfahren nach einem der vorstehenden Ansprüche, wobei als Zählereinheit (101, 102, ..., 132) ein Toggle-Flipflop verbaut wird. Method according to one of the preceding claims, wherein as counter unit ( 101 . 102 , ..., 132 ) a toggle flip-flop is installed. Vorrichtung zum Erzeugen von Zufallsbits (Z), aufweisend – eine elektronische Schaltung (10) zur Erzeugung eines Zufallssignales (ZS), – mindestens zwei Zählereinheiten (101, 102, ..., 132) zum Erfassen des Zufallssignals (ZS) innerhalb der elektronischen Schaltung (10) und zum Speichern eines jeweiligen Zählerwertes in Abhängigkeit von eine Flanke des Zufallssignals (ZS); – ein jeweiliger Ausgangsknoten (201, 202, ..., 232) der jeweiligen Zählereinheit (101, 102, ..., 132) zum Abgreifen des jeweiligen Zählerwertes zu einem vorgegebenen Zeitpunkt; – eine Verarbeitungseinheit (20) zum Erzeugen von Zufallsbits (Z) aus den abgegriffenen jeweiligen Zählerwerten. Apparatus for generating random bits (Z), comprising - an electronic circuit ( 10 ) for generating a random signal (ZS), - at least two counter units ( 101 . 102 , ..., 132 ) for detecting the random signal (ZS) within the electronic circuit ( 10 ) and for storing a respective counter value in response to an edge of the random signal (ZS); A respective parent node ( 201 . 202 , ..., 232 ) of the respective counter unit ( 101 . 102 , ..., 132 ) for picking up the respective counter value at a predetermined time; A processing unit ( 20 ) for generating random bits (Z) from the tapped respective counter values. Vorrichtung nach Anspruch 9, wobei die elektronische Schaltung ein Fibonacci-Ringoszillator, ein Gallois-Ringoszillator, ein Mehrspurringoszillator, ein Multiplizierer-Zufallszahlengenerator oder ein rückkopplungsfreier Mehrspur-Zufallszahlengenerator ist.  The apparatus of claim 9, wherein the electronic circuit is a Fibonacci ring oscillator, a Gallois ring oscillator, a Mehrspurringoszillator, a multiplier random number generator or a feedback-free multi-track random number generator. Vorrichtung nach Anspruch 9 oder 10, wobei mindestens einer der jeweiligen Zählerwerte zu einem vorgegebenen Zeitpunkt, insbesondere periodisch, abgreifbar ist.  Apparatus according to claim 9 or 10, wherein at least one of the respective counter values at a predetermined time, in particular periodically, can be tapped. Vorrichtung nach einem der Ansprüche 9 bis 11, wobei mindestens einer der jeweiligen Zählerwerte nach dem Abgreifen zurücksetzbar ist.  Device according to one of claims 9 to 11, wherein at least one of the respective counter values can be reset after tapping. Vorrichtung nach einem der Ansprüche 9 bis 12, wobei die mindestens zwei Zählereinheiten (101, 102, ..., 132) zum Speichern eines jeweiligen Zählerwertes in Abhängigkeit von einer Flanke vorgegebener Richtung des Zufallssignals (ZS) ausgebildet sind. Device according to one of claims 9 to 12, wherein the at least two counter units ( 101 . 102 , ..., 132 ) are formed for storing a respective counter value in dependence on an edge of predetermined direction of the random signal (ZS). Vorrichtung nach einem der Ansprüche 9 bis 13, wobei die Verarbeitungseinheit (20) zum Durchführen einer algorithmischen Nachbearbeitung geeignet ist zum Erzeugen einer nachbearbeiteten Zufallsbitfolge aus den abgegriffenen jeweiligen Zählerwerten. Device according to one of claims 9 to 13, wherein the processing unit ( 20 ) for performing an algorithmic post-processing is suitable for generating a post-processed random bit sequence from the tapped respective counter values. Vorrichtung nach einem der Ansprüche 9 bis 14, wobei als Zählereinheit (101, 102, ..., 132) ein Modulo m-Zähler verbaut ist. Device according to one of claims 9 to 14, wherein as counter unit ( 101 . 102 , ..., 132 ) a modulo m counter is installed. Vorrichtung nach einem der Ansprüche 9 bis 15, wobei als Zählereinheit (101, 102, ..., 132) ein Toggle-Flipflop verbaut ist. Device according to one of claims 9 to 15, wherein as counter unit ( 101 . 102 , ..., 132 ) a toggle flip-flop is installed.
DE201310219768 2013-09-30 2013-09-30 Generate random bits Withdrawn DE102013219768A1 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106374884B (en) * 2015-07-22 2021-05-07 恩智浦美国有限公司 Spread spectrum clock generator

Citations (1)

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

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

Patent Citations (1)

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

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