WO2014117983A1 - Method and device for generating random bits - Google Patents

Method and device for generating random bits Download PDF

Info

Publication number
WO2014117983A1
WO2014117983A1 PCT/EP2014/050308 EP2014050308W WO2014117983A1 WO 2014117983 A1 WO2014117983 A1 WO 2014117983A1 EP 2014050308 W EP2014050308 W EP 2014050308W WO 2014117983 A1 WO2014117983 A1 WO 2014117983A1
Authority
WO
WIPO (PCT)
Prior art keywords
noise signal
bit
generating
random
bit values
Prior art date
Application number
PCT/EP2014/050308
Other languages
German (de)
French (fr)
Inventor
Markus Dichtl
Bernd Meyer
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 WO2014117983A1 publication Critical patent/WO2014117983A1/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 present invention relates to a method for generating a random bit and to a device for generating one or more random bits. For example, a random bit sequence is generated which is used as a binary random number.
  • the proposed devices and methods for generating random bits serve, for example, the implementation of random number generators.
  • Random data is needed for security applications, for example.
  • random bits can be used to derive cryptographic keys or the like.
  • random bits generated have the same probability of occurrence and are statistically independent of each other.
  • a random source for generating the random bits with a high entropy is desired.
  • Pseudo-random number generators are known and generate random bits based on an algorithm of so-called seed data. Since the derived pseudo-random bit string is essentially deterministic after the seed determination, such random number generators are not suitable for cryptographic applications. In the past, hardware random number generators have been exploited utilizing fluctuations of period lengths or jitter in ring oscillator circuits. Frequently, however, the achieved entropy and / or random data rate did not meet the desired requirements.
  • an apparatus for generating a random bit which comprises:
  • noise signal source for generating a noise signal
  • a first latching element and at least one further latching element for simultaneously sampling the noise signal in response to a clock signal.
  • the device is in particular configured to perform a corresponding method for generating a random bit.
  • the device has at least three buffer elements. This achieves good entropy of the bit-pattern-generating bit values.
  • the noise signal originates, for example, from a noise signal source which generates a signal. For example, irregular vibrations can be generated.
  • the noise signal source can also provide a true random signal which varies between predetermined signal levels. By simultaneously sampling the noise signal in the manner of a sample as a function of a clock signal at a clock time, a respective level is detected in the buffer elements and buffered. The detected level then corresponds to a bit value, for example 0 or 1 or L or H.
  • the particular analog noise signal is thus scanned simultaneously multiple times, whereby, for example, caused by physical differences of the implemented intermediate storage elements in a semiconductor process deviations. Also, a signal propagation time can lead to different sampling results and thus different bit values.
  • the buffer element is for example a flip-flop. Particularly in the case of a D flip-flop, the sampling of the input signal, in the present case the noise signal, requires a clock edge. Since the noise signal has an irregular temporal signal curve, inaccuracies or randomness result from the different physical implementation of the buffer elements. For example, there may be violations of setup and hold times of the flip-flops, so that different measurement results are detected at different buffer elements. Potential metastatic states in the staging elements can also be used as a source of chance.
  • a clock signal source is a corresponding clock signal that fluctuates regularly between two levels. nal, wherein the clock signal comprises rising and falling clock edges.
  • the generated clock signal is fed to clock inputs of the latching elements which, on the basis of signal characteristics, for example signal edges, internally perform a sampling of the signal level at a data input and interpret it as a logic level.
  • the logic level is then understood as a bit value and output.
  • the distance from the clock signal source to the various latch elements may be different, and that
  • the clock signal at a respective buffer element is understood to mean that, starting from the clock signal generator, the clock signal is branched to the buffer elements as "branch clock signals.”
  • the respective branch clock signal therefore corresponds essentially to the influences of the signal path or other factors on the generated clock signal.
  • buffer elements can also speak of sample and hold or sample and hold members. Essentially, however, flip-flops are used.
  • the noise signal is supplied directly to a respective data input of the buffer elements or the data inputs of the buffer elements are coupled to a common line node, at which the noise signal can be tapped.
  • the noise signal is generated by means of a physical noise source. It is also conceivable that the noise signal is generated by means of a digital ring oscillator. Does the noise signal source include a digital ring oscillator circuit, An odd number of inverter devices is fed back, resulting in a substantially oscillating signal. With particularly short inverter chains, for example three or five inverters, a quasi-analogue signal form results through the short feedback path. Such an oscillation signal can be regarded as a noise signal.
  • a corresponding digital ring oscillator comprises between three and ten inverters that are directly or indirectly fed back together. In further embodiments, eleven to twenty inverters are fed back.
  • the digital ring oscillator circuits include Glois or Fibonacci and / or simple ring oscillators.
  • the device for generating random bits preferably comprises exclusively digital components. This has the advantage that no mixed signal circuits are necessary, which must process analog and digital signals. In this respect, production with the aid of purely digital circuit components is also cost-effective.
  • a random number generator or a device for generating random numbers can then be produced using standard semiconductor processes or else implemented as FPGAs or in FPGA devices.
  • the generation of the bit values can take place a plurality of times in succession, and the determination of at least one random bit is then carried out as a function of a plurality of previously generated bit values.
  • bit values are mapped to bytes with the aid of a hash function.
  • bit values of a given bit width (number of bit values) generated during a scanning process are mapped to a word of lesser bit width, for example one byte.
  • bit values or bytes it is also possible to post-process the bit values or bytes. In doing so, e.g. a modified Neumann method for generating predetermined random patterns of bit values used.
  • a modified Neumann method for generating predetermined random patterns of bit values used e.g. a modified Neumann method for generating predetermined random patterns of bit values used.
  • One conceivable method is described in: Ari Juels, Markus Jakobsson, Elizabeth A. M.shriver, Bruce
  • Embodiments of the method provide that the bit values generated during a sampling are assigned to a predetermined random value. For example, a random pattern is generated each time a scan is performed, and a limited number of different patterns can be generated depending on the bit width or the number of random bits generated during a scan. This depends on the concrete electronic or physical design of the device.
  • bit values or bits In order to reduce or compensate correlations between bit values or bits, suitable methods are known. Overall, the method enables a circuit-wise easy-to-implement random number generator. Only a small number of electronic components are necessary, which can be manufactured as standard. Due to the generation of multiple bit values in one scan, the data rate can be increased over known randombit generators. In embodiments, between 48 and 72 bit values are preferably generated, in particular 64 bit values. From this, at least two different random bits are generated or derived.
  • FIG. 1 shows a schematic illustration of a first exemplary embodiment of a device for generating random bits
  • FIG. 2 is a schematic flow diagram of a method for generating random bits
  • Fig. 3 is a schematic representation of a second embodiment of an apparatus for generating random bits
  • Fig. 4 is a diagram for explaining correlations between random bit values.
  • identical or functionally identical elements are provided with the same reference numerals, unless stated otherwise.
  • 1 shows a schematic representation of a first embodiment of a device 1 for generating random bits.
  • FIG. 1 For explaining the operation and the generation of random bits, a flowchart for a method for generating random bits is schematically indicated in FIG.
  • the first embodiment of a random bit generator 1 comprises a noise signal generator 2 which supplies a noise signal RS at an output 5.
  • the noise signal RS is, for example, an analog or quasi-analog signal which is generated by the noise source 2.
  • the noise signal RS is preferably generated by mutually coupled digital switching elements in the noise signal generator 2.
  • the device 1 comprises two buffer elements, which are designed as D flip-flops 3, 4. Each flip-flop 3, 4 has a data input D, a clock input C and a data output Q.
  • the noise signal RS is fed directly to the data inputs D of the flip-flops 3, 4.
  • bit values can be tapped as a function of the buffered or sampled level of the noise signal RS.
  • the outputs Q are routed to a respective output 6, 7 of the random bit generator device. At the outputs 6, 7 bit values Bl and B2 can be tapped.
  • the flip-flops 3, 4 provide substantially well-defined logic levels 0, 1 and L, H as bit values Bl, B2.
  • the noise signal RS fluctuates irregularly between predetermined levels, so that it is not possible to predict which logic level is detected or sampled by the flip-flops 3, 4 at the respective clock edge time.
  • the provision of the noise signal RS takes place in a first step S1.
  • sampling or sampling of the noise signal RS conducted to the data inputs D ensues in step S2.
  • step S3 Due to, for example, violations of setup and hold times for the flip-flops 3, 4 or other operating parameters counteracting the normal operation of flip-flops, randomness or entropy arises which is used to generate random bits from the bit values Bl, B2 can be.
  • step S3 therefore, the determination of a random bit occurs as a function of the generated bit values Bl, B2. It is possible for the differently sampled or generated bit values Bl, B2 to depend on operating conditions such as temperature voltage or external fields. Even manufacturing variations in the physical implementation of the flip-flops 3, 4 or the geometry of the circuit and signal propagation time can lead to different Abtannergeb- results in spite of the same clock signal CK.
  • FIG. 3 shows a further embodiment of a random bit generator.
  • the random bit generator 10 comprises an (analog) noise source 20, which supplies a random noise signal RS at an output 5.
  • the device is equipped with a clock signal generator 9 which supplies a clock signal CK which is fed to the clock inputs C of the flip-flops 3-1 to 3-N.
  • the noise signal source 20 is designed as a ring oscillator with three feedback inverters 12, 13, 14.
  • the feedback path can be interrupted via a controllable switch 15.
  • the controllable switch can be controlled by the control device 8, for example, by control signals CT1.
  • a well-defined signal level for example H or L, can be tapped at a node 16.
  • the switch 15 switches between the well-defined level at an open feedback path and a closed feedback path. Regularly, for example, the path is closed, so that a random oscillation of the ring oscillator begins. Due to the particularly short feedback path with only three inverters results in an analog noise signal RS at the output 5.
  • the noise signal RS is sampled in parallel and simultaneously from the flip-flops 3-1 to 3-N, thereby generating a respective bit or bit value B1-BN present at the respective output Q can be tapped.
  • the bit pattern from the bit values Bl-BN is fed via a suitable data line to the input 17 of the control device 8.
  • the control device 8 can evaluate or post-process the detected bit patterns Bl-BN. For example, skews or correlations of the bit values can be compensated by suitable calculation methods.
  • the random bit or Number generator 10 may be implemented as FPGA, for example.
  • FIG. 4 shows a correlation diagram with gray values, with a black box representing a correlation of 1 and a white box representing a correlation of -0.81.
  • the 64 possible bit values B1-B64 are recorded. It can be seen that each bit correlates with itself to 100%. It can also be seen that groups of bits occur which correlate relatively strongly with each other, while other bits are largely uncorrelated.
  • the correlation of the sampled noise signal components and the bit values Bl-BN generated therefrom may, for example, depend on the topology of the implemented digital circuit.
  • the random bit generator as an FPGA, the combination of configurable logic blocks of multiplexers, adders, flip-flops, and the like can lead to correlation, since, for example, signal paths are particularly similar for certain flip-flop groups.
  • the detected bit patterns of 64 bits can, for example, be mapped to bytes by means of hashing and then be post-processed using known methods.
  • a suitable method is, for example, in Ari Juels, Markus Jakobson, Elizabeth AMshriver, Bruce Hillyer: "How to turn lo- aded dice into fair coins "in IEEE Transactions on Information Theory, Vol. 46, No. 3, Pg. 911-921, Year: 2000.
  • there is potentially an additional overhead in the post-processing of the generated bit patterns for example by a microprocessor or suitable software, however, a very high bit rate can be achieved with random bits.
  • the proposed methods and devices are based essentially exclusively on digital circuit components, so that standard processes can be used for production. Despite the quasi-analog noise signal generation with the help of short ring oscillators, no complex mixed-signal implementation is necessary. Overall, only a few electronic components are needed, so that cost-sensitive applications can be equipped with random bit or number generators.

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)

