DE102014209964A1 - Method and apparatus for generating random bits - Google Patents
Method and apparatus for generating random bits Download PDFInfo
- Publication number
- DE102014209964A1 DE102014209964A1 DE102014209964.1A DE102014209964A DE102014209964A1 DE 102014209964 A1 DE102014209964 A1 DE 102014209964A1 DE 102014209964 A DE102014209964 A DE 102014209964A DE 102014209964 A1 DE102014209964 A1 DE 102014209964A1
- Authority
- DE
- Germany
- Prior art keywords
- random
- signal
- delayed
- delay
- signals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
Bei einem Verfahren zum Erzeugen von Zufallsbits (ZB) erfolgt ein Bereitstellen eines (Pseudo-)Zufallssignals (ZS) mit Hilfe eines Ringoszillatorschaltkreises (2); ein mehrfaches Verzögern des Zufallssignals (ZS) zum Erzeugen von mehreren verzögerten Zufallssignalen (V1–Vm); und ein gleichzeitiges Erfassen der mehreren verzögerten Zufallssignale (V1–Vm). Es wird jedem erfassten verzögerten Zufallssignal (V1–Vm) ein Zufallsbitwert (ZB1–ZBm) zugeordnet. Eine Vorrichtung (1), welche insbesondere eingerichtet ist, ein entsprechendes Verfahren durchzuführen, umfasst einen Ringoszillatorschaltkreis (2) mit mehreren zumindest teilweise rückgekoppelten logischen Elementen (21–2m), welche jeweils ein Eingangssignal (E1–En) in ein Ausgangssignal (A1–An) ausgeben; eine Verzögerungseinrichtung (3), welche eingerichtet ist eines der Ausgangssignale (A1–An) als Zufallssignal (ZS) zum Erzeugen von verzögerten Zufallssignalen (V1–Vm) mehrfach zu verzögern; und eine Abtasteinrichtung (4), welche eingerichtet ist, die verzögerten Zufallssignale (V1–Vm) gleichzeitig zu erfassen und jedem erfassten verzögerten Zufallssignale (V1–Vm) einen Zufallsbitwert (ZB1–ZBm) zuzuordnen.In a method for generating random bits (ZB), a (pseudo) random signal (ZS) is provided by means of a ring oscillator circuit (2); delaying the random signal (ZS) several times to produce a plurality of delayed random signals (V1-Vm); and simultaneously detecting the plurality of delayed random signals (V1-Vm). Each random delayed signal (V1-Vm) detected is assigned a random bit value (ZB1-ZBm). A device (1), which is set up in particular to carry out a corresponding method, comprises a ring oscillator circuit (2) with a plurality of at least partially fed back logic elements (21-2m), each of which converts an input signal (E1-En) into an output signal (A1- To) spend; delay means (3) arranged to multiply delay one of said output signals (A1-An) as a random signal (ZS) for generating delayed random signals (V1-Vm); and a sampling means (4) arranged to simultaneously detect the delayed random signals (V1-Vm) and to assign a random bit value (ZB1-ZBm) to each detected delayed random signals (V1-Vm).
Description
Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren 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 Erzeugen von Zufallsbits dienen beispielsweise der Implementierung von Zufallszahlengeneratoren. Die Erfindung ermöglicht beispielsweise die Erzeugung echter Zufallsbits im Gegensatz zu Pseudozufallsbits. The present invention relates to an apparatus and method 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. For example, the invention allows for the generation of true random bits as opposed to pseudorandom bits.
Die vorgeschlagenen Verfahren und Vorrichtungen dienen insbesondere der Erzeugung von Zufallsbits oder Zufallsbitfolgen, die gute zufällige Eigenschaften haben, also eine möglichst Hohe Entropie aufweisen. Zufallsdaten werden beispielsweise bei Sicherheitsanwendungen benötigt, wobei aus erzeugten Zufallsbits beispielsweise kryptographische Schlüssel oder dergleichen abgeleitet werden. The proposed methods and devices are used, in particular, to generate random bits or random bit sequences which have good random properties, that is to say have the highest possible entropy. Random data is needed, for example, in security applications, where, for example, cryptographic keys or the like are derived from random bits generated.
In sicherheitsrelevanten Anwendungen, beispielsweise bei asymmetrischen Authentifikationsverfahren, sind Zufallsbitfolgen als binäre Zufallszahlen notwendig. Dabei ist es gewünscht, insbesondere bei mobilen Anwendungen einen möglichst geringen Hardwareaufwand zu betreiben. Bekannte Maßnahmen, um Zufallszahlen zu erzeugen, sind beispielsweise Pseudozufallszahlengeneratoren, analoge Zufallsquellen, Ringoszillatoren und deren Abwandlungen. In security-relevant applications, for example in asymmetric authentication methods, random bit sequences are necessary as binary random numbers. It is desired, in particular for mobile applications to operate as little hardware as possible. Known measures for generating random numbers are, for example, pseudo-random number generators, analog random sources, ring oscillators and their modifications.
Bei Pseudozufallszahlengeneratoren werden Seeds verwendet, von denen ausgehend deterministische Pseudozufallszahlen berechnet werden. Zur Erzeugung des Seeds wird in der Regel ein physikalischer Zufallsgenerator verwendet. Als analoge Zufallsquellen werden Rauschquellen, wie z.B. das Rauschen von Zenerdioden, verstärkt und digitalisiert. Dabei ist die Verbindung von digitaler mit analoger Schaltungstechnik meist nur aufwändig zu verwirklichen. For pseudo-random number generators, seeds are used, from which deterministic pseudorandom numbers are calculated. To create the seed, a physical random number generator is usually used. As analog random sources, noise sources such as e.g. the noise of zener diodes, amplified and digitized. At the same time, the connection between digital and analog circuit technology is usually difficult to realize.
Bei Ringoszillatoren, die aus hintereinander geschalteten Invertern aufgebaut sind, ergeben sich zufällige Jitter aus schwankenden Durchlaufzeiten der Signale durch die Inverter. Diese Jitter, also eine unregelmäßige zeitliche Schwankung in Zustandsänderungen der durch die Inverter geschickten Signale, können bei mehrfachen Durchläufen durch die Ringoszillatorschaltung akkumuliert werden, so dass letztlich ein zufälliges analoges Signal entsteht. Nachteilig bei Ringoszillatoren ist häufig die notwendige lange Zeit vom Start der Schwingung bis ein brauchbar zufälliges Signal aufgrund der Jitter-Akkumulierung entsteht. Daher ergeben sich meist niedrige Datenerzeugungsraten bei Ringoszillatoren. Ferner ist möglich, dass die sich addierenden Jitter-Beiträge sich auch selbst wieder aufheben, so dass im Mittel zufällige kurze Gatterlaufzeiten durch zufällige längere Gatterlaufzeiten kompensiert werden. In ring oscillators, which are constructed of series-connected inverters, random jitter resulting from fluctuating throughput times of the signals through the inverter. These jitter, that is, an irregular variation with time in state changes of the signals sent by the inverters, can be accumulated in the case of multiple passes through the ring oscillator circuit, so that ultimately a random analog signal is produced. A disadvantage of ring oscillators is often the necessary long time from the start of the oscillation until a usable random signal due to the jitter accumulation arises. Therefore, low data generation rates usually occur with ring oscillators. It is also possible that the adding jitter contributions also cancel themselves out, so that on average random short gate delays are compensated by random longer gate delays.
Fibonacci- und Galois-Ringoszillatoren können chaotische Schwingungszustände aufweisen und erzeugen dann schneller zufällige Signalformen als klassische Ringoszillatoren. Allerdings werden verschiedene digitale Gatter wie XOR- und NOT-Gatter eingesetzt. Dadurch können sich insbesondere bei Implementierungen auf ASICs große Geschwindigkeitsunterschiede der Gattertypen ergeben. Häufig besteht auch der Wunsch, mit Hilfe von FPGAs (Field Programable Gate Arrays) Zufallsbitfolgen zu erzeugen. Fibonacci and Galois ring oscillators can exhibit chaotic vibrational states and then generate random waveforms faster than classical ring oscillators. However, various digital gates such as XOR and NOT gates are used. This can result in particular in implementations on ASICs large speed differences of the gate types. Often, there is also a desire to generate random bit sequences using FPGAs (Field Programmable Gate Arrays).
Wünschenswert ist es beispielsweise, mit Hilfe einfacher Maßnahmen, die an sich vorliegende Entropie von aus Ringoszillatoren abgeleiteten Zufallsbitwerten weiter zu erhöhen. For example, it is desirable to further increase the inherent entropy of random bit values derived from ring oscillators with the aid of simple measures.
Insofern ist es eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren und/oder eine verbesserte Vorrichtung zum Erzeugen von Zufallsbits bereitzustellen. Thus, it is an object of the present invention to provide an improved method and / or apparatus for generating random bits.
Demgemäß wird ein Verfahren zum Erzeugen von Zufallsbits vorgeschlagen, welches die Schritte umfasst:
- – Bereitstellen eines Zufallssignals mit Hilfe eines Ringoszillatorschaltkreises;
- – mehrfaches Verzögern des Zufallssignals zum Erzeugen von mehreren verzögerten Zufallssignalen;
- – gleichzeitiges Erfassen der mehreren verzögerten Zufallssignale; und
- – Zuordnen eines Zufallsbitwertes zu jedem erfassten verzögerten Zufallssignal.
- - Providing a random signal by means of a ring oscillator circuit;
- - delaying the random signal several times to generate a plurality of delayed random signals;
- - simultaneously detecting the plurality of delayed random signals; and
- Assigning a random bit value to each detected delayed random signal.
Ein Ringoszillatorschaltkreis, welcher insbesondere zum Erzeugen von zufälligen Signalformen ausgestaltet ist, liefert bereits ein zufälliges Ausgangssignal, welches durch Abtasten desselben in einen Zufallsbitwert überführt werden kann. Das mehrfache, zeitlich nacheinander erfolgende Abtasten dieses einen Zufallssignals führt häufig nicht zu den gewünschten Entropieausbeuten. Bei dem vorgeschlagenen Verfahren wird das wenigstens eine Zufallssignal, beispielsweise mit Hilfe von Verzögerungselementen, zeitlich verzögert. Dadurch entstehen bei einer idealen Verzögerung zeitlich verschobene identische Signalformen. A ring oscillator circuit, which is designed in particular for generating random signal forms, already provides a random output signal which can be converted by sampling it into a random bit value. The multiple successive sampling of this one random signal often does not lead to the desired entropy yields. In the proposed method, the at least one random signal, for example by means of delay elements, is delayed in time. This results in an ideal delay time shifted identical waveforms.
Grundsätzlich liefert ein Ringoszillatorschaltkreis an seinem Ausgang ein Zufallssignal, welches aufgrund der Jitter-Schwankungen und der Rückkopplungen zufällige steigende und fallende Signalflankenanteile hat. Dieser zufällige oder chaotische Signalverlauf kann zeitlich nicht aufgelöst werden, wenn zu vorgegebene Abtastzeitpunkten ein einziger Bitwert aus dem Pegel des Zufallssignals abgeleitet wird. Die nacheinander vorgenommen Verzögerungen am Zufallssignal, beispielsweise mit Hilfe von Verzögerungsgliedern, und die gleichzeitige Abtastung der verzögerten Signale, streckt effektiv den abgetasteten Signalabschnitt. Dadurch wird eine zeitlich höher aufgelöste Ermittlung von Signalpegeln ermöglicht. Man kann sagen: die Verzögerung führt effektiv zu einer Zwischenspeicherung von kurzen Signalabschnitten um den Abtastzeitpunkt herum, was eine zeitlich höher aufgelöste Abtastung erlaubt. Es wird sozusagen mehr Zufall extrahiert als bei einer einfachen Abtastung. Basically, a ring oscillator circuit provides at its output a random signal which has random rising and falling signal edge components due to the jitter fluctuations and the feedbacks. This random or chaotic waveform can not be resolved in time, if at predetermined sampling times a single bit value from the level of the random signal is derived. The successive delays in the random signal, for example by means of delay elements, and the simultaneous sampling of the delayed signals effectively stretch the sampled signal portion. This allows a temporally higher resolution determination of signal levels. It can be said that the delay effectively results in buffering of short signal portions around the sampling instant, allowing higher temporal resolution sampling. There is more randomity extracted, so to speak, than with a simple scan.
Das Verfahren wird in Ausführungsformen getaktet durchgeführt, beispielsweise mit Hilfe einer getakteten Logikschaltung. Abtastungen erfolgen dann insbesondere bei Zustandswechseln des Taktsignals. The method is performed clocked in embodiments, for example by means of a clocked logic circuit. Samples then take place in particular when the state of the clock signal changes.
Die mehrfache Verzögerung an sich kann dem jeweiligen Zufallssignal ferner zusätzliche zufällige Signalanteile aufprägen. Dadurch sind die zeitlich beispielsweise zu einem vorgegebenen Taktzeitpunkt abgetasteten oder erfassten Zufallssignale unterschiedlich und potenziell unabhängig voneinander verwertbar. D.h., aufgrund der durch die Verzögerungsschritte vorgenommenen Signalveränderungen erhält man zufällige Bitwerte, die wenigstens teilweise voneinander unkorreliert sind. Dadurch kann bei den mehreren Zufallsbitwerten gegenüber Einfachabtastungen eine erhöhte Entropie erzielt werden. Die Erzeugungsrate von Zufallsbitwerten ist ebenfalls erhöht. The multiple delay itself may also impose additional random signal components on the respective random signal. As a result, the random signals which are sampled or recorded temporally, for example at a given cycle time, are different and potentially usable independently of one another. That is, due to the signal variations made by the delaying steps, one obtains random bit values which are at least partially uncorrelated from one another. As a result, increased entropy can be achieved with the multiple random bit values over single scans. The generation rate of random bit values is also increased.
In Ausführungsformen umfasst das Erfassen eines jeweiligen verzögerten Zufallssignals ein Abtasten des jeweiligen verzögerten Zufallssignals zum Ableiten eines jeweiligen Zufallsbitwertes. Bei einem Abtasten, beispielsweise mit Hilfe von Abtast- und Haltegliedern oder Zwischenspeicherelementen, wie Flip-Flops, wird dem abgetasteten Zufallssignalpegel ein logischer Zufallsbitwert zugeordnet, welcher am Ausgang des jeweiligen Abtast- und Haltegliedes abgreifbar ist. Aufgrund der vorgenommenen Verzögerung des ohnehin zufälligen Signalverlaufs unter Beaufschlagung weiterer Zufallselemente, beispielsweise durch die Ausgestaltung von Verzögerungsgliedern, ergibt sich insgesamt eine Folge von Bitwerten erhöhter Entropie. In embodiments, detecting a respective delayed random signal comprises sampling the respective delayed random signal to derive a respective random bit value. In a sampling, for example by means of sample and hold elements or buffer elements, such as flip-flops, the sampled random signal level is assigned a logical random bit value, which can be tapped at the output of the respective sample and hold element. Due to the delay of the already random signal waveform while applying further random elements, for example due to the configuration of delay elements, the overall result is a series of bit values of increased entropy.
Unter einem Ringoszillatorschaltkreis soll nicht nur die klassische Variante von einer ungeraden Zahl von Invertern in einer logischen Ringstruktur verstanden werden, sondern z. B. auch Verallgemeinerungen wie Fibonacci- oder Galois-Ringoszillatoren sowie allgemein zumindest teilweise rückgekoppelte schwingende Logikschaltungen. Under a ring oscillator circuit is not only the classical variant of an odd number of inverters in a logical ring structure to be understood, but z. As well as generalizations such as Fibonacci or Galois ring oscillators and generally at least partially fed back oscillating logic circuits.
Insbesondere kann der Ringoszillatorschaltkreis logische Elemente umfassen, welche zumindest teilweise rückgekoppelt sind und jeweils ein Eingangssignal und ein Ausgangssignal ausgeben. Eines der Ausgangssignale wird als Zufallssignal verwendet. In particular, the ring oscillator circuit may comprise logic elements which are at least partially fed back and each output an input signal and an output signal. One of the output signals is used as a random signal.
In Varianten des Verfahrens erfolgt ein Erfassen von wenigstens einem Ausgangssignal gleichzeitig mit den mehreren verzögerten Zufallssignalen. Dadurch kann beispielsweise eine algorithmische Nachbearbeitung erleichtert werden, um möglicherweise auftretende Korrelationen zwischen den Signalformen im Ringoszillatorschaltkreis und den verzögerten Zufallssignalen zu reduzieren oder kompensieren. In variants of the method, at least one output signal is detected simultaneously with the plurality of delayed random signals. As a result, for example, an algorithmic post-processing can be facilitated in order to reduce or compensate for possibly occurring correlations between the signal waveforms in the ring oscillator circuit and the delayed random signals.
Das Verzögern von Zufallssignalen erfolgt insbesondere außerhalb eines Rückkopplungspfades des Ringoszillatorschaltkreises. Insofern sind beispielsweise Verzögerungselemente, welche zum Verzögern des abgegriffenen Zufallssignals aus dem Ringoszillatorschaltkreis verwendet werden, nicht in eine Rückkopplungsfunktionalität des Ringoszillators einbezogen. The delaying of random signals takes place in particular outside a feedback path of the ring oscillator circuit. In this respect, for example, delay elements used for delaying the tapped random signal from the ring oscillator circuit are not included in a feedback functionality of the ring oscillator.
In Ausführungsformen des Verfahrens erfolgt durch das mehrfache Verzögern des Zufallssignals eine Verzögerung um einen vorgegebenen Verzögerungszeitraum. Der Verzögerungszeitraum ergibt sich zum Beispiel aus der Summe der einzelnen Verzögerungen, mit denen das Zufallssignal verzögert wird. Das Verzögern geschieht zum Beispiel stufenweise nacheinander. Denkbar ist auch eine Verzweigung des Zufallssignals auf parallele Verzögerungsstrecken, um unterschiedlich verzögerte Zufallssignale zu erhalten. Der Verzögerungszeitraum kann auch als die maximale Verzögerung der verzögerten Zufallssignale gegenüber dem Zufallssignal vom Ringoszillator aufgefasst werden. In embodiments of the method, by delaying the random signal a delay is delayed by a predetermined delay period. The delay period results, for example, from the sum of the individual delays with which the random signal is delayed. Delaying happens step by step, for example. It is also conceivable to branch the random signal to parallel delay lines in order to obtain differently delayed random signals. The delay period may also be understood as the maximum delay of the delayed random signals versus the random signal from the ring oscillator.
Vorzugsweise erfolgt das Erfassen der mehreren verzögerten Zufallssignale ausschließlich innerhalb des Verzögerungszeitraums. In Betriebszuständen, in denen der Ringoszillatorschaltkreis beispielsweise aufgrund eines Einschwingvorgangs kein Zufallssignal oder kein zuverlässiges Zufallssignal liefert, erfolgen auch keine Verzögerungsschritte, die aufgrund der dabei eingesetzten Schaltelemente Strom verbrauchen könnten. Durch den vorgegebenen Verzögerungszeitraum oder einen Abtastzeitschlitz, in dem das Verzögern der Zufallssignale insbesondere nacheinander oder sequenziell erfolgt und die gleichzeitige Abtastung vorgenommen wird, kann aufwands- und stromsparend eine Folge von Zufallsbits oder ein Satz von Zufallsbits mit hoher Entropie erzeugt werden. Preferably, the detection of the plurality of delayed random signals takes place exclusively within the delay period. In operating states in which the ring oscillator circuit does not provide a random signal or a reliable random signal, for example due to a transient, no delay steps take place, which could consume power due to the switching elements used therein. By the predetermined delay period or a sampling time slot, in which the delaying of the random signals, in particular successively or sequentially and the simultaneous sampling is performed, can be effort and energy-saving a sequence of random bits or a set of random bits with high entropy generated.
Die intrinsische Entropie der Zufallsbits, welche von einem Ringoszillators, der nicht in einem Fixpunkt oder stabilen Schwingungszustand vorliegt, steigt mit der Anzahl der Signal(flanken)durchläufe eher an. Es kann günstig sein, zwischen Abtastzeitpunkten unterschiedlich lange Intervalle vorzusehen, um die intrinsische Entropie zwischenzeitlich ansteigen zu lassen. Ein Zuschalten einer Verzögerungseinrichtung ist lediglich für einen Zeitraum von der Dauer des Verzögerungszeitraums notwendig, der vor dem jeweiligen Abtastzeitpunkt liegt. The intrinsic entropy of the random bits, which is from a ring oscillator that is not in a fixed point or stable oscillation state, increases with the number of signal (edge) passes rather. It may be favorable to provide intervals of different lengths between sampling times in order to increase the intrinsic entropy in the meantime. A connection of a delay device is necessary only for a period of the duration of the delay period, which is before the respective sampling time.
Bei Ausführungsformen des Verfahrens erfolgt das mehrfache Verzögern beispielsweise mit Hilfe von Verzögerungsgliedern, wie zum Beispiel Invertereinrichtungen. Es können auch logische Gatter als Verzögerungsglieder eingesetzt werden, die den Pegel oder die Signalform aufgrund ihrer Funktionalität bereits verändern, denkbar sind jedoch auch lediglich zeitlich verzögernde Verzögerungsglieder. Aufgrund von Fertigungsschwankungen oder verschiedenen Signalwegen oder -pfaden wird durch die Verzögerung eine verbesserte Zufälligkeit oder Entropie erreicht. In embodiments of the method, the multiple delaying takes place, for example, with the aid of delay elements, such as, for example, inverter devices. It is also logical gates can be used as delay elements that already change the level or waveform due to their functionality, but are also conceivable only time-delaying delay elements. Due to manufacturing variations or different signal paths or paths, the delay results in improved randomness or entropy.
Bei dem Verfahren kann insbesondere zum Eliminieren einer Schiefe oder einer Korrelation von Zufallsbitwerten unterschiedlicher verzögerter Zufallsbitsignale eine algorithmische Nachbearbeitung vollzogen werden. Beispielsweise können Korrelationen von Zufallsbitwerten, die einerseits aus einer Verzögerungskette abgeleitet werden und andererseits von Signalen innerhalb des Ringoszillatorschaltkreises abgeleitet werden, berücksichtigt werden, so dass bei der erhöht erzielten Entropie der Zufallsbitwerte eine besonders zuverlässige Zufallsbiterzeugung ermöglicht wird. In the method, in particular for eliminating skewness or a correlation of random bit values of different delayed random bit signals, an algorithmic post-processing can be performed. For example, correlations of random bit values derived on the one hand from a delay chain and, on the other hand, derived from signals within the ring oscillator circuit may be taken into account, so that the entropy of the random bit values achieved will allow a particularly reliable random bit generation.
Es wird ferner eine Vorrichtung zum Erzeugen von Zufallsbits vorgeschlagen. Die Vorrichtung umfasst:
- – einen Ringoszillatorschaltkreis mit mehreren zumindest teilweise rückgekoppelten logischen Elementen, welche jeweils ein Eingangssignal und ein Ausgangssignal ausgeben;
- – eine Verzögerungseinrichtung, welche eingerichtet ist, eines der Ausgangssignale eines der Ausgangssignale als Zufallssignal zum Erzeugen von verzögerten Zufallssignalen mehrfach zu verzögern als Zufallssignal zu erzeugen; und
- – eine Abtasteinrichtung, welche eingerichtet ist, die verzögerten Zufallssignale gleichzeitig zu erfassen und jedem erfassten verzögerten Zufallssignal einen Zufallsbitwert zuzuordnen.
- A ring oscillator circuit having a plurality of at least partially fed back logic elements, each outputting an input signal and an output signal;
- A delaying device arranged to multiply delay one of the output signals of one of the output signals as a random signal for generating delayed random signals as a random signal; and
- A sampling device, which is set up to simultaneously detect the delayed random signals and to assign a random bit value to each detected delayed random signal.
Die Vorrichtung ist insbesondere eingerichtet, ein Verfahren wie es zuvor oder im Folgenden beschrieben ist/wird, durchzuführen. Dazu kann die Vorrichtung eine Steuereinrichtung umfassen, welche zu geeigneten Zeitpunkten Steuer- oder Auswertesignale erzeugt, um ein Zufallssignal abzutasten, Verzögerungsketten ein- oder auszuschalten oder die Durchführung des zuvor beschriebenen Verfahrens zu koordinieren. In particular, the device is set up to carry out a method as described above or below. For this purpose, the device may comprise a control device which generates control or evaluation signals at suitable times in order to scan a random signal, to switch on or off delay chains or to coordinate the execution of the method described above.
In Ausführungsformen der Vorrichtungen hat die Verzögerungseinrichtung eine Schalteinrichtung zum temporären Ankoppeln der Verzögerungseinrichtung an einen Ausgang des Ringoszillatorschaltkreises. In embodiments of the devices, the delay means has switching means for temporarily coupling the delay means to an output of the ring oscillator circuit.
Insbesondere erfolgt das temporäre Zuschalten für eine Dauer des Verzögerungszeitraums, so dass außerhalb desselben kein Stromverbrauch gegenüber dem Betrieb des Ringoszillators zusätzlich auftritt. In particular, the temporary connection takes place for a duration of the delay period, so that outside of this no power consumption occurs in addition to the operation of the ring oscillator.
In Ausführungsformen ist die Vorrichtung Teil einer FPGA-Einrichtung oder einer ASIC-Einrichtung. In embodiments, the device is part of an FPGA device or an ASIC device.
Das Verfahren kann insbesondere über geeignete Beschreibungssprachen, beispielsweise VHDL oder Verilog, auf oder in einer FPGA- oder ASIC-Vorrichtung implementiert werden. The method can in particular be implemented on or in an FPGA or ASIC device via suitable description languages, for example VHDL or Verilog.
Weiterhin wird ein Computerprogramm-Produkt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung eines entsprechenden Verfahrens veranlasst. Furthermore, a computer program product is proposed, which causes the execution of a corresponding method on a program-controlled device.
Ein Computerprogramm-Produkt wie ein Computerprogramm-Mittel kann beispielsweise als Speichermedium, wie Speicherkarte, USB-Stick, CD-ROM, DVD oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogramm-Produkt oder dem Computerprogramm-Mittel erfolgen. Als programmgesteuerte Einrichtung kommt insbesondere eine Steuereinrichtung, wie zum Beispiel ein Mikroprozessor für eine Smartcard oder dergleichen in Frage. Das Verfahren oder die Vorrichtung kann auch festverdrahtet oder in konfigurierbaren FPGAs oder ASICSs implementiert werden. A computer program product such as a computer program means can be provided or supplied, for example, as a storage medium, such as a memory card, USB stick, CD-ROM, DVD or in the form of a downloadable file from a server in a network. This can be done, for example, in a wireless communication network by the transmission of a corresponding file with the computer program product or the computer program means. As a program-controlled device is in particular a control device, such as a microprocessor for a smart card or the like in question. The method or device may also be hardwired or implemented in configurable FPGAs or ASICSs.
Weiterhin wird ein Datenträger mit einem gespeicherten Computerprogramm mit Befehlen vorgeschlagen, welche die Durchführung eines entsprechenden Verfahrens auf einer programmgesteuerten Einrichtung veranlassen. Furthermore, a data carrier with a stored computer program with commands is suggested, which cause the implementation of a corresponding method on a program-controlled device.
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Vorrichtungen oder Verfahrensvarianten. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen oder abändern. Further possible implementations of the invention also include not explicitly mentioned combinations of devices or method variants 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.
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äutert werden. The above-described characteristics, features and advantages of this invention as well as the manner in which they are achieved are clearer and more clearly understood in the context of the following description of the embodiments, which are explained in more detail in connection with the drawings.
Dabei zeigen: Showing:
In den Figuren sind funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist. In the figures, functionally identical elements are provided with the same reference numerals, unless stated otherwise.
Die
Bei der Vorrichtung
In der
In der
Den Abtast- und Haltegliedern
Untersuchungen der Anmelderin haben ergeben, dass die Zufallsbits ZB1–ZBm, welche von simultan abgetasteten, jeweils verzögerten Zufallsbitsignalen des Ringoszillatorschaltkreises
Die Anmelderin hat Konfigurationen ähnlich der in
Bei dem drei Inverter umfassenden klassischen Ringoszillator wurden 29 Inverter als Verzögerungskette an einen Ausgang gekoppelt. Für den Fall des Fibonacci-Ringoszillators sind 22 Verzögerungsglieder in der Form von Invertern angekoppelt worden. Bei der Untersuchung sind auch die Ausgänge der Inverter der jeweiligen Ringoszillatorschaltungen abgetastet bzw. abgegriffen worden, so dass jeweils 32 zufällige Signale betrachtet wurden. Dazu wurde der FIRO aus einem vorgegebenen Anfangszustand gestartet, und 100 ns später wurde ein Sampling bzw. ein Abtasten durchgeführt. Aus der Häufigkeit der 32 Zufallsbitsätze konnte eine Entropie von 13,9 Bits pro Abtastung ermittelt werden. In the classic three-inverter ring oscillator, 29 inverters were coupled as a delay chain to an output. In the case of the Fibonacci ring oscillator, 22 delay elements have been coupled in the form of inverters. During the investigation, the outputs of the inverters of the respective ring oscillator circuits were also sampled so that 32 random signals were considered in each case. For this purpose, the FIRO was started from a predetermined initial state, and sampling was performed 100 ns later. From the frequency of the 32 random bit sets an entropy of 13.9 bits per sample could be determined.
Im Vergleich dazu wurden die 10 Bitwerte an den Ausgängen des FIRO-Gatters abgetastet und einem jeweiligen Zufallsbitwert zugeordnet. Daraus ergab sich eine Entropie von 8,14 Bits pro 10 Bit Abtastsatz. D.h., betrachtet man ausschließlich den bekannten Ringoszillator bzw. einen FIRO als Zufallsbiterzeuger, gewinnt man eine Entropie, welche um etwa 5,76 Bits pro Abtastung niedriger ist als mit dem vorgeschlagenen Verfahren bzw. der Vorrichtung zum Erzeugen von Zufallsbits. In comparison, the 10 bit values at the outputs of the FIRO gate were sampled and assigned to a respective random bit value. This resulted in an entropy of 8.14 bits per 10-bit sample set. That is, considering only the known ring oscillator or FIRO as random bit generator, one obtains an entropy which is lower by about 5.76 bits per sample than with the proposed random bit generator method or apparatus.
Bei der erläuterten Untersuchung des klassischen Ringoszillators der Länge drei wurden 32 Bits nach 20 µs abgetastet, was eine Entropie von 5,499 Bits pro Abtastung ergab. Dieser Entropiewert ist erheblich höher als die Abtastung der Ausgänge der im Ringoszillator der Länge drei vorliegenden Inverter, die bei nur 2,585 Bits pro Abtastung liegt. In the illustrated study of the classical ring oscillator of length three, 32 bits were sampled after 20 μs, giving an entropy of 5.499 bits per sample. This entropy value is significantly higher than the sampling of the outputs of the inverters present in the ring oscillator of length three, which is as low as 2.585 bits per sample.
Insofern liefert die vorgeschlagenen Vorgehensweise, nämlich Zufallssignale durch Verzögerungsketten zu führen und die verzögerten Signalformen gleichzeitig abzutasten, zu besseren erhöhten Entropien. Dadurch wird eine verbesserte Zufälligkeit bei nur geringem zusätzlichen Hardware-Aufwand erzielt. As such, the proposed approach of passing random signals through delay chains and simultaneously sampling the delayed waveforms provides better enhanced entropies. This provides improved randomness with little additional hardware overhead.
Aufgrund der an einen Ringoszillator angehängten Verzögerungseinrichtung
Obgleich die in der
In der
Es ist ein Ausgang
In der
Eine Steuereinrichtung
Beim Betrieb der Vorrichtung zum Erzeugen von Zufallsbits
Die Anmelderin hat auch für eine Konfiguration gemäß der
Zu einem Zeitpunkt T1 (vgl.
Die Starteinrichtung
D.h., die Steuereinrichtung
Obgleich dies in der
Das bedeutet, dass durch einfaches Ankoppeln einer mehrstufigen Verzögerungsschaltung an bestehende Ringoszillatoren, die zur Zufallszahlenerzeugung benutzt werden, und durch ein Abgreifen von stufenweise verzögerten Zufallssignalen die Ringoszillatoren hinsichtlich ihrer Zufälligkeit und damit der Entropieerzeugung verbessert werden können. Dadurch, dass insbesondere nur für die Verzögerungslaufzeit ein Zuschalten der jeweiligen Verzögerungseinrichtung notwendig ist, kann die Vergrößerung der Entropie aufwands- und stromsparend erzielt werden. Insgesamt erhält man ein gegenüber bekannten Verfahren und Vorrichtungen zur Zufallszahlenerzeugung zuverlässig und aufwandsgünstig Zufallsbitsätze erhöhter Entropie. This means that by simply coupling a multi-stage delay circuit to existing ring oscillators used for random number generation and tapping off randomly delayed random signals, the ring oscillators can be improved in terms of their randomness and hence entropy generation. Due to the fact that, in particular, a connection of the respective delay device is necessary only for the delay runtime, the increase in entropy can be achieved in an effort and energy-saving manner. Overall, one obtains compared to known methods and devices for random number generation reliable and low cost Random bits of increased entropy.
Obgleich in den vorbeschriebenen Beispielen Fibonacci-Ringoszillatoren untersucht wurden, kann dies genauso auf andere kompliziertere Ringoszillatoren angewendet werden. Beispielsweise kann das Verfahren insbesondere für Galois-Ringoszillatoren zur Zufallsbiterzeugung verwendet werden. Although Fibonacci ring oscillators have been studied in the examples described above, this can equally be applied to other more complicated ring oscillators. For example, that can Method be used in particular for Galois ring oscillators for Randiesbiterzeugung.
Obwohl die Erfindung im Detail durch das bevorzugte Ausführungsbeispiel 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.
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
- A. Juels, M. Jakobsson, E. Shriver, and B. Hillyer: „How to Turn Loaded Dice into Fair Coins”, IEEE Transactions on Information Theory 46(3) 911–921, May 2000 [0044] A. Juels, M. Jakobsson, E. Shriver, and B. Hillyer: "How to Turn Loaded Dice into Fair Coins", IEEE Transactions on Information Theory 46 (3) 911-921, May 2000 [0044]
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014209964.1A DE102014209964A1 (en) | 2014-05-26 | 2014-05-26 | Method and apparatus for generating random bits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014209964.1A DE102014209964A1 (en) | 2014-05-26 | 2014-05-26 | Method and apparatus for generating random bits |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102014209964A1 true DE102014209964A1 (en) | 2015-11-26 |
Family
ID=54431821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102014209964.1A Withdrawn DE102014209964A1 (en) | 2014-05-26 | 2014-05-26 | Method and apparatus for generating random bits |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102014209964A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1686458B1 (en) * | 2005-01-28 | 2008-07-23 | Infineon Technologies AG | Oscillator-based random number generator |
US20110169579A1 (en) * | 2010-01-08 | 2011-07-14 | James Dodrill | Method and apparatus for increasing distribution of jitter within a random number generator |
-
2014
- 2014-05-26 DE DE102014209964.1A patent/DE102014209964A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1686458B1 (en) * | 2005-01-28 | 2008-07-23 | Infineon Technologies AG | Oscillator-based random number generator |
US20110169579A1 (en) * | 2010-01-08 | 2011-07-14 | James Dodrill | Method and apparatus for increasing distribution of jitter within a random number generator |
Non-Patent Citations (3)
Title |
---|
A. Juels, M. Jakobsson, E. Shriver, and B. Hillyer: "How to Turn Loaded Dice into Fair Coins", IEEE Transactions on Information Theory 46(3) 911-921, May 2000 |
DICHTL, Markus; GOLIC, Jovan Dj.: High-speed true random number generation with logic gates only. Springer Berlin Heidelberg, 2007. * |
DICHTL, Markus; GOLIĆ, Jovan Dj.: High-speed true random number generation with logic gates only. Springer Berlin Heidelberg, 2007. |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102004047425B4 (en) | Random number generator and method for generating random numbers | |
DE102008048292B4 (en) | Apparatus and method for generating a random bit string | |
DE102013208152A1 (en) | Apparatus and method for generating random bits | |
DE112011106024B4 (en) | Device specific information generating apparatus and device specific information generating method | |
DE102014102501A1 (en) | Random number generator | |
DE102014200163A1 (en) | A method for generating an output of a random source of a random number generator | |
DE102012210361A1 (en) | Method for monitoring an output of a random number generator | |
DE102014219651A1 (en) | Method and apparatus for generating random bits | |
DE102014224421A1 (en) | Method and apparatus for generating random bits | |
DE102014209964A1 (en) | Method and apparatus for generating random bits | |
DE102014200164A1 (en) | A method for generating an output of a random source of a random number generator | |
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 | |
DE102013213095A1 (en) | Generating a number of random bits | |
DE102014219693A1 (en) | Method and apparatus for generating random bits | |
DE102013210147A1 (en) | Generate random bits | |
WO2014117983A1 (en) | Method and device 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 | |
DE102014226996A1 (en) | Method and apparatus for generating random bits | |
DE102013213385A1 (en) | Method for evaluating an output of a random number generator | |
DE102013213392A1 (en) | Method for evaluating an output of a random number generator | |
DE102014209689A1 (en) | Apparatus and method for generating random bits | |
DE102015203580A1 (en) | Apparatus and method for generating random bits | |
DE102014224423A1 (en) | Method and apparatus for measuring a jitter | |
DE102014221827A1 (en) | Apparatus and method for generating random bits | |
DE102013213396A1 (en) | A method for post-processing an output of a random source of a random number generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |