WO2015128168A1 - Method and device for classifying and/or generating random bits - Google Patents

Method and device for classifying and/or generating random bits Download PDF

Info

Publication number
WO2015128168A1
WO2015128168A1 PCT/EP2015/052486 EP2015052486W WO2015128168A1 WO 2015128168 A1 WO2015128168 A1 WO 2015128168A1 EP 2015052486 W EP2015052486 W EP 2015052486W WO 2015128168 A1 WO2015128168 A1 WO 2015128168A1
Authority
WO
WIPO (PCT)
Prior art keywords
random
signal
output
bits
bit patterns
Prior art date
Application number
PCT/EP2015/052486
Other languages
German (de)
French (fr)
Inventor
Markus Dichtl
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2015128168A1 publication Critical patent/WO2015128168A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/03Astable circuits
    • H03K3/0315Ring oscillators

Definitions

  • the present invention relates to an apparatus and method for classifying and / or 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.
  • the invention allows for example ⁇ as the generation of true random bits.
  • the proposed methods and devices are used in ⁇ example, the detection of random bits or Zufallsbitfol ⁇ gene, which have good random properties, and on the other hand bits that are considered not random. Random data is required at ⁇ play, in security applications, wherein the generated random bits from, for example, cryptographic Keyring ⁇ sel or the like can be derived.
  • random bit sequences are necessary as binary random numbers. It is desirable , 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, analogue random sources, ring oscillators and their modifications.
  • Seeds are used based on which deterministic Pseudozufausstage be ⁇ expects to be.
  • a physical random number generator is usually used.
  • Fibonacci and Galois ring oscillators can have chaotic vibration states and produce faster ⁇ mature waveforms as a classic ring oscillators. ⁇ all recently various digital gates such as XOR and NOT gate are used. This may result in ASICs large differences in speed of the gate types especially in the ⁇ plement isten. Often, there is a desire to generate random bit sequences using FPGAs (Field Programmable Gate Arrays). However can use periodic vibrations, which only have a low En ⁇ entropy or randomness in the signals even at these digital components. The cause of these periodic oscillations is not yet known; their presence may depend on environmental conditions such as temperature ⁇ ture, but also from chip-specific variations in manufacturing.
  • the bits generated have the same occurrence probability of 0- and 1-bits and are statistically independent of each other.
  • high entropy devices are desired.
  • the random event-are nisse can be used as random-giving properties.
  • a method for classifying and / or generating random bits comprises the steps of: providing output signals of logical elemene ⁇ th of a ring oscillator circuit, wherein the logical elements are at least partially fed back and each outputting an input signal into an output signal;
  • Classifying a selected output signal as random coincidence signal or non-randomly with a number of different bit patterns is counted in Depending ⁇ speed of the frequency of the occurring bit patterns.
  • a ring oscillator circuit is to be understood not only the classical variant of an odd number of inverters in a logical ring structure, but z.
  • generalizations such as Fibonacci or Galois ring oscillators and generally at least partially mannge ⁇ coupled oscillating logic circuits.
  • the proposed method for classifying and / or He ⁇ evidence of random bits is particularly suitable for implemen ⁇ tation as an online test to classify, for example, in FPGAs implemen ⁇ oriented ring oscillators to be used to generate random bits. Is for example detected depending on the frequency of the occurring ⁇ Bitmus ter that a sufficient coincidence exists, a Zufallsbit composition is suppressed. On the other hand, a correspondingly reliable truly random signal can be merit ⁇ attacked upon detection of random waveforms or chaotic waveforms, for example, at one of the Huaweisigna ⁇ le. In embodiments, the method further comprises: determining a number of different bit patterns which were recognized to be different ⁇ union sampling time points.
  • clocked or at predetermined Zeitab ⁇ states or at times the output signals from a selection of z. B. implemented as an inverter implemented logical Ele ⁇ elements.
  • the bit patterns are resulting preference ⁇ be stored and counted for the occurrence of frequency.
  • the method further comprises a
  • Step of comparing the number of different bit patterns with a threshold can be fixed to the effect set that, for example, if the number under ⁇ Kunststoffaji bit pattern is too small, it is concluded that no sufficient randomness of the output signals is present.
  • the excluded selected output signal is output as a random signal if ei ⁇ ne number of different sampling time points erank- ten different bit patterns is greater than a specified differently Bener threshold. It is proposed that, if the various zugeord ⁇ Neten check bits at the outputs of the logic elements, wherein ⁇ play, the inverter forming, as many different bit ⁇ pattern, ge ⁇ joined to a sufficient randomness. This can substantially excluded that static or periodic oscillatory levels at ⁇ present in the respective ring oscillator.
  • the frequency of the occurring bit pattern ⁇ over a predetermined number of sampling times can be determined. For example, the classification of the respective ring oscillator circuit having an odd number of inverters through a limited number of play determined several thousand times a bit pattern in ⁇ .
  • the number of the predetermined sampling points in time is Example ⁇ determined depending on the number of simultaneously erutz- th output signals.
  • further sampling the random signal to generate a random bit may be performed.
  • the random signal recognized as happens to have a temporally irregular shapes ⁇ ssige waveform and varies randomly between a logi ⁇ rule H and L level. Only by scanning, for example by means of a buffer element, such as a flip-flop, a fixed random bit value is generated. This results randomly a logical H or L level at the output of the respective flip-flops.
  • an apparatus for generating random bits which comprises:
  • a ring oscillator circuit having a plurality of at least partially fed-back logic elements each outputting an input signal to an output signal
  • a sampling device which is set up to simultaneously detect a plurality of the output signals and to assign a check bit to each detected output signal, the simultaneously detected check bits forming a bit pattern
  • an evaluation device which is set up to determine a frequency encountered bit patterns in a multiple simultaneous capturing, wherein the Ausenseein ⁇ direction is further adapted to count a number of Various ⁇ NEN bit patterns.
  • the device is in particular configured to carry out a method as described above and below.
  • the device comprises a ring oscillator circuit, which usually consists of an odd number of
  • Inverter is formed. Some of the feedback paths ⁇ then deliver a mostly random vibration behavior. However, it may happen that the ring oscillator circuit enters a static state or periodic oscillator circuit. pean state expires, so that the output node of the logic elements is usually not enough random Sig ⁇ nal longer be tapped.
  • the used Ringoszillatorschalt ⁇ circle can be configured in particular as a Fibonacci or Galois ring oscillator.
  • the pre ⁇ device and method allow an online test without consuming memory or computing operations.
  • the ring oscillator circuit may further comprise an output at which one of the réellesig ⁇ signals can be tapped off as a random signal.
  • the scanning device comprises a plurality of sample and hold elements for detecting the plurality of output signals of different logic elements.
  • the sample and hold members may be clocked or controlled by a controller.
  • the sample and hold elements set there ⁇ at the detected signal level in a sketchbitpegel.
  • the device is part of an FPGA device or an ASIC device.
  • the method can be implemented on or in an FPGA or ASIC device via suitable description languages, for example VHDL or Verilog.
  • a computer program product such as a computer program means can be used, for example, as a storage medium, such as a memory card, USB stick, CD-ROM, DVD or even in the form of a
  • downloadable file from a server in a network be ⁇ provided or delivered. This can be done, for example, in a wireless communication network by transmitting a corresponding file with the computer program product or the computer program means.
  • programmge ⁇ controlled device in particular a Steuereinrich ⁇ processing, such as a microprocessor for a smart card or the like out of the question.
  • the method or device may also be hardwired or implemented in configurable FPGAs or ASICSs.
  • a data carrier is provided with a stored Compu ⁇ terprogramm with commands, which cause the imple ⁇ tion of a corresponding method on a programmge ⁇ controlled device.
  • FIG. 1 is a schematic flow diagram for a method for classifying random bits
  • Fig. 2 is a schematic illustration of an embodiment of an apparatus for generating and classifying random bits
  • Fig. 1 is a schematic flow diagram for a method for classifying or generating random bits is shown, which for example with a device as ⁇ sify as a schematic representation as from ⁇ exemplary implementation of an apparatus for generating and Klas in Fig. 2 of Random bits is shown can be performed.
  • the method and apparatus are suitable for example to at random number generators that produce with the help of Ringo ⁇ zillatoren random waveforms to detect whether an unwanted oscillation occurs. In this case, a fault alarm can be triggered so that he testified ⁇ bits are not used as random bits.
  • the ring oscillator 2 comprises an odd number of inverters 2i - 2 n, which are chained together.
  • everybody the inverter 2i - has 2 n an input and an output, which is not explicitly referred to.
  • At the respective input input signals are egg - E n received, the inverted as from ⁇ output signals Ai - output A n.
  • feedback loops are provided which cause an irregular waveform within the ring oscillator circuit.
  • a feedback is provided in the exporting ⁇ approximately example of FIG. 2, for example between the pth and p + l-th inverter.
  • a Zufallssig ⁇ nal ZS can be tapped.
  • the random signal ZS corresponds to the output signal A n of the n-th inverter 2 n .
  • ring oscillators for example in the form of Galois or Fibonacci oscillators conceivable.
  • further logi ⁇ cal elements can be provided.
  • the plurality captivesig ⁇ dimensional p A q 2 are detected for generating check bits.
  • the qp check bits are generated in egg ⁇ ner scanning device 3 by means of qp sample and hold members 3 P - 3 q .
  • the sample and hold members each have a clock input to which a clock signal or Abtastsig ⁇ signal CK is supplied.
  • the sample and hold elements In response to the clock or sampling signal CK, the sample and hold elements provide 3 P - 3 q From a logical ⁇ output level, as the check bit P p - P q is used.
  • the scanning example ⁇ at predetermined times several times in succession or in response to the clock signal CK performed by a control ⁇ device 5.
  • the qp check bits P P - P q are fed to a memory device 4, which stores the check bits P P - P q for a respective sampling time as a bit pattern BMi - BMi.
  • the memory 4 is coupled to the control device 5 via control or data signals CT. Further, the control unit 5 con- trols a set or start input 7 the ringos ⁇ zillatorschalt Vietnamese 2.
  • To start a (chaotic or irregular) oscillation of the concatenated in- verter 2 i - n 2 are, for example, initially all input signals Ei ⁇ - E n first brought to a predetermined well-defined level. The oscillation is triggered by a signal edge is coupled, for example, as the start input signal Ei and the remaining input signal level E 2 - E n are left freely oscillating.
  • an assignment of the simultaneously detected check bits P p -P q to a respective bit pattern BMi takes place in step S3.
  • step S40 the number of different bit patterns B lr detected at different sampling times is determined.
  • the number of different bit patterns that occur is recorded.
  • the number of different bit patterns is compared with a threshold value in a comparison step S41.
  • the threshold value can be adjusted as desired and determines, for example, the
  • Sensitivity of the test or classification process for random or non-random data It is recognized that only a few different bit patterns are present at the different output Signals A p - A n are derived, so the number is below the predetermined threshold, the ring oscillator or the output signal A n or ZS is classified as not random in step S42.
  • the control means 5 may, for example, a match of the ⁇ alarm or warning signal to a warning output A 10 out ⁇ ben.
  • the control device 5 can also prevent an output of the signal ⁇ ZS.
  • step S5 in the sequence in step S5, for example, according to FIG. Controlled by the control means 5, the corresponding n-random ⁇ signal ZS to the n-th output of the inverter 2 scanned.
  • the scanning can be done with the aid of a buffer device, such as a flip-flop 6.
  • the flip-flop 6 provides from the oszillie ⁇ leaders, with a non-defined logic level behafte ⁇ th random signal ZS a random bit with a level 1 or 0. This example random bit is output at the output. 9
  • the apparatus and method provide a reliable means of generating true random bits.
  • a Ringos ⁇ zillator 11 is reproduced, which is designed as a Fibonacci ring oscillator.
  • inverters 2i-2 7 There are seven concatenated inverters 2i-2 7 , wherein feedbacks according to the feedback polynomial x 7 + x 6 + x 3 + x 2 + x + 1 are implemented. From seven ⁇ output signals Ai are 2 7 - - A 7 tapped at the JE tinct outputs of inverters 2i. This tapped off ⁇ output signals can check bits Pi - P are assigned. 7 The seven check bits Pi - P7 form a bit pattern BM ⁇ at each sampling time.
  • FIGS. 4, 5 and 6 signal forms of the output signal A 7 are now reproduced, which can be regarded as a random signal ZS.
  • FIG. 7 shows a further embodiment of a
  • Fibonacci ring oscillator 12 Essentially the same elements as in FIG. 3 are included, but with the feedback polynomial chosen to be x 7 + x 6 + x 2 + 1. Looking now at the waveform A 7 at the output of the last inverter 2 7 results in a uniform vibration behavior. That is, as shown in FIG. 8, a periodi ⁇ shear oszillativer of the output signal A 7 to erken ⁇ NEN having hardly random properties. The ring oscillator, as shown in FIG. 7, is therefore not suitable for generating random bits.
  • bit pattern BM X over 5000 passes.
  • 5000 samples of check bits Pi-P 7 were made at intervals of 200 ns.
  • le ⁇ diglich 14 of the 128 possible bit patterns have been generated by 7 bits.
  • the number of encountered bit patterns differ completely fixed ⁇ Lich with values of 14 in the case of periodically oscillating generator and of 123 in the case of chaotic oscillations.
  • the choice of the threshold value is therefore not critical.
  • a suitable threshold may be set at 50, recognizing that there are only 14 different bit patterns, that is, the number of different bit patterns of 7 bits over 5,000 passes, or clock or sample times below the threshold of 50.
  • the exact threshold value can be adapted to the number and length of the inverter chains.
  • Fibonacci ring oscillators were the length of 16 tested with different return Kopp ⁇ lungspolynomen. For each 5000 samples spaced 2 ps, 16 bit long bit patterns BMi have been considered. Those feedback polynomials that lead to periodic oscillations ⁇ conditions, only resulted in 32, 40, 51 and 62 ver ⁇ different test bit patterns. at 26 other feedback poly ⁇ nomen that lead to chaotic oscillations, the number of different detected bit patterns between 1261 and 2154th In this respect, for example, in Fibonacci ring oscillators of length 16, a threshold for different bit patterns between 200 and 500 are selected.
  • the method provides a cost-effective online test for especially implemented in FPGA random bit generators that use ring oscillators. This results in a reliable detection of malfunctions, and thus periodic oszilla ⁇ toric behavior of the ring oscillator used. It is required only a small memory requirements, as the 2 p ⁇ only one bit location will be for each compels ⁇ q possible bit patterns. By a suitable choice of the decoupled check bits, the method and the hardware expenditure can be scaled. It is also possible, for example Fibonacci Ringoszil ⁇ simulators with 16 inverters used only a selection of output signals, for example, the first eight administratsig ⁇ dimensional Ai - to use A 8.
  • Fibonacci ring oscillators were tested in the above examples, this can be applied equally to at ⁇ wider complicated ring oscillators.
  • the method can be used in particular for Galois ring oscillators for Zufallsbiterzeugung.

Abstract

The invention relates to a method and a device (1) for classifying and/or generating random bits (ZB). The method has the following steps: providing (S1) output signals (A1 - An) from logic elements (21 - 2n) of a ring oscillator circuit (2), said logic elements (21 - 2m) being at least partly fed back and outputting a respective input signal (E1 - En) ) into an output signal (A1 - An); detecting (S2) multiple output signals (Ap - Aq) of different logic elements (2p-2q) of the ring oscillator circuit (2) at the same time in order to generate test bits (Pp - Pq); assigning (S3) the test bits (Pp - Pq) detected at the same time to a respective bit pattern (BMi); and classifying (S4) a selected output signal (An) as a random signal (ZS) or as nonrandom depending on a frequency of the occurring bit pattern (Bi).

Description

Beschreibung description
Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeu¬ gen von Zufallsbits Method and device for classifying and / or Erzeu ¬ gene of random bits
Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren zum Klassifizieren und/oder Erzeugen eines oder mehrerer Zufallsbits. Es wird zum Beispiel eine Zufallsbit¬ folge 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 beispiels¬ weise die Erzeugung echter Zufallsbits. Die vorgeschlagenen Verfahren und Vorrichtungen dienen bei¬ spielsweise der Erkennung von Zufallsbits oder Zufallsbitfol¬ gen, die gute zufällige Eigenschaften haben, und andererseits Bits, die als nicht zufällig gelten. Zufallsdaten werden bei¬ spielsweise bei Sicherheitsanwendungen benötigt, wobei aus erzeugten Zufallsbits beispielsweise kryptographische Schlüs¬ sel oder dergleichen abgeleitet werden. The present invention relates to an apparatus and method for classifying and / or 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. The invention allows for example ¬ as the generation of true random bits. The proposed methods and devices are used in ¬ example, the detection of random bits or Zufallsbitfol ¬ gene, which have good random properties, and on the other hand bits that are considered not random. Random data is required at ¬ play, in security applications, wherein the generated random bits from, for example, cryptographic Keyring ¬ sel or the like can be derived.
In sicherheitsrelevanten Anwendungen, beispielsweise bei asymmetrischen Authentifikationsverfahren, sind Zufallsbit- folgen als binäre Zufallszahlen notwendig. Dabei ist es ge¬ wünscht, insbesondere bei mobilen Anwendungen einen möglichst geringen Hardwareaufwand zu betreiben. Bekannte Maßnahmen, um Zufallszahlen zu erzeugen, sind beispielsweise Pseudozufalls- zahlengeneratoren, 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 desirable , 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, analogue random sources, ring oscillators and their modifications.
Bei Pseudozufallszahlengeneratoren werden Seeds verwendet, von denen ausgehend deterministische Pseudozufauszahlen be¬ rechnet werden. Zur Erzeugung des Seeds wird in der Regel ein physikalischer Zufallsgenerator verwendet. Als analoge Zu¬ fallsquellen werden Rauschquellen, wie z.B. das Rauschen von Zenerdioden, verstärkt und digitalisiert. Dabei ist die Ver- bindung von digitaler mit analoger Schaltungstechnik meist nur aufwändig zu verwirklichen. In pseudo-random number generators Seeds are used based on which deterministic Pseudozufauszahlen be ¬ expects to be. To create the seed, a physical random number generator is usually used. As analog event sources to be ¬ noise sources, such as the noise of Zener diodes, amplified and digitized. The Connection of digital with analog circuit technology usually only consuming to realize.
Bei Ringoszillatoren, die hintereinander geschalteten Inver- tern 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 Signa¬ le, können bei mehrfachen Durchläufen durch die Ringoszilla- torschaltung akkumuliert werden, so dass letztlich ein zufäl¬ liges analoges Signal entsteht. Nachteilig bei Ringoszillato¬ ren ist häufig die notwendige lange Zeit vom Start der In the case of ring oscillators, which are built up in series, random jitter results from fluctuating throughput times of the signals through the inverters. This jitter, ie an irregular time variation in state changes of the sent through the inverter Signa ¬ le, can be accumulated by the gate Ringoszilla- in multiple passes, so that ultimately a zufäl ¬ liges analog signal is produced. A disadvantage of Ringoszillato ¬ ren is often the necessary long time from the start of
Schwingung bis ein brauchbar zufälliges Signal aufgrund der Jitter-Akkumulierung entsteht. Daher ergeben sich meist nied- rige nicht akzeptable Datenerzeugungsraten bei Ringoszillato¬ ren. 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 Gat¬ terlaufzeiten kompensiert werden. Vibration until a reasonably random signal arises due to jitter accumulation. Therefore nied- engined arise usually not acceptable data generation rates in Ringoszillato ¬ ren. It is also possible that the cumulative jitter messages, abolish itself again, so that accidental short gate delays are compensated by accidental longer Gat ¬ terlaufzeiten on average.
Fibonacci- und Galois-Ringoszillatoren können chaotische Schwingungs zustände aufweisen und erzeugen dann schneller zu¬ fällige Signalformen als klassische Ringoszillatoren. Aller¬ dings werden verschiedene digitale Gatter wie XOR- und NOT- Gatter eingesetzt. Dadurch können sich insbesondere bei Im¬ plementierungen auf ASICs große Geschwindigkeitsunterschiede der Gattertypen ergeben. Häufig besteht der Wunsch, mit Hilfe von FPGAs (Field Programable Gate Arrays) Zufallsbitfolgen zu erzeugen. Allerdings können auch bei diesen Digitalbausteinen periodische Schwingungen einsetzen, die nur eine geringe En¬ tropie oder Zufälligkeit in den Signalen haben. Die Ursache dieser periodischen Schwingungen ist bisher nicht bekannt; ihr Auftreten kann von Umgebungsbedingungen wie der Tempera¬ tur abhängen, aber auch von chipindividuellen Schwankungen bei der Herstellung. Fibonacci and Galois ring oscillators can have chaotic vibration states and produce faster ¬ mature waveforms as a classic ring oscillators. ¬ all recently various digital gates such as XOR and NOT gate are used. This may result in ASICs large differences in speed of the gate types especially in the ¬ plementierungen. Often, there is a desire to generate random bit sequences using FPGAs (Field Programmable Gate Arrays). However can use periodic vibrations, which only have a low En ¬ entropy or randomness in the signals even at these digital components. The cause of these periodic oscillations is not yet known; their presence may depend on environmental conditions such as temperature ¬ ture, but also from chip-specific variations in manufacturing.
Bei idealen Zufallsbits oder Zufallsbitfolgen haben die er¬ zeugten Bits eine gleiche Auftrittswahrscheinlichkeit von 0- und 1-Bits und sind voneinander statistisch unabhängig. Als Quelle für entsprechende zufällige Bits sind Einrichtungen mit hoher Entropie gewünscht. Unter anderem können physikali¬ sche Prozesse, wie radioaktive Zerfälle, die zufällige Ereig- nisse sind, als zufallsgebende Objekte verwendet werden. With ideal random bits or random bit sequences , the bits generated have the same occurrence probability of 0- and 1-bits and are statistically independent of each other. As a source of corresponding random bits, high entropy devices are desired. Among other physi ¬ cal processes such as radioactive decay, the random event-are nisse can be used as random-giving properties.
Eine Schwierigkeit besteht meist darin, aufwandsgünstige Mes¬ sungen an entsprechenden physikalischen Systemen durchzufüh¬ ren, um Zufallsbits oder -daten ableiten zu können, und dann zu klassifizieren. One difficulty consists mostly in low-complexity Mes ¬ measurements on corresponding physical systems durchzufüh ¬ reindeer, in order to derive random bits or data, and then to classify.
Wünschenswert ist es insbesondere, aufwandsgünstige Hardware- Zufallszahlengeneratoren zu verwenden, die dennoch für die jeweilige Anwendung ausreichend gute Zufälligkeiten, also statistische Unabhängigkeit und geringe Schiefe (Abweichung der Wahrscheinlichkeit von Null- bzw. Eins-Bits vom Idealwert Vi) , in ihren erzeugten Zufallsbits haben. Um die Zufälligkeit beispielsweise bei physikalischen Zufallszahlengeneratoren zu bestimmen, werden üblicher Weise statistische Tests einge- setzt, um Abweichungen vom statistischen Ideal zu erkennen.In particular, it is desirable to use low-cost hardware random number generators which nevertheless have sufficiently good randomness, ie statistical independence and small skewness (deviation of the probability of zero or one bits from the ideal value Vi) in their generated random bits , In order to determine the randomness, for example, in physical random number generators, statistical tests are usually used to detect deviations from the statistical ideal.
Dabei wird eine große Anzahl von Zufallsbits erfasst und dann auf einem geeigneten Rechnersystem statistisch ausgewertet. Es sind in der Vergangenheit so genannte Online-Tests wichti¬ ger geworden, die direkt auf dem System, das auch die Zu- fallszahlen oder -bits erzeugt, ablaufen können und wenig Im¬ plementierungsaufwand haben. Derartige Online-Tests ermögli¬ chen es, bei einer starken Abweichung vom statistischen Ideal der erzeugten zufälligen Daten eine Warnung auszusenden bzw. die Zufallszahlenproduktion zu unterbinden. In this case, a large number of random bits is detected and then statistically evaluated on a suitable computer system. It became wichti ¬ ger in the past so-called online tests that can directly on the system, the case also pay the increases or bits generated run and have little in ¬ plementierungsaufwand. Such online testing ermögli ¬ chen it to send out a warning when a strong deviation from the statistical ideal of random data generated or prevent the random number production.
Wünschenswert ist daher eine einfach mögliche Implementierung hinsichtlich der Rechen- und Speicheranforderungen von Zufäl¬ ligkeit stests , die online an Zufallsdaten durchgeführt werden sollen. Insofern ist es eine Aufgabe der vorliegenden Erfin- dung, ein verbessertes Verfahren und/oder eine verbesserteIt is therefore desirable a simple possible implementation in terms of computational and memory requirements of Zufäl ¬ ligkeit stests to be conducted online in random data. In this respect, it is an object of the present invention to provide an improved process and / or an improved process
Vorrichtung zum Erzeugen und/oder Klassifizieren von Zufalls¬ bits bereitzustellen. Demgemäß wird ein Verfahren zum Klassifizieren und/oder Er¬ zeugen von Zufallsbits vorgeschlagen. Das Verfahren umfasst die Schritte: Bereitstellen von Ausgangssignalen von logischen Elemen¬ ten eines Ringoszillatorschaltkreises, wobei die logischen Elemente zumindest teilweise rückgekoppelt sind und jeweils ein Eingangssignal in ein Ausgangssignal ausgeben; Device for generating and / or classifying random ¬ bits provide. Accordingly, a method is proposed for classifying and / or generating random bits. The method comprises the steps of: providing output signals of logical elemene ¬ th of a ring oscillator circuit, wherein the logical elements are at least partially fed back and each outputting an input signal into an output signal;
gleichzeitiges Erfassen von mehreren Ausgangssignalen verschiedener logischer Elemente des Ringoszillatorschalt¬ kreises zum Erzeugen von Prüfbits; simultaneous detection of a plurality of output signals of different logic elements of the Ringoszillatorschalt ¬ circle for generating check bits;
Zuordnen der gleichzeitig erfassten Prüfbits zu einem jeweiligen Bitmuster; und  Assigning the simultaneously acquired check bits to a respective bit pattern; and
Klassifizieren eines ausgewählten Ausgangssignals als zufälliges Zufallssignal oder als nicht zufällig in Abhängig¬ keit von der Häufigkeit der aufgetretenen Bitmuster, wobei eine Anzahl von verschiedenen Bitmustern gezählt wird. Classifying a selected output signal as random coincidence signal or non-randomly with a number of different bit patterns is counted in Depending ¬ speed of the frequency of the occurring bit patterns.
Unter einem Ringoszillatorschaltkreis soll dabei nicht nur die klassische Variante von einer ungeraden Zahl von Inverter in einer logischen Ringstruktur verstanden werden, sondern z. B. auch Verallgemeinerungen wie Fibonacci- oder Galois- Ringoszillatoren sowie allgemein zumindest teilweise rückge¬ koppelte schwingende Logikschaltungen. A ring oscillator circuit is to be understood not only the classical variant of an odd number of inverters in a logical ring structure, but z. As well as generalizations such as Fibonacci or Galois ring oscillators and generally at least partially rückge ¬ coupled oscillating logic circuits.
Das vorgeschlagene Verfahren zum Klassifizieren und/oder Er¬ zeugen von Zufallsbits eignet sich insbesondere zur Implemen¬ tierung als Online-Test, um beispielsweise in FPGAs implemen¬ tierte Ringoszillatoren, die zur Erzeugung von Zufallsbits genutzt werden sollen, zu klassifizieren. Wird beispielsweise in Abhängigkeit von der Häufigkeit der aufgetretenen Bitmus¬ ter erkannt, dass kein ausreichender Zufall vorliegt, wird eine Zufallsbitproduktion unterbunden. Andererseits kann bei einem Erkennen von zufälligen Signalformen, bzw. chaotischen Schwingungsformen, beispielsweise an einem der Ausgangssigna¬ le ein entsprechend zuverlässiges echtes Zufallssignal abge¬ griffen werden. In Ausführungsformen umfasst das Verfahren ferner: Bestimmen einer Anzahl von verschiedenen Bitmustern, welche zu unter¬ schiedlichen Abtast Zeitpunkten erfasst wurden. Beispielsweise können getaktet oder in vorgegebenen Zeitab¬ ständen oder zu Zeitpunkten die Ausgangssignale von einer Auswahl der z. B. als Inverter implementierten logischen Ele¬ mente erfassen. Die sich ergebenden Bitmuster werden vorzugs¬ weise abgespeichert und hinsichtlich des Auftretens ihrer Häufigkeit gezählt. The proposed method for classifying and / or He ¬ evidence of random bits is particularly suitable for implemen ¬ tation as an online test to classify, for example, in FPGAs implemen ¬ oriented ring oscillators to be used to generate random bits. Is for example detected depending on the frequency of the occurring ¬ Bitmus ter that a sufficient coincidence exists, a Zufallsbitproduktion is suppressed. On the other hand, a correspondingly reliable truly random signal can be abge ¬ attacked upon detection of random waveforms or chaotic waveforms, for example, at one of the Ausgangssigna ¬ le. In embodiments, the method further comprises: determining a number of different bit patterns which were recognized to be different ¬ union sampling time points. For example, clocked or at predetermined Zeitab ¬ states or at times the output signals from a selection of z. B. implemented as an inverter implemented logical Ele ¬ elements. The bit patterns are resulting preference ¬ be stored and counted for the occurrence of frequency.
In Ausführungsformen umfasst das Verfahren ferner einen In embodiments, the method further comprises a
Schritt des Vergleichens der Anzahl verschiedener Bitmuster mit einem Schwellwert. Ein Schwellwert kann dahingehend fest- gelegt werden, dass beispielsweise, wenn die Anzahl unter¬ schiedlicher Bitmuster zu gering ist, geschlossen wird, dass keine ausreichende Zufälligkeit der Ausgangssignale vorliegt. Step of comparing the number of different bit patterns with a threshold. A threshold value can be fixed to the effect set that, for example, if the number under ¬ schiedlicher bit pattern is too small, it is concluded that no sufficient randomness of the output signals is present.
In weiteren Ausführungsformen des Verfahrens wird das ausge- wählte Ausgangssignal als Zufallssignal ausgegeben, falls ei¬ ne Anzahl von zu unterschiedlichen Abtast Zeitpunkten erfass- ten unterschiedlichen Bitmustern größer ist als ein vorgege¬ bener Schwellwert. Es wird vorgeschlagen, dass, wenn die verschiedenen zugeord¬ neten Prüfbits an den Ausgängen der logischen Elemente, bei¬ spielsweise der Inverter, möglichst viele verschiedene Bit¬ muster ausbilden, auf eine ausreichende Zufälligkeit ge¬ schlossen wird. Dadurch kann im Wesentlichen ausgeschlossen werden, dass statische oder periodische oszillatorische Zu¬ stände in dem jeweiligen Ringoszillator vorliegen. In further embodiments of the method, the excluded selected output signal is output as a random signal if ei ¬ ne number of different sampling time points erfass- ten different bit patterns is greater than a specified differently Bener threshold. It is proposed that, if the various zugeord ¬ Neten check bits at the outputs of the logic elements, wherein ¬ play, the inverter forming, as many different bit ¬ pattern, ge ¬ joined to a sufficient randomness. This can substantially excluded that static or periodic oscillatory levels at ¬ present in the respective ring oscillator.
Bei dem Verfahren kann die Häufigkeit der aufgetretenen Bit¬ muster über eine vorgegebene Anzahl von Abtast Zeitpunkten er- mittelt werden. Beispielsweise wird zur Klassifizierung des jeweiligen Ringoszillatorschaltkreises mit einer ungeraden Anzahl von Invertern über eine begrenzte Anzahl, von bei¬ spielsweise einigen Tausend Malen, ein Bitmuster ermittelt. Die Anzahl der vorgegebenen Abtast Zeitpunkte wird beispiels¬ weise in Abhängigkeit von der Anzahl der gleichzeitig erfass- ten Ausgangssignale bestimmt. Bei dem Verfahren kann ferner ein Abtasten des Zufallssignals zum Erzeugen eines Zufallsbits durchgeführt werden. Das als zufällig erkannte Zufallssignal hat eine zeitlich unregelmä¬ ßige Signalform und schwankt zufällig zwischen einem logi¬ schen H- und L-Pegel. Erst durch das Abtasten, beispielsweise mit Hilfe eines Zwischenspeicherelements, wie einem Flip- Flop, wird ein festgelegter Zufallsbitwert erzeugt. Dabei ergibt sich zufällig ein logischer H- oder L-Pegel am Ausgang des jeweiligen Flip-Flops. Es wird ferner eine Vorrichtung zum Erzeugen von Zufallsbits vorgeschlagen, welche umfasst: In the method, the frequency of the occurring bit pattern ¬ over a predetermined number of sampling times can be determined. For example, the classification of the respective ring oscillator circuit having an odd number of inverters through a limited number of play determined several thousand times a bit pattern in ¬. The number of the predetermined sampling points in time is Example ¬ determined depending on the number of simultaneously erfass- th output signals. In the method, further sampling the random signal to generate a random bit may be performed. The random signal recognized as happens to have a temporally irregular shapes ¬ ssige waveform and varies randomly between a logi ¬ rule H and L level. Only by scanning, for example by means of a buffer element, such as a flip-flop, a fixed random bit value is generated. This results randomly a logical H or L level at the output of the respective flip-flops. There is also proposed an apparatus for generating random bits, which comprises:
einen Ringoszillatorschaltkreis mit mehreren, zumindest teilweise rückgekoppelten logischen Elementen, welche jeweils ein Eingangssignal in ein Ausgangssignal ausgeben;  a ring oscillator circuit having a plurality of at least partially fed-back logic elements each outputting an input signal to an output signal;
eine Abtasteinrichtung, welche eingerichtet ist, mehrere der Ausgangssignale gleichzeitig zu erfassen und jedem er- fassten Ausgangssignal ein Prüfbit zuzuordnen, wobei die gleichzeitig erfassten Prüfbits ein Bitmuster bilden;  a sampling device which is set up to simultaneously detect a plurality of the output signals and to assign a check bit to each detected output signal, the simultaneously detected check bits forming a bit pattern;
eine Auswerteeinrichtung, welche eingerichtet ist, eine Häufigkeit von aufgetretenen Bitmustern bei einem mehrfachen gleichzeitigen Erfassen zu bestimmen, wobei die Auswerteein¬ richtung ferner eingerichtet ist, eine Anzahl von verschiede¬ nen Bitmustern zu zählen. Die Vorrichtung ist insbesondere eingerichtet, ein wie zuvor und im Folgenden beschriebenes Verfahren durchzuführen. an evaluation device which is set up to determine a frequency encountered bit patterns in a multiple simultaneous capturing, wherein the Auswerteein ¬ direction is further adapted to count a number of Various ¬ NEN bit patterns. The device is in particular configured to carry out a method as described above and below.
Die Vorrichtung umfasst einen Ringoszillatorschaltkreis, der in der Regel aus einer ungeraden Anzahl von The device comprises a ring oscillator circuit, which usually consists of an odd number of
Invertereinrichtungen gebildet ist. Einige der Rückkopplungs¬ pfade liefern dann ein meist zufälliges Schwingungsverhalten. Es kann jedoch geschehen, dass der Ringoszillatorschaltkreis in einen statischen Zustand oder periodischen Oszillator- ischen Zustand verfällt, so dass an den Ausgangsknoten der logischen Elemente in der Regel kein genügend zufälliges Sig¬ nal mehr abgreifbar ist. Der verwendete Ringoszillatorschalt¬ kreis kann dabei insbesondere als Fibonacci- oder Galois- Ringoszillator ausgestaltet sein. Inverter is formed. Some of the feedback paths ¬ then deliver a mostly random vibration behavior. However, it may happen that the ring oscillator circuit enters a static state or periodic oscillator circuit. pean state expires, so that the output node of the logic elements is usually not enough random Sig ¬ nal longer be tapped. The used Ringoszillatorschalt ¬ circle can be configured in particular as a Fibonacci or Galois ring oscillator.
Aufgrund der effizienten Prüfung und Klassifizierung der im Ringoszillatorschaltkreis vorliegenden Signalformen als zu¬ fällig oder nicht zufällig eignet sich die Vorrichtung insbe- sondere als Implementierung in einem FPGA oder ASIC. Die Vor¬ richtung und das Verfahren ermöglichen einen Online-Test ohne aufwändige Speicher- oder Rechenoperationen. Thanks to the efficient testing and classification of this in the ring oscillator circuit waveforms than ¬ due or not by chance that the device is suitable in particular as an implementation in an FPGA or ASIC. The pre ¬ device and method allow an online test without consuming memory or computing operations.
Es kann ferner eine Speichereinrichtung zum Speichern der Bitmuster vorgesehen sein. Der Ringoszillatorschaltkreis kann ferner einen Ausgang aufweisen, an dem eines der Ausgangssig¬ nale als Zufallssignal abgreifbar ist. Furthermore, a memory device for storing the bit patterns can be provided. The ring oscillator circuit may further comprise an output at which one of the Ausgangssig ¬ signals can be tapped off as a random signal.
Es ist möglich, dass die Abtasteinrichtung mehrere Abtast- und Halteglieder zum Erfassen der mehreren Ausgangssignale unterschiedlicher logischer Elemente umfasst. Die Abtast- und Halteglieder können getaktet oder von einer Steuereinrichtung gesteuert operieren. Die Abtast- und Halteglieder setzen da¬ bei den erfassten Signalpegel in einen Prüfbitpegel um. It is possible that the scanning device comprises a plurality of sample and hold elements for detecting the plurality of output signals of different logic elements. The sample and hold members may be clocked or controlled by a controller. The sample and hold elements set there ¬ at the detected signal level in a Prüfbitpegel.
In Ausführungsformen ist die Vorrichtung Teil einer FPGA-Ein- richtung oder einer ASIC-Einrichtung . In embodiments, the device is part of an FPGA device or an ASIC device.
Das Verfahren kann insbesondere über geeignete Beschreibungs- sprachen, beispielsweise VHDL oder Verilog, auf oder in einer FPGA- oder ASIC-Vorrichtung implementiert werden. In particular, the method can be implemented on or in an FPGA or ASIC device via suitable description languages, for example VHDL or Verilog.
Weiterhin wird ein Computerprogramm-Produkt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durch- führung eines entsprechenden Verfahrens veranlasst. Furthermore, a computer program product is proposed which causes the execution of a corresponding method on a program-controlled device.
Ein Computerprogramm-Produkt wie ein Computerprogramm-Mittel kann beispielsweise als Speichermedium, wie Speicherkarte, USB-Stick, CD-ROM, DVD oder auch in Form einer A computer program product such as a computer program means can be used, for example, as a storage medium, such as a memory card, USB stick, CD-ROM, DVD or even in the form of a
herunterladbaren Datei von einem Server in einem Netzwerk be¬ reitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogramm-Produkt oder dem Computerprogramm-Mittel erfolgen. Als programmge¬ steuerte Einrichtung kommt insbesondere eine Steuereinrich¬ tung, wie zum Beispiel ein Mikroprozessor für eine Smartcard oder dergleichen in Frage. Das Verfahren oder die Vorrichtung kann auch festverdrahtet oder in konfigurierbaren FPGAs oder ASICSs implementiert werden. downloadable file from a server in a network be ¬ provided or delivered. This can be done, for example, in a wireless communication network by transmitting a corresponding file with the computer program product or the computer program means. As programmge ¬ controlled device, in particular a Steuereinrich ¬ processing, such as a microprocessor for a smart card or the like out of the question. The method or device may also be hardwired or implemented in configurable FPGAs or ASICSs.
Weiterhin wird ein Datenträger mit einem gespeicherten Compu¬ terprogramm mit Befehlen vorgeschlagen, welche die Durchfüh¬ rung eines entsprechenden Verfahrens auf einer programmge¬ steuerten Einrichtung veranlassen. Furthermore, a data carrier is provided with a stored Compu ¬ terprogramm with commands, which cause the imple ¬ tion of a corresponding method on a programmge ¬ controlled device.
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Vorrichtungen oder Verfahrensvarianten. Dabei wird der Fach¬ mann 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 man ¬ will also add individual aspects as improvements or additions to the respective basic form of the invention, or change from ¬.
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 Zusam¬ menhang mit der folgenden Beschreibung der Ausführungsbei¬ spiele, die im Zusammenhang mit den Zeichnungen näher erläu¬ tert werden. The above-described characteristics, features and advantages of this invention and the manner of attaining them, will become more apparent and clearly understood in together ¬ menhang with the following description of Ausführungsbei games ¬ which discuss on conjunction with the drawings in more detail be ¬ tert ,
Dabei zeigen: Showing:
Fig. 1 ein schematisches Ablaufdiagramm für ein Ver¬ fahren zum Klassifizieren von Zufallsbits; Fig. 2 eine schematische Darstellung eines Ausfüh rungsbeispiels für eine Vorrichtung zum Er zeugen und Klassifizieren von Zufallsbits; 1 is a schematic flow diagram for a method for classifying random bits; Fig. 2 is a schematic illustration of an embodiment of an apparatus for generating and classifying random bits;
Fig. 3, 7 schematische Darstellungen von weiteren Aus¬ führungsbeispielen für eine Vorrichtung zum Erzeugen und Klassifizieren von Zufallsbits mit Fibonacci-Ringoszillatoren; und 3, 7 are schematic representations of further exemplary embodiments for a device for generating and classifying random bits with Fibonacci ring oscillators; and
Darstellungen von Signalverläufen in Ausfüh rungsbeispielen von Vorrichtungen zum Erzeu gen und Klassifizieren von Zufallsbits mit Fibonacci-Ringoszillatoren . In den Figuren sind funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist. Representations of waveforms in embodiments of devices for generating and classifying random bits with Fibonacci ring oscillators. In the figures, functionally identical elements are provided with the same reference numerals, unless stated otherwise.
In der Fig. 1 ist ein schematisches Ablaufdiagramm für ein Verfahren zum Klassifizieren oder Erzeugen von Zufallsbits dargestellt, welches beispielsweise mit einer Vorrichtung, wie sie in der Fig. 2 als schematische Darstellung als Aus¬ führungsbeispiel für eine Vorrichtung zum Erzeugen und Klas¬ sifizieren von Zufallsbits gezeigt ist, durchgeführt werden kann . In Fig. 1 is a schematic flow diagram for a method for classifying or generating random bits is shown, which for example with a device as ¬ sify as a schematic representation as from ¬ exemplary implementation of an apparatus for generating and Klas in Fig. 2 of Random bits is shown can be performed.
Das Verfahren und die Vorrichtung eignen sich beispielsweise dazu, bei Zufallszahlengeneratoren, die mit Hilfe von Ringos¬ zillatoren zufällige Signalformen erzeugen, zu erkennen, ob ein ungewünschter Oszillationszustand eintritt. In diesem Fall kann ein Fehleralarm ausgelöst werden, so dass die er¬ zeugten Bits nicht als Zufallsbits verwendet werden. The method and apparatus are suitable for example to at random number generators that produce with the help of Ringo ¬ zillatoren random waveforms to detect whether an unwanted oscillation occurs. In this case, a fault alarm can be triggered so that he testified ¬ bits are not used as random bits.
In einem ersten Schritt Sl werden Ausgangssignale von logi¬ schen Elementen eines Ringoszillatorschaltkreises bereitge- stellt. In diesem Schritt Sl wird beispielsweise ein Ringos¬ zillator 2 der Vorrichtung zum Erzeugen von Zufallsbits 1 be¬ trachtet. Der Ringoszillator 2 umfasst eine ungerade Anzahl von Invertern 2i - 2n, die miteinander verkettet sind. Jeder der Inverter 2i - 2n hat einen Eingang und einen Ausgang, der nicht explizit bezeichnet ist. Am jeweiligen Eingang werden Eingangssignale Ei - En empfangen, die invertiert als Aus¬ gangssignale Ai - An ausgegeben werden. In a first step Sl output signals from logi ¬ rule elements of a ring oscillator circuit are bereitge- provides. In this step Sl a ringos ¬ zillator 2 of the apparatus for generating random bits 1, for example, be ¬ seeks. The ring oscillator 2 comprises an odd number of inverters 2i - 2 n, which are chained together. Everyone the inverter 2i - has 2 n an input and an output, which is not explicitly referred to. At the respective input input signals are egg - E n received, the inverted as from ¬ output signals Ai - output A n.
An einigen Stellen sind Rückkopplungsschleifen vorgesehen, die eine unregelmäßige Schwingungs- oder Signalform innerhalb des Ringoszillatorschaltkreises hervorrufen. In dem Ausfüh¬ rungsbeispiel der Fig. 2 ist zum Beispiel zwischen dem p-ten und p+l-ten Inverter eine Rückkopplung vorgesehen. In some places, feedback loops are provided which cause an irregular waveform within the ring oscillator circuit. In the exporting ¬ approximately example of FIG. 2, for example between the pth and p + l-th inverter, a feedback is provided.
An einem Ausgang 8 des Ringoszillators 2 ist ein Zufallssig¬ nal ZS abgreifbar. Das Zufallssignal ZS entspricht dabei dem Ausgangssignal An des n-ten Inverters 2n. Es sind abweichende Ringoszillatoren, beispielsweise in der Art von Galois- oder Fibonacci-Oszillatoren denkbar. Außerdem können weitere logi¬ sche Elemente vorgesehen werden. 8 at an output of the ring oscillator 2, a Zufallssig ¬ nal ZS can be tapped. The random signal ZS corresponds to the output signal A n of the n-th inverter 2 n . There are different ring oscillators, for example in the form of Galois or Fibonacci oscillators conceivable. In addition, further logi ¬ cal elements can be provided.
Um nun zu überprüfen, ob eine zufällige Signalform am Ausgang 8 vorliegt, und nicht etwa ein Oszillationszustand oder sta¬ tischer Zustand erreicht wird, werden mehrere Ausgangssignale Ap - Aq abgegriffen. Es können grundsätzlich alle Ausgangs¬ signale Ai - An verwendet werden. Um Speicher und Aufwand zu sparen, genügt jedoch eine Auswahl von Ausgangssignalen. In order to verify now if a random waveform present at the output 8, and not as an oscillation or sta ¬ genetic condition is achieved, a plurality of output signals A p - A q tapped. It can basically all output signals Ai ¬ - use A n. To save memory and effort, however, a selection of output signals is sufficient.
In einem zweiten Schritt S2 werden die mehreren Ausgangssig¬ nale Ap - Aq der verschiedenen logischen Elemente 2P - 2q zum Erzeugen von Prüfbits erfasst. Die q-p-Prüfbits werden in ei¬ ner Abtasteinrichtung 3 mit Hilfe von q-p Abtast- und Halte- gliedern 3P - 3q erzeugt. Die Abtast- und Halteglieder haben jeweils einen Takteingang, dem ein Taktsignal oder Abtastsig¬ nal CK zugeführt ist. A q of the various logical elements 2 P - - In a second step S2 the plurality Ausgangssig ¬ dimensional p A q 2 are detected for generating check bits. The qp check bits are generated in egg ¬ ner scanning device 3 by means of qp sample and hold members 3 P - 3 q . The sample and hold members each have a clock input to which a clock signal or Abtastsig ¬ signal CK is supplied.
In Abhängigkeit von dem Takt- oder Abtastsignal CK liefern die Abtast- und Halteglieder 3P - 3q einen logischen Aus¬ gangspegel, der als Prüfbit Pp - Pq verwendet wird. In dem Ausführungsbeispiel der Fig. 2 wird das Abtasten beispiels¬ weise zu vorgegebenen Zeitpunkten mehrfach hintereinander oder in Abhängigkeit von dem Taktsignal CK durch eine Steuer¬ einrichtung 5 durchgeführt. Die q-p Prüfbits PP - Pq werden einer Speichereinrichtung 4 zugeführt, die die Prüfbits PP - Pq für einen jeweiligen Abtast Zeitpunkt als Bitmuster BMi - BMi abspeichert. Bei p-q abgetasteten Ausgangssignalen Ap - Aq sind 2p~q unterschiedliche Bitmuster BMi möglich. In response to the clock or sampling signal CK, the sample and hold elements provide 3 P - 3 q From a logical ¬ output level, as the check bit P p - P q is used. In the embodiment of FIG. 2, the scanning example, ¬ at predetermined times several times in succession or in response to the clock signal CK performed by a control ¬ device 5. The qp check bits P P - P q are fed to a memory device 4, which stores the check bits P P - P q for a respective sampling time as a bit pattern BMi - BMi. For pq-sampled output signals A p - A q , 2 p ~ q different bit patterns BMi are possible.
Der Speicher 4 ist über Steuer- oder Datensignale CT an die Steuereinrichtung 5 gekoppelt. Die Steuereinrichtung 5 steu- ert ferner über einen Setz- oder Starteingang 7 den Ringos¬ zillatorschaltkreis 2. Zum Starten einer (chaotischen oder unregelmäßigen) Oszillation der miteinander verketteten In- verter 2 i - 2n werden beispielsweise zunächst alle Eingangs¬ signale Ei - En zunächst auf einen vorgegebenen wohldefinier- ten Pegel gebracht. Die Oszillation wird angestoßen, indem eine Signalflanke beispielsweise als Starteingangssignal Ei angekoppelt wird und die übrigen Eingangssignalpegel E2 - En frei oszillierend gelassen werden. Im Verfahren gemäß der Fig. 1 erfolgt im Schritt S3 ein Zu¬ ordnen der gleichzeitig erfassten Prüfbits Pp - Pq zu einem jeweiligen Bitmuster BMi . In Abhängigkeit von der Häufigkeit des Auftretens verschiedener Bitmuster BMi werden nun bei¬ spielsweise mit Hilfe der Steuereinrichtung 5 das ausgewählte Ausgangssignal An bzw. ZS als zufällig oder nicht zufällig klassifiziert. Diese Klassifizierung oder der Erzeugungs¬ schritt S4 können mehrere Unterschritte umfassen. The memory 4 is coupled to the control device 5 via control or data signals CT. Further, the control unit 5 con- trols a set or start input 7 the ringos ¬ zillatorschaltkreis 2. To start a (chaotic or irregular) oscillation of the concatenated in- verter 2 i - n 2 are, for example, initially all input signals Ei ¬ - E n first brought to a predetermined well-defined level. The oscillation is triggered by a signal edge is coupled, for example, as the start input signal Ei and the remaining input signal level E 2 - E n are left freely oscillating. In the method according to FIG. 1, an assignment of the simultaneously detected check bits P p -P q to a respective bit pattern BMi takes place in step S3. Depending on the frequency of occurrence of different bit patterns will now be BMi the selected output signal A n or ZS classified in ¬ play, with the aid of the control device 5 as a random or not random. This classification or the generation ¬ step S4 several sub-steps may include.
Zunächst werden im Schritt S40 die Anzahl von verschiedenen Bitmustern Blr welche zu unterschiedlichen Abtast Zeitpunkten erfasst wurden, bestimmt. Dabei wird insbesondere die Anzahl verschiedener Bitmuster, die auftreten, erfasst. Die Anzahl der verschiedenen Bitmuster wird in einem Vergleichsschritt S41 mit einem Schwellwert verglichen. Der Schwellwert kann beliebig angepasst werden und bestimmt beispielsweise dieFirst, in step S40, the number of different bit patterns B lr detected at different sampling times is determined. In particular, the number of different bit patterns that occur is recorded. The number of different bit patterns is compared with a threshold value in a comparison step S41. The threshold value can be adjusted as desired and determines, for example, the
Sensibilität des Tests oder des Klassifizierungsvorgangs für zufällige oder nicht zufällige Daten. Wird erkannt, dass nur wenige verschiedene Bitmuster an den verschiedenen Ausgangs- Signalen Ap - An abgeleitet werden, also die Anzahl unterhalb des vorgegebenen Schwellwertes liegt, wird im Schritt S42 der Ringoszillator bzw. das Ausgangssignal An bzw. ZS als nicht zufällig eingestuft. Sensitivity of the test or classification process for random or non-random data. It is recognized that only a few different bit patterns are present at the different output Signals A p - A n are derived, so the number is below the predetermined threshold, the ring oscillator or the output signal A n or ZS is classified as not random in step S42.
Die Steuereinrichtung 5 kann beispielsweise ein entsprechen¬ des Alarm- oder Warnsignal A an einem Warnausgang 10 ausge¬ ben. Die Steuereinrichtung 5 kann auch eine Ausgabe des Sig¬ nals ZS unterbinden. Wird jedoch im Schritt S41 erkannt, dass viele unterschiedliche Bitmuster BMi vorliegen, d.h. die er- fasste Anzahl von unterschiedlichen Bitmustern ist größer als der vorgegebene Schwellwert, erfolgt eine Klassifizierung der abgetasteten oder erfassten Ausgangssignale Ap - Aq und ins¬ besondere des Zufallssignals ZS als zufällig. The control means 5 may, for example, a match of the ¬ alarm or warning signal to a warning output A 10 out ¬ ben. The control device 5 can also prevent an output of the signal ¬ ZS. However, recognized in step S41 that many different bit patterns BMi present, ie the ER summed number of different bit patterns is greater than the predetermined threshold, then a classification of the sensed or detected output signals A p - A q and into ¬ particular the random signal ZS as random.
In der Folge wird im Schritt S5 beispielsweise gemäß der Fig. 2 durch die Steuereinrichtung 5 gesteuert, das Zufalls¬ signal ZS, welches dem n-ten Ausgangssignal des Inverters 2n entspricht, abgetastet. Das Abtasten kann mit Hilfe einer Zwischenspeichereinrichtung, wie beispielsweise einem Flip- Flop 6, erfolgen. Das Flip-Flop 6 liefert aus dem oszillie¬ renden, mit einem nicht definierten logischen Pegel behafte¬ ten Zufallssignal ZS ein Zufallsbit mit einem Pegel 1 oder 0. Dieses Zufallsbit ZB wird am Ausgang 9 ausgegeben. Insofern liefern die Vorrichtung und das Verfahren eine zuverlässige Maßnahme zum Erzeugen von echten Zufallsbits. 2, in the sequence in step S5, for example, according to FIG. Controlled by the control means 5, the corresponding n-random ¬ signal ZS to the n-th output of the inverter 2 scanned. The scanning can be done with the aid of a buffer device, such as a flip-flop 6. The flip-flop 6 provides from the oszillie ¬ leaders, with a non-defined logic level behafte ¬ th random signal ZS a random bit with a level 1 or 0. This example random bit is output at the output. 9 As such, the apparatus and method provide a reliable means of generating true random bits.
Die Anmelderin hat nun verschiedene als Zufallsbitgeneratoren verwendete Ringoszillatorschaltkreise mit Hilfe des vorge- schlagenen Verfahrens untersucht. In Fig. 3 ist ein Ringos¬ zillator 11 wiedergegeben, der als Fibonacci-Ringoszillator ausgestaltet ist. Es sind sieben verkettete Inverter 2i - 27 vorgesehen, wobei Rückkopplungen gemäß dem Rückkopplungspoly¬ nom x7 + x6 + x3 + x2 + x + 1 implementiert sind. An den je- weiligen Ausgängen der Inverter 2i - 27 werden sieben Aus¬ gangssignale Ai - A7 abgegriffen. Diese abgegriffenen Aus¬ gangssignale können Prüfbits Pi - P7 zugeordnet werden. Die sieben Prüfbits Pi - P7 bilden zu jedem Abtast Zeitpunkt ein Bitmuster BM± . The Applicant has now examined various ring oscillator circuits used as random bit generators by means of the proposed method. In Fig. 3, a Ringos ¬ zillator 11 is reproduced, which is designed as a Fibonacci ring oscillator. There are seven concatenated inverters 2i-2 7 , wherein feedbacks according to the feedback polynomial x 7 + x 6 + x 3 + x 2 + x + 1 are implemented. From seven ¬ output signals Ai are 2 7 - - A 7 tapped at the JE weiligen outputs of inverters 2i. This tapped off ¬ output signals can check bits Pi - P are assigned. 7 The seven check bits Pi - P7 form a bit pattern BM ± at each sampling time.
In den Fig. 4, 5 und 6 sind nun Signalformen des Ausgangssig- nals A7 wiedergegeben, das als Zufallssignal ZS betrachtet werden kann. In den Fig. 4, 5 und 6 ist jeweils ein Zeitraum von 400 ns dargestellt. Man erkennt, dass über die ersten et¬ wa 50 ns bei jedem Start des Ringoszillators 11 eine ähnliche Signalform erreicht wird. Ab etwa 50 ns sind die Signale je- doch qualitativ als zufällig zu erachten. Untersuchungen der Anmelderin haben nun ergeben, dass bei einem Abtasten oder Samplen von 5000 Mal in einem Abstand von 200 ns 123 ver¬ schiedene Bitmuster auftreten. Insgesamt sind bei sieben Prüfbits 27 = 128 verschiedene Bitmuster Bx denkbar. In FIGS. 4, 5 and 6, signal forms of the output signal A 7 are now reproduced, which can be regarded as a random signal ZS. FIGS. 4, 5 and 6 each show a period of 400 ns. It is evident that over the first wa et ¬ a similar waveform is achieved 50ns each time the ring oscillator. 11 However, starting at around 50 ns, the signals are qualitatively coincidental. Investigations of the Applicant have now shown that when ver ¬ sampling or sampling of 5000 times at a distance of 200 ns 123 ver ¬ different bit patterns occur. In total, seven 7 bits allow for 2 7 = 128 different bit patterns B x .
Die Fig. 7 zeigt eine weitere Ausführungsform eines FIG. 7 shows a further embodiment of a
Fibonacci-Ringoszillators 12. Im Wesentlichen sind dieselben Elemente wie in der Fig. 3 enthalten, wobei jedoch das Rück¬ kopplungspolynom zu x7 + x6 + x2 + 1 gewählt ist. Betrachtet man nun den Signalverlauf A7 am Ausgang des letzten Inverters 27, ergibt sich ein gleichmäßiges Schwingungsverhalten. Das heißt, wie es in der Fig. 8 dargestellt ist, ist ein periodi¬ scher oszillativer Verlauf des Ausgangssignals A7 zu erken¬ nen, der kaum zufällige Eigenschaften aufweist. Der Ringos- zillator, wie er in der Fig. 7 dargestellt ist, eignet sich daher nicht zum Erzeugen von Zufallsbits. Fibonacci ring oscillator 12. Essentially the same elements as in FIG. 3 are included, but with the feedback polynomial chosen to be x 7 + x 6 + x 2 + 1. Looking now at the waveform A 7 at the output of the last inverter 2 7 results in a uniform vibration behavior. That is, as shown in FIG. 8, a periodi ¬ shear oszillativer of the output signal A 7 to erken ¬ NEN having hardly random properties. The ring oscillator, as shown in FIG. 7, is therefore not suitable for generating random bits.
Die Anmelderin hat auch hier die Bitmuster BMX über 5000 Durchläufe ermittelt. Es erfolgten wiederum 5000 Abtastungen von Prüfbits Pi - P7 im Abstand von 200 ns . Dabei wurden le¬ diglich 14 der 128 möglichen Bitmuster mit 7 Bits erzeugt. The applicant has also determined the bit pattern BM X over 5000 passes. In turn, 5000 samples of check bits Pi-P 7 were made at intervals of 200 ns. Here, le ¬ diglich 14 of the 128 possible bit patterns have been generated by 7 bits.
Die Zahl der aufgetretenen Bitmuster unterscheiden sich mit Werten von 14 im Fall des periodisch schwingenden Generators und von 123 im Fall der chaotischen Schwingungen ganz erheb¬ lich. Die Wahl des Schwellwerts ist also unkritisch. Ein geeigneter Schwellwert kann zum Beispiel bei 50 angesetzt werden, wobei erkannt würde, dass lediglich 14 verschiedene Bitmuster auftreten, also die Anzahl von unterschiedlichen Bitmustern aus 7 Bits über 5000 Durchläufe oder Takt- oder Abtast Zeitpunkte unterhalb des Schwellwerts von 50 liegt. Der genaue Schwellwert kann angepasst an die Anzahl und Länge der Inverterketten erfolgen. Die Untersuchungen der Anmelderin erfolgten auf einem FPGA-Chip des Typs Spartan-3 der Fa. The number of encountered bit patterns differ completely fixed ¬ Lich with values of 14 in the case of periodically oscillating generator and of 123 in the case of chaotic oscillations. The choice of the threshold value is therefore not critical. For example, a suitable threshold may be set at 50, recognizing that there are only 14 different bit patterns, that is, the number of different bit patterns of 7 bits over 5,000 passes, or clock or sample times below the threshold of 50. The exact threshold value can be adapted to the number and length of the inverter chains. The investigations of the applicant were carried out on a FPGA chip of the type Spartan-3 of the Fa.
Xilinx . Xilinx.
In weiteren Untersuchungen der Anmelderin wurden Fibonacci- Ringoszillatoren der Länge 16 mit verschiedenen Rückkopp¬ lungspolynomen getestet. Bei jeweils 5000 Samples im Abstand von 2 ps sind 16 Bit lange Bitmuster BMi betrachtet worden. Diejenigen Rückkopplungspolynome, die zu periodischen Schwin¬ gungen führen, führten lediglich zu 32, 40, 51 und 62 ver¬ schiedenen Prüfbitmustern . bei 26 anderen Rückkopplungspoly¬ nomen, die zu chaotischen Schwingungen führen, liegt die Zahl der verschiedenen erfassten Bitmuster zwischen 1261 und 2154. Insofern kann beispielsweise bei Fibonacci-Ringoszillatoren der Länge 16 ein Schwellwert für unterschiedliche Bitmuster zwischen 200 und 500 gewählt werden. In further studies, the Applicant Fibonacci ring oscillators were the length of 16 tested with different return Kopp ¬ lungspolynomen. For each 5000 samples spaced 2 ps, 16 bit long bit patterns BMi have been considered. Those feedback polynomials that lead to periodic oscillations ¬ conditions, only resulted in 32, 40, 51 and 62 ver ¬ different test bit patterns. at 26 other feedback poly ¬ nomen that lead to chaotic oscillations, the number of different detected bit patterns between 1261 and 2154th In this respect, for example, in Fibonacci ring oscillators of length 16, a threshold for different bit patterns between 200 and 500 are selected.
Das Verfahren liefert aufwandsgünstig einen Online-Test für insbesondere in FPGAs implementierten Zufallsbitgeneratoren, die Ringoszillatoren einsetzen. Es ergibt sich eine sichere Erkennung von Fehlfunktionen, und damit periodischem oszilla¬ torischen Verhalten des eingesetzten Ringoszillators. Es wird nur ein geringer Speicheraufwand benötigt, da für jedes der 2p~q möglichen Bitmuster jeweils nur ein Bitspeicherplatz be¬ nötigt wird. Durch eine geeignete Wahl der ausgekoppelten Prüfbits kann das Verfahren und der Hardwareaufwand skaliert werden . Es ist auch möglich, beispielsweise bei Fibonacci- Ringoszil¬ latoren mit 16 eingesetzten Invertern nur eine Auswahl von Ausgangssignalen, beispielsweise die acht ersten Ausgangssig¬ nale Ai - A8, zu verwenden. Die Untersuchungen der Anmelderin ergaben auch dabei, dass bei den periodisch schwingenden Fibonacci-Ringoszillatoren nur 16 oder 20 unterschiedliche Bitmuster auftreten. Bei chaotischen Signalverläufen sind je¬ doch zwischen 240 und 256 verschiedene Bitmuster der 28 mög- liehen aufgetreten. Bei einem Abgriff von nur acht beispiels¬ weise niedersignifikanten Bits bei Fibonacci- Ringoszillato¬ ren der Länge 16 kann eine Schwelle von 100 gewählt werden, ab der der Ringoszillator Zufallsbits bzw. Zufallssignale liefern kann. The method provides a cost-effective online test for especially implemented in FPGA random bit generators that use ring oscillators. This results in a reliable detection of malfunctions, and thus periodic oszilla ¬ toric behavior of the ring oscillator used. It is required only a small memory requirements, as the 2 p ~ only one bit location will be for each compels ¬ q possible bit patterns. By a suitable choice of the decoupled check bits, the method and the hardware expenditure can be scaled. It is also possible, for example Fibonacci Ringoszil ¬ simulators with 16 inverters used only a selection of output signals, for example, the first eight Ausgangssig ¬ dimensional Ai - to use A 8. The investigations of the applicant also revealed that only 16 or 20 different bit patterns occur in the periodically oscillating Fibonacci ring oscillators. In chaotic waveforms depending ¬ but different bit patterns 240-256 2 8 possible loan the occurred. When a tap of only eight Example ¬ example low significant bits in Fibonacci Ringoszillato ¬ length ren 16, a threshold 100 can be chosen from the ring oscillator can provide random or random signals.
Obgleich in den vorbeschriebenen Beispielen Fibonacci- Ringoszillatoren untersucht wurden, kann dies genauso auf an¬ dere kompliziertere Ringoszillatoren angewendet werden. Bei¬ spielsweise kann das Verfahren insbesondere für Galois- Ring- Oszillatoren zur Zufallsbiterzeugung verwendet werden. Although Fibonacci ring oscillators were tested in the above examples, this can be applied equally to at ¬ wider complicated ring oscillators. In ¬ example, the method can be used in particular for Galois ring oscillators for Zufallsbiterzeugung.
Obwohl die Erfindung im Detail durch das bevorzugte Ausfüh¬ rungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele einge- schränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen . Although the invention in detail by the preferred exporting ¬ approximately example has been illustrated and described in detail, the invention is not restricted by the disclosed examples and other variations can be derived by those skilled thereof, without departing from the scope of the invention.

