DE102014209964A1 - Method and apparatus for generating random bits - Google Patents

Method and apparatus for generating random bits Download PDF

Info

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
Application number
DE102014209964.1A
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 DE102014209964.1A priority Critical patent/DE102014209964A1/en
Publication of DE102014209964A1 publication Critical patent/DE102014209964A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • 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.
Accordingly, a method for generating random bits is proposed, comprising the steps:
  • - 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 device for generating random bits is also proposed. The device comprises:
  • 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:

1 eine schematische Darstellung eines Ausführungsbeispiels für eine Vorrichtung zum Erzeugen und von Zufallsbits; 1 a schematic representation of an embodiment of a device for generating and random bits;

2 Darstellungen von Signalverläufen für verzögerte Zufallssignale in Ausführungsbeispielen von Vorrichtungen zum Erzeugen von Zufallsbits. 2 Representations of signal waveforms for delayed random signals in embodiments of random bit generating devices.

3 eine schematische Darstellung eines weiteren Ausführungsbeispiels für eine Vorrichtung zum Erzeugen und Klassifizieren von Zufallsbits mit Fibonacci-Ringoszillatoren. 3 a schematic representation of another embodiment of an apparatus for generating and classifying random bits with Fibonacci ring oscillators.

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 1 zeigt eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits. Die Vorrichtung 1 dient der Durchführung eines Verfahrens zum Erzeugen von Zufallsbits. In der 1 umfasst die Vorrichtung 1 einen Ringoszillatorschaltkreis 2, der an einem Ausgang 6 ein Zufallssignal ZS ausgibt. Der Ringoszillatorschaltkreis 2 umfasst beispielsweise eine ungerade Anzahl von Invertern, die miteinander verkettet sind und Rückkopplungspfade vorgesehen. Daher erfolgt eine unregelmäßige Schwingung oder Signalform innerhalb des Ringoszillatorschaltkreises 2. Beispielsweise erfolgt eine Randomisierung des innerhalb des Ringoszillator propagierenden Signals durch auftretende Jitter, mit denen steigende oder fallende Signalflanken zufällig beaufschlagt werden. Konventionellerweise wird das Zufallssignal ZS zu vorgegebenen Taktzeiten abgetastet, und es wird jeweils ein einzelner Zufallsbitwert erzeugt. The 1 shows a schematic representation of an apparatus for generating random bits. The device 1 serves to carry out a method for generating random bits. In the 1 includes the device 1 a ring oscillator circuit 2 who is at an exit 6 outputs a random signal ZS. The ring oscillator circuit 2 For example, it includes an odd number of inverters that are chained together and provide feedback paths. Therefore, an irregular vibration or waveform occurs within the ring oscillator circuit 2 , For example, a randomization of the signal propagating within the ring oscillator takes place by jitter occurring, with which rising or falling signal edges are randomly applied. Conventionally, the random signal ZS is sampled at predetermined cycle times, and a single random bit value is generated in each case.

Bei der Vorrichtung 1 gemäß der 1 ist eine Verzögerungseinrichtung 3 vorgesehen, die miteinander verkettete Verzögerungsglieder 3 1, 3 23 m umfasst. Die Verzögerungsglieder 3 13 m können beispielsweise Inverter sein oder logische Schaltkreise, die in der Regel jeweils einen Ein- und Ausgang besitzen, wobei ein Signaldurchlauf von einem jeweiligen Eingang zum Ausgang mit einer Signalverzögerung oder Durchlaufzeit verknüpft ist. Das Zufallssignal ZS wird der Verzögerungseinrichtung 3 zugeführt, wodurch jeweils verzögerte Zufallssignale V1, V2–Vm entstehen. In Ausführungsformen, bei denen die Verzögerungsglieder 3 13 m lediglich eine zeitliche Verzögerung, aber keine logische Veränderung des Signalpegels bewirken, ergibt sich beispielsweise ein um einen bestimmten Verzögerungszeitbetrag verschobenes Signal V1–Vm gegenüber dem Zufallssignal ZS. In the device 1 according to the 1 is a delay device 3 provided, the interlinked delay elements 3 1 , 3 2 - 3 m includes. The delay elements 3 1 - 3 m may be, for example, inverters or logic circuits, which usually each have an input and output, wherein a signal passage from a respective input to the output with a signal delay or cycle time is linked. The random signal ZS becomes the delay device 3 supplied, whereby each delayed random signals V 1 , V 2 -V m arise. In embodiments in which the delay elements 3 1 - 3 m cause only a time delay, but no logical change in the signal level, resulting, for example, a shifted by a certain delay time signal V 1 -V m with respect to the random signal ZS.

In der 2 sind beispielhafte Signalformen, insbesondere für ein Zufallssignal ZS und verzögerte Zufallssignale V1 und Vm über die Zeit t angedeutet. Das Zufallssignal ZS hat einen im Wesentlichen zufälligen Signalverlauf. Aufgrund des Verzögerungsglieds 3 1 wird das Zufallssignal ZS um einen bestimmten Zeitraum verzögert. In the 2 exemplary signal forms, in particular for a random signal ZS and delayed random signals V 1 and V m are indicated over the time t. The random signal ZS has a substantially random waveform. Due to the delay element 3 1 , the random signal ZS is delayed by a certain period.

In der 2 erkennt man, dass das verzögerte Zufallssignal V1 erst zum Zeitpunkt T2 > T1 beispielsweise eine im Wesentlichen steigende Signalflanke aufweist. Beim Durchlauf durch die Verzögerungseinrichtung 3 können weitere Signalveränderungen entstehen. Durch die Verzögerungsglieder 3 13 m wird die zum Zeitpunkt T1 steigende Signalflanke des Zufallsignals ZS (sofern sie noch erkennbar ist) zum Zeitpunkt Tm als verzögertes Zufallssignal Vm vorliegen. Insgesamt ergibt sich ein Verzögerungszeitraum ΔT = Tm – T1. Man erhält an den jeweiligen Ausgängen der Verzögerungsglieder 3 13 m gegeneinander verschobene und aufgrund der hardwaremäßigen Ausgestaltung der Verzögerungsglieder 3 13 m veränderte zufällige Signalverläufe. In Anwendung des vorgeschlagenen Verfahrens werden die verzögerten Zufallssignale V1–Vm zeitgleich oder simultan abgetastet. Dazu sind in der 1 eine Abtasteinrichtung 4 bildende Abtast- und Halteglieder 4 14 m vorgesehen. In the 2 it can be seen that the delayed random signal V 1 2> T 1, for example, has only at the time T a substantially rising signal edge. When passing through the delay device 3 can cause further signal changes. By the delay elements 3 1 - 3 m is the signal edge of the random signal ZS rising at time T 1 (if it is still recognizable) at time T m as a delayed random signal V m . Overall, there is a delay period ΔT = T m -T 1 . You get at the respective outputs of the delay elements 3 1 - 3 m shifted from each other and due to the hardware configuration of the delay elements 3 1 - 3 m changed random waveforms. In application of the proposed method, the delayed random signals V 1 -V m are sampled simultaneously or simultaneously. These are in the 1 a scanner 4 forming scanning and holding members 4 1 - 4 m provided.

