DE102013213095A1 - Generating a number of random bits - Google Patents

Generating a number of random bits Download PDF

Info

Publication number
DE102013213095A1
DE102013213095A1 DE201310213095 DE102013213095A DE102013213095A1 DE 102013213095 A1 DE102013213095 A1 DE 102013213095A1 DE 201310213095 DE201310213095 DE 201310213095 DE 102013213095 A DE102013213095 A DE 102013213095A DE 102013213095 A1 DE102013213095 A1 DE 102013213095A1
Authority
DE
Germany
Prior art keywords
bit
random
bits
ring oscillator
oscillating circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE201310213095
Other languages
German (de)
Inventor
Markus Dichtl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE201310213095 priority Critical patent/DE102013213095A1/en
Priority to PCT/EP2014/060769 priority patent/WO2015000640A1/en
Publication of DE102013213095A1 publication Critical patent/DE102013213095A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators

Abstract

Es wird ein Verfahren vorgestellt zum Erzeugen von einer Anzahl von Zufallsbits mit einer elektronischen Schwingschaltung, wobei an verschiedenen Stellen innerhalb eines Zufallszahlengenerators Signale gleichzeitig abgetastet oder gesampelt werden. Eine gegebenenfalls vorhandene statistische Abhängigkeit gleichzeitig gesampelter Bits wird durch eine algorithmische Nachbearbeitung beseitigt. Die gleichzeitig gesampelten Bits bilden ein Tupel von Bits und werden der algorithmischen Nachbearbeitung unterzogen, bei der aus einem der gebildeten Tupel potentiell mehr als ein Bit Entropie entstehen kann. Außerdem wird eine Vorrichtung zur Durchführung des vorgestellten Verfahrens vorgestellt.A method is presented for generating a number of random bits with an electronic oscillator circuit, wherein signals are sampled or sampled simultaneously at different locations within a random number generator. An optional statistical dependence of simultaneously sampled bits is eliminated by algorithmic post-processing. The simultaneously sampled bits form a tuple of bits and are subjected to algorithmic post-processing, where potentially more than one bit of entropy can result from one of the tuples formed. In addition, an apparatus for carrying out the presented method is presented.

Description

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erzeugen von einer Anzahl von Zufallsbits mit einer elektronischen Schwingschaltung. The invention relates to a method and apparatus for generating a number of random bits with an electronic oscillator 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.

Ferner werden Ringoszillatoren und deren Abwandlungen als Zufallszahlengeneratoren verwendet. Bei Ringoszillatoren, die aus einer ungeraden Anzahl von hintereinander geschalteten Invertern aufgebaut sind, ergibt sich beispielsweise ein zufälliger Jitter aus schwankenden Durchlaufzeiten der Signale durch die 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. Furthermore, ring oscillators and their modifications are used as random number generators. In the case of ring oscillators, which are composed of an odd number of inverters connected in series, for example, a random jitter results from fluctuating throughput times of the signals by the 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.

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. It is known to sample oscillating feedback circuits at multiple locations simultaneously and to algorithmically compress the sampled bits into a single bit. For such a compression XOR operations of the bits are usually made. For example, such a circuit is in the publication of K. Wold, CH Tan, "Analysis and Enhancement of Random Number Generator in FPGA based on oscillator rings", Proc. of ReConFig 2008, Cancun, 2008, pp. 385-390 , described.

Ein Ziel bei der Erzeugung echter Zufallszahlen ist es, aus einem von einem Zufallszahlengenerator herbeigeführten Zufallsereignis möglichst viel Entropie in der Form von Zufallsbits zu gewinnen. A goal in generating true random numbers is to obtain as much entropy as random bits from a random event induced by a random number generator.

Vor diesem Hintergrund ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung mit verbesserter Rate der Zufallsbiterzeugung bereitzustellen. Against this background, it is an object of the present invention to provide a method and apparatus having an improved rate of random bit generation.

Diese Aufgabe wird durch ein Verfahren und eine Vorrichtung zum Erzeugen von einer Anzahl 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 a number of 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 einer Anzahl von Zufallsbits mit einer elektronischen Schwingschaltung, folgende Schritte auf:

  • – in einem ersten Schritt werden ein erstes Bit durch eine erste Abtasteinrichtung an einer ersten Stelle in der elektronischen Schwingschaltung und mindestens ein zweites Bit durch mindestens eine zweite Abtasteinrichtung an mindestens einer von der ersten Stelle abweichenden zweiten Stelle gleichzeitig abgegriffen;
  • – in einem zweiten Schritt wird in Abhängigkeit von dem ersten Bit und dem mindestens einen zweiten Bit mit Hilfe einer algorithmischen Nachbearbeitung die Anzahl von Zufallsbits erzeugt;
  • – als Anzahl kann ein Wert größer als 1 erzeugt werden.
According to the invention, a method for generating a number of random bits with an electronic oscillating circuit comprises the following steps:
  • In a first step, a first bit is tapped simultaneously by a first scanning device at a first position in the electronic oscillating circuit and at least a second bit by at least one second scanning device at at least one second point deviating from the first position;
  • In a second step, the number of random bits is generated in dependence on the first bit and the at least one second bit by means of algorithmic post-processing;
  • - the number can be a value greater than 1.

Dadurch wird ein Verfahren bereitgestellt, welches an verschiedenen Stellen innerhalb eines Zufallszahlengenerators, insbesondere innerhalb der elektronischen Schwingschaltung, Signale gleichzeitig abtastet oder sampelt. Eine gegebenenfalls vorhandene statistische Abhängigkeit gleichzeitig gesampelter Bits wird durch die algorithmische Nachbearbeitung beseitigt. Die gleichzeitig gesampelten Bits bilden ein Tupel von Bits und werden der algorithmischen Nachbearbeitung unterzogen, bei der aus einem der gebildeten Tupel potentiell mehr als ein Bit Entropie entstehen kann. Dabei wird je nach Inputbits durch das Nachbearbeitungsverfahren als Output mehr als ein Bit Entropie erzeugt oder weniger als ein Bit Entropie. As a result, a method is provided which simultaneously samples or samples signals at different locations within a random number generator, in particular within the electronic oscillator circuit. An optional statistical dependence of simultaneously sampled bits is eliminated by the algorithmic post-processing. The simultaneously sampled bits form a tuple of bits and are subjected to algorithmic post-processing, where potentially more than one bit of entropy can result from one of the tuples formed. Depending on the input bits, the postprocessing method generates more than one bit of entropy as output or less than one bit of entropy.