Claims

Patentansprüche claims
1. Verfahren zum Klassifizieren und/oder Erzeugen von Zu¬ fallsbits (ZB) umfassend: 1. A method for classifying and / or generating comprehensively ¬ fallsbits (ZB):
Bereitstellen (Sl) von Ausgangssignalen (Ai - An) von logischen Elementen (2i - 2n) eines Ringoszillatorschaltkrei¬ ses (2), wobei die logischen Elemente (2i - 2m) zumindest teilweise rückgekoppelt sind und jeweils ein Eingangssignal (Ei - En) in ein Ausgangssignal (Ai - An) ausgeben; Providing (Sl) of output signals (A i - A n) of logic elements (2i - 2 n) a Ringoszillatorschaltkrei ¬ ses (2), wherein the logic elements (2i - 2 m) are at least partially fed back and, respectively, an input signal (Ei - E n ) in an output signal (Ai - A n ) output;
gleichzeitiges Erfassen (S2) von mehreren Ausgangssigna¬ len (Ap - Aq) verschiedener logischer Elemente (2P -2q) des Ringoszillatorschaltkreises (2) zum Erzeugen von Prüfbits (Pp - Pq) ; simultaneously detecting (S2) a plurality of output signals (A p -Aq ) of different logic elements (2 P -2 q ) of the ring oscillator circuit (2) to generate check bits (P p -P q );
Zuordnen (S3) der gleichzeitig erfassten Prüfbits (Pp - Pq) zu einem jeweiligen Bitmuster ( ΒΜχ ) ; und Assigning (S3) the simultaneously detected check bits (P p -P q ) to a respective bit pattern (ΒΜχ); and
Klassifizieren (S4) eines ausgewählten Ausgangssignals (An) als zufälliges Zufallssignal (ZS) oder als nicht zufällig in Abhängigkeit von einer Häufigkeit der aufgetretenen Bit¬ muster (Bx) , wobei eine Anzahl von verschiedenen Bitmustern (BMi) gezählt wird. Classifying (S4) of a selected output signal (A n) as random coincidence signal (ZS) or as a non-random in response to a frequency of the occurring bit ¬ pattern (B x), wherein a number of different bit patterns (BMI) is counted.
2. Verfahren nach Anspruch 1, ferner umfassend: Bestimmen (S40) einer Anzahl von verschiedenen Bitmustern (Bx) , welche zu unterschiedlichen Abtast Zeitpunkten erfasst wurden. The method of claim 1, further comprising: determining (S40) a number of different bit patterns (B x ) acquired at different sampling times.
3. Verfahren nach Anspruch 1 oder 2, ferner umfassend: Ver¬ gleichen (S41) der Anzahl verschiedener Bitmuster (Bx) mit einem Schwellwert. 3. The method of claim 1 or 2, further comprising: Ver ¬ same (S41) of the number of different bit patterns (B x ) with a threshold value.
4. Verfahren nach einem der Ansprüche 1 - 3, wobei das ausge¬ wählte Ausgangssignal (An) als Zufallssignal (ZS) ausgegeben wird, falls eine Anzahl von zu unterschiedlichen Abtastzeit¬ punkten erfassten unterschiedlichen Bitmustern (BMX) größer ist als ein vorgegebener Schwellwert. 4. The method according to any one of claims 1-3, wherein the out ¬ selected output signal (A n) as a random signal (ZS) is output if a plurality of different sampling ¬ points detected different bit patterns (BM X) is greater than a predetermined threshold.
5. Verfahren nach einem der Ansprüche 1 - 4, wobei die Häu¬ figkeit der aufgetretenen Bitmuster (Bx) über eine vorgegebe¬ ne Anzahl von Abtast Zeitpunkten ermittelt wird. 5. A method according to any one of claims 1-4, wherein the stiffness of the ¬ Frequently encountered bit patterns (B x) is determined through a pre give ¬ ne number of sampling points in time.
6. Verfahren nach einem der Ansprüche 1 - 5, ferner umfas¬ send: Abtasten (S5) des Zufallssignals (ZS) zum Erzeugen ei¬ nes Zufallsbits (ZB) . 6. A method according to any one of claims 1-5, further umfas send ¬: sensing (S5) of the random signal (ZS) for generating ei ¬ nes random bits (ZB).
7. Vorrichtung (1) zum Erzeugen von Zufallsbits (ZB) umfas¬ send : 7. Device (1) for generating random bits (ZB) umfas ¬ send:
einen Ringoszillatorschaltkreis (2) mit mehreren zumin¬ dest teilweise rückgekoppelten logischen Elementen (2i - 2m) , welche jeweils ein Eingangssignal (Ei - En) in ein Ausgangs¬ signal (Ai - An) ausgeben; a ring oscillator circuit (2) having a plurality at ¬ least partial feedback logic elements (2i - 2 m) respectively, an input signal (Ei - e n) into an output ¬ signal - to output (A i A n);
einer Abtasteinrichtung (3) , welche eingerichtet ist, mehrere der Ausgangssignale (Ap - Aq) gleichzeitig zu erfas¬ sen und jedem erfassten Ausgangssignal (Ap - Aq) ein Prüfbit (Pq - Pq) zuzuordnen, wobei die gleichzeitig erfassten a scanning device (3) which is arranged more of the output signals (A p - A q) simultaneously erfas ¬ sen and each detected output signal (A p - A q) a check bit (P q - P q) assigned, the same detected
Prüfbits (Pp - Pq) ein Bitmuster (BMX) bilden; Check bits (P p -P q ) form a bit pattern (BM X );
einer Auswerteeinrichtung (5) , welche eingerichtet ist, eine Häufigkeit von aufgetretenen Bitmustern (BMX) bei einem mehrfachen gleichzeitigen Erfassen zu bestimmen, wobei die Auswerteeinrichtung (5) ferner eingerichtet ist, eine Anzahl von verschiedenen Bitmustern (BMX) zu zählen. an evaluation device (5), which is set up to determine a frequency of occurring bit patterns (BM X ) in a multiple simultaneous detection, wherein the evaluation device (5) is further set to count a number of different bit patterns (BM X ).
8. Vorrichtung nach Anspruch 7, wobei die Vorrichtung einge¬ richtet ist, ein Verfahren nach einem der Ansprüche 1 - 6 durchzuführen. 8. The device according to claim 7, wherein the apparatus is turned ¬ directed to a method of any of claims 1 - perform. 6
9. Vorrichtung nach einem der Ansprüche 7 - 8, wobei die lo¬ gischen Elemente (2i - 2n) Invertereinrichtungen sind. 9. Device according to one of claims 7 - 8, wherein the logical elements ¬ (2i - 2 n ) are inverter devices.
10. Vorrichtung nach einem der Ansprüche 7 - 9, ferner mit einer Speichereinrichtung (4) zum Speichern der Bitmuster (BMJ . 10. Device according to one of claims 7 - 9, further comprising a memory device (4) for storing the bit pattern (BMJ.
11. Vorrichtung nach einem der Ansprüche 7 - 10, wobei der Ringoszillatorschaltkreis (2) einen Ausgang aufweist, an dem eines der Ausgangssignale (An) als Zufallssignal (ZS) abgreifbar ist. 11. Device according to one of claims 7 - 10, wherein the ring oscillator circuit (2) has an output at which one of the output signals (A n ) as a random signal (ZS) can be tapped.
12. Vorrichtung nach einem der Ansprüche 7 - 11, wobei der Ringoszillatorschaltkreis (2) als Fibonacci-, Galois-, oder Mehrspur-Ringoszillator ausgestaltet ist. 12. Device according to one of claims 7 - 11, wherein the ring oscillator circuit (2) as Fibonacci, Galois, or multi-track ring oscillator is configured.
13. Vorrichtung nach einem der Ansprüche 7 - 12, wobei die Abtasteinrichtung (3) mehrere Abtast- und Halteglieder (3P - 3q) umfasst. 13. Device according to one of claims 7 - 12, wherein the scanning device (3) comprises a plurality of scanning and holding members (3 P - 3 q ).
14. Vorrichtung nach einem der Ansprüche 7 - 13, wobei die Vorrichtung Teil eines FPGAs oder ASICs ist. 14. Device according to one of claims 7 - 13, wherein the device is part of an FPGAs or ASICs.
PCT/EP2015/052486 2014-02-28 2015-02-06 Method and device for classifying and/or generating random bits WO2015128168A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102014203649.6 2014-02-28
DE201410203649 DE102014203649A1 (en) 2014-02-28 2014-02-28 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

Publications (1)

Publication Number Publication Date
WO2015128168A1 true WO2015128168A1 (en) 2015-09-03

Family

ID=50679221

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2015/052486 WO2015128168A1 (en) 2014-02-28 2015-02-06 Method and device for classifying and/or generating random bits

Country Status (2)

Country Link
DE (1) DE102014203649A1 (en)
WO (1) WO2015128168A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014224423A1 (en) * 2014-11-28 2016-06-02 Siemens Aktiengesellschaft Method and apparatus for measuring a jitter
DE102014226996A1 (en) * 2014-12-29 2016-06-30 Siemens Aktiengesellschaft Method and apparatus for generating random bits

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205095A1 (en) * 2003-04-14 2004-10-14 M-Systems Flash Disk Pioneers Ltd. Random number slip and swap generators
EP1686458A1 (en) * 2005-01-28 2006-08-02 Infineon Technologies AG Oscillator-based random number generator
DE102012210361A1 (en) * 2012-06-20 2013-12-24 Robert Bosch Gmbh Method for monitoring an output of a random number generator

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205095A1 (en) * 2003-04-14 2004-10-14 M-Systems Flash Disk Pioneers Ltd. Random number slip and swap generators
EP1686458A1 (en) * 2005-01-28 2006-08-02 Infineon Technologies AG Oscillator-based random number generator
DE102012210361A1 (en) * 2012-06-20 2013-12-24 Robert Bosch Gmbh Method for monitoring an output of a random number generator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BOHL E ET AL: "A fault attack robust TRNG", ON-LINE TESTING SYMPOSIUM (IOLTS), 2012 IEEE 18TH INTERNATIONAL, IEEE, 27 June 2012 (2012-06-27), pages 114 - 117, XP032243089, ISBN: 978-1-4673-2082-5, DOI: 10.1109/IOLTS.2012.6313851 *

Also Published As

Publication number Publication date
DE102014203649A1 (en) 2014-05-28

Similar Documents

Publication Publication Date Title
EP2976707B1 (en) System and method for generating random bits
EP2183726B1 (en) Device and method for generating a random bit sequence
DE102004047425B4 (en) Random number generator and method for generating random numbers
DE102008048292B4 (en) Apparatus and method for generating a random bit string
DE102013204274A1 (en) Method for detecting a correlation
WO2015128168A1 (en) Method and device for classifying and/or generating random bits
DE102013213095A1 (en) Generating a number of random bits
DE102014224421A1 (en) Method and apparatus for generating random bits
WO2015128015A1 (en) Apparatus and method for generating random bits
DE102014226996A1 (en) Method and apparatus for generating random bits
DE102013213385A1 (en) Method for evaluating an output of a random number generator
DE102016200850A1 (en) Method for operating a safety-relevant device and device
DE102006012635A1 (en) Apparatus and method for generating a random distribution number
DE102015203580A1 (en) Apparatus and method for generating random bits
WO2015043855A2 (en) Generation of random bits
DE102014208236A1 (en) Checking an authenticity of a circuit unit
DE102015207926A1 (en) Checking an authenticity of a feedback circuit unit
WO2014117983A1 (en) Method and device for generating random bits
WO2015128109A1 (en) Method and device for generating random bits and encryption device
EP1126615A1 (en) Clock frequency dividing method and frequency divider for realising said method
DE102014209964A1 (en) Method and apparatus for generating random bits
DE102016200907A1 (en) Method for operating a safety-relevant device and device
DE102020000302A1 (en) Sealing device with test logic
DE102014224423A1 (en) Method and apparatus for measuring a jitter
EP3413188A1 (en) Method for optimal layout of a random number generator

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15705930

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15705930

Country of ref document: EP

Kind code of ref document: A1