Den Abtast- und Haltegliedern 4 14 m werden die verzögerten Zufallssignale V1–Vn zugeführt. Werden nun die verzögerten Zufallssignale V1–Vn zum selben Zeitpunkt, beispielsweise durch ein Taktsignal getriggert, abgetastet, ergibt sich aus den abgetasteten und erfassten Signalpegeln ein jeweiliger Zufallsbitwert. Dies ist in der 1 durch die Symbole ZB1–ZBm angedeutet. Optional können die Zufallsbitwerte ZB1–ZBm in einer Speichereinrichtung 7 abgespeichert werden. Eine Auswerteeinrichtung 5 ermittelt dann beispielsweise unter Anwendung von Algorithmen eines oder mehrere Zufallsbitwerte aus dem Satz von Zufallsbits ZB. Einfachere Nachbearbeitungsansätze ver-XODERn die erhaltenen Zufallsbitwerte miteinander. Zur Nachbearbeitung von zufälligen Daten, wie Bitfolgen oder Bitsätzen, sind grundsätzlich Verfahren bekannt. Beispielweise kann mit Hilfe der in 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 , erläuterten Verfahren ein Einfluss oder Bias auf Zufallswerte kompensiert werden. Auch ein von Neumann-Verfahren kann eingesetzt werden. The scanning and holding links 4 1 - 4 m , the delayed random signals V 1 -V n are supplied. If the delayed random signals V 1 -V n are then sampled at the same instant, for example triggered by a clock signal, a respective random bit value results from the sampled and detected signal levels. This is in the 1 indicated by the symbols ZB 1 -ZB m . Optionally, the random bit values ZB 1 -ZB m may be stored in a memory device 7 be stored. An evaluation device 5 then, for example, using algorithms, determine one or more random bit values from the set of random bits ZB. Simpler post-processing approaches will XOR the obtained random bit values together. For postprocessing of random data, such as bit sequences or bit sets, basically methods are known. For example, with the help of in 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 , methods explained an influence or bias to be compensated for random values. A von Neumann method can also be used.

Untersuchungen der Anmelderin haben ergeben, dass die Zufallsbits ZB1–ZBm, welche von simultan abgetasteten, jeweils verzögerten Zufallsbitsignalen des Ringoszillatorschaltkreises 2 gebildet werden, eine erhöhte Entropie aufweisen. Investigations by the applicant have shown that the random bits ZB 1 -ZB m , which of simultaneously sampled, each delayed Random bit signals of the ring oscillator circuit 2 be formed, have increased entropy.

Die Anmelderin hat Konfigurationen ähnlich der in 1 dargestellten Vorrichtung zum Erzeugen von Zufallsbits untersucht. Dabei wurde mit Hilfe eines Spartan-3-Chips von Xilinx ein klassischer Ringoszillator mit drei verketteten Invertern realisiert und ein Fibonacci-Ringoszillator (FIRO) der Länge zehn. Als Verzögerungseinrichtung wurde eine Kette von Invertern betrachtet. The Applicant has configurations similar to those in 1 The apparatus for generating random bits is examined. It was realized with the help of a Spartan-3 chips from Xilinx a classic ring oscillator with three concatenated inverters and a Fibonacci ring oscillator (FIRO) of length ten. As a delay device, a chain of inverters was considered.

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 3 ist eine genauere Erfassung der Phasenlage von den den Ringoszillator 2 durchlaufenden Signalflanken möglich. Herstellungsbedingte Schwankungen der einzelnen Gatter, welche in der Verzögerungsvorrichtung verwendet werden, sowie im Ringoszillator selbst führen zu vermehrten Zufälligkeiten und damit einer Erhöhung der Entropie. Due to the attached to a ring oscillator delay device 3 is a more accurate detection of the phase angle of the ring oscillator 2 continuous signal edges possible. Manufacturing-related fluctuations of the individual gates, which are used in the delay device, as well as in the ring oscillator itself lead to increased randomness and thus an increase in entropy.

Obgleich die in der 1 dargestellte Ausführungsform mit einem an den Ausgang eines Ringoszillators zur Zufallszahlenerzeugung angekoppelten Verzögerungseinrichtung einfach und aufwandsgünstig realisierbar ist, kann der Energieverbrauch der Verzögerungsglieder als nachteilig empfunden werden. Although in the 1 illustrated embodiment with a coupled to the output of a ring oscillator for random number generation delay device is simple and low cost feasible, the energy consumption of the delay elements can be perceived as disadvantageous.