Unter einer Abtasteinrichtung und insbesondere der ersten Abtasteinrichtung sowie der zweiten Abtasteinrichtung wird in der vorliegenden Anmeldung ein Element bezeichnet, welches ein Signal zu einem durch ein anderes Signal festgelegten Zeitpunkt erfasst. Dabei wird insbesondere ein Signal an einer Stelle der elektronischen Schwingschaltung ausgekoppelt und einem Eingang der ersten Abtasteinrichtung zugeführt. An mindestens einer weiteren Stelle in der elektronischen Schwingschaltung, beispielsweise zwischen jedem Inverter einer klassischen Ringoszillatorschaltung, wird ebenso ein Signal ausgekoppelt und einem Eingang der zweiten bzw. der jeweiligen Abtasteinrichtung zugeführt. Das Sampeln durch die jeweilige Abtasteinrichtung erfolgt dann gleichzeitig. In the present application, a scanning device and in particular the first scanning device and the second scanning device designate an element which detects a signal at a point in time determined by another signal. In particular, a signal is coupled out at one point of the electronic oscillating circuit and fed to an input of the first scanning device. At least one further point in the electronic oscillating circuit, for example between each inverter of a conventional ring oscillator circuit, a signal is also coupled out and fed to an input of the second or the respective scanning device. The sampling by the respective scanning then takes place simultaneously.

Insbesondere vermeidet die elektronische Schwingschaltung digitale Speicherelemente oder eine Toggle-Flip-Flop-Schaltung. In particular, the electronic oscillating circuit avoids digital storage elements or a toggle flip-flop circuit.

Unter einer Toggle-Flipflop-Schaltung, auch Toggle-Flipflop oder T-Flipflop genannt, wird in der vorliegenden Anmeldung ein Element verstanden, welches eine bistabile Kippstufe darstellt und mit jedem Taktimpuls seinen Ausgangszustand ändert. T-Flipflops wechseln beispielsweise den intern abgespeicherten logischen Zustand bei jeder steigenden oder fallenden Signalflanke des eingekoppelten Zufallssignals. Under a toggle flip-flop circuit, also called toggle flip-flop or T-flip-flop, is understood in the present application, an element which represents a bistable flip-flop and changes its output state with each clock pulse. T flip-flops, for example, change the internally stored logic state at each rising or falling signal edge of the coupled random signal.

Gemäß einer Ausführungsform wird die elektronische Schwingschaltung als klassischer Ringoszillator, Mehrspurringoszillator, Fibonacci-Ringoszillator, Galois-Ringoszillatoren, rückkopplungsfreier Mehrspurzufallszahlengenerator oder Multiplizierer-Zufallszahlengenerator ausgebildet. According to one embodiment, the electronic oscillator circuit is designed as a classical ring oscillator, multi-track oscillator, Fibonacci ring oscillator, Galois ring oscillators, feedback-free multi-track random number generator or multiplier random number generator.

Bei Ringoszillatorschaltungen, wobei dieser Begriff sowohl klassische Ringoszillatoren, Mehrspurringoszillatoren, Fibonacci-Ringoszillatoren wie auch Galois-Ringoszillatoren umfasst, wird eine Anzahl von logischen Gattern rückgekoppelt. 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. In ring oscillator circuits, which term includes both classical ring oscillators, multi-track oscillators, Fibonacci ring oscillators, and Galois ring oscillators, 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.

Bei rückkopplungsfreien Mehrspurzufallszahlengeneratoren liegt keine Rückkopplungsschleife derart vor, dass eine Zustandsänderung mindestens eines Rückkopplungsausgangssignals einer Abbildungseinrichtung als eine Zustandsänderung mindestens eines Eingangssignal einer anderen Abbildungseinrichtung derart zugeführt ist, dass eines oder mehrere Ausgangssignale der Abbildungseinrichtung von der Zustandsänderung des Rückkopplungsausgangssignals beeinflusst wird. In feedback-less multi-track random number generators, there is no feedback loop such that a state change of at least one feedback output of one imaging device is supplied as a change in state of at least one input signal of another imaging device such that one or more output signals of the imaging device are affected by the state change of the feedback output signal.

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.

Gemäß einer Ausführungsform wird die elektronische Schwingschaltung zumindest teilweise digital und/oder zumindest teilweise analog ausgeführt. Als Baugruppen einer Schaltung können analoge Elemente wie invertierende Verstärker verbaut sein. Ferner ist der Einsatz vollständig digitaler Bauelemente in der elektronischen Schwingschaltung vorteilhalft, da eine aufwandsgünstige Implementierbarkeit möglich ist. According to one embodiment, the electronic oscillating circuit is at least partially executed digitally and / or at least partially analog. As components of a circuit, analog elements such as inverting amplifiers can be installed. Furthermore, the use of completely digital components in the electronic oscillating circuit is advantageous since a low-cost implementability is possible.

Gemäß einer weiteren Ausführungsform wird die elektronische Schwingschaltung als Teil einer FPGA-Einrichtung oder ASIC-Einrichtung ausgeführt. According to another embodiment, the electronic oscillation circuit is implemented as part of an FPGA device or ASIC device.

Gemäß einer Weiterbildung wird ein jeweiliger Pegel eines ersten Zufallssignals und eines zweiten Zufallssignals durch jeweilige Zwischenspeicherelemente gespeichert. According to a development, a respective level of a first random signal and a second random signal is stored by respective latch elements.

Beispielsweise kann ein Verzögerungs-Flipflop oder Delay-Flipflop, auch D-Flipflop genannt, den jeweiligen Pegel an der jeweiligen ersten Stelle oder zweiten Stelle speichern. Das erste Zwischenspeicherelement, beispielsweise ein erster D-Flipflop, nimmt an einem ersten Dateneingang das erste Zufallssignal an und liefert an einem ersten Datenausgang einen zwischengespeicherten ersten logischen Pegel als erstes Bit. For example, a delay flip-flop or delay flip-flop, also called a D flip-flop, can store the respective level at the respective first location or second location. The first buffer element, for example a first D flip-flop, adopts the first random signal at a first data input and supplies at a first data output a buffered first logic level as the first bit.

Die jeweilige Abtasteinrichtung kann durch das jeweilige Zwischenspeicherelement gebildet werden. Insbesondere werden mehrere Zwischenspeicherelemente, wie beispielsweise mehrere Flipflops, kombiniert. The respective scanning device can be formed by the respective buffer element. In particular, a plurality of buffer elements, such as a plurality of flip-flops, are combined.

Gemäß einer Weiterbildung wird durch jeweilige Inhalte der jeweiligen Zwischenspeicherelemente ein n-Tupel von Bits erzeugt. According to a further development, an n-tuple of bits is generated by respective contents of the respective buffer elements.

