DE102014221831A1 - Apparatus and method for generating random bits - Google Patents
Apparatus and method for generating random bits Download PDFInfo
- Publication number
- DE102014221831A1 DE102014221831A1 DE102014221831.4A DE102014221831A DE102014221831A1 DE 102014221831 A1 DE102014221831 A1 DE 102014221831A1 DE 102014221831 A DE102014221831 A DE 102014221831A DE 102014221831 A1 DE102014221831 A1 DE 102014221831A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- output
- combinatorial
- signal
- input
- 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
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Abstract
Eine Vorrichtung (1) zum Erzeugen von Zufallsbits (ZB) umfasst: eine kombinatorische Einrichtung (2) zur Durchführung einer Blockverschlüsselung von Eingangsdaten (k) in Abhängigkeit von Schlüsseldaten (S), welche eingerichtet ist verschlüsselte Ausgangsdaten (FS(k)) auszugeben, wobei die Eingangsdaten (k) und die Schlüsseldaten (S) für die kombinatorischen Einrichtung (2) als logische Pegel aufweisende Eingangssignale (E, S) eingekoppelt sind, und die Ausgangsdaten (FS(k)) als logische Pegel aufweisende Ausgangssignale (A) an Ausgängen (2F) der kombinatorischen Einrichtung (2) abgreifbar sind; und mindestens eine Erfassungseinrichtung (5) zum Erfassen eines Signalpegels wenigstens eines der Ausgangssignale (A). Bei einem Verfahren zum Erzeugen von Zufallsbits (ZB) werden mit Hilfe einer entsprechenden kombinatorischen Einrichtung (2) die Schritte durchgeführt: Ändern eines logischen Pegels eines der Eingangssignale (E, S); und Erfassen eines Signalpegels wenigstens eines Ausgangssignals (A), wobei die Ausgangsdaten (FS(k)) als logische Pegel von Ausgangssignalen (A) an Ausgängen der kombinatorische Einrichtung (2) abgreifbar sind, solange die kombinatorische Einrichtung (2) keine stationären logischen Pegel an ihren Ausgängen liefert.A device (1) for generating random bits (ZB) comprises: a combinatorial device (2) for performing a block encryption of input data (k) in dependence on key data (S) which is set up to output encrypted output data (FS (k)), wherein the input data (k) and the key data (S) for the combinatorial device (2) are coupled as logic level input signals (E, S), and the output data (FS (k)) as logic level output signals (A) Outputs (2F) of the combinatorial device (2) can be tapped off; and at least one detecting means (5) for detecting a signal level of at least one of the output signals (A). In a method for generating random bits (ZB), the steps are carried out with the aid of a corresponding combinatorial device (2): changing a logic level of one of the input signals (E, S); and detecting a signal level of at least one output signal (A), wherein the output data (FS (k)) as logic levels of output signals (A) at outputs of the combinatorial device (2) are tapped, as long as the combinatorial device (2) no stationary logic level delivers at their outputs.
Description
Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren zum Erzeugen eines oder mehrerer Zufallsbits. Es wird zum Beispiel eine Zufallsbitfolge erzeugt, welche als binäre Zufallszahl verwendet wird. Die vorgeschlagenen Vorrichtungen und Verfahren zum Erzeugen von Zufallsbits dienen beispielsweise der Implementierung von Zufallszahlengeneratoren. The present invention relates to an apparatus and method for generating one or more random bits. For example, a random bit sequence is generated which is used as a binary random number. The proposed devices and methods for generating random bits serve, for example, the implementation of random number generators.
In sicherheitsrelevanten Anwendungen, beispielsweise bei asymmetrischen Authentifikationsverfahren, sind Zufallsbitfolgen als binäre Zufallszahlen notwendig. Dabei ist es gewünscht, insbesondere bei mobilen Anwendungen einen möglichst geringen Hardwareaufwand zu betreiben. Bekannte Maßnahmen, um Zufallszahlen zu erzeugen, sind beispielsweise Pseudozufallszahlengeneratoren, analoge Zufallsquellen, Ringoszillatoren und deren Abwandlungen. In security-relevant applications, for example in asymmetric authentication methods, random bit sequences are necessary as binary random numbers. It is desired, in particular for mobile applications to operate as little hardware as possible. Known measures for generating random numbers are, for example, pseudo-random number generators, analog random sources, ring oscillators and their modifications.
Bei Pseudozufallszahlengeneratoren werden Seeds verwendet, von denen ausgehend deterministische Pseudozufallszahlen berechnet werden. Zur Erzeugung des Seeds wird in der Regel ein physikalischer Zufallsgenerator verwendet. Als analoge Zufallsquellen werden Rauschquellen, wie z.B. das Rauschen von Zenerdioden, verstärkt und digitalisiert. Dabei ist die Verbindung von digitaler mit analoger Schaltungstechnik meist nur aufwändig zu verwirklichen. For pseudo-random number generators, seeds are used, from which deterministic pseudorandom numbers are calculated. To create the seed, a physical random number generator is usually used. As analog random sources, noise sources such as e.g. the noise of zener diodes, amplified and digitized. At the same time, the connection between digital and analog circuit technology is usually difficult to realize.
Bei Ringoszillatoren, die aus 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.
Fibonacci- und Galois-Ringoszillatoren erzeugen schneller zufällige Signalformen als klassische Ringoszillatoren. Allerdings werden verschiedene digitale Gatter wie XOR- und NOT-Gatter eingesetzt. Dadurch können sich insbesondere bei Implementierungen auf ASICs große Geschwindigkeitsunterschiede der Gattertypen ergeben. Häufig besteht der Wunsch, mit Hilfe von FPGAs (Field Programmable Gate Arrays) Zufallsbitfolgen zu erzeugen. Allerdings können auch bei diesen Digitalbausteinen beispielsweise aufgrund von Umgebungstemperaturschwankungen periodische Schwingungen einsetzen, die nur eine geringe Entropie oder Zufälligkeit in den Signalen haben. Fibonacci and Galois ring oscillators generate random waveforms faster than classical ring oscillators. However, various digital gates such as XOR and NOT gates are used. This can result in particular in implementations on ASICs large speed differences of the gate types. Often, there is a desire to generate random bit sequences using FPGAs (Field Programmable Gate Arrays). However, even with these digital components, for example due to ambient temperature fluctuations, periodic oscillations can occur which have only a low degree of entropy or randomness in the signals.
Bei der hardwaremäßigen Implementierung werden für die Zufallsbiterzeugung zusätzliche Schaltungsteile benötigt, die schaltungstechnisch aufwendig sein können. In the hardware implementation, additional circuit parts are required for the random bit generation, which can be circuitry-consuming.
Daher besteht eine Aufgabe der vorliegenden Erfindung darin, eine verbesserte Vorrichtung und/oder ein Verfahren zum Erzeugen von Zufallsbits bereitzustellen. Therefore, it is an object of the present invention to provide an improved apparatus and / or method for generating random bits.
Demgemäß wird eine Vorrichtung zum Erzeugen von Zufallsbits vorgeschlagen, welche aufweist: Eine kombinatorische Einrichtung zur Durchführung einer Blockverschlüsselung von Eingangsdaten in Abhängigkeit von Schlüsseldaten, welche eingerichtet ist, verschlüsselte Ausgangsdaten auszugeben. Dabei sind die Eingangsdaten und die Schlüsseldaten der kombinatorischen Einrichtung als logische Pegel aufweisende Eingangssignale eingekoppelt, und die Ausgangsdaten sind als logische Pegel aufweisende Ausgangssignale an Ausgängen der kombinatorischen Einrichtung abgreifbar. Die Vorrichtung umfasst ferner mindestens eine Erfassungseinrichtung zum Erfassen eines Signalpegels wenigstens eines der Ausgangssignale. Accordingly, there is proposed an apparatus for generating random bits, comprising: a combinational means for performing block encryption of input data in response to key data arranged to output encrypted output data. In this case, the input data and the key data of the combinatorial device are coupled as logic level having input signals, and the output data can be tapped as output signals having logic levels at outputs of the combinatorial device. The device further comprises at least one detection device for detecting a signal level of at least one of the output signals.
Die Vorrichtung umfasst somit eine kombinatorische Einrichtung, welche Blockchiffren bzw. Blockverschlüsselungen an Eingangsdaten durchführen kann. Bei einer Blockverschlüsselung wird ein deterministisches Verschlüsselungsverfahren eingesetzt, bei dem ein Klartext in der Art von Eingangsdaten unter Verwendung von Schlüsseldaten auf ein Chiffrat einer festen Bitlänge abgebildet wird. Beispielsweise sind die verschlüsselten Ausgangsdaten ein Chiffrat der Blockchiffre. The device thus comprises a combinatorial device which can perform block ciphers or block ciphers on input data. In a block encryption, a deterministic encryption method is employed in which a plaintext in the manner of input data is mapped onto a ciphertext of a fixed bit length using key data. For example, the encrypted output data is a ciphertext of the block cipher.
Als mögliche Blockchiffren sind beispielsweise DES, FEAL, Serpent, CAST, Camellia, RC6, IDEA, MARS, RC2, AES, Twofish, TEA, 3DES, Blowfish, Skipjack, XTEA und/oder Present bekannt. Grundsätzlich können all diese Blockchiffren verwendet werden. Described as possible block ciphers are, for example, DES, FEAL, Serpent, CAST, Camellia, RC6, IDEA, MARS, RC2, AES, Twofish, TEA, 3DES, Blowfish, Skipjack, XTEA and / or Present. Basically all these block ciphers can be used.
Die kombinatorische Einrichtung liefert die verschlüsselten Ausgangsdaten vorzugsweise ausschließlich unter Verwendung logischer Funktionen die aus den Eingangsdaten, welche die Eingangsdaten als Klartext und die Schlüsseldaten verarbeiten und als Chiffrat ausgeben. Insbesondere hat die kombinatorische Einrichtung keine Zwischenspeicherelemente wie Latches oder Flip-Flops. The combinatorial device preferably delivers the encrypted output data exclusively using logical functions that are input from the input data, which process the input data as plaintext and the key data and as a ciphertext. In particular, the combinatorial device has no latches such as latches or flip-flops.
Die kombinatorische Einrichtung kann bei der Implementierung in einer Hardwarevorrichtung somit einerseits zur Erzeugung von Zufallsbits verwendet werden und andererseits zum Blockverschlüsseln von weiteren Daten. When implemented in a hardware device, the combinatorial device can thus be used, on the one hand, to generate random bits and, on the other hand, to block-encrypt further data.
Die Erfassungseinrichtung kann beispielsweise Signalpegel, welche nicht deterministisch zwischen logischen Pegeln schwanken, abtasten oder bestimmte Signalcharakteristika, wie steigende oder fallende Flanken erfassen und/oder zählen. Dies erfolgt vorzugsweise, solange die kombinatorische Einrichtung keinen deterministischen Endzustand, nämlich das Verschlüsselungsergebnis, als Ausgangsdaten mit festen logischen Pegeln bereitgestellt hat. For example, the detection means may sample signal levels which do not vary deterministically between logic levels, or detect and / or count certain signal characteristics, such as rising or falling edges. This is preferably done as long as the combinatorial device has not provided a deterministic final state, namely the encryption result, as output data having fixed logic levels.
Da die Berechnung oder Durchführung der Blockverschlüsselung ausschließlich durch eine kombinatorische Einrichtung erfolgt, propagiert ein sich ändernder Eingangssignalpegel unter Beaufschlagung von Jittern durch die Kombinatorik. Diese Jitterbeiträge führen dazu, dass eingangsseitig vorliegende, wohl definierte Signalcharakteristika, wie eine steigende oder fallende Flanke, verwischt oder verzufälligt werden, sodass bis zum Auftreten eines stationären Ausgangspegels ausgangsseitig zufällige Signalformen vorliegen. Diese werden durch die Erfassungseinrichtung zum Beispiel in einen Zufallsbitwert umgewandelt. Since the calculation or execution of the block encryption is done exclusively by a combinatorial device, a changing input signal level propagates through the combinatorial application of jitter. These jitter contributions cause input-side, well-defined signal characteristics, such as a rising or falling edge, to be blurred or randomized, so that random signal forms are present on the output side until a stationary output level occurs. These are converted into a random bit value by the detector, for example.
Die Vorrichtung umfasst in Ausführungsformen eine Starteinrichtung welche eingerichtet ist, in Abhängigkeit von einem Startsignal, die Eingangsdaten und/oder die Schlüsseldaten zu einem vorgegebenen Startzeitpunkt derart zu ändern, dass wenigstens eines der Eingangssignale seinen Pegel ändert. The apparatus comprises in embodiments a starting device which is set up in response to a start signal to change the input data and / or the key data at a predetermined starting time such that at least one of the input signals changes its level.
Zum Beispiel kann vor dem Startzeitpunkt ein erstes Bitmuster vorgegebener Länge als Schlüsseldaten vorliegen und ein zweites Bitmuster für die Eingangsdaten, welche unter Verwendung des Blockchiffrenverfahrens in die verschlüsselten Ausgangsdaten mit einem jeweiligen Ausgangsbitmuster ausgegeben werden. Eine Änderung der Bitwerte der Eingangsdaten führt zu einer Signalflanke der zugehörigen Signalpegel, wenn die Eingangsdaten auf ein neues Eingangsdatenbitmuster umgeschaltet werden. Daher schwanken über einen Berechnungs- oder Verschlüsselungszeitraum nach dem Startzeitpunkt die Pegel der Ausgangssignale zufällig und nicht deterministisch. For example, before the start time, a first bit pattern of predetermined length may be present as key data, and a second bit pattern for the input data output using the block cipher method into the encrypted output data having a respective output bit pattern. Changing the bit values of the input data results in a signal edge of the associated signal levels when the input data is switched to a new input data bit pattern. Therefore, over a calculation or encryption period after the start time, the levels of the output signals vary randomly and non-deterministically.
In Ausführungsformen liefert die kombinatorische Einrichtung nach Ablauf eines Verschlüsselungszeitraums nach dem Startzeitpunkt stationäre logische Pegel in ihren Ausgängen als Ausgangsdaten. Die Ausgangsdaten entsprechen dann dem Blockchiffrat. Es wird somit ein Chiffrat oder Ausgangsdaten der jeweiligen Blockchiffrenlänge geliefert. In embodiments, after elapse of an encryption period after the start time, the combinational device provides steady state logic levels in its outputs as output data. The output data then correspond to the block cipher. Thus, a ciphertext or output data of the respective block cipher length is provided.
In Ausführungsformen ist die Erfassungseinrichtung derart eingerichtet, dass wenigstens ein Ausgangssignal erfasst wird, bevor das Ausgangssignal als ein stationärer logischer Pegel vorliegt. Das heißt, aufgrund der kombinatorischen Implementierung und der den Signalflanken aufgeprägten Jittern ergeben sich Zwischenzustände an den Ausgängen der kombinatorischen Einrichtung, welche chaotische nicht deterministische Signalformen haben. In embodiments, the detection means is arranged such that at least one output signal is detected before the output signal is present as a stationary logic level. That is, due to the combinational implementation and jitter imposed on the signal edges, intermediate states result at the outputs of the combinatorial device which have chaotic non-deterministic waveforms.
In Ausführungsformen kann die Erfassungseinrichtung eine Zähleinrichtung zum Erfassen von Signalflanken, beispielsweise steigenden und/ oder fallenden Signalflanken wenigstens eines der Ausgangssignale, umfassen. Eine Zähleinrichtung, wie ein Counter bzw. Zähler oder ein Zwischenspeicherelement, wie ein T-Flip-Flop sind geeignet, um derartige Signalcharakteristika zu erfassen bzw. zu zählen. Der jeweilige Zählerwert ergibt sich zufällig, da die Anzahl einer jeweiligen Signalflanken, beispielsweise steigende Signalflanken, von dem zufälligen Signalverlauf bis zum Erreichen des stationären Endzustandes abhängt. In embodiments, the detection means may comprise a counter for detecting signal edges, for example rising and / or falling signal edges of at least one of the output signals. A counter, such as a counter or latch, such as a T-flip-flop, is adapted to detect such signal characteristics. The respective counter value results randomly, since the number of respective signal edges, for example rising signal edges, depends on the random signal curve until the stationary end state is reached.
In Ausführungsformen ist die kombinatorische Einrichtung eingerichtet, eine kryptographische Blockverschlüsselung mit einem Avalanche-Effekt durchzuführen. Ein Avalanche-Effekt, der auch als Lawinen-Effekt bezeichnet wird, ist die Eigenschaft eines kryptographischen Algorithmus, wonach eine minimale Änderung der Eingabe, also der Eingangsdaten und/oder der Schlüsseldaten, zur Änderung vieler Ausgangsdaten hinsichtlich ihrer Werte führt. In embodiments, the combinatorial device is configured to perform a cryptographic block encryption with an avalanche effect. An avalanche effect, also referred to as an avalanche effect, is the property of a cryptographic algorithm whereby a minimal change in the input, ie the input data and / or the key data, results in changing many output data in terms of their values.
Noch bevorzugter führt die kombinatorische Einrichtung eine Blockverschlüsselung bzw. Blockchiffren von Eingangsdaten in Abhängigkeit von Schlüsseldaten durch, die ein strenges Lawinen-Kriterium bzw. ein „Strict Avalanche Criterium“ erfüllen. Dieses Kriterium verlangt, dass sich bei einer Änderung eines Eingabebitwertes jedes Bit der Ausgabe mit einer Wahrscheinlichkeit von 50% ändert. Beispielsweise hat die AES-Blockchiffre ein derartiges Avalanche-Verhalten. More preferably, the combinational device performs a block ciphering of input data in response to key data satisfying a strict avalanche criterion. This criterion requires that each bit of the output changes with a 50% probability as the input bit value changes. For example, the AES block cipher has such avalanche behavior.
Durch den Avalanche-Effekt wird der Jitterbeitrag jeweils vervielfältigt, sodass bis zum Erreichen der stationären logischen Pegel besonders stark zufällige Signalanteile entstehen, die sich aus den Jitterbeiträgen speisen. Due to the avalanche effect, the jitter contribution is multiplied in each case, so that, until the stationary logic levels are reached, particularly random signal components are generated which feed on the jitter contributions.
Es wird ferner ein Verfahren zum Erzeugen von Zufallsbits vorgeschlagen, bei dem mit Hilfe einer kombinatorischen Einrichtung, welche eine Blockverschlüsselung von Eingangsdaten in Abhängigkeit von Schlüsseldaten verschlüsselt und verschlüsselte Ausgangsdaten ausgibt, und die Eingangsdaten und die Schlüsseldaten der kombinatorischen Einrichtung als logische Pegel aufweisende Eingangssignale in die kombinatorische Einrichtung eingekoppelt werden, ein Zufallssignal erzeugt wird. Dabei werden die Schritte durchgeführt:
Ändern eines logischen Pegels eines der Eingangssignale; und
Erfassen eines Signalpegels wenigstens eines Ausgangssignals, wobei die Ausgangsdaten als logische Pegel von Ausgangssignalen an Ausgängen der kombinatorischen Einrichtung abgreifbar sind, wobei jedenfalls solange erfasst wird, wie die kombinatorische Einrichtung keine stationären logischen Pegel an ihren Ausgängen liefert. There is also proposed a method for generating random bits, in which by means of a combinatorial device which encrypts a block encryption of input data in dependence on key data and outputs encrypted output data, and the input data and the key data of the combinational device as logic level having input signals in the Combination device coupled be a random signal is generated. The steps are carried out:
Changing a logic level of one of the input signals; and
Detecting a signal level of at least one output signal, wherein the output data can be tapped as logic levels of output signals at outputs of the combinatorial device, in any case detected as long as the combinatorial device provides no steady state logic level at their outputs.
Das Verfahren kann als Betriebsverfahren für die vorstehend genannte Vorrichtung zum Erzeugen von Zufallsbits verstanden werden. The method may be understood as an operating method for the above random bit generating apparatus.
In Ausführungsformen des Verfahrens werden Signalflanken des wenigstens einen erfassten Signalpegels, welcher nicht deterministisch zwischen zwei logischen Pegeln schwankt, gezählt. In Abhängigkeit von einem jeweiligen Zählergebnis wird ein Zufallsbitwert bestimmt. Dies kann mit Hilfe eines Zählers, wie auch eines T-Flip-Flops, erzielt werden. In embodiments of the method, signal edges of the at least one detected signal level, which varies non-deterministically between two logic levels, are counted. Depending on a respective counting result, a random bit value is determined. This can be achieved with the aid of a counter, as well as a T-flip-flop.
Bei dem Verfahren werden die Zufallsbitwerte in Ausführungsformen als Schlüsseldaten für eine Blockverschlüsselung von weiteren zu verschlüsselnden Klartextdaten mithilfe der kombinatorischen Einrichtung verwendet. Das heißt, eine kombinatorische Einrichtung zur Durchführung von Blockchiffren wird einerseits im selben Schaltkreis zur Erzeugung von Zufallsbits, beispielsweise für kryptographische Schlüssel, verwendet und gleichzeitig zur Blockverschlüsselung von Klartextdaten. Dabei können die Schlüsseldaten, welche aus Zufallsbits erzeugt werden können, eingesetzt werden. Insofern ergeben sich die Vorteile, dass dieselbe Hardware zu Verschlüsselung wie auch zur Gewinnung von echten Zufallsbits genutzt werden kann. In the method, the random bit values in embodiments are used as key data for block encryption of further plaintext data to be encrypted using the combinational device. That is, a combinatorial device for performing block ciphers is used on the one hand in the same circuit for generating random bits, for example for cryptographic keys, and at the same time for block encryption of plaintext data. The key data, which can be generated from random bits, can be used. In this respect, there are the advantages that the same hardware can be used for encryption as well as to obtain true random bits.
Die Vorrichtung und das Verfahren ermöglichen das gleichzeitige Verschlüsseln und eine Schlüsselerzeugung oder Zufallsbiterzeugung. The apparatus and method enable simultaneous encryption and key generation or random generation.
Da eine kombinatorische Implementierung von Blockchiffren vorgesehen ist, können Zufallsbits mit hohen Bitraten erzeugt werden. Since a combinational implementation of block ciphers is provided, random bits with high bit rates can be generated.
In Ausführungsbeispielen können die erzeugten Zufallsbits, beispielsweise wenn mehrere Bitpositionen der Ausgangssignale verwendet werden, algorithmischen Nachbehandlungen unterzogen werden. Häufig ist dies aufgrund der guten statistischen Qualität der erhaltenen Zufallsbits nicht notwendig. In embodiments, the generated random bits, such as when multiple bit positions of the output signals are used, may be subjected to algorithmic aftertreatments. Often this is not necessary due to the good statistical quality of the random bits obtained.
Es ist ferner denkbar, die an den Ausgängen der kombinatorischen Einrichtung vorliegenden Endzustände, also die stationären logischen Pegeln, als Blockchiffrat zu verwenden und andere Bitpositionen zum nichtdeterministischen Erzeugen von Zufallsbits einzusetzen. It is also conceivable to use the final states present at the outputs of the combinatory device, ie the stationary logic levels, as a block cipher and to use other bit positions for nondeterministic generation of random bits.
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.
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Vorrichtungen oder Verfahrensvarianten. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen oder abändern. Further possible implementations of the invention also include not explicitly mentioned combinations of devices or method variants described above or below with regard to the exemplary embodiments. The skilled person will also add or modify individual aspects as improvements or additions to the respective basic form of the invention.
Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der Ausführungsbeispiele, die im Zusammenhang mit den Zeichnungen näher erläutert werden. The above-described characteristics, features, and advantages of this invention, as well as the manner in which they will be achieved, will become clearer and more clearly understood in connection with the following description of the embodiments, which will be described in detail in conjunction with the drawings.
Dabei zeigen: Showing:
In den Figuren sind funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist. In the figures, functionally identical elements are provided with the same reference numerals, unless stated otherwise.
Die
Dazu hat die kombinatorische Einrichtung, welche auch als Verschlüsselungseinrichtung
Die kombinatorische Verschlüsselungseinrichtung
Ähnlich ist ein weiterer Speicher
An den Ausgängen
Die Erfassungseinrichtung
Die Steuereinrichtung
In der
Wird nun beispielsweise in Abhängigkeit von einem Startsignal CT1 das Eingangsbitmuster, also die zu verschlüsselnden Eingangsdaten k verändert, propagieren Signalflanken durch die kombinatorische Verschlüsselungseinrichtung
Unter der Anwendung der Blockchiffrenfunktion F ergeben sich nach einem Verschlüsselungszeitraum Δt zum Zeitpunkt t2 ein stationärer verschlüsselter Block F0‘ – Fq-1‘ gemäß Fs(k‘). Solange jedoch noch kein stationärer Zustand, also das Verschlüsselungsergebnis Fs(k‘) vorliegt, schwanken an den Ausgängen
In dem Zeitraum Δt = t2 – t1, in dem kein stationärer Zustand an den Ausgängen
Alternativ oder zusätzlich können auch die Anzahl beispielsweise von steigenden Signalflanken eines Ausganssignals gezählt werden. Dies ist mithilfe eins T-Flip-Flops möglich, das in der
Obwohl in der
Untersuchungen der Anmelderin haben ergeben, dass gute Zufallsbits erhalten werden können. In Experimenten wurde ein FPGA-Chip vom Typ Spartan
In der
Die Untersuchungen der Anmelderin ergaben, dass sich eine Entropie von 15,9976 Bits pro 16 Bitsample ergibt. Eine Min-Entropie beträgt 15,6932 Bits. Applicant's research revealed that there is an entropy of 15.9976 bits per 16 bitsample. A min entropy is 15.6932 bits.
Die von dem vorgeschlagenen Zufallsbiterzeuger gelieferten zufälligen Daten sind daher für die Erzeugung von kryptographischen Schlüsseln, beispielsweise für symmetrische kryptographische Verfahren geeignet. Insofern kann man bei der Vorrichtung wie sie in der
Grundsätzlich erfolgt ein Betrieb des in der
Die Vorrichtung ist ferner implementiert, ein kryptographisches Verschlüsselungsverfahren durchzuführen. The device is further implemented to perform a cryptographic encryption method.
Die vorgeschlagene Vorrichtung und das zugrunde liegende Verfahren eignen sich insbesondere zur Implementierung in ASICs. Die Erfindung ermöglicht also unter anderem eine schnelle Zufallsbiterzeugung bei geringem Hardwareaufwand da die Hardwareressourcen gleichzeitig zur Zufallsbiterzeugung und einer kryptographischen Verschlüsselung verwendet werden können. The proposed device and the underlying method are particularly suitable for implementation in ASICs. Among other things, the invention thus enables rapid random bit generation with low hardware expenditure since the hardware resources can be used simultaneously for random bit generation and cryptographic encryption.
Obwohl die Erfindung im Detail durch das bevorzugte Ausführungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Although the invention has been further illustrated and described in detail by the preferred embodiment, the invention is not limited by the disclosed examples, and other variations can be derived therefrom by those skilled in the art without departing from the scope of the invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014221831.4A DE102014221831A1 (en) | 2014-10-27 | 2014-10-27 | Apparatus and method for generating random bits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014221831.4A DE102014221831A1 (en) | 2014-10-27 | 2014-10-27 | Apparatus and method for generating random bits |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102014221831A1 true DE102014221831A1 (en) | 2016-04-28 |
Family
ID=55698504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102014221831.4A Withdrawn DE102014221831A1 (en) | 2014-10-27 | 2014-10-27 | Apparatus and method for generating random bits |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102014221831A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080031454A1 (en) * | 2002-04-24 | 2008-02-07 | Ingrid Verbauwhede | High throughput AES architecture |
-
2014
- 2014-10-27 DE DE102014221831.4A patent/DE102014221831A1/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080031454A1 (en) * | 2002-04-24 | 2008-02-07 | Ingrid Verbauwhede | High throughput AES architecture |
Non-Patent Citations (2)
Title |
---|
ADAMS, Carlisle; TAVARES, Stafford: The structured design of cryptographically good S-boxes. Journal of Cryptology, 1990, 3. Jg., Nr. 1, S. 27-41 * |
SUZUKI, Daisuke; SHIMIZU, Koichi: The glitch PUF: A new delay-PUF architecture exploiting glitch shapes. In: Cryptographic Hardware and Embedded Systems, CHES 2010. Springer Berlin Heidelberg, 2010. S. 366-382 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1643643B1 (en) | Random number generator and method for random number generation | |
EP2976707B1 (en) | System and method for generating random bits | |
DE102008048292B4 (en) | Apparatus and method for generating a random bit string | |
EP1354264B1 (en) | Random number generator and method for generating a random number | |
DE112011106024T5 (en) | Device-specific information generating device and device-specific information generating method | |
DE102014200309A1 (en) | Method for checking an output | |
DE102014221831A1 (en) | Apparatus and method for generating random bits | |
DE102012210361A1 (en) | Method for monitoring an output of a random number generator | |
DE102014200164A1 (en) | A method for generating an output of a random source of a random number generator | |
DE102014224421A1 (en) | Method and apparatus for generating random bits | |
DE102014221827A1 (en) | Apparatus and method for generating random bits | |
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 | |
DE102015203580A1 (en) | Apparatus and method for generating random bits | |
DE102014226996A1 (en) | Method and apparatus for generating random bits | |
DE102014219651A1 (en) | Method and apparatus for generating random bits | |
DE102014203648A1 (en) | Device for generating random bits in random number generator, has detecting device that is provided to detect various random bits when successive level of input signal changes | |
DE102013213095A1 (en) | Generating a number of random bits | |
WO2014117983A1 (en) | Method and device for generating random bits | |
DE102014209689A1 (en) | Apparatus and method for generating random bits | |
DE102017215622A1 (en) | DEVICES AND METHOD FOR OBTAINING BIT SEQUENCES | |
DE102014209964A1 (en) | Method and apparatus for generating random bits | |
DE102016207448A1 (en) | Device with a plurality of digital gate circuits and method for operating the same | |
DE102008033162A1 (en) | Physical random number generator | |
DE102014219693A1 (en) | Method and apparatus for generating random bits | |
DE102013213396A1 (en) | A method for post-processing an output of a random source of a random number generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |