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

Method and apparatus for generating random bits Download PDF

Info

Publication number
DE102014224421A1
DE102014224421A1 DE102014224421.8A DE102014224421A DE102014224421A1 DE 102014224421 A1 DE102014224421 A1 DE 102014224421A1 DE 102014224421 A DE102014224421 A DE 102014224421A DE 102014224421 A1 DE102014224421 A1 DE 102014224421A1
Authority
DE
Germany
Prior art keywords
ring oscillator
circuits
time
gate
random bits
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
DE102014224421.8A
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 DE102014224421.8A priority Critical patent/DE102014224421A1/en
Publication of DE102014224421A1 publication Critical patent/DE102014224421A1/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

Abstract

Ein Verfahren zum Erzeugen von Zufallsbits (ZB) mit Hilfe mehrerer Ringoszillatorschaltkreise (11–1n), die rückgekoppelte Gatterschaltungen (211–2nr) umfasst die Schritte: Starten der Ringoszillatorschaltkreise (11–1n) derart, dass in den Ringoszillatorschaltkreisen (11–1n) jeweils ein mit einem Jitterbeitrag beaufschlagtes Oszillationssignal (OS1–OSn) durch die Gatterschaltungen (211–2nr) propagiert; Abgreifen des jeweiligen Oszillationssignals (OS1–OSn) an Ausgängen mehrerer Gatterschaltungen (21–2n) verschiedener Ringoszillatorschaltkreise (11–1n) als ein jeweiliges Ausgangssignal (A11–Anr); Zuordnen eines logischen Pegels zu dem jeweils abgegriffenen Ausgangssignal (A11–Anr) zum Erzeugen eines jeweiligen Bitwertes (B11–Bnr); und Anwenden einer kryptografischen Funktion (SHA) auf zumindest eine Auswahl der erzeugten Bitwerte (B11–Bnr) zum Erzeugen eines Bitmusters (BM), welches Zufallsbits (ZB1–ZBs) umfasst. Eine Vorrichtung zum Erzeugen von Zufallsbits (ZB1–ZBs) mit Hilfe des Verfahrens umfasst mehreren Ringoszillatorschaltkreisen (11–1n), die rückgekoppelte Gatterschaltungen (211–2nr) umfassen, hat mehrere Abtasteinrichtungen (31–3n) zum Erfassen von Ausgangssignale (A11–Anr) der Gatterschaltungen (211–2nr) und eine Steuereinrichtung (3).A method for generating random bits (ZB) by means of a plurality of ring oscillator circuits (11-1n), the feedback gate circuits (211-2nr) comprises the steps of: starting the ring oscillator circuits (11-1n) such that in the ring oscillator circuits (11-1n) in each case an oscillation signal (OS1-OSn) acted upon by a jitter contribution is propagated through the gate circuits (211-2nr); Sampling the respective oscillation signal (OS1-OSn) at outputs of a plurality of gate circuits (21-2n) of different ring oscillator circuits (11-1n) as a respective output signal (A11-Anr); Assigning a logical level to the respective sampled output signal (A11-Anr) to generate a respective bit value (B11-Bnr); and applying a cryptographic function (SHA) to at least a selection of the generated bit values (B11-Bnr) to generate a bit pattern (BM) comprising random bits (ZB1-ZBs). An apparatus for generating random bits (ZB1-ZBs) by the method comprising a plurality of ring oscillator circuits (11-1n) comprising feedback gate circuits (211-2nr) has a plurality of sampling means (31-3n) for detecting output signals (A11-Anr ) of the gate circuits (211-2nr) and a control device (3).

Description

Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erzeugen eines oder mehrerer Zufallsbits. Es wird zum Beispiel eine Zufallsbitfolge oder eine Zufallsbitmuster 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 a method and apparatus for generating one or more random bits. For example, a random bit string or a random bit pattern 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 Jitterakkumulierung entsteht. Daher ergeben sich meist niedrige Datenerzeugungsraten bei Ringoszillatoren. Ferner ist möglich, dass die sich addierenden Jitterbeiträ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 Jitterakkumulierung arises. Therefore, low data generation rates usually occur with ring oscillators. Furthermore, it is possible that the adding jitter contributions cancel each other out, so that on average random short gate delays are compensated by random longer gate delays.

In der Vergangenheit wurden auch mehrere Ringoszillatoren gleichzeitig abgegriffen und die entsprechend gesandten Bits nach einer XOR-derung als Zufallsbits verwendet. Diese Vorgehensweise ging davon aus, dass im Wesentlichen eine Gleichverteilung der abgetasteten Bitwerte zwischen 0 bzw. L und H bzw. 1 bzw. H-Pegel vorliegen. Wünschenswert ist eine flexiblere und schnellere Erzeugung von Bits, insbesondere wenn Ringoszillatorschaltkreise eingesetzt werden. In the past, several ring oscillators were tapped simultaneously and used the corresponding bits sent after a XOR tion as random bits. This approach assumed that there is essentially an equal distribution of the sampled bit values between 0 or L and H or 1 or H level. It is desirable to have a more flexible and faster generation of bits, especially when ring oscillator circuits are used.

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 mit Hilfe mehrerer Ringoszillatorschaltkreise, die rückgekoppelte Gatterschaltungen umfassen, vorgeschlagen. Das Verfahren umfasst insbesondere die Schritte:
Starten der Ringoszillatorschaltkreise derart, dass in den Ringoszillatorschaltkreisen jeweils ein mit einem Jitterbeitrag beaufschlagtes Oszillationssignal durch die Gatterschaltungen propagiert;
Abgreifen des jeweiligen Oszillationssignals an Ausgängen mehrerer Gatterschaltungen verschiedener Ringoszillatorschaltkreise als ein jeweiliges Ausgangssignal;
Zuordnen eines logischen Pegels zu dem jeweils abgegriffenen Ausgangssignal zum Erzeugen eines jeweiligen Bitwertes; und
Anwenden einer kryptographischen Funktion auf zumindest einer Auswahl der erzeugten Bitwerte zum Erzeugen eines Bitmusters, welches Zufallsbits umfasst.
Accordingly, a method for generating random bits by means of a plurality of ring oscillator circuits comprising feedback gate circuits is proposed. The method comprises in particular the steps:
Starting the ring oscillator circuits such that propagates in the ring oscillator circuits each acted upon by a jitter contribution oscillation signal through the gate circuits;
Picking up the respective oscillation signal at outputs of a plurality of gate circuits of different ring oscillator circuits as a respective output signal;
Assigning a logic level to the respective sampled output signal to generate a respective bit value; and
Applying a cryptographic function to at least a selection of the generated bit values to generate a bit pattern comprising random bits.

Bei dem vorgeschlagenen Verfahren wird ausgenutzt, dass kryptographische Funktionen oder Abbildungen im Vergleich zu sonst üblichen XOR-Verknüpfungen zu einer verbesserten Verteilung der ermittelten logischen Pegel als Zufallsbits führen. Kryptographische Funktionen können beispielsweise als Hashfunktionen oder Blockchiffren eingesetzt werden. Insbesondere eignen sich Hashfunktionen, die eine Bitfolge beliebiger Länge auf eine Bitfolge mit fester Länge abbilden. Kryptologische Hashfunktionen sind grundsätzlich bekannt und lassen sich leicht in Hardware implementieren. Als geeignet haben sich insbesondere Hashfunktionen nach SHA erwiesen. The proposed method makes use of the fact that cryptographic functions or mappings lead to an improved distribution of the determined logic levels as random bits in comparison to otherwise usual XOR links. Cryptographic functions can be used for example as hash functions or block ciphers. In particular, hash functions which are a bit sequence are suitable of any length to a bit sequence of fixed length. Cryptological hash functions are basically known and can be easily implemented in hardware. Hash functions according to SHA in particular have proven to be suitable.

Vorzugsweise umfasst der Ringoszillatorschaltkreis keine Verzweigungen von verketteten Gatterschaltungen. Es handelt sich insbesondere um einen klassischen Ringoszillator aus einer ungeraden Anzahl von hintereinander gekoppelten Inverterschaltungen. Preferably, the ring oscillator circuit does not include branches of concatenated gate circuits. In particular, it is a classical ring oscillator comprising an odd number of inverter circuits coupled in series.