Pro Sampeln, das heißt je einem Abtastvorgang, wird das n-Tupel durch die jeweiligen Inhalte der jeweiligen Zwischenspeicherelemente gebildet. Aus n Zwischenspeicherelementen mit jeweiligem Inhalt, also jeweiligen gespeicherten Pegeln, kann insbesondere ein n-Tupel gebildet werden. For each sampling, that is to say one scanning operation each, the n-tuple is formed by the respective contents of the respective buffer elements. In particular, an n-tuple can be formed from n buffer elements with respective contents, ie respective stored levels.

Dies erhöht die Datenrate für die erzeugten Zufallsbits, da pro Sampeln eine durch die verbauten Zwischenspeicherelemente vorgegebene Anzahl von Bits erzeugt werden kann. In Abhängigkeit davon werden die Zufallsbits erzeugt. This increases the data rate for the generated random bits, since a number of bits predetermined by the built-in buffer elements can be generated per sample. Depending on this, the random bits are generated.

In einer Weiterbildung wird der ersten Abtasteinrichtung und der mindestens einen zweiten Abtasteinrichtung ein gleichzeitiges Abtastsignal vorgegeben. In a development, the first scanning device and the at least one second scanning device are given a simultaneous scanning signal.

Das Abtasten des ersten Zufallssignals und des mindestens einen zweiten Zufallssignals erfolgt damit gleichzeitig oder nahezu gleichzeitig. Infolgedessen kann auch das erste Bit und das mindestens eine zweite Bit annähernd gleichzeitig ausgegeben werden sowie daraus das n-Tupel von Bits sowie daraus die Anzahl von Zufallsbits erzeugt werden. Je gleichzeitig durchgeführtem Sampeln entstehen also mehrere, das heißt mindestens zwei Bits, aus welchen die Anzahl von Zufallsbits erzeugt wird. The sampling of the first random signal and the at least one second random signal thus takes place simultaneously or almost simultaneously. As a result, the first bit and the at least one second bit can also be output almost simultaneously and the n-tuple of bits can be generated therefrom and the number of random bits can be generated therefrom. Each sampling carried out simultaneously produces several, that is, at least two bits, from which the number of random bits is generated.

Gemäß einer Weiterbildung wird durch ein Takteingangssignal einer Delay-Flip-Flop-Schaltung das Abtastsignal gebildet. Eine Delay-Flip-Flop-Schaltung oder ein Delay-Flipflop oder Verzögerungs-Flipflop oder D-Flipflop ermöglicht ein getaktetes Abtasten eines Signals. Das heißt insbesondere, dass die an mehreren Stellen innerhalb der elektronischen Schwingschaltung abgeleiteten Signale gleichzeitig durch das Vorgeben eines Takteingangssignales am jeweiligen D-Flipflop gesampelt werden können. According to a development, the sampling signal is formed by a clock input signal of a delay flip-flop circuit. A delay flip-flop circuit or a delay flip-flop or delay flip-flop or D flip-flop enables a clocked sampling of a signal. This means, in particular, that the signals derived at several points within the electronic oscillator circuit can be sampled simultaneously by predetermining a clock input signal at the respective D flipflop.

Gemäß einer Ausführungsform wird durch die algorithmische Nachbearbeitung mehr als ein Bit Entropie erzeugt. Die Möglichkeit einer statistischen Abhängigkeit der gleichzeitig gesampelten Bits untereinander erfordert eine algorithmische Nachbearbeitung. Durch diese Nachbearbeitung wird ein gesampeltes Tupel derart nachbearbeitet, dass je nach Beschaffenheit des Tupels aus einem Tupel mehr als ein Bit Entropie erzeugt wird. In one embodiment, more than one bit of entropy is generated by algorithmic post processing. The possibility of a statistical dependence of the simultaneously sampled bits among each other requires an algorithmic post-processing. This postprocessing processes a sampled tuple in such a way that, depending on the nature of the tuple, more than one bit of entropy is generated from a tuple.

Die algorithmische Nachbearbeitung kann je nach Anforderung dahingehend adaptiert werden, dass bei weniger aufwändiger Nachbearbeitung ein geringerer Teil der Entropie aus dem gesampelten Tupel extrahiert wird als bei einer aufwändigeren Nachbearbeitung, bei welcher ein größerer Teil der Entropie extrahiert wird. Asymptotisch kann die gesamte gesampelte Entropie extrahiert werden. Depending on the requirement, the algorithmic post-processing can be adapted in such a way that, with less complicated post-processing, a smaller part of the entropy is extracted from the sampled tuple than with a more elaborate post-processing in which a larger part of the entropy is extracted. Asymptotically, the entire sampled entropy can be extracted.

Von entscheidender Bedeutung für die Zufallszahlenerzeugung mit simultanem Sampeln mehrerer Signale einer elektronischen Schwingschaltung ist es, ein geeignetes algorithmisches Nachbearbeitungsverfahren zu verwenden, welches trotz der potentiell zwischen den simultan gesampelten Bits vorhandenen statistischen Abhängigkeiten statistisch unabhängige Outputbits liefert oder wenigstens Outputbits, die sich praktisch nicht von statistisch unabhängigen unterscheiden lassen. Of crucial importance for random number generation with simultaneous sampling of multiple signals from an electronic oscillator circuit is to use a suitable algorithmic postprocessing method which, despite the statistical dependencies potentially present between the simultaneously sampled bits, provides statistically independent output bits or at least output bits that are not practically statistical be distinguished independently.

Setzt man voraus, dass die zu verschiedenen Zeitpunkten gesampelten Tupel von Bits einer stationären Verteilung gehorchen und voneinander statistisch unabhängig sind, dann ist das Nachbearbeitungsverfahren aus der Veröffentlichung von Ari Juels, Markus Jakobsson, Elizabeth A. M. Shriver, Bruce Hillyer "How to turn loaded dice into fair coins" in den IEEE Transactions on Information Theory Vol. 46 No. 3 pp. 911–921, 2000 optimal zur algorithmischen Nachbearbeitung geeignet. Assuming that the tuples sampled at different times obey a stationary distribution bit and are statistically independent of one another, then the postprocessing method is from the publication of Ari Juels, Markus Jakobsson, Elizabeth AM Shriver, Bruce Hillyer "How to turn loaded dice into fair coins" in the IEEE Transactions on Information Theory Vol. 3 pp 911-921, 2000 optimally suited for algorithmic postprocessing.