In der 3 ist eine weitere Ausführungsform einer Vorrichtung zum Erzeugen von Zufallsbits dargestellt. Die Vorrichtung 10 gemäß der 3 umfasst einen Ringoszillatorschaltkreis 20, der als Fibonacci-Ringoszillator (FIRO) ausgestaltet ist. Der Fibonacci-Ringoszillator hat dabei n Inverter 2 12 n, welche miteinander verkettet sind, und gemäß dem jeweils gewählten Fibonacci-Polynom, welches durch die Koeffizienten f1–fn-1 gegeben sind, Rückkopplungszweige haben. Die Koeffizienten f1–fn-1 sind in der 3 durch Schalter angedeutet, welche jeweils das Ausgangssignal A1–An des jeweiligen Inverters 2 12 n dem Rückkopplungspfad mit Hilfe von Additionsknoten 8 zuführen. In the 3 another embodiment of an apparatus for generating random bits is shown. The device 10 according to the 3 includes a ring oscillator circuit 20 , which is designed as a Fibonacci ring oscillator (FIRO). The Fibonacci ring oscillator has n inverters 2 1 - 2 n , which are concatenated with each other, and having feedback branches according to the respective selected Fibonacci polynomial given by the coefficients f 1 -f n-1 . The coefficients f 1 -f n-1 are in the 3 indicated by switches, which in each case the output signal A 1 -A n of the respective inverter 2 1 - 2 n the feedback path using addition nodes 8th respectively.

Es ist ein Ausgang 6 des FIROs 20 eingezeichnet, an dem ein Zufallssignal ZS abgreifbar ist. Prinzipiell haben auch die Ausgangssignale A1–An der Inverter 2 12 n zufällige Signalformen und können als Zufallssignale betrachtet werden. Das Zufallssignal ZS ist über eine Schalteinrichtung 9, welche beispielsweise ein steuerbarer Schalter ist, an eine Verzögerungseinrichtung 3 mit m Verzögerungsglieder 3 13 m koppelbar. Das über den Schalter 9 der Verzögerungseinrichtung 3 zugeführte Zufallssignal ZS wird mit jeweils einem Verzögerungsglied 3 13 m zeitlich verzögert und als verzögertes Zufallssignal V1–Vm ausgegeben. Die verzögerten Zufallssignale V1–Vm sind jeweils Zwischenspeicherelementen 4 14 m zugeführt. Als Zwischenspeicherelement kann beispielsweise ein D- oder T-Flip-Flop eingesetzt werden, das jeweils einen Takteingang, einen Dateneingang D und einen Speicherausgang Q umfasst. It is an exit 6 of the FIRO 20 located at which a random signal ZS can be tapped. In principle, the output signals A 1 -A n of the inverter 2 1 - 2 n random waveforms and can be considered as random signals. The random signal ZS is via a switching device 9 which is a controllable switch, for example, to a delay device 3 with m delay elements 3 1 - 3 m can be coupled. The over the switch 9 the delay device 3 supplied random signal ZS is each with a delay element 3 1 - 3 m delayed in time and output as a delayed random signal V 1 -V m . The delayed random signals V 1 -V m are each latch elements 4 1 - 4 m supplied. As a buffer element, for example, a D or T flip-flop can be used, each comprising a clock input, a data input D and a memory output Q comprises.

In der 3 sind lediglich beispielhaft die Ein- bzw. Ausgänge des Zwischenspeicherelementes 4 m bezeichnet. An die Datenausgänge Q der Zwischenspeicherelemente 4 14 m ist eine Speichereinrichtung 7 gekoppelt, die die entsprechenden Zufallsbitwerte ZB1–ZBm speichert. In the 3 are merely examples of the inputs and outputs of the buffer element 4 m denotes. To the data outputs Q of the buffer elements 4 1 - 4 m is a memory device 7 which stores the corresponding random bit values ZB 1 -ZB m .