Als Gatterschaltungen in den Ringoszillatorschaltkreisen werden Inverter und Verzögerungselemente eingesetzt. Es können aber auch weitere logische Gatter vorgesehen sein, die im Schwingungszustand die Funktionalität eines Inverters oder Verzögerungselements haben. Z. B ist es gängige Praxis, einen der Inverter im Ring durch ein NAND-Gatter mit zwei Eingängen zu ersetzen, sodass durch Anlegen eines Logischen 0-Wertes an den einen Eingang der Ringoszillator ausgeschaltet werden kann. Liegt dort eine logische 1 an, dann hat das Gatter die Funktionalität eines Inverters. Das Abgreifen eines jeweiligen Oszillationssignals erfolgt beispielsweise über ein Abtast- und Halteglied, das zu einem vorgegebenen Abtastzeitpunkt den Ausgangssignalpegel erfasst. In Ausführungsformen erfolgt das Abtasten der Ausgangssignale gleichzeitig. Dazu wird beispielsweise von einer Steuereinrichtung ein Abtastsignal geliefert, welches zu einem Samplen oder Abtasten führt. Es ist auch denkbar, dass die Ausgangssignale nicht gleichzeitig oder nacheinander abgetastet werden. Vielmehr werden die Ausgangssignale zum Zuordnen der logischen Pegel von Bitwerten verwendet, die von unterschiedlichen Ringoszillatorschaltkreisen stammen. Es ist dabei nicht notwendig, von jedem Ringoszillatorschaltkreis dieselbe Anzahl von Bitwerte abzuleiten. As gate circuits in the ring oscillator circuits inverter and delay elements are used. However, it is also possible to provide further logic gates which have the functionality of an inverter or delay element in the vibrational state. For example, it is common practice to replace one of the inverters in the ring with a two-input NAND gate, so that by applying a logical 0 value to one input, the ring oscillator can be turned off. If there is a logical 1, then the gate has the functionality of an inverter. The tapping of a respective oscillation signal, for example, via a sample and hold member which detects the output signal level at a predetermined sampling time. In embodiments, the sampling of the output signals occurs simultaneously. For this purpose, for example, supplied by a control device, a scanning signal, which leads to a sampling or scanning. It is also conceivable that the output signals are not sampled simultaneously or sequentially. Rather, the output signals are used to assign the logic levels of bit values derived from different ring oscillator circuits. It is not necessary to derive the same number of bit values from each ring oscillator circuit.

In Ausführungsformen werden die erzeugten Bitwerte vor dem Anwenden der kryptographischen Funktion einer Abbildung unterzogen, welche eine Entropie der Bitwerte im Wesentlichen unverändert lässt. Beispielsweise kann eine Reduktion der Anzahl der Bitwerte erfolgen, um die Durchführung der kryptographischen Funktion zu beschleunigen. Denkbar ist auch, dass die Bitwerte, welche von Ausgangssignalen eines Ringoszillatorschaltkreises erzeugt wurden, als Bitmuster zusammengefasst werden, welche beispielsweise indiziert werden können. Vorzugsweise wird bei einer derartigen Zwischenabbildung die Entropie der Bitwerte unverändert gelassen. In embodiments, before applying the cryptographic function, the generated bit values are subjected to a mapping that leaves entropy of the bit values substantially unchanged. For example, a reduction in the number of bit values can be made to speed up the performance of the cryptographic function. It is also conceivable that the bit values, which were generated by output signals of a ring oscillator circuit, are combined as bit patterns, which can be indexed, for example. Preferably, in such an intermediate image, the entropy of the bit values is left unchanged.

In einer weiteren Ausführungsform des Verfahrens erfolgen die Schritte:
Erfassen eines Entropiewertes der Auswahl der erzeugten Bitwerte als eine Anzahl von Bits;
Auswählen einer Auswahl der Zufallsbits, welche weniger Zufallsbits umfasst als der erfasste Entropiewert vorgibt; und
Ausgeben der Auswahl der Zufallsbits als binäre Zufallszahl.
In a further embodiment of the method, the steps are carried out:
Detecting an entropy value of the selection of the generated bit values as a number of bits;
Selecting a selection of the random bits comprising fewer random bits than the detected entropy value; and
Output the selection of random bits as a binary random number.

Man kann den maximal möglichen Entropiewert für einzelne Ringoszillatorschaltkreise abschätzen. Eine theoretische Entropie der mit Hilfe der abgetasteten Ausgangssignale erzeugten Bits kann daher bestimmt werden und als Anzahl von Bits angegeben werden. Nach Anwenden der kryptographischen Funktion genügt es dann in der Regel, nicht mehr Bits aus dem Funktionsergebnis auszuwählen als eingangsseitig Entropie möglich ist. One can estimate the maximum possible entropy value for individual ring oscillator circuits. A theoretical entropy of the bits generated by means of the sampled output signals can therefore be determined and indicated as the number of bits. After applying the cryptographic function, it is then generally sufficient to not select more bits from the function result than entropy on the input side is possible.

In einer weiteren Ausführungsform des Verfahrens erfolgen die Schritte:
Einkoppeln eines Startsignals an die Ringoszillatorschaltkreise zu einem Startzeitpunkt ts zum Erzeugen der Oszillationssignale mit jeweils nominellen Perioden t1–tn, wobei das jeweilige Oszillationssignal mit wenigstens einem Jitterbeitrag beaufschlagt ist, welcher einer Normalverteilung mit einer Standardabweichung entspricht und wobei eine Entropie H(σ) des jeweiligen Ringoszillatorschaltkreises von der Standardabweichung σ des Jitters abhängt; und
Abtasten der Ausgangssignale zu einem Abtastzeitpunkt, wobei der Abtastzeitpunkt in einem vorgegebenen Zeitintervall Δt um einen Vorzugszeitpunkt tp gewählt ist, und wobei der Vorzugszeitpunkt derart gewählt wird, dass die Standardabweichung einen Wert hat, bei dem die Entropie pro Zeit für wenigstens einen Ringoszillatorschaltkreis, insbesondere demjenigen mit der längsten nominellen Periode T1–Tn, ein Maximum aufweist.
In a further embodiment of the method, the steps are carried out:
Coupling a start signal to the ring oscillator circuits at a start time t s for generating the oscillation signals each having nominal periods t 1 -t n , the respective oscillation signal being subjected to at least one jitter contribution which corresponds to a normal distribution with a standard deviation and wherein an entropy H (σ ) of the respective ring oscillator circuit depends on the standard deviation σ of the jitter; and
Sampling the output signals at a sampling time, the sampling time in a predetermined time interval At is selected to be a preferential time point t p, and wherein the preferred timing is selected such that the standard deviation has a value at which the entropy per unit time for at least one ring oscillator circuit, in particular the one with the longest nominal period T 1 -T n , has a maximum.

Bei dieser Variante des Verfahrens wird ein günstiger zeitlicher Abstand zwischen dem Startzeitpunkt und dem Abtastzeitpunkt gewählt. Während bei bekannten Verfahren zum Erzeugen von Zufallsbits mit Ringoszillatoren das Abtasten solange nicht erfolgt bis der Jitter eine derart hohe Standardabweichung hat, die quasi der nominellen Periode des Ringoszillators entspricht, ist vorgesehen, den Vorzugszeitpunkt so zu wählen, dass eine Entropie-pro-Zeit-Maximierung eintritt. Der Abtastzeitpunkt ist dadurch früher als konventionell üblich. Dadurch können die Ringoszillatorschaltkreise mit einer höheren Zufallsbit-Erzeugungsrate betrieben werden. Dies führt zu schnelleren Zufallszahlerzeugungen, niedrigeren Stromaufnahmen und insgesamt einem effizienteren Vorgehen. In this variant of the method, a favorable time interval between the start time and the sampling time is selected. Whereas in known methods for generating random bits with ring oscillators the sampling does not take place until the jitter has such a high standard deviation, which corresponds more or less to the nominal period of the ring oscillator, it is provided to select the preferred time such that an entropy-per-time Maximization occurs. The sampling time is thereby earlier than conventionally usual. Thereby, the ring oscillator circuits can operate at a higher random bit generation rate become. This leads to faster random number generation, lower power consumption and a more efficient overall approach.