Man kann sagen, dass dieses Verfahren asymptotisch die gesamte in den Bits vorhandene Entropie extrahiert. It can be said that this method asymptotically extracts the total entropy present in the bits.

Die Annahme einer stationären Verteilung wird durch in der letzten Zeit von Forschern durchgeführte Untersuchungen der Akkumulation des Jitters in klassischen Ringoszillatoren in Frage gestellt. Die Ringoszillatoren haben offensichtlich einen Gedächtnismechanismus, der sich auch über längere Zeiträume von mehreren Millisekunden erstreckt. The assumption of a stationary distribution is called into question by recent investigations by researchers of the accumulation of jitter in classical ring oscillators. The ring oscillators obviously have a memory mechanism that also extends over longer periods of several milliseconds.

Vor diesem Hintergrund erscheint die Annahme einer stationären Verteilung von durch chaotisch schwingende rückgekoppelte Logikschaltungen erzeugten Zufallsbits gegebenenfalls nicht gerechtfertigt. Es stellt sich daher die Frage nach einem angemessenen algorithmischen Nachbearbeitungsverfahren für Zufallsbits aus einer nicht stationären Verteilung. Against this background, the assumption of a stationary distribution of random bits generated by chaotically oscillating feedback logic circuits may not be justified. The question therefore arises of a suitable algorithmic postprocessing method for random bits from a non-stationary distribution.

Gemäß einer Weiterbildung wird die algorithmische Nachbearbeitung durch eine kryptographische Funktion durchgeführt. According to a development, the algorithmic post-processing is performed by a cryptographic function.

Es kommen hier insbesondere kryptographische Funktionen in Frage. Diese sind eine aus praktischer Sicht brauchbare Lösung, insbesondere falls in einem System zur Zufallszahlenerzeugung kryptographische Funktionen vorgesehen sind. Cryptographic functions come into question here in particular. These are practical from a practical point of view, especially if cryptographic functions are provided in a random number generation system.

Als kryptographische Funktionen zur Nachbearbeitung kommen Blockchiffren und Hashfunktionen in Frage. Bei beiden nimmt man aus resultierenden Zufallsbits nicht die gesamte Blockbreite, sondern etwas weniger Bits, als man den Entropiegehalt des Inputs konservativ abgeschätzt hat. Hashfunktionen stellen wegen der für diese Anwendung nicht benötigten Kollisionsfreiheit einen Overkill dar, ihr Einsatz kann dennoch sinnvoll sein, wenn die Hashfunktion auch für andere Zwecke benötigt wird. As cryptographic functions for post-processing block ciphers and hash functions come into question. For both, one does not take the entire block width of resulting random bits, but rather a few bits, as one has conservatively estimated the entropy content of the input. Hash functions are overkill due to the collision freedom not required for this application, but their use may still be useful if the hash function is also needed for other purposes.

Die Erfindung umfasst ferner eine Vorrichtung zum Erzeugen von einer Anzahl von Zufallsbits mit einer elektronischen Schwingschaltung,
mit einer ersten Abtasteinrichtung und mindestens einer zweiten Abtasteinrichtung,
zum gleichzeitigen Abgreifen eines ersten Bits an einer ersten Stelle in der elektronischen Schwingschaltung mittels der ersten Abtasteinrichtung und mindestens eines zweiten Bits an mindestens einer von der ersten Stelle abweichenden zweiten Stelle mittels der mindestens einen zweiten Abtasteinrichtung,
mit einer Nachbearbeitungskomponente zum Erzeugen der Anzahl von Zufallsbits mit Hilfe einer algorithmischen Nachbearbeitung in Abhängigkeit von dem ersten Bit und dem mindestens einen zweiten Bit,
wobei als Anzahl ein Wert größer als 1 erzeugbar ist.
The invention further comprises an apparatus for generating a number of random bits with an electronic oscillator circuit,
with a first scanning device and at least one second scanning device,
for simultaneously picking up a first bit at a first location in the electronic oscillation circuit by means of the first sampling device and at least one second bit on at least one of the first location deviating second location by means of the at least one second scanning device,
with a post-processing component for generating the number of random bits by means of an algorithmic post-processing in dependence on the first bit and the at least one second bit,
wherein as a number a value greater than 1 can be generated.

Gemäß einer Weiterbildung umfasst die Vorrichtung mindestens eine weitere Einheit zum Ausführen des Verfahrens gemäß einem der beschriebenen Ausführungsformen und Weiterbildungen. According to a development, the device comprises at least one further unit for carrying out the method according to one of the described embodiments and further developments.

Die Erfindung wird nachfolgend mit Ausführungsbeispielen anhand der Figuren näher erläutert. Es zeigen: The invention will be explained in more detail below with exemplary embodiments with reference to the figures. Show it:

1 ein schematisches Ablaufdiagramm des Verfahrens zum Erzeugen von einer Anzahl von Zufallsbits; 1 a schematic flow diagram of the method for generating a number of random bits;

2 eine schematische Darstellung der Vorrichtung zum Erzeugen von einer Anzahl von Zufallsbits gemäß einem Ausführungsbeispiel der Erfindung. 2 a schematic representation of the apparatus for generating a number of random bits according to an embodiment of the invention.

1 zeigt ein schematisches Ablaufdiagramm für ein Verfahren zum Erzeugen von einer Anzahl von Zufallsbits mit einer elektronischen Schwingschaltung, wobei in einem ersten Schritt S1 ein erstes Bit durch eine erste Abtasteinrichtung an einer ersten Stelle in der elektronischen Schwingschaltung und mindestens ein zweites Bit durch mindestens eine zweite Abtasteinrichtung an mindestens einer von der ersten Stelle abweichenden zweiten Stelle gleichzeitig abgegriffen werden und wobei in einem zweiten Schritt S2 in Abhängigkeit von dem ersten Bit und dem mindestens einen zweiten Bit mit Hilfe einer algorithmischen Nachbearbeitung die Anzahl von Zufallsbits erzeugt wird, und wobei als Anzahl ein Wert größer als 1 erzeugt wird. 1 1 shows a schematic flow diagram for a method for generating a number of random bits with an electronic oscillating circuit, wherein in a first step S1 a first bit is detected by a first sampling device at a first position in the electronic oscillating circuit and at least a second bit by at least one second sampling device at least one second position deviating from the first position is tapped simultaneously and wherein in a second step S2 the number of random bits is generated as a function of the first bit and the at least one second bit by means of algorithmic post-processing, and wherein the number is a value greater than 1 is generated.