Abstract

The invention relates to a method for generating a random bit, the method comprising: Generating (S1) a noise signal (RS); scanning (S2) the noise signal (RS) subject to a clock signal (CK) with the aid of a first intermediate storage element (3) for generating a first bit value (B1); scanning (S2) of the noise signal (RS) subject to the clock signal (CK) with the aid of at least one additional intermediate storage element (4) for generating at least one additional bit value (B2); and determining at least one random bit (ZS) subject to the generated bit values (B1, B2). A device (1, 100, 101) for generating a random bit comprises: A noise signal source (2) for generating a noise signal (RS), a first intermediate storage element (3), and at least one additional intermediate storage element (4) for simultaneously scanning the noise signal (RS) subject to a clock signal (CK).

Description

Beschreibung description
Verfahren und Vorrichtung zum Erzeugen von Zufallsbits Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen eines Zufallsbits sowie eine Vorrichtung zum Erzeugen eines oder mehrerer Zufallsbits. Es wird zum Beispiel eine Zufallsbitfolge erzeugt, welche als binäre Zufallszahl verwendet wird. Die vorgeschlagenen Vorrichtungen und Verfahren zum Er- zeugen von Zufallsbits dienen beispielsweise der Implementierung von Zufallszahlengeneratoren. Method and apparatus for generating random bits The present invention relates to a method for generating a random bit and to a device for generating one or more random bits. For example, a random bit sequence is generated which is used as a binary random number. The proposed devices and methods for generating random bits serve, for example, the implementation of random number generators.
Zufallsdaten werden beispielsweise bei Sicherheitsanwendungen benötigt. So können aus Zufallsbits kryptographische Schlüs- sei oder dergleichen abgeleitet werden. Im Idealfall haben erzeugte Zufallsbits eine gleiche Auftrittswahrscheinlichkeit und sind voneinander statistisch unabhängig. Dazu wird eine Zufallsquelle zur Erzeugung der Zufallsbits mit einer hohen Entropie gewünscht. Random data is needed for security applications, for example. Thus, random bits can be used to derive cryptographic keys or the like. Ideally, random bits generated have the same probability of occurrence and are statistically independent of each other. For this purpose, a random source for generating the random bits with a high entropy is desired.
Aus den erzeugten Zufallsbits können weitere komplexere Zufallszahlen, wie Zufallsbitfolgen oder Zufallsbytes, abgeleitet werden. In der Vergangenheit wurden unter Anderem physikalische Prozesse, wie radioaktive Zerfälle, als zufällige Ereignisse liefernde Objekte verwendet. Dabei besteht die Schwierigkeit darin, Messungen an dem physikalischen System aufwandsgünstig durchzuführen, um die Zufallsdaten ableiten zu können. Wün- sehenswert sind insbesondere Implementierungen, die keineFrom the generated random bits further more complex random numbers, such as random bit sequences or random bytes, can be derived. In the past, among other things, physical processes such as radioactive decays have been used as random events. The difficulty here is to carry out measurements on the physical system at low cost in order to be able to derive the random data. In particular, implementations that are not worthy of mention are desirable
Mischsignale aus analogen und digitalen Elementen erfordern. Require mixed signals from analog and digital elements.
Pseudozufallszahlengeneratoren sind bekannt und erzeugen aufgrund eines Algorithmus aus so genannten Seed-Daten Zufalls- bits . Da nach der Seed-Festlegung die abgeleitete Pseudozu- fallsbitfolge im Wesentlichen deterministisch ist, eignen sich derartige Zufallszahlengeneratoren eher nicht für kryptographische Anwendungen. In der Vergangenheit wurden Hardware-Zufallszahlengeneratoren unter der Ausnutzung von Schwankungen von Periodenlängen bzw. Jittern in RingoszillatorSchaltungen ausgenutzt. Häufig ge- nügte die erzielte Entropie und/oder Zufallsdatenrate jedoch nicht den gewünschten Anforderungen. Pseudo-random number generators are known and generate random bits based on an algorithm of so-called seed data. Since the derived pseudo-random bit string is essentially deterministic after the seed determination, such random number generators are not suitable for cryptographic applications. In the past, hardware random number generators have been exploited utilizing fluctuations of period lengths or jitter in ring oscillator circuits. Frequently, however, the achieved entropy and / or random data rate did not meet the desired requirements.
Daher ist eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren und/oder ein verbesserte Vorrichtung zum Erzeugen von Zufallsbits bereitzustellen. It is therefore an object of the present invention to provide an improved method and / or apparatus for generating random bits.
Demgemäß wird ein Verfahren zum Erzeugen eines Zufallsbits vorgeschlagen, welches die Schritte umfasst: Accordingly, a method for generating a random bit is proposed which comprises the steps:
Erzeugen eines Rauschsignals;  Generating a noise signal;
Abtasten des Rauschsignals in Abhängigkeit von einem Sampling of the noise signal as a function of a
Taktsignal mit Hilfe eines ersten Zwischenspeicherelements zum Erzeugen eines ersten Bitwertes; Clock signal by means of a first latch element for generating a first bit value;
Abtasten des Rauschsignals in Abhängigkeit von dem Taktsignal mit Hilfe mindestens eines weiteren Zwischenspeicher- elements zum Erzeugen mindestens eines weiteren Bitwertes; und  Sampling the noise signal as a function of the clock signal with the aid of at least one further buffer element for generating at least one further bit value; and
Bestimmen mindestens eines Zufallsbits in Abhängigkeit von den erzeugten Bitwerten. Ferner wird eine Vorrichtung zum Erzeugen eines Zufallsbits vorgeschlagen, die aufweist:  Determining at least one random bit in dependence on the generated bit values. Furthermore, an apparatus for generating a random bit is proposed, which comprises:
eine Rauschsignalquelle zum Erzeugen eines Rauschsignals;  a noise signal source for generating a noise signal;
ein erstes Zwischenspeicherelement und mindestens ein weiteres Zwischenspeicherelement zum gleichzeitigen Abtasten des Rauschsignals in Abhängigkeit von einem Taktsignal.  a first latching element and at least one further latching element for simultaneously sampling the noise signal in response to a clock signal.
Die Vorrichtung ist dabei insbesondere eingerichtet, ein entsprechendes Verfahren zum Erzeugen eines Zufallsbits durchzu- führen . In Ausführungsformen hat die Vorrichtung mindestens drei Zwischenspeicherelemente. Dadurch wird eine gute Entropie der ein Bitmuster erzeugenden Bitwerte erreicht. Das Rauschsignal stammt beispielsweise von einer Rauschsignalquelle, die ein Signal erzeugt. Beispielsweise können unregelmäßige Schwingungen erzeugt werden. Die Rauschsignalquelle kann ein auch echtes Zufallssignal liefern, welches zwischen vorgegebenen Signalpegeln schwankt. Durch das gleichzeitige Abtasten des Rauschsignals in der Art eines Sample in Abhängigkeit von einem Taktsignal zu einem Taktzeitpunkt wird in den Zwischenspeicherelementen ein jeweiliger Pegel erfasst und zwischengespeichert. Der erfasste Pegel entspricht dann einem Bitwert, beispielsweise 0 oder 1 bzw. L oder H. The device is in particular configured to perform a corresponding method for generating a random bit. In embodiments, the device has at least three buffer elements. This achieves good entropy of the bit-pattern-generating bit values. The noise signal originates, for example, from a noise signal source which generates a signal. For example, irregular vibrations can be generated. The noise signal source can also provide a true random signal which varies between predetermined signal levels. By simultaneously sampling the noise signal in the manner of a sample as a function of a clock signal at a clock time, a respective level is detected in the buffer elements and buffered. The detected level then corresponds to a bit value, for example 0 or 1 or L or H.
Das insbesondere analoge Rauschsignal wird somit gleichzeitig mehrfach abgetastet, wobei beispielsweise durch physikalische Unterschiede der implementierten Zwischenspeicherelemente in einem Halbleiterprozess Abweichungen entstehen. Auch eine Signallaufzeit kann zu unterschiedlichen Abtastergebnissen und damit unterschiedlichen Bitwerten führen. Das Zwischenspeicherelement ist beispielsweise ein Flip-Flop. Insbesondere bei einem D-Flip-Flop erfordert das Abtasten des Eingangs- signals, in dem vorliegenden Fall des Rauschsignals, bei einer Taktflanke. Da das Rauschsignal einen unregelmäßigen zeitlichen Signalverlauf hat, ergeben sich aus der unterschiedlichen physikalischen Implementierung der Zwischenspeicherelemente Ungenauigkeiten bzw. Zufälligkeiten. Beispiels- weise kann es zu Verletzungen von Setup- und Hold-Zeiten der Flip-Flops kommen, so dass unterschiedliche Messergebnisse an unterschiedlichen Zwischenspeicherelementen erfasst werden. In den Zwischenspeicherelementen potenziell auftretende metastabile Zustände können dabei ebenfalls als Quelle von Zufall verwendete werden. The particular analog noise signal is thus scanned simultaneously multiple times, whereby, for example, caused by physical differences of the implemented intermediate storage elements in a semiconductor process deviations. Also, a signal propagation time can lead to different sampling results and thus different bit values. The buffer element is for example a flip-flop. Particularly in the case of a D flip-flop, the sampling of the input signal, in the present case the noise signal, requires a clock edge. Since the noise signal has an irregular temporal signal curve, inaccuracies or randomness result from the different physical implementation of the buffer elements. For example, there may be violations of setup and hold times of the flip-flops, so that different measurement results are detected at different buffer elements. Potential metastatic states in the staging elements can also be used as a source of chance.
Es wird verstanden, dass eine Taktsignalquelle ein entsprechendes regelmäßig zwischen zwei Pegeln schwankendes Taktsig- nal erzeugt, wobei das Taktsignal steigende und fallende Taktflanken umfasst. Das erzeugte Taktsignal wird Takteingängen der Zwischenspeicherelemente zugeführt, welche aufgrund von Signalcharakteristiken, beispielsweise Signalflanken, in- tern eine Abtastung des Signalpegels an einem Dateneingang vollziehen und als logischen Pegel interpretieren. Der logische Pegel wird dann als Bitwert verstanden und ausgegeben. It will be understood that a clock signal source is a corresponding clock signal that fluctuates regularly between two levels. nal, wherein the clock signal comprises rising and falling clock edges. The generated clock signal is fed to clock inputs of the latching elements which, on the basis of signal characteristics, for example signal edges, internally perform a sampling of the signal level at a data input and interpret it as a logic level. The logic level is then understood as a bit value and output.
Die Strecke von der Taktsignalquelle zu den verschiedenen Zwischenspeicherelementen kann verschieden sein, und dasThe distance from the clock signal source to the various latch elements may be different, and that
Taktsignal kann daher unterschiedlich durch den Signalpfad beeinflusst werden, sodass die Signalformen sich gering unterscheiden können. Unter dem Taktsignal an einem jeweiligen Zwischenspeicherelement wird verstanden, dass ausgehend von dem Taktsignalerzeuger das Taktsignal verzweigt als „Zweigtaktsignale" den Zwischenspeicherelementen zugeführt wird. Das jeweilige Zweigtaktsignal entspricht daher im Wesentlichen modulo der Ein- flüsse durch den Signalweg oder anderer Faktoren dem erzeugten Taktsignal. Clock signal can therefore be influenced differently by the signal path, so that the signal shapes can differ slightly. The clock signal at a respective buffer element is understood to mean that, starting from the clock signal generator, the clock signal is branched to the buffer elements as "branch clock signals." The respective branch clock signal therefore corresponds essentially to the influences of the signal path or other factors on the generated clock signal.
Bei den Zwischenspeicherelementen kann man auch von Sample- and-Hold oder Abtast-und Haltegliedern sprechen. Im Wesentli- chen kommen jedoch Flip-Flops zum Einsatz. In the buffer elements can also speak of sample and hold or sample and hold members. Essentially, however, flip-flops are used.
In Ausführungsformen des Verfahrens und/oder der Vorrichtung zum Erzeugen eines Zufallsbits wird das Rauschsignal direkt an einen jeweiligen Dateneingang der Zwischenspeicherelemente zugeführt bzw. die Dateneingänge der Zwischenspeicherelemente sind an einen gemeinsamen Leitungsknoten gekoppelt, an dem das Rauschsignal abgreifbar ist. In embodiments of the method and / or the device for generating a random bit, the noise signal is supplied directly to a respective data input of the buffer elements or the data inputs of the buffer elements are coupled to a common line node, at which the noise signal can be tapped.
In Ausführungsformen des Verfahrens und der Vorrichtung wird das Rauschsignal mit Hilfe einer physikalischen Rauschquelle erzeugt. Es ist auch denkbar, dass das Rauschsignal mit Hilfe eines digitalen Ringoszillators erzeugt wird. Umfasst die Rauschsignalquelle einen digitalen Ringoszillatorschaltkreis, ist eine ungerade Anzahl von Invertereinrichtungen rückgekoppelt, so dass sich ein im Wesentlichen oszillierendes Signal ergibt. Bei besonders kurzen Inverterketten, beispielsweise drei oder fünf Inverter, ergibt sich eine quasi-analoge Sig- nalform durch den kurzen Rückkopplungspfad. Ein derartiges Oszillationssignal kann als Rauschsignal aufgefasst werden. In embodiments of the method and apparatus, the noise signal is generated by means of a physical noise source. It is also conceivable that the noise signal is generated by means of a digital ring oscillator. Does the noise signal source include a digital ring oscillator circuit, An odd number of inverter devices is fed back, resulting in a substantially oscillating signal. With particularly short inverter chains, for example three or five inverters, a quasi-analogue signal form results through the short feedback path. Such an oscillation signal can be regarded as a noise signal.
In Ausführungsformen umfasst ein entsprechender digitaler Ringoszillator zwischen drei und zehn Inverter, die direkt oder indirekt miteinander rückgekoppelt sind. In weiteren Ausführungsformen sind elf bis zwanzig Inverter rückgekoppelt. In embodiments, a corresponding digital ring oscillator comprises between three and ten inverters that are directly or indirectly fed back together. In further embodiments, eleven to twenty inverters are fed back.
In weiteren Ausführungsformen umfassen die digitalen Ringos- zillatorschaltkreise Glois- oder Fibonacci- und/oder einfache Ringoszillatoren. In further embodiments, the digital ring oscillator circuits include Glois or Fibonacci and / or simple ring oscillators.
Vorzugsweise umfasst die Vorrichtung zum Erzeugen von Zufallsbits ausschließlich digitale Bauelemente. Dies hat den Vorteil, dass keine gemischten Signalschaltkreise notwendig sind, die analoge und digitale Signale verarbeiten müssen. Insofern ist auch eine Herstellung mit Hilfe rein digitaler Schaltungskomponenten aufwandsgünstig möglich. Ein Zufallszahlengenerator bzw. eine Vorrichtung zum Erzeugen von Zu- fallszahlen kann dann mit Hilfe von Standard- Halbleiterprozessen hergestellt werden oder auch als FPGA oder in FPGA-Einrichtungen umgesetzt werden. The device for generating random bits preferably comprises exclusively digital components. This has the advantage that no mixed signal circuits are necessary, which must process analog and digital signals. In this respect, production with the aid of purely digital circuit components is also cost-effective. A random number generator or a device for generating random numbers can then be produced using standard semiconductor processes or else implemented as FPGAs or in FPGA devices.
Bei Varianten des Verfahrens kann das Erzeugen der Bitwerte mehrfach nacheinander erfolgen, und das Bestimmen mindestens eines Zufallsbits wird dann in Abhängigkeit von mehreren zuvor erzeugten Bitwerten durchgeführt. Insofern wird aus den Sätzen von Bitwerten oder Bitmustern, die sukzessive erzeugt werden die „enthaltene" Zufälligkeit ausgenutzt um im Wesent- lichen zufällige Daten abzuleiten. In variants of the method, the generation of the bit values can take place a plurality of times in succession, and the determination of at least one random bit is then carried out as a function of a plurality of previously generated bit values. In this respect, the sets of bit values or bit patterns that are generated successively exploit the "contained" randomness in order to essentially derive random data.
In Ausführungsformen des Verfahrens bzw. einer entsprechend implementierten Vorrichtung, die beispielsweise einen pro- grammierbaren Mikroprozessor, einen Mikrocontroller oder dergleichen als Steuereinrichtung umfasst, erfolgt ein Abbilden der Bitwerte auf Bytes mit Hilfe einer Hashfunktion. Es werden beispielsweise die bei einem Abtastvorgang erzeugen Bit- werte einer vorgegebenen Bitbreite (Anzahl der Bitwerte) auf ein Wort geringerer Bitbreite, beispielsweise eines Bytes abgebildet . In embodiments of the method or a correspondingly implemented device, for example, a In the case of a programmable microprocessor, a microcontroller or the like as a control device, the bit values are mapped to bytes with the aid of a hash function. For example, the bit values of a given bit width (number of bit values) generated during a scanning process are mapped to a word of lesser bit width, for example one byte.
Es kann ferner eine Nachbearbeitung der Bitwerte oder Bytes erfolgen. Dabei wird z.B. ein abgewandeltes Neumann-Verfahren zum Erzeugen von vorgegebenen Zufallsmustern von Bitwerten eingesetzt. Ein denkbares Verfahren ist beschrieben in: Ari Juels, Markus Jakobsson, Elizabeth A. M. Shriver, Bruce It is also possible to post-process the bit values or bytes. In doing so, e.g. a modified Neumann method for generating predetermined random patterns of bit values used. One conceivable method is described in: Ari Juels, Markus Jakobsson, Elizabeth A. M. Shriver, Bruce
Hillyer: „How to turn loaded dice into fair coins" in IEEE Transactions on Information Theory, Vol. 46, No. 3, Pg. 911- 921, Year: 2000. Hillyer: "How to Turn Dice into Fair Coins" in IEEE Transactions on Information Theory, Vol. 46, No. 3, pg. 911-921, Year: 2000.
Ausführungsformen des Verfahrens sehen vor, dass die bei einem Abtasten erzeugten Bitwerte einem vorgegebenen Zufalls- wert zugeordnet werden. Es wird beispielsweise bei jedem Abtasten ein Zufallsmuster erzeugt, wobei abhängig von der Bitbreite bzw. der Anzahl der bei einem Abtasten erzeugten Zufallsbits eine begrenzte Anzahl von verschiedenen Mustern erzeugt werden kann. Dies hängt von der konkreten elektroni- sehen bzw. physikalischen Ausgestaltung der Vorrichtung ab. Embodiments of the method provide that the bit values generated during a sampling are assigned to a predetermined random value. For example, a random pattern is generated each time a scan is performed, and a limited number of different patterns can be generated depending on the bit width or the number of random bits generated during a scan. This depends on the concrete electronic or physical design of the device.
Um Korrelationen zwischen Bitwerten bzw. Bits zu reduzieren oder zu kompensieren, sind geeignete Verfahren bekannt. Insgesamt ermöglicht das Verfahren einen schaltungstechnisch einfach zu realisierenden Zufallszahlengenerator. Es ist nur geringe Anzahl von elektronischen Komponenten notwendig, die standardmäßig hergestellt werden können. Aufgrund der Erzeugung von mehreren Bitwerten bei einem Abtastvorgang kann die Datenrate gegenüber bekannten Zufallsbiterzeugern erhöht werden. In Ausführungsformen werden vorzugsweise zwischen 48 und 72 Bitwerte erzeugt, insbesondere 64 Bitwerte. Daraus werden mindestens zwei verschiedene Zufallsbits erzeugt bzw. abgeleitet. In order to reduce or compensate correlations between bit values or bits, suitable methods are known. Overall, the method enables a circuit-wise easy-to-implement random number generator. Only a small number of electronic components are necessary, which can be manufactured as standard. Due to the generation of multiple bit values in one scan, the data rate can be increased over known randombit generators. In embodiments, between 48 and 72 bit values are preferably generated, in particular 64 bit values. From this, at least two different random bits are generated or derived.
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Verfahrensschritte, Merkmale oder Ausführungsformen des Ver- fahrens oder des Zufallsbitgenerators. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen oder abändern . Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der Ausführungsbeispiele, die im Zusammenhang mit den Zeichnungen näher erläu- tert werden. Further possible implementations of the invention also include not explicitly mentioned combinations of method steps, features or embodiments of the method or the random bit generator described above or below with regard to the exemplary embodiments. The skilled person will also add or modify individual aspects as improvements or additions to the respective basic form of the invention. The above-described characteristics, features, and advantages of this invention, as well as the manner in which they are achieved, will become clearer and more clearly understood in connection with the following description of the embodiments, which will be described in detail in conjunction with the drawings.
Dabei zeigen: Showing:
Fig. 1 eine schematische Darstellung eines ersten Aus- führungsbeispiels für eine Vorrichtung zum Erzeugen von Zufallsbits; 1 shows a schematic illustration of a first exemplary embodiment of a device for generating random bits;
Fig. 2 ein schematisches Ablaufdiagramm für ein Verfahren zum Erzeugen von Zufallsbits; FIG. 2 is a schematic flow diagram of a method for generating random bits; FIG.
Fig. 3 eine schematische Darstellung eines zweiten Ausführungsbeispiels für eine Vorrichtung zum Erzeugen von Zufallsbits; und Fig. 4 ein Diagramm zur Erläuterung von Korrelationen zwischen Zufallsbitwerten . In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist. Die Figur 1 zeigt eine schematische Darstellung eines ersten Ausführungsbeispiels für eine Vorrichtung 1 zum Erzeugen von Zufallsbits. Zum Erläutern des Betriebs und der Erzeugung von Zufallsbits ist in der Fig. 2 schematisch ein Ablaufdiagramm für ein Verfahren zum Erzeugen von Zufallsbits angedeutet. Fig. 3 is a schematic representation of a second embodiment of an apparatus for generating random bits; and Fig. 4 is a diagram for explaining correlations between random bit values. In the figures, identical or functionally identical elements are provided with the same reference numerals, unless stated otherwise. 1 shows a schematic representation of a first embodiment of a device 1 for generating random bits. For explaining the operation and the generation of random bits, a flowchart for a method for generating random bits is schematically indicated in FIG.
Die erste Ausführungsform eines Zufallsbitgenerators 1 um- fasst einen Rauschsignalgenerator 2, der an einem Ausgang 5 ein Rauschsignal RS liefert. Beim Rauschsignal RS handelt es sich beispielsweise um ein analoges oder quasi-analoges Sig- nal, das von der Rauschquelle 2 erzeugt wird. Das Rauschsignal RS ist vorzugsweise durch miteinander gekoppelte Digitalschaltelemente im Rauschsignalgenerator 2 erzeugt. The first embodiment of a random bit generator 1 comprises a noise signal generator 2 which supplies a noise signal RS at an output 5. The noise signal RS is, for example, an analog or quasi-analog signal which is generated by the noise source 2. The noise signal RS is preferably generated by mutually coupled digital switching elements in the noise signal generator 2.
Die Vorrichtung 1 umfasst zwei Zwischenspeicherelemente, die als D-Flip-Flops 3, 4 ausgestaltet sind. Jedes Flip-Flop 3, 4 hat einen Dateneingang D, einen Takteingang C und einen Datenausgang Q. Das Rauschsignal RS ist direkt an die Dateneingänge D der Flipflops 3, 4 zugeführt. An die Takteingänge C der Flipflops 3, 4 ist ein gemeinsames Taktsignal CK einge- koppelt. An den Ausgängen Q der Flipflops 3, 4 sind Bitwerte in Abhängigkeit von dem zwischengespeicherten bzw. gesampelten Pegel des Rauschsignals RS abgreifbar. Dazu sind die Ausgänge Q an einen jeweiligen Ausgang 6, 7 der ZufallsbitgeneratorVorrichtung geführt. An den Ausgängen 6, 7 sind Bitwerte Bl bzw. B2 abgreifbar. The device 1 comprises two buffer elements, which are designed as D flip-flops 3, 4. Each flip-flop 3, 4 has a data input D, a clock input C and a data output Q. The noise signal RS is fed directly to the data inputs D of the flip-flops 3, 4. To the clock inputs C of the flip-flops 3, 4 a common clock signal CK is coupled. At the outputs Q of the flip-flops 3, 4, bit values can be tapped as a function of the buffered or sampled level of the noise signal RS. For this purpose, the outputs Q are routed to a respective output 6, 7 of the random bit generator device. At the outputs 6, 7 bit values Bl and B2 can be tapped.
Die Flipflops 3, 4 liefern im Wesentlichen wohldefinierte logische Pegel 0, 1 bzw. L, H als Bitwerte Bl, B2. Das Rauschsignal RS schwankt hingegen zwischen vorgegebenen Pegeln un- regelmäßig, so dass nicht vorhersehbar ist, welcher logische Pegel von den Flip-Flops 3, 4 zum jeweiligen Taktflankenzeit- punkt erfasst bzw. abgetastet ist. Zum Erzeugen von wenig korrelierten Zufallsbitwerten an den Ausgängen 6, 7 erfolgt in einem ersten Schritt Sl die Bereitstellung des Rauschsignals RS. Anschließend erfolgt in Abhängigkeit von dem Taktsignal CK, beispielsweise bei einer stei- genden oder fallenden Taktsignalflanke, ein Sampeln oder Abtasten des an die Dateneingänge D geführten Rauschsignals RS im Schritt S2. Aufgrund von beispielsweise Verletzungen von Setup- und Hold-Zeiten für die Flip-Flops 3, 4 oder sonstigen dem bestimmungsgemäßen Betrieb von Flip-Flops entgegenwirken- den Betriebsparameter, entsteht Zufälligkeit oder Entropie, welche zur Erzeugung von Zufallsbits aus den Bitwerten Bl, B2 genutzt werden kann. Im Schritt S3 erfolgt daher in Abhängigkeit von den erzeugten Bitwerten Bl, B2 die Bestimmung eines Zufallsbits. Es ist möglich, dass die unterschiedlich abge- tasteten bzw. erzeugten Bitwerte Bl, B2 von Betriebsbedingungen wie Temperaturspannung oder externen Feldern abhängt. Auch Fertigungsschwankungen bei der physikalischen Implementierung der Flipflops 3, 4 oder die Geometrie der Schaltung und Signallaufzeit können zu unterschiedlichen Abtastergeb- nissen trotz desselben Taktsignals CK führen. The flip-flops 3, 4 provide substantially well-defined logic levels 0, 1 and L, H as bit values Bl, B2. By contrast, the noise signal RS fluctuates irregularly between predetermined levels, so that it is not possible to predict which logic level is detected or sampled by the flip-flops 3, 4 at the respective clock edge time. For generating little correlated random bit values at the outputs 6, 7, the provision of the noise signal RS takes place in a first step S1. Subsequently, in response to the clock signal CK, for example in the case of a rising or falling clock signal edge, sampling or sampling of the noise signal RS conducted to the data inputs D ensues in step S2. Due to, for example, violations of setup and hold times for the flip-flops 3, 4 or other operating parameters counteracting the normal operation of flip-flops, randomness or entropy arises which is used to generate random bits from the bit values Bl, B2 can be. In step S3, therefore, the determination of a random bit occurs as a function of the generated bit values Bl, B2. It is possible for the differently sampled or generated bit values Bl, B2 to depend on operating conditions such as temperature voltage or external fields. Even manufacturing variations in the physical implementation of the flip-flops 3, 4 or the geometry of the circuit and signal propagation time can lead to different Abtannergeb- results in spite of the same clock signal CK.
Durch mehrfaches Sampeln hintereinander und einer statistischen Auswertung können Korrelationen der an den Ausgängen 6, 7 abgreifbaren Bitwerten behandelt oder kompensiert werden, sodass echte Zufallsbits oder Zufallswerte abgeleitet werden können. Im Wesentlichen ergeben sich in der einfachen Darstellung der Fig. 1 vier mögliche Bitmuster B1 B2 = 01, 10, 11, 00. Es wird beispielsweise bei jeder steigenden Taktflanke ein entsprechendes "Zufallsbitmuster" erzeugt. By multiple sampling in succession and a statistical evaluation, correlations of the bit values which can be tapped off at the outputs 6, 7 can be treated or compensated so that true random bits or random values can be derived. Essentially, in the simple representation of FIG. 1, four possible bit patterns B1 B2 = 01, 10, 11, 00 are produced. For example, a corresponding "random bit pattern" is generated at each rising clock edge.
In der Fig. 3 ist eine weitere Ausführungsform für einen Zu- fallsbitgenerator dargestellt. Der Zufallsbitgenerator 10 um- fasst eine (analoge) Rauschquelle 20, die an einem Ausgang 5 ein zufälliges Rauschsignal RS liefert. Die Vorrichtung 10 umfasst beispielsweise N = 64 D-Flip-Flops 3-1 bis 3-N, die jeweils Dateneingänge D, Takteingänge C und Datenausgänge Q haben. Die Dateneingänge D sind gemeinsam an den Ausgang 5 gekoppelt und empfangen das Rauschsignal RS. Die Vorrichtung ist mit einem Taktsignalgenerator 9 ausgestattet, der ein Taktsignal CK liefert, welches in die Takteingänge C der Flip-Flops 3-1 bis 3-N geführt ist. Eine Steuereinrichtung 8, beispielsweise ein Mikrocontroller oder Prozessor, der geeig- net programmiert oder eingerichtet ist, steuert über Steuersignale CT1 und CT2 die Rauschquelle 20 und den Taktgenerator 9. FIG. 3 shows a further embodiment of a random bit generator. The random bit generator 10 comprises an (analog) noise source 20, which supplies a random noise signal RS at an output 5. The device 10 comprises, for example, N = 64 D flip-flops 3-1 to 3-N, each having data inputs D, clock inputs C and data outputs Q. The data inputs D are coupled together to the output 5 and receive the noise signal RS. The device is equipped with a clock signal generator 9 which supplies a clock signal CK which is fed to the clock inputs C of the flip-flops 3-1 to 3-N. A control device 8, for example a microcontroller or processor, which is suitably programmed or set up, controls the noise source 20 and the clock generator 9 via control signals CT1 and CT2.
In der Ausführungsform der Fig. 3 ist die Rauschsignalquelle 20 als Ringoszillator mit drei rückgekoppelten Invertern 12, 13, 14 ausgestaltet. Der Rückkopplungspfad ist über einen steuerbaren Schalter 15 unterbrechbar. Der steuerbare Schalter ist beispielsweise durch Steuersignale CT1 von der Steuereinrichtung 8 steuerbar. Ein wohldefinierter Signalpegel, beispielsweise H oder L, kann an einem Knoten 16 abgegriffen werden. Der Schalter 15 schaltet zwischen dem wohldefinierten Pegel bei einem geöffneten Rückkopplungspfad und einem geschlossenen Rückkopplungspfad. Regelmäßig wird beispielsweise der Pfad geschlossen, so dass eine zufällige Oszillation des Ringoszillators einsetzt. Aufgrund des besonders kurzen Rückkopplungspfads mit nur drei Invertern ergibt sich ein analoges Rauschsignal RS am Ausgang 5. In the embodiment of FIG. 3, the noise signal source 20 is designed as a ring oscillator with three feedback inverters 12, 13, 14. The feedback path can be interrupted via a controllable switch 15. The controllable switch can be controlled by the control device 8, for example, by control signals CT1. A well-defined signal level, for example H or L, can be tapped at a node 16. The switch 15 switches between the well-defined level at an open feedback path and a closed feedback path. Regularly, for example, the path is closed, so that a random oscillation of the ring oscillator begins. Due to the particularly short feedback path with only three inverters results in an analog noise signal RS at the output 5.
Beim Betrieb des Zufallsbitgenerators 10 wird in Abhängigkeit von dem Taktsignal CK das Rauschsignal RS parallel und gleichzeitig von den Flip-Flops 3-1 bis 3-N abgetastet, wodurch ein jeweiliges Bit bzw. ein Bitwert B1-BN erzeugt wird, der am jeweiligen Ausgang Q abgreifbar ist. Das Bitmuster aus den Bitwerten Bl-BN wird über eine geeignete Datenleitung an den Eingang 17 der Steuereinrichtung 8 geführt. Die Steuereinrichtung 8 kann die erfassten Bitmuster Bl-BN auswerten oder nachbehandeln. Beispielsweise können durch geeignete Rechenverfahren Schiefen oder Korrelationen der Bitwerte ausgeglichen werden. In operation of the random bit generator 10, in response to the clock signal CK, the noise signal RS is sampled in parallel and simultaneously from the flip-flops 3-1 to 3-N, thereby generating a respective bit or bit value B1-BN present at the respective output Q can be tapped. The bit pattern from the bit values Bl-BN is fed via a suitable data line to the input 17 of the control device 8. The control device 8 can evaluate or post-process the detected bit patterns Bl-BN. For example, skews or correlations of the bit values can be compensated by suitable calculation methods.
Am Ausgang 8 in der Steuereinrichtung 8 liegt dann ein Zufallsbit oder Zahlensignal ZS an, welches am Ausgang 11 des Zufallsbitgenerators 10 ausgegeben wird. Der Zufallsbit- oder Zahlengenerator 10 kann beispielsweise als FPGA implementiert sein. At the output 8 in the control device 8 there is then a random bit or number signal ZS, which is output at the output 11 of the random bit generator 10. The random bit or Number generator 10 may be implemented as FPGA, for example.
Untersuchungen der Anmelderin haben ergeben, dass beispiels- weise bei Implementierung der in Fig. 3 schematisch dargestellten Vorrichtung als FPGA mit N = 64 Flip-Flops eine verhältnismäßig geringe Korrelation der 64 Bits B1-B64 auftritt. Es ergibt sich beispielsweise, dass bei wiederholtem Starten des Ringoszillators 20 und nach einer vorgegebenen Zeit durch das Abtasten der Bitwerte Bl-BN etwa 150 verschiedene Bitmuster auftreten. Daraus ergibt sich pro Messung eine Entropie von 5,2 Bits. Insofern lassen sich Zufallsworte der Bitbreite 5 einigermaßen zuverlässig mit Hilfe der Vorrichtung 10 erzeugen . Investigations by the applicant have shown that, for example, when implementing the device shown schematically in FIG. 3 as a FPGA with N = 64 flip-flops, a relatively low correlation of the 64 bits B1-B64 occurs. It follows, for example, that with repeated starting of the ring oscillator 20 and after a predetermined time by the sampling of the bit values Bl-BN about 150 different bit patterns occur. This results in an entropy of 5.2 bits per measurement. In this respect, random words of the bit width 5 can be generated reasonably reliably with the aid of the device 10.
Die Fig. 4 zeigt ein Korrelationsdiagramm mit Grauwerten, wobei ein schwarzes Kästchen eine Korrelation von 1 und ein weißes Kästchen eine Korrelation von -0,81 darstellt. An den Kanten sind jeweils die 64 möglichen Bitwerte B1-B64 aufge- tragen. Man erkennt, dass jedes Bit mit sich selbst zu 100% korreliert. Man erkennt ferner, dass Gruppen von Bits auftreten, die relativ stark miteinander korrelieren, während andere Bits weitestgehend unkorreliert vorliegen. Die Korrelation der abgetasteten Rauschsignalanteile und der daraus erzeugten Bitwerte Bl-BN kann beispielsweise von der Topologie der realisierten Digitalschaltung abhängen. Bei der Implementierung des Zufallsbitgenerators als FPGA kann die Zusammenfassung als konfigurierbare Logikblöcke von Multiple- xern, Addierern, Flip-Flops und dergleichen zu Korrelation führen, da beispielsweise bei bestimmten Flip-Flop-Gruppen Signalwege besonders ähnlich verlaufen. FIG. 4 shows a correlation diagram with gray values, with a black box representing a correlation of 1 and a white box representing a correlation of -0.81. At the edges, the 64 possible bit values B1-B64 are recorded. It can be seen that each bit correlates with itself to 100%. It can also be seen that groups of bits occur which correlate relatively strongly with each other, while other bits are largely uncorrelated. The correlation of the sampled noise signal components and the bit values Bl-BN generated therefrom may, for example, depend on the topology of the implemented digital circuit. In the implementation of the random bit generator as an FPGA, the combination of configurable logic blocks of multiplexers, adders, flip-flops, and the like can lead to correlation, since, for example, signal paths are particularly similar for certain flip-flop groups.
Die erfassten Bitmuster aus 64 Bits können beispielsweise mit Hilfe eines Hashings auf Bytes abgebildet werden und dann mit Hilfe bekannter Verfahren nachbearbeitet werden. Ein geeignetes Verfahren ist zum Beispiel in Ari Juels, Markus Jakobs- son, Elizabeth A. M. Shriver, Bruce Hillyer: „How to turn lo- aded dice into fair coins" in IEEE Transactions on Information Theory, Vol. 46, No. 3, Pg. 911-921, Year: 2000 angegeben. Insofern ergibt sich potenziell ein Mehraufwand bei der Nachbearbeitung der erzeugten Bitmuster, die beispielsweise durch einen Mikroprozessor oder geeignete Software bewerkstelligt werden kann. Dennoch kann eine besonders hohe Bitrate mit Zufallsbits erzielt werden. The detected bit patterns of 64 bits can, for example, be mapped to bytes by means of hashing and then be post-processed using known methods. A suitable method is, for example, in Ari Juels, Markus Jakobson, Elizabeth AM Shriver, Bruce Hillyer: "How to turn lo- aded dice into fair coins "in IEEE Transactions on Information Theory, Vol. 46, No. 3, Pg. 911-921, Year: 2000. In this respect, there is potentially an additional overhead in the post-processing of the generated bit patterns, for example by a microprocessor or suitable software, however, a very high bit rate can be achieved with random bits.
Die vorgeschlagenen Verfahren und Vorrichtungen basieren im Wesentlichen auf ausschließlich digitalen Schaltungskomponen- ten, so dass Standardprozesse zur Fertigung eingesetzt werden können. Es ist trotz der quasi-analogen Rauschsignalerzeugung mit Hilfe von kurzen Ringoszillatoren keine aufwändige Mixed- Signal-Implementierung notwendig. Insgesamt werden nur wenige elektronische Komponenten benötigt, so dass auch kostensensitive Anwendungen mit entsprechend Zufallsbit- oder Zahlengeneratoren ausgestattet werden können. The proposed methods and devices are based essentially exclusively on digital circuit components, so that standard processes can be used for production. Despite the quasi-analog noise signal generation with the help of short ring oscillators, no complex mixed-signal implementation is necessary. Overall, only a few electronic components are needed, so that cost-sensitive applications can be equipped with random bit or number generators.
Obwohl die Erfindung im Detail durch das bevorzugte Ausfüh- rungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Although the invention has been further illustrated and described in detail by the preferred embodiment, the invention is not limited by the disclosed examples, and other variations can be derived therefrom by those skilled in the art without departing from the scope of the invention.