Grundsätzlich liefert ein Ringoszillatorschaltkreis beispielsweise mit einer ungeraden Anzahl von Invertern an seinem Ausgang ein Zufallssignal, welches aufgrund der Jitterschwankungen und der Rückkopplungen steigende und fallende Signalflankenanteile hat. Dieser zufällige oder chaotische Signalverlauf kann in der Regel zeitlich nicht aufgelöst werden, wenn zum vorgegebenen Abtastzeitpunkt ein einziger Bitwert aus dem Pegel des Zufallssignals abgeleitet wird. Bei mehreren zeitlich parallel abgetasteten Oszillationssignalen unterschiedlicher Ringoszillatoren, wird vorzugsweise der Vorzugszeitpunkt für den Ringoszillator mit der längsten nominellen Periode betrachtet. Es wird demnach früher abgetastet und eine potenzielle Ungleichverteilung der ermittelten H und L bzw. logischen Eins- und Nullzustände in Kauf genommen. Allerdings erhält man eine höhere Entropie pro Zeit, da ein Entropiemaximum aufgrund der Gaußschen oder thermischen Jittererzeugung bei Abtastzeitpunkten vorliegt, für die die Standardabweichung des Jitters geringer ist als eine nominelle Periode des Ringoszillators. Basically, a ring oscillator circuit, for example, with an odd number of inverters at its output provides a random signal, which has due to the jitter fluctuations and the feedbacks rising and falling signal edge components. As a rule, this random or chaotic signal curve can not be resolved in time if, at the given sampling time, a single bit value is derived from the level of the random signal. In the case of several oscillation signals of different ring oscillators sampled at the same time, preferably the preferred time for the ring oscillator with the longest nominal period is considered. Accordingly, it is sampled earlier and a potential unequal distribution of the determined H and L or logical one and zero states is accepted. However, one obtains a higher entropy per time since there is an entropy maximum due to Gaussian or thermal jitter generation at sampling instants for which the standard deviation of the jitter is less than a nominal period of the ring oscillator.

Das jeweilige Oszillationssignal schwankt als Pegel zwischen Spannungen, die einem High- oder Low-Zustand zugeordnet werden können. Beispielsweise kann ein Pegel von +1,5 V einem H- oder 1-Zustand zugeordnet werden und ein –1,5-V-Pegel einem logischen L- oder 0-Zustand. The respective oscillation signal fluctuates as a level between voltages that can be assigned to a high or low state. For example, a level of +1.5V may be assigned to an H or 1 state and a -1.5V level to a logical L or 0 state.

Bei einem Jitterbeitrag kann man von einer zeitlichen Abweichung eines Merkmals des Oszillationssignals, beispielsweise einer steigenden oder fallenden Signalflanke, von der nominellen oder mittleren Periode sprechen. Aufgrund von Laufzeitschwankungen ergeben sich beispielsweise an einem Ausgang der Gatter des Ringoszillatorschaltkreises nicht zwangsläufig strikt regelmäßige steigende Signalflanken, die als Maß für eine Periode des Oszillators verwendet werden können. Eine nominelle Periode ist beispielsweise der Mittelwert oder der Erwartungswert der Periode des Oszillationssignals. In the case of a jitter contribution, one can speak of a time deviation of a feature of the oscillation signal, for example a rising or falling signal edge, from the nominal or middle period. Due to runtime fluctuations arise, for example, at an output of the gates of the ring oscillator circuit is not necessarily strictly regular rising signal edges, which can be used as a measure of a period of the oscillator. A nominal period is, for example, the mean value or the expected value of the period of the oscillation signal.

Unter einem kumulierten Jitter versteht man beispielsweise die Abweichung der Phase des Oszillationssignals von ihrem Erwartungswert nach mehrfachem Propagieren durch die gesamte Ringoszillatorschaltung. In der Vergangenheit wurden viele Tausend Durchläufe des Oszillationssignals durch den Ringoszillatorschaltkreis abgewartet, bis ein Bitwert als Zufallsbit gesamplet bzw. abgetastet wurde. By a cumulative jitter is meant, for example, the deviation of the phase of the oscillation signal from its expected value after multiple propagation through the entire ring oscillator circuit. In the past, many thousands of passes of the oscillation signal have been waited by the ring oscillator circuit until a bit value has been sampled as a random bit.

In Ausführungsformen des Verfahrens wird der Vorzugszeitpunkt in Abhängigkeit von der sich ergebenden Standardabweichung σ des Jitters ermittelt. Beispielsweise ist die Standardabweichung σ proportional zur Quadratwurzel einer Mehrzahl m von nominellen Perioden ab dem Startzeitpunkt ts. Man kann insbesondere bei Jitterbeiträgen, die statistisch unabhängig sind, annehmen, dass die Standardabweichung mit dem m1/2-fachen ansteigt. Jedenfalls kann bei thermischen Jitterbeiträgen von Gaußschen unabhängigen Verteilungen ausgegangen werden. Insofern wird in Ausführungsformen der vorgeschlagenen Vorgehensweise wenigstens einer der einer entsprechenden Jitterbeiträge ein unabhängiger thermischer Jitterbeitrag sein. In embodiments of the method, the preferential time is determined as a function of the resulting standard deviation σ of the jitter. For example, the standard deviation σ is proportional to the square root of a plurality m of nominal periods from the start time t s . Especially with jitter contributions that are statistically independent, it can be assumed that the standard deviation increases by m 1/2 times. In any case, thermal jitter contributions can be based on Gaussian independent distributions. In this respect, in embodiments of the proposed approach, at least one of the corresponding jitter contributions will be an independent thermal jitter contribution.

In einer Variante des Verfahrens zum Messen des Jitters und zum Erzeugen von Zufallsbits mit Hilfe von Ringoszillatorschaltkreisen hat jede Gatterschaltung eine Gatterdurchlaufzeit G, und der Vorzugszeitpunkt ist tp = 0,113846 G22 Gatterdurchlaufzeiten. Nach dem Start des Ringoszillators bzw. nach dem letzten Abtasten, wobei σG die Standardabweichung der Gatterdurchlaufzeit ist. Diese Standardabweichung kann rechnerisch aus der Standardabweichung des über mehrere Ringoszillatorperioden akkumulierten Jitters bestimmt werden. In a variant of the method for measuring the jitter and generating random bits by means of ring oscillator circuits, each gate circuit has a gate transit time G, and the preferential time is t p = 0.113846 G 2 / σ 2 gate transit times. After the start of the ring oscillator or after the last sampling, where σ G is the standard deviation of the gate cycle time. This standard deviation can be calculated from the standard deviation of the jitter accumulated over several ring oscillator periods.

In einer weiteren Variante des Verfahrens zum Erzeugen von Zufallsbits mit Hilfe von Ringoszillatorschaltkreisen ist der Vorzugszeitpunkt tp = T3/(19,2482 σ2). In a further variant of the method for generating random bits with the aid of ring oscillator circuits, the preferred time t p = T 3 / (19.2482 σ 2 ).

Man kann beispielsweise die Entropie des Ringoszillatorschaltkreises, welche aufgrund von thermischen Jitterbeiträgen entsteht, numerisch oder mit Hilfe eines heuristischen Modells abschätzen. Aus einer entsprechenden Entropiekurve H(σ) wird in Abhängigkeit von der Standardabweichung σ, welche wiederum von der Anzahl m der Durchläufe durch den Ringoszillator abhängt, eine Kurve A(σ) der Entropieerzeugung pro Zeit bestimmt. Die Kurve A(σ) hat ein Maximum, das bestimmt wird. Die erreichte Standardabweichung σ entspricht daher einer Zeit, die seit dem Startzeitpunkt ts vergangen ist, in der der Jitter akkumuliert wird. Ein Vorzugszeitpunkt tp ist der Zeitpunkt, bei dem der akkumulierte Jitter eine Standardabweichung σ hat, die zu einem (lokalen) Maximum der Entropie-pro-Zeit-urve führt. Als Maß kann der Ausdruck A(σ) = H(σ)/σ2 genutzt werden. Es ist nun günstig, innerhalb eines zeitlichen Bereichs Δt um diesen, ein Maximum in der Entropieerzeugung pro Zeit hervorrufenden Zeitpunkt tp die Abtastung des Oszillationssignals vorzunehmen, weil dadurch die sich ergebenden Zufallsbits in Relation zum benötigten Zeit- und Energieaufwand eine besonders hohe Entropie pro Zeit aufweisen. For example, one can estimate the entropy of the ring oscillator circuit, which arises due to thermal jitter contributions, numerically or with the aid of a heuristic model. From a corresponding entropy curve H (σ), a curve A (σ) of the entropy production per time is determined as a function of the standard deviation σ, which in turn depends on the number m of passes through the ring oscillator. The curve A (σ) has a maximum that is determined. The standard deviation σ achieved therefore corresponds to a time which has elapsed since the start time t s at which the jitter is accumulated. A preferred time t p is the time at which the accumulated jitter has a standard deviation σ that results in a (local) maximum of the entropy-per-time-curve. As a measure, the expression A (σ) = H (σ) / σ 2 can be used. It is now low, within a time range .DELTA.t to this, a maximum in the entropy per time causing time t p to carry out the scanning of the oscillating signal because the resulting random bits have a particularly high entropy per time in relation to the time and energy required.