Bei einer experimentellen Untersuchung eines Fibonacci-Ringoszillators der Länge 14 auf einem Board mit einem Spartan 3 FPGA der Firma Xilinx werden an den vorhandenen Ausgängen der 14 verbauten Inverter 14 jeweilige Zufallssignale ausgekoppelt und einer jeweiligen Abtasteinrichtung zugeführt. Durch die jeweilige Abtasteinrichtung wird ein jeweiliges Bit ausgegeben. Dabei wird das jeweilige Zufallssignal im ersten Schritt S1 an den 14 Stellen gleichzeitig gesampelt. Das Rückkopplungspolynom lautet x14 + x13 + x12 + x10 + x6 + x4 + x2 + x1 + 1. Bei experimentell durchgeführtem 262144-maligem Sampeln wurden von der Anmelderin 7832 verschiedene Bitmuster als 14-Tupel beobachtet. Aus der Wahrscheinlichkeitsverteilung der auftretenden Bitmuster ergibt sich eine Entropieausbeute von 10.09 Bits pro gesampelten 14 Bits. In an experimental investigation of a Fibonacci ring oscillator of length 14 on a board with a Spartan 3 FPGA from Xilinx 14 respective random signals are coupled out at the existing outputs of the 14 installed inverters and fed to a respective scanning device. The respective scanning device outputs a respective bit. In this case, the respective random signal is sampled in the first step S1 at the 14 points at the same time. The feedback polynomial is x 14 + x 13 + x 12 + x 10 + x 6 + x 4 + x 2 + x 1 + 1. In experimental 262144 sample sampling, the Applicant observed 7832 different bit patterns as 14-tuples. The probability distribution of the occurring bit patterns results in an entropy yield of 10.09 bits per sampled 14 bits.

Im zweiten Schritt S2 werden aus den gesampelten Tupeln mit Hilfe eines Nachbearbeitungsverfahrens beispielsweise 6 Zufallsbits erzeugt. In the second step S2, for example, 6 random bits are generated from the sampled tuples with the aid of a post-processing method.

Die Anwendung des beschriebenen Verfahrens bedeutet eine Steigerung der Entropieausbeute um einen Faktor 10 im Vergleich zu bisher bekannten Verfahren zum Erzeugen von Zufallsbits. The application of the method described means an increase of the entropy yield by a factor of 10 in comparison with previously known methods for generating random bits.

Dies bedeutet einen erniedrigten Energieaufwand je erzeugtem Zufallsbit, da die in den Zuständen des Systems enthaltene Entropie vorteilhaft genutzt wird. This means a reduced energy expenditure per generated random bit, since the entropy contained in the states of the system is advantageously used.

2 zeigt eine Vorrichtung 10 zum Erzeugen einer Anzahl k von Zufallsbits Z mit einer elektronischen Schwingschaltung 1, einer Abtasteinheit 2 und einer Nachbearbeitungskomponente 3. Die elektronische Schwingschaltung 1 ist beispielsweise ein klassischer Ringoszillator. Er besteht aus 15 Invertern. 2 shows a device 10 for generating a number k of random bits Z with an electronic oscillating circuit 1 , a scanning unit 2 and a post-processing component 3 , The electronic oscillating circuit 1 is for example a classic ring oscillator. It consists of 15 inverters.

Bei einem klassischen Ringoszillator ist im Allgemeinen eine ungerade Anzahl von Invertern zu einem Ring verbunden. In a classical ring oscillator, an odd number of inverters are generally connected in a ring.

Eine derartige Schaltung schwingt, da es stets genau einen Inverter im Ring gibt, bei welchem der aktuelle Output nicht dem logischen Inversen des aktuellen Inputs entspricht. Nach sehr kurzer Zeit nimmt der Output dieses Inverters jedoch den der logischen Funktionalität entsprechenden Zustand an, die Position des Inverters mit inkonsistentem Input und Output verschiebt sich um eine Position im Ring. Durch diese Verschiebungen des Inverters mit inkonsistentem Input und Output entstehen die Schwingungen des Ringoszillators. Such a circuit oscillates, since there is always exactly one inverter in the ring, in which the current output does not correspond to the logical inverse of the current input. After a very short time, however, the output of this inverter assumes the state corresponding to the logical functionality, the position of the inverter with inconsistent input and output shifts by one position in the ring. These shifts of the inverter with inconsistent input and output give rise to oscillations of the ring oscillator.

Bei einem Ringoszillator aus 15 Invertern gibt es 15 mögliche Positionen für die Position des Inverters mit inkonsistentem Input und Output. Zusätzlich können an diesem Inverter Input und Output gleichzeitig den Wert von logisch 0 haben oder den Wert von logisch 1. Insgesamt ergibt sich für einen Ringoszillator der Länge 15 die Zahl seiner möglichen logischen Zustände als 2 × 15. Bei einer experimentellen Untersuchung auf einem Board mit einem Spartan 3 FPGA der Firma Xilinx treten bei gleichzeitigem Sampeln aller 15 Outputs der 15 Inverter 30 theoretisch geforderte Zustände auf. For a ring oscillator of 15 inverters, there are 15 possible positions for the position of the inverter with inconsistent input and output. In addition, at this inverter the input and output can simultaneously have the value of logical 0 or the value of logical 1. Altogether, the number of possible logical states for a ring oscillator of length 15 is 2 × 15. In an experimental investigation on a board with a Spartan 3 FPGA from the company Xilinx occur while simultaneously sampling all 15 outputs of the 15 inverters 30 theoretically required states.

Theoretisch ergibt sich gemäß der Berechnung der informationstheoretischen Entropie über E = –∑ 30 / i=1pi·log2pi mit pi als Wahrscheinlichkeiten der beobachteten Muster oder Zustände eine Entropie von 4,90689 Bits bei idealer Gleichverteilung. Theoretically, according to the calculation of the information-theoretical entropy, we obtain E = -Σ 30 / i = 1p i · log 2 p i with p i as probabilities of the observed patterns or states an entropy of 4.90689 bits with ideal uniform distribution.