Claims

Patentansprüche claims
1. Verfahren zum Erzeugen eines Zufallsbits umfassend: A method of generating a random bit comprising:
Erzeugen (S1) eines Rauschsignals (RS) ;  Generating (S1) a noise signal (RS);
Abtasten (S2) des Rauschsignals (RS) in Abhängigkeit von einem Taktsignal (CK) mit Hilfe eines ersten Zwischenspeicherelements (3) zum Erzeugen eines ersten Bitwertes (Bl) ;  Sampling (S2) the noise signal (RS) as a function of a clock signal (CK) by means of a first buffer element (3) for generating a first bit value (Bl);
Abtasten (S2) des Rauschsignals (RS) in Abhängigkeit von dem Taktsignal (CK) mit Hilfe mindestens eines weiteren Zwi- schenspeicherelements (4) zum Erzeugen mindestens eines weiteren Bitwertes (B2) ; und  Sampling (S2) the noise signal (RS) as a function of the clock signal (CK) with the aid of at least one further buffer element (4) for generating at least one further bit value (B2); and
Bestimmen (S3) mindestens eines Zufallsbits (ZS) in Abhängigkeit von den erzeugten Bitwerten (B1, B2) .  Determining (S3) at least one random bit (ZS) in dependence on the generated bit values (B1, B2).
2. Verfahren nach Anspruch 1, wobei das Abtasten des Rauschsignals (RS) zu vorgegebene Taktflanken gleichzeitig mit Hilfe des ersten und der weiteren Zwischenspeicherelemente (3, 4) erfolgt. 2. The method of claim 1, wherein the sampling of the noise signal (RS) at predetermined clock edges simultaneously using the first and the further latch elements (3, 4).
3. Verfahren nach Anspruch 1 oder 2, wobei das Rauschsignal (RS) mit Hilfe einer physikalischen Rauschquelle (2) erzeugt wird. 3. The method of claim 1 or 2, wherein the noise signal (RS) by means of a physical noise source (2) is generated.
4. Verfahren nach einem der Ansprüche 1 - 3, wobei das 4. The method according to any one of claims 1-3, wherein the
Rauschsignal (RS) mit Hilfe eines insbesondere digitalen Ringoszillators (20) erzeugt wird. Noise signal (RS) using a particular digital ring oscillator (20) is generated.
5. Verfahren nach einem der Ansprüche 1 - 4, wobei das 5. The method according to any one of claims 1-4, wherein the
Rauschsignal (RS) direkt an einen jeweiligen Dateneingang (D) der Zwischenspeicherelemente (3, 4) zugeführt wird. Noise signal (RS) directly to a respective data input (D) of the latch elements (3, 4) is supplied.
6. Verfahren nach einem der Ansprüche 1 - 5, wobei mindestens fünf Bitwerte (B1...BN) erzeugt werden. 6. The method according to any one of claims 1-5, wherein at least five bit values (B1 ... BN) are generated.
7. Verfahren nach einem der Ansprüche 1 - 6, ferner umfassend: Abbilden der Bitwerte (B1...BN) auf Bytes mit Hilfe einer Hash-Funktion. The method of any of claims 1-6, further comprising: mapping the bit values (B1 ... BN) to bytes using a hash function.
8. Verfahren nach einem der Ansprüche 1 - 7, ferner umfassend: Unterziehen der Bitwerte (B1...BN) oder der Bytes einem Verfahren zum Erzeugen von vorgegebenen Zufallsmustern von Bitwerten. The method of any of claims 1-7, further comprising: subjecting the bit values (B1 ... BN) or the bytes to a method for generating predetermined random patterns of bit values.
9. Verfahren nach einem der Ansprüche 1 - 8, ferner umfassend: Zuordnen der bei einem Abtasten erzeugten Bitwerte (B1..B.N) zu einem vorgegebenen Zufallswert . 9. The method of claim 1, further comprising: assigning the bit values (B1..B.N) generated during a sampling to a predetermined random value.
10. Verfahren nach einem der Ansprüche 1 - 9, wobei das Erzeugen der Bitwerte (Bl, B2) mehrfach nacheinander erfolgt, und das Bestimmen (S3) mindestens eines Zufallsbits (ZS) in Abhängigkeit von mehreren zuvor erzeugten Bitwerten (B1, B2) erfolgt . 10. The method according to any one of claims 1-9, wherein the generation of the bit values (Bl, B2) is performed several times in succession, and the determination (S3) of at least one random bit (ZS) in dependence on a plurality of previously generated bit values (B1, B2) ,
11. Vorrichtung (1, 10) zum Erzeugen eines Zufallsbits mit: einer Rauschsignalquelle (2) zum Erzeugen eines Rauschsignals {RS) ; 11. Apparatus (1, 10) for generating a random bit comprising: a noise signal source (2) for generating a noise signal {RS);
einem ersten Zwischenspeicherelement (3) und mindestens einem weiteren Zwischenspeicherelement (4) zum gleichzeitigen Abtasten des Rauschsignals (RS) in Abhängigkeit von einem Taktsignal (CK) .  a first intermediate storage element (3) and at least one further intermediate storage element (4) for simultaneous sampling of the noise signal (RS) in response to a clock signal (CK).
12. Vorrichtung (1, 10) nach Anspruch 11, welche eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 - 10 durchzuführen . 12. Device (1, 10) according to claim 11, which is adapted to perform a method according to any one of claims 1-10.
13. Vorrichtung (1, 10) nach Anspruch 11 oder 12, wobei die Zwischenspeicherelemente (3, 4) Flip-Flop-Einrichtungen sind. 13. Device (1, 10) according to claim 11 or 12, wherein the latching elements (3, 4) are flip-flop devices.
14. Vorrichtung (1, 10) nach einem der Ansprüche 11 - 13, wobei die Vorrichtung (1, 10) ausschließlich digitale Bauelemente umfasst. 14. Device (1, 10) according to any one of claims 11 - 13, wherein the device (1, 10) exclusively comprises digital components.
15. Vorrichtung (1, 10) nach einem der Ansprüche 11 - 14, wo bei die Vorrichtung (1, 10) Teil einer FPGA-Einrichtung ist. 15. Device (1, 10) according to any one of claims 11 - 14, where in the device (1, 10) is part of an FPGA device.
PCT/EP2014/050308 2013-02-01 2014-01-09 Method and device for generating random bits WO2014117983A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE201310201687 DE102013201687A1 (en) 2013-02-01 2013-02-01 Method and apparatus for generating random bits
DE102013201687.5 2013-02-01

Publications (1)

Publication Number Publication Date
WO2014117983A1 true WO2014117983A1 (en) 2014-08-07

Family

ID=49998234

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2014/050308 WO2014117983A1 (en) 2013-02-01 2014-01-09 Method and device for generating random bits

Country Status (2)

Country Link
DE (1) DE102013201687A1 (en)
WO (1) WO2014117983A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946313A (en) * 2021-10-12 2022-01-18 哲库科技(北京)有限公司 Processing circuit, chip and terminal of LOOKUP3 hash algorithm

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003093971A2 (en) * 2002-04-29 2003-11-13 Infineon Technologies Ag Device and method for generating a random number

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004047425B4 (en) * 2004-09-28 2007-06-21 Micronas Gmbh Random number generator and method for generating random numbers
DE602005008362D1 (en) * 2005-01-28 2008-09-04 Infineon Technologies Ag Oscillator-based random number generator

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003093971A2 (en) * 2002-04-29 2003-11-13 Infineon Technologies Ag Device and method for generating a random number

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ARI JUELS; MARKUS JAKOBSSON; ELIZABETH A. M. SHRIVER; BRUCE HILLYER: "How to turn lo aded dice into fair coins", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 46, no. 3, 2000, pages 911 - 921
ARI JUELS; MARKUS JAKOBSSON; ELIZABETH A. M. SHRIVER; BRUCE HILLYER: "How to turn loaded dice into fair coins", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 46, no. 3, 2000, pages 911 - 921
FISCHER V ET AL: "TRUE RANDOM NUMBER GENERATOR EMBEDDED IN RECONFIGURABLE HARDWARE", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. INTERNATIONALWORKSHOP, XX, XX, 13 August 2002 (2002-08-13), pages 415 - 430, XP001160534 *
MEHRDAD MAJZOOBI ET AL: "FPGA-Based True Random Number Generation Using Circuit Metastability with Adaptive Feedback Control", 28 September 2011, CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS Â CHES 2011, SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 17 - 32, ISBN: 978-3-642-23950-2, XP019166873 *
OCTAVIAN CRE ET AL: "Implementing True Random Number Generators Based on High Fanout Nets", ROMANIAN JOURNAL OF INFORMATION SCIENCE AND TECHNOLOGY VOLUME, 3 November 2012 (2012-11-03), pages 277 - 298, XP055112731, Retrieved from the Internet <URL:http://www.imt.ro/romjist/Volum15/Number15_3/06-OCret.pdf> [retrieved on 20140408] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946313A (en) * 2021-10-12 2022-01-18 哲库科技(北京)有限公司 Processing circuit, chip and terminal of LOOKUP3 hash algorithm