In Ausführungsformen ist das vorgegebene Zeitintervall Δt so gewählt, dass die Standardabweichung des im Intervall akkumulierten Jitters kleiner als ein Drittel, bevorzugt als ein Viertel und noch bevorzugter als ein Zehntel der nominellen Periode T. In Ausführungsformen erfolgt das Abtasten des Oszillationssignals periodisch mit einer Abtastperiode Δs = tp – ts. Das Startsignal wird zwischen den Abtastungen dann nicht eingekoppelt. In embodiments, the predetermined time interval Δt is chosen such that the standard deviation of the jitter accumulated in the interval is less than one-third, preferably one-fourth, and more preferably one-tenth of the nominal period T. In embodiments, the sampling of the oscillation signal occurs periodically with a sampling period Δs = t p - t s . The start signal is then not coupled between the samples.

Bei einer Variante des Verfahrens erfolgt das Abtasten der Oszillationssignale mehrfach nacheinander, und jeweils zuvor wird ein Startsignal für die Ringoszillatoren eingekoppelt. In a variant of the method, the sampling of the oscillation signals takes place several times in succession, and in each case before a start signal for the ring oscillators is coupled.

In Ausführungsformen des Verfahrens wird ferner die nominelle Periode T der Oszillationssignale an einem Ausgang einer der Gatterschaltungen des jeweiligen Ringoszillatorschaltkreises gemessen. Durch das Messen der nominellen Periode beispielsweise anhand von Oszillationssignalmerkmalen, wie steigenden oder fallenden Flanken, und einem Abspeichern beispielsweise in einem Speicher kann der für den jeweiligen Ringoszillatorschaltkreis günstige Vorzugszeitpunkt tp festgelegt werden. In embodiments of the method, furthermore, the nominal period T of the oscillation signals is measured at an output of one of the gate circuits of the respective ring oscillator circuit. By measuring the nominal period, for example by means of oscillation signal features, such as rising or falling edges, and storing, for example, in a memory, the preferred time t p for the respective ring oscillator circuit can be determined.

Es wird ferner eine Vorrichtung zum Erzeugen von Zufallsbits vorgeschlagen, welche umfasst:
mehrere Ringoszillatorschaltkreise, die rückgekoppelte Gatterschaltungen aufweisen;
mehrere Abtasteinrichtung zum Erfassen von Ausgangssignalen der Gatterschaltungen; und
eine Steuereinrichtung, welche eingerichtet ist, ein zuvor oder im Folgenden beschriebenes Verfahren durchzuführen.
There is also proposed an apparatus for generating random bits, which comprises:
a plurality of ring oscillator circuits having feedback gate circuits;
a plurality of sampling means for detecting output signals of the gate circuits; and
a control device which is set up to carry out a method described above or below.

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.

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 even 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 will be achieved, will become clearer and more clearly understood in connection with the following description of the embodiments, which will be described in detail in conjunction with the drawings.

Dabei zeigen: Showing:

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

2 ein Ablaufdiagramm für ein Verfahren zum Erzeugen von Zufallsbits, welches mit Hilfe der Vorrichtung aus 1 durchgeführt werden kann. 2 a flowchart for a method for generating random bits, which by means of the device 1 can be carried out.

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.

In der 1 ist eine Ausführungsform für eine Vorrichtung zum Erzeugen von Zufallsbits schematisch dargestellt. Die Vorrichtung 1 ist insbesondere eingerichtet, mit einem wie zuvor oder im Folgenden beschriebenen Verfahren betrieben zu werden. 2 zeigt ein schematisches Ablaufdiagramm zum Betreiben der Vorrichtung aus 1. Das Verfahren wird von einer Steuereinrichtung koordiniert. In the 1 An embodiment of an apparatus for generating random bits is shown schematically. The device 1 is in particular adapted to be operated with a method as described above or below. 2 shows a schematic flow diagram for operating the device 1 , The method is coordinated by a control device.

Die Vorrichtung zum Erzeugen von Zufallsbits 100 umfasst mehrere Ringoszillatorschaltkreise 1 1, 1 21 n. Der Einfachheit halber sind in der 1 nur die Ringoszillatorschaltkreise 1 1, 1 2 und 1 n als rückgekoppelte Inverterketten dargestellt. Denkbar sind jedoch auch anderen Konfigurationen von Ringoszillatoren. Die Vorrichtung 100 umfasst somit n Ringoszillatorschaltkreise, wobei wenigstens n = 2 vorzugsweise aber n größer als 3 gewählt ist. Im Folgenden wird im Wesentlichen auf den ersten Ringoszillatorschaltkreis 1 1 eingegangen. Die weiteren Ringoszillatorschaltkreise 1 21 n sind ähnlich aufgebaut und jeweils mit einem anderen Index für die eingesetzten Bauelemente versehen. The device for generating random bits 100 includes several ring oscillator circuits 1 1 , 1 2 - 1 n . For the sake of simplicity, in the 1 only the ring oscillator circuits 1 1 , 1 2 and 1 n shown as feedback inverter chains. Conceivable, however, are also other configurations of ring oscillators. The device 100 thus comprises n ring oscillator circuits, wherein at least n = 2 but preferably n greater than 3 is selected. The following essentially relates to the first ring oscillator circuit 1 1 received. The other ring oscillator circuits 1 2 - 1 n are similarly constructed and each provided with a different index for the components used.

Beispielsweise hat der Ringoszillatorschaltkreis 1 1 p Inverter 2 11 bis 2 1p als Gatterschaltungen, die miteinander verkettet sind. Entsprechend hat der zweite Ringoszillatorschaltkreis q Inverter 2 212 2q und der n-te Ringoszillatorschaltkreis 1 n r Inverter 2 n12 nr. Es ergibt sich bezüglich des ersten Ringoszillatorschaltkreises 11 eine Inverterkette 2 112 1p, wobei p eine ungerade Zahl ist. Einem jeweiligen Inverter 2 11 ist ein Eingangssignal E11 zugeführt, und ein Ausgangssignal A11 ist am jeweiligen Ausgang abgreifbar. Entsprechend erfolgt die Nummerierung der Eingangs- und Ausgangssignale für die übrigen (nicht alle dargestellten) Inverter durch die Zeichen E1p als Eingangssignal und A1p als Ausgangssignal beispielsweise für den letzten Inverter 2 1p in der Kette. Das Ausgangssignal A1p des letzten Inverters 2 1p wird als Eingangssignal E11 dem ersten Inverter 2 11 zugeführt, so dass sich ein Ringschluss bildet. Durch die Inversion des jeweiligen Eingangssignalpegels in ein inverses Ausgangssignal ergeben sich oszillierende Signalformen. Es ist beispielsweise ein Oszillationssignal OS1 dargestellt, welches durch die Inverter 2 112 1p propagiert. Analog sind die übrigen Ringoszillatoren 1 21 n aufgebaut. For example, the ring oscillator circuit has 1 1 p inverter 2 11 to 2 1p as gate circuits which are concatenated with each other. Accordingly, the second ring oscillator circuit q has inverters 2 21 - 2 2q and the nth ring oscillator circuit 1 n r inverter 2 n1 - 2 no . The result is an inverter chain with respect to the first ring oscillator circuit 11 2 11 - 2 1p , where p is an odd number. A respective inverter 2 11 , an input signal E 11 is supplied, and an output signal A 11 can be tapped at the respective output. Accordingly, the numbering of the input and output signals for the remaining (not all illustrated) inverter by the characters E 1p as an input signal and A 1p as an output signal, for example, for the last inverter 2 1p in the chain. The output signal A 1p of the last inverter 2 1p is the input signal E 11 to the first inverter 2 11 supplied, so that forms a ring closure. The inversion of the respective input signal level into an inverse output signal results in oscillating signal forms. For example, an oscillation signal OS 1 is shown, which is represented by the inverters 2 11 - 2 1p propagated. Analogous are the other ring oscillators 1 2 - 1 n constructed.