Die Wahrscheinlichkeiten für die 30 Bitmuster sind experimentell unterschiedlich. Die nachfolgende Auflistung zeigt in der rechten Spalte die beobachteten Häufigkeiten der 30 unterschiedlichen in der linken Spalte aufgeführten Bitmuster. 001010101010101 80897 010010101010101 43615 010100101010101 87403 010101001010101 60396 010101010010101 58100 010101010100101 94117 010101010101001 72241 010101010101010 89319 010101010101011 49874 010101010101101 65542 010101010110101 120055 010101011010101 40179 010101101010101 82356 010110101010101 74662 011010101010101 90677 100101010101010 96420 101001010101010 85667 101010010101010 90990 101010100101010 42445 101010101001010 122643 101010101010010 77557 101010101010100 49930 101010101010101 83200 101010101010110 59139 101010101011010 82593 101010101101010 52999 101010110101010 50969 101011010101010 71200 101101010101010 40943 110101010101010 70427 The probabilities for the 30 bit patterns are experimentally different. The following list shows in the right column the observed frequencies of the 30 different bit patterns listed in the left column. 001010101010101 80897 010010101010101 43615 010100101010101 87403 010101001010101 60396 010101010010101 58100 010101010100101 94117 010101010101001 72241 010101010101010 89319 010101010101011 49874 010101010101101 65542 010101010110101 120055 010101011010101 40179 010101101010101 82356 010110101010101 74662 011010101010101 90677 100101010101010 96420 101001010101010 85667 101010010101010 90990 101010100101010 42445 101010101001010 122643 101010101010010 77557 101010101010100 49930 101010101010101 83200 101010101010110 59139 101010101011010 82593 101010101101010 52999 101010110101010 50969 101011010101010 71200 101101010101010 40943 110101010101010 70427

Bei dieser experimentell beobachteten Verteilung ergibt sich eine Entropie von 4,84439 Bits pro gesampeltem 15-Bit-Muster. This experimentally observed distribution gives an entropy of 4,84439 bits per sampled 15-bit pattern.

Damit wird die bisher bei klassischen Ringoszillatoren durch einfaches Sampeln erzielbare Anzahl an Bits Entropie erheblich übertroffen. Die Erfindung ermöglicht also eine deutliche Steigerung der Entropieausbeute. Thus, the number of bits of entropy achievable so far in classical ring oscillators by simple sampling is significantly exceeded. The invention thus makes possible a significant increase in the entropy yield.

2 zeigt, wie mit Hilfe einer ersten Abtasteinrichtung A1 und einer zweiten Abtasteinrichtung A2 das jeweilige hinter einem ersten Inverter I1 und einem zweiten Inverter I2 befindliche Signal abgegriffen wird. Dabei wird ein jeweiliger Pegel des ersten Zufallssignals hinter dem ersten Inverter I1 bzw. des zweiten Zufallssignals hinter dem zweiten Inverter I2 durch die erste Abtasteinrichtung A1 bzw. die zweite Abtasteinrichtung A2 gespeichert. Es kann sich dabei um Zwischenspeicherelemente, wie insbesondere Delay-Flipflops handeln. 2 shows how with the aid of a first sampling device A1 and a second sampling device A2, the respective located behind a first inverter I1 and a second inverter I2 signal is tapped. In this case, a respective level of the first random signal is stored after the first inverter I1 or the second random signal behind the second inverter I2 by the first scanning device A1 and the second scanning device A2. These may be buffer elements, in particular delay flip-flops.

Ein Delay-Flipflop oder D-Flipflop speichert den jeweiligen Pegel zum durch ein Taktsignal oder Abtastsignal CK vorgegebenen Zeitpunkt. Dieser gespeicherte Pegel wird als erstes Bit B1 bzw. zweites Bit B2 einer Nachbearbeitungskomponente 3 bereitgestellt. Die Nachbearbeitungskomponente 3 erzeugt mit Hilfe einer algorithmischen Nachbearbeitung die Anzahl k Zufallsbits Z. A delay flip-flop or D-type flip-flop stores the respective level at the timing specified by a clock signal or strobe signal CK. This stored level is referred to as first bit B1 and second bit B2, respectively, of a post-processing component 3 provided. The postprocessing component 3 generates the number k random bits Z by means of an algorithmic post-processing.

Eine aus 15 Invertern bestehende elektronische Schaltung kann in vorteilhafter Weise an bis zu 15 verschiedenen Stellen, das heißt hinter jedem Inverter innerhalb des klassischen Ringoszillators, sampeln und die jeweiligen abgegriffenen Bits als 15-Tupel an die Nachbearbeitungskomponente 3 übergeben. An electronic circuit consisting of 15 inverters can advantageously sample up to 15 different locations, ie behind each inverter within the classical ring oscillator, and sample the respective tapped bits as 15-tuples to the post-processing component 3 to hand over.

Die erste Abtasteinrichtung A1 und die mindestens eine zweite Abtasteinrichtung A2 sind insbesondere als separate Abtasteinheit 2 ausgeführt. Das Abtastsignal ist dann gemeinsames Takteingangssignal für die jeweiligen Eingänge der jeweiligen Abtasteinrichtungen. Die Nachbearbeitungskomponente 3 ist insbesondere nach der Abtasteinheit 2 verbaut. Insbesondere stellt die Abtasteinheit 2 das n-Tupel als Eingangssignal der Nachbearbeitungskomponente bereit. The first scanning device A1 and the at least one second scanning device A2 are in particular as a separate scanning unit 2 executed. The sample signal is then common clock input to the respective inputs of the respective samplers. The postprocessing component 3 is especially after the scanning unit 2 installed. In particular, the scanning unit provides 2 the n-tuple ready as input to the post-processing component.

Das beschriebene Verfahren kann insbesondere mit dem Einsatz von Fibonacci- oder Galois-Ringoszillatoren verknüpft werden. Auch für die aus den chaotischen Schwingungen eines Fibonacci-Ringoszillators resultierenden unterschiedlichen Pegel innerhalb der elektronischen Schwingschaltung ist ein zeitlich paralleles, das heißt gleichzeitiges Abtasten an unterschiedlichen, vorzugsweise möglichst vielen Stellen innerhalb des Ringoszillators möglich. The described method can in particular be linked to the use of Fibonacci or Galois ring oscillators. Also for the resulting from the chaotic oscillations of a Fibonacci ring oscillator different levels within the electronic oscillator circuit is a time-parallel, that is, simultaneous sampling at different, preferably as many locations within the ring oscillator possible.

Auch für Mehrspurzufallszahlengeneratoren mit oder ohne Rückkopplung ist das Verfahren vorteilhaft anwendbar. Auch hier werden statistische Abhängigkeiten der jeweils gesampelten Bits durch ein Nachbearbeitungsverfahren, wie insbesondere das von Ari Juels, Markus Jakobsson, Elizabeth A. M. Shriver und Bruce Hillyer vorgeschlagene oben erwähnte Nachbearbeitungsverfahren, beseitigt. Also for multi-track random number generators with or without feedback, the method is advantageously applicable. Again, statistical dependencies of the respective sampled bits are eliminated by a post-processing method, such as the above-mentioned post-processing method proposed by Ari Juels, Markus Jakobsson, Elizabeth A.M. Shriver, and Bruce Hillyer.