Eine Steuereinrichtung 5 liefert Steuersignale CT1 an den steuerbaren Schalter 9 und Abtastsignale CT2 an die Zwischenspeicherelemente 4 14 m. Es ist ferner eine Zeitmesseinrichtung 11 vorgesehen, die eine Verzögerungsstrecke oder Verzögerungskette 13 umfasst, der ein von einer Starteinrichtung 12 zugeführtes Signal eingangsseitig zugeführt ist. Ausgangsseitig ist eine Detektionseinrichtung 14 vorgesehen, welche erfasst, wann eine bestimmte Signalflanke, welche von der Starteinrichtung 12 erzeugt wurde, von der Verzögerungskette 13 wieder ausgegeben wird. Der Steuereinrichtung 5 wird ein entsprechendes Signal CT3 übermittelt. A control device 5 supplies control signals CT1 to the controllable switch 9 and sample signals CT2 to the latch elements 4 1 - 4 m . It is also a time measuring device 11 provided that a delay line or delay chain 13 includes, one of a starting device 12 supplied signal is supplied on the input side. On the output side is a detection device 14 provided, which detects when a certain signal edge, which of the starting device 12 was generated by the delay chain 13 is spent again. The control device 5 a corresponding signal CT3 is transmitted.

Beim Betrieb der Vorrichtung zum Erzeugen von Zufallsbits 10 wird, wie schon bezüglich des vorhergehenden Ausführungsbeispiels, ein Zufallssignal ZS mehrfach verzögert, und die verzögerten Zufallssignale werden V1–Vm gleichzeitig abgetastet. Um einen Stromverbrauch gering zu halten, wird die Verzögerungseinrichtung 3 ausschließlich für die Zeitdauer an den Ausgang 6 des FIROs 20 angekoppelt, die für das gleichzeitige Abtasten der miteinander verzögerten Zufallssignale V1–Vm notwendig ist. Beispielsweise erfolgt ein Zuschalten der Verzögerungseinrichtung 3 gesteuert durch die Steuereinrichtung 5 mit Hilfe der Schalteinrichtung 9 ausschließlich für die Dauer des Verzögerungszeitraums ΔT, wie er in der 2 angedeutet ist. Anschließend wird die Verzögerungsschaltung 3 wieder abgekoppelt und/oder deaktiviert. Die Stromaufnahme der Verzögerungsglieder 3 13 m, beispielsweise in der Art von Inverterketten, kann dadurch reduziert werden. Insbesondere erfolgt das Abtasten zum Zeitpunkt Tn, wenn also das Zufallssignal ZS alle Verzögerungsglieder 3 13 m durchlaufen hat. In operation of the random bit generating device 10 is as in the previous embodiment, a random signal ZS delayed several times, and the delayed random signals V 1 -V m are sampled simultaneously. To keep power consumption low, the delay device becomes 3 only for the duration of the output 6 of the FIRO 20 coupled, which is necessary for the simultaneous scanning of the mutually delayed random signals V 1 -V m . For example, a connection of the delay device takes place 3 controlled by the controller 5 with the help of the switching device 9 exclusively for the duration of the delay period ΔT, as stated in the 2 is indicated. Subsequently, the delay circuit 3 decoupled and / or deactivated again. The current consumption of the delay elements 3 1 - 3 m , for example in the form of inverter chains, can be reduced thereby. In particular, the sampling takes place at the time T n , that is, when the random signal ZS all delay elements 3 1 - 3 m has gone through.

Die Anmelderin hat auch für eine Konfiguration gemäß der 3 Untersuchungen durchgeführt. Es wurde ein Fibonacci-Ringoszillator der Länge neun, also mit 2 12 9 Invertern, betrachtet und eine Verzögerungskette 3 mit 23 3 13 23 logischen Identitätsfunktionen als Verzögerungsglieder angenommen. Man kann diese Verzögerungsglieder auch als kurzzeitige Speichermittel zum Speichern von FIRO-Zuständen betrachten. Ein am Ausgang 6 anliegender Zufallssignalabschnitt wird ab dem Zeitraum T1 durch die Verzögerungen zeitlich gestreckt und dann effektiv höher aufgelöst abgetastet. Wegen des intrinsischen Zufalls im Zufallssignal sind die abgeleiteten Zufallsbits an den Zwischenspeicherelementen 4 14 m im Wesentlichen voneinander unabhängig. The applicant also has for a configuration according to the 3 Investigations carried out. It was a Fibonacci ring oscillator of length nine, so with 2 1 - 2 9 inverters, considered and a delay chain 3 with 23 3 1 - 3 23 logical identity functions assumed as delay elements. These delay elements can also be regarded as short-term storage means for storing FIRO states. One at the exit 6 The adjacent random signal portion is temporally stretched from the time period T1 by the delays, and then effectively sampled at a higher resolution. Because of the intrinsic randomness in the random signal, the derived random bits are at the latch elements 4 1 - 4 m are essentially independent of each other.