Die 1 zeigt ferner eine Steuereinrichtung 6, welche einen Betrieb des Zufallszahlengenerators 100 gemäß dem Ablaufdiagramm, wie es in der 2 dargestellt ist, gewährleistet. In einem ersten Schritt S1 liefert die Steuereinrichtung 6, die beispielsweise einen Mikroprozessor 8 oder einen Speicher 7 mit einem Programmablauf umfasst, Steuersignale CT1–CTn an die Ringoszillatorschaltkreise 1 11 n. Es wird insbesondere ein Startsignal erzeugt, das beispielsweise durch geeignete Schaltmittel innerhalb der Ringoszillatorschaltkreise (nicht explizit dargestellt) dazu führt, dass zunächst alle Ein- und Ausgangssignale E11–Anr auf demselben Signalpegel vorliegen. Insofern wird eine Oszillation unterbunden. Werden diese fest vorgegebenen Signalpegel, beispielsweise H oder L, entkoppelt, beginnen die Ringoszillatoren 1 11 n zu schwingen, so dass Oszillationssignale OS1–OSn entstehen. Die Schwingungen beginnen somit zu einem Startzeitpunkt ts. The 1 further shows a control device 6 which is an operation of the random number generator 100 according to the flowchart, as shown in the 2 is shown ensured. In a first step S1, the control device delivers 6 for example, a microprocessor 8th or a memory 7 comprising a program sequence, control signals CT 1 -CT n to the ring oscillator circuits 1 1 - 1 n . In particular, a start signal is generated which, for example by suitable switching means within the ring oscillator circuits (not explicitly shown), results in that initially all input and output signals E 11 -A nr are present at the same signal level. In this respect, an oscillation is suppressed. If these fixed signal levels, such as H or L, decoupled, start the ring oscillators 1 1 - 1 n to oscillate, so that oscillation signals OS 1 -OS n arise. The vibrations thus start at a starting time t s .

Nach einer vorbestimmten Zeit, die wie weiter unten beschrieben festgelegt werden kann, erfolgt zu einem Abtastzeitpunkt tp ein Abtasten von Ausgangssignalen A11–Anr mehrerer Inverter 2 112 nr. Dabei werden Ausgangssignale A11–Anr unterschiedlicher Ringoszillatoren erfasst. After a predetermined time, which can be determined as described below, sampling of output signals A 11 -A nr of several inverters takes place at a sampling time t p 2 11 - 2 no . In this case, output signals A 11 -A nr different ring oscillators are detected.

In der 1 sind die Ausgangssignale A11–A1p einer Erfassungseinrichtung 3 1 zugeführt, welche beispielsweise Abtast- und Halteglieder 5 umfasst, welche in Abhängigkeit von einem Abtastsignal S einen jeweiligen Signalpegel des zugeführten Ausgangssignals A11 festhält. Analog sind den Ausgangssignalen A21–A2q und An1–Anr jeweils eine Erfassungseinrichtung 3 23 n zugeordnet. Insofern werden im Schritt S2 mehrere Ausgangssignale A11–Anr abgegriffen. In the 1 are the output signals A 11 -A 1p of a detection device 3 1 supplied, which, for example, sample and hold members 5 comprising, which in response to a sampling signal S, a respective signal level of the supplied output signal A 11 holds. Analogously, the output signals A 21 -A 2q and A n1 -A nr are each a detection device 3 2 - 3 n assigned. In this respect, several output signals A 11 -A nr are tapped in step S2.

In den Erfassungsvorrichtungen 3 13 n liegen erfasste Signalpegel vor, denen ein jeweiliger Bitwert zugeordnet werden kann. Beispielsweise wird ab einer bestimmten Schwelle (Signalpegel oder Spannung) ein logischer H-Pegel und unterhalb der Schwelle ein logischer L-Pegel zugeordnet. Insofern erfolgt in einem Schritt S3 die Zuordnung von Bitwerten B11–B1p, B21–B2q und Bn1–Bnr. Die Bitwerte können in einer Speichereinrichtung, welche mit 4 1, 4 24 n bezeichnet ist, abgelegt sein. In the detection devices 3 1 - 3 n are detected signal levels to which a respective bit value can be assigned. For example, from a certain threshold (signal level or voltage) a logical H level and below the threshold a logical L level is assigned. In this respect, in a step S3, the assignment of bit values B 11 -B 1p , B 21 -B 2q and B n1 -B nr . The bit values can be stored in a memory device, which with 4 1 , 4 2 - 4 n is designated to be stored.

Die Steuereinrichtung 6 liest die erfassten Bitwerte B11–Bnr aus den Speichereinrichtungen 4 14 n aus und unterzieht die Bitwerte einer kryptographischen Funktion im Schritt S4. Dazu ist in der Steuereinrichtung 6 eine Berechnungseinrichtung 9 vorgesehen, die beispielsweise einen Hashwert oder ein Blockchiffre aus den Bits B11–Bnr ermittelt. In Ausführungsformen wird beispielsweise ein Hashwert nach SHA aus den Bits B11–Bnr ermittelt. Ergebnis der Hashwertbestimmung ist ein Bitmuster vorgegebener Länge, welches von dem gewählten Hash-Algorithmus abhängt. Dieses Bitmuster BM, welches als Ergebnis der kryptographischen Funktion SHA erzeugt ist, kann als Zufallsbitmuster betrachtet werden und weiterverwendet werden. The control device 6 reads the detected bit values B 11 -B nr from the memory devices 4 1 - 4 n and subject the bit values of a cryptographic function in step S4. This is in the controller 6 a calculation device 9 provided, for example, a hash value or a block cipher from the bits B 11 -B nr determined. For example, in embodiments, a hash value after SHA is determined from bits B 11 -B nr . The result of the hash value determination is a bit pattern of predetermined length, which is derived from the selected hash algorithm. This bit pattern BM, which is generated as a result of the cryptographic function SHA, can be regarded as a random bit pattern and can be used further.

Beispielsweise führt die Steuervorrichtung 6 mit Hilfe des erzeugten Bitmusters BM eine weitere kryptographische Verschlüsselung durch. Es ist auch möglich, dass die Steuereinrichtung ein kryptographisches Zertifikat auf Basis des Zufallsbitmusters BM erzeugt. For example, the control device performs 6 with the help of the generated bit pattern BM by another cryptographic encryption. It is also possible for the control device to generate a cryptographic certificate on the basis of the random bit pattern BM.

In einem optionalen Schritt S5 wird beispielsweise eine Auswahl des Ergebnisses der Hashwert-Berechnung ausgewählt. Sofern die von der Steuereinrichtung 6 empfangenen Bits B11–Bnr eine Entropie von s Bits umfasst, ist es ausreichend, auch nur s Bits als Zufallsbits auszugeben. Dies ist in der 1 dargestellt. Die Steuereinrichtung 6 liefert an einen Speicher 10 ZB1–ZBs Zufallsbits. For example, in an optional step S5, a selection of the result of the hash value calculation is selected. Unless that of the controller 6 If bits B 11 -B nr comprise an entropy of s bits, it is sufficient to output only s bits as random bits as well. This is in the 1 shown. The control device 6 delivers to a memory 10 Eg 1 -s s random bits.

Da kryptographische Funktionen, wie beispielsweise Hashfunktion oder auch Blockchiffren, ein pseudozufälliges Verhalten aufweisen können, wird die Zufallsbiterzeugung durch deren Nutzung verbessert. Auch eine verbesserte Gleichverteilung zwischen Null und Einsen der ausgegebenen Zufallsbits ZB1–ZBs ist verbessert. Da in vielen kryptographischen Hardware-Einrichtungen ohnehin kryptographische Funktionen implementiert werden, können diese bei der Erzeugung der Zufallsbits genutzt werden. Since cryptographic functions, such as hash function or even block ciphers, can exhibit pseudo-random behavior, random bit generation is improved by their use. An improved uniform distribution between zero and ones of the output random bits ZB 1 -ZB s is also improved. Since cryptographic functions are already implemented in many cryptographic hardware devices, they can be used in the generation of the random bits.

