DE102016201176A1 - Method and apparatus for generating random bits - Google Patents
Method and apparatus for generating random bits Download PDFInfo
- Publication number
- DE102016201176A1 DE102016201176A1 DE102016201176.6A DE102016201176A DE102016201176A1 DE 102016201176 A1 DE102016201176 A1 DE 102016201176A1 DE 102016201176 A DE102016201176 A DE 102016201176A DE 102016201176 A1 DE102016201176 A1 DE 102016201176A1
- Authority
- DE
- Germany
- Prior art keywords
- input
- random
- imaging devices
- bit pattern
- signals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computational Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Image Processing (AREA)
Abstract
Ein Verfahren zum Erzeugen von Zufallsbits (ZB) hat die Schritte: Bereitstellen (S0) einer Mehrzahl von seriell miteinander verketteten Abbildungseinrichtungen (21–2m), wobei jede der Mehrzahl von Abbildungseinrichtungen (21–2m) eingerichtet ist, eine vorgegebene Anzahl n Eingangssignale (E11–Emn) mit Hilfe einer kombinatorischen Abbildung (K1–Km) in eine vorgegebene Anzahl p Ausgangssignale (A11–Amp) abzubilden; Einkoppeln (S1) von logischen Pegelwechseln (PW) an eine erste Abbildungseinrichtung (21) der Mehrzahl der miteinander verketteten Abbildungseinrichtungen (21–2m) als Eingangsstartsignale (ES11–ES1n), wobei die jeweiligen logischen Pegelwechsel (PW) durch ein Umschalten (US1–USQ) von einem aktuellen Eingangsbitmuster (BMJ) zu einem nächsten Eingangsbitmuster (BMj + 1) erzeugt werden; Erfassen (S2) eines oder mehrerer Ausgangssignale (A11–Amp) an Ausgängen einer oder mehrerer Abbildungseinrichtungen (21–2m), welche von der ersten Abbildungseinrichtung (21) unterschiedlich sind; und Ermitteln (S3) eines oder mehrerer Bitwerte in Abhängigkeit von dem oder den erfassten Ausgangssignalen (A11–Amp) als Zufallsbit (ZB) oder Zufallsbitmuster (ZBM); wobei eine zyklischen Abfolge (ZK) von Eingangsbitmustern (BM1–BMQ) zum Erzeugen der logischen Pegelwechsel (PW) derart eingekoppelt wird, dass eine mittlere Entropie der ermittelten Zufallsbits (ZB) von einem Eingangsbitmuster (BMJ) zum nächsten (BMJ + 1) größer oder gleich einem vorgegebenen Schwellwert ist.A method for generating random bits (ZB) has the steps of providing (S0) a plurality of serially linked imaging devices (21-2m), wherein each of the plurality of imaging devices (21-2m) is set up, a predetermined number n of input signals (Z). E11-Emn) by means of a combinatorial mapping (K1-Km) into a predetermined number p output signals (A11-Amp); Coupling (S1) logic level changes (PW) to a first mapping device (21) of the plurality of concatenated mapping devices (21-2m) as input start signals (ES11-ES1n), wherein the respective logic level changes (PW) by switching (US1- USQ) from a current input bit pattern (BMJ) to a next input bit pattern (BMj + 1); Detecting (S2) one or more output signals (A11-Amp) at outputs of one or more imaging devices (21-2m) different from the first imaging device (21); and determining (S3) one or more bit values in response to the detected one or more output signals (A11-Amp) as a random bit (ZB) or random bit pattern (ZBM); wherein a cyclic sequence (ZK) of input bit patterns (BM1-BMQ) for generating the logic level changes (PW) is coupled such that an average entropy of the detected random bits (ZB) from one input bit pattern (BMJ) to the next (BMJ + 1) is greater or equal to a predetermined threshold.
Description
Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erzeugen eines oder mehrerer Zufallsbits. Es wird zum Beispiel eine Zufallsbitfolge erzeugt, welche als binäre Zufallszahl verwendet wird. Die vorgeschlagenen Vorrichtungen und Verfahren zum Erzeugen von Zufallsbits dienen beispielsweise der Implementierung von Zufallszahlengeneratoren. Die Erfindung ermöglicht beispielsweise die Erzeugung echter Zufallsbits. The present invention relates to 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 generating random bits serve, for example, the implementation of random number generators. For example, the invention enables the generation of true random bits.
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 einer ungeraden Anzahl von hintereinander geschalteten Invertern aufgebaut sind, ergeben sich zufällige Jitter aus schwankenden Durchlaufzeiten der Signale durch die Inverter. Diese Jitter, also eine unregelmäßige zeitliche Schwankung in Zustandsänderungen der durch die Inverter geschickten Signale, können bei mehrfachen Durchläufen durch die Ringoszillatorschaltung akkumuliert werden, so dass letztlich ein zufälliges analoges Signal entsteht. Nachteilig bei Ringoszillatoren ist häufig die notwendige lange Zeit vom Start der Schwingung bis ein brauchbar zufälliges Signal aufgrund der Jitter-Akkumulierung entsteht. Daher ergeben sich meist niedrige nicht akzeptable Datenerzeugungsraten bei Ringoszillatoren. Ferner ist möglich, dass die sich addierenden Jitter-Beiträge sich auch selbst wieder aufheben, so dass im Mittel zufällige kurze Gatterlaufzeiten durch zufällige längere Gatterlaufzeiten kompensiert werden. For ring oscillators, which are made up of an odd number of inverters connected in series, random jitter results from fluctuating throughput times of the signals through the inverters. These jitter, that is, an irregular variation with time in state changes of the signals sent by the inverters, can be accumulated in the case of multiple passes through the ring oscillator circuit, so that ultimately a random analog signal is produced. A disadvantage of ring oscillators is often the necessary long time from the start of the oscillation until a usable random signal due to the jitter accumulation arises. Therefore, mostly low unacceptable data generation rates arise for ring oscillators. It is also possible that the adding jitter contributions also cancel themselves out, so that on average random short gate delays are compensated by random longer gate delays.
Auch der Energieverbrauch bei Oszillatorschaltungen in Zufallszahlengeneratoren wurde in der Vergangenheit als nachteilig empfunden, da im Betrieb ständig ein elektrischer Strom fließt. Also, the energy consumption in oscillator circuits in random number generators has been found to be disadvantageous in the past, since in operation, an electric current is constantly flowing.
Bei in der dominierenden CMOS-Technologie implementierten digitalen Schaltungen hängt der Stromverbrauch im Wesentlichen von der Anzahl der Umschaltvorgänge pro Zeit ab. Bei entsprechenden digitalen Schwingschaltungen muss dies ständig stattfinden, so dass ein eher ungünstiger Energieverbrauch bei auf Ringoszillatoren basierenden Zufallszahlengeneratoren entsteht. Insbesondere bei mobilen Anwendungen ist es wünschenswert, den Energieverbrauch bzw. die Stromaufnahme der hardwaremäßig implementierten Schaltungen gering zu halten. For digital circuits implemented in dominant CMOS technology, power consumption is essentially dependent on the number of switching operations per time. In the case of corresponding digital oscillating circuits, this must take place continuously, so that a rather unfavorable energy consumption arises in the case of ring oscillator-based random number generators. Particularly in mobile applications, it is desirable to minimize the power consumption or the current consumption of the circuits implemented in hardware.
In der
Aus dem Stand der Technik sind zudem das Dokument
Es ist insbesondere gewünscht, statistisch guten physikalischen Zufall zu generieren. Wünschenswert ist es auch, über den Betrieb eines Zufallsbitgenerators Zufallsbits, mit möglichst gleich hoher Entropie bei hoher Erzeugungsrate zu erzeugen. In particular, it is desired to generate statistically good physical coincidence. It is also desirable to generate random bits via the operation of a random bit generator, with as high a entropy as possible at a high generation rate.
Daher besteht eine Aufgabe der vorliegenden Erfindung darin, eine verbessertes Verfahren und/oder eine Vorrichtung zum Erzeugen von Zufallsbits bereitzustellen. Therefore, it is an object of the present invention to provide an improved method and / or apparatus for generating random bits.
Demgemäß wird ein Verfahren zum Erzeugen von Zufallsbits vorgeschlagen, das die folgenden Schritte umfasst:
Bereitstellen einer Mehrzahl von seriell miteinander verketteten Abbildungseinrichtungen, wobei jede der Mehrzahl von Abbildungseinrichtungen eingerichtet ist, eine vorgegebene Anzahl n Eingangssignale mit Hilfe einer kombinatorischen Abbildung in eine vorgegebene Anzahl p Ausgangssignale abzubilden;
Einkoppeln von logischen Pegelwechseln an eine erste Abbildungseinrichtung der Mehrzahl der miteinander verketteten Abbildungseinrichtungen als Eingangsstartsignale, wobei die jeweiligen logischen Pegelwechsel durch ein Umschalten von einem aktuellen Eingangsbitmuster zu einem nächsten Eingangsbitmuster erzeugt werden;
nach dem Einkoppeln, Erfassen eines oder mehrerer Ausgangssignale an Ausgängen einer oder mehrerer Abbildungseinrichtungen, welche von der ersten Abbildungseinrichtung unterschiedlich sind;
Ermitteln eines oder mehrerer Bitwerte in Abhängigkeit von dem oder den erfassten Ausgangssignalen als Zufallsbit oder Zufallsbitmuster. Accordingly, a method for generating random bits is proposed, which comprises the following steps:
Providing a plurality of serially concatenated imaging devices, each of the plurality of imaging devices configured to map a predetermined number n of input signals to a predetermined number p of output signals using combinatorial mapping;
Coupling logic level shifts to a first mapping means of the plurality of concatenated mapping means as input start signals, the respective logic level shifts being generated by switching from a current input bit pattern to a next input bit pattern;
after coupling, detecting one or more output signals at outputs of one or more imaging devices different from the first imaging device;
Determining one or more bit values as a function of the detected output signals or random bit pattern.
Dabei wird eine zyklischen Abfolge von Eingangsbitmustern zum Erzeugen der logischen Pegelwechsel derart eingekoppelt wird, dass eine mittlere Entropie der ermittelten Zufallsbits von einem Eingangsbitmuster zum nächsten größer oder gleich einem vorgegebenen Schwellwert ist. In this case, a cyclical sequence of input bit patterns for generating the logic level changes is coupled in such a way that an average entropy of the determined random bits from one input bit pattern to the next is greater than or equal to a predetermined threshold value.
Das Einkoppeln von logischen Pegelwechseln, das Erfassen des oder der Ausgangssignale und das Ermitteln des oder der Bitwerte wird vorzugsweise mindestens dreimal nacheinander, also als Abfolge oder Zyklus der Länge drei durchgeführt, und die jeweiligen logischen Pegelwechsel werden durch ein Umschalten von einem aktuellen Eingangsbitmuster zu einem nächsten Eingangsbitmuster in der Abfolge erzeugt. The coupling of logic level changes, the detection of the output signal (s) and the determination of the bit value or values is preferably carried out at least three times in succession, ie as a sequence or cycle of length three, and the respective logical level changes become a change from a current input bit pattern generates next input bit patterns in the sequence.
Optional erfolgt der Schritt: Vergleichen einer Entropie für eine Vielzahl von ermittelte Zufallsbits von einem Eingangsbitmuster zum nächsten, und Ändern der Abfolge bis der vorgegebene Schwellwert erreicht ist. Optionally, the step of comparing an entropy for a plurality of detected random bits from one input bit pattern to the next, and changing the sequence until the predetermined threshold is reached.
Es wird ferner eine Vorrichtung vorgeschlagen, die sich zur Durchführung des Verfahrens eignet und umfasst:
eine Mehrzahl von Abbildungseinrichtungen, wobei jede der Mehrzahl von Abbildungseinrichtungen eingerichtet ist, eine vorgegebene Anzahl n Eingangssignale mit Hilfe einer kombinatorischer Abbildung in eine vorgegebene Anzahl p Ausgangssignale abzubilden, wobei die Abbildungseinrichtungen der Mehrzahl von Abbildungseinrichtungen miteinander verkettet sind;
eine Starteinrichtung, welche eingerichtet ist, einer ersten Abbildungseinrichtung der Mehrzahl der miteinander verketteten Abbildungseinrichtungen logische Pegelwechsel als Eingangsstartsignale einzukoppeln;
eine Erfassungsvorrichtung, welche eingerichtet ist, eines oder mehrere Ausgangssignale an Ausgängen einer oder mehrerer Abbildungseinrichtungen, welche von der ersten Abbildungseinrichtung unterschiedlich sind, zu erfassen und als ein jeweiliges Zufallsbit oder Zufallsbitmuster auszugeben; und
eine Steuereinrichtung, welche die Starteinrichtung und die Erfassungsvorrichtung derart steuert, dass ein Verfahren wie es zuvor oder im Folgenden beschrieben ist, durchgeführt wird. A device is also proposed that is suitable for carrying out the method and comprises:
a plurality of mapping means, each of the plurality of mapping means being arranged to map a predetermined number n of input signals into a predetermined number p of output signals by means of combinational mapping, the mapping means of the plurality of mapping means being concatenated together;
a starting device configured to couple logic level shifts as input start signals to a first mapping device of the plurality of interconnected mapping devices;
a detection device configured to detect one or more output signals at outputs of one or more imaging devices different from the first imaging device and output as a respective random bit or random bit pattern; and
a control device that controls the starting device and the detection device such that a method as described above or below is performed.
Die Vorrichtung kann dabei ferner eine Speichereinrichtung aufweisen, welche eine zyklische Abfolge von Eingangsbitmustern zum Erzeugen der zyklischen logischen Pegelwechsel abgespeichert bereitstellt. Auch ein Hin- und Herschalten zwischen zwei Zuständen kann als zyklische Abfolge aufgefasst werden. Bevorzugt wird die Abfolge hinsichtlich der Länge unter dem zugehörigen Eingangsbitmuster so gewählt, dass eine möglichst hohe mittlere Entropie für die pro Eingangsbitmusterwechsel erzeugten Zufallsbits entsteht. The device may further comprise a memory device which stores a cyclic sequence of input bit patterns stored for generating the cyclic logical level changes. Switching back and forth between two states can also be considered as a cyclical sequence. Preferably, the sequence with regard to the length under the associated input bit pattern is selected such that the highest possible mean entropy results for the random bits generated per input bit pattern change.
In Ausführungsformen werden die logischen Pegelwechsel also jeweils durch ein Umschalten von einem Eingangsbitmuster zu einem anderen darauffolgenden Eingangsbitmuster erzeugt. Thus, in embodiments, the logic level shifts are each generated by switching from one input bit pattern to another subsequent input bit pattern.
Durch die aufeinander folgenden Pegelwechsel, die durch das Durchlaufen einer Abfolge oder eines Zyklusses von Eingangsbitmustern erzeugt werden, kann eine günstige Entropieausbeute für die erzeugten Zufallbits pro Zufallslauf aus dem Einkoppeln, Erfassen und Ermitteln erzielt werden. By the successive level shifts generated by passing through a sequence or cycle of input bit patterns, a favorable entropy yield for the generated random bits per random run can be obtained from the coupling, detection and detection.
In Ausführungsformen des Verfahrens bzw. einer entsprechend eingerichteten Steuervorrichtung wird eine zyklischen Abfolge von Eingangsbitmustern zum Erzeugen der zyklischen logischen Pegelwechsel derart eingekoppelt, dass eine mittlere Entropie der ermittelten Zufallsbits von einem Eingangsbitmuster zum nächsten über die Abfolge größer oder gleich einem vorgegebener Schwellwert ist. Zum Beispiel kann der Schwellwert dem Mittelwert aller Entropien aller möglichen Eingangsbitmusterwechsel entsprechen. Vorzugsweise ist der Schwellwert so gewählt, dass die mittlere Entropie der ermittelten Zufallsbits von einem Eingangsbitmuster zum nächsten für die jeweilige Abfolge und die jeweilige Vorrichtung mit der verketteten Abbildungseinrichtung maximal ist. In embodiments of the method or a correspondingly configured control device, a cyclic sequence of input bit patterns for generating the cyclic logic level changes is coupled in such a way that an average entropy of the determined random bits from one input bit pattern to the next via the sequence is greater than or equal to a predetermined threshold value. For example, the threshold may correspond to the average of all entropies of all possible input bit pattern changes. Preferably, the threshold value is chosen such that the mean entropy of the determined random bits from one input bit pattern to the next is maximal for the respective sequence and the respective device with the linked mapping device.
Man kann also zunächst mehrere mögliche Abfolgen betrachten und die Entropie für jeden der darin vorkommenden Übergänge von einem zum nächsten Eingangsbitmuster ermitteln. Daraus ergibt sich die jeweilige mittlere Entropie für eine Abfolge bzw. einen Zyklus. Die Abfolge mit der maximalen mittleren Entropie aus den betrachteten Abfolgen wird dann in dem Verfahren zum Erzeugen von Zufallsbits verwendet. Thus, one can first consider several possible sequences and determine the entropy for each of the transitions occurring therein from one to the next input bit pattern. This results in the respective mean entropy for a sequence or a cycle. The maximum mean entropy sequence from the considered sequences is then used in the random bit generation process.
Durch die günstige Wahl der Abfolge von Eingangsbitmusterwechseln, nacheinander vorgenommenen Umschaltvorgängen zwischen möglichen Eingangsbitmustern bzw. der nacheinander eingekoppelten Pegelwechsel kann demnach eine optimierte Entropieausbeute erreicht werden. Accordingly, an optimized entropy yield can be achieved by the favorable choice of the sequence of input bit pattern changes, sequential switching between possible input bit patterns or the successively coupled level change.
Insofern wird der Energieaufwand pro erzeugtem Bit Entropie gegenüber bekannten Vorgehensweisen potenziell ebenfalls reduziert. As such, the energy cost per bit of entropy generated is potentially also reduced compared to known approaches.
Die Entropie kann insbesondere durch vielfache Bestimmung eines Zufallsbits mit Hilfe der verketteten Abbildungseinrichtung empirisch ermittelt werden. Beispielsweise wird die Verteilung von Null- und Eins-Bitwerten für nacheinander bei denselben eingekoppelten Pegelwechseln ermittelt und daraus die informationstheoretische Entropie berechnet. The entropy can be determined empirically in particular by multiples determination of a random bit with the aid of the linked mapping device. For example, the distribution of zero and one-bit values is determined for successively coupled level changes and the information-theoretical entropy is calculated therefrom.
In Ausführungsformen werden zum Bestimmen der Abfolge die Schritte durchgeführt:
Bestimmen einer Auswahl von allen möglichen Eingangsbitmustern für die ersten Abbildungseinrichtung; und
Ermitteln der Entropie der ermittelten Zufallsbits für mögliche Bitmusterumschaltungen von einem der möglichen Eingangsbitmustern der Auswahl zu einen anderen möglichen Eingangsbitmuster der Auswahl. In embodiments, the steps are performed to determine the sequence:
Determining a selection of all possible input bit patterns for the first mapping device; and
Determining the entropy of the determined random bits for possible bit pattern switching from one of the possible input bit patterns of the selection to another possible input bit pattern of the selection.
Es können auch alle möglichen Eingangsbitmuster, beispielsweise acht, bei drei Eingangssignalen, bestimmt werden und anschließend alle daraus möglichen Bitmusterumschaltungen hinsichtlich ihrer Entropie untersucht werden. Bei acht möglichen Bitmustern wären dies 56 Umschaltmöglichkeiten mit mindestens einem Pegelwechsel. It is also possible to determine all possible input bit patterns, for example eight, with three input signals, and then examine all possible bit pattern switches with regard to their entropy. For eight possible bit patterns, this would be 56 switching options with at least one level change.
Außerdem kann der Schritt erfolgen: Auswählen der zyklischen Abfolge von Bitmusterumschaltungen aus den möglichen Bitmusterumschaltungen derart, dass ein Mittelwert der Entropien der ermittelten Zufallsbits für die zyklischen Abfolge größer oder gleich einem vorgegebener Schwellwert ist. Vorzugsweise wird der Schwellwert so gelegt, dass das mögliche Maximum der mittleren Entropie der Zufallsbits für alle oder für die gemäß der Auswahl von Eingangsbitmustern ermittelten Bitmusterumschaltungen vorliegt. In addition, the step may be: selecting the cyclic sequence of bit pattern switches from the possible bit pattern switches such that an average of the entropies of the determined random bits for the cyclic sequence is greater than or equal to a predetermined threshold. Preferably, the threshold is set such that the maximum possible mean entropy of the random bits is present for all or for the bit pattern switches determined according to the selection of input bit patterns.
Ein Erfassen erfolgt beispielsweise durch Abtasten, beispielsweise getaktet oder zu vorgegebenen anderen Zeitpunkten nach dem Einkoppeln des oder der Pegelwechsel und dient der Ableitung eines Bitwertes H oder L, der aufgrund des jeweiligen eingekoppelten Pegelwechsels und des stark schwankenden zufälligen Signals eine günstige Entropie bzw. Zufälligkeit pro Zufallslauf aufweist. A detection takes place, for example, by sampling, for example clocked or at predetermined other times after coupling the level change and serves to derive a bit value H or L, which due to the respective coupled level change and the highly fluctuating random signal favorable entropy or randomness per Random run.
Es ist somit möglich, wiederholt Zufallsläufe als Zyklus zu vollziehen, indem an eine erste Eingangsabbildungseinrichtung festgelegte Eingangssignalpegel gelegt werden, diese einen gesteuerten Zustandswechsel vollziehen und nach Durchlauf dieses Signals bzw. der sich ergebenden Signalflanke/n durch alle Abbildungseinrichtungen an einer End- oder Ausgangsabbildungseinrichtung die anliegenden Ausgangssignale oder eines der Ausgangssignale erfasst wird. Innerhalb des jitter- und zufallsbehafteten Signalverlaufs kann gesampelt werden oder ein Zwischenspeicherelement erfasst die zeitlich nicht vorhersagbaren Zustandswechsel. Möglich ist auch, eine Zählereinrichtung an die Ausgänge, beispielsweise der letzten Ausgangsabbildungseinrichtung, anzulegen, welche Signalflanken zählt. Der oder die sich ergebenden Bitwerte können als Zufallsbit verstanden werden. Die Zufallsläufe folgen dabei einem Zyklus, der durch die Abfolge von Eingangsbitmustern bzw. Umschaltvorgängen festgelegt ist. Ein jeweiliger Zyklus wird immer wiederholt, sodass eine Zufallsbiterzeugung mit hoher Datenrate und guter Entropie pro Bit möglich ist. Thus, it is possible to cycle repetitively as a cycle by setting input signal levels set to a first input imager, making a controlled state transition, and passing the signal or resultant signal edge (s) through all the imagers to an end or output imager adjacent output signals or one of the output signals is detected. Within the jitter and random waveform, sampling may occur or a latch element detects the unpredictable state transitions. It is also possible to apply a counter device to the outputs, for example the last output mapping device, which counts signal edges. The resulting bit value (s) may be understood as a random bit. The random runs follow a cycle that is determined by the sequence of input bit patterns or switching operations. A respective cycle is always repeated so that random bit generation with high data rate and good entropy per bit is possible.
Durch die vorgegebenen Pegelwechsel, beispielsweise von einem logischen Low-Pegel (0) auf einen logischen High-Pegel (1) oder umgekehrt, wird aufgrund der logischen Abbildungseinrichtungen ein Durchlaufen des oder der Signalwechsel durch die Kette von Abbildungseinrichtungen in Gang gesetzt. Durch die statistischen Schwankungen der Gatterdurchlaufzeiten entsteht dabei Jitter. Durch ein Abtasten wird jeweils ein zufälliger Pegel abgegriffen, der von der Erfassungsvorrichtung einem jeweiligen Zufallsbitwert zugeordnet ist. Due to the predetermined level changes, for example, from a logic low level (0) to a logic high level (1) or vice versa, a passage of the signal or the signal exchange is set in motion by the chain of imaging devices due to the logical mapping means. Due to the statistical fluctuations of the gate transit times jitter arises. By sampling in each case a random level is tapped, which is assigned by the detection device a respective random bit value.
In Ausführungsformen ist die Erfassungseinrichtung eingerichtet, die Ausgangssignale einer letzten Abbildungseinrichtung der Mehrzahl der miteinander verketteten Abbildungseinrichtungen als Zufallsbits zu erfassen. Beispielsweise, ist eine lineare Kette von kombinatorischen Abbildungseinrichten vorgesehen, wobei der Kette eingangsseitig Pegelwechsel zum Erzeugen von Signalflanken eingekoppelt werden, und ausgangsseitig echte Zufallssignale abgetastet werden. In embodiments, the detection device is set up to detect the output signals of a last imaging device of the plurality of interconnected imaging devices as random bits. For example, a linear chain of combinatorial mapping devices is provided, wherein the input side of the chain level changes for generating signal edges are coupled, and the output side true random signals are sampled.
Die Erfassungseinrichtung kann eingerichtet sein, ein Ausgangssignal in Abhängigkeit von einem anderen Ausgangssignal abzutasten. The detection means may be arranged to sample an output signal in response to another output signal.
Die Erfassungsvorrichtung weist beispielsweise ein Zwischenspeicherelement, insbesondere ein T-Flip-Flop, auf. Mithilfe von Flip-Flops, insbesondere T-Flip-Flops können aufwandsgünstig eine Erfassung der Ausgangssignale und eine Abbildung auf logische Zufallspegel erfolgen. Denkbar sind auch einer oder mehrere Zähler zum Erfassen von Signalflanken oder Zustandswechseln einzelner Signale. Ein T-Flip-Flop ist insbesondere geeignet, steigende oder fallende Signalflanken modulo 2 zu zählen. The detection device has, for example, a buffer element, in particular a T flip-flop. With the aid of flip-flops, in particular T-flip-flops, it is possible to obtain a low-cost acquisition of the output signals and a mapping to logical random levels. Also conceivable are one or more counters for detecting signal edges or state changes of individual signals. A T-flip-flop is particularly suitable for counting rising or falling signal edges modulo 2.
In Ausführungsformen ist die Erfassungsvorrichtung ferner eingerichtet, eine zeitliche Reihenfolge von Zustandswechseln von Ausgangssignalen bei jedem wohldefinierten logischen Pegelwechsel der Eingangsstartsignale zu erfassen. In embodiments, the detection device is further configured to detect a temporal order of state changes of output signals at each well-defined logic level change of the input start signals.
Vorzugsweise sind die Abbildungseinrichtungen derart miteinander verkettet, dass keine Rückkopplung entsteht. Dadurch ergibt sich, dass die Vorrichtung nicht kontinuierlich Umschaltvorgänge in einer Implementierung als Digitalschaltung vollziehen muss, was den Stromverbrauch begrenzt. Preferably, the imaging devices are linked together in such a way that no feedback occurs. As a result, the device does not have to continuously perform switching operations in a digital circuit implementation, which limits power consumption.
Man kann sagen, die Vorrichtung entwickelt keine „Schwingungen“ oder Signalwechsel propagieren nicht im Kreis. Beispielsweise sind die Ausgangssignale alle vorwärtsgekoppelt. Vorzugsweise hängt keines der Ausgangssignale kausal von sich selbst ab, indem es rückgekoppelt wird. It can be said that the device does not develop "vibrations" or signal changes do not propagate in a circle. For example, the output signals are all fed forward. Preferably, none of the output signals is causally independent of itself by being fed back.
In Ausführungsformen sind die Abbildungseinrichtungen derart miteinander verkettet, dass keine Rückkopplungsschleife derart ausgebildet ist, dass eine Zustandsänderung mindestens eines Ausgangssignals einer Abbildungseinrichtung als eine Zustandsänderung mindestens eines Eingangssignals einer anderen Abbildungseinrichtung zugeführt ist. Prinzipiell können Rückkopplungspfade vorgesehen sein, die jedoch vorzugsweise nicht zu Schwingungen führen. Grundsätzlich ist es möglich, dass der Ausgang einer Abbildungseinrichtung bzw. ein Ausgangssignal als Eingangssignal für eine im Signalpfad stromaufwärts vorliegende Abbildungseinrichtung genutzt wird. In embodiments, the imaging devices are concatenated with each other such that no feedback loop is formed such that a state change of at least one output signal of an imaging device is supplied as a change in state of at least one input signal to another imaging device. In principle, feedback paths can be provided, which however preferably do not lead to oscillations. In principle, it is possible for the output of an imaging device or an output signal to be used as an input signal for an imaging device present upstream in the signal path.
Die Anzahl der n Eingangssignale einer jeweiligen Abbildungseinrichtung kann der Anzahl p der Ausgangssignale entsprechen. Es ist aber auch denkbar, dass n ungleich p ist, also dass mit Hilfe einer jeweiligen Abbildungseinrichtung die Zustände der Eingangssignale auf Zustände von Ausgangssignalen abgebildet werden, wobei die Anzahl der Ausgangssignale kleiner oder größer als die Anzahl der Eingangssignale für eine jeweilige Abbildungseinrichtung ist. The number of n input signals of a respective imaging device may correspond to the number p of the output signals. However, it is also conceivable that n is not equal to p, ie that with the aid of a respective imaging device, the states of the input signals are mapped to states of output signals, wherein the number of output signals is smaller or larger than the number of input signals for a respective imaging device.
Die Abbildungseinrichtungen können logische oder kombinatorische Gatter sein, die insbesondere eine bijektive Abbildung von n Eingangssignalen auf n Ausgangssignale realisieren. Die Eingangssignale schwanken zwischen Pegeln, die logischen Zuständen, wie Bits 1 bzw. High oder 0 bzw. Low zugeordnet werden können. Unter einer bijektiven Abbildung versteht man eine eineindeutige Abbildung zwischen den 2n möglichen logischen Werten der Eingangssignale und den 2n logischen Werten der Ausgangssignale. The imaging devices can be logic or combinatorial gates which in particular realize a bijective mapping of n input signals to n output signals. The input signals fluctuate between levels that can be assigned to logic states such as
In Ausführungsformen der Vorrichtung ist mindestens eine kombinatorische Abbildung derart eingerichtet, dass die Eingangssignale unter Beaufschlagung eines Jitters und einer logischen Funktion auf die Ausgangssignale abgebildet werden. Durch die hardwaremäßige Implementierung der kombinatorischen Abbildung durch die Abbildungseinrichtungen können sich Jitter, also Schwankungen, in dem zeitlichen Verlauf von Signalflanken ergeben. Dieser Jitter wird dann durch Vollziehen der logischen Funktion, also der Abbildung der Kombination von n Eingangssignalen oder Bitwerten auf p Ausgangssignale oder Bitwerte, jeweils weitergeführt und akkumuliert sich über die Durchläufe durch die Abbildungseinrichtungen. In embodiments of the device, at least one combinatorial mapping is arranged such that the input signals are mapped to the output signals while applying a jitter and a logical function. Due to the hardware implementation of the combinatorial mapping by the imaging devices, jitter, ie fluctuations, can result in the time course of signal edges. This jitter is then continued by executing the logical function, ie the mapping of the combination of n input signals or bit values to p output signals or bit values, and accumulates over the passes through the imaging devices.
Insofern ergibt sich in Ausführungsformen der Vorrichtung eine begrenzte Kette von Abbildungseinrichtungen. Die Abbildungseinrichtungen können auch als Knoten oder Gatter bezeichnet sein. Wenigstens eine der kombinatorischen Abbildungen ist insbesondere derart eingerichtet, dass im Mittel bei einer Zustandsänderung eines Eingangssignals an mehr als einem Ausgangssignal ein Zustandswechsel erfolgt. Das führt dazu, dass ein jeweiliger Jitter des Eingangssignals auf mehrere Ausgangssignale abgebildet wird und daher verstärkt wird. Ein einmal aufgetretener Jitter in einem Signal wird mit Hilfe der Abbildungseinrichtungen bzw. der darin implementierten kombinatorischen Abbildungen auf mehrere Ausgangsspuren kopiert, so dass sich Jitter-Komponenten kaum kompensieren können. In this respect, in embodiments of the device results in a limited chain of imaging devices. The imaging devices may also be referred to as nodes or gates. At least one of the combinatorial mappings is set up in particular in such a way that, on average, a state change ensues at a change of state of an input signal at more than one output signal. As a result, a respective jitter of the input signal is mapped to a plurality of output signals and therefore amplified. Once a jitter has occurred in a signal, it is copied to a plurality of output tracks with the aid of the imaging devices or the combinatorial mappings implemented therein, so that jitter components can hardly be compensated.
In Ausführungsformen ist mindestens eine ausgewählte Abbildungseinrichtung vorgesehen, deren Ausgangssignale von allen Eingangssignalen der übrigen Abbildungseinrichtungen entkoppelt sind. Beispielsweise kann dies die letzte Abbildungseinrichtung einer Kette von m Abbildungseinrichtungen sein, die linear miteinander verkoppelt sind. Es ergibt sich insbesondere ein endlicher Signalverlauf. Das kann bedeuten, dass ausschließlich in einem vorgegebenen Zeitintervall ein Signal- oder ein Zustandswechsel eines Signals sich durch die verketteten Abbildungseinrichtungen fortsetzt. Denn von einer ersten Eingangsabbildungsvorrichtung aus propagiert entlang der verketteten Abbildungseinrichtungen ein sich sukzessive mit Jittern und Zufallsbeiträgen ausbreitendes Zufallssignal bzw. mehrere gemäß der jeweiligen Bitbreite der Abbildungseinrichtungen. Unter einer Entkopplung kann man verstehen, dass die Ausgangssignale nicht an Eingänge anderer Abbildungseinrichtungen geführt sind. In embodiments, at least one selected imaging device is provided, the output signals of which are decoupled from all input signals of the remaining imaging devices. For example, this may be the last imaging device of a chain of m imaging devices that are linearly coupled together. This results in particular a finite signal waveform. This may mean that only in a given time interval, a signal or a state change of a signal itself continues through the linked imaging devices. For from a first input imaging device propagates along the concatenated imaging devices a successively with jitter and random contributions propagating random signal or more according to the respective bit width of the imaging devices. Under a decoupling one can understand that the output signals are not routed to inputs of other imaging devices.
Es können in einem derartigen Signalpfad von einer ersten bis zu einer letzten Abbildungseinrichtung, die als Ausgangsabbildung bezeichnet werden kann, weitere Schaltungen, wie Logikgatter oder Verzögerungselemente, vorgesehen sein. In such a signal path, further circuits, such as logic gates or delay elements, may be provided from a first to a last mapping device, which may be referred to as output mapping.
Vorzugsweise sind zumindest einige der Abbildungen keine kombinatorischen Abbildungen, welche ausschließlich eine Permutation der Eingangssignale auf die Ausgangssignale liefern. Eine Permutation der Eingangssignale liegt insbesondere dann vor, wenn die Ausgangssignale den Eingangssignalen entsprechen oder lediglich durch eine Änderung der Reihenfolge aus den Eingangssignalen entstehen. Bei einer Permutation ergibt sich keine "Vervielfältigung" des Jitters. Preferably, at least some of the mappings are not combinatorial mappings which exclusively provide a permutation of the input signals to the output signals. A permutation of the input signals is present in particular when the output signals correspond to the input signals or arise only by a change in the order of the input signals. In a permutation there is no "duplication" of the jitter.
In Ausführungsformen der Vorrichtung zum Erzeugen von Zufallsbits sind die Abbildungseinrichtungen derart eingerichtet, dass deren Signaldurchlaufzeiten gleich sind. Durch möglichst gleiche Signallaufzeiten wird das Risiko vermindert, dass sich Jitter-Beiträge gegenseitig kompensieren können. Außerdem wird eine Implementierung in der Art von ASICs oder FPGAs erleichtert. Beispielsweise sind die Abbildungseinrichtungen so eingerichtet, dass alle möglichen Zustandswechsel an den jeweiligen Ausgängen alle innerhalb eines Toleranzintervalls von 100 ps und bevorzugt innerhalb von 50 ps erfolgen. In embodiments of the device for generating random bits, the imaging devices are arranged such that their signal transit times are the same. The same signal propagation times reduce the risk that jitter contributions can compensate each other. It also facilitates implementation in the manner of ASICs or FPGAs. For example, the mapping means are arranged so that all possible state changes at the respective outputs are all within a tolerance interval of 100 ps and preferably within 50 ps.
In Ausführungsformen der Vorrichtung umfasst mindestens eine Abbildungseinrichtung eine Lookup-Table bzw. eine Nachschlagetabelle zur Implementierung der kombinatorischen Abbildung. Es ist auch möglich, dass alle Abbildungseinrichtungen mit einer oder mehreren jeweiligen Lookup-Tables versehen sind. Lookup-Tables können einfach ausgelesen werden und erfordern nur einen geringen Hardwareaufwand. Häufig sind in programmierbaren Logikchips, wie FPGAs, entsprechende Felder oder bereits Tabellen vorgesehen. In embodiments of the device, at least one mapping device comprises a lookup table for implementing the combinatorial mapping. It is also possible that all imaging devices are provided with one or more respective lookup tables. Lookup tables can be easily read and require only a small amount of hardware. Frequently in programmable logic chips, such as FPGAs, corresponding fields or already tables are provided.
In Ausführungsformen der Vorrichtung können die Lookup-Tables mit zufälligen Bitwerten unter Verwendung von Zufallselementen gefüllt werden. Es ist beispielsweise möglich, die Lookup-Tables, die in Abhängigkeit von einem Eingangsbitmuster an Eingängen der Abbildungseinrichtungen ein entsprechendes Ausgangsbitmuster an Ausgängen liefern, so zu erzeugen, dass die durch die Lookup-Table repräsentierte Abbildung zufällig aus allen (2n)! Bijektionen von n logischen Signalen auf n logische Signale ausgewählt wird. Vorzugsweise sind in den Abbildungseinrichtungen jeweils unterschiedliche kombinatorische Abbildungen implementiert. In embodiments of the device, the lookup tables may be filled with random bit values using random elements. For example, it is possible to generate the lookup tables that provide a corresponding output bit pattern at outputs in response to an input bit pattern at inputs of the mapping devices such that the representation represented by the lookup table happens to be from all (2 n )! Bijections of n logical signals to n logical signals is selected. Preferably, different combinatorial mappings are implemented in the imaging devices.
Vorzugsweise ist die vorgegebene Anzahl n beziehungsweise p von Eingangs- beziehungsweise Ausgangssignalen mindestens drei. In Ausführungsformen ist die Bitbreite oder die Anzahl n beziehungsweise p von vorgegebenen Eingangs- beziehungsweise Ausgangssignalen an den Abbildungseinrichtungen drei oder mehr. Preferably, the predetermined number n or p of input or output signals is at least three. In embodiments, the bit width or the number n or p of predetermined input and output signals at the imaging devices is three or more.
Vorzugsweise ist die Anzahl der Abbildungseinrichtungen in der Kette mindestens 25. In Ausführungsformen sind jedoch auch zwischen 20 und 1000 verkettete Abbildungseinrichtungen vorgesehen. Preferably, the number of imaging devices in the chain is at least 25. In embodiments, however, between 20 and 1000 concatenated imaging devices are provided.
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.
Es werden bei dem Verfahren und der Vorrichtung insbesondere echte Zufallsbits erzeugt, die unabhängig von den Eingangsstartsignalpegeln sind. Die Signalformen haben nach dem Durchlauf der Abbildungskette in der Regel keine erkennbaren Signalflanken oder wohldefinierte Pegelwechsel. Man kann von quasi-analogen Signalverläufen sprechen, da erst durch das Abtasten mit Hilfe der Erfassungsvorrichtung logische Pegel oder Bitwerte abgeleitet werden. Es werden keine Pseudozufallsbits betrachtet. In particular, true random bits are generated in the method and apparatus which are independent of the input start signal levels. The signal forms usually have no recognizable signal edges or well-defined level changes after passing through the imaging chain. One can speak of quasi-analog waveforms, since only by the sampling by means of the detection device logic levels or bit values are derived. No pseudorandom bits are considered.
Das Verfahren kann insbesondere über geeignete Beschreibungssprachen, beispielsweise VHDL oder Verilog, auf oder in einer FPGA- oder ASIC-Vorrichtung implementiert werden. Bei der FPGA-Vorrichtung bzw. dem Verfahren sind die Abbildungseinrichtungen vorzugsweise derart eingerichtet, dass Zustandsänderungen an einem Eingangssignal der n Eingangssignale in Abhängigkeit von der kombinatorischen Abbildung zu einem gleichen Zeitpunkt einen Zustandswechsel in einem oder mehreren der p Ausgangssignale möglichst zeitgleich hervorrufen. The method can in particular be implemented on or in an FPGA or ASIC device via suitable description languages, for example VHDL or Verilog. In the case of the FPGA device or the method, the imaging devices are preferably set up in such a way that state changes on an input signal of the n input signals as a function of the combinatorial mapping cause a state change in one or more of the p output signals at the same time.
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 für die vorgeschlagene Vorrichtung beschriebenen Ausführungsformen und Merkmale gelten für das vorgeschlagene Verfahren entsprechend. The embodiments and features described for the proposed device apply accordingly to the proposed method.
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.
In der Beschreibung wird unter einem „wohldefinierten Pegelwechsel“ verstanden, dass eine im Wesentlichen steigende oder fallende Signalflanke erzeugt wird. Die jeweilige Signalflanke kann aber muss nicht reproduzierbar erzeugt werden. In the description, a "well-defined level change" means that a substantially rising or falling signal edge is generated. However, the respective signal edge can not be generated reproducibly.
Dass die beschriebenen Abbildungen „im Mittel“ eine Zustandsänderung eines Eingangssignals – oder eine Signalflanke – einer jeweiligen Abbildungseinrichtung auf mehr als ein Ausgangssignal der jeweiligen Abbildungseinrichtung abbilden, bedeutet, dass über alle möglichen Kombinationen von Eingangszustandsänderungen gemittelt mehr als eine Ausgangsbitmusteränderungen von einer Abbildung hervorgerufen werden. The fact that the described maps "on average" reflect a state change of an input signal - or a signal edge - of a respective imaging device to more than one output signal of the respective imaging device means that over all possible combinations of input state changes averaged more than one output bit pattern changes are caused by a mapping.
Zum Beispiel sind alle oder eine Auswahl der kombinatorischen Abbildungen derart ausgestaltet, dass wenigstens eine Eingangsbitmusteränderung, bei der beispielsweise q Bits den Zustand ändern, zu einer Ausgangsbitänderung, bei der q + 1 Bits ihren Zustand ändern, führt. For example, all or a selection of the combinational maps are configured such that at least one input bit pattern change, for example, where q bits change state, results in an output bit change in which q + 1 bits change state.
Die Entropie wird als informationstheoretische Entropie angesehen, die einem jeweiligen erzeugten Zufallsbitmuster beigemessen werden kann. The entropy is regarded as information-theoretical entropy, which can be attributed to a respective generated random bit pattern.
Die
In einem vorbereitenden Verfahrensschritt S0 werden Abbildungseinrichtungen
Zum Betrieb der Vorrichtung gemäß dem beschrieben Verfahren ist eine Steuereinrichtung
Die Starteinrichtung
Das Einkoppeln einer oder mehrerer Signalflanken an die Eingänge der ersten Abbildungseinrichtung
Es werden nun mehrere Zufallsläufe SL nacheinander durchgeführt, wobei eine zyklische Abfolge von Bitmustern an den Eingängen der ersten Abbildungseinrichtung
Beim Wechsel von einem Eingangsbitmuster zu einem anderen entstehen Signalflanken. Insofern kann der Schritt S1 die Unterschritte umfassen, dass ein Eingangsbitmuster der Bitbreite n erzeugt wird (Schritt S11) und anschließend von der Starteinrichtung
Die
Das jeweils derart mit Hilfe eines Umschaltvorgangs USQ bzw. Eingangsbitmusterwechsels erzeugte Zufallsbit ZB oder Zufallsbitmuster kann einer optionalen Auswerteeinrichtung
Jede Abbildungseinrichtung
Beim Betrieb der Vorrichtung zum Erzeugen von Zufallsbits
Obgleich dies der Einfachheit halber in der
Die jeweilige Signaldurchlaufzeit in einer Abbildungseinrichtung bzw. einem logischen oder kombinatorischen Gatter
Die schematisch angedeutete Vorrichtung zum Erzeugen von Zufallsbits
Aufgrund der linearen Topologie und endlichen Anzahl von kombinatorischen Abbildungen bzw. Abbildungseinrichtungen
Vorzugsweise sind mindestens 20 Abbildungseinrichtungen verkettet miteinander vorgesehen. In Ausführungsformen sind jedoch auch 50 oder 100 Abbildungen denkbar. Bevorzugt ist die Anzahl der miteinander verketteten Abbildungen bzw. Abbildungseinrichtungen zwischen 50 und 100. In besonderen Ausführungsformen ist die Anzahl zwischen 100 und 1.000 Abbildungseinrichtungen. Preferably, at least 20 imaging devices are interlinked with each other. In embodiments, however, 50 or 100 illustrations are conceivable. Preferably, the number of concatenated images or imaging devices is between 50 and 100. In particular embodiments, the number is between 100 and 1000 imaging devices.
Im Folgenden wird eine mögliche Auswahl von zyklisch einzukoppelnden Eingangsbitmustern an einem Beispiel erläutert. Dabei wird vereinfacht von n = 3 Eingangsbits ausgegangen und damit eine Bitbreite von drei der Abbildungseinrichtungen
Die
Es werden nun nacheinander durch die Umschaltvorgänge US1–US4 wohldefinierte Pegelwechsel der jeweiligen Eingangssignale von L auf H bzw. Null auf Eins vollzogen. Man erhält dadurch ein zweites Eingangsbitmuster BM2 = 111. Diese Signalflanken werden durch die kombinatorischen Abbildungen verzerrt, mit Jitter beaufschlagt und somit „verzufälligt“, sodass zum Zeitpunkt T1 die am Ausgang der letzten Abbildungseinrichtung
Anschließend wird das Eingangsbitmuster BM2 durch Umschalten auf das Bitmuster BM3 = 010 und danach auf das Bitmuster BM4 gebracht. Dadurch entstehen erneut Pegelwechsel oder Signalflanken, die zu zufälligen Bitwerten der abgetasteten Ausgangssignale Am1...Am,n führen. Dieser Vorgang wird solange wiederholt bis der Zyklus beendet ist und das Bitmuster BM1 wieder erreicht ist. Die Verteilung der Zufallsbits bei den Läufen mit den verschiedenen Umschaltvorgängen ist dabei unabhängig voneinander, sodass auch verschiedene Entropien erzielt werden. Die Zufallsbits für die Abtastzeitpunkte T1–T4 werden anschließend Nachbehandlungsverfahren unterzogen. Subsequently, the input bit pattern BM2 is brought by switching to the bit pattern BM3 = 010 and then to the bit pattern BM4. As a result, again level changes or signal edges, which lead to random bit values of the sampled output signals A m1 ... A m, n . This process is repeated until the cycle is completed and the bit pattern BM1 is reached again. The distribution of the random bits in the runs with the different switching operations is independent of each other, so that different entropies are achieved. The random bits for the sampling times T1-T4 are then subjected to after-treatment processes.
Die
In einem ersten Schritt S01 werden alle möglichen Eingangsbitmuster ermittelt. Für eine drei Bit breite erste Abbildung K1 (vgl.
In einem zweiten Schritt S02 werden nun alle möglichen Umschaltvorgänge bestimmt. Dies sind bei eine Bitbreite von drei 56 Umschaltvorgänge zwischen den möglichen verschiedenen Eingangsbitmustern. In a second step S02, all possible switching operations are now determined. This is at a bit width of three 56 switches between the possible different input bit patterns.
Für jeden möglichen Umschaltvorgang zum Einkoppeln von Pegelwechseln wird mit Hilfe der Vorrichtung eine erzielbare Entropie pro Bit ermittelt. Dazu werden viele, beispielsweise 1000, Zufallsläufe SL mit jeweils demselben Umschaltvorgang durchgeführt und aus den ermittelten Zufallsbitwerten im Schritt S03 die Entropie statistisch bestimmt. Anschließend wird der nächste mögliche Umschaltvorgang untersucht. In der folgenden Tabelle sind mögliche Entropiewerte beim Einkoppeln von Signalflanken durch Umschalten zwischen drei Bit breiten Eingangssignalen angegeben:
Die Bitmuster BM1–BM8 sind nur schematisch zu verstehen und müssen nicht mit den Beispielen gemäß der
Zum Beispiel wird bei einem möglichen Umschaltvorgang vom Eingangsbitmuster BM1 zum Eingangsbitmuster BM6 eine Entropie von 0,986149 Bit erzielt. Hin- und Herschalten zwischen den Eingangsbitmustern BM1 und BM6 liefert im (arithmetischen) Mittel etwa 0,52 Bit Entropie, denn der Umschaltvorgang von BM6 zu BM1 kann nur 0,056096 Bit liefern. For example, in one possible switching operation from input bit pattern BM1 to input bit pattern BM6, an entropy of 0.986149 bits is achieved. Switching between the input bit patterns BM1 and BM6 provides about 0.52 bit entropy in the (arithmetic) means, because the switch from BM6 to BM1 can only deliver 0.056096 bits.
Es ist nun im Hinblick auf die Entropieausbeute bei mehrfach nacheinander durchgeführten Zufallsläufen günstiger, mindestens drei Bitmuster auszuwählen und zyklisch als Eingangsbitmuster zu durchlaufen. Zum Beispiel liefert der Zyklus bzw. die Abfolge BM1 zu BM6 zu BM5 zu BM1 (zu BM6 usw.) eine mittlere Entropieausbeute pro Zufallsbit von 0,5898 Bit. With respect to the entropy yield in the case of random runs performed several times in succession, it is now better to select at least three bit patterns and to cycle through them as input bit patterns. For example, the cycle BM1 to BM6 to BM5 to BM1 (to BM6, etc.) provides a mean entropy yield per random bit of 0.5898 bits.
Nachdem alle Entropiewerte, wie in der Tabelle oben, ermittelt wurden, wählt man nun im Schritt S04 diejenige Abfolge von möglichen Eingangsbitmustern aus, die die höchste mittlere Entropieausbeute liefert. Die Untersuchungen der Anmelderin an der vorliegenden Entropietabelle haben ergeben, dass bei diesem Beispiel die Abfolge BM1, BM6, BM5 am günstigsten ist. Der beste Zyklus der Länge vier liefert nur 0,55 Bit mittlere Entropie, der beste Zyklus der Länge fünf 0,53 Bit der Länge sechs 0,45 Bit, der Länge sieben 0,44 und der Länge acht nur 0,4 Bit mittlere Entropie. After all entropy values have been determined, as in the table above, the sequence of possible input bit patterns that yields the highest mean entropy yield is then selected in step S04. Applicants' investigations on the present entropy table have shown that in this example the sequence BM1, BM6, BM5 is the most favorable. The best cycle of length four yields only 0.55 bit mean entropy, the best cycle of length five 0.53 bits of length six 0.45 bits, length seven 0.44 and length eight only 0.4 bits mean entropy ,
Insofern wird mit Hilfe der vorgeschlagenen Verfahren eine besonders effiziente Zufallsbiterzeugung ermöglicht. In this respect, a particularly efficient Zufiesbiterzeugung is made possible by the proposed method.
Die
Die kombinatorische Abbildung K2, die in der Abbildungseinrichtung
Das Ausgangssignal A11 wird mit Hilfe eines Inverters
Grundsätzlich ist es von Vorteil, wenn ausschließlich vorwärts gekoppelte Signalpfade entstehen. Es ist jedoch unschädlich, wenn beispielsweise Rückkopplungspfade auftreten, bei denen eine Zustandsänderung eines Ausgangssignals, beispielsweise des Ausgangssignals Ak4, als Eingangssignal E35 rückgekoppelt ist, aber die kombinatorische Abbildung K3 auf einen Zustandswechsel des Eingangssignals E35 nicht reagiert oder keine Vervielfältigung auf andere Ausgangssignale A31 bis A35 entsteht. Bei den Zufallsbiterzeugungsvorrichtungen ist keine Rückkopplungsschleife derart gebildet, dass eine Zustandsänderung mindestens eines Ausgangssignals einer Abbildungseinrichtung als eine Zustandsänderung mindestens eines Eingangssignals einer anderen Abbildungseinrichtung insbesondere signalpfadaufwärts zugeführt wird. Es würde genügen, solche Rückkopplungen auszuschließen, bei denen eine Zustandsänderung eines rückgekoppelten Ausgangssignals einer bestimmten Abbildungseinrichtung
Die Ausgangssignale Am1–Am4 werden einer Erfassungsvorrichtung
Wiederum werden die Eingangsbitmuster der zyklischen Abfolge von Eingangsbitmustern zum Erzeugen der logischen Pegelwechsel derart ausgesucht, dass eine Summe der Entropien der ermittelten Zufallsbits von einem Eingangsbitmuster zum nächsten oder ein Mittelwert der Entropien der ermittelten Zufallsbits für die zyklische Abfolge möglichst groß ist. Again, the input bit patterns of the cyclic sequence of input bit patterns for generating the logic level changes are selected such that a sum of the entropies of the detected random bits from one input bit pattern to the next, or an average of the entropies of the determined random bits for the cyclic sequence is as large as possible.
Das vorgeschlagene Verfahren und die Vorrichtungen eignen sich insbesondere zur Implementierung in ASICs. Die logischen Funktionen der Abbildungseinrichtungen haben vorzugsweise dieselbe logische Tiefe, um eine gleiche Signallaufzeit der kombinatorischen Abbildungen zu erzielen. Auf Lookup-Tables kann insofern auch verzichtet werden. Die Erfindung ermöglicht also unter anderem eine schnelle Zufallsbiterzeugung bei geringem Hardwareaufwand mit hoher Entropie pro erzeugtem Bit. The proposed method and the devices are particularly suitable for implementation in ASICs. The logical functions of the imaging devices preferably have the same logical depth to achieve the same signal propagation time of the combinatorial mappings. In this respect, lookup tables can also be dispensed with. Among other things, the invention thus enables rapid random bit generation with low hardware expenditure with high entropy per bit generated.
Beispiele für eine mögliche Konstruktion für geeignete kombinatorische Abbildungen mit einem maximalen Avalancheeffekt sind in der
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. Obwohl in den Ausführungsbeispielen jeweils alle möglichen Bitmusterumschaltungen betrachtet wurden, genügt es eine Auswahl der jeweils möglichen Eingangsbitmuster zu untersuchen und die Abfolge oder den Zyklus für die Entropieausbeute günstig festzulegen. 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. Although all possible bit pattern switches were considered in the exemplary embodiments, it is sufficient to examine a selection of the respectively possible input bit patterns and to set the sequence or the cycle favorably for the entropy yield.
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 PatentliteraturCited patent literature
- DE 102014203648 A1 [0006, 0006, 0103] DE 102014203648 A1 [0006, 0006, 0103]
- US 8531247 B2 [0007] US 8531247 B2 [0007]
- US 8892616 B2 [0007] US 8892616 B2 [0007]
- US 8300811 B2 [0007] US 8300811 B2 [0007]
- US 9147088 B2 [0007] US 9147088 B2 [0007]
- EP 2605445 B1 [0007] EP 2605445 B1 [0007]
- EP 2870565 A1 [0007] EP 2870565 A1 [0007]
- EP 2891102 A1 [0007] EP 2891102 A1 [0007]
- US 8843761 B2 [0007] US 8843761 B2 [0007]
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016201176.6A DE102016201176A1 (en) | 2016-01-27 | 2016-01-27 | Method and apparatus for generating random bits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016201176.6A DE102016201176A1 (en) | 2016-01-27 | 2016-01-27 | Method and apparatus for generating random bits |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102016201176A1 true DE102016201176A1 (en) | 2017-07-27 |
Family
ID=59295620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102016201176.6A Withdrawn DE102016201176A1 (en) | 2016-01-27 | 2016-01-27 | Method and apparatus for generating random bits |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102016201176A1 (en) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8300811B2 (en) | 2008-12-10 | 2012-10-30 | Siemens Aktiengesellschaft | Method and device for processing data |
EP2525489A1 (en) * | 2010-01-15 | 2012-11-21 | Mitsubishi Electric Corporation | Bit sequence generation device and bit sequence generation method |
US8531247B2 (en) | 2008-04-14 | 2013-09-10 | Siemens Aktiengesellschaft | Device and method for generating a random bit sequence |
DE102014203648A1 (en) | 2014-02-28 | 2014-06-05 | Siemens Aktiengesellschaft | Device for generating random bits in random number generator, has detecting device that is provided to detect various random bits when successive level of input signal changes |
US8843761B2 (en) | 2007-08-16 | 2014-09-23 | Siemens Aktiengesellschaft | Method and apparatus for protection of a program against monitoring flow manipulation and against incorrect program running |
US8892616B2 (en) | 2007-08-27 | 2014-11-18 | Siemens Aktiengesellschaft | Device and method for generating a random bit sequence |
EP2870565A1 (en) | 2012-09-28 | 2015-05-13 | Siemens Aktiengesellschaft | Testing integrity of property data of a device using a testing device |
EP2891102A1 (en) | 2013-01-02 | 2015-07-08 | Siemens Aktiengesellschaft | Rfid tag and method for operating an rfid tag |
US9147088B2 (en) | 2011-04-18 | 2015-09-29 | Siemens Aktiengesellschaft | Method for monitoring a tamper protection and monitoring system for a field device having tamper protection |
EP2605445B1 (en) | 2011-12-14 | 2015-09-30 | Siemens Aktiengesellschaft | Method and apparatus for securing block ciphers against template attacks |
-
2016
- 2016-01-27 DE DE102016201176.6A patent/DE102016201176A1/en not_active Withdrawn
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843761B2 (en) | 2007-08-16 | 2014-09-23 | Siemens Aktiengesellschaft | Method and apparatus for protection of a program against monitoring flow manipulation and against incorrect program running |
US8892616B2 (en) | 2007-08-27 | 2014-11-18 | Siemens Aktiengesellschaft | Device and method for generating a random bit sequence |
US8531247B2 (en) | 2008-04-14 | 2013-09-10 | Siemens Aktiengesellschaft | Device and method for generating a random bit sequence |
US8300811B2 (en) | 2008-12-10 | 2012-10-30 | Siemens Aktiengesellschaft | Method and device for processing data |
EP2525489A1 (en) * | 2010-01-15 | 2012-11-21 | Mitsubishi Electric Corporation | Bit sequence generation device and bit sequence generation method |
US9147088B2 (en) | 2011-04-18 | 2015-09-29 | Siemens Aktiengesellschaft | Method for monitoring a tamper protection and monitoring system for a field device having tamper protection |
EP2605445B1 (en) | 2011-12-14 | 2015-09-30 | Siemens Aktiengesellschaft | Method and apparatus for securing block ciphers against template attacks |
EP2870565A1 (en) | 2012-09-28 | 2015-05-13 | Siemens Aktiengesellschaft | Testing integrity of property data of a device using a testing device |
EP2891102A1 (en) | 2013-01-02 | 2015-07-08 | Siemens Aktiengesellschaft | Rfid tag and method for operating an rfid tag |
DE102014203648A1 (en) | 2014-02-28 | 2014-06-05 | Siemens Aktiengesellschaft | Device for generating random bits in random number generator, has detecting device that is provided to detect various random bits when successive level of input signal changes |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2976707B1 (en) | System and method for generating random bits | |
EP3028140B1 (en) | Design of a circuit suitable for generating random bits and circuit for generating random bits | |
DE112011106024B4 (en) | Device specific information generating apparatus and device specific information generating method | |
DE102014102501A1 (en) | Random number generator | |
DE102004026156A1 (en) | A / D conversion method and device | |
DE102009008224B4 (en) | Inverting cell | |
EP2446580B1 (en) | Apparatus and method for forming a signature | |
DE10219135A1 (en) | Device and method for generating a random number | |
DE102014203648A1 (en) | Device for generating random bits in random number generator, has detecting device that is provided to detect various random bits when successive level of input signal changes | |
DE102016201176A1 (en) | Method and apparatus for generating random bits | |
EP2799980A2 (en) | Device and method for generating random bits | |
DE102014209689A1 (en) | Apparatus and method for generating random bits | |
DE102013210147A1 (en) | Generate random bits | |
DE102014224421A1 (en) | Method and apparatus for generating random bits | |
DE102013213095A1 (en) | Generating a number of random bits | |
DE102015203577A1 (en) | Method and apparatus for generating random bits | |
WO2014117983A1 (en) | Method and device for generating random bits | |
DE102015203580A1 (en) | Apparatus and method for generating random bits | |
DE2241921C3 (en) | Stochastic electronic generator | |
DE102004033596B4 (en) | Spread spectrum clock generator for producing a chaotic clock signal has integrator switch for positive or negative voltage flip flop memory element and data input | |
DE102014219083A1 (en) | Balancing a feedback function of a ring oscillator | |
DE102013219768A1 (en) | Generate random bits | |
DE102014221827A1 (en) | Apparatus and method for generating random bits | |
DE102014214060A1 (en) | Apparatus and method for generating random bits | |
DE112021007687T5 (en) | Device with a comparator circuit |
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 |