Zu einem Zeitpunkt T1 (vgl. 2) wird mit Hilfe des Steuersignals CT1, welcher von der Steuereinrichtung 5 erzeugt wird, die Verzögerungseinrichtung 3 an den Ausgang 6 gekoppelt. Um den Verzögerungszeitraum ΔT sinnvoll zu bemessen, wird ferner eine zweite Verzögerungskette 13 mit 26 logischen Identitätsfunktionen verwendet. At a time T1 (cf. 2 ) is controlled by means of the control signal CT 1 , which by the control device 5 is generated, the delay device 3 to the exit 6 coupled. In order to sensibly dimension the delay period ΔT, a second delay chain also becomes available 13 used with 26 logical identity functions.

Die Starteinrichtung 12 erzeugt nun in Abhängigkeit von dem Steuersignal CT1 zum Zeitpunkt T1 eine Signalflanke, welche durch die Verzögerungskette 13 propagiert. Sobald die Signalflanke die Verzögerungskette 13 durchlaufen hat, wird dies von einer Detektionseinrichtung 14 erfasst und als Steuersignal CT3 der Steuereinrichtung 5 übermittelt. Da im Vergleich zu der Verzögerungseinrichtung 3 drei Identitätsfunktionen bzw. Verzögerungsglieder in der Verzögerungskette 13 mehr vorliegen, ist im Wesentlichen sichergestellt, dass zum Zeitpunkt des Erzeugens des Steuersignals CT3 alle Verzögerungsglieder 3 13 m in der Verzögerungseinrichtung 3 durchlaufen sind. The starting device 12 generates now in response to the control signal CT1 at time T 1, a signal edge, which through the delay chain 13 propagated. As soon as the signal edge the delay chain 13 has passed through, this is from a detection device 14 detected and as the control signal CT3 of the control device 5 transmitted. Because compared to the delay device 3 three identity functions or delay elements in the delay chain 13 Are more, it is essentially ensured that at the time of generating the control signal CT3 all delay elements 3 1 - 3 m in the delay device 3 have passed through.

D.h., die Steuereinrichtung 5 erzeugt ein Abtast- oder Steuersignal CT2, so dass alle verzögerten Zufallssignale V1–Vm gleichzeitig mit Hilfe der Abtast- und Halteglieder oder auch mit Hilfe von Flip-Flops 4 14 m abgetastet werden. Anschließend erzeugt die Steuereinrichtung 5 ein Signal zum Trennen der Verzögerungseinrichtung 3 vom Ausgang 6 des FIROs 20. Der Schalter 9 wird damit geöffnet. Dadurch liegen keine mit wechselnden Signalpegeln beaufschlagte Eingangssignale mehr an den Verzögerungsgliedern 3 13 m an. Dadurch ist die Stromaufnahme gegenüber einem Betriebszustand mit propagierenden Signalflanken in der Verzögerungseinrichtung 3 reduziert. That is, the controller 5 generates a sample or control signal CT2 such that all the delayed random signals V 1 -V m are sampled simultaneously by means of the sample and hold circuits or also by means of flip-flops 4 1 - 4 m be scanned. Subsequently, the control device generates 5 a signal for disconnecting the delay device 3 from the exit 6 of the FIRO 20 , The desk 9 will open. As a result, there are no more input signals applied to changing signal levels on the delay elements 3 1 - 3 m on. As a result, the power consumption compared to an operating state with propagating signal edges in the delay device 3 reduced.