Die pseudozufälligen Eigenschaften der kryptographischen Funktion liefern eine verbesserte Statistik gegenüber bekannten Abtast- und Nachbearbeitungsmethoden. Bezüglich eines günstigen Abtastzeitpunktes hat die Anmelderin weitere Untersuchungen durchgeführt. Aufgrund physikalischer Einflüsse, beispielsweise thermischer Einflüsse durch die in den Invertern 2 112 nr vorliegenden Bauelemente, entstehen in realen Signalformen Abweichungen von nominellen Perioden. Betrachtet man die Jittereigenschaften der Ringoszillatoren 1 11 n, kann der Abtastzeitpunkt im Vergleich zum Startzeitpunkt kürzer gewählt werden als beispielsweise bekannten Wold-Tan-Verfahren mit XODER-Verknüpfungen. The pseudo-random properties of the cryptographic function provide improved statistics over known sampling and post-processing techniques. With regard to a favorable sampling time, the Applicant has carried out further investigations. Due to physical influences, such as thermal influences by in the inverters 2 11 - 2 nr present devices, occur in real waveforms deviations from nominal periods. Considering the jitter characteristics of the ring oscillators 1 1 - 1 n , the sampling time compared to the start time can be selected shorter than, for example, known Wold-Tan method with XODER links.

Der Einfachheit halber wird im Folgenden nur eine Periode T1 des ersten Ringoszillators 1 1 betrachtet. Beispielsweise handelt es sich um die längste nominelle Periode des längsten Ringoszillators in dem Zufallszahlengenerator 100. For the sake of simplicity, in the following only one period T 1 of the first ring oscillator 1 1 considered. For example, it is the longest nominal period of the longest ring oscillator in the random number generator 100 ,

Die Anmelderin hat Untersuchungen unternommen, bei denen insbesondere Gaußsches thermisches Rauschen als Jitterkomponente betrachtet wird. Daher wird auch angenommen, dass der Jitter einer Gaußschen Normalverteilung entspricht, deren Dichtefunktion bei einem Erwartungswert 0 und einer Standardabweichung σ die folgende Form hat:

Figure DE102014224421A1_0002
σ2 kann als Varianz bezeichnet werden. Nach dem bisherigen Stand der Technik würde nach einem Startzeitpunkt ts so lange gewartet werden müssen, bis die Standardabweichung gemäß der Normalverteilung für die Jitterkomponente so groß ist wie die nominelle Periode T1. Durch das Akkumulieren des Jitters steigt mit der Anzahl der Durchläufe des Oszillationssignals durch den Ringoszillator mit den Invertern 2 112 1n der Jitter und damit die Standardabweichung. Allerdings ist dieser Zusammenhang nicht linear, denn die Standardabweichung σ steigt bei statistisch unabhängigem Jitter nach dem zentralen Grenzwertsatz mit dem m1/2–fachen, wobei m die Anzahl der Durchläufe einer Signalflanke durch den Ringoszillator ab dem Startzeitpunkt ist. D.h., die Wartezeit ist nach klassischem Verständnis besonders lang. Untersuchungen und Überlegungen der Anmelderin haben nun ergeben, dass bereits bei deutlich früheren Abtastzeitpunkten eine hohe Entropie pro Zeit des Signals erwartet werden kann. Es ist insbesondere möglich, die Entropie für einen Ringoszillatorschaltkreis mit n Invertern in Abhängigkeit von der Standardabweichung σ des Jitters J anzugeben. Definiert man für reelles x und ganzzahliges z die Funktionen rz(x) mit:
Figure DE102014224421A1_0003
stimmt die Funktion rz(x) fast überall mit dem Ausdruck Θ(x – z + 1 / 2) – Θ(x – z – 1 / 2) (Gleichung 3) überein, wobei Θ die Heaviside-Funktion ist. Man kann die Größe pn,i (für ungerades n und natürliche Zahlen i mit 0 < i < 2n) als Wahrscheinlichkeit definieren, dass beim Abtasten der n Inverter der i-te Ringoszillatorzustand angenommen wird, wobei der 0-te Ringoszillatorzustand dadurch definiert ist, dass der Erwartungswert der Sample-Zeitpunkte in der Mitte des 0-ten Ringoszillatorzustandes liegt. Der Zustand eines Ringoszillators ergibt sich durch die möglichen logischen Pegel an den Ein- und Ausgängen der Inverter. pn,i wird definiert durch:
Figure DE102014224421A1_0004
so dass schließlich die Entropie H(Θ) bestimmt werden kann durch:
Figure DE102014224421A1_0005
Aufgrund des Zusammenhangs zwischen der Standardabweichung des thermischen Jitterbeitrags und der Entropie kann nun ein bevorzugter Abtastzeitpunkt tp bestimmt werden, der eine maximale Entropie pro Zeit mit sich bringt. Die bei gegebenem σ erzeugte Entropie pro Zeit lautet: A(σ) = H(σ)/σ2. Wird nun die Abtastung des Oszillationssignals OS1 in einem Zeitintervall Δt um den Vorzugszeitpunkt tp (entsprechend σmax), bei dem der Ausdruck A maximal ist, vorgenommen, wird eine Zufallsbiterzeugung mit hoher Rate ermöglicht. Nach dem bisherigen Stand der Technik würde eine Abtastung erst dann erstmals erfolgen, wenn die Standardabweichung σ der nominellen oder mittleren Periode T entspricht. Allerdings ist dies weit entfernt von einer maximal erzielbaren Entropie pro Zeit gemäß Amax. Für σ von etwa 0,16 T1 erhält man eine Entropieausbeute, die im Vergleich zu σ/T = 1 praktisch um den Faktor 20 verbessert ist. Applicant has made investigations in which Gaussian thermal noise, in particular, is considered a jitter component. Therefore, it is also assumed that the jitter corresponds to a Gaussian normal distribution whose density function has the following form at an expected value 0 and a standard deviation σ:
Figure DE102014224421A1_0002
σ 2 can be called variance. According to the prior art, after a starting time t s, it would have to wait until the standard deviation according to the normal distribution for the jitter component is as large as the nominal period T 1 . By accumulating the jitter increases with the number of passes of the oscillation signal through the ring oscillator with the inverters 2 11 - 2 1n the jitter and thus the standard deviation. However, this relationship is not linear, because the standard deviation σ increases with statistically independent jitter after the central limit theorem with the m 1/2 times, where m is the number of passes of a signal edge by the ring oscillator from the start time. That is, the waiting time is according to classical understanding particularly long. Investigations and considerations of the Applicant have now shown that even at much earlier sampling times a high entropy per time of the signal can be expected. In particular, it is possible to specify the entropy for a ring oscillator circuit with n inverters as a function of the standard deviation σ of the jitter J. For real x and integer z, define the functions r z (x) with:
Figure DE102014224421A1_0003
the function r z (x) is almost everywhere with the expression Θ (x - z + 1/2) - Θ (x - z - 1/2) (Equation 3) where Θ is the Heaviside function. It is possible to define the quantity p n, i (for odd n and natural numbers i with 0 <i <2n) as a probability that the i-th ring oscillator state is assumed when sampling the n inverter, the 0th ring oscillator state being thereby defined in that the expected value of the sample times lies in the middle of the 0th ring oscillator state. The state of a ring oscillator results from the possible logic levels at the inputs and outputs of the inverters. p n, i is defined by:
Figure DE102014224421A1_0004
so that finally the entropy H (Θ) can be determined by:
Figure DE102014224421A1_0005
Due to the relationship between the standard deviation of the thermal jitter contribution and the entropy, a preferred sampling instant t p can be determined which entails a maximum entropy per time. The entropy per time given by σ is: A (σ) = H (σ) / σ 2 . Now, if the sampling of the oscillation signal OS 1 in a time interval .DELTA.t by the preferential time t p (corresponding to σ max ), at which the expression A is maximum, made a random bit generation at high rate possible. According to the prior art, sampling would only take place for the first time if the standard deviation σ corresponds to the nominal or middle period T. However, this is far from a maximum achievable entropy per time according to A max . For σ of about 0.16 T 1 , one obtains an entropy yield which is improved by a factor of 20 compared to σ / T = 1.

