WO2015043855A2 - Generation of random bits - Google Patents

Generation of random bits Download PDF

Info

Publication number
WO2015043855A2
WO2015043855A2 PCT/EP2014/068057 EP2014068057W WO2015043855A2 WO 2015043855 A2 WO2015043855 A2 WO 2015043855A2 EP 2014068057 W EP2014068057 W EP 2014068057W WO 2015043855 A2 WO2015043855 A2 WO 2015043855A2
Authority
WO
WIPO (PCT)
Prior art keywords
random
counter
respective counter
electronic circuit
bits
Prior art date
Application number
PCT/EP2014/068057
Other languages
German (de)
French (fr)
Other versions
WO2015043855A3 (en
Inventor
Markus Dichtl
Original Assignee
Siemens Aktiengesellschaft
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 Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2015043855A2 publication Critical patent/WO2015043855A2/en
Publication of WO2015043855A3 publication Critical patent/WO2015043855A3/en

Links

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

Definitions

  • the invention relates to a method and apparatus for generating random bits by means of an electronic circuit.
  • random bit sequences are necessary as binary random numbers.
  • Known measures to generate random numbers use analogous random sources.
  • noise sources such as the noise of zener diodes are amplified and digitized.
  • Digital is connected with analog circuit technology.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the goal of generating true random numbers is to gain as much entropy as random bits from a random event induced by a random number generator while keeping energy consumption low.
  • a method for generating random bits by means of an electronic circuit configured to generate a random signal comprises the following steps: the random signal within the electronic circuit is fed 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 predefinable time. From the read out respective counter values, the random bits are formed.
  • 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.
  • the electronic circuit comprises, for example, imaging devices, wherein, depending on the random number generator used, 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.
  • 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.
  • 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 example, for a number of z input bits, the LUT has 2 Z addresses.
  • the number of counter units also called counters, two or more, for example, 3, 4, or 32 counters are used.
  • 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.
  • the counters are implemented in such a way that they change their counter value by a certain amount, for example by the value 1, on edges of the input signal, ie of the random signal supplied.
  • 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.
  • the described method enables detection of random events from a time interval.
  • 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.
  • the method described is advantageously applicable to systems in which a time with random behavior is difficult to determine.
  • the entropy yield extractable from a signal at a location of a random number generator is increased by the described method.
  • At least one of the respective counter values is read out at predefinable times, in particular periodically or randomly.
  • random bits for example at a distance of one microsecond or, for example, as a function of gate transit times of the installed imaging devices, random bits are generated as raw Zufaustime.
  • the read may also be coupled to a restart of the random number generator. The time may depend in particular on a If the number of digits is selected, reading takes place at irregular, random intervals.
  • At least one of the respective counter values is reset after a readout.
  • 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.
  • a respective counter value of the at least two counter units is changed by an edge of predetermined direction of the random signal.
  • 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.
  • 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.
  • the raw Zufausfound be, for example, using the post-processing method, by A. Juels, M.
  • cryptographic algorithms are advantageous.
  • An example of a suitable cryptographic function is the application of a cryptographic hash function (eg, KECCAK, see http://keccak.noekeon.org/) to the raw feed numbers.
  • a cryptographic hash function eg, KECCAK, see http://keccak.noekeon.org/
  • 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.
  • a modulo counter is installed as counter unit, where m is a natural number greater than one.
  • 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.
  • a toggle flip-flop is installed as the counter unit.
  • 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.
  • the invention further relates to an apparatus for generating random bits comprising
  • At least two counter units for detecting the random signal within the electronic circuit and for supplying ehern a respective counter value m depending on an edge of the random signal;
  • a processing unit for generating random bits from the tapped respective counter values.
  • the proposed device allows a large
  • Entropy yield that is, a high rate of random generation.
  • a random number generator with low energy consumption is advantageously realized.
  • hardware costs are low
  • At least one of the respective counter values can be tapped off at a predetermined time, in particular periodically.
  • At least one of the respective counter values can be reset after tapping.
  • the at least two Zählerein units for storing a respective counter value in response to an edge of predetermined direction of the random signal are formed.
  • the processing unit for carrying out an algorithmic postprocessing is suitable for generating a postprocessed random bit sequence from the tapped respective counter values.
  • a modulo counter is installed as the counter unit.
  • FIG. 1 shows a schematic representation of an apparatus for generating random bits according to a first exemplary embodiment of the invention
  • Figure 2 is a schematic representation of an apparatus for generating random bits according to a second embodiment of the invention.
  • Figure 3 is a schematic representation of an apparatus for generating random bits according to a third embodiment of the invention.
  • Figure 4 is a schematic representation of an apparatus for generating random bits according to a fourth embodiment of the invention.
  • FIG. 1 shows a multi-track random number generator as an electronic circuit 10 suitable for generating a random signal ZS.
  • a multitrack random number generator there are several channels or tracks which are fed to a respective mapping device K1, K2,..., K100.
  • Each mapping device has inputs defined by the number of tracks.
  • Signals from the channels are combined for each 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.
  • the multi-track random number generator has the length 100, ie consists of 100 imaging 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 32 toggle flip-flops as counter units 101, 102, ..., 132 are attached in parallel.
  • 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.
  • the transition is made repeatedly and the toggle flip-flops are reset to 0 before each transition.
  • 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 is the number of occurrences of the pattern in the total of 4698035 attempts, on the right the pattern in hexadecimal
  • Figure 2 shows a second embodiment for carrying out the method. On the feedback-free 4-track
  • Random number generator according to the first embodiment are now attached to an output bit with the random signal ZS four 8-bit counter as counter units 101, 102, 103, 104.
  • the 20 patterns listed in the second table are most frequently observed.
  • the decimal frequency is on the left and the pattern on the right. Each count is represented by two consecutive hexadecimal characters.
  • FIG. 3 shows a third exemplary embodiment of the invention in which eight modulo-4 counters are counted as count counter to each of the four last LUTs of the feedback-free 4-track random number generator from the exemplary embodiments described above. 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.
  • 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 multitrack random number generators and the proposed method or the proposed device achieves particularly high energy efficiency in generating random numbers.
  • a chaotically oscillating Fibonacci ring oscillator also called FIRO for short, of length 32 is used as the electronic circuit 10.
  • FIG. 4 shows imaging devices K1, K2,..., K32, in this case inverters, as well as logic XOR gates XI, X2,..., X31, which form the feedback.
  • 32 toggle flip-flops are connected in parallel as counter units 101, 102,..., 132. Before each restart of the FIRO, all 32 toggle flip-flops are reset to 0.
  • the counter value of the 32 toggle flip-flops is stored and Native output node 201, 202, ..., 232 of the respective counter unit 101, 102, ..., 132 provided.
  • the respective counter unit, imaging device or processing unit can be implemented in hardware and / or software technology.
  • the respective unit can be designed as a device or as part of a device, for example as a computer or as a microprocessor.
  • the respective unit may be designed as a computer program product, as a function, as a routine, as part of a program code or as an executable object.

Abstract

The invention relates to a method and a device for generating random bits using an electronic circuit. The random signal is fed to at least two counter units in parallel within the electronic circuit. With the method described it is possible to detect random events in a time period. The amount of entropy that can be extracted from a signal at a point in a random number generator can be increased using the method described.

Description

Beschreibung description
Erzeugen von Zufallsbits Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erzeugen von Zufallsbits mittels einer elektronischen Schaltung . Generating Random Bits 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 so- wohl 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. 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. 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. 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 Zu- standsä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 disclosed in the paper by K. Wold, CH Tan, "Analysis and enhancement of random number generators in FPGA based on oscillator rings ", Proc. of ReconFig 2008, Cancun, 2008, pp. 385- 390. With high energy consumption, a low data rate is achieved here.
Em Ziel bei der Erzeugung echter Zufallszahlen ist es, au einem von einem Zufallszahlengenerator herbeigeführten Zufallsereignis möglichst viel Entropie in der Form von Zufallsbits zu gewinnen und dabei den Energieverbrauch niedr zu halten . The goal of generating true random numbers is to gain as much entropy as random bits from a random event induced by a random number generator 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 vorgebbaren Zeitpunkt ausgelesen. Aus den ausgelesenen jeweiligen Zählerwerten werden die Zufallsbits gebildet . 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 . According to the invention, a method for generating random bits by means of an electronic circuit configured to generate a random signal comprises the following steps: the random signal within the electronic circuit is fed 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 predefinable time. From the read out respective counter values, the random bits are formed. 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 Abbil- dungseinrichtungen , wobei je nach eingesetztem Zufallszahlen- generator 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 comprises, for example, imaging devices, wherein, depending on the random number generator used, 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 example, for a number of z input bits, the LUT has 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. 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. 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. The counters are implemented in such a way that they change their counter value by a certain amount, for example by the value 1, on edges of the input signal, ie of the random signal supplied. 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 oder zufällig, ausgelesen. According to one embodiment, at least one of the respective counter values is read out at predefinable times, in particular periodically or randomly.
Somit werden im laufenden Betrieb der elektronischen Schaltung fortwährend, beispielsweise im Abstand von einer Mikro- sekunden oder beispielsweise in Abhängigkeit von Gatterdurchlaufzeiten der verbauten Abbildungseinrichtungen, Zufallsbits als Roh-Zufauszahlen generiert. Das Auslesen kann ferner an einen Neustart des Zufallszahlengenerators gekoppelt sein. Der Zeitpunkt kann insbesondere in Abhängigkeit von einer Zu- fallszahl gewählt werden, so dass das Auslesen in unregelmäßigen, zufälligen Abständen erfolgt. Thus, during operation of the electronic circuit, random bits, for example at a distance of one microsecond or, for example, as a function of gate transit times of the installed imaging devices, random bits are generated as raw Zufauszahlen. The read may also be coupled to a restart of the random number generator. The time may depend in particular on a If the number of digits is selected, reading takes place at irregular, random intervals.
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-Zufauszahlen werden beispielsweise mit Hilfe des Nachbearbeitungsverfahren, welches von A. Juels, M. The raw Zufauszahlen be, for example, using the post-processing method, by A. Juels, M.
Jakobsson, E. Shriver, und B. Hillyer, in „How to Turn Loaded Dice into Fair Coins" (IEEE Transactions on Information Theo- ry, May 2000) vorgestellt wurde, weiterverarbeitet. Jakobsson, E. Shriver, and B. Hillyer, in How to Turn Loaded Dice into Fair Coins "(IEEE Transactions on Information Theory, May 2000).
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-Zufauszahlen . 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. Furthermore, cryptographic algorithms are advantageous. An example of a suitable cryptographic function is the application of a cryptographic hash function (eg, KECCAK, see http://keccak.noekeon.org/) to the raw feed 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.
Als kryptographische Funktionen zur Nachbearbeitung kommen ferner Blockchiffren in Frage.  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 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 The invention further relates to an apparatus for generating random bits comprising
- eine elektronische Schaltung zur Erzeugung eines Zufalls- signales, an electronic circuit for generating a random signal,
- mindestens zwei Zählereinheiten zum Erfassen des Zufallssignals innerhalb der elektronischen Schaltung und zum Spei- ehern eines jeweiligen Zählerwertes m Abhängigkeit von eine Flanke des Zufallssignals; at least two counter units for detecting the random signal within the electronic circuit and for supplying ehern a respective counter value m depending on an edge of the random signal;
- ein jeweiliger Ausgangsknoten der jeweiligen Zählereinheit zum Abgreifen des jeweiligen Zählerwertes zu einem vorgegebe nen Zeitpunkt; a respective output node of the respective counter unit for picking up the respective counter value at a predetermined time;
- eine Verarbeitungseinheit zum Erzeugen von Zufallsbits aus den abgegriffenen jeweiligen Zählerwerten. a processing unit for generating random bits from the tapped respective counter values.
Die vorgeschlagene Vorrichtung ermöglicht eine große The proposed device allows a large
Entropieausbeute, das heißt eine hohe Rate bei der Zufalls- biterzeugung . Dadurch ist ein Zufallszahlengenerator mit geringem Energieverbrauch vorteilhaft realisiert. Gleichzeitig ist ein Hardwareaufwand gering Entropy yield, that is, a high rate of random 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 jeweilige 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 jeweilige 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ählerein heiten 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 Zählerein units for storing a respective counter value in response to an edge of predetermined direction of the random signal are formed.
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 counter is installed as the counter unit.
Gemäß einer Ausgestaltung ist als Zählereinheit ein Toggle- Flipflop verbaut. Die Erfindung wird nachfolgend mit Ausführungsbeispielen anhand der Figuren näher erläutert. Es zeigen: Figur 1 Eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits gemäß einem ersten Ausführungsbeispiel der Erfindung; According to one embodiment, a toggle flip-flop is installed as the counter unit. The invention will be explained in more detail below with exemplary embodiments with reference to the figures. FIG. 1 shows a schematic representation of an apparatus for generating random bits according to a first exemplary embodiment of the invention;
Figur 2 Eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits gemäß einem zweiten Ausführungsbeispiel der Erfindung; Figure 2 is a schematic representation of an apparatus for generating random bits according to a second embodiment of the invention;
Figur 3 Eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits gemäß einem dritten Ausführungsbei- spiel der Erfindung; Figure 3 is a schematic representation of an apparatus for generating random bits according to a third embodiment of the invention;
Figur 4 Eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits gemäß einem vierten Ausführungsbeispiel der Erfindung. Figure 4 is 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.
Figur 1 zeigt einen Mehrspurzufallszahlengenerator als elekt- ronische Schaltung 10 geeignet zur Erzeugung eines Zufallssignales ZS. In einem Mehrspurzufallszahlengenerator existieren mehrere Kanäle oder Spuren, die einer jeweiligen Abbil- dungseinrichtung Kl, K2,..., K100 zugeführt werden. Jede Abbil- dungseinrichtung hat Eingänge, die durch die Anzahl der Spu- ren festgelegt sind. Signale aus den Kanälen werden je Abbil- dungseinrichtung 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. Der Mehrspurzufallszahlengenerator hat die Länge 100, d.h. besteht aus 100 Abbildungseinrichtungen Kl, 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. FIG. 1 shows a multi-track random number generator as an electronic circuit 10 suitable for generating a random signal ZS. In a multitrack random number generator, there are several channels or tracks which are fed to a respective mapping device K1, K2,..., K100. Each mapping device has inputs defined by the number of tracks. Signals from the channels are combined for each 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. The multi-track random number generator has the length 100, ie consists of 100 imaging 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 32 toggle flip-flops as counter units 101, 102, ..., 132 are attached in parallel. 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 Über- gang werden die Toggle-Flipflops auf den Wert 0 zurückgesetzt . The transition is made repeatedly and the toggle flip-flops are reset to 0 before each transition.
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 Er- zeugung 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 takes place via a respective output node 201, 202,..., 232 of the respective counter unit 101, 102,..., 132. The respective counter values are transmitted to a processing unit 20, which performs an algorithmic postprocessing of the tapped respective counter values performs. 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 de- zimal die Anzahl des Auftretens des Musters bei den insgesamt 4698035 Versuchen, rechts das Muster in hexadezimaler 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 is the number of occurrences of the pattern in the total of 4698035 attempts, on the right the pattern in hexadecimal
Schreibweise : Tabelle 1 : Notation: Table 1 :
2064137 FFFFFFFF 2064137 FFFFFFFF
2005595 00000000 2005595 00000000
50019 14500025  50019 14500025
45097 EBAFFFDA  45097 EBAFFFDA
39828 FBFFFFFF  39828 FBFFFFFF
36053 04000000  36053 04000000
17829 00200000  17829 00200000
13563 EBAFFDDA  13563 EBAFFDDA
11986 FFDFFFFF  11986 FFDFFFFF
10656 14500225  10656 14500225
10329 555D4775  10329 555D4775
8009 FBFFFFDF  8009 FBFFFFDF
7616 EBA7FC9A  7616 EBA7FC9A
7551 14504365  7551 14504365
7274 AAA2B88A  7274 AAA2B88A
6720 EBA37C9A  6720 EBA37C9A
6654 E9A37C9A  6654 E9A37C9A
6439 28A15802  6439 28A15802
6269 14500365  6269 14500365
6186 04000020  6186 04000020
Figur 2 zeigt ein zweites Ausführungsbeispiel zur Durchfüh- rung des Verfahrens. Am rückkopplungsfreien 4-Spur-Figure 2 shows a second embodiment for carrying out the method. On the feedback-free 4-track
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 Zufallsbitex- traktion 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 hexade- zimal-Zeichen dargestellt. Random number generator according to the first embodiment are now attached to an output bit with the random signal ZS four 8-bit counter as counter units 101, 102, 103, 104. With 2263571 times random bite extraction, the 20 patterns listed in the second table are most frequently 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.
Tabelle 2 : 361907 04040404 226367 03030303 Table 2: 361907 04040404 226367 03030303
187768 05050505  187768 05050505
129439 05040505  129439 05040505
87592 04030404  87592 04030404
77225 05060505  77225 05060505
69854 06050606  69854 06050606
62520 06060606  62520 06060606
51156 02020202  51156 02020202
43673 05020505  43673 05020505
40178 04010404  40178 04010404
39038 04070404  39038 04070404
37145 05080505  37145 05080505
32084 06070606  32084 06070606
29205 00070404  29205 00070404
25254 05010505  25254 05010505
23302 03020303  23302 03020303
22061 06020606  22061 06020606
21901 05070505  21901 05070505
20857 01080505  20857 01080505
19475 09020505  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. Figur 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ähler- einheiten 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. 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. FIG. 3 shows a third exemplary embodiment of the invention in which eight modulo-4 counters are counted as count counter to each of the four last LUTs of the feedback-free 4-track random number generator from the exemplary embodiments described above. 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 einEvaluation of the frequency of observed bit patterns revealed an entropy of 12.66 bits per trial. Compared with the almost ideal entropy yield of 3.99998 bits per 4-bit sample, if you only ever one on the last four gates
Toggle-Flipflop anbringt, erhält man also eine Steigerung der Entropieausbeute um den Faktor 3,16. Toggle flip flop, so you get an increase in the entropy yield by a factor of 3.16.
Rückkopplungsfreie Mehrspur-Zufallszahlengeneratoren benöti- gen 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 Zu- fallszahlenerzeugung 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 multitrack random number generators and the proposed method or the proposed device achieves particularly high energy efficiency in generating random numbers.
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. Figur 4 zeigt Abbildungseinrichtungen Kl, K2,..., K32, in diesem Fall Inverter sowie logische XOR-Gatter XI, 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.In a fourth embodiment of the invention, a chaotically oscillating Fibonacci ring oscillator, also called FIRO for short, of length 32 is used as the electronic circuit 10. FIG. 4 shows imaging devices K1, K2,..., K32, in this case inverters, as well as logic XOR gates XI, X2,..., X31, which form the feedback. At an output of the FIRO, 32 toggle flip-flops are connected in parallel as counter units 101, 102,..., 132. Before each restart of the FIRO, all 32 toggle flip-flops are reset to 0.
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 je- weiligen Ausgangsknoten 201, 202,..., 232 der jeweiligen Zählereinheit 101, 102,..., 132 zur Verfügung gestellt. After a vibration phase of, for example, one millionth of a second, during which the FIRP oscillates chaotically, the counter value of the 32 toggle flip-flops is stored and Native output node 201, 202, ..., 232 of the respective counter unit 101, 102, ..., 132 provided.
Im Falle einer 5814784-maligen Wiederholung treten in den Toggle-Flipflops 2702970 verschiedene 32-Bit-Muster auf. In the case of a 5814784 repetition, 2702970 different 32-bit patterns appear in the toggle flip-flops.
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. 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 .  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. 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 Vorrich- tung 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 Ob- jekt 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 can be designed as a device or as part of a device, for example as a computer or as a microprocessor. In a software implementation, the respective unit may 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 ande- re 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.

Claims

Patentansprüche claims
1. Verfahren zum Erzeugen von Zufallsbits (Z) mittels einer elektronischen Schaltung (10) eingerichtet zur Erzeugung eines Zufallssignales (ZS) , 1. A method for generating random bits (Z) by means of an electronic circuit (10) configured to generate a random signal (ZS),
- wobei das Zufallssignal (ZS) innerhalb der elektronischen Schaltung (10) mindestens zwei Zählereinheiten (101, 102,..., 132) zugeführt wird;  - wherein the random signal (ZS) within the electronic circuit (10) at least two counter units (101, 102, ..., 132) is supplied;
- wobei durch eine Flanke des Zufallssignals (ZS) ein jeweiliger Zählerwert der mindestens zwei Zählereinheiten (101, 102,..., 132) geändert wird;  - Wherein by an edge of the random signal (ZS) a respective counter value of the at least two counter units (101, 102, ..., 132) is changed;
- wobei der jeweilige Zählerwert zu einem vorgebbaren Zeitpunkt ausgelesen wird;  - Wherein the respective counter value is read out at a predefinable time;
- wobei aus den ausgelesenen jeweiligen Zählerwerten die Zufallsbits (Z) gebildet werden.  - Wherein the random bits (Z) are formed from the read out respective counter values.
2. Verfahren nach Anspruch 1, wobei die elektronische Schaltung als ein Fibonacci-Ringoszillator, ein Gallois- Ringoszillator, ein Mehrspurringoszillator, ein 2. The method of claim 1, wherein the electronic circuit as a Fibonacci ring oscillator, a Gallois ring oscillator, a Mehrspurringoszillator, a
Multiplizierer-Zufallszahlengenerator oder ein rückkopplungsfreier Mehrspur-Zufallszahlengenerator ausgebildet wird. Multiplier random number generator or a feedback-free multi-track random number generator is formed.
3. Verfahren nach einem der Ansprüche 1 oder 2, wobei mindestens einer der jeweiligen Zählerwerte zu vorgebbaren Zeitpunkten, insbesondere periodisch oder zufällig, ausgelesen wird . 3. The method according to any one of claims 1 or 2, wherein at least one of the respective counter values at predetermined times, in particular periodically or randomly, is read out.
4. Verfahren nach einem der vorstehenden Ansprüche, wobei mindestens einer der jeweiligen Zählerwerte nach einem Auslesen zurückgesetzt wird. 4. The method according to any one of the preceding claims, wherein at least one of the respective counter values is reset after a read.
5. 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. 5. The method according to any one of the preceding claims, wherein a respective counter value of the at least two counter units (101, 102, ..., 132) is changed by an edge of predetermined direction of the random signal (ZS).
6. 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. 6. The method according to any one of the preceding claims, wherein in dependence on the read-out respective counter values with Help of an algorithmic post-processing a post-processed random bit sequence is generated.
7. 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. 7. The method according to any one of the preceding claims, wherein as a counter unit (101, 102, ..., 132) a modulo m counter is installed, where m is a natural number greater than one.
8. Verfahren nach einem der vorstehenden Ansprüche, wobei als Zählereinheit (101, 102,..., 132) ein Toggle-Flipflop verbaut wird. 8. The method according to any one of the preceding claims, wherein as a counter unit (101, 102, ..., 132), a toggle flip-flop is installed.
9. Vorrichtung zum Erzeugen von Zufallsbits (Z), aufweisend9. Apparatus for generating random bits (Z) comprising
- eine elektronische Schaltung (10) zur Erzeugung eines Zufallssignales (ZS) , an electronic circuit (10) for generating a random signal (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) ;- 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);
- ein jeweiliger Ausgangsknoten (201, 202,..., 232) der jewei- ligen Zählereinheit (101, 102,..., 132) zum Abgreifen des jeweiligen Zählerwertes zu einem vorgegebenen Zeitpunkt; - A respective output node (201, 202, ..., 232) of the respective counter unit (101, 102, ..., 132) for tapping the respective counter value at a predetermined time;
- eine Verarbeitungseinheit (20) zum Erzeugen von Zufallsbits (Z) aus den abgegriffenen jeweiligen Zählerwerten.  - A processing unit (20) for generating random bits (Z) from the tapped respective counter values.
10. Vorrichtung nach Anspruch 9, wobei die elektronische Schaltung ein Fibonacci-Ringoszillator, ein Gallois- Ringoszillator, ein Mehrspurringoszillator, ein 10. The apparatus of claim 9, wherein the electronic circuit is a Fibonacci ring oscillator, a Gallois ring oscillator, a Mehrspurringoszillator, a
Multiplizierer-Zufallszahlengenerator oder ein rückkopplungsfreier Mehrspur-Zufallszahlengenerator ist. Multiplier random number generator or a feedback-free multitrack random number generator.
11. Vorrichtung nach Anspruch 9 oder 10, wobei mindestens einer der jeweiligen Zählerwerte zu einem vorgegebenen Zeitpunkt, insbesondere periodisch, abgreifbar ist. 11. The apparatus of claim 9 or 10, wherein at least one of the respective counter values at a predetermined time, in particular periodically, can be tapped.
12. Vorrichtung nach einem der Ansprüche 9 bis 11, wobei mindestens einer der jeweiligen Zählerwerte nach dem Abgreifen zurücksetzbar ist. 12. Device according to one of claims 9 to 11, wherein at least one of the respective counter values can be reset after tapping.
13. 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) ausge- bildet sind. 13. Device according to one of claims 9 to 12, wherein the at least two counter units (101, 102, ..., 132) for storing a respective counter value depending on an edge of predetermined direction of the random signal (ZS) are formed.
14. Vorrichtung nach einem der Ansprüche 9 bis 13, wobei die Verarbeitungseinheit (20) zum Durchführen einer algorithmischen Nachbearbeitung geeignet ist zum Erzeugen einer nach- bearbeiteten Zufallsbitfolge aus den abgegriffenen jeweiligen Zählerwerten . The apparatus of any one of claims 9 to 13, wherein the processing unit (20) for performing algorithmic post-processing is adapted to generate a post-processed random bit sequence from the retrieved respective counter values.
15. Vorrichtung nach einem der Ansprüche 9 bis 14, wobei als Zählereinheit (101, 102,..., 132) ein Modulo m-Zähler verbaut ist. 15. Device according to one of claims 9 to 14, wherein as a counter unit (101, 102, ..., 132) a modulo meter counter is installed.
16. Vorrichtung nach einem der Ansprüche 9 bis 15, wobei als Zählereinheit (101, 102,..., 132) ein Toggle-Flipflop verbaut ist . 16. Device according to one of claims 9 to 15, wherein as a counter unit (101, 102, ..., 132) a toggle flip-flop is installed.
PCT/EP2014/068057 2013-09-30 2014-08-26 Generation of random bits WO2015043855A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102013219768.3 2013-09-30
DE201310219768 DE102013219768A1 (en) 2013-09-30 2013-09-30 Generate random bits

Publications (2)

Publication Number Publication Date
WO2015043855A2 true WO2015043855A2 (en) 2015-04-02
WO2015043855A3 WO2015043855A3 (en) 2015-05-21

Family

ID=51492294

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2014/068057 WO2015043855A2 (en) 2013-09-30 2014-08-26 Generation of random bits

Country Status (2)

Country Link
DE (1) DE102013219768A1 (en)
WO (1) WO2015043855A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106374884A (en) * 2015-07-22 2017-02-01 飞思卡尔半导体公司 Spread spectrum clock generator

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19926640A1 (en) * 1999-06-11 2000-12-21 Rolf Freitag Generation of true random signal numbers involves using combined digital randomly generated signals
US20040264233A1 (en) * 2003-06-24 2004-12-30 Renesas Technology Corp. Random number generator with ring oscillation circuit
WO2006015624A1 (en) * 2004-08-09 2006-02-16 Telecom Italia S.P.A. Random number generation based on logic circuits with feedback
WO2010031630A1 (en) * 2008-09-22 2010-03-25 Siemens Aktiengesellschaft Apparatus and method for generating a random bit sequence

Family Cites Families (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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19926640A1 (en) * 1999-06-11 2000-12-21 Rolf Freitag Generation of true random signal numbers involves using combined digital randomly generated signals
US20040264233A1 (en) * 2003-06-24 2004-12-30 Renesas Technology Corp. Random number generator with ring oscillation circuit
WO2006015624A1 (en) * 2004-08-09 2006-02-16 Telecom Italia S.P.A. Random number generation based on logic circuits with feedback
WO2010031630A1 (en) * 2008-09-22 2010-03-25 Siemens Aktiengesellschaft Apparatus and method for generating a random bit sequence

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ARI JUELS ET AL: "How to Turn Loaded Dice into Fair Coins", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE PRESS, USA, Bd. 46, Nr. 3, 3. Mai 2000 (2000-05-03), XP011027626, ISSN: 0018-9448 in der Anmeldung erwähnt *
KNUT WOLD ET AL: "Analysis and Enhancement of Random Number Generator in FPGA Based on Oscillator Rings", RECONFIGURABLE COMPUTING AND FPGAS, 2008. RECONFIG '08. INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 3. Dezember 2008 (2008-12-03), Seiten 385-390, XP031382704, ISBN: 978-1-4244-3748-1 in der Anmeldung erwähnt *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106374884A (en) * 2015-07-22 2017-02-01 飞思卡尔半导体公司 Spread spectrum clock generator
CN106374884B (en) * 2015-07-22 2021-05-07 恩智浦美国有限公司 Spread spectrum clock generator

Also Published As

Publication number Publication date
DE102013219768A1 (en) 2015-04-02
WO2015043855A3 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
DE102008048292B4 (en) Apparatus and method for generating a random bit string
EP1643643B1 (en) Random number generator and method for random number generation
WO2014177300A1 (en) System and method for generating random bits
DE102008018678A1 (en) Apparatus and method for generating a random bit string
DE102012210990A1 (en) Method for generating random numbers
DE102013204274A1 (en) Method for detecting a correlation
DE102014200163A1 (en) A method for generating an output of a random source of a random number generator
WO2015043855A2 (en) Generation of 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
DE102013213095A1 (en) Generating a number of random bits
WO2015128015A1 (en) Apparatus and method for generating random bits
WO2015128168A1 (en) Method and device for classifying and/or generating random bits
DE102013210147A1 (en) Generate random bits
DE102014219651A1 (en) Method and apparatus for generating random bits
DE102013213385A1 (en) Method for evaluating an output of a random number generator
DE102013204272A1 (en) Method for detecting a correlation
DE102016200850A1 (en) Method for operating a safety-relevant device and device
DE102022102594A1 (en) INTEGRATED CIRCUIT FOR GENERATION OF RANDOM VECTORS
DE102006009939B4 (en) Random number generator and method for generating random numbers
WO2021239564A1 (en) Random number generator
DE102013201687A1 (en) Method and apparatus for generating random bits
DE102014226996A1 (en) Method and apparatus for generating random bits
DE102015203580A1 (en) Apparatus and method for generating random bits
EP3350955B1 (en) Puf-based random signal generator and method for generating a random signal

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14759122

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14759122

Country of ref document: EP

Kind code of ref document: A2