Obgleich dies in der 3 nicht explizit dargestellt ist, sind bei Untersuchungen der Anmelderin auch die Ausgangssignale A1–A9 des FIROs 20 abgetastet worden. Insgesamt ergeben sich damit 32 Zufallsbitwerte, die hinsichtlich ihrer Entropie untersucht wurden. Für den Fall, dass logische Identitäten als Verzögerungsglieder 3 13 m berücksichtigt wurden, konnte eine Entropie von 14,17 Bits pro Abtastung ermittelt werden. Gegenüber der neun Inverter aufweisenden FIRO-Schaltung 20, welche eine Entropie von 8,35 Bits pro Abtastung liefert, ergibt sich also eine Verbesserung um 5,82 Bits durch die vorgeschlagene Verzögerungseinrichtung und simultanen Abtastung der verzögerten Zufallssignalformen. Although this in the 3 is not explicitly shown, are in investigations of the Applicant also the output signals A 1 -A 9 of the FIROs 20 been sampled. Overall, this results in 32 random bit values, which were examined with regard to their entropy. In the event that logical identities as delay elements 3 1 - 3 m , an entropy of 14.17 bits per sample could be determined. Compared to the nine inverters having FIRO circuit 20 Thus, which provides an entropy of 8.35 bits per sample, there is an improvement of 5.82 bits by the proposed delay and simultaneous sampling of the delayed random waveforms.

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)

