WO2003093971A2 - Vorrichtung und verfahren zum erzeugen einer zufallszahl - Google Patents

Vorrichtung und verfahren zum erzeugen einer zufallszahl Download PDF

Info

Publication number
WO2003093971A2
WO2003093971A2 PCT/EP2003/004285 EP0304285W WO03093971A2 WO 2003093971 A2 WO2003093971 A2 WO 2003093971A2 EP 0304285 W EP0304285 W EP 0304285W WO 03093971 A2 WO03093971 A2 WO 03093971A2
Authority
WO
WIPO (PCT)
Prior art keywords
noise signal
random number
value
signal threshold
threshold values
Prior art date
Application number
PCT/EP2003/004285
Other languages
English (en)
French (fr)
Other versions
WO2003093971A3 (de
Inventor
David Meintrup
Guido Stromberg
Thomas Sturm
Annelie Stoehr
Original Assignee
Infineon Technologies Ag
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 Infineon Technologies Ag filed Critical Infineon Technologies Ag
Priority to AU2003232507A priority Critical patent/AU2003232507A1/en
Priority to EP03747417A priority patent/EP1504336B1/de
Priority to DE50310040T priority patent/DE50310040D1/de
Publication of WO2003093971A2 publication Critical patent/WO2003093971A2/de
Publication of WO2003093971A3 publication Critical patent/WO2003093971A3/de
Priority to US10/978,241 priority patent/US7647366B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Definitions

  • the present invention relates to devices and methods for generating a random number, such as are required in cryptographic applications, e.g. in SmartCards.
  • Random numbers are required in various fields of application. Examples include simulation, tests and cryptographic applications. For security reasons in particular, the use of so-called pseudo-random numbers is ruled out. This is why physical random number generators are often used. These are usually based on the stochastic noise of a physical system. The main problems here are that an evenly distributed sequence of zeros and ones should be generated from a random physical signal as quickly as possible, and that the statistical properties of a signal, in particular the probability density function, change over time due to external influences such as temperature or pressure to change.
  • Random number generators are known from "High uality Physical Random Number Generator", Markus Dichtl and Norbert Janssen, Proceedings of Eurosmart Security Conference, June 2000, Marseille, France, pages 279 to 287.
  • a known random number generator comprises an oscillator, a D-flip-flop connected downstream of the oscillator and a switch at the output of the D-flip-flop, which is controlled by an oscillator with phase jitter.
  • the phase jitter oscillator which controls the switch at the output of the D flip-flop, has when the frequency of the oscillator has a certain ratio to the frequency of the phase jitter oscillator. is selected, a state that is independent of the previous state, so that a high quality noise signal is generated.
  • a random bit is generated for each switch actuation, which can be subjected to post-processing and compression.
  • a shift register with linear coupling can be used as post-processing.
  • the random number generators known in the prior art have different speeds. However, they all have in common that a sample of a random process generates only one bit of a random number string, from which, using some post-processing, a random number with a certain width, e.g. 8 bits.
  • Random numbers are often required quickly.
  • sampling circuits, noise sources and control oscillators for the sampling circuits have to be designed as fast components, which can result in an increase in the cost of the random number generator and also in an increase in the space requirement on a chip.
  • This is disadvantageous in that the need for chip area is typically problematic, especially since in typical cryptographic applications, for example on smart cards, there is a limited maximum chip area that the circuit developer may use.
  • the random number generator but also a CPU, possibly coprocessors and in particular also the memory are to be accommodated on this chip area.
  • a large amount of memory is preferred, which leads to that the other components must be made as small as possible.
  • the object of the present invention is to provide a more efficient device or method for generating a random number.
  • the present invention is based on the finding that a random number with two or more digits can be generated from a sampling of a noise signal by utilizing the stochastic properties of the random process. This is made possible by dividing the definition range of the probability density function of a random process, such as the shot noise of a diode or a thermally noisy ohmic resistor or a controllable oscillator controlled by a noise signal, into areas with the same probability, and then depending on whether a Noise signal sample lies in one of the several ranges to occupy one or more digits of the random number.
  • the digits of the random number are dependent on one another and thus no random bits in the binary case.
  • the numbers defined by the independent bodies are random numbers with maximum information.
  • the random numbers with interdependent digits can suffice. To do this, it is sufficient to divide the definition range of the probability density function into at least two areas in order to generate a random number with two, mutually dependent, positions, the random number 01 being output, for example, when the random number lies in the first area, and the random number 10 is output if the number is in the second range.
  • the definition range of the probability density function must be divided into at least 4 areas (or 8, 16, 32, ... areas) in order to have one Generate a random number with mutually independent random bits in the information-theoretical sense, the random numbers 00, 01, 10, 11 meaning that the random number lies in the first, second, third and fourth range. From these random numbers with at least two digits, since the digits are independent of one another, longer random numbers with more than two digits can easily be put together.
  • the speed of the noise signal generator can be doubled or multiplied in comparison to a known noise signal generator in which only one bit is generated per noise signal sampling process.
  • the noise signal threshold values are set such that the probabilities that a noise signal sample lies between two adjacent noise signal threshold values differ from one another for different threshold values smaller than a predetermined difference value are and are preferably the same.
  • a step-by-step or permanent adaptation of the noise signal threshold values is carried out in order to be able to compensate for temperature-pressure or other ambient fluctuations of the entire circuits and in particular of the noise signal source.
  • the random number with the two or more - dependent - positions using an encoder in order to generate an encoded random number that - independent of one another - random bits in the information-theoretical sense Has.
  • coded random numbers are generated, the digits of which are independent of one another.
  • the coding is carried out in order not only to achieve a uniform distribution with regard to the total random number itself, but also to generate a statistical uniform distribution with regard to the individual digits of the random number.
  • Fig.l shows a block diagram of the inventive device for generating a random number
  • 2a shows an exemplary probability density function of a noise signal
  • FIG. 2b shows the division of the value range of the probability density function from FIG. 2a into areas with the same probability
  • FIG. 3 shows a device for generating a random number according to a first exemplary embodiment of the present invention with a truth table for the encoder logic
  • FIG. 4 shows a device for generating a random number according to a further exemplary embodiment of the present invention with tracking of the noise signal threshold values
  • 5 shows a device for generating a random number in accordance with a further exemplary embodiment of the present invention with adaptive tracking of the noise signal threshold values
  • FIG. 6 shows a further exemplary embodiment of the present invention with an adaptive tracking of the noise signal threshold values according to a further exemplary embodiment of the present invention
  • FIG. 7 shows a device for generating a random number with an adaptive tracking of the noise signal threshold values according to a further exemplary embodiment of the present invention
  • FIG 9 shows an alternative implementation of the device for providing the noise signal threshold values with adaptive tracking.
  • noise signal source 1 shows a noise signal source 1 with a certain probability density function p (x), which will be discussed in more detail with reference to FIGS. 2a and 2b.
  • a noise signal which is output from the noise signal source 1, is fed into a scanner 2, which typically has a sample and hold circuit (“sample and hold") and a downstream quantizer, in order to produce a digital quantized value at the output of the scanner 2 to deliver a device 3 for outputting a random number.
  • the device 3 is also controlled by a device 5 for providing noise signal threshold values.
  • the device 5 for providing noise signal Threshold values is formed, at least three to provide noise signal threshold values, wherein the at least three noise signal threshold values are selected such that a first • probability that a current supplied from the scanner 2 noise signal sample between the first and the second noise signal threshold value, and that a second probability that the noise signal sample lies between the second and third noise signal threshold values is less than or equal to a predetermined difference value.
  • the device for outputting the random number with at least two digits as a function of the noise signal sample is designed so that, if a noise signal sample lies between the first and the second noise signal threshold, a first digit of the random number is assigned a logic state , which differs from a logic state with which a second position of the random number is occupied when the noise signal sample lies between the second and the third noise signal threshold value.
  • a noise signal sample lies between the first and the second noise signal threshold
  • a first digit of the random number is assigned a logic state , which differs from a logic state with which a second position of the random number is occupied when the noise signal sample lies between the second and the third noise signal threshold value.
  • a first position of the random number is assigned a logical "1", for example, and a second position of the random number which is dependent on the first position is assigned a logical "0", since the noise signal -Sample is not in the second range for which the second digit of the random number stands.
  • Each scanning process which is carried out by the scanner 2 with the noise signal output by the noise signal source 1 thus leads to a 2-bit random number, whereby both bits of the random number are dependent on each other due to the redundancy contained.
  • the noise signal source 1 from FIG. 1 supplies a stochastic signal Y with a continuous density function p (x).
  • random numbers can be generated with mutually independent positions, with each bit combination of the independent positions being assigned exactly one area. For 4 areas, the random number therefore has 2 real random bits. 3 real random bits per scan can then be obtained for 8 areas. For 16 areas, 4 true random bits per scan can be obtained, etc.
  • the areas under the probability density function p (x) between two noise signal threshold values are determined by integrating the probability density function p (x) from a noise signal Threshold i obtained for the adjacent noise signal threshold Xi + i.
  • the noise signal threshold values are thus to be determined in such a way that the areas which are enclosed by two adjacent noise signal threshold values have the same area.
  • the subdivision points or noise signal threshold values are also referred to as (i / 2 n ) quantiles. If you now define a random variable Y by assigning a number i to each interval between two subdivision points Xi and Xi + 1, you get an equal distribution on ⁇ 0, ... 2 n_1 ⁇ . This looks like this:
  • each signal is realized on the discrete set ⁇ 0, ... 2 n_x ⁇ . Since it has an n-bit binary representation, each individual measurement provides n bits. Thus, the method is n times faster than generating bits directly.
  • An advantage of the present invention is that the generation of the bits by the factor n is faster than a bitwise generation. There is no theoretical limit for n.
  • Another advantage of the present invention is that the method can be used regardless of the specific shape of the density function of the stochastic signal.
  • Another advantage of the present invention is that the required subdivision points or noise signal threshold values are either determined a priori, ie are provided by the device for providing noise signal threshold values, or can be adapted to temporal fluctuations in the distribution function using adaptive methods ,
  • the noise signal source can be one of the forms set forth above or any form that provides a stochastic signal with a probability density function.
  • the sampler can be of any design as long as it provides a signal on the output side with such accuracy that it can be decided whether the noise signal sample, i.e. an output value of the noise signal source at any sampling time, between two noise signal threshold values or not.
  • noise signal threshold values are sufficient to generate a 2-bit random number (with interdependent digits) from a noise signal sampling process.
  • the first noise signal sample would be the value x 0
  • the second noise signal sample would be the value x and would be the third
  • Noise signal sample value x 8 Noise signal sample value x 8 .
  • three adjacent noise signal threshold values can be used that do not include the starting point x 0 or the end point x 8 , such as the three noise signal threshold values x 2 , x 3 and x, but only noise signal samples lead to random numbers here, which are between x 2 and x 4 .
  • areas can be used which are not contiguous, so that an invalid area exists which is adjacent to a valid area. If a sample falls within such an invalid range, then for no random number was output for this sample. For example, an invalid area could be used to "hide" a problematic location in the probability density function of a physical noise source.
  • FIG. 3. 3 shows a more detailed implementation of the device 3 for outputting a random number.
  • the device 3 for outputting a random number comprises various threshold value decision makers 3a, 3b, 3c, which in the preferred exemplary embodiment shown in FIG. 3 do not include the lowest threshold value x 0 from FIG. 2b and the uppermost threshold value x 8 from FIG. 2b, just the thresholds between the lowest and the highest threshold.
  • the threshold value deciders are designed to output a logic high signal, such as a "1" bit, if a noise signal sample value supplied by the A / D converter 2 is greater than the threshold, and by a logic "0" to be output if the noise signal sample value is smaller than the noise signal threshold value, which is either provided permanently stored by the device 5 or, as is explained with reference to FIGS. 4, 5, 6 and 7, is provided adaptively. If a noise signal sample is, for example, in the range between xo in FIG. 2b and xi in FIG. 2b, all threshold value gates will output a logic "0" since the noise signal sample "does not trigger” any of the threshold value gates in FIG. 3. in other words, the noise signal sample does not exceed any of the noise signal thresholds. This case corresponds to a first line 31 of the truth table shown in FIG. 3 for a coding logic 4, which will be discussed below. Is the
  • noise signal sample from the A / D converter 2 between the noise signal threshold Xi and the noise signal threshold x 2 the first gate 3a will output a logic "1" while all the other gates will output a logic "0" , This corresponds to the second line 32 of the truth table of FIG. 3.
  • the noise signal sample lies above the highest noise signal threshold x 7 , this would correspond to the eighth line 38 of the truth table, in which all threshold value gates 3a, 3b and 3c have a logical one Output "1".
  • threshold value gates are used which determine whether a noise signal sample lies above or below the threshold value, ie in the first or in the second range assign only one bit.
  • threshold value gates to generate a random number with at least two - dependent - digits at the output of the device 3, at least two threshold value gates must be used, ie a total of four noise signal threshold values, since in addition the lowest noise signal threshold value o of Fig. 2b and the top noise signal threshold x 8 of Fig.
  • the noise signal threshold xi would lie between the noise signal threshold values x 2 and x 3 of FIG. 2b, and the second noise signal threshold x 2 would be between the noise signal threshold values x 5 and x & of Fig. 2b, and also under the aforementioned requirement that the areas between the noise signal threshold values and the corresponding boundary values x 0 and x 8 are the same and also equal to the areas are between the two noise signal threshold values which determine the gates 3a, 3b.
  • at least three threshold value gates which can distinguish four areas in the probability density function from one another, would be required to generate real random bits.
  • the noise signal source 1 of FIG. 3 thus generates a stochastic signal, whereby, as has been explained, an electronic component, such as e.g. a resistor or a transistor can be used.
  • an electronic component such as e.g. a resistor or a transistor can be used.
  • This analog signal is discretized by means of the A / D converter 2 in 2 3 stages and then, as has been carried out, processed with the help of the threshold value gates. For practical reasons, as has been explained, only the inner threshold values are used, ie the threshold values for the minimum and the maximum amplitudes are not required. It should be noted that the functionality of the threshold values can be integrated with the A / D converter 2 in a single component.
  • a random number results at the outputs of the threshold value gates, which is a 2 n -l dimensional binary vector.
  • this redundant vector left half of the truth table in FIG. 3
  • a logic device 4 is used, which in principle functions as an encoder.
  • the logic device 4 has the truth table shown in FIG. 3 in order to map or re-encode a 7-bit random number with dependent digits into a 3-bit-coded random number with real random bits.
  • a vector of random bits, which represents a coded random number, is thus present at the output of logic 4.
  • the function of the threshold gates and the function of the logic device 4 can also be combined in a single component. Alternatively, a threshold value gate decision and subsequent coding need not necessarily be made. According to the invention, two or more random bits can be assigned to any area as long as the n bits of the binary random number are determined such that each bit combination of the n bits of the binary random number is uniquely assigned to one of the 2 n areas.
  • the logical function that must be implemented by the encoder 4 can be represented, for example, by a ROM table that has the truth table of FIG. 3. If the threshold values ⁇ are chosen such that the Xi correspond to the (i / 2 n ) quantiles required for uniform distribution, the assignment of the 2 n -l binary outputs of the threshold value gates to the n-dimensional output vector of the logic function is arbitrary, but preferably bijective ,
  • a logical function with the necessary properties is provided, for example, by an adder. If x is less than xi + i, then the logic function can also be implemented, for example, in a so-called priority encoder. Due to the redundancy in the output vector of the threshold value gates, a number of further logic functions are possible. For example, if you select the following function for the output bits yo, ... / y n - ⁇ :
  • the suitable choice of the threshold values Xi is important for the quality of the uniform distribution of the random numbers. If the density function p (x) of FIG. 2a of the stochastic signal is constant in time and sufficiently well known from the start, these values can be calculated and set a priori. However, if the density function p is unknown or changes over time, it is preferred to track the thresholds, i.e. to adapt.
  • An adaptation of the threshold values also makes sense if implementation inaccuracies, for example of the analog / digital converter, have to be compensated for.
  • the optimum noise signal threshold values can be determined automatically.
  • the device 5 for calculating the noise signal threshold values must first determine the noise signal threshold values, even if the probability density distribution is unknown but constant over time, in order to then be able to provide optimally set threshold values after a number of training runs.
  • discretized output values of the A / D converter are evaluated in order to track the noise signal threshold values, as is shown by an arrow 40.
  • the noise signal values at the output of the noise source can also be viewed and evaluated directly, as is shown by an arrow 50.
  • the random numbers at the output of the device 3 can also be used, as shown by line 60 in FIG. 6.
  • the coded random numbers at the output of the logic device 4 can also be considered, as shown by an arrow 70 in FIG. 7.
  • any combinations of the possibilities shown in FIGS. 4, 5, 6 and 7 can also be used.
  • either multiple observed values are entered into the facility 5 read in and processed to provide the noise signal threshold values.
  • the noise signal threshold values can also be tracked if only a currently observed value is read in and processed.
  • the device 5 forms an estimate for the optimal threshold values Xi and, as can be seen from the figures, passes this on to the threshold value gates.
  • One way of approximating the i / (2 n ) quantiles, ie the noise signal threshold values, of the distribution is by determining the statistical i / (2 n ) quantiles of the measurements. This can be done, for example, in that, as can be seen from FIG. 8, the noise data are stored sorted in ascending order. The corresponding quantile can then be found by counting. 8 shows, for example, 1024 memory units 80, which are arranged in ascending order. In order to use the concept shown in FIG. 8, 1024 noise signal samples, random numbers, etc. must first be acquired and sorted into the 1024 memory units according to their size, in ascending order.
  • the 1/8 quantile ie the noise signal threshold value x from FIG. 2b
  • the 7/8 quantile is in the memory cell a 896
  • ie the noise signal Threshold x of Fig. 2b An advantage of the concept shown in Fig. 8 is that once the 1024 memory units are filled, it can be used for immediate tracking. If 1024 noise signal values are recorded and sorted, and the 1025th value is then obtained, this must be sorted into a storage unit 80, so that a next lower storage unit has a smaller value and a next higher storage unit has a larger value. To do this, the value inserted first, i.e. the oldest value, is sorted out and resorted the memory element sequence using the new value.
  • the corresponding noise signal threshold value is changed in the corresponding threshold value gate of the device 3 to the newly sorted value. It is essential to the concept described in FIG. 8 that a fast sorting algorithm is used.
  • an adaptive method is presented as an alternative option, in which an estimate for the threshold values is obtained by observing the generated random numbers.
  • An interval [a, b] is given for which an arbitrary but then fixed ⁇ -quantile can be determined from the set [0,1].
  • X (l) from the set [a, b] denotes the threshold found in the 1st step
  • R c (l) denotes a set of realizations of the random process of the thickness c, where c is a natural number:
  • a (l): ⁇ ⁇ ie R c (l) ⁇ i ⁇ x (l) ⁇ ⁇ and
  • the algorithm described also leads to an automatic setting of the noise signal threshold values even if the probability density distribution p (x) is unknown.
  • a / D converters of the scanner are particularly interesting in terms of implementation.
  • the device for providing the noise signal threshold value x comprises a register 90, an adder 91, an arithmetic logic unit 92 and two inputs 93 and 94, one of which supplies the value +2 ⁇ j to the adder 92, while the other supplies the value " _2 ⁇ 3 " to the adder 92.
  • the entire circuit block for the middle noise signal threshold x is designated in FIG. 9 with the reference number 6.
  • the currently used threshold value is held in the register 90 and, depending on the state of the current threshold value decision, incremented or The entire block 6 is activated by an enable line "enl" 95 by a control logic 7 when the corresponding threshold value x is to be adapted.
  • the same blocks 8, 9 exist in analogous execution for the other two threshold values. For their activation, however, it is a prerequisite that the current noise value is in the interval] - ⁇ , X ⁇ [or] x ⁇ , + ⁇ [. For this reason, the control logic also uses the output signal of the threshold value gate with the
  • Threshold value x supplied as can be seen from FIG. 9. It should be noted that quantiles other than the mean quantile can also be determined by using the respective percentage ⁇ in line 3 of the above algorithm.
  • the exemplary embodiment designated in FIG. 9 carries out an adaptation for each newly recorded value, which can be implemented inexpensively in terms of circuitry. This is the case since the arithmetic logic unit 92 is only to be implemented as a simple comparator in order to implement line 3 of the last-mentioned algorithm, and then an increment or decrementation preferably after weighting with an iteration variable, which is not shown in FIG. 9 is shown to perform.
  • the new noise signal threshold is thus calculated from the old noise signal threshold x using the adder 91.

Abstract

Die Vorrichtung zum Erzeugen einer Zufallszahl umfaßt eine Einrichtung (2) zum Abtasten eines Rauschsignals, um einen Rauschsignal Abtastwert zu erhalten. Der Zufallszahlengeneratorumfaßt ferner eine Einrichtung (5) zum Bereitstellen von Rauschsignal-Schwellenwerten, wobei die zumindest drei Rauschsignal-Schwellenwerte so gewählt sind, daß eine erste Wahrscheinlichkeit, daß der Rauschsignal-Abtastwert zwischen dem ersten und dem zweiten Rauschsignal-Schwellenwert liegt, und eine zweite Wahrscheinlichkeit, daß der Rauschsignal-Abtastwert zwischen dem zweiten und dem dritten Rauschsignal-Schwellenwert liegt, sich weniger als einen vorbestimmten Differenzwert voneinanderunterscheiden oder gleich sind. Eine Einrichtung (3) zum Ausgeben der Zufallszahl arbeitet auf der Basis der Rauschsignal-Schwellenwerte, und zwar derart, daß, wenn der Rauschsignal-Abtastwert zwischen dem ersten und dem zweiten Rauschsignal-Schwellenwert ist, eine erste Stelle einer Zufallszahl mit einem ersten logischen Zustand belegt wird.

Description

Beschreibung
Vorrichtung und Verfahren zum Erzeugen einer Zufallszahl
Die vorliegende Erfindung bezieht sich auf Vorrichtungen und Verfahren zum Erzeugen einer Zufallszahl, wie sie beispielsweise in kryptographischen Anwendungen benötigt werden, wie z.B. in SmartCards .
Zufallsahlen werden in verschiedenen Anwendungsfeldern benötigt. Beispielhaft seien Simulation, Tests und kryptographi- sche Anwendungen genannt. Gerade für letztere scheidet aus Sicherheitsgründen die Verwendung von sogenannten Pseudo- Zufauszahlen aus. Daher werden oft physikalische Zufallszah- lengeneratoren verwendet. Diese basieren in der Regel auf dem stochastischen Rauschen eines physikalischen Systems. Hierbei stellen sich vor allem Probleme dahingehend, daß aus einem zufälligen physikalischen Signal möglichst schnell eine gleichverteilte Folge von Nullen und Einsen erzeugt werden soll, und daß sich die statistischen Eigenschaften eines Signals, insbesondere die Wahrscheinlichkeitsdichtefunktion, mit der Zeit durch äußere Einflüsse wie Temperatur oder Druck ändern.
Zufallszahlengeneratoren sind aus "High uality Physical Random Number Generator", Markus Dichtl und Norbert Janssen, Proceedings of Eurosmart Security Conference, Juni 2000, Marseille, Frankreich, Seiten 279 bis 287, bekannt. Ein bekannter Zufallszahlengenerator umfaßt einen Oszillator, ein dem Oszillator nachgeschaltetes D-Flip-Flop und am Ausgang des D- Flip-Flops einen Schalter, der von einem Oszillator mit Pha- senjitter gesteuert wird. Der Oszillator mit Phasenjitter, der den Schalter am Ausgang des D-Flip-Flops steuert, hat dann, wenn die Frequenz des Oszillators in einem bestimmten Verhältnis zur Frequenz des Oszillators mit Phasenjitter ge- wählt wird, einen Zustand, der vom vorherigen Zustand unabhängig ist, so daß ein qualitativ hochwertiges Rauschsignal erzeugt wird. Pro Schalterbetätigung wird ein Zufallsbit erzeugt, das einer Nachverarbeitung und Kompression unterzogen werden kann. Als Nachverarbeitung kann ein Schieberegister mit linearer Kopplung eingesetzt werden.
Ein weiterer Zufallszahlengenerator ist beispielsweise in der EP 0 903 665 A2 offenbart. Weitere Informationen finden sich auch in der Dissertation der Technischen Universität Berlin von R. Brederlow mit dem Titel "Niederfrequentes Rauschen in einer analogen CMOS-Schaltung", aus dem Jahr 1999.
Aufgrund unterschiedlicher Hardwareimplementierungen sind die in dem Stand der Technik bekannten Zufallszahlengeneratoren unterschiedlich schnell. Alle haben jedoch gemeinsam, daß eine Abtastung eines Zufallsprozesses lediglich ein Bit eines Zufallszahlen-Strings erzeugt, aus dem dann unter Verwendung irgendeiner Nachbearbeitung eine Zufallszahl mit einer be- stimmten Breite, z.B. 8 Bits, erzeugt wird.
Oftmals werden Zufallszahlen schnell benötigt. Um dies zu erreichen, müssen Abtastschaltungen, Rauschquelle und Steueroszillatoren für die Abtastschaltungen als schnelle Bauelemente ausgeführt sein, was in einem Kostenanstieg des Zufallszahlengenerators und auch in einer Zunahme an Platzbedarf auf einem Chip resultieren kann. Dies ist dahingehend nachteilhaft, da der Bedarf an Chipfläche typischerweise problematisch ist, zumal bei typischen kryptographischen Anwendungen beispielsweise auf Smart Cards eine begrenzte maximale Chipfläche gegeben ist, die der Schaltungsentwickler ausnutzen darf. Auf dieser Chipfläche soll nicht nur der Zufallszahlengenerator, sondern eine CPU, möglicherweise Koprozessoren und insbesondere auch der Speicher untergebracht werden. Generell wird eine große Menge an Speicher bevorzugt, was dazu führt, daß die anderen Komponenten so klein als möglich gemacht werden müssen. Hochgeschwindigkeits-Implementationen für den Zufallszahlengenerator verbieten sich daher aufgrund des hohen Platzbedarfs und nicht zuletzt auch aufgrund des hohen Strom- Verbrauchs. Der Stromverbrauch fällt insbesondere dann ins Gewicht, wenn Kontaktlos-Anwendungen betrachtet werden, d.h. SmartCards, die keine eigene Spannungsversorgung haben, sondern von einem HF-Feld, das z.B. von einem Terminal ausgesendet wird, mit Leistung versorgt werden. Es ist unmittelbar einsichtig, daß hier neben der Chipfläche auch der Leistungsverbrauch einer Schaltung von großem Interesse ist.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine effizientere Vorrichtung oder ein effizienteres Verfahren zum Erzeugen einer Zufallszahl zu schaffen.
Diese Aufgabe wird durch eine Vorrichtung zum Erzeugen einer Zufallszahl nach Patentanspruch 1 oder 19 oder durch ein Verfahren zum Erzeugen einer Zufallszahl nach Patentanspruch 18 oder 21 gelöst.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß aus einer Abtastung eines Rauschsignals eine Zufallszahl mit zwei oder mehr Stellen erzeugt werden kann, indem die sto- chastischen Eigenschaften des Zufallsprozesses ausgenutzt werden. Dies wird dadurch möglich, daß der Definitionsbereich der Wahrscheinlichkeitsdichtefunktion eines Zufallsprozesses, wie z.B. das Schrotrauschen einer Diode oder ein thermisch rauschender ohmscher Widerstand oder ein mit einem Rauschsig- nal angesteuerter steuerbarer Oszillator, in Bereiche gleicher Wahrscheinlichkeit aufgeteilt wird, um dann je nachdem, ob ein Rauschsignalabtastwert in einem der mehreren Bereiche liegt, eine oder mehrere Stellen der Zufallszahl zu belegen. Je nach Ausführungsbeispiel sind die Stellen der Zufallszahl voneinander abhängig und somit im binären Fall keine Zufallsbits. Die Zahlen, die durch die unabhängigen Stellen definiert werden, sind jedoch Zufallszahlen mit maximaler Infor- mation. In Anwendungen, bei denen Zufallszahlen benötigt werden, deren Stellenanzahl gleich der Anzahl von Stellen der Zufallsbits ist, können die Zufallszahlen mit voneinander abhängigen Stellen ausreichen. Hierzu genügt es, den Definitionsbereich der Wahrscheinlichkeitsdichtefunktion in wenigs- tens zwei Bereiche aufzuteilen, um eine Zufallszahl mit zwei - voneinander abhängigen - Stellen zu erzeugen, wobei die Zufallszahl 01 beispielsweise ausgegeben wird, wenn die Zufallszahl im ersten Bereich liegt, und wobei die Zufallszahl 10 ausgegeben wird, wenn die Zahl im zweiten Bereich liegt.
In Anwendungen, bei denen voneinander unabhängige "Stellen" der Zufallszahl benötigt werden, also echte Zufallsbits im informationstheoretischen Sinn, muß jedoch der Definitionsbereich der Wahrscheinlichkeitsdichtefunktion in wenigstens 4 Bereiche (oder 8, 16, 32, ... Bereiche) aufgeteilt werden, um eine Zufallszahl mit voneinander unabhängigen Zufallsbits im informationstheoretischen Sinn zu erzeugen, wobei die Zufallszahlen 00, 01, 10, 11 bedeuten, daß die Zufallszahl im ersten, zweiten, dritten bzw. vierten Bereich liegt. Aus die- sen Zufallszahlen mit wenigstens zwei Stellen können somit, da die Stellen voneinander unabhängig sind, ohne weiteres längere Zufallszahlen mit mehr als zwei Stellen zusammengesetzt werden.
Existieren also bereits zwei Bereiche der Wahrscheinlichkeitsdichtefunktionen, die die gleiche Wahrscheinlichkeit haben, d.h. deren Flächen unterhalb der Wahrscheinlichkeitsdichtefunktion gleich sind, so kann bereits eine Zufallszahl mit zwei - abhängigen - Stellen, d.h. im binären Fall mit zwei Bits, erzeugt werden. Wird die Wahrscheinlichkeitsdichtefunktion in eine größere Anzahl von Bereichen gleicher Wahrscheinlichkeit eingeteilt,' so kann eine Zufallszahl mit einer erheblich größeren Menge an Stellen pro Rauschsignalabtastung erzeugt werden, wobei die Anzahl der abhängigen Stellen immer größer als die Anzahl der unabhängigen Stellen sein wird.
Dadurch, daß aus einem Rauschsignal-Abtastvorgang eine Zu- fallszahl mit zwei oder mehr Stellen erzeugt wird, kann die Geschwindigkeit des Rauschsignalgenerators im Vergleich zu einem bekannten Rauschsignalgenerator, bei dem pro Rauschsignal-Abtastvorgang lediglich ein Bit erzeugt wird, verdoppelt bzw. vervielfacht werden.
Damit die erzeugten Zufallszahlen tatsächlich gleichverteilt sind, wird es bevorzugt, daß die Rauschsignal-Schwellenwerte so eingestellt werden, daß die Wahrscheinlichkeiten, daß ein Rauschsignal-Abtastwert zwischen zwei benachbarten Rauschsig- nal-Schwellenwerten liegt, für verschiedene Schwellenwerte kleiner als ein vorbestimmter Differenzwert voneinander unterschiedlich sind und vorzugsweise gleich sind.
Hierzu wird bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung eine abschnittsweise oder dauernde A- daption der Rauschsignal-Schwellenwerte vorgenommen, um Temperatur-Druck- bzw. sonstige Umgebungsschwankungen der gesamten Schaltungen und insbesondere der Rauschsignalquelle kompensieren zu können.
Je nach Anwendungsfall wird es ferner bevorzugt, die Zufallszahl mit den zwei oder mehr - abhängigen - Stellen unter Verwendung eines Codierers zu codieren bzw. nachzuverarbeiten, um eine codierte Zufallszahl zu erzeugen, die - voneinander unabhängige - Zufallsbits im informationstheoretischen Sinn hat. Durch Entziehung der Redundanz aus der Zufallszahl mit den abhängigen Stellen werden codierte Zufallszahlen erzeugt, deren Stellen voneinander unabhängig sind.
In anderen Worten wird die Codierung durchgeführt, um nicht nur hinsichtlich der insgesamten Zufallszahl an sich eine Gleichverteilung zu erreichen, sondern um auch hinsichtlich der einzelnen Stellen der Zufallszahl eine statistische Gleichverteilung zu erzeugen.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
Fig.l ein Prinzipblockschaltbild der erfindungsgemäßen Vorrichtung zum Erzeugen einer Zufallszahl;
Fig. 2a eine beispielhafte Wahrscheinlichkeitsdichtefunktion eines Rauschsignals;
Fig. 2b eine Darstellung der Aufteilung des Wertebereichs der Wahrscheinlichkeitsdichtefunktion von Fig. 2a in Bereiche mit gleicher Wahrscheinlichkeit;
Fig. 3 eine Vorrichtung zum Erzeugen einer Zufallszahl gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung mit einer Wahrheitstabelle für die Codierer-Logik;
Fig. 4 eine Vorrichtung zum Erzeugen einer Zufallszahl gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung mit Nachführung der Rauschsignal- Schwellenwerte; Fig. 5 eine Vorrichtung zum Erzeugen einer Zufallszahl gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung mit einer adaptiven Nachführung der Rauschsignal-Schwellenwerte;
Fig. 6 ein weiteres Ausführungsbeispiel der vorliegenden Erfindung mit einer adaptiven Nachführung der Rauschsignal-Schwellenwerte gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 7 eine Vorrichtung zum Erzeugen einer Zufallszahl mit einer adaptiven Nachführung der Rauschsignal- Schwellenwerte gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 8 eine beispielhafte Implementation für die Einrichtung zum Bereitstellen der Rauschsignal- Schwellenwerte mit adaptiver Anpassung; und
Fig. 9 eine alternative Implementation der Einrichtung zum Bereitstellen der Rauschsignal-Schwellenwerte mit adaptiver Nachführung.
Fig. 1 zeigt eine Rauschsignalquelle 1 mit einer bestimmten Wahrscheinlichkeitsdichtefunktion p(x), auf die bezugnehmend auf die Figuren 2a und 2b näher eingegangen wird. Ein Rauschsignal, das von der Rauschsignalquelle 1 ausgegeben wird, wird in einen Abtaster 2 eingespeist, der typischerweise eine Abtasten- und Halten-Schaltung ("Sample And Hold") und einen nachgeschalteten Quantisierer aufweist, um am Ausgang des Abtasters 2 einen digitalen quantisierten Wert zu einer Einrichtung 3 zum Ausgeben einer Zufallszahl zu liefern. Die Einrichtung 3 wird ferner von einer Einrichtung 5 zum Bereitstellen von Rauschsignal-Schwellenwerten angesteuert. Die Einrichtung 5 zum Bereitstellen von Rauschsignal- Schwellenwerten ist ausgebildet, um zumindest drei Rauschsignal-Schwellenwerte zu liefern, wobei die zumindest drei Rauschsignal-Schwellenwerte so gewählt sind, daß eine erste Wahrscheinlichkeit, daß ein vom Abtaster 2 gelieferter Rauschsignal-Abtastwert zwischen dem ersten und dem zweiten Rauschsignal-Schwellenwert liegt, und daß eine zweite Wahrscheinlichkeit, daß der Rauschsignal-Abtastwert zwischen dem zweiten und dem dritten Rauschsignal-Schwellenwert liegt, sich weniger als einen vorbestimmten Differenzwert unter- scheiden oder gleich sind.
Die Einrichtung zum Ausgeben der Zufallszahl mit zumindest zwei Stellen in Abhängigkeit von dem Rauschsignal-Abtastwert ist ausgebildet, um dann, falls ein Rauschsignal-Abtastwert zwischen dem ersten und dem zweiten Rauschsignal- Schwellenwert liegt, eine erste Stelle der Zufallszahl mit einem logischen Zustand zu belegen, der sich von einem logischen Zustand unterscheidet, mit dem eine zweite Stelle der Zufallszahl belegt wird, wenn der Rauschsignal-Abtastwert zwischen dem zweiten und dem dritten Rauschsignal- Schwellenwert liegt. Bei Verwendung von drei Rauschsignal- Schwellenwerten ergeben sich somit zwei Bereiche, in denen der Rauschsignal-Abtastwert liegen kann, nämlich ein erster Bereich zwischen dem ersten Rauschsignal-Schwellenwert und dem zweiten Rauschsignal-Schwellenwert und ein zweiter Bereich zwischen dem zweiten Rauschsignal-Schwellenwert und dem dritten Rauschsignal-Schwellenwert. Liegt der Rauschsignal- Abtastwert in dem ersten Bereich, so wird eine erste Stelle der Zufallszahl z.B. mit einer logischen "1" belegt, und wird eine zweite - von der ersten Stelle abhängige Stelle der Zufallszahl mit einer logischen "0" belegt, da der Rauschsignal-Abtastwert nicht in dem zweiten Bereich liegt, für den die zweite Stelle der Zufallszahl steht. Jeder Abtastvorgang, der durch den Abtaster 2 mit dem von der Rauschsignalquelle 1 ausgegebenen Rauschsignal durchgeführt wird, führt somit zu einer 2-Bit-Zufallszahl, wobei beide Bits der Zufallszahl jedoch aufgrund der enthaltenen Redundanz voneinander abhängig sind.
Im nachfolgenden wird bezugnehmend auf die Figuren 2a und 2b auf die Natur der Rauschsignalquelle 1 von Fig. 1 eingegangen. Ausgegangen wird davon, daß die Rauschsignalquelle ein stochastisches Signal Y mit einer kontinuierlichen Dichtefunktion p(x) liefert. Die Dichtefunktion p(x) wird nun er- findungsgemäß in zumindest 2n Intervalle oder Bereiche unterteilt, wobei n eine ganze Zahl ist und größer oder gleich 1 ist. Für n = 1 können Zufallszahlen mit zwei oder mehr Stellen erhalten werden, wobei die Stellen jedoch voneinander abhängig sind.
Für vier oder mehr Bereiche, also n = 2, 3, 4, ..., können Zufallszahlen mit voneinander unabhängigen Stellen erzeugt werden, wobei jeder Bitkombination der unabhängigen Stellen genau ein Bereich zugeordnet ist. Für 4 Bereiche hat die Zu- fallszahl somit 2 echte Zufallsbits. Für 8 Bereiche können dann 3 echte Zufallsbits pro Abtastung erhalten werden. Für 16 Bereiche können 4 echte Zufallsbits pro Abtastung erhalten werden, usw.
Diese Unterteilung findet derart statt, daß die von den Unterteilungspunkten Xi eingeschlossenen Flächen unter dem Graphen p(x) gleich groß sind. Eine solche Aufteilung für die beispielhafte Wahrscheinlichkeitsdichtefunktion p(x) von Fig. 2a ist in Fig. 2b gezeigt. Die Flächen unter der Wahrschein- lichkeitsdichtefunktion p(x) zwischen zwei benachbarten
Rauschsignal-Schwellenwerten x± und xι+ι sind vorzugsweise i- dentisch, d.h. Ai = Ai+ι für alle i. Die Flächen unter der Wahrscheinlichkeitsdichtefunktion p(x) zwischen zwei Rauschsignal-Schwellenwerten wird durch Integrieren der Wahrschein- lichkeitsdichtefunktion p(x) von einem Rauschsignal- Schwellenwert i zum benachbarten Rauschsignal-Schwellenwert Xi+i erhalten. Die Rauschsignal-Schwellenwerte sind somit derart zu bestimmen, daß die Flächengleichheit der Bereiche, die von zwei benachbarten Rauschsignal-Schwellenwerten einge- schlössen wird, gegeben ist. Die Unterteilungspunkte bzw. Rauschsignal-Schwellenwerte werden auch als (i/2n) -Quantile bezeichnet. Definiert man nun eine Zufallsvariable Y , indem man jedem Intervall zwischen zwei Unterteilungspunkten Xi und Xi + 1 eine Zahl i zuordnet, so erhält man eine Gleichvertei- lung auf {0,...2n_1}. Dies sieht gleichungsmäßig folgendermaßen aus:
P(Ϋ *___. i) = P(x. < γ < χM ) = - für alle i € {0,...,2n - 1} ( i ;
Mit Hilfe dieses Verfahrens erhält man aus jedem Signal eine Realisierung auf der diskreten Menge {0, ...2n_x} . Da diese a- ber eine n Bit lange Binärdarstellung besitzt, liefert jede einzelne Messung n Bits. Somit ist die Methode n-mal schneller als eine direkte Erzeugung von Bits.
Weiterhin sei angemerkt, daß es keine theoretische Grenze für die Größe der Zahl n gibt. Sie wird in der Praxis durch Meßgenauigkeit, Aufwand und Auflösung des physikalischen Systems begrenzt. Darüber hinaus funktioniert das erfindungsgemäße Konzept für jedes kontinuierliche stochastische Signal unabhängig von der Gestalt der zugehörigen Dichtefunktion.
Ein Vorteil der vorliegenden Erfindung besteht darin, daß die Erzeugung der Bits um den Faktor n schneller als eine bitwei- se Erzeugung ist. Für n gibt es keine theoretische Grenze.
Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, daß das Verfahren unabhängig von der konkreten Gestalt der Dichtefunktion des stochastischen Signals anwendbar ist. Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, daß die benötigten Unterteilungspunkte bzw. Rauschsignaϊ- Schwellenwerte entweder a priori bestimmt werden, d.h. von der Einrichtung zum Bereitstellen von Rauschsignal- Schwellenwerten bereitgestellt werden, oder mit Hilfe adaptiver Verfahren an zeitliche Schwankungen der Verteilungsfunktion angepaßt werden können.
Die Rauschsignalquelle kann eine der oben ausgeführten Formen oder irgendeine Form sein, die ein stochastisches Signal mit einer Wahrscheinlichkeitsdichtefunktion liefert. Der Abtaster kann einen beliebigen Aufbau haben, solange er ausgangsseitig ein Signal mit einer solchen Genauigkeit liefert, daß ent- schieden werden kann, ob der Rauschsignal-Abtastwert, d.h. ein Ausgangswert der Rauschsignalquelle zu einem beliebigen Abtastzeitpunkt, zwischen zwei Rauschsignal-Schwellenwerten liegt oder nicht.
Wie es bereits ausgeführt worden ist, reichen bereits drei Rauschsignal-Schwellenwerte aus, um aus einem Rauschsignal- Abtastvorgang eine 2-Bit-Zufallszahl (mit voneinander abhängigen Stellen) zu erzeugen. Am Beispiel der Fig. 2b wäre der erste Rauschsignal-Abtastwert der Wert x0, wäre der zweite Rauschsignal-Abtastwert der Wert x und wäre der dritte
Rauschsignal-Abtastwert der Wert x8. Alternativ können auch drei benachbarte Rauschsignal-Schwellenwerte verwendet werden, die nicht den Anfangspunkt x0 oder den Endpunkt x8 umfassen, wie z.B. die drei Rauschsignal-Schwellenwerte x2, x3 und x, wobei jedoch hier nur Rauschsignal-Abtastwerte zu Zufallszahlen führen, die zwischen x2 und x4 liegen. Wieder alternativ können auch Bereiche verwendet werden, die nicht zusammenhängend sind, so daß ein ungültiger Bereich existiert, der zu einem gültigen Bereich benachbart ist. Fällt ein Ab- tastwert in einen solchen ungültigen Bereich, so wird für diesen Abtastwert keine Zufallszahl ausgegeben. Ein ungültiger Bereich könnte beispielsweise dazu verwendet werden, eine problematische Stelle in der Wahrscheinlichkeitsdichtefunktion einer physikalischen Rauschquelle "auszublenden".
Es sei darauf hingewiesen, daß bei der Verwendung von drei Rauschsignal-Schwellenwerten die Information dahingehend, ob der Rauschsignal-Abtastwert in dem einen Bereich, d.h. zwischen den unteren beiden Rauschsignal-Schwellenwerten ist, oder in dem anderen Bereich, also zwischen den oberen Rauschsignal-Schwellenwerten ist, erfaßt wird. Die zwei Stellen sind zwar voneinander abhängig aufgrund der Redundanz in der 2-Bit-Zufallszahl. Dennoch hat eine Folge solcher z. B. 2- Bit-Zufauszahlen eine stochastische Verteilung.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird es bevorzugt, mit mehr als drei Rauschsignal- Schwellenwerten zu arbeiten. Hierzu wird auf Fig. 3 Bezug genommen. Fig. 3 zeigt eine detailliertere Implementation der Einrichtung 3 zum Ausgeben einer Zufallszahl. Die Einrichtung 3 zum Ausgeben einer Zufallszahl umfaßt verschiedene Schwell- wertentscheider 3a, 3b, 3c, die bei dem in Fig. 3 gezeigten bevorzugten Ausführungsbeispiel den untersten Schwellenwert x0 von Fig. 2b und den obersten Schwellenwert x8 von Fig. 2b nicht umfassen, sondern lediglich die Schwellenwerte zwischen dem untersten und dem obersten Schwellenwert. Die Schwellwer- tentscheider sind ausgebildet, um ein logisch hohes Signal, wie z.B. ein "1"-Bit auszugeben, wenn ein von dem A/D-Wandler 2 gelieferter Rauschsignal-Abtastwert größer als die Schwelle ist, und um eine logische "0" auszugeben, wenn der Rauschsignal-Abtastwert kleiner als der Rauschsignal-Schwellenwert ist, der von der Einrichtung 5 entweder fest eingespeichert bereitgestellt wird, oder, wie es bezugnehmend auf die Figuren 4, 5, 6 und 7 erläutert wird, adaptiv bereitgestellt wird. Ist ein Rauschsignal-Abtastwert beispielsweise in dem Bereich zwischen xo von Fig. 2b und xi von Fig. 2b, so werden alle Schwellwertgatter eine logische "0" ausgeben, da der Rausch- signal-Abtastwert keines der Schwellwertgatter von Fig. 3 "auslöst", was mit anderen Worten bedeutet, daß der Rauschsignal-Abtastwert keinen der Rauschsignal-Schwellenwerte ü- berschreitet . Dieser Fall entspricht einer ersten Zeile 31 der in Fig. 3 dargestellten Wahrheitstabelle für eine Codier- logik 4 auf die nachfolgend eingegangen wird. Liegt der
Rauschsignal-Abtastwert vom A/D-Wandler 2 dagegen zwischen dem Rauschsignal-Schwellenwert Xi und dem Rauschsignal- Schwellenwert x2, so wird das erste Gatter 3a eine logische "1" ausgeben, während all die anderen Gatter eine logische "0" ausgeben werden. Dies entspricht der zweiten Zeile 32 der Wahrheitstabelle von Fig. 3. Liegt der Rauschsignal- Abtastwert dagegen oberhalb des höchsten Rauschsignal- Schwellenwerts x7, so würde dies der achten Zeile 38 der Wahrheitstabelle entsprechen, bei der sämtliche Schwellwertgatter 3a, 3b und 3c eine logische "1" ausgeben.
In dem linken Bereich der Wahrheitstabelle, also in der Schaltung von Fig. 3 nach den Schwellwertentscheidern, befinden sich Zufallszahlen mit voneinander abhängigen Stellen, während im rechten Bereich Zufallszahlen mit voneinander unabhängigen Stellen zu finden sind, die echte Zufallsbits im infomationstheoretischen Sinn sind. Diese echten Zufallsbits können verwendet werden, um unter Verwendung vieler Rauschsignal-Abtastwerte beispielsweise eine 512-Bit-Zufallszahl zu erzeugen, die bei der Schlüsselerzeugung des z.B. RSA-
Algorithmus benötigt wird. Hierzu wären bei 32 Bereichen (also fünf Zufallsbits pro Abtastung) lediglich 103 Abtastungen erforderlich, und zwar im Gegensatz von 512 Abtastungen, wenn pro Abtastung genau ein Zufallsbit erzeugt wird. Es sei darauf hingewiesen, daß bei dem in Fig. 3 gezeigten Ausführungsbeispiel, um die Zufallszahlen zu erzeugen, Schwellwertgatter verwendet werden, die der Tatsache, ob ein Rauschsignal-Abtastwert oberhalb oder unterhalb des Schwel- lenwertes liegt, d.h. im ersten oder im zweiten Bereich liegt, lediglich ein Bit zuweisen. Um in so einem Fall, bei der Verwendung von Schwellwertgattern, eine Zufallszahl mit zumindest zwei - abhängigen - Stellen am Ausgang der Einrichtung 3 zu erzeugen, müssen zumindest zwei Schwellwertgatter verwendet werden, d.h. insgesamt vier Rauschsignal- Schwellenwerte, da zusätzlich der unterste Rauschsignal- Schwellenwert o von Fig. 2b und der oberste Rauschsignal- Schwellenwert x8 von Fig. 2b verwendet werden müßte. In diesem Fall, bei dem nur zwei Rauschsignal-Schwellenwerte xlf x2 verwendet werden, würde der Rauschsignal-Schwellenwert xi zwischen den Rauschsignal-Schwellenwerten x2 und x3 von Fig. 2b liegen, und würde der zweite Rauschsignal-Schwellenwert x2 zwischen den Rauschsignal-Schwellenwerten x5 und x& von Fig. 2b liegen, und zwar ebenfalls unter der vorgenannten Voraus- Setzung, daß die Flächen zwischen den Rauschsignal- Schwellenwerten und den entsprechenden Rand-Werten x0 und x8 gleich sind und ebenfalls gleich der Flächen zwischen den beiden Rauschsignal-Schwellenwerten, die die Gatter 3a, 3b bestimmen, sind. Zur Erzeugung von echten Zufallsbits würden dagegen mindestens drei Schwellwertgatter benötigt werden, die vier Bereiche in der Wahrscheinlichkeitsdichtefunktion voneinander unterscheiden können.
Die Rauschsignalquelle 1 von Fig. 3 erzeugt somit ein sto- chastisches Signal, wobei, wie es ausgeführt worden ist, ein elektronisches Bauelement, wie z.B. ein Widerstand oder ein Transistor eingesetzt werden kann.
Dieses analoge Signal wird mittels des A/D-Wandlers 2 in 23 Stufen diskretisiert und dann, wie es ausgeführt worden ist, mit Hilfe der Schwellwertgatter verarbeitet. Aus praktischen Gründen werden, wie es ausgeführt worden ist, nur die inneren Schwellenwerte benutzt, d.h. die Schwellenwerte für die minimalen und die maximalen Amplituden werden nicht benötigt. Es sei darauf hingewiesen, daß die Funktionalität der Schwellenwerte mit dem A/D-Wandler 2 in einer einzigen Komponente integriert werden kann.
Abhängig von der Größe des abgetasteten Rauschwerts der Rauschquelle ergibt sich an den Ausgängen der Schwellwertgatter eine Zufallszahl, die ein 2n-l dimensionaler binärer Vektor ist. Bei bevorzugten Ausführungsbeispielen der vorliegenden Erfindung wird es bevorzugt, diesen redundanten Vektor (linke Hälfte der Wahrheitstabelle in Fig. 3) zu codieren und auf einen n-dimensionalen Ausgangsvektor abzubilden. Hierzu wird eine Logikeinrichtung 4 verwendet, die prinzipiell als Codierer funktioniert. Die Logikeinrichtung 4 hat bei dem in Fig. 3 gezeigten bevorzugten Ausführungsbeispiel die in Fig. 3 dargestellte Wahrheitstabelle, um eine 7-Bit-Zufallszahl mit abhängigen Stellen in eine 3-Bit-codierte Zufallszahl mit echten Zufallsbits abzubilden bzw. umzucodieren. Am Ausgang der Logik 4 liegt somit ein Vektor von Zufallsbits an, der eine codierte Zufallszahl darstellt.
Zur Umsetzung der am Eingang der Logik 4 vorliegenden Zufallszahlen mit abhängigen Stellen wird es oftmals bevorzugt, die Redundanz-Entziehung durch den Codierer 4 zu bewirken, der in Fig. 2 und in den weiteren Figuren auch mit „Logik" bezeichnet ist, um die echten Zufallsbits zu erhalten.
Es sei darauf hingewiesen, daß die Funktion der Schwellwertgatter und die Funktion der Logikeinrichtung 4 auch in einem einzigen Bauteil zusammengefaßt werden kann. Alternativ muß nicht unbedingt eine Schwellwertgatterent- scheidung und nachfolgende Codierung vorgenommen werden. Die Zuordnung von zwei oder mehreren Zufallsbits zu einem Bereich kann erfindungsgemäß beliebig erfolgen, solange die n Bits der binären Zufallszahl derart bestimmt werden, daß jede Bitkombination der n Bits der binären Zufallszahl eindeutig einem der 2n Bereiche zugeordnet ist.
Die logische Funktion, die durch den Codierer 4 implementiert werden muß, kann beispielsweise durch eine ROM-Tabelle dargestellt sein, die die Wahrheitstabelle von Fig. 3 aufweist. Werden die Schwellenwerte ^ so gewählt, daß die Xi den für die Gleichverteilung erforderlichen (i/2n) -Quantilen entsprechen, ist die Zuordnung der 2n-l binären Ausgänge der Schwellwertgatter zum n-dimensionalen Ausgangsvektor der logischen Funktion beliebig, aber vorzugsweise bijektiv.
Eine logische Funktion mit den notwendigen Eigenschaften ist beispielsweise durch einen Addierer gegeben. Gilt x kleiner als xi+i, dann kann die logische Funktion beispielsweise auch zu einem sogenannten Prioritätscodierer implementiert werden. Aufgrund der Redundanz im Ausgangsvektor der Schwellwertgatter ist eine Reihe weiterer logischer Funktionen möglich. Wählt man beispielsweise für die Ausgangsbits yo,.../yn-ι fol- gende Funktion:
,H (2)
</=2 <"-"±...±2 <"-"-ι
dann ergibt sich ebenfalls eine geeignete eindeutige Funkti-
on. Hierbei bezeichnet θ die Addition modulo 2 und x q den
binären Ausgang des Schwellwertgatters mit dem Schwellenwert
Xl. Für n = 3 gilt dann beispielsweise:
^2 = λ3 _Vι = X © X\ ^o = -**6 ® ^** ® ***2 0 » '*■' ^
Diese Funktion entspricht der in Fig. 3 gezeigten Wahrheitstabelle.
Es sei darauf hingewiesen, daß für die Güte der Gleichverteilung der Zufallszahlen die geeignete Wahl der Schwellwertwer- te Xi bedeutsam ist. Ist die Dichtefunktion p(x) von Fig. 2a des stochastischen Signals zeitkonstant und von vorneherein hinreichend genau bekannt, können diese Werte a priori ausgerechnet und eingestellt werden. Ist jedoch die Dichtefunktion p unbekannt oder ändert sie sich mit der Zeit, wird es bevor- zugt, die Schwellenwerte nachzuführen, d.h. zu adaptieren.
Eine Adaption der Schwellenwerte ist auch dann sinnvoll, wenn Implementierungsungenauigkeiten, beispielsweise des Ana- log/Digital-Wandlers auszugleichen sind. Wie es nachfolgend dargelegt wird, ist auch dann, wenn die Wahrscheinlichkeits- dichtefunktion p(x) zwar zeitkonstant ist, jedoch a priori nicht bekannt ist, eine automatische Ermittlung der optimalen Rauschsignal-Schwellwerte möglich. In diesem Fall muß die Einrichtung 5 zum Berechnen der Rauschsignal-Schwellenwerte auch bei unbekannter, jedoch zeitkonstanter Wahrscheinlich- keitsdichteverteilung die Rauschsignal-Schwellenwerte zunächst ermitteln, um dann nach einer Anzahl von Trainings- Durchläufen optimal eingestellte Schwellenwerte bereitstellen zu können.
Die a priori Auswahl der Schwellenwerte Xi findet bei einer analytisch oder numerisch bekannten Verteilungsfunktion, welche beispielsweise durch Messung erhalten worden ist, folgendermaßen statt. Sei F eine gegebene Verteilungsfunktion der Zufallsvariable Y mit stetiger Dichtefunktion p, so gilt fol- gender Zusammenhang:
Figure imgf000020_0001
In diesem Fall sind die Unterteilungspunkte für eine Gleichverteilung auf {0,...,2n_1} wählen:
x, := F-l(— ), i e {0,...,2"} . (5)
Definiert man eine neue Zufallsvariable Y wie oben beschrieben, so ist diese auf {0,...2n_1} gleichverteilt.
Im nachfolgenden wird anhand der Figuren 4, 5, 6 und 7 auf verschiedene Möglichkeiten der adaptiven Einstellung der Rauschsignal-Schwellenwerte der Einrichtung 3 zum Ausgeben der Zufallszahlen mit zumindest zwei Stellen eingegangen.
Bei dem in Fig. 4 gezeigten Ausführungsbeispiel werden zum Nachführen der Rauschsignal-Schwellenwerte diskretisierte Ausgangswerte des A/D-Wandlers ausgewertet, wie es durch einen Pfeil 40 dargestellt ist. Alternativ können auch, wie es in Fig. 5 dargestellt ist, direkt die Rauschsignal-Werte am Ausgang der Rauschquelle betrachtet und ausgewertet werden, wie es durch einen Pfeil 50 dargestellt ist. Alternativ kön- nen auch die Zufallszahlen am Ausgang der Einrichtung 3 verwendet werden, wie es durch Zeile 60 in Fig. 6 dargestellt ist. Alternativ können auch die codierten Zufallszahlen am Ausgang der Logikeinrichtung 4 betrachtet werden, wie es in Fig. 7 durch einen Pfeil 70 dargestellt ist. Alternativ kön- nen auch beliebige Kombinationen der in den Figuren 4, 5, 6 und 7 dargestellten Möglichkeiten eingesetzt werden. Hierzu werden entweder mehrere beobachtete Werte in die Einrichtung 5 zum Bereitstellen der Rauschsignal-Schwellenwerte eingelesen und verarbeitet. Alternativ kann auch eine Nachführung der Rauschsignal-Schwellenwerte erreicht werden, wenn nur ein aktuell beobachteter Wert eingelesen und verarbeitet wird. Die Einrichtung 5 bildet dann eine Schätzung für die optimalen Schwellenwerte Xi und gibt diese, wie es aus den Figuren ersichtlich ist, an die Schwellwertgatter weiter.
Eine Möglichkeit zur Approximation der i/ (2n) -Quantile, d.h. der Rauschsignal-Schwellenwerte, der Verteilung ergibt sich durch Ermittlung der statistischen i/ (2n) -Quantile der Messungen. Dies kann beispielsweise dadurch geschehen, daß, wie es anhand von Fig. 8 ersichtlich ist, die Rauschdaten in aufsteigender Reihenfolge sortiert gespeichert werden. Anschlie- ßend kann durch Abzählen das entsprechende Quantil gefunden werden. Fig. 8 zeigt beispielsweise 1024 Speichereinheiten 80, die in aufsteigender Reihenfolge angeordnet sind. Zur Anwendung des in Fig. 8 gezeigten Konzepts müssen zunächst 1024 Rauschsignal-Abtastwerte, Zufallszahlen etc. erfaßt werden und in die 1024 Speichereinheiten nach ihrer Größe einsortiert werden, und zwar in aufsteigender Reihenfolge. Wenn die 1024 Speichereinheiten belegt sind, steht beispielsweise in der Speicherzelle ai28 das 1/8-Quantil, d.h. der Rauschsignal- Schwellenwert x von Fig. 2b, während in der Speicherzelle a896 das 7/8-Quantil steht, also der Rauschsignal- Schwellenwert x von Fig. 2b. Ein Vorteil des in Fig. 8 gezeigten Konzepts besteht darin, daß es dann, wenn die 1024 Speichereinheiten erst einmal gefüllt sind, zu einer unmittelbaren Nachführung verwendet werden kann. Werden 1024 Rauschsignalwerte erfaßt und einsortiert, und wird dann der 1025ste Wert erhalten, so muß dieser in eine Speichereinheit 80 einsortiert werden, so daß eine nächstniedrigere Speichereinheit einen kleineren Wert hat und eine nächsthöhere Speichereinheit einen größeren Wert hat. Dazu wird der als erstes eingefügte Wert, also der älteste Wert, aussortiert und die Speicherelementesequenz unter Verwendung des neuen Werts umsortiert.
Landet nun in einer Speichereinheit, die ein Quantil be- stimmt, ein anderer Wert als vorher, so wird der entsprechende Rauschsignal-Schwellenwert in dem entsprechenden Schwellwertgatter der Einrichtung 3 auf den neu einsortierten Wert verändert. Wesentlich an dem in dem Fig. 8 beschriebenen Konzept ist, daß ein schneller Einsortieralgorithmus verwendet wird.
Nachfolgend wird als alternative Option ein adaptives Verfahren vorgestellt, bei dem eine Schätzung für die Schwellenwerte durch Beobachtung der erzeugten Zufallszahlen erhalten wird. Dazu sei ein Intervall [a, b] gegeben, für welches ein beliebiges, dann jedoch festes γ-Quantil aus der Menge [0,1] zu bestimmen ist. X(l) aus der Menge [a, b] bezeichnet den im 1-ten Schritt gefundenen Schwellenwert, und Rc(l) bezeichnet eine Menge von Realisierungen des Zufallsprozesses der Mäch- tigkeit c, wobei c eine natürliche Zahl ist:
Die beiden folgenden Gleichungen geben die Anzahl der Elemente aus Rc(l) an, die größer bzw. kleiner als der Schwellenwert x(l) sind:
A(l) :=\ {i e Rc(l) \ i ≤ x(l)} \ und
6) B(l) :=\ {i Rc(l) \ i > x(l)} \
Der Algorithmus hat folgenden Verlauf, wobei c fest gewählt ist:
Wähle x(l) e [a, b] beliebig Wähle α e R, α > 0 beliebig 1 <- 0 wiederhole
1 <- 1 + 1
Rc(l) <— c Realisierungen des Zufallsprozesses
A(l) <- |{i e Rc(l)| i < x(l) }|
B(l) <- |{i e Rc(l)| i > x(l) }| x(l+l) <- x(l) + (γ B(l) - (1 - γ)A(l))/ß(l)
10: bis Adaption hinreichend gut
Der Faktor ß(l) kann zur Beschleunigung der Konvergenz ge- wählt werden. Sind die Rc(l) unabhängig und ß(l) = 1, so läßt sich die Konvergenz gegen das γ-Quantil mit Wahrscheinlichkeit 1 mathematisch nachweisen. Die Abbruchbedingung in Zeile 10 kann z. B. durch mehrfachen Vergleich von A(l) und B(l) realisiert werden oder durch eine feste Anzahl von Iterati- onszyklen ersetzt werden. Der Algorithmus läßt sich für alle benötigten Quantile (z. B. γ = i/2n, i = 1, ...,2n-l) simultan verwenden.
Nach einer festen Anzahl von Iterationszyklen empfiehlt es sich ferner, die Schrittvariable 1 wieder auf einen kleineren Wert zurückzusetzen, damit wieder eine neue Korrektur bzw. Adaption stattfindet. Wie es bereits ausgeführt worden ist, läßt sich der Algorithmus für alle benötigten Quantile (beispielsweise γ = i/2n, i = 1, -.., 2n_1 ) simultan verwenden.
Der beschriebene Algorithmus führt ferner auch bei unbekannter Wahrscheinlichkeitsdichteverteilung p(x) zu einer automatischen Einstellung der Rauschsignal-Schwellenwerte.
Dies gilt ferner auch für das in Fig. 8 beschriebene Konzept, wobei auch hier nach einer bestimmten Trainings-Phase, in der Zufallszahlen nicht ausgegeben werden sollten, die Rauschsignal-Schwellenwerte wie benötigt automatisch eingestellt worden sind. Bei einer Aktivierung des Algorithmus während der Erzeugung der Zufallszahlen ist der Fall c = 1 und im Hinblick auf eine Implementierung besonders günstig.
1: 1 <- 1 + 1
2: i <— eine Realisierung des Zufallsprozesses
3 : falls i > x (1) dann
4: x(l+l) - x(l) + γ/ß(l) (Inkrementieren) 5: sonst
6: x(l+l) - x(l) - (l-γ)/ß(l) (Dekrementieren)
7 : end falls
Im letzteren Szenario ist der Fall ß(l) = 2j_r, wobei r eine natürliche Zahl oder 0 ist und 2j Quantisierungsstufen im
A/D-Wandler des Abtasters gegeben sind, im Hinblick auf eine Implementierung besonders interessant.
Betrachtet man beispielsweise das 1/4-Quantil, so lautet die Schleife des Algorithmus folgendermaßen:
1: 1 <- 1 + 1
2: i <- eine Realisierung des Zufallsprozesses
3: falls i > x(l) dann 4: x(l+l) <- x(l) + 2r"j"2 (Inkrementieren)
5 : sonst
6: x(l+l) <- χ(l) - 3 " 2r_j"2 (Dekrementieren)
7 : end falls
Betrachtet man weiter das 1/2-Quantil, so lautet der Algorithmus:
1: 1 <- 1 + 1
2: i <— eine Realisierung des Zufallsprozesses 3 : falls i > x( l ) dann
4: x(l+l) «- x(l) + 2r_j_1 (Inkrementieren)
5 : sonst
6: x(l+l) <- x(l) — 2r~j-1 (Dekrementieren) 7 : end falls
Betrachtet man schließlich das 3/4-Quantil, so lautet die Schleife im Algorithmus :
1: 1 <- 1 + 1
2: i *- eine Realisierung des Zufallsprozesses 3: falls i > x(l) dann
4: x(l+l) *- x(l) + 3 * 2r-j_2 (Inkrementieren)
5: sonst 6: x(l+l) <- x(l) — 2r_j_2 (Dekrementieren)
7: end falls
Im nachfolgenden wird auf Fig. 9 Bezug genommen, um eine schaltungsmäßige Implementation des vereinfachten Algorithmus beispielhaft für das mittlere Quantil, d. h. das 1/2-Quantil x aus Fig. 2b, und den Fall n = 2, r = 1 zu erläutern. Die Einrichtung zum Bereitstellen des Rauschsignal-Schwellenwerts x umfaßt ein Register 90, einen Addierer 91, ein Rechenwerk 92 sowie zwei Eingänge 93 und 94, von denen der eine den Wert +2~j zum Addierer 92 liefert, während der andere den Wert «_2~3" zu dem Addierer 92 liefert. Der gesamte Schaltungsblock für den mittleren Rauschsignal-Schwellenwert x ist in Fig. 9 mit dem Bezugszeichen 6 bezeichnet. Insbesondere wird der aktuell verwendete Schwellenwert in dem Register 90 gehalten und je nach Zustand der aktuellen Schwellwertentscheidung inkrementiert oder dekrementiert. Der gesamte Block 6 wird durch eine Enable-Leitung "enl" 95 durch eine Kontrol- logik 7 dann aktiviert, wenn der entsprechende Schwellenwert x adaptiert werden soll. Dieselben Blöcke 8, 9 existieren in analoger Ausführung für die beiden anderen Schwellenwerte. Für deren Aktivierung ist jedoch Voraussetzung, daß sich der aktuelle Rauschwert in dem Intervall ]-∞,Xι[ bzw. ]xι,+∞[ befindet. Aus diesem Grund wird der Kontrollogik zusätzlich noch das Ausgangssignal des Schwellwertgatters mit dem
Schwellenwert x zugeführt, wie es aus der Fig. 9 ersichtlich ist. Es sei darauf hingewiesen, daß andere Quantile als das mittlere Quantil durch Verwenden des jeweiligen prozentualen γ- erts in Zeile 3 des obigen Algorithmus ebenfalls ermittelt werden können.
Es sei darauf hingewiesen, daß beliebige Alternativen zum Ü- berwachen der Statistik der entsprechenden Zufallszahlen und zum Nachstellen der entsprechenden Rauschsignal- Schwellenwerte implementierbar sind.
Das in Fig. 9 bezeichnete Ausführungsbeispiel führt eine A- daption pro neu erfaßtem Wert durch, die schaltungstechnisch günstig zu realisieren ist. Dies ist der Fall, da das Rechen- werk 92 lediglich als einfacher Komparator auszuführen ist, um die Zeile 3 des letztgenannten Algorithmus zu implementieren, und um dann eine Inkrementierung bzw. Dekrementierung vorzugsweise nach einer Gewichtung mit einer Iterationsvariablen, welche in Fig. 9 nicht gezeigt ist, durchzuführen. So- mit wird aus dem alten Rauschsignal-Schwellenwert x unter Verwendung des Addierers 91 der neuen Rauschsignal- Schwellenwert berechnet. Bezugszeichenliste
1 Rauschsignalquelle
2 Abtaster 3 Einrichtung zum Ausgeben der Zufallszahl
3a Erster Rauschsignal-Schwellenwert
3b Zweiter Rauschsignal-Schwellenwert
3c Siebter Rauschsignal-Schwellenwert
4 Codierer 5 Einrichtung zum Bereitstellen von Rauschsignal- Schwellenwerten
6 Adaptierblock für eine Rauschsignal-Schwellenwert
7 Steuerlogik
8 Adaptierblock für einen weiteren Rauschsignal- Schwellenwert
9 Adaptierblock für noch einen weiteren Rauschsignal-Schwellenwert
31 Erste Zeile der Wahrheitstabelle des Codierers
32 Zweite Zeile der Wahrheitstabelle des Codierers 38 Achte Zeile der Wahrheitstabelle des Codierers
40 Überwachen der Rauschsignal-Abtastwerte
50 Überwachen der Rauschsignalwerte vor der Abtastung
60 Überwachen der Zufallszahlen
70 Überwachen der codierten Zufallszahlen 80 Speichereinheiten
90 Register
91 Addierer
92 Rechenwerk
93 Positiver Inkrementierungswert 94 Negativer Inkrementierungswert
95 Freigabeleitung

Claims

Patentansprüche
1. Vorrichtung zum Erzeugen einer Zufallszahl, mit folgenden Merkmalen:
einer Einrichtung (2) zum Abtasten eines Rauschsignals, um einen Rauschsignal-Abtastwert zu erhalten;
einer Einrichtung (5) zum Bereitstellen von zumindest drei Rauschsignal-Schwellenwerten, wobei die zumindest drei
Rauschsignal-Schwellenwerte so gewählt sind, daß eine erste Wahrscheinlichkeit, daß der Rauschsignalabtastwert zwischen dem ersten und dem zweiten Rauschsignal-Schwellenwert liegt, und eine zweite Wahrscheinlichkeit, daß der Rauschsignal- Abtastwert zwischen dem zweiten und dem dritten Rauschsignal- Schwellenwert liegt, weniger als ein vorbestimmter Differenzwert voneinander unterschiedlich sind oder gleich sind; und
einer Einrichtung (3) zum Ausgeben der Zufallszahl mit zumin- dest zwei Stellen abhängig von dem Rauschsignal-Abtastwert, wobei, falls der Rauschsignal-Abtastwert zwischen dem ersten und dem zweiten Rauschsignal-Schwellenwert liegt, eine erste Stelle der Zufallszahl einen ersten Zustand erhält und eine zweite Stelle der Zufallszahl, die für einen Bereich zwischen dem zweiten Rauschsignal-Schwellenwert und dem dritten
Rauschsignal-Schwellenwert steht, einen zweiten Zustand erhält, der sich von dem ersten Zustand unterscheidet.
2. Vorrichtung nach Anspruch 1,
bei der die Einrichtung (3) zum Ausgeben der Zufallszahl zumindest ein Schwellwertgatter xi aufweist, in das der Rauschsignal-Abtastwert einspeisbar ist, und durch das abhängig davon, ob der Rauschsignal-Abtastwert den zweiten Schwellenwert über- oder unterschreitet, die erste oder zweite Stelle der Zufallszahl bestimmbar ist.
3. Vorrichtung nach Anspruch 1,
bei der die Einrichtung (5) zum Bereitstellen ausgebildet ist, um zumindest vier Rauschsignal-Schwellenwerte zu liefern, wobei ein kleinster Rauschsignal-Schwellenwert ein durch eine vorbestimmte minimale Wahrscheinlichkeit bestimm- ter minimaler Rauschsignal-Abtastwert ist,
wobei ein größter Rauschsignal-Schwellenwert ein durch eine vorbestimmte maximale Wahrscheinlichkeit bestimmter maximaler Rauschsignal-Abtastwerte ist, und
wobei die zumindest zwei restlichen Rauschsignal- Schwellenwerte zwischen dem kleinsten und dem größten Rauschsignal-Schwellenwert liegen.
4. Vorrichtung nach Anspruch 3, bei der für jeden der zumindest zwei restlichen Rauschsignal-Schwellenwerte ein eigenes Schwellwertgatter (xl, x2) vorgesehen ist, wobei durch jedes Schwellenwertgatter eine eigene Stelle der Zufallszahl bestimmbar ist, wobei der logische Zustand jeder Stelle der Zu- fallszahl davon abhängt, ob der Rauschsignal-Abtastwert den
Schwellenwert, der dem entsprechenden Schwellwertgatter zugeordnet ist, unter- oder überschreitet.
5. Vorrichtung nach Anspruch 4, bei der zumindest drei rest- liehe Rauschsignal-Schwellenwerte vorhanden sind, und die ferner folgende Merkmale aufweist: einen Codierer (4) zum Codieren der Zufallszahl, um eine codierte Zufallszahl zu erhalten, die eine geringere Redundanz als die Zufallszahl aufweist.
6. Vorrichtung nach Anspruch 5,
bei der die Zufallszahl und die codierte Zufallszahl binär sind, und der erste Zustand ein erster Binärzustand ist, und der zweite Zustand ein zweiter Binärzustand ist, der sich von dem ersten Binärzustand unterscheidet.
7. Vorrichtung nach Anspruch 6,
bei der der Codierer (4) eine Tabelle aufweist, durch die eine codierte Zufallszahl eindeutig einer Zufallszahl zugeordnet ist, wobei die codierte Zufallszahl weniger Stellen als die Zufallszahl hat.
8. Vorrichtung nach Anspruch 6, bei der der Codierer ausgebildet ist, um folgende logische Gleichung zu implementieren:
Figure imgf000030_0001
wobei x q eine Stelle der Zufallszahl mit einem Index q ist,
wobei yn-i eine Stelle der codierten Zufallszahl mit einem Index (n-i) ist;
wobei n die Anzahl der Stellen der codierten Zufallszahl ist,
wobei i eine Laufvariable ist, die von 1 bis n läuft, und
wobei θ eine Modulo-2-Addition der Stellen xq ist, die durch folgende Gleichung berechnet werden:
q = 2(n-1)+...+2(n_i)-l.
9. Vorrichtung nach einem der Ansprüche 5 bis 8, bei der das Rauschsignal eine Wahrscheinlichkeitsdichtefunktion hat, die vorbestimmt ist,
bei der die Wahrscheinlichkeit, daß ein Rauschsignal- Abtastwert kleiner oder gleich einem Rauschsignal- Schwellenwert ist, durch folgende Gleichung gegeben ist:
:R→[0,1], F(x) := \p(y)dy (4)
wobei p(y) die Wahrscheinlichkeitsdichtefunktion des Rauschsignals ist;
wobei y ein Rauschsignal-Schwellenwert ist,
wobei die Einrichtung (5) zum Bereitstellen ausgebildet ist, um die Rauschsignal-Schwellenwerte gemäß folgender Gleichung festzulegen:
Figure imgf000031_0001
wobei i eine Laufvariable ist, wobei F_1 eine Umkehrfunktion der Funktion F ist, und wobei Xi der gesuchte Rauschsignal- Schwellenwert ist.
10. Vorrichtung nach einem der Ansprüche 1 bis 4,
bei der die Einrichtung (5) zum Bereitstellen der zumindest drei Schwellenwerte folgende Merkmale aufweist:
eine Einrichtung zum Überwachen der Rauschsignal-Abtastwerte, des Rauschsignals oder der Zufallszahl; eine Einrichtung zum Übermitteln einer statistischen Verteilung einer überwachten Größe; und
eine Einrichtung zum Adaptieren der Rauschsignal- Schwellenwerte, um eine Abweichung zwischen der ersten und der zweiten Wahrscheinlichkeit zu verkleinern.
11. Vorrichtung nach einem der Ansprüche 5 bis 8,
bei der die Einrichtung (5) zum Bereitstellen der zumindest drei Schwellenwerte folgende Merkmale aufweist:
eine Einrichtung zum Überwachen der codierten Zufallszahlen;
eine Einrichtung zum Übermitteln einer statistischen Verteilung der codierten Zufallszahlen; und
eine Einrichtung zum Adaptieren der Rauschsignal- Schwellenwerte, um eine Abweichung zwischen der ersten und der zweiten Wahrscheinlichkeit zu verkleinern.
12. Vorrichtung nach Anspruch 10,
bei der die Einrichtung zum Überwachen einen Speicher mit ei- ner Sequenz von Speicherzellen (80) aufweist, die in aufsteigender Reihenfolge angeordnet sind,
wobei Rauschsignal-Werte oder Rauschsignal-Abtastwerte abhängig von ihrer Größe in die Speicherzellen-Sequenz einsortier- bar sind,
wobei die Einrichtung (5) zum Bereitstellen ausgebildet ist, um Speicherzellen mit gleich beabstandeten Ordnungszahlen auszulesen, wobei jedem Schwellenwert eine auszulesende Spei- cherzelle zugewiesen ist, und bei der die Einrichtung (5) zum Bereitstellen ferner ausgebildet ist, um einen Rauschsignal-Schwellenwert auf einen Wert einzustellen, der in der Speicherzelle mit der dem Rauschsignal-Schwellenwert zugeordneten Ordnungszahl gespeichert ist.
13. Vorrichtung nach Anspruch 12, bei der eine Neueinstellung eines Rauschsignal-Schwellenwerts bei einer vorbestimmten Ab- weichung, zu einem vorbestimmten Zeitpunkt oder in Verbindung mit der Erfassung eines neuen Rauschsignal-Abtastwerts durchführbar ist.
14. Vorrichtung nach einem der Ansprüche 1 bis 9,
bei der die Einrichtung (5) zum Bereitstellen folgende Merkmale aufweist:
eine Einrichtung zum Adaptieren der Rauschsignal- Schwellenwerte, um eine Abweichung zwischen der ersten und der zweiten Wahrscheinlichkeit zu verkleinern,
wobei die Einrichtung zum Adaptieren ausgebildet ist, um eine Mehrzahl von Zufallszahlen zu erfassen,
um festzustellen, wie viele Zufallszahlen der Mehrzahl von Zufallszahlen größer oder kleiner als ein bestimmter Wert sind,
um in dem Fall, in dem mehr Zufallszahlen größer bzw. kleiner als ein vorbestimmter Wert sind, den Rauschsignal- Schwellenwert zu verkleinern oder in dem Fall, in dem weniger Zufallszahlen größer bzw. kleiner als ein vorbestimmter Schwellenwert sind, den Rauschsignal-Schwellenwert zu vergrö- ßern, wobei der vorbestimmte Wert durch eine Ordnungsnummer des betrachteten Rauschsignal-Schwellenwerts gegeben ist.
15. Vorrichtung nach Anspruch 14, bei der die Einrichtung zum Adaptieren ausgebildet ist, um in mehreren Iterationsschritten zu arbeiten,
wobei eine Vergrößerung oder Verkleinerung des betrachteten Rauschsignal-Schwellenwerts durch Addieren oder Subtrahieren eines Werts erreicht wird, der in jeder Iterationsstufe verkleinert wird.
16. Vorrichtung nach einem der Ansprüche 1 bis 9,
bei der die Einrichtung (5) zum Bereitstellen ausgebildet ist,
um einen durch den Rauschsignal-Abtastwert definierten Rausch-Wert zu erfassen,
um festzustellen, ob der Rausch-Wert größer oder kleiner als der Rauschsignal-Schwellenwert ist (92),
um in dem Fall, in dem eine Größer-Bedingung festgestellt worden ist, eine Inkrementierung des Rauschsignal- Schwellenwerts um einen Inkrementierungswert durchzuführen (93) oder in dem Fall, in dem eine Kleiner-Bedingung festgestellt worden ist, eine Dekrementierung des Rauschsignal- Schwellenwerts um einen Dekrementierungswert durchzuführen
(94), und um den inkrementierten bzw. dekrementierten Rauschsignal-Schwellenwert als adaptierten Rauschsignal- Schwellenwert zu verwenden.
17. Vorrichtung nach Anspruch 16, bei der ein adaptierter Rauschsignal-Schwellenwert unter Verwendung mehrerer Iterationsschritte gebildet wird, wobei der Inkrementierungs- oder Dekrementierungswert mit jedem Itera- tionsschritt verkleinert wird, und
wobei der Inkrementierungs- oder Dekrementierungswert nach einer vorbestimmten Anzahl von Iterationsschritten wieder auf einen Ausgangswert rückgesetzt wird.
18. Verfahren zum Erzeugen einer Zufallszahl, mit folgenden Schritten:
Abtasten (2) eines Rauschsignals, um einen Rauschsignal- Abtastwert zu erhalten;
Bereitstellen (5) von zumindest drei Rauschsignal- Schwellenwerten, wobei die zumindest drei Rauschsignal- Schwellenwerte so gewählt sind, daß eine erste Wahrschein- lichkeit, daß der Rauschsignal-Abtastwert zwischen dem ersten und dem zweiten Rauschsignal-Schwellenwert liegt, und eine zweite Wahrscheinlichkeit, daß der Rauschsignal-Abtastwert zwischen dem zweiten und dem dritten Rauschsignal- Schwellenwert liegt, weniger als ein vorbestimmter Differenz- wert voneinander unterschiedlich sind oder gleich sind; und
Ausgeben (3) der Zufallszahl mit zumindest zwei Stellen abhängig von dem Rauschsignal-Abtastwert, wobei, falls der Rauschsignal-Abtastwert zwischen dem ersten und dem zweiten Rauschsignal-Schwellenwert liegt, eine erste Stelle der Zufallszahl einen ersten Zustand erhält, und eine zweite Stelle der Zufallszahl, die für einen Bereich zwischen dem zweiten Rauschsignal-Schwellenwert und dem dritten Rauschsignal- Schwellenwert steht, einen zweiten Zustand erhält, der sich von dem ersten Zustand unterscheidet.
19. Vorrichtung zum Erzeugen einer binären Zufallszahl, mit folgenden Merkmalen:
einer Einrichtung (2) zum Abtasten eines Rauschsignals, um einen Rauschsignal-Abtastwert zu erhalten;
einer Einrichtung (5) zum Bereitstellen von zumindest 2n+l Rauschsignal-Schwellenwerten, wobei n größer oder gleich 2 ist, wobei die Rauschsignal-Schwellenwerte 2n Bereiche für einen Rauschsignal-Abtastwert definieren, wobei die 2n+l Rauschsignal-Schwellenwerte so gewählt sind, daß Wahrscheinlichkeiten, daß der Rauschsignal-Abtastwert in einem der 2n Bereiche liegt, weniger als ein vorbestimmter Differenzwert voneinander unterschiedlich sind oder gleich sind; und
einer Einrichtung (3) zum Ausgeben der binären Zufallszahl mit n Bits abhängig von dem Rauschsignal-Abtastwert, wobei die n Bits der binären Zufallszahl derart bestimmt sind, daß jede Bitkombination der n Bits der binären Zufallszahl eindeutig einem der 2n Bereiche zugeordnet ist.
20. Vorrichtung nach Anspruch 19, bei der die Einrichtung zum Bereitstellen der Rauschsignal-Schwellenwerte ausgebildet ist, um die Rauschsignal-Schwellenwerte adaptiv nachzuführen.
21. Verfahren zum Erzeugen einer binären Zufallszahl, mit folgenden Schritten:
Abtasten (2) eines Rauschsignals, um einen Rauschsignal- Abtastwert zu erhalten;
Bereitstellen (5) von zumindest 2n+l Rauschsignal- Schwellenwerten, wobei n größer oder gleich 2 ist, die Rauschsignal-Schwellenwerte 2n Bereiche für einen Rauschsig- nal-Abtastwert definieren, wobei die 2n+l Rauschsignal- Schwellenwerte so gewählt sind, daß Wahrscheinlichkeiten, daß der Rauschsignal-Abtastwert in einem der 2n Bereiche liegt, weniger als ein vorbestimmter Differenzwert voneinander un- terschiedlich sind oder gleich sind; und
Ausgeben (3) der binären Zufallszahl mit n Bits abhängig von dem Rauschsignal-Abtastwert, wobei die n Bits der binären Zufallszahl derart bestimmt sind, daß jede Bitkombination der n Bits der binären Zufallszahl eindeutig einem der 2n Bereiche zugeordnet ist.
22. Verfahren nach Anspruch 21, bei dem der Schritt des Be rreeiittsstteelllleennss ddeenn SSchritt des Implementierens von 2n~1 Schwell- wertgattern umfaßt
PCT/EP2003/004285 2002-04-29 2003-04-24 Vorrichtung und verfahren zum erzeugen einer zufallszahl WO2003093971A2 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
AU2003232507A AU2003232507A1 (en) 2002-04-29 2003-04-24 Device and method for generating a random number
EP03747417A EP1504336B1 (de) 2002-04-29 2003-04-24 Vorrichtung und verfahren zum erzeugen einer zufallszahl
DE50310040T DE50310040D1 (de) 2002-04-29 2003-04-24 Vorrichtung und verfahren zum erzeugen einer zufallszahl
US10/978,241 US7647366B2 (en) 2002-04-29 2004-10-29 Apparatus and method for generating a random number

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10219135.2 2002-04-29
DE10219135A DE10219135B4 (de) 2002-04-29 2002-04-29 Vorrichtung und Verfahren zum Erzeugen einer Zufallszahl

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/978,241 Continuation US7647366B2 (en) 2002-04-29 2004-10-29 Apparatus and method for generating a random number

Publications (2)

Publication Number Publication Date
WO2003093971A2 true WO2003093971A2 (de) 2003-11-13
WO2003093971A3 WO2003093971A3 (de) 2004-10-07

Family

ID=29264898

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2003/004285 WO2003093971A2 (de) 2002-04-29 2003-04-24 Vorrichtung und verfahren zum erzeugen einer zufallszahl

Country Status (6)

Country Link
US (1) US7647366B2 (de)
EP (1) EP1504336B1 (de)
AU (1) AU2003232507A1 (de)
DE (2) DE10219135B4 (de)
TW (1) TW200400464A (de)
WO (1) WO2003093971A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014117983A1 (de) * 2013-02-01 2014-08-07 Siemens Aktiengesellschaft Verfahren und vorrichtung zum erzeugen von zufallsbits

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7477923B2 (en) * 2003-12-18 2009-01-13 Telefonaktiebolaget Lm Ericsson (Publ) Exchangeable module for additional functionality
US20070255777A1 (en) * 2004-11-18 2007-11-01 Niigata Tlo Corporation Method for Generating Random Number and Random Number Generator
EP1763136A1 (de) * 2005-09-07 2007-03-14 Stmicroelectronics Sa Verfahren zur Zufallszahlengenerierung
KR100758271B1 (ko) * 2005-12-08 2007-09-12 한국전자통신연구원 카오스 초광대역 무선 통신 방식을 이용한 거리 측정 장치및 그 방법
JP4883273B2 (ja) * 2006-01-11 2012-02-22 日本電気株式会社 乱数品質管理装置および管理方法
FR2896057A1 (fr) * 2006-01-12 2007-07-13 St Microelectronics Sa Procede et dispositif de generation d'un nombre aleatoire dans un peripherique usb
DE102006058353A1 (de) * 2006-12-11 2008-06-19 Siemens Ag Verfahren und Vorrichtung zum Erzeugen von statistisch voneinander unabhängigen Zufallszahlen
JP4535119B2 (ja) * 2007-11-20 2010-09-01 沖電気工業株式会社 共通鍵生成システム、共通鍵生成方法及びそれを用いるノード
EP2071355B1 (de) * 2007-12-13 2015-07-29 Swisscom AG System und Verfahren zur Bestimmung des Positionsbereichs eines mobilen Benutzers
JP4538066B2 (ja) * 2008-08-26 2010-09-08 株式会社東芝 乱数生成装置
CA2773293A1 (en) * 2011-04-10 2012-10-10 Qnx Software Systems Limited Multiple independent encryption domains
KR102083271B1 (ko) * 2012-07-31 2020-03-02 삼성전자주식회사 플래시 메모리의 물리적 특성을 이용하여 난수를 생성하는 플래시 메모리 시스템 및 그것의 난수 생성 방법
RU2013108893A (ru) * 2013-02-27 2014-09-10 ЭлЭсАй Корпорейшн Формирователь тестовых сигналов для декодера на основе разреженного контроля четности
DE102016207451A1 (de) * 2016-04-29 2017-11-02 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Erzeugen von Zufallsbits
KR101920190B1 (ko) * 2016-11-22 2019-02-08 한국인터넷진흥원 임의의 ip 생성 방법 및 그 장치
WO2020141921A1 (en) * 2019-01-03 2020-07-09 Samsung Electronics Co., Ltd. Honest random number generation and intelligent millimeterwave honest random number generator thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4513386A (en) * 1982-11-18 1985-04-23 Ncr Corporation Random binary bit signal generator
EP0903665A2 (de) * 1997-09-12 1999-03-24 Kabushiki Kaisha Toshiba Physikalischer Zufallszahlengenerator, Verfahren zum Generieren von physikalischen Zufallszahlen und Speichermedium für Physikalische Zufallszahlen
EP0981081A2 (de) * 1998-08-19 2000-02-23 Japan Science and Technology Corporation Gerät zur Erzeugung von Zufallszahlen

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4183088A (en) * 1962-01-31 1980-01-08 The United States Of America As Represented By The Secretary Of The Navy Random number generator
US4853884A (en) * 1987-09-11 1989-08-01 Motorola, Inc. Random number generator with digital feedback
US5007087A (en) * 1990-04-16 1991-04-09 Loral Aerospace Corp. Method and apparatus for generating secure random numbers using chaos
US6539410B1 (en) * 1999-03-17 2003-03-25 Michael Jay Klass Random number generator
US6271786B1 (en) * 1999-06-07 2001-08-07 Raytheon Company Random noise radar target detection device
JP3507886B2 (ja) * 2000-07-24 2004-03-15 新潟大学長 乱数発生方法
US7519641B2 (en) * 2003-08-27 2009-04-14 Id Quantique S.A. Method and apparatus for generating true random numbers by way of a quantum optics process

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4513386A (en) * 1982-11-18 1985-04-23 Ncr Corporation Random binary bit signal generator
EP0903665A2 (de) * 1997-09-12 1999-03-24 Kabushiki Kaisha Toshiba Physikalischer Zufallszahlengenerator, Verfahren zum Generieren von physikalischen Zufallszahlen und Speichermedium für Physikalische Zufallszahlen
EP0981081A2 (de) * 1998-08-19 2000-02-23 Japan Science and Technology Corporation Gerät zur Erzeugung von Zufallszahlen

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1504336A2 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014117983A1 (de) * 2013-02-01 2014-08-07 Siemens Aktiengesellschaft Verfahren und vorrichtung zum erzeugen von zufallsbits

Also Published As

Publication number Publication date
US20050286718A1 (en) 2005-12-29
EP1504336B1 (de) 2008-06-25
DE10219135A1 (de) 2003-11-20
US7647366B2 (en) 2010-01-12
WO2003093971A3 (de) 2004-10-07
TW200400464A (en) 2004-01-01
EP1504336A2 (de) 2005-02-09
DE10219135B4 (de) 2004-03-04
DE50310040D1 (de) 2008-08-07
AU2003232507A1 (en) 2003-11-17

Similar Documents

Publication Publication Date Title
DE10219135B4 (de) Vorrichtung und Verfahren zum Erzeugen einer Zufallszahl
DE69726661T2 (de) Verfahren und vorrichtung zur kodierung eines digitalen informationssignales
DE2706080C2 (de) Verfahren zur adaptiven Quantisierung von Transformationskoeffizienten eines Bildes und Anordnung zum Durchführen des Verfahrens
DE112011106024B4 (de) Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen
DE3618865A1 (de) Maximallaengen-schieberegister-schaltfolge-generator
EP2296282A2 (de) Verfahren und Anordnung zur arithmetischen Enkodierung und Dekodierung mit Verwendung mehrerer Nachschlagtabellen
DE2805294C2 (de) Codierende Übertragungsanlage für Faksimile-Signale
DE69815390T2 (de) Neuronale netzwerke
DE102013205542A1 (de) Vorrichtung und Verfahren zur Verarbeitung von Daten
DE2704141C2 (de)
EP1155498B1 (de) Vorrichtung und verfahren zum erzeugen eines datenstroms und vorrichtung und verfahren zum lesen eines datenstroms
DE2944234C2 (de)
DE10219163A1 (de) Vorrichtung und Verfahren zum Erzeugen einer Zufallszahl
DE60109620T2 (de) scrambler UND VERFAHREN ZUM VERWüRFELN VON DATENWöRTERN
DE10147306A1 (de) Verfahren und Vorrichtung zur Bestimmung von Initialisierungszuständen bei Pseudo-Noise-Folgen
EP1153481B1 (de) Verfahren und vorrichtung zum erzeugen eines datenstroms aus codeworten variabler länge und verfahren und vorrichtung zum lesen eines datenstroms aus codeworten variabler länge
DE102019214379B4 (de) Vorrichtung und Verfahren zur Verschlüsselung
DE102017200075B4 (de) Entschlüsselungsverfahren sowie Kommunikationssystem
DE3300970A1 (de) Digital-codierer
DE3732045C2 (de)
DE69734613T2 (de) Kodiertes Informationssignal
EP0847627B1 (de) Datendecoder
EP1595356B1 (de) Erzeugen von ergebniswerten mit einer vorgegebenen eigenschaft
DE2848943C2 (de) Anordnung zum stochastischen Kodieren von mindestens zwei Größen
DE19840853B4 (de) Verfahren und Vorrichtungen zum Codieren eines Audiosignals

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2003747417

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10978241

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2003747417

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP

WWG Wipo information: grant in national office

Ref document number: 2003747417

Country of ref document: EP