Also Published As

Publication number Publication date
DE102013201687A1 (en) 2014-08-07

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
DE112011106024B4 (en) Device specific information generating apparatus and device specific information generating method
DE102014102501A1 (en) Random number generator
DE102012210990A1 (en) Method for generating random numbers
DE102016119750B4 (en) Devices and methods for multi-channel scanning
DE102014200163A1 (en) A method for generating an output of a random source of a random number generator
WO2014117983A1 (en) Method and device for generating random bits
DE102014200309A1 (en) Method for checking an output
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
DE102014224421A1 (en) Method and apparatus for generating random bits
DE102014219651A1 (en) Method and apparatus for generating random bits
DE102013213095A1 (en) Generating a number of random bits
DE102014203649A1 (en) Method for classifying and/or generating random bits, for mobile applications, involves classifying output signal from logic elements in ring oscillator circuit as random coincidence signal/non-random function of occurring bit patterns
DE102014203648A1 (en) Device for generating random bits in random number generator, has detecting device that is provided to detect various random bits when successive level of input signal changes
DE102013213385A1 (en) Method for evaluating an output of a random number generator
DE102013204272A1 (en) Method for detecting a correlation
DE102014226996A1 (en) Method and apparatus for generating random bits
DE102008033162A1 (en) Physical random number generator
EP3413188B1 (en) Method for optimal layout of a random number generator
DE102017215622A1 (en) DEVICES AND METHOD FOR OBTAINING BIT SEQUENCES
DE102016207448A1 (en) Device with a plurality of digital gate circuits and method for operating the same
DE102014209964A1 (en) Method and apparatus for generating random bits
DE102014219693A1 (en) Method and apparatus for generating random bits

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: 14700830

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14700830

Country of ref document: EP

Kind code of ref document: A1