Die Anmelderin hat erkannt, dass die Entropie bzw. der Ausdruck A(σ) ein Maximum bei etwa 0,3 Gatterdurchlaufzeiten hat. Umgerechnet auf einen Abtastzeitpunkt bzw. einen Vorzugszeitpunkt tp zum Abtasten ergeben sich etwa tp = 0,113846(G/σG)2 Gatterdurchlaufzeiten wobei σG die Standardabweichung der Gatterdurchlaufzeit ist. Diese Standardabweichung kann rechnerisch aus der Standardabweichung des über mehrere Ringoszillatorperioden akkumulierten Jitters bestimmt werden. Tastet man beispielsweise innerhalb eines vorgegebenen Zeitintervalls Δt um diesen Vorzugszeitpunkt ab, erhält man zwar möglicherweise nicht gleich verteilte Zufallsbits, dennoch jedoch Bitwerte mit hoher Entropie pro Zeit. Applicant has recognized that the entropy or expression A (σ) has a maximum at about 0.3 gate sweeps. Converted to a sampling time or a preferred time t p for sampling, there are approximately t p = 0.113846 (G / σ G ) 2 gate cycle times where σ G is the standard deviation of the gate cycle time. This standard deviation can be calculated from the standard deviation of the jitter accumulated over several ring oscillator periods. If, for example, one scans around this preferred time within a predetermined time interval .DELTA.t, one obtains possibly not equally distributed random bits, but nevertheless bit values with high entropy per time.

Die Anmelderin hat eine Untersuchung durchgeführt, bei der vier Ringoszillatoren jeweils der Länge 3, 5, 7 und 11, wie in der 1 dargestellt, miteinander gekoppelt wurden. Das heißt, ein erster Ringoszillatorschaltkreis 1 1 umfasst drei Inverter 2 1, 2 12 und 2 13 (p = 3) und analog weitere Ringoszillatoren mit 5, 7 und 11 verketteten und rückgekoppelten Invertern. Insgesamt umfasst die entsprechende Schaltung also 26 Inverter, die 26 Ausgangssignale liefern. The Applicant has carried out a study in which four ring oscillators each of length 3, 5, 7 and 11, as in the 1 represented, coupled together. That is, a first ring oscillator circuit 1 1 includes three inverters 2 1 , 2 12 and 2 13 (p = 3) and similarly further ring oscillators with 5, 7 and 11 chained and feedback inverters. Overall, the corresponding circuit thus comprises 26 inverters which provide 26 output signals.

Bei der Untersuchung der Anmelderin wurden die Ringoszillatoren zum Zeitpunkt ts gestartet, und nach tp = 1400 ns wurden die 26 Ausgangssignale abgetastet. Man erhält insofern 26 Bitwerte, die ein jeweiliges zufälliges Bitmuster bilden. Die Implementierung des Zufallszahlengenerators erfolgte auf einem FPGA-Board vom Typ Spartan-3. Die direkt abgetasteten Ausgangssignale der Inverter sind nicht gleich verteilt. Vielmehr wurde eine größere Ungleichverteilung der verschiedenen Bitmuster aus den 26 Bitwerten ermittelt. In Applicant's study, the ring oscillators were started at time t s and after t p = 1400 ns the 26 output signals were sampled. Thus, one obtains 26 bit values which form a respective random bit pattern. The random number generator was implemented on a Spartan-3 FPGA board. The directly sampled output signals of the inverters are not distributed equally. Rather, a larger unequal distribution of the different bit patterns was determined from the 26 bit values.

Untersuchungen der Anmelderin ergaben eine Entropie von etwa 5,6 Bits pro 26-Bit-Sample. Eine Minentropie beträgt dabei 2,7 Bits pro Sample bzw. Abtastung. Es wurden über 10 Millionen Durchläufe bzw. Samples untersucht. Als eine geeignete kryptographische Funktion wurde der SHA-256-Algorithmus für eine Hashfunktion eingesetzt. Als Eingangsbits sind der kryptografischen Hashfunktion SHA-256 357 26-Bit-Tuples zugeführt worden. Die Anwendung der Hashfunktion SHA-56 auf diese 9282 Bit langen Bitfolgen führt zu 256 Ausgangsbits, die als Zufallsbits ZB1–ZB256 (vgl. 1) verwendet werden können. Applicant's investigations revealed an entropy of about 5.6 bits per 26-bit sample. A minentropy is 2.7 bits per sample or sample. Over 10 million runs or samples were examined. As a suitable cryptographic function, the SHA-256 algorithm was used for a hash function. As input bits, SHA-256 357 26-bit tuples have been supplied to the cryptographic hash function. The application of the hash function SHA-56 to these 9282 bit long bit sequences leads to 256 output bits, which are used as random bits ZB 1 -ZB 256 (cf. 1 ) can be used.

Die Hashfunktion SHA-256 hat relativ gute pseudozufällige Eigenschaften, so dass eine verbesserte Gleichverteilung zwischen Nullen und Einsen erzielt werden kann. Bei den anmelderseitig vorgenommenen Untersuchungen ergaben sich 4.052.354 Nullbits und 4.051.838 Eins-Bits. Insgesamt ist festzustellen, dass durch die Anwendung von kryptographischen Funktionen auf Bitmuster oder Bitfolgen, die aus der Abtastung unterschiedlicher Ringoszillatoren erzeugt werden, eine verbesserte zufällige statistische Verteilung erzielt wird. Insbesondere kryptographische Hashfunktionen, aber auch Blockchiffren, wie AES oder DES, sind geeignet, um eine statistische Schiefe von Zufallsbits zu reduzieren. The hash function SHA-256 has relatively good pseudo-random properties, so that an improved equal distribution between zeros and ones can be achieved. The registrations on the detector side resulted in 4,052,354 zero bits and 4,051,838 one bits. Overall, it can be seen that the application of cryptographic functions to bit patterns or bit sequences generated from the sampling of different ring oscillators results in an improved random statistical distribution. In particular, cryptographic hash functions, but also block ciphers, such as AES or DES, are suitable for reducing a random skew of random bits.

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.

Claims (10)