Verfahren zum Erzeugen von Zufallsbits (ZB) umfassend: – Bereitstellen eines Zufallssignals (ZS) mit Hilfe eines Ringoszillatorschaltkreises (2); – mehrfaches Verzögern des Zufallssignals (ZS) zum Erzeugen von mehreren verzögerten Zufallssignalen (V1–Vm); – gleichzeitiges Erfassen der mehreren verzögerten Zufallssignale (V1–Vm); und – Zuordnen eines Zufallsbitwertes (ZB1–ZBm) zu jedem erfassten verzögerten Zufallssignal (V1–Vm). Method for generating random bits (ZB) comprising: - providing a random signal (ZS) by means of a ring oscillator circuit ( 2 ); - delaying the random signal (ZS) several times to produce a plurality of delayed random signals (V 1 -V m ); - Simultaneous detection of the plurality of delayed random signals (V 1 -V m ); and - assigning a random bit value (ZB 1 -ZB m ) to each detected delayed random signal (V 1 -V m ). Verfahren nach Anspruch 1, wobei das Erfassen eines jeweiligen verzögerten Zufallssignals (V1–Vm) ein Abtasten des jeweiligen verzögerten Zufallssignals (V1–Vm) zum Ableiten des jeweiligen Zufallsbitwerts (ZB1–ZBm) umfasst. The method of claim 1, wherein the detecting a respective delayed coincidence signal (V 1 -V m) scanning the respective delayed coincidence signal (V 1 -V m) for deriving the respective Zufallsbitwerts (ZB 1 -ZB m). Verfahren nach Anspruch 1 oder 2, wobei der Ringoszillatorschaltkreis (2) logische Elemente (2 12 n) umfasst, welche zumindest teilweise rückgekoppelt sind und jeweils ein Eingangssignal (E1–En) in ein Ausgangssignal (A1–An) ausgeben und eines der Ausgangssignale als Zufallssignal (ZS) verwendet wird. Method according to claim 1 or 2, wherein the ring oscillator circuit ( 2 ) logical elements ( 2 1 - 2 n ) which are at least partially fed back and each output an input signal (E 1 -E n ) in an output signal (A 1 -A n ) and one of the output signals is used as a random signal (ZS). Verfahren nach Anspruch 3, ferner umfassend: Erfassen von wenigstens einem Ausgangssignal (A1–An) gleichzeitig mit den mehreren verzögerten Zufallssignalen (V1–Vm). The method of claim 3, further comprising: detecting at least one output signal (A 1 -A n ) simultaneously with the plurality of delayed random signals (V 1 -V m ). Verfahren nach einem der Ansprüche 1–4, wobei das mehrfache Verzögern außerhalb eines Rückkopplungspfades des Ringoszillatorschaltkreises (2) erfolgt. Method according to one of claims 1-4, wherein the multiple delaying outside a feedback path of the ring oscillator circuit ( 2 ) he follows. Verfahren nach einem der Ansprüche 1–5, wobei durch das mehrfache Verzögern das Zufallssignal (ZS) eine Verzögerung um einen vorgegebenen Verzögerungszeitraum (ΔT) erfolgt, und das Erfassen ausschließlich innerhalb des Verzögerungszeitraum (ΔT) erfolgt. Method according to one of claims 1-5, wherein the random signal (ZS) is delayed by a predetermined delay period (.DELTA.T) by the multiple delay, and the detection takes place exclusively within the delay period (.DELTA.T). Verfahren nach einem der Ansprüche 1–6, wobei das mehrfache Verzögern mit Hilfe von Verzögerungsgliedern (3 13 m), insbesondere mit Hilfe von Inverter-Einrichtungen, erfolgt. Method according to one of claims 1-6, wherein the multiple delaying by means of delay elements ( 3 1 - 3 m ), in particular with the aid of inverter devices takes place. Verfahren nach einem der Ansprüche 1–7, wobei die Zufallsbitwerte (ZB1–ZBm), insbesondere zum Eliminieren einer Schiefe oder einer Korrelation von Zufallsbitwerten unterschiedlicher verzögerter Zufallsbitsignale, einer algorithmischen Nachbearbeitung unterzogen wird. Method according to one of Claims 1-7, wherein the random bit values (ZB 1 -ZB m ), in particular for eliminating skewness or a correlation of random bit values of different delayed random bit signals, are subjected to algorithmic post-processing. Vorrichtung (1) zum Erzeugen von Zufallsbits (ZB), welche insbesondere eingerichtet ist, ein Verfahren nach einem der Ansprüche 1–8 durchzuführen, umfassend: – einen Ringoszillatorschaltkreis (2) mit mehreren zumindest teilweise rückgekoppelten logischen Elementen (2 12 m), 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 mit – eine Abtasteinrichtung (4), welche eingerichtet ist, die verzögerten Zufallssignale (V1–Vm) gleichzeitig zu erfassen und jedem erfassten verzögerten Zufallssignal (V1–Vm) einen Zufallsbitwert (ZB1–ZBm) zuzuordnen. Contraption ( 1 ) for generating random bits (ZB), which is in particular adapted to perform a method according to any one of claims 1-8, comprising: - a ring oscillator circuit ( 2 ) with a plurality of at least partially fed back logical elements ( 2 1 - 2 m ), each of which outputs an input signal (E 1 -E n ) into an output signal (A 1 -A n ); A delay device ( 3 ) which is arranged to multiple-delay one of the output signals (A 1 -A n ) as a random signal (ZS) for generating delayed random signals (V 1 -V m ); and with - a scanning device ( 4 ), Which is designed 1 -V m) to detect the delayed random signals (V simultaneously, and each detected delayed coincidence signal (V 1 -V m) a Zufallsbitwert (ZB 1 -ZB m) attributable. Vorrichtung nach Anspruch 9, wobei die Verzögerungseinrichtung (3) mit Hilfe einer Schalteinrichtung (9) temporär an einen Ausgang (6) des Ringoszillatorschaltkreises (2) angekoppelt ist. Device according to claim 9, wherein the delay device ( 3 ) by means of a switching device ( 9 ) temporarily to an output ( 6 ) of the ring oscillator circuit ( 2 ) is coupled.
DE102014209964.1A 2014-05-26 2014-05-26 Method and apparatus for generating random bits Withdrawn DE102014209964A1 (en)

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)

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

Patent Citations (2)

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

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