DE102014224423A1 - Method and apparatus for measuring a jitter - Google Patents
Method and apparatus for measuring a jitter Download PDFInfo
- Publication number
- DE102014224423A1 DE102014224423A1 DE102014224423.4A DE102014224423A DE102014224423A1 DE 102014224423 A1 DE102014224423 A1 DE 102014224423A1 DE 102014224423 A DE102014224423 A DE 102014224423A DE 102014224423 A1 DE102014224423 A1 DE 102014224423A1
- Authority
- DE
- Germany
- Prior art keywords
- state
- ring oscillator
- sampling
- jitter
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31708—Analysis of signal quality
- G01R31/31709—Jitter measurements; Jitter generators
Landscapes
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Bereitstellen eines Ringoszillatorschaltkreises (1) mit einer Anzahl von Gatterschaltungen (21–2n) zum Erzeugen eines Oszillationssignals (OS), welches durch die Gatterschaltungen (21–2n) propagiert; gleichzeitiges Abtasten des jeweiligen Oszillationssignals (OS) an Ausgängen mehrerer Gatterschaltungen (21–2n) zu mehreren Abtastzeitpunkten (tti) zum Erzeugen eines jeweiligen Abtastbitmusters (BMi), wobei ein Abtastbitmuster (BMi) einem Ringoszillatorzustand zugeordnet ist; Speichern der Abtastbitmuster (BMi); Zuordnen eines jeweiligen Abtastbitmusters (BMi) zu einer Zustandsnummer modulo zwei Mal der Anzahl der Gatterschaltungen (21–2n), wobei aufeinanderfolgenden Zustandsnummern zeitlich direkt hintereinander auftretenden Ringoszillatorzuständen entsprechen; Ermitteln eines Zustandsabstands als Differenz zwischen Zustandsnummern von zeitlich aufeinander folgenden Abtastbitmustern (BMi) oder als Differenz zwischen der Zustandsnummer des ersten Abtastmusters nach dem Starten und der Zustandsnummer des Startzustandes, oder als Zustandsnummer des jeweiligen Abtastbitmusters (BMi) nach einem Starten des Ringoszillatorschaltkreises; Ermitteln einer Verteilung der Zustandsabstände über die Anzahl der Abtastzeitpunkte (tti); und Ermitteln einer Standardabweichung und/oder Varianz der Zustandsabstände aus der Verteilung der Zustandsabstände als Standardabweichung und/oder Varianz des Jitters. Eine Vorrichtung zum Erzeugen von Zufallsbits (ZB) hat einen Ringoszillatorschaltkreis (1), welcher mehrere Gatterschaltungen (21–2n) umfasst, eine Abtasteinrichtung (4) und eine Steuereinrichtung (3) zur Durchführung des Verfahrens.Providing a ring oscillator circuit (1) having a plurality of gate circuits (21-2n) for generating an oscillation signal (OS) propagated through the gate circuits (21-2n); simultaneously sampling the respective oscillation signal (OS) at outputs of a plurality of gate circuits (21-2n) at a plurality of sample times (tti) to generate a respective sample bit pattern (BMi), wherein a sample bit pattern (BMi) is associated with a ring oscillator state; Storing the sample bit patterns (BMi); Assigning a respective sample bit pattern (BMi) to a state number modulo twice the number of gate circuits (21-2n), successive state numbers corresponding to ring oscillator states occurring in temporal succession; Determining a state distance as a difference between state numbers of successive sampling bit patterns (BMi) or as a difference between the state number of the first sampling pattern after starting and the state number of the starting state, or as a state number of the respective sampling bit pattern (BMi) after starting the ring oscillator circuit; Determining a distribution of the state distances over the number of sampling times (tti); and determining a standard deviation and / or variance of the state distances from the distribution of the state distances as standard deviation and / or variance of the jitter. An apparatus for generating random bits (ZB) has a ring oscillator circuit (1) which comprises a plurality of gate circuits (21-2n), a sampling device (4) and a control device (3) for carrying out the method.
Description
Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Messen eines Jitters, insbesondere in einer Ringoszillatoreinrichtung. Ferner werden ein Verfahren und eine Vorrichtung zum Erzeugen eines oder mehrerer Zufallsbits offenbart. Es wird zum Beispiel eine Zufallsbitfolge erzeugt, welche als binäre Zufallszahl verwendet wird. Die vorgeschlagenen Vorrichtungen und Verfahren zum Messen von Jittern und 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 a device for measuring a jitter, in particular in a ring oscillator device. Further disclosed is a method and apparatus 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 measuring jitters and 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.
Meist ist der Jitter in einer Schaltung nicht bekannt und muss gemessen oder geschätzt werden. Da insbesondere bei Ringoszillatoren, die zur Zufallsbiterzeugung eingesetzt werden, der Jitter eine bestimmende Größe für die Qualität der Zufallsbits und die mögliche Erzeugungsrate ist, ist es wünschenswert, den Jitter während des Betriebs oder „on-board“ zu erfassen. Bekannt sind Maßnahmen, ein Ringoszillatorsignal hochaufgelöst, beispielsweise mit einem Oszilloskop, abzutasten und den Jitter daraus zu bestimmen. Most jitter in a circuit is unknown and needs to be measured or estimated. In particular, with ring oscillators used for random bit generation, since jitter is a determinant of the quality of the random bits and the possible rate of generation, it is desirable to detect the jitter during operation or "on-board". Measures are known, a high-resolution ring oscillator signal, for example, with an oscilloscope to scan and determine the jitter therefrom.
Insofern ist es eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren und/oder eine verbesserte Vorrichtung zur Jitterbestimmung bereitzustellen. In this respect, it is an object of the present invention to provide an improved method and / or apparatus for jitter determination.
Demgemäß wird ein Verfahren zum Messen eines Jitters in einem Ringoszillatorschaltkreis vorgeschlagen, wobei das Verfahren die Schritte umfasst:
Bereitstellen eines Ringoszillatorschaltkreises mit einer Anzahl von Gatterschaltungen zum Erzeugen eines Oszillationssignals, welches durch die Gatterschaltungen propagiert;
gleichzeitiges Abtasten des jeweiligen Oszillationssignals an Ausgängen mehrerer Gatterschaltungen zu mehreren Abtastzeitpunkten zum Erzeugen eines jeweiligen Abtastbitmusters, wobei ein Abtastbitmuster einem Ringoszillatorzustand zugeordnet ist;
Speichern der Abtastbitmuster;
Zuordnen eines jeweiligen Abtastbitmusters zu einer Zustandsnummer modulo zwei Mal der Anzahl der Gatterschaltungen, wobei aufeinanderfolgenden Zustandsnummern zeitlich direkt hintereinander auftretenden Ringoszillatorzuständen entsprechen;
Ermitteln eines Zustandsabstands als Differenz zwischen Zustandsnummern von zeitlich aufeinander folgenden Abtastbitmustern oder als Differenz zwischen der Zustandsnummer des ersten Abtastmusters nach dem Starten und der Zustandsnummer des Startzustandes, oder als Zustandsnummer des jeweiligen Abtastbitmusters nach einem Starten des Ringoszillatorschaltkreises;
Ermitteln einer Verteilung der Zustandsabstände über die Anzahl der Abtastzeitpunkte; und
Ermitteln einer Standardabweichung und/oder Varianz der Zustandsabstände aus der Verteilung der Zustandsabstände als Standardabweichung und/oder Varianz des Jitters. Accordingly, a method is proposed for measuring a jitter in a ring oscillator circuit, the method comprising the steps:
Providing a ring oscillator circuit having a number of gate circuits for generating an oscillation signal which propagates through the gate circuits;
simultaneously sampling the respective oscillation signal at outputs of a plurality of gate circuits at a plurality of sample times to produce a respective sample bit pattern, a sample bit pattern associated with a ring oscillator state;
Storing the sample bit patterns;
Assigning a respective sample bit pattern to a state number modulo twice the number of gate circuits, successive state numbers corresponding to ring oscillator states occurring in temporal succession;
Determining a state distance as the difference between state numbers of successive sampling bit patterns or as a difference between the state number of the first sampling pattern after starting and the state number of the starting state, or as the state number of the respective sampling bit pattern after starting the ring oscillator circuit;
Determining a distribution of the state distances over the number of sampling times; and
Determining a standard deviation and / or variance of the state distances from the distribution of the state distances as standard deviation and / or variance of the jitter.
Bei der Anzahl von verketteten Gatterschaltungen kann man auch von eine „Länge des Ringoszillatorschaltkreises“ sprechen. Die Zustandsnummern sind insbesondere ganze Zahlen. Und 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. In the number of concatenated gate circuits, one can also speak of a "length of the ring oscillator circuit". The state numbers are in particular integers. And preferably, the ring oscillator circuit does not include branches of chained gate circuits. In particular, it is a classical ring oscillator comprising an odd number of inverter circuits coupled in series.
In Varianten des Verfahrens wird der Startzustand des Ringoszillators mit der Zustandsnummer zum Beispiel 0 versehen, so dass zur Bestimmung des Zustandsabstands des ersten Abtastmusters zum Startzustand eine Differenzbildung mit 0 erfolgt. Insofern kann diese Differenzbildung auch entfallen. In variants of the method, the starting state of the ring oscillator is provided with the state number, for example 0, so that a difference of 0 is made to determine the state spacing of the first scanning pattern to the starting state. In this respect, this difference can also be omitted.
Bei dem vorgeschlagenen Verfahren kann in Varianten ausgenutzt werden, dass bei einem gleichzeitigen Abtasten der Ausgangssignale der jeweiligen Gatter bzw. Inverter in Ringoszillatoren eine verbesserte zeitliche Abtastauflösung gegenüber der Einzelabtastung erfolgt. Das Abtasten des Oszillationssignals erfolgt effektiv zeitlich aufgelöst durch die jeweilige Gatterlaufzeit beabstandet. Man kann nun aus dem Auftreten der Abtastbitmuster bei mehrfachem gleichzeitigem Abtasten den Jitter ableiten. Liegt beispielsweise kein jitterbeaufschlagtes Ringoszillatorsignal vor, müsste bei wiederholter Abtastung in gleichen zeitlichen Abständen immer derselbe Zustandsabstand. Aufgrund des Jitters liegen die Zustandsabständede zu den jeweiligen Abtastzeitpunkten ungleich verteilt vor. Aus der Standardabweichung dieser Verteilung wird beispielsweise mit dem Maß der mittleren Gatterlaufzeit die Varianz oder die Standardabweichung des Jitters erfasst. In the proposed method can be exploited in variants that with a simultaneous sampling of the output signals of the respective gates or inverters in ring oscillators an improved temporal sampling resolution over the single scan takes place. The sampling of the oscillation signal is effectively separated in time by the respective gate running time spaced. It is now possible to derive the jitter from the occurrence of the sample bit pattern with multiple simultaneous sampling. If, for example, there is no jitter-loaded ring oscillator signal, the same state spacing would always have to be used for repeated sampling at the same time intervals. Due to the jitter, the state distances are unevenly distributed at the respective sampling times. From the standard deviation of this distribution, the variance or the standard deviation of the jitter is recorded, for example, with the measure of the mean gate running time.
In Varianten des Verfahrens wird vor jedem gleichzeitigen Abtasten ein neues Startsignal eingekoppelt. Das heißt, es werden voneinander unabhängige Oszillationssignale erzeugt. In variants of the method, a new start signal is coupled in before each simultaneous sampling. That is, mutually independent oscillation signals are generated.
Eine entsprechende Variante des Verfahrens zum Messen eines Jitters in einem Ringoszillatorschaltkreis mit mehreren Gatterschaltungen umfasst dann insbesondere die Schritte:
Einkoppeln eines Startsignals zu einem Startzeitpunkt zum Erzeugen eines Oszillationssignals, welches durch die Gatterschaltungen propagiert;
gleichzeitiges Abtasten des jeweiligen Oszillationssignals an Ausgängen mehrerer Gatterschaltungen zu mehreren Abtastzeitpunkten zum Erzeugen eines jeweiligen Abtastbitmusters, wobei ein Abtastbitmuster einem Ringoszillatorzustand zugeordnet ist;
Speichern der Abtastbitmuster;
Ermitteln einer Verteilung der Abtastbitmuster über die Anzahl der Abtastzeitpunkte; und
Ermitteln einer Standardabweichung und/oder Varianz der Verteilung als Standardabweichung und/oder Varianz des Jitters. A corresponding variant of the method for measuring a jitter in a ring-oscillator circuit with a plurality of gate circuits then comprises in particular the steps:
Injecting a start signal at a start time for generating an oscillation signal propagated through the gate circuits;
simultaneously sampling the respective oscillation signal at outputs of a plurality of gate circuits at a plurality of sample times to produce a respective sample bit pattern, a sample bit pattern associated with a ring oscillator state;
Storing the sample bit patterns;
Determining a distribution of the sample bit patterns over the number of sample times; and
Determining a standard deviation and / or variance of the distribution as standard deviation and / or variance of the jitter.
Beispielsweise ist eine Verzögerungszeit zwischen Abtastzeitpunkten und/oder zwischen einem Startzeitpunkt und einem darauf folgenden Abtastzeitpunkt konstant. Es wird somit regelmäßig ein Abtastbitmuster erzeugt, so dass eine zeitliche Verschiebung des Abtastbitmusters bzw. des erfassten Ringoszillatorzustands von seinem Erwartungswert praktisch ausschließlich durch den vorliegenden Jitter bedingt ist. For example, a delay time between sampling instants and / or between a start time and a subsequent sampling time is constant. Thus, a sample bit pattern is regularly generated so that a time shift of the sample bit pattern or the detected ring oscillator state from its expected value is almost exclusively due to the present jitter.
Es werden beispielsweise durch Abtasten nacheinander Zustandsnummern ermittelt. Als Zustandsabstand kann man die Differenz der Zustandsnummern von direkt aufeinander folgenden Abtastungen verwenden. Falls der Ringoszillator vor jeder Abtastung neu gestartet wird, entspricht der Zustandsabstand der Zustandsnummer selbst, wenn man den Startzustand mit der Zustandsnummer 0 versieht. Man kann sagen, es wird der Zustandsabstand zu einem jeweils zuvor bekannten Ringoszillatorzustand erfasst. For example, successive state numbers are determined by scanning. As a state distance one can use the difference of the state numbers of directly consecutive samples. If the ring oscillator is restarted before each sampling, the state distance itself corresponds to the state number itself when providing the start state with the
Man startet beispielsweise beim Ringoszillatorzustand 0 und lässt dann den Schaltkreis permanent laufen. Nach z.B. 20 ns wird gesampelt und erfasst den Zustand 3, nach weiteren 20 ns den Zustand 6, nach weiteren 20 ns den Zustand 9, nach weiteren 20ns den Zustand 13, nach weiteren 20 ns den Zustand 16, dann 19. Es ist somit kaum Jitter vorhanden, und der Zustand ist bis auf eine Ausnahme beim jeweils nächsten Sampeln immer um 3 Nummern weiter. Der Zustandsabstand beträgt demnach meistens 3, und nur einmal 4. For example, you start at
In Ausführungsformen des Verfahrens hat das Oszillationssignal eine mittlere Periode, und eine Anzahl von Periodendurchläufen wird während der Verzögerungszeit gemessen. Durch die Berücksichtigung der Anzahl von Perioden kann verhindert werden, dass aufgrund der zyklischen Abfolge von entstehenden Ringoszillatorzuständen und der möglicherweise erfolgenden Reduktion der den Ringoszillatorzuständen zugeordneten Zustandsnummern modulo der Anzahl der Ringoszillatorzustände im Verlauf der Zeit eine falsche Standardabweichung ermittelt wird. Diese Ausführungsform ist insbesondere dann relevant, wenn mit nicht vernachlässigbarer Wahrscheinlichkeit ein akkumulierter Jitter auftritt, der die Größenordnung einer Ringoszillatorperiode erreicht oder überschreitet. In embodiments of the method, the oscillation signal has a mean period, and a number of period cycles are measured during the delay time. By considering the number of periods, it can be prevented that due to the cyclic sequence of resulting Ringoszillatorzuständen and the possible reduction of the Ringoszillatorzuständen assigned state numbers modulo the number of Ringoszillatorzustände over time a wrong standard deviation is determined. This embodiment is particularly relevant if an accumulated jitter that reaches or exceeds the magnitude of a ring oscillator period occurs with non-negligible probability.
In Ausführungsformen erfolgt ferner ein Zählen der Pegelwechsel oder ein Zählen der Pegelwechsel in einer vorgegeben Richtung an einem Ausgang wenigstens einer Gatterschaltung während der Verzögerungszeit. Man kann zum Beispiel positive oder negative Signalflanken zählen. Dadurch kann berücksichtigt werden, dass sich Jitter beim Durchlauf einer Signalflanke durch den Ringoszillatorschaltkreis akkumulieren. In embodiments, counting the level changes or counting the level changes in a predetermined direction at an output of at least one gate circuit during the delay time is further performed. For example, one can count positive or negative signal edges. As a result, it can be taken into account that jitter accumulates during the passage of a signal edge through the ring oscillator circuit.
Insbesondere hat jede Gatterschaltung eine Gatterlaufzeit, die Ringoszillatorzustände sind zeitlich zyklisch geordnet und benachbarte Ringoszillatorzustände sind zeitlich um eine mittlere Gatterlaufzeit verschoben. In particular, each gate circuit has a gate delay, the ring oscillator states are time cyclically ordered, and adjacent ring oscillator states are time shifted by an average gate term.
Durch die Erfassung und Messung des Jitters wird insbesondere eine aufwandsgünstige Erzeugung von Zufallsbits ermöglicht. In Erweiterungen des Verfahrens werden insbesondere zum Erzeugen von Zufallsbits ferner die Verfahrensschritte vorgesehen:
Erzeugen eines weiteren Oszillationssignals, welches durch die Gatterschaltungen propagiert und eine nominelle Periode T aufweist, wobei das weitere Oszillationssignal mit wenigstens einem Jitterbeitrag beaufschlagt ist und eine Entropie des Ringoszillatorschaltkreises von der Standardabweichung oder der Varianz des Jitters abhängt;
Abtasten des jeweiligen weiteren Oszillationssignals an Ausgängen in mehreren Gatterschaltungen zu einem Abtastzeitpunkt als Zufallssignale, wobei der Abtastzeitpunkt in Abhängigkeit von der Standardabweichung oder Varianz des Jitters gewählt und insbesondere geregelt wird; und
Zuordnen von jeweiligen logischen Pegeln zu dem abgetasteten Oszillationssignal zum Erzeugen mehrerer Zufallsbits. By detecting and measuring the jitter in particular a low-cost generation of random bits is possible. In extensions of the method, the method steps are also provided, in particular for generating random bits:
Generating a further oscillation signal which propagates through the gate circuits and has a nominal period T, the further oscillation signal being supplied with at least one jitter contribution and an entropy of the ring oscillator circuit being dependent on the standard deviation or the variance of the jitter;
Sampling the respective further oscillation signal at outputs in a plurality of gate circuits at a sampling instant as random signals, wherein the sampling instant is selected and regulated in dependence on the standard deviation or variance of the jitter; and
Assigning respective logic levels to the sampled oscillation signal to generate a plurality of random bits.
Vorzugsweise erfolgt die Wahl oder Regelung des Abtastzeitpunkts derart, dass der Sollwert des Jitters einen vorgegebenen festen Wert hat. Preferably, the selection or regulation of the sampling time is such that the desired value of the jitter has a predetermined fixed value.
Das Abtasten des jeweiligen weiteren Oszillationssignals an Ausgängen in mehreren Gatterschaltungen kann zu einem Abtastzeitpunkt als Zufallssignale erfolgen, wobei der Abtastzeitpunkt zu einem vorgegebenen Zeitintervall um einen Vorzugszeitpunkt gewählt ist, und wobei der Vorzugszeitpunkt derart gewählt ist, dass die Standardabweichung des Jitters einen Wert hat, bei dem die Entropie pro Zeit ein Maximum aufweist. Insofern erfolgt eine Regelung des Abtastzeitpunkts in Abhängigkeit von dem gemessenen Jitter, wie es zuvor beschrieben ist. Dadurch erhält man einen optimalen Arbeitspunkt für die Zufallszahlenerzeugung auch bei Fertigungsschwankungen der eingesetzten Schaltkreise. The sampling of the respective other oscillation signal at outputs in a plurality of gate circuits may be performed at a sampling time as random signals, wherein the sampling time is selected at a predetermined time interval by a preferred time, and wherein the preferred time is selected such that the standard deviation of the jitter has a value the entropy has a maximum per time. In this respect, a control of the sampling time in dependence on the measured jitter, as described above takes place. This gives an optimal operating point for the random number generation even with manufacturing variations of the circuits used.
Bei dem vorgeschlagenen Verfahren 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, sieht das vorgeschlagene Verfahren vor, den Vorzugszeitpunkt so zu wählen, dass eine Entropie-pro-Zeit-Maximierung eintritt. Da die Standardabweichung des Jitters on-board gemessen werden kann, und gespeichert vorliegt, kann der Abtastzeitpunkt früher als konventionell üblich gewählt werden. Dadurch können Ringoszillatorschaltkreise mit einer höheren Zufallsbit-Erzeugungsrate betrieben werden. Dies führt zu schnelleren Zufallszahlerzeugungen, niedrigeren Stromaufnahmen und insgesamt einem effizienteren Vorgehen. In the proposed method, a favorable time interval between the start time and the sampling time is selected. While 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, the proposed method provides for selecting the preferred time such that one entropy per Time-maximization occurs. Since the standard deviation of the jitter can be measured on-board and stored, the sampling time can be chosen earlier than conventional. This allows ring oscillator circuits to operate at a higher random bit rate. 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 den Inverterausgängen Zufallssignale, welche aufgrund der Jitterschwankungen und der Rückkopplungen steigende und fallende Signalflankenanteile haben. Dieser zufällige oder chaotische Signalverlauf kann bei ausreichend großem Jitter in der Regel zeitlich nicht aufgelöst werden, wenn zum vorgegebenen Abtastzeitpunkt ein einziger Bitwert aus dem Pegel des jeweiligen Zufallssignals abgeleitet wird. Die mehreren gleichzeitig abgetasteten Zufallssignale liefern dann Zufallsbitmuster. Damit diese chaotischen oder zufälligen Signalverläufe entstehen, wird üblicherweise mit einem ersten Abtasten gewartet, bis eine Standardabweichung des Jitters größer ist als die nominelle Periode des eingesetzten Ringoszillators. Basically, a ring oscillator circuit, for example, with an odd number of inverters at the inverter outputs provides random signals which have rising and falling signal edge portions due to the jitter fluctuations and the feedbacks. This random or chaotic waveform can not be resolved in time with a sufficiently large jitter, if at the given sampling time a single bit value is derived from the level of the respective random signal. The plurality of simultaneously sampled random signals then provide random bit patterns. In order for these chaotic or random waveforms to occur, a first sample is usually waited until a standard deviation of the jitter is greater than the nominal period of the ring oscillator used.
Bei dem vorgeschlagenen Verfahren wird 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. The proposed method scans earlier and accepts a potential unequal distribution of the determined H and L or logical one and zero states. However, one obtains a higher entropy per time, since 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 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 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 jeweiligen Oszillationssignals, beispielsweise einer steigenden oder fallenden Signalflanke, von der nominellen 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. With a jitter contribution, one can speak of a time deviation of a feature of the respective oscillation signal, for example a rising or falling signal edge, from the nominal 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 zeitliche Abweichung einer Signalflanke an einemgatter des Oszillators von ihrem zeitlichen 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. A cumulative jitter is understood as meaning, for example, the time deviation of a signal edge at a gate of the oscillator from its temporal 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 G2/σ2 Gatterdurchlaufzeiten nach dem Start des Ringoszillators bzw. nach dem letzten Abtasten, wobei σ 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 last sampling, where σ is the standard deviation of the gate transit time. This standard deviation can be calculated from the standard deviation of the jitter accumulated over several ring oscillator periods.
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 ermittelten Standardabweichung des Jitters σ, 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 im Wesentlichen 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-Kurve 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 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 determined standard deviation of the jitter σ, which in turn depends on the number m of passes through the ring oscillator. The curve A (σ) has a maximum that is determined. The achieved standard deviation σ therefore essentially corresponds to a time which has elapsed since the start time t s in which the jitter is accumulated. A preferred time point t p is the time at which the accumulated jitter σ is a standard deviation, the entropy per-time curve leads to a (local) maximum. 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 this having random resulting in relation to the required time and energy, a particularly high entropy.
In Ausführungsformen ist das vorgegebene Zeitintervall Δt so gwä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 jeweiligen 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 selected so 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 respective oscillation signal is periodic with one sample period Δs = t p - t s . The start signal is then not coupled between the samples.
Bei einer Variante des Verfahrens erfolgt das Abtasten des Oszillationssignals mehrfach nacheinander, und jeweils zuvor wird ein Startsignal eingekoppelt. Beim Neustarten für jedes zu erzeugende Zufallsbit wird eine im Wesentlichen stationäre Wahrscheinlichkeitsverteilung erreicht. Beim permanent schwingenden und ohne Neustart abgetasteten Ringoszillationssignal ist die Verteilung im Allgemeinen nicht stationär. Je nach Anwendung kann die Wahrscheinlichkeitsverteilung somit ausgewählt werden. Die Jittermessung muss nicht jedes Mal bei der Zufallsbiterzeugung durchgeführt werden. Der Jitterwert kann abgespeichert vorliegen. In a variant of the method, the sampling of the oscillation signal takes place several times in succession, and in each case before a start signal is coupled. When restarting for each random bit to be generated, a substantially steady state probability distribution is achieved. In the case of the permanently oscillating ring oscillation signal sampled without a restart, the distribution is generally not stationary. Depending on the application, the probability distribution can thus be selected. The jitter measurement does not have to be done every time in random bit generation. The jitter value can be stored.
In Ausführungsformen des Verfahrens wird ferner die nominelle Periode T oder die Gatterdurchlaufzeit G des Oszillationssignals an einer der Gatterschaltungen gemessen. Durch das Messen der nominellen Periode oder der Gatterlaufzeit beispielsweise anhand von Oszillationssignalmerkmalen, wie steigenden oder fallenden Flanken, und einem Abspeichern beispielsweise in einem Speicher kann der für den Ringoszillatorschaltkreis günstige Vorzugszeitpunkt tp festgelegt werden. In embodiments of the method, furthermore, the nominal period T or the gate transit time G of the oscillation signal is measured at one of the gate circuits. By measuring the nominal period or the gate transit time, for example by means of oscillation signal characteristics, such as rising or falling edges, and storing, for example, in a memory, the favorable timing for the ring oscillator circuit t p can be determined.
In Ausführungsformen des Verfahrens werden die Zufallsbits der erzeugten Bitmuster, also Zufallspegel, insbesondere zum Eliminieren einer Schiefe oder einer Korrelation von erzeugten Zufallsbits einer algorithmischen Nachbehandlung unterzogen. Die mit Hilfe des vorgeschlagenen Verfahrens erzeugten Zufallsbits müssen nicht gleich verteilt sein. Vielmehr wird die Entropieerzeugung pro Zeit optimiert. Dadurch kann es günstig sein, eine algorithmische Nachbearbeitung der erhaltenen Rohbitdaten durchzuführen. Insbesondere für den Fall von nicht stationären Verteilungen können kryptographische Nachbearbeitungsverfahren eingesetzt werden, wie beispielsweise Blockchiffren oder kryptographische Hash-Funktionen. Nachbearbeitungsverfahren sind in der Regel bekannt. In embodiments of the method, the random bits of the generated bit patterns, ie random levels, in particular for eliminating skewness or a correlation of generated random bits, are subjected to an algorithmic aftertreatment. The random bits generated by the proposed method need not be equally distributed. Rather, the entropy production is optimized per time. As a result, it may be favorable to carry out an algorithmic post-processing of the raw bit data obtained. In particular, in the case of non-stationary distributions cryptographic post-processing methods can be used, such as block ciphers or cryptographic hash functions. Post-processing procedures are usually known.
Es wird ferner eine Vorrichtung vorgeschlagen, welche zum Erzeugen von Zufallsbits mit einem Ringoszillatorschaltkreis, welcher mehrere Gatterschaltungen umfasst, einer Abtasteinrichtung und einer Steuereinrichtung ausgestattet ist. Die Steuereinrichtung ist insbesondere eingerichtet, ein Verfahren, wie es zuvor oder im Folgenden beschrieben wird, durchzuführen. Dazu kann die Steuereinrichtung zu geeigneten Zeitpunkten Steuer- oder Auswertesignale erzeugen, um Zufallssignale abzutasten, Startsignale zu erzeugen oder die Durchführung des zuvor beschriebenen Verfahrens zu koordinieren. Die Vorrichtung kann beispielsweise eine Speichereinrichtung zum Abspeichern der Jitter-Standardabweichung, der nominellen Periode und/oder der Gatterdurchlaufzeit aufweisen. A device is also proposed, which is equipped to generate random bits with a ring oscillator circuit, which comprises a plurality of gate circuits, a scanning device and a control device. The control device is in particular configured to perform a method as described above or below. For this purpose, the control device can generate control or evaluation signals at suitable times in order to scan random signals, to generate start signals or to coordinate the execution of the method described above. The device may for example comprise a memory device for storing the jitter standard deviation, the nominal period and / or the gate transit time.
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:
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
Die Vorrichtung
Ferner ist eine Zähleinrichtung
Außerdem ist eine Speichereinrichtung
Aufgrund der physikalischen Eigenschaften der Inverter bzw. der logischen Gatter
Üblicherweise wird mit dem Abtasten solange gewartet, bis eine Standardabweichung einer normal verteilten Jitterkomponente mindestens die nominelle Periode T des Ringoszillatorschaltkreises aufweist. Untersuchungen der Anmelderin haben ergeben, dass ein deutlich früheres Abtasten und damit eine deutlich erhöhte Erzeugungsrate von Zufallsbits oder Zufallsbitmustern möglich ist. Usually, the sampling is waited until a standard deviation of a normally distributed jitter component has at least the nominal period T of the ring oscillator circuit. Investigations of the applicant have shown that a much earlier sampling and thus a significantly increased generation rate of random bits or random bit patterns is possible.
Die Steuereinrichtung
In der Vergangenheit wurden ähnliche Schaltungen wie die, die in der
Zur Erläuterung möglicher Signalformen sind in der
Nach vielen Durchläufen der Signalflanken streut ihr Zeitpunkt erheblich um den Erwartungswert der Periode des Ringoszillators. Dieser Zustand stellt sich insbesondere dann ein, wenn der akkumulierte Jitter, also eine zufällige Abweichung der Periode des Ringoszillators von ihrem Mittelwert oder Erwartungswert (nominelle Periode T), so stark schwankt, dass beispielsweise eine Standardabweichung so groß ist wie die nominelle Periode T selbst. After many passes through the signal edges, their timing differs significantly by the expected value of the period of the ring oscillator. This condition arises in particular when the accumulated jitter, ie a random deviation of the period of the ring oscillator from its mean value or expected value (nominal period T), fluctuates so strongly that, for example, a standard deviation is as large as the nominal period T itself.
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: σ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 T. Durch das Akkumulieren des Jitters steigt mit der Anzahl der Durchläufe des Oszillationssignals durch den Ringoszillator mit den Invertern
Die
Eine Gleichverteilung der Bits zwischen 0 und 1 ist allerdings bei dem frühen Abtasten in einem geeigneten Intervall Δt um den Vorzugszeitpunkt tp (entsprechend σmax) herum eher nicht zu erwarten. Vielmehr ergibt sich eine schiefe Zufallsverteilung zwischen 0 und 1 bzw. nicht gleichverteilte Zufallsbitmuster ZB1–ZBn, welche nachbearbeitet werden können. Durch Nachbearbeiten kann eine vorliegende Schiefe der Bits bzw. eine Nicht-Gleichverteilung der sich ergebenden Bitmuster kompensiert werden. Mögliche Verfahren zur Nachbearbeitung sind zum Beispiel in
Untersuchungen der Anmelderin haben ergeben, dass eine günstige Standardabweichung σ für den akkumulierten Gaußschen Jitter bei etwa 0,33747138 Gatterdurchlaufzeiten liegt. Dies führt zu einer deutlich früheren Abtastung als bei konventionellen Abtastungen, die erfolgen, wenn die Standardabweichung σ des Jitters größer als die nominelle Periode T des Ringoszillators mit den Invertern
Die Anmelderin hat ferner numerische und experimentelle Untersuchungen an Ringoszillatoren der Länge n = 31 vorgenommen. Die Auswertung einer entsprechenden Kurve, wie sie in der
Die als Bitmuster erfassten Zufallsbits ZB1–ZBn werden beispielsweise von der Steuereinrichtung
Die Vorrichtung gemäß
Zur Erläuterung der Vorgehensweise ist zunächst in der
Die
Beim Betrieb des Ringoszillators setzt sich insofern immer ein Pegelwechsel mit der jeweiligen Gatterlaufzeit fort. Der Ringoszillator durchläuft dabei zeitlich nacheinander die Zustände 0 bis 9, wie es in der
Aus der sich ergebenden Verteilung wird die Standardabweichung oder Varianz des Jitters ermittelt. Die Anmelderin hat Untersuchungen an einem Ringoszillator mit 31 Invertern durchgeführt. Dazu wurde ein FPGA vom Typ Spartan-3 eingesetzt. Es wurden jeweils 1.999 Abtastbitmuster zu Abtastzeitpunkten tti nach 1 bis 1.999 Takten erfasst, wobei ein Takt 20 ns dauerte. Bei einem 31 Inverter langen Ringoszillator sind 62 Ringoszillatorzustände mit Bitmustern BMi (i = 0 – 61) möglich. Bei einer ersten Untersuchung wurde eine Verzögerungszeit zwischen Starten und Abtasten von 20 ns nach dem Setzen des Startsignals (vgl. CT1 in
In der
Man kann nun aus der ermittelten Verteilung in
Bei der Bestimmung der Standardabweichung wird vorzugsweise berücksichtigt, dass die Zustände zyklisch aufeinanderfolgen. Das heißt, auf den Zustand 61 folgt der Zustand 0 bei dem 31 Inverter langen Ringoszillator. Insofern kann es günstig sein, die Standardabweichung in einem Repräsentantensystem zu wählen, das modulo der Anzahl der möglichen Ringoszillatorzustände gewählt ist. When determining the standard deviation, it is preferably taken into account that the states follow one another cyclically. That is, state 61 is followed by
Sofern der Jitter über eine halbe Periodenlänge des Ringoszillators hinausgeht, ist eine zuverlässige Zuordnung eines Ringoszillatorzustandes als Erwartungswert erschwert. Unter der Annahme einer Gaußschen Normalverteilung für den Jitter kann dann dennoch eine Standardabweichung oder Varianz sinnvoll ermittelt werden. Besonders große Jitter sind jedoch für eine zuverlässige Zufallszahlerzeugung nicht zwingend notwendig, denn es kommt, wie hinsichtlich der
Insofern ergibt sich aus einer Kombination der Jitterbestimmung in Ringoszillatorschaltkreisen auf Basis der mehrfach erfassten Abtastbitmuster und einer anschließend in Abhängigkeit von dem erfassten Jitter angepasste Abtastzeit für die Zufallsbiterzeugung eine Möglichkeit, on-Chip und ohne weitere Maßnahmen zuverlässige Zufallsbits mit hoher Erzeugungsrate zu erzeugen. In this respect, a combination of the jitter determination in ring oscillator circuits on the basis of the multiply sampled sampling bit pattern and a sampling time adapted for the random jitter generation as a function of the detected jitter results in a possibility of producing reliable random bits with a high production rate on-chip and without further measures.
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
- P. Haddad, Y. Teglia, F. Bernard und V. Fischer: "On the assumption of mutual independence of jitter realizations in P-TRNG stochastic models", DATE Conference 2014 [0058] P. Haddad, Y. Teglia, F. Bernard and V. Fischer: "On the assumption of mutual independence of jitter realizations in P-TRNG stochastic models", DATE Conference 2014 [0058]
- A. Juels, M. Jakobsson, E. A. M. Shriver und B. Hillyer: „How to turn loaded dice into fair coins“, IEEE Transactions on Information Theory, Vol. 46, No. 3, Seiten 911–921 (2000) [0063] A. Juels, M. Jakobsson, EAM Shriver and B. Hillyer: "How to Turn Loaded into Fair Coins", IEEE Transactions on Information Theory, Vol. 3, pages 911-921 (2000) [0063]
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014224423.4A DE102014224423A1 (en) | 2014-11-28 | 2014-11-28 | Method and apparatus for measuring a jitter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014224423.4A DE102014224423A1 (en) | 2014-11-28 | 2014-11-28 | Method and apparatus for measuring a jitter |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102014224423A1 true DE102014224423A1 (en) | 2016-06-02 |
Family
ID=55967885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102014224423.4A Withdrawn DE102014224423A1 (en) | 2014-11-28 | 2014-11-28 | Method and apparatus for measuring a jitter |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102014224423A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014203649A1 (en) * | 2014-02-28 | 2014-05-28 | Siemens Aktiengesellschaft | 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 |
-
2014
- 2014-11-28 DE DE102014224423.4A patent/DE102014224423A1/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014203649A1 (en) * | 2014-02-28 | 2014-05-28 | Siemens Aktiengesellschaft | 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 |
Non-Patent Citations (5)
Title |
---|
A. Juels, M. Jakobsson, E. A. M. Shriver und B. Hillyer: "How to turn loaded dice into fair coins", IEEE Transactions on Information Theory, Vol. 46, No. 3, Seiten 911-921 (2000) |
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 * |
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 |
P. Haddad, Y. Teglia, F. Bernard und V. Fischer: "On the assumption of mutual independence of jitter realizations in P-TRNG stochastic models", DATE Conference 2014 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1643643B1 (en) | Random number generator and method for random number generation | |
DE102008048292B4 (en) | Apparatus and method for generating a random bit string | |
EP2183726B1 (en) | Device and method for generating a random bit sequence | |
EP2271980A1 (en) | Device and method for generating a random bit sequence | |
DE102014102501A1 (en) | Random number generator | |
DE10103071A1 (en) | Random number generator and method for generating a random number | |
DE102016119750B4 (en) | Devices and methods for multi-channel scanning | |
DE102014200163A1 (en) | A method for generating an output of a random source of a random number generator | |
DE102014219651A1 (en) | Method and apparatus for generating random bits | |
DE102010026688A1 (en) | Random number generator for cryptographic application, has sample and holding circuit that scans switching states of cascaded ring oscillators for generation of random bits | |
DE102014224421A1 (en) | Method and apparatus for generating random bits | |
DE102014224423A1 (en) | Method and apparatus for measuring a jitter | |
DE102014219693A1 (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 | |
DE102013213385A1 (en) | Method for evaluating an output of a random number generator | |
WO2014117983A1 (en) | Method and device for generating random bits | |
DE102014226996A1 (en) | Method and apparatus for generating random bits | |
DE102013213392A1 (en) | Method for evaluating an output of a random number generator | |
DE102014209964A1 (en) | Method and apparatus for generating random bits | |
DE102013210147A1 (en) | Generate random bits | |
WO2015043855A2 (en) | Generation of random bits | |
DE102008033162A1 (en) | Physical random number generator | |
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 |