Verfahren zum Erzeugen von Zufallsbits (ZB) mit Hilfe mehrerer Ringoszillatorschaltkreise (1 11 n), die rückgekoppelte Gatterschaltungen (2 112 nr) umfassen, mit den Schritten: Starten der Ringoszillatorschaltkreise (1 11 n) derart, dass in den Ringoszillatorschaltkreisen (1 11 n) jeweils ein mit einem Jitterbeitrag beaufschlagtes Oszillationssignal (OS1–OSn) durch die Gatterschaltungen (2 112 nr) propagiert; Abgreifen des jeweiligen Oszillationssignals (OS1–OSn) an Ausgängen mehrerer Gatterschaltungen (2 12 n) verschiedener Ringoszillatorschaltkreise (1 11 n) als ein jeweiliges Ausgangssignal (A11–Anr); Zuordnen eines logischen Pegels zu dem jeweils abgegriffenen Ausgangssignal (A–Anr) zum Erzeugen eines jeweiligen Bitwertes (B11–Bnr); und Anwenden einer kryptografischen Funktion (SHA) auf zumindest eine Auswahl der erzeugten Bitwerte (B11–Bnr) zum Erzeugen eines Bitmusters (BM), welches Zufallsbits (ZB1–ZBs) umfasst. Method for generating random bits (ZB) by means of a plurality of ring oscillator circuits ( 1 1 - 1 n ), the feedback gate circuits ( 2 11 - 2 nr ), comprising the steps of: starting the ring oscillator circuits ( 1 1 - 1 n ) such that in the ring oscillator circuits ( 1 1 - 1 n ) each acted upon by a jitter contribution oscillation signal (OS 1 -OS n ) by the gate circuits ( 2 11 - 2 nr ) propagates; Picking up the respective oscillation signal (OS 1 -OS n ) at outputs of a plurality of gate circuits ( 2 1 - 2 n ) various ring oscillator circuits ( 1 1 - 1 n ) as a respective output signal (A 11 -A nr ); Assigning a logical level to the respective sampled output signal (A-A nr ) to generate a respective bit value (B 11 -B nr ); and applying a cryptographic function (SHA) to at least a selection of the generated bit values (B 11 -B nr ) to generate a bit pattern (BM) comprising random bits (ZB 1 -ZB s ). Verfahren nach Anspruch 1, wobei die kryptografische Funktion eine Blockchiffre oder eine Hash-Funktion umfasst. The method of claim 1, wherein the cryptographic function comprises a block cipher or a hash function. Verfahren nach Anspruch 1 oder 2, wobei die Ausgangssignale (A11–Anr) gleichzeitig abgetastet werden. The method of claim 1 or 2, wherein the output signals (A 11 -A nr ) are sampled simultaneously. Verfahren nach einem der Ansprüche 1–3, wobei die erzeugten Bitwerte (B11–Bnr) vor dem Anwenden einer kryptografischen Funktion (SHA) einer Abbildung unterzogen werden, welche eine Entropie der Bitwerte unverändert lässt. The method of any of claims 1-3, wherein the generated bit values (B 11 -B nr ) are subjected to mapping prior to applying a cryptographic function (SHA) leaving an entropy of the bit values unchanged. Verfahren nach einem der Ansprüche 1–4, ferner umfassend: Erfassen eines Entropiewerts der Auswahl der erzeugten Bitwerte (B11–Bnr) als eine Anzahl von Bits; Auswählen einer Auswahl der Zufallsbits (ZB1–ZBs), welche weniger Zufallsbits (ZB1–ZBs) umfasst als der erfasste Entropiewert ist; und Ausgeben der Auswahl der Zufallsbits (ZB1–ZBs) als binäre Zufallszahl. The method of any of claims 1-4, further comprising: detecting an entropy value of the selection of the generated bit values (B 11 -B nr ) as a number of bits; Selecting a selection of the random bits (ZB 1 -ZB s ) comprising fewer random bits (ZB 1 -ZB s ) than the detected entropy value; and outputting the selection of the random bits (ZB 1 -ZB s ) as a binary random number. Verfahren nach einem der Ansprüche 1–5, ferner umfassend: Einkoppeln eines Startsignals an die Ringoszillatorschaltkreise (1 11 n) zu einem Startzeitpunkt ts zum Erzeugen der Oszillationssignale (OS1–OSn) mit jeweils nominellen Perioden T1, ... Tn, wobei das jeweilige Oszillationssignal (OS1–OSn) mit wenigstens einem Jitterbeitrag beaufschlagt ist, welcher einer Normalverteilung mit einer Standardabweichung σ entspricht und wobei eine Entropie H(σ) des jeweiligen Ringoszillatorschaltkreises (1 11 n) von der Standardabweichung σ des Jitters abhängt; Abtasten der Ausgangssignale (A11–Anr) zu einem Abtastzeitpunkt tt, wobei der Abtastzeitpunkt tt in einem vorgegebenen Zeitintervall Δt um einen Vorzugszeitpunkt tp gewählt ist, und wobei der Vorzugszeitpunkt tp derart gewählt wird, dass die Standardabweichung σ einen Wert hat, bei dem die Entropie pro Zeit für wenigstens einen Ringoszillatorschaltkreis (1 11 n) ein Maximum aufweist. Method according to one of claims 1-5, further comprising: coupling a start signal to the ring oscillator circuits ( 1 1 - 1 n ) at a start time t s for generating the oscillation signals (OS 1 -OS n ), each with nominal periods T 1 , ... T n , wherein the respective oscillation signal (OS 1 -OS n ) is acted upon by at least one jitter contribution, which corresponds to a normal distribution with a standard deviation σ and where an entropy H (σ) of the respective ring oscillator circuit ( 1 1 - 1 n ) depends on the standard deviation σ of the jitter; Sampling the output signals (A 11 -A nr ) at a sampling time t t , wherein the sampling time t t in a predetermined time interval .DELTA.t is selected by a preferred time t p , and wherein the preferred time t p is selected such that the standard deviation σ is a value in which the entropy per time for at least one ring oscillator circuit ( 1 1 - 1 n ) has a maximum. Verfahren nach einem der Ansprüche 1–6, ferner umfassend: Messen der nominellen Periode des Oszillationssignals (OS) an einem Ausgang einer der Gatterschaltungen (2 12 n). Method according to one of claims 1-6, further comprising: measuring the nominal period of the oscillation signal (OS) at an output of one of the gate circuits ( 2 1 - 2 n ). Verfahren nach Anspruch 6 oder 7, wobei jede Gatterschaltung eine Gatterdurchlaufzeit G hat, und der Vorzugszeitpunkt (tp) 0,113846 G2G2 Gatterdurchlaufzeiten nach dem Start oder dem letzten Abtasten des Ringoszillators beträgt, wobei σG die Standardabweichung der Gatterdurchlaufzeit ist. The method of claim 6 or 7, wherein each gate circuit has a gate transit time G, and the preferential time point (t p ) is 0.113846 G 2 / σ G 2 gate transit times after the start or last sample of the ring oscillator, where σ G is the standard deviation of the gate transit time is. Verfahren nach einem der Ansprüche 1–8, wobei die kryptografische Funktion als ein SHA-Algorithmus implementiert ist. The method of any of claims 1-8, wherein the cryptographic function is implemented as a SHA algorithm. Vorrichtung zum Erzeugen von Zufallsbits (ZB1–ZBs) mit mehreren Ringoszillatorschaltkreisen (1 11 n), die rückgekoppelte Gatterschaltungen (2 112 nr) umfassen, mehreren Abtasteinrichtungen (3 13 n) zum Erfassen von Ausgangssignale (A11–Anr) der Gatterschaltungen (2 112 nr) und einer Steuereinrichtung (3), wobei die Steuereinrichtung (3) eingerichtet ist, ein Verfahren nach einem der Ansprüche 1–9 durchzuführen. Device for generating random bits (ZB 1 -ZB s ) with several ring oscillator circuits ( 1 1 - 1 n ), the feedback gate circuits ( 2 11 - 2 nr ), multiple scanners ( 3 1 - 3 n ) for detecting output signals (A 11 -A nr ) of the gate circuits ( 2 11 - 2 no ) and a control device ( 3 ), wherein the control device ( 3 ) is arranged to perform a method according to any one of claims 1-9.
DE102014224421.8A 2014-11-28 2014-11-28 Method and apparatus for generating random bits Withdrawn DE102014224421A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014224421.8A DE102014224421A1 (en) 2014-11-28 2014-11-28 Method and apparatus for generating random bits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014224421.8A DE102014224421A1 (en) 2014-11-28 2014-11-28 Method and apparatus for generating random bits

Publications (1)

Publication Number Publication Date
DE102014224421A1 true DE102014224421A1 (en) 2016-06-02

Family

ID=55967706

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014224421.8A Withdrawn DE102014224421A1 (en) 2014-11-28 2014-11-28 Method and apparatus for generating random bits

Country Status (1)

Country Link
DE (1) DE102014224421A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021207428A1 (en) * 2020-04-09 2021-10-14 Rambus Inc. Entropy generation for use in cryptographic random number generation
DE102020206883A1 (en) 2020-06-03 2021-12-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Generation of random numbers

Citations (1)

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

Patent Citations (1)

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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BERNARD, Florent; FISCHER, Viktor; VALTCHANOV, Boyan: Mathematical model of physical RNGs based on coherent sampling. Tatra Mountains Mathematical Publications, 2010, 45. Jg., Nr. 1, S. 1-14 *
JUN, Benjamin; KOCHER, Paul: The Intel random number generator. Cryptography Research Inc. white paper, 1999 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021207428A1 (en) * 2020-04-09 2021-10-14 Rambus Inc. Entropy generation for use in cryptographic random number generation
DE102020206883A1 (en) 2020-06-03 2021-12-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Generation of random numbers

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
EP2976707B1 (en) System and method for generating random bits
DE112011106024B4 (en) Device specific information generating apparatus and device specific information generating method
WO2009127475A1 (en) Device and method for generating a random bit sequence
EP1354264B1 (en) Random number generator and method for generating a random number
DE102014102501A1 (en) Random number generator
DE102009008224B4 (en) Inverting cell
DE102014200163A1 (en) A method for generating an output of a random source of a random number generator
DE102014224421A1 (en) Method and apparatus for generating random bits
DE102014219651A1 (en) Method and apparatus for generating random bits
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
DE102014219693A1 (en) Method and apparatus for generating random bits
DE102013213095A1 (en) Generating a number of random bits
DE102013210147A1 (en) Generate 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
DE102014224423A1 (en) Method and apparatus for measuring a jitter
DE102015203580A1 (en) Apparatus and method for generating random bits
WO2014117983A1 (en) Method and device for generating random bits
DE102014209964A1 (en) Method and apparatus for generating random bits
DE102008033162A1 (en) Physical random number generator
DE102014209689A1 (en) Apparatus and method for generating random bits
DE102014221827A1 (en) Apparatus and method for generating random bits

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