DE102016207448A1 - Device with a plurality of digital gate circuits and method for operating the same - Google Patents
Device with a plurality of digital gate circuits and method for operating the same Download PDFInfo
- Publication number
- DE102016207448A1 DE102016207448A1 DE102016207448.2A DE102016207448A DE102016207448A1 DE 102016207448 A1 DE102016207448 A1 DE 102016207448A1 DE 102016207448 A DE102016207448 A DE 102016207448A DE 102016207448 A1 DE102016207448 A1 DE 102016207448A1
- Authority
- DE
- Germany
- Prior art keywords
- signal
- delay
- signal path
- path
- edge
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/84—Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
Abstract
Bei einer Vorrichtung (1) mit einer Oszillatoreinrichtung (100) zum Erzeugen eines steigende und fallende Signalflanken (SF) aufweisenden Oszillationssignals (OS) und mit einer Verzögerungsanordnung (30), welche einen Signalpfad (SP) zum Propagieren einer Signalflanke (SF) des Oszillationssignals (OS) aufweist, sind in dem Signalpfad (SP) mehrere Verzögerungseinrichtungen (31–3m) vorgesehen, die eingerichtet sind, die jeweilige durchlaufende Signalflanke (SF) um eine jeweilige Verzögerungszeit (VZ1–VZm) zu verzögern. Dabei weist mindestens eine Verzögerungseinrichtung (3i) mehrere wahlweise in den Signalpfad (SP) schaltbare unterschiedliche Verzögerungselemente (3i1–3iQ) auf. Die Erfassung der potenziell mit einem Jitter beaufschlagten Signalflanke (SF) mit Hilfe einer Abtastung von Leitungsknoten in dem Signalpfad (SP) wird erleichtert. Beim Betrieb der Vorrichtung können Zufallsbits mit erhöhter Entropie erzeugt werden.In a device (1) having an oscillator device (100) for generating an rising and falling signal edges (SF) having oscillation signal (OS) and with a delay device (30) which a signal path (SP) for propagating a signal edge (SF) of the oscillation signal (OS), in the signal path (SP) a plurality of delay means (31-3m) are provided, which are adapted to delay the respective continuous signal edge (SF) by a respective delay time (VZ1-VZm). At least one delay device (3i) has a plurality of different delay elements (3i1-3iQ) which can optionally be switched into the signal path (SP). The detection of the potentially jittered signal edge (SF) by means of a scan of line nodes in the signal path (SP) is facilitated. During operation of the device, random bits with increased entropy can be generated.
Description
Verkettete digitale Gatterschaltungen können zeitlich veränderliche Zustandswechsel erzeugen, die auf logische Bitwerte abgebildet werden können und zum Beispiel zur Zufallszahlenerzeugung weiterverarbeitet werden. In der Vergangenheit sind insbesondere digitale Verzögerungsketten aus digitalen Gatterschaltungen aufgebaut worden, die zur Erzeugung von physikalischen Zufallszahlen eingesetzt werden können. Chained digital gate circuits can generate time-varying state changes, which can be mapped to logical bit values and, for example, further processed for random number generation. In the past, in particular, digital delay chains have been constructed from digital gate circuits which can be used to generate physical random numbers.
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 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.
Wünschenswert ist es beispielsweise, mit Hilfe einfacher Maßnahmen, die an sich vorliegende Entropie von aus Ringoszillatoren abgeleiteten Zufallsbitwerten weiter zu erhöhen und höhere Erzeugungsraten zu erzielen. It is desirable, for example, to further increase the inherent entropy of random bit values derived from ring oscillators with the aid of simple measures and to achieve higher production rates.
Insofern ist es eine Aufgabe der vorliegenden Erfindung, ein verbesserte Vorrichtung und/oder ein verbessertes Verfahren zum Erzeugen von Zufallsbits bereitzustellen. Thus, it is an object of the present invention to provide an improved apparatus and / or method for generating random bits.
Demgemäß wird eine Vorrichtung mit einer Oszillatoreinrichtung zum Erzeugen eines steigende und fallende Signalflanken aufweisenden Oszillationssignals und mit einer Verzögerungsanordnung vorgeschlagen. Die Verzögerungsanordnung hat einen Signalpfad zum Propagieren einer Signalflanke des Oszillationssignals, und in dem Signalpfad sind mehrere Verzögerungseinrichtungen vorgesehen, die eingerichtet sind, die jeweilige durchlaufende Signalflanke um eine jeweilige Verzögerungszeit zu verzögern. Mindestens eine Verzögerungseinrichtung weist dabei mehrere wahlweise in den Signalpfad schaltbare unterschiedliche Verzögerungselemente auf. Accordingly, an apparatus is proposed with an oscillator device for generating an oscillating signal having rising and falling signal edges and with a delay arrangement. The delay arrangement has a signal path for propagating a signal edge of the oscillation signal, and in the signal path there are provided a plurality of delay devices, which are set up to delay the respective passing signal edge by a respective delay time. At least one delay device has a plurality of optionally switchable in the signal path different delay elements.
Bevorzugt hat die Vorrichtung in dem Signalpfad mehrere Verzögerungseinrichtungen, die jeweils mehrere wahlweise in den Signalpfad schaltbare unterschiedliche Verzögerungselemente aufweisen. The device preferably has a plurality of delay devices in the signal path, each of which has a plurality of different delay elements optionally switchable into the signal path.
Es können auch mehrere – steigende und fallende – Signalflanken in dem Signalpfad propagieren. It can also propagate several - rising and falling - signal edges in the signal path.
Durch die Möglichkeit der Umschaltung zwischen verschiedenen Verzögerungselementen erfährt eine durch den Signalpfad durchlaufende Signalflanke abhängig von den zugeschalteten Verzögerungselementen unterschiedliche Verzögerungen. Dies ermöglicht beispielsweise bei einem Abgreifen eines Signalpegels an bestimmten Leitungsknoten im Signalpfad, zum Beispiel an den Ausgängen der Verzögerungseinrichtungen, den Abgriffs- oder Abtastzeitpunkt so zu wählen, dass die Signalflanke an wenigstens einem der Abgriffspunkte bzw. Leitungsknoten vorliegt. Due to the possibility of switching between different delay elements, a signal edge passing through the signal path undergoes different delays depending on the connected delay elements. This makes it possible, for example, when picking up a signal level at certain line nodes in the signal path, for example at the outputs of the delay devices, to select the tapping or sampling time such that the signal edge is present at at least one of the tapping points or line nodes.
Insbesondere bei der Einrichtung der Vorrichtung als Zufallszahlen- oder Zufallsbitgenerator ist es günstig, wenn die mit einem Jitter beaufschlagte Signalflanke zu einem jeweiligen Abtastzeitpunkt nicht genau zwischen den Leitungsknoten, an denen abgetastet wird, vorliegt, sondern möglichst an einem entsprechenden Leitungsknoten. Dadurch wird die Entropie der von dem erfassten logischen Pegel abgeleiteten Bitwerte erhöht. In particular, in the device of the device as a random number or random bit generator, it is advantageous if the signal edge acted upon by a jitter at a respective sampling instant is not exactly present between the line nodes at which it is sampled, but preferably at a corresponding line node. This increases the entropy of the bit values derived from the detected logic level.
Einem Jitter einer Signalflanke kann eine Jitterbreite zugeordnet werden, die einen Zeitraum angibt, in dem die Signalflanke eines Oszillationssignals abweichend von Ihrem nominellen Zeitpunkt vorliegt. In dem geschlossen Pfad eines Ringoszillatorschaltkreises tritt die Signalflanke bei einem nicht Jitter-behafteten Oszillationssignal an einem ausgewählten Leitungsknoten im Pfad immer zeitlich gleich beabstandet zu bestimmten Zeitpunkten auf. Ist das Oszillationssignal Jitterbehaftet tritt die Signalflanke innerhalb der Jitterbreite um den bestimmten Zeitpunkt auf. Da Jitter akkumuliert werden kann, steigt diese Jitterbreite in der Regel an. A jitter of a signal edge can be assigned a jitter width which indicates a time period in which the signal edge of an oscillation signal is different from its nominal point in time. In the closed path of a ring oscillator circuit, the signal edge occurs at a non-jittered oscillation signal at a selected line node in the path, always equidistant at certain times. If the oscillation signal is jittery, the signal edge occurs within the jitter width at the given time. Since jitter can be accumulated, this jitter width usually increases.
Der nominelle Zeitpunkt ist insbesondere der Erwartungswert des Zeitpunktes für das Auftreten der jeweiligen Signalflanke, und die Jitterbreite kann als Standardabweichung angegeben werden. Specifically, the nominal point in time is the expected value of the time of occurrence of the respective signal edge, and the jitter width can be expressed as a standard deviation.
In Ausführungsformen unterliegt eine jeweilige Signalflanke des Oszillationssignals einem jeweiligen Jitter mit einer Jitterbreite, und die Vorrichtung ist vorzugsweise eingerichtet, die jeweiligen Verzögerungselemente derart in den Signalpfad zu schalten, dass bei einem gleichzeigen Erfassen von an mehreren Leitungsknoten in dem Signalpfad abgegriffenen Signalpegeln zu einem Erfassungszeitpunkt wenigstens um einen bestimmten Leitungsknoten eine der Signalflanken nicht stärker als die Jitterbreite beabstandet von dem bestimmten Leitungsknoten vorliegt. In embodiments, a respective signal edge of the oscillation signal is subject to a respective jitter having a jitter width, and the device is preferably arranged to switch the respective delay elements into the signal path such that at equal detection of signal levels picked up at a plurality of line nodes in the signal path at a detection time around a particular line node, one of the signal edges is no more than the jitter width spaced from the particular line node.
Man kann insofern durch die Auswahl der in den Signalpfad geschalteten Verzögerungselemente erreichen, dass im Mittel, bei mehrfacher Erfassung nacheinander, eine Abtastung des/der Signalflanke/n mit Jitter erfolgt. Der erfasste Signalpegel hängt dann zufällig vom Jitter ab. In this way, by selecting the delay elements connected in the signal path, it can be achieved that, on average, multiple detection successively, a sampling of the signal edge (s) with jitter takes place. The detected signal level then depends on the jitter at random.
In Ausführungsformen ist mindestens eine der Verzögerungseinrichtungen als eine Einrichtung zum Invertieren der Signalflanke oder eines Signalpegels eingerichtet. Grundsätzlich kann eine Verzögerungseinrichtung auch durch eine einzelne Inverter-Einrichtung ausgebildet sein. In embodiments, at least one of the delay devices is configured as means for inverting the signal edge or signal level. In principle, a delay device can also be formed by a single inverter device.
Vorzugsweise sind die unterschiedlichen Verzögerungselemente einer Verzögerungseinrichtung eingerichtet, eine durchlaufende Signalflanke um eine unterschiedliche Verzögerungszeit zu verzögern. Das heißt, durch ein wahlweises Umschalten von einem zum anderen Verzögerungselement im Signalpfad ergibt sich beim Abtasten mehrerer Signalpegel eine Phasenverschiebung der propagierenden Signalflanke. Preferably, the different delay elements of a delay device are set up to delay a continuous signal edge by a different delay time. That is, by selectively switching from one to the other delay element in the signal path results in the sampling of multiple signal level, a phase shift of the propagating signal edge.
Das jeweilige Verzögerungselement kann beispielsweise durch ein getrennt hardwareimplementiertes Bauteil implementiert werden. Zum Beispiel kann durch herstellungsbedingte Schwankungen der eingesetzten Halbleiterbauelemente ein erster Inverter eine von einem zweiten Inverter unterschiedliche Verzögerungszeit aufweisen. The respective delay element can be implemented, for example, by a separate hardware-implemented component. For example, due to production-related fluctuations in the semiconductor components used, a first inverter may have a different delay time from a second inverter.
In der Vorrichtung ist in Ausführungsformen die Oszillatoreinrichtung mit Hilfe wenigstens einer logischen Gatterschaltung in der Art eines Ringoszillatorschaltkreises ausgebildet. Zum Beispiel ist eine ungerade Anzahl von Einrichtungen zum Invertieren in einem Pfad zur Ausbildung eines Ringoszillatorschaltkreises vorgesehen. In the apparatus, in embodiments, the oscillator means is formed by means of at least one logic gate circuit in the manner of a ring oscillator circuit. For example, an odd number of inverting means are provided in a path for forming a ring oscillator circuit.
In weiteren Ausführungsformen ist mindestens eine der Verzögerungseinrichtungen als eine Latch-Einrichtung eingerichtet. In further embodiments, at least one of the delay devices is configured as a latch device.
Eine entsprechende Latch-Einrichtung gibt zum Beispiel einen an einem Dateneingang der Latch-Einrichtungen eingekoppelten logischen Pegel als Eingangssignal an einem Datenausgang der Latch-Einrichtung als Ausgangssignal aus. Alternativ kann in Abhängigkeit von einem logischen Pegel eines Steuer- oder Enable-Signals der Signalpegel des Ausgangssignals an dem Datenausgang abgreifbar festgehalten werden. Latch-Einrichtungen können insofern transparent oder als Zwischenspeicherelemente fungieren. A corresponding latch device outputs, for example, a logic level coupled to a data input of the latch devices as an input signal at a data output of the latch device as an output signal. Alternatively, depending on a logic level of a control or enable signal, the signal level of the output signal can be tapped at the data output. Latch devices can act as transparent or as buffer elements.
Die in der Latch-Einrichtung vorgesehenen logischen Gatter führen zu einer Laufzeitverzögerung. Insofern kann eine Verzögerungseinrichtung mehrere Latch-Einrichtungen als Verzögerungselemente aufweisen. The logic gates provided in the latch cause a propagation delay. In this respect, a delay device can have a plurality of latch devices as delay elements.
Ein weiterer Vorteil der Implementierung eines logischen Gatters oder einer Verzögerungseinrichtung mit Latch-Einrichtungen besteht darin, dass zusätzliche Abtasteinrichtungen, wie Sample- und Halteglieder oder Flip-Flops zum Erfassen von logischen Pegeln, beispielsweise an den Ausgängen der Verzögerungseinrichtungen, entfallen können. Another advantage of implementing a logic gate or latch with latches is that additional samplers, such as sample and hold circuits or flip-flops, can be omitted to sense logic levels at, for example, the outputs of the delay devices.
In Ausführungsformen wird ferner eine Speichereinrichtung zum Abspeichern eines Einstellbitmusters, welches die in den Signalpfad zu schaltenden Verzögerungselemente festlegt, vorgesehen. In embodiments, a memory device is also provided for storing an adjustment bit pattern, which defines the delay elements to be switched into the signal path.
Vorzugsweise sind alle Verzögerungseinrichtungen mit wahlweise schaltbaren unterschiedlichen Verzögerungselementen ausgestattet. Dabei sind vorzugsweise jeweils mindestens zwei Verzögerungselemente, zum Beispiel als Inverter-Einrichtungen vorgesehen, die durch einen jeweiligen Bitwert einer Position in dem Einstell-Bitmuster bestimmt, in den Signalpfad eingekoppelt ist oder nicht. Preferably, all delay devices are equipped with optionally switchable different delay elements. In this case, preferably at least two delay elements, for example, provided as inverter devices, which is determined by a respective bit value of a position in the setting bit pattern, is coupled into the signal path or not.
In Ausführungsformen der Vorrichtung ist ferner eine Erfassungsvorrichtung vorgesehen, welche an mehreren Leitungsknoten in dem Signalpfad gekoppelt ist, und die eingerichtet ist, zu einem Erfassungszeitpunkt gleichzeitig jeweilige Signalpegel an den mehreren Leitungsknoten abzugreifen und daraus jeweilige Bitwerte bereitzustellen. Vorzugsweise ist jedem der mehreren Leitungsknoten ein Bitwert mit jeweils einem ersten und einem zweiten logischen Pegel zugeordnet. In embodiments of the apparatus, there is further provided a detection device coupled to a plurality of line nodes in the signal path and configured to simultaneously tap respective signal levels at the plurality of line nodes at a detection time to provide respective bit values therefrom. Preferably, each of the plurality of line nodes is assigned a bit value, each having a first and a second logic level.
Beispielsweise ist ein jeweiliger Leitungsknoten einer jeweiligen Verzögerungseinrichtung zugeordnet. Dann gibt es so viele Leitungsknoten zum Abgreifen eines Signalpegels wie Verzögerungseinrichtungen. For example, a respective line node of a respective delay device assigned. Then there are so many line nodes for picking up a signal level as delay devices.
Bei den vorzugsweise als physisch unterschiedliche Verzögerungselemente ausgestalteten Verzögerungselementen kann beispielsweise die Fertigungsschwankung ausgenutzt werden oder auch gezielt eine Veränderungen beispielsweise an den eingesetzten Transistoren in den logischen Gattern vorgesehen werden. In the case of the delay elements, which are preferably designed as physically different delay elements, it is possible, for example, to make use of the production fluctuation or to selectively provide for changes, for example, to the transistors used in the logic gates.
Es wird ferner ein Verfahren zum Betreiben einer wie zuvor und im Folgenden beschriebenen Vorrichtung vorgeschlagen. A method for operating a device as described above and below is also proposed.
Das Verfahren umfasst wenigstens einen der Schritte:
Starten eines Ringoszillatorschaltkreises aus einem festgelegten Anfangszustand zum Einkoppeln des Oszillationssignals in den Signalpfad zu einem vorgegebenen Startzeitpunkt;
Festlegen eines Startzustands für logische Pegel an mehreren Leitungsknoten in einemgeschlossenen Signalpfad eines Ringoszillatorschaltkreises vor oder zu einem Startzeitpunkt;
gleichzeitiges Erfassen von Signalpegeln an den mehreren Leitungsknoten in dem Signalpfad zu einem Erfassungszeitpunkt und Zuordnen eines Bitmusters zu den erfassten Signalpegeln;
Bestimmen eines Entropiemaß für eine Mehrzahl von einem jeweils gleichen Startzustand, Startzeitpunkt und Erfassungszeitpunkt erfasster Signalpegel und zugeordneter Bitmuster; und
Auswählen der in den Signalpfad zu schaltenden Verzögerungselemente derart, dass das Entropiemaß eine vorgegebene Schwelle übersteigt. The method comprises at least one of the steps:
Starting a ring oscillator circuit from a predetermined initial state for coupling the oscillation signal into the signal path at a predetermined start time;
Determining a start state of logic levels at a plurality of line nodes in a closed signal path of a ring oscillator circuit before or at a start time;
simultaneously detecting signal levels at the plurality of line nodes in the signal path at a detection time and assigning a bit pattern to the detected signal levels;
Determining an entropy amount for a plurality of signal levels and associated bit patterns acquired from a respective same start state, start time, and detection time point; and
Selecting the delay elements to be switched in the signal path such that the entropy dimension exceeds a predetermined threshold.
Das Einkoppeln kann ständig erfolgen, zum Beispiel wenn der Ringoszillator fest an die Verzögerungsanordnung geschaltet wird, aber auch nur zeitweise zum Zwecke des Einkoppelns von Signalflanken. Man kann sagen, das Oszillationssignal des Ringoszillatorschaltkreises ist an die Verzögerungsanordnung wahlweise schaltbar. The coupling can be done continuously, for example when the ring oscillator is permanently connected to the delay arrangement, but also only temporarily for the purpose of coupling signal edges. It can be said that the oscillation signal of the ring oscillator circuit is selectively switchable to the delay arrangement.
In Ausführungsformen der Vorrichtung kann in einem vorbereiteten Initialisierungsverfahren die jeweilige Zuschalt- oder Umschaltkonfiguration für die Verzögerungselemente im Signalpfad so festgelegt werden, dass beim Betrieb als Zufallszahlengenerator oder Zufallsbiterzeuger die Entropie möglichst hoch ist. In embodiments of the device, in a prepared initialization method, the respective connection or switching configuration for the delay elements in the signal path can be set so that the entropy is as high as possible when operating as a random number generator or random bit generator.
Man erhält insbesondere dann eine erhöhte Entropie, wenn der Abtastzeitpunkt so gewählt ist, dass die Signalflanke an einem der Leitungsknoten vorliegt, denn dann ist der Einfluss des Jitters, also die zeitliche Schwankung der Signalflanke bzw. des Pegelwechsels bezogen auf einen nominellen Zeitpunkt, mit besonders hohem Einfluss für den davon abgeleiteten Bitwert. Der nominelle Zeitpunkt kann zum Beispiel auf eine nominelle mittlere halben Periode eines als Oszillatoreinrichtung eingesetzten Ringoszillators bezogen sein. In particular, an increased entropy is obtained if the sampling time is chosen such that the signal edge is present at one of the line nodes, because then the influence of the jitter, that is to say the temporal fluctuation of the signal edge or of the level change with respect to a nominal instant, is particular high influence for the derived bit value. The nominal time may, for example, be related to a nominal average half-period of a ring oscillator used as an oscillator device.
Bei einer Ausführungsform des Verfahrens werden daher zunächst alle möglichen Kombinationen von zuschaltbaren Verzögerungselementen in dem Signalpfad getestet. Die Konfiguration, bei der beispielsweise durch mehrfaches Testen eine hohe Entropie im Vergleich zu anderen Konfigurationen oder Kombinationen von zuschaltbaren Verzögerungselementen erzielt wird, wird dann als ein Einstellbitmuster in einer Speichereinrichtung festgelegt. Nach Auslieferung der Vorrichtung kann dann durch Kombination des festgelegten Erfassungszeitpunktes und des Einstellbitmusters eine aufwandsgünstige und gute Zufallsbiterzeugung mit hoher Datenrate erfolgen. In one embodiment of the method, therefore, first all possible combinations of switchable delay elements in the signal path are tested. The configuration in which, for example, multiple testing achieves high entropy compared to other configurations or combinations of switchable delay elements is then defined as an adjustment bit pattern in a memory device. After delivery of the device can then be done by combining the fixed detection time and the Einstellbitmusters a low-cost and good Randiesbiterzeugung with high data rate.
Gegenüber konventionellen Ansätzen ist keine Regelung einer Verzögerungsschaltung auf eine passende Verzögerungszeit derart notwendig, dass immer die zu erfassende Signalflanke immer auch von einem Erfassungsglied abgetastet wird. In contrast to conventional approaches, no regulation of a delay circuit to a suitable delay time is necessary in such a way that always the signal edge to be detected is always sampled by a detection element.
Die vorgeschlagene Vorrichtung und das Verfahren zum Betreiben derselben kann auch die Zeit reduzieren, die zwischen einem Start- und einem Erfassungszeitpunkt vergeht, weil üblicherweise gewartet werden muss, dass ausreichend Jitter akkumuliert wurde. Allein durch die Umkonfiguration oder die optimierte Auswahl der Verzögerungsglieder kann ein verbesserter Entropiegehalt der erfassten Bitwerte erreicht werden. The proposed apparatus and method for operating the same can also reduce the time that elapses between a start and a capture time because it is usually necessary to wait for sufficient jitter to accumulate. Alone through the reconfiguration or the optimized selection of the delay elements, an improved entropy content of the detected bit values can be achieved.
In den Ausführungsformen kann die Verzögerungseinrichtung selbst in dem geschlossenen Signalpfad eines Ringoszillatorschaltkreises vorgesehen sein, jedoch auch an einem Leitungsknoten vorgesehen sein, an dem das jeweilige Oszillatorsignal mit einer jitternden Signalflanke abgegriffen werden kann. In the embodiments, the delay device may itself be provided in the closed signal path of a ring oscillator circuit, but may also be provided at a line node at which the respective oscillator signal can be tapped with a jittering signal edge.
In Ausführungsformen kann die Vorrichtung eine Steuereinrichtung umfassen, welche vorzugsweise eingerichtet ist, die Durchführung eines zuvor und im Folgenden beschriebenen Verfahrens zum Erzeugen von, insbesondere zufälligen, Bitmustern zu veranlassen. In embodiments, the device may comprise a control device, which is preferably arranged to cause the implementation of a previously and subsequently described method for generating, in particular random, bit patterns.
Die Vorrichtung ist vorzugsweise in einer Vorrichtung zum Erzeugen von Zufallsbits eingesetzt, welche wiederum Teil einer Verschlüsselungsvorrichtung sein kann. Insofern wird ferner eine Verschlüsselungsvorrichtung vorgeschlagen, die eine Recheneinrichtung zur Durchführung eines Verschlüsselungsalgorithmus an Eingangsdaten umfasst und eine Vorrichtung zum Erzeugen von Zufallsbits. The device is preferably used in a device for generating random bits, which in turn may be part of an encryption device. In this respect, an encryption device is furthermore proposed which comprises a computing device for carrying out an encryption algorithm on input data and a device for generating random bits.
In Abhängigkeit von einem oder mehreren mit Hilfe der Vorrichtung zum Erzeugen von Zufallsbits erzeugten Zufallsbits werden so verschlüsselte Daten erzeugt. Depending on one or more random bits generated by means of the random bit generator, encrypted data is generated.
Insofern ermöglichen die Vorrichtung und das Verfahren zum Erzeugen und Erfassen von Bitmustern mit Zufallsbits eine besonders sichere Verschlüsselung, da zuverlässig zufällige Bitwerte erzeugt werden können. In this respect, the apparatus and the method for generating and detecting bit patterns with random bits enable particularly secure encryption since reliable random bit values can be generated reliably.
In Ausführungsformen ist die Vorrichtung Teil einer FPGA-Einrichtung oder einer ASIC-Einrichtung. In embodiments, the device is part of an FPGA device or an ASIC device.
Das Verfahren kann insbesondere über geeignete Beschreibungssprachen, beispielsweise VHDL oder Verilog, auf oder in einer FPGA- oder ASIC-Vorrichtung implementiert werden. The method can in particular be implemented on or in an FPGA or ASIC device via suitable description languages, for example VHDL or Verilog.
Weiterhin wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung eines wie oben erläuterten Verfahrens veranlasst. Furthermore, a computer program product is proposed, which causes the execution of a method as explained above on a program-controlled device.
Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm-Mittel, kann beispielsweise als Speichermedium, wie z.B. 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 Computerprogrammprodukt 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 may, for example, be used as a storage medium, e.g. Memory card, USB stick, CD-ROM, DVD, or even in the form of a downloadable file provided by a server in a network or delivered. 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.
Die für die vorgeschlagene Vorrichtung beschriebenen Ausführungsformen und Merkmale gelten für das vorgeschlagene Verfahren und umgekehrt. The embodiments and features described for the proposed device apply to the proposed method and vice versa.
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmalen oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen. Further possible implementations of the invention also include not explicitly mentioned combinations of features or embodiments described above or below with regard to the exemplary embodiments. The skilled person will also add individual aspects as improvements or additions to the respective basic form of the invention.
Weitere vorteilhafte Ausgestaltungen und Aspekte der Erfindung sind Gegenstand der Unteransprüche sowie der im Folgenden beschriebenen Ausführungsbeispiele der Erfindung. Im Weiteren wird die Erfindung anhand von bevorzugten Ausführungsformen unter Bezugnahme auf die beigelegten Figuren näher erläutert. Further advantageous embodiments and aspects of the invention are the subject of the dependent claims and the embodiments of the invention described below. Furthermore, the invention will be explained in more detail by means of preferred embodiments with reference to the attached figures.
In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts anderes angegeben ist. In the figures, the same or functionally identical elements have been given the same reference numerals, unless stated otherwise.
Die
Die Verzögerungsanordnung
In dem Ausführungsbeispiel der
In weiteren Ausführungsformen können auch die anderen oder eine Auswahl der Verzögerungseinrichtungen
In der
Die Vorrichtung
Je nachdem, welcher jeweilige Pegel A1–Am dem Ausgangssignal A1–Am entnommen wird, ergibt sich ein Bitwert BW1–BWm, der von den Erfassungseinrichtungen
Die Verzögerungseinrichtungen
In der
Sofern das Enable-Signal CT1 auf logisch L liegt, wird am Datenausgang Q immer der aktuelle logische Pegel festgehalten und ausgegeben. Das Latch funktioniert dann als Zwischenspeicherelement. Das bedeutet, beim Einsatz eines entsprechenden D-Latches
Die
Um beim Einsatz als Zufallsbitgenerator eine möglichst hohe Entropie der Bitwerte BW1–BWm zu erreichen (vgl.
Zur Erläuterung möglicher Signalformen sind in der
Man kann eine statistische Jitterbreite dJ definieren, die den Bereich um einen nominellen Zeitpunkt, der definiert wird durch den Erwartungswert für den Zeitpunkt des Auftretens der Signalflanke für das Auftreten einer Signalflanke mit einer vorgegebenen Wahrscheinlichkeit angibt, einschließt. Z. B. liegt die Signalflanke bei einem jeweiligen Jitter dann mit der entsprechenden Wahrscheinlichkeit nicht weiter als dJ von dem nominellen Zeitpunkt entfernt vor. Der Zeitpunkt des Auftretens der Signalflanke wird dabei relativ zum Zeitpunkt des Startens des Oszillators aus einem definierten Anfangszustand betrachtet. One may define a statistical jitter width dJ that indicates the range by a nominal time defined by the expected value for the time of occurrence of the signal edge for the occurrence of a signal edge with a given probability. For example, with a given jitter, the signal edge is then no further than dJ from the nominal time with the corresponding probability. The time of occurrence of the signal edge is considered relative to the time of starting the oscillator from a defined initial state.
Man kann die Jitterbreite zum Beispiel statistisch als Standardabweichung der um den Erwartungswert auftretenden Signalflanken annehmen. For example, one can statistically assume the jitter width as the standard deviation of the signal edges occurring around the expected value.
Durch unterschiedliche Konfigurationen der Verzögerungszeiten aufgrund der Verzögerungseinrichtungen
Die Anmelderin hat nun Untersuchungen anhand einer dritten Ausführungsform einer Vorrichtung
Die elf ersten Verzögerungseinrichtungen
Da elf der Verzögerungseinrichtungen
Die
An der Bitposition BW8, die in der
Die Anmelderin hat ferner Untersuchungen an der Schaltung durchgeführt, bei der keine Umschaltungen der Verzögerungselemente vorgenommen wurden. Die hier nicht dargestellten Wahrscheinlichkeiten zeigen, dass die Bitposition, an der eine Signalflanke erfasst werden kann, eher unregelmäßig streut. Das heißt, im Umkehrschluss ist durch eine geschickt ausgewählte Konfiguration, d.h. eine Auswahl des Einstellbitmusters B1–B11 derart, dass eine möglichst gleiche Verteilung zwischen H- und L-Pegeln an einer oder mehreren bestimmten Bitposition auftritt, günstig und führt zu einer erhöhten Entropie in den Bitwerten BW1–BW31. The Applicant has also carried out investigations on the circuit in which no switching of the delay elements have been made. The probabilities not shown here show that the bit position at which a signal edge can be detected tends to scatter irregularly. In other words, by a cleverly selected configuration, ie a selection of the Einstellbitmusters B 1 -B 11 such that a very equal distribution between H and L levels at one or more specific bit position occurs, low and leads to an increased Entropy in bit values BW 1 -BW 31 .
Bei einem Betriebsverfahren für eine Vorrichtung, beispielsweise gemäß der
Die vorgeschlagenen Verfahren und Vorrichtungen erhöhen die Entropieausbeute bei der Zufallszahlenerzeugung mit Hilfe von rückgekoppelten digitalen Gattern. Dadurch ist auch eine erhöhte Datenerzeugungsrate bei der Zufallszahlerzeugung möglich. Die umschaltbaren Verzögerungselemente können leicht auf FPGAs oder ASICs implementiert werden und führen nur zu einem geringen und vertretbaren Hardware-Mehraufwand. The proposed methods and apparatus increase the entropy yield in random number generation by means of feedback digital gates. As a result, an increased data generation rate in the random number generation is possible. The switchable delay elements can be easily implemented on FPGAs or ASICs, resulting in low and reasonable hardware overhead.
Obwohl die vorliegende Erfindung anhand von Ausführungsbeispielen beschrieben wurde, ist sie vielfältig modifizierbar. Zum Beispiel können andere Maße für die Jitterbreite als die Standardabweichung angegeben werden. Denkbar sind Vielfache der Standardabweichung, eine Varianz oder auch andere statistische Größen. Although the present invention has been described with reference to embodiments, it is variously modifiable. For example, other measures of jitter width than the standard deviation may be given. Conceivable are multiples of the standard deviation, a variance or other statistical quantities.
Obwohl die Erfindung im Detail durch die bevorzugten Ausführungsbeispiele 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. While the invention has been further illustrated and described in detail by the preferred embodiments, 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)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016207448.2A DE102016207448A1 (en) | 2016-04-29 | 2016-04-29 | Device with a plurality of digital gate circuits and method for operating the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016207448.2A DE102016207448A1 (en) | 2016-04-29 | 2016-04-29 | Device with a plurality of digital gate circuits and method for operating the same |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102016207448A1 true DE102016207448A1 (en) | 2017-11-16 |
Family
ID=60163388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102016207448.2A Withdrawn DE102016207448A1 (en) | 2016-04-29 | 2016-04-29 | Device with a plurality of digital gate circuits and method for operating the same |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102016207448A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070050164A1 (en) * | 2005-08-31 | 2007-03-01 | International Business Machines Corporation | Ring oscillator structure and method of separating random and systematic tolerance values |
DE102014219651A1 (en) * | 2014-09-29 | 2016-03-31 | Siemens Aktiengesellschaft | Method and apparatus for generating random bits |
-
2016
- 2016-04-29 DE DE102016207448.2A patent/DE102016207448A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070050164A1 (en) * | 2005-08-31 | 2007-03-01 | International Business Machines Corporation | Ring oscillator structure and method of separating random and systematic tolerance values |
DE102014219651A1 (en) * | 2014-09-29 | 2016-03-31 | Siemens Aktiengesellschaft | Method and apparatus for generating random bits |
Non-Patent Citations (1)
Title |
---|
BUCCI, M; LUZZI R: A Testable Random Bit Generator based on a High Resolution Phase Noise Detection; in: Design and Diagnostics of Electronic Circuits and Systems, DDECS '07, IEEE; 01.04.2007 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2976707B1 (en) | System and method for generating random bits | |
DE102008048292B4 (en) | Apparatus and method for generating a random bit string | |
EP2271980A1 (en) | Device and method for generating a random bit sequence | |
EP1354264B1 (en) | Random number generator and method for generating a random number | |
DE2121115A1 (en) | Circuit test equipment | |
DE102009008224B4 (en) | Inverting cell | |
DE19820435A1 (en) | Signal transceiver for conductive path system with several logic values | |
DE102016207448A1 (en) | Device with a plurality of digital gate circuits and method for operating the same | |
DE102021121328A1 (en) | System and method for controlling a logic circuit with non-deterministic clock edge variation | |
DE102014224421A1 (en) | Method and apparatus for generating random bits | |
DE19910729C1 (en) | Random number generator and method for generating random numbers | |
DE102014219651A1 (en) | Method and apparatus for generating random bits | |
WO1998044674A1 (en) | Fast parallel signal phase adjustment | |
DE10215087B4 (en) | Method and device for phase detection | |
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 | |
WO2014117983A1 (en) | Method and device for generating random bits | |
DE102016200850A1 (en) | Method for operating a safety-relevant device and device | |
DE102014226996A1 (en) | Method and apparatus for generating random bits | |
DE102005044115A1 (en) | Global Asynchronous Local Synchronous (GALS) circuit used in communication systems, has jitter generator set in appropriate location of request signal or clock signal path and designed to be received and transmitted with random signal delay | |
DE102014219693A1 (en) | Method and apparatus for generating random bits | |
DE102013213095A1 (en) | Generating a number of random bits | |
DE102015226304A1 (en) | Method and apparatus for generating bit patterns | |
DE102015203580A1 (en) | Apparatus and method for generating random bits | |
DE102014215467A1 (en) | Generating an identifier for a circuit | |
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 |