Es ist ein algorithmisches Nachbearbeitungsverfahren zu wählen, welches potentiell mehr als ein Zufallsbit erzeugt. Bekannte Verfahren wie das von-Neumann-Verfahren erzeugen ein einziges Zufallsbit. Die aus den gebildeten Tupeln der gesampelten Bits extrahierbare Entropie ist größer als ein Bit, so dass eine Verwendung eines entsprechenden algorithmischen Nachbearbeitungsverfahrens, welches potentiell mehr als ein Zufallsbit erzeugt, vorteilhaft ist. Somit wird insbesondere eine Anzahl k von Zufallsbits Z erzeugt, welche größer als 1 ist. An algorithmic postprocessing method should be chosen which potentially generates more than one random bit. Known methods, such as the von Neumann method, generate a single random bit. The entropy extractable from the formed tuples of the sampled bits is greater than one bit, such that use of a corresponding one of them algorithmic post-processing method, which potentially generates more than one random bit, is advantageous. Thus, in particular, a number k of random bits Z is generated, which is greater than 1.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • K. Wold, C. H. Tan, "Analysis and enhancement of random number generator in FPGA based on oscillator rings", Proc. of ReConFig 2008, Cancun, 2008, pp. 385–390 [0006] K. Wold, CH Tan, "Analysis and Enhancement of Random Number Generator in FPGA based on oscillator rings", Proc. of ReConFig 2008, Cancun, 2008, pp. 385-390 [0006]
  • Ari Juels, Markus Jakobsson, Elizabeth A. M. Shriver, Bruce Hillyer "How to turn loaded dice into fair coins" in den IEEE Transactions on Information Theory Vol. 46 No. 3 pp. 911–921, 2000 [0034] Ari Juels, Markus Jakobsson, Elizabeth AM Shriver, Bruce Hillyer "How to turn loaded dice into fair coins" in the IEEE Transactions on Information Theory Vol. 3 pp 911-921, 2000 [0034]

Claims (13)

Verfahren zum Erzeugen von einer Anzahl (k) von Zufallsbits (Z) mit einer elektronischen Schwingschaltung (1), wobei – in einem ersten Schritt (S1) ein erstes Bit (B1) durch eine erste Abtasteinrichtung (A1) an einer ersten Stelle in der elektronischen Schwingschaltung (1) und mindestens ein zweites Bit (B2) durch mindestens eine zweite Abtasteinrichtung (A2) an mindestens einer von der ersten Stelle abweichenden zweiten Stelle gleichzeitig abgegriffen werden; – in einem zweiten Schritt (S2) in Abhängigkeit von dem ersten Bit (B1) und dem mindestens einen zweiten Bit (B2) mit Hilfe einer algorithmischen Nachbearbeitung die Anzahl (k) von Zufallsbits (Z) erzeugt wird; – als Anzahl (k) ein Wert größer als 1 erzeugt werden kann. Method for generating a number (k) of random bits (Z) with an electronic oscillating circuit ( 1 ), wherein - in a first step (S1) a first bit (B1) is detected by a first sampling device (A1) at a first position in the electronic oscillating circuit ( 1 ) and at least one second bit (B2) are tapped simultaneously by at least one second scanning device (A2) at at least one second position deviating from the first position; In a second step (S2), the number (k) of random bits (Z) is generated as a function of the first bit (B1) and the at least one second bit (B2) by means of algorithmic post-processing; - as a number (k) a value greater than 1 can be generated. Verfahren nach Anspruch 1, wobei die elektronische Schwingschaltung (1) als klassischer Ringoszillator, Mehrspur-Ringoszillator, Fibonacci-Ringoszillator, Gallois-Ringoszillator, rückkopplungsfreier Mehrspur-Zufallszahlengenerator oder Multiplizierer-Zufallszahlengenerator ausgebildet wird. Method according to claim 1, wherein the electronic oscillating circuit ( 1 ) is formed as a classical ring oscillator, multi-track ring oscillator, Fibonacci ring oscillator, Gallois ring oscillator, feedback-free multi-track random number generator or multiplier random number generator. Verfahren nach Anspruch 1 oder 2, wobei die elektronische Schwingschaltung (1) zumindest teilweise digital und/ oder zumindest teilweise analog ausgeführt wird. Method according to claim 1 or 2, wherein the electronic oscillating circuit ( 1 ) is performed at least partially digitally and / or at least partially analog. Verfahren nach einem der vorstehenden Ansprüche, wobei die elektronische Schwingschaltung (1) als Teil einer FPGA-Einrichtung oder einer ASIC-Einrichtung ausgeführt wird. Method according to one of the preceding claims, wherein the electronic oscillating circuit ( 1 ) as part of an FPGA device or an ASIC device. Verfahren nach einem der vorstehenden Ansprüche, wobei ein jeweiliger Pegel eines ersten Zufallssignals und eines zweiten Zufallssignals durch jeweilige Zwischenspeicherelemente gespeichert wird.  A method according to any preceding claim, wherein a respective level of a first random signal and a second random signal is stored by respective latch elements. Verfahren nach Anspruch 5, wobei durch jeweilige Inhalte der jeweiligen Zwischenspeicherelemente ein n-Tupel von Bits erzeugt wird.  The method of claim 5, wherein an n-tuple of bits is generated by respective contents of the respective buffer elements. Verfahren nach einem der vorstehenden Ansprüche, wobei der ersten Abtasteinrichtung und der mindestens einen zweiten Abtasteinrichtung ein gleichzeitiges Abtastsignal (CK) vorgegeben wird.  Method according to one of the preceding claims, wherein the first scanning device and the at least one second scanning device, a simultaneous scanning signal (CK) is specified. Verfahren nach Anspruch 7, wobei das Abtastsignal (CK) durch ein Takteingangssignal einer Delay-Flip-Flop-Schaltung gebildet wird.  The method of claim 7, wherein the sampling signal (CK) is formed by a clock input signal of a delay flip-flop circuit. Verfahren nach einem der vorstehenden Ansprüche, wobei durch die algorithmische Nachbearbeitung mehr als ein Bit Entropie erzeugt wird.  Method according to one of the preceding claims, wherein more than one bit of entropy is generated by the algorithmic post-processing. Verfahren nach Anspruch 9, wobei die algorithmische Nachbearbeitung durch eine kryptographische Funktion durchgeführt wird.  The method of claim 9, wherein the algorithmic post processing is performed by a cryptographic function. Vorrichtung (10) zum Erzeugen von einer Anzahl (k) von Zufallsbits (Z) mit einer elektronischen Schwingschaltung (1), mit einer ersten Abtasteinrichtung und mindestens einer zweiten Abtasteinrichtung, zum gleichzeitigen Abgreifen eines ersten Bits (B1) an einer ersten Stelle in der elektronischen Schwingschaltung (1) mittels der ersten Abtasteinrichtung (A1) und mindestens eines zweiten Bits (B2) an mindestens einer von der ersten Stelle abweichenden zweiten Stelle mittels der mindestens einen zweiten Abtasteinrichtung (A2), mit einer Nachbearbeitungskomponente (3) zum Erzeugen der Anzahl (k) von Zufallsbits (Z) mit Hilfe einer algorithmischen Nachbearbeitung in Abhängigkeit von dem ersten Bit (B1) und dem mindestens einen zweiten Bit (B2), wobei als Anzahl (k) ein Wert größer als 1 erzeugbar ist. Contraption ( 10 ) for generating a number (k) of random bits (Z) with an electronic oscillating circuit ( 1 ), with a first scanning device and at least one second scanning device, for simultaneously picking up a first bit (B1) at a first position in the electronic oscillating circuit ( 1 ) by means of the first scanning device (A1) and at least one second bit (B2) at at least one second position deviating from the first position by means of the at least one second scanning device (A2), with a post-processing component ( 3 ) for generating the number (k) of random bits (Z) by means of algorithmic post-processing as a function of the first bit (B1) and the at least one second bit (B2), wherein as a number (k) a value greater than 1 can be generated , Vorrichtung nach Anspruch 11, wobei die elektronische Schwingschaltung (1) aus einer der folgenden Schaltungen aufgebaut ist: – klassischer Ringoszillator, – Mehrspur-Ringoszillator, – Fibonacci-Ringoszillator, – Gallois-Ringoszillator, – rückkopplungsfreier Mehrspur-Zufallszahlengenerator oder – Multiplizierer-Zufallszahlengenerator. Device according to claim 11, wherein the electronic oscillating circuit ( 1 ) is constructed from one of the following circuits: - classical ring oscillator, - multitrack ring oscillator, - fibonacci ring oscillator, - Gallois ring oscillator, - feedback-free multitrack random number generator or - multiplier random number generator. Vorrichtung nach Anspruch 11, ferner umfassend mindestens eine weitere Einheit zum Ausführen eines Verfahrens gemäß einem der Ansprüche 2 bis 10.  Apparatus according to claim 11, further comprising at least one further unit for carrying out a method according to one of claims 2 to 10.
DE201310213095 2013-07-04 2013-07-04 Generating a number of random bits Withdrawn DE102013213095A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE201310213095 DE102013213095A1 (en) 2013-07-04 2013-07-04 Generating a number of random bits
PCT/EP2014/060769 WO2015000640A1 (en) 2013-07-04 2014-05-26 Generation of a number of random bits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201310213095 DE102013213095A1 (en) 2013-07-04 2013-07-04 Generating a number of random bits

Publications (1)

Publication Number Publication Date
DE102013213095A1 true DE102013213095A1 (en) 2015-01-08

Family

ID=50942265

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201310213095 Withdrawn DE102013213095A1 (en) 2013-07-04 2013-07-04 Generating a number of random bits

Country Status (2)

Country Link
DE (1) DE102013213095A1 (en)
WO (1) WO2015000640A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015203573A1 (en) * 2015-02-27 2016-03-24 Siemens Aktiengesellschaft Method and apparatus for generating random bits

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352608B (en) * 2020-02-28 2022-08-02 电子科技大学 Low-overhead FPGA (field programmable Gate array) basic true random number generation system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004047425A1 (en) * 2004-09-28 2006-04-20 Micronas Gmbh Random number generator and method for generating random numbers

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2896057A1 (en) * 2006-01-12 2007-07-13 St Microelectronics Sa Random number generating method for e.g. communication interface, involves generating oscillator signals at same median frequency and having distinct phase, and sampling state of each signal at appearance of binary signal
DE102008018678B4 (en) * 2008-04-14 2011-02-03 Siemens Aktiengesellschaft Apparatus and method for generating a random bit string

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004047425A1 (en) * 2004-09-28 2006-04-20 Micronas Gmbh Random number generator and method for generating random numbers

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Ari Juels, Markus Jakobsson, Elizabeth A. M. Shriver, Bruce Hillyer "How to turn loaded dice into fair coins" in den IEEE Transactions on Information Theory Vol. 46 No. 3 pp. 911-921, 2000
JUN, Benjamin; KOCHER, Paul: The Intel random number generator. Cryptography Research Inc. white paper, 1999. *
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
SUNAR, Berk; MARTIN, William J.; STINSON, Douglas R.: A Provably Secure True Random Number Generator with Built-In Tolerance to Active Attacks. Computers, IEEE Transactions on, 2007, 56. Jg., Nr. 1, S. 109-119. IEEE Xplore [online]. DOI: 10.1109/TC.2007.250627, In: IEEE *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015203573A1 (en) * 2015-02-27 2016-03-24 Siemens Aktiengesellschaft Method and apparatus for generating random bits

Also Published As

Publication number Publication date
WO2015000640A1 (en) 2015-01-08

Similar Documents

Publication Publication Date Title
DE102004047425B4 (en) Random number generator and method for generating random numbers
EP2976707B1 (en) System and method for generating random bits
EP3028140B1 (en) Design of a circuit suitable for generating random bits and circuit for generating random bits
EP1354264B1 (en) Random number generator and method for generating a random number
DE102008018678A1 (en) Apparatus and method for generating a random bit string
EP2329356A1 (en) Apparatus and method for generating a random bit sequence
DE102014102501A1 (en) Random number generator
DE102012210990A1 (en) Method for generating random numbers
DE102014200163A1 (en) A method for generating an output of a random source of a random number generator
DE102013213095A1 (en) Generating a number of random bits
EP1099192B1 (en) Clocked integrated semiconductor circuit and method for operating the same
DE102013210147A1 (en) Generate random bits
DE102014224421A1 (en) Method and apparatus for generating 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
DE102014219651A1 (en) Method and apparatus for generating random bits
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
DE102008033162A1 (en) Physical random number generator
DE102013213385A1 (en) Method for evaluating an output of a random number generator
DE102013219768A1 (en) Generate random bits
DE102013201687A1 (en) Method and apparatus for generating random bits
DE102013204272A1 (en) Method for detecting a correlation
DE102014219693A1 (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
DE102014209964A1 (en) Method and apparatus for generating random bits

Legal Events

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