DE19926640C2 - Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator - Google Patents
Verfahren zur Erzeugung von echten Zufallszahlen sowie ZufallszahlengeneratorInfo
- Publication number
- DE19926640C2 DE19926640C2 DE1999126640 DE19926640A DE19926640C2 DE 19926640 C2 DE19926640 C2 DE 19926640C2 DE 1999126640 DE1999126640 DE 1999126640 DE 19926640 A DE19926640 A DE 19926640A DE 19926640 C2 DE19926640 C2 DE 19926640C2
- Authority
- DE
- Germany
- Prior art keywords
- random
- deterministic
- digital
- number generator
- random number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/84—Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Manipulation Of Pulses (AREA)
Description
Die Erfindung betrifft ein Verfahren zur Erzeugung von Zufallszahlen sowie
einen Zufallszahlengenerator.
Es ist bekannt, dass zur Erzeugung echter, d. h. nichtdeterministischer
Zufallszahlen ein nichtdeterministisches Signal wie z. B. Schrotrauschen,
oder thermisches Rauschen benötigt wird.
Üblicherweise wird hierzu Rauschen verstärkt und AD-gewandelt (Patent
EP 0903665 C, Fig. 1; Numnerical Recipes Code CDROM, ISBN 0-521-57608-3,
Bild/extras/random/doc/hororan.gif).
Der Nachteil bei diesem und ähnlichen Verfahren ist, dass bei hohen Fre
quenzen (bei der Grenzfrequenz des Verstärkers oder der Rauschquelle)
die Qualität der so generierten Zufallszahlen mit einem Entropiebelag
kleiner als 0,9 Bit/Bit sehr schlecht wird. Dadurch sind solche Generatoren für
schnelle Anwendungen wie z. B. Rausch-Radar (Narayanan, R. M. et. al.:
Design and performance of a polarimetic noise radar for detection of shallow
buried targets. Proc. SPIE Vol. 2496 Orlando 1995) prinzipiell ungeeignet.
Außerdem eignen sich solche analogen Schaltungen nicht für die Höchstin
tegration. Hinzu kommen Probleme wie Alterung und Umgebungseinflüsse
wie Temperatur, Druck und Magnetfeld, so dass die Taktfrequenz, mit der
die Zufallszahlen ausgelesen werden, erniedrigt werden muss, um auch über
längere Zeit und bei veränderten Umgebungseinflüssen einen Mindest-
Entropiebelag garantieren zu können.
Aus IBM Technical Disclosure Bulletin, Vol. 34, NO. 7B, December 1991 ist
ein Verfahren zur Erzeugung von Zufallszahlen mittels eines Rauschgene
rators zur Erzeugung weißen Rauschens sowie mittels eines Pseudo-
Zufallsgenerators basierend auf einem Datenverschlüsselungsalgorithmus
bekannt.
Aus US 43 55 366 A ist ein Zufallszahlengenerator bekannt, der aus einem
Rauschgenerator sowie aus einem Abtastregister aufgebaut ist. Der Zufalls
zahlengenerator umfasst weiter einen Schaltkreis zur Reduzierung einer
Autokorrelation des Zufallszahlengenerators.
Der Erfindung liegt deshalb die Aufgabe zugrunde, ein Verfahren zur Erzeu
gung von Zufallszahlen bzw. einen Zufallszahlengenerator anzugeben, das
bzw. der die Erzeugung von Zufallszahlen hoher Qualität ermöglicht, insbe
sondere sollen auch bei hohen Taktfrequenzen (oberhalb von 1 GHz) echte
Zufallszahlen hoher Qualität, d. h. mit einem Entropiebelag größer
0,99 Bit/Bit, nur mit digitalen und höchstintegrierbaren Bauelementen erzeug
bar sein.
Diese Aufgabe wird durch ein Verfahren bzw. einen Zufallszahlengenerator
mit den in den Ansprüchen 1 bzw. 11 angegeben Merkmalen gelöst.
Dabei werden die Zufallszahlen von einer digitalen Rauschquelle mit den
Zufallszahlen von einer (oder mehreren) anderen Rauschquelle oder einem
Pseudozufallszahlengenerator boolsch verknüpft.
Der Entropiebelag der so erzeugten Zufallszahlen kann durch Verknüpfen
von weiteren Zufallszahlen aus einer oder mehreren weiteren digitalen
Rauschquellen beliebig nahe dem theoretischen Limit von 1,0 Bit/Bit
angenähert werden. Im Spezialfall des EXOR (= Summe modulo 2, least
significant bit) und EXNOR ergibt sich dies direkt aus dem zentralen Grenz
wertsatz.
Bei Anwendungen, bei denen nur echte Zufallszahlen ohne einen
Mindest-Entropiebelag benötigt werden, ist es ausreichend die Verknüpfung
mit Pseudozufallszahlen, z. B. von Schieberegisterfolgen maximaler Länge,
durchzuführen.
Ein mit der Erfindung erreichter Vorteil ist, das sie vollständig digital
ist und z. B. in eine CPU integriert werden kann. Dadurch können die Zufalls
zahlen ohne Wartezyklen mit vollem Systemtakt erzeugt werden, so dass
kein Zwischenspeichern der Zufallszahlen erforderlich ist und Rechenzeit, die
z. B. bei Monte-Carlo-Simulationen für die Berechnung von (Pseudo-) Zu
fallszahlen aufgewendet werden muss, eingespart werden kann.
Ein weiterer Vorteil ist, dass die Taktfrequenz kontinuierlich bis auf 0,0 Hz
verringert werden kann (z. B. für einen sleep-Modus).
Fig. 1 zeigt die Grobstruktur eines echten Zufallszahlengenerators, der aus
einem nichtdeterministischen Vektor (d. h. Leitungsbündel) von der
nichtdeterministischen Quelle n und einem deterministischen Vektor von der
deterministischen Quelle d mit der boolschen Verknüpfung b boolsch ver
knüpft und diesen echten Zufallsvektor (= Zufallszahl) ausgibt.
Ein konkretes Beispiel zeigt Fig. 3.
Fig. 2 zeigt die Grobstruktur eines echten Zufallszahlengenerators, der aus
einem nichtdeterministischen Vektor (d. h. Leitungsbündel) von der
nichtdeterministischen Quelle n durch eine boolsche Verknüpfung b
einen neuen echten Zufallsvektor (= Zufallszahl) erzeugt und ausgibt.
Ein konkretes Beispiel zeigt Fig. 4.
Ausführungsbeispiele der Erfindung sind in den folgenden zwei Schaltplänen
dargestellt und werden im Folgenden näher beschrieben.
Da ein m-Bit-Zufallszahlengenerator (mit vollem Systemtakt) einfach aus m
1-Bit-Zufallszahlengeneratoren aufgebaut werden kann, sind es nur Schalt
pläne von 1-Bit-Zufallszahlengeneratoren.
Fig. 3 ist ein Schaltplan eines echten Zufallszahlengenerators (1 Bit).
Als nichtdeterministische digitale Rauschquellen werden zwei invertierende
Schmitt-Trigger 0 und 6 verwendet, die asynchron zum (System-)Takt und
mit einem Phasen-Rauschen von erfahrungsgemäß ca. 5% schwingen.
Die anschließenden zwei D-Flip-Flops 1 und 8 lesen die primären Zufalls-
Bits synchron aus. Um sicherzustellen, dass daraus generierten Zufallsbitfol
gen ungefähr gleich viele binäre Nullen und Einsen enthalten, wird das
Signal vom oberen Schmitt-Trigger 0 nach der Synchronisierung R1
mit einem vom T-Flip-Flop 2 halbierten Takt (clk/2) und einem EXOR-Gatter
3 zyklisch invertiert. Zum selben Zweck wird von dem Signal vom unteren
Schmitt-Trigger, noch vor dem synchronisierenden D-Flip-Flop 8, mit einem
T-Flip-Flop 7 die Anzahl der steigenden Flanken modulo 2 gezählt.
Mit dem 97-stufigen Schieberegister 5 und dem Schaltgatter 4 wird ein
Pseudozufallsbitzyklus PN1 der Länge 2 97-1 erzeugt (Numerical Recipes in
C, 2nd ed., ISBN 0-521-43108-5, Seite 298-299).
Falls der Zufallszahlengenerator aus mehreren solchen 1-Bit-
Zufallszahlengeneratoren besteht, sollten die anderen Pseudozufallsbitzyk
luslängen teilerfremd sein.
Mit den EXOR-Gattern 9 und 10 schließlich werden diese drei
Zufallsbits zu einem verknüpft (R1 EXOR R2 EXOR PN1 EXOR clk/2), das
ausgegeben wird.
Es ist nebensächlich ob diese Schaltung in CMOS (wie bisher), ECL, TTL o. a.
realisiert wird. Abhängig von der Logik-Familie, Alterung und Umgebungs-
Einflüssen wie Temperatur und Versorgungsspannung werden sich die
nichtdeterministischen Zufallssignale R1 und R2 ändern, aber durch das E
XOR von R1 und R2 werden diese Einflüsse zum Teil kompensiert und durch
das EXOR mit den Pseudozufallsbits PN1 werden die Restkorrelationen so
überdeckt, dass sie am Ausgang praktisch nicht nachweisbar sind.
Fig. 4 ist ein anderer Schaltplan eines echten Zufallszahlengenerators
(1 Bit). Durch die mit Invertern 1 aufgebauten Ketten wird der (System-)Takt
mit einer Verzögerungs-Schwankung von erfahrungsgemäß ca. 5% je In
verter verzögert. Die Laufzeit durch eine Inverter-Kette ist nach dem zentra
len Grenzwertsatz (annähernd) normalverteilt und die Standardabweichung
der Laufzeit ist dadurch (annähernd) proportional der Quadratwurzel der
Inverteranzahl. Dadurch kann, falls die in Fig. 2 nur 8 Inverter langen Inver
ter-Ketten zu kleine Laufzeitschwankungen aufweisen, dieser Mangel durch
ein Verlängern der Inverter-Ketten beseitigt werden.
Die ersten zwei D-Flip-Flops 2 und 3 geben nach der steigenden Flanke am
Takt-Eingang eine 0 (Low) aus, wenn die Laufzeit der Inverter-Kette am
Takt-Eingang kürzer war als die der Inverter-Kette am Daten-Eingang, und
eine 1 (High) sonst. Die folgenden zwei D-Flip-Flops 4 und 5 lesen diese
primären Zufalls-Bits synchron aus. Mit dem Logik-Gatter 6 wird das EXOR
der zwei Zufallsbits gebildet, um den Entropiebelag weiter zu erhöhen.
Claims (14)
1. Verfahren zur Erzeugung von echten Zufallszahlen,
dadurch gekennzeichnet,
dass ein nichtdeterministisches digitales Zufallssignal durch Verwendung des
Rauschens digitaler Bauelemente als Signalquelle erzeugt wird.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
dass das nichtdeterministische Zufallssignal unter Verwendung des Phasen
rauschens digitaler Bauelemente erzeugt wird.
3. Verfahren nach Anspruch 1 oder 2,
dadurch gekennzeichnet,
dass ein oder mehrere nichtdeterministische digitale Zufallssignale aus
Laufzeitschwankungen zwischen Logik-Gatter-Ketten erzeugt werden.
4. Verfahren nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet,
dass das nichtdeterministische Zufallssignal mit einem oder mehreren ande
ren digitalen Zufallssignalen boolsch verknüpft wird.
5. Verfahren nach Anspruch 3,
dadurch gekennzeichnet,
dass als boolsche Verknüpfung das EXOR oder EXNOR verwendet wird.
6. Verfahren nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet,
dass mehrere nichtdeterministische Zufallssignale boolsch verknüpft werden.
7. Verfahren nach einem der Ansprüche 1 bis 6,
dadurch gekennzeichnet,
dass ein oder mehrere nichtdeterministische Zufallssignale mit einem oder
mehreren deterministischen Zufallssignalen boolsch verknüpft wird.
8. Verfahren nach Anspruch 7,
dadurch gekennzeichnet,
dass die deterministischen Zufallssignale der halbierte Takt oder eine
Schieberegisterfolge maximaler Länge sind.
9. Verfahren nach einem der Ansprüche 1 bis 8,
dadurch gekennzeichnet,
dass als nichtdeterministische digitale Zufallssignalquelle ein oder mehrere
frei schwingende rückgekoppelte Logikgatter verwendet werden.
10. Verfahren nach einem der Ansprüche 1 bis 9,
dadurch gekennzeichnet,
dass als nichtdeterministische digitale Zufallssignalquelle ein oder
mehrere Ringoszillatoren verwendet werden.
11. Zufallszahlengenerator zur Ausführung des Verfahrens nach einem der
Patentansprüche 1 bis 10,
dadurch gekennzeichnet,
dass echte Zufallszahlen aus den least siginificant bits der Summen von
mehreren nichtdeterministischen digitalen Zufallssignalen erzeugbar sind, z. B.
mittels EXOR.
12. Zufallszahlengenerator nach Anspruch 11,
dadurch gekennzeichnet,
dass echte Zufallszahlen aus den least siginificant bits der Summen von
einem oder mehreren nichtdeterministischen digitalen Zufallssignalen und ei
nem oder mehreren deterministischen Zufallssignalen erzeugbar sind, z. B.
mittels EXNOR.
13. Zufallszahlengenerator nach einem der Ansprüche 11 oder 12,
dadurch gekennzeichnet,
dass als nichtdeterministische digitale Rauschquellen invertierende
Schmitt-Trigger verwendet werden.
14. Zufallszahlengenerator nach einem der Ansprüche 11 oder 12,
dadurch gekennzeichnet,
dass der Zufallszahlengenerator Logikgatterketten mit Invertern aufweist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999126640 DE19926640C2 (de) | 1999-06-11 | 1999-06-11 | Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999126640 DE19926640C2 (de) | 1999-06-11 | 1999-06-11 | Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19926640A1 DE19926640A1 (de) | 2000-12-21 |
DE19926640C2 true DE19926640C2 (de) | 2002-08-14 |
Family
ID=7910914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1999126640 Expired - Lifetime DE19926640C2 (de) | 1999-06-11 | 1999-06-11 | Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19926640C2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004047425A1 (de) * | 2004-09-28 | 2006-04-20 | Micronas Gmbh | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8074081B2 (en) | 2002-04-15 | 2011-12-06 | Infineon Technologies Ag | Method for replacing contents of a data storage unit |
DE10216611A1 (de) * | 2002-04-15 | 2003-11-06 | Infineon Technologies Ag | Verfahren zum Ersetzen eines Inhalts einer Datenspeichereinheit |
DE10223252C1 (de) * | 2002-05-22 | 2003-06-18 | Frank Bergmann | Zufallssignalgenerator |
DE10344327B3 (de) | 2003-09-24 | 2005-06-09 | Infineon Technologies Ag | Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl |
DE102004060639A1 (de) * | 2004-12-16 | 2006-06-29 | Trapp, Heinz-Dietrich, Dr.Dr. | Vorrichtung zur Erzeugung kybernetischer Zufallsereignisse |
FR2957698B1 (fr) | 2010-03-16 | 2012-04-27 | Eric Mahe | Procede et installation de generation d'aleas non deterministes |
DE102010021307A1 (de) | 2010-05-22 | 2011-11-24 | Wolfgang Halang | Verfahren zur Erzeugung zufälliger Bitströme |
DE102013219768A1 (de) * | 2013-09-30 | 2015-04-02 | Siemens Aktiengesellschaft | Erzeugen von Zufallsbits |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4355366A (en) * | 1980-11-28 | 1982-10-19 | Ncr Corporation | Circuitry for minimizing auto-correlation and bias in a random number generator |
US5153532A (en) * | 1989-05-24 | 1992-10-06 | Honeywell Inc. | Noise generator using combined outputs of two pseudo-random sequence generators |
-
1999
- 1999-06-11 DE DE1999126640 patent/DE19926640C2/de not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4355366A (en) * | 1980-11-28 | 1982-10-19 | Ncr Corporation | Circuitry for minimizing auto-correlation and bias in a random number generator |
US5153532A (en) * | 1989-05-24 | 1992-10-06 | Honeywell Inc. | Noise generator using combined outputs of two pseudo-random sequence generators |
Non-Patent Citations (2)
Title |
---|
IBM Technical Disclosure Bulletin, Vol. 34, No. 7B, Dec. 1991 * |
KÜHN, E., SCHMIED, H.: Handbuch Integrierte Schaltkreise, VEB Verlag Technik Berlin, 1979 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004047425A1 (de) * | 2004-09-28 | 2006-04-20 | Micronas Gmbh | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
DE102004047425B4 (de) * | 2004-09-28 | 2007-06-21 | Micronas Gmbh | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
Also Published As
Publication number | Publication date |
---|---|
DE19926640A1 (de) | 2000-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102004047425B4 (de) | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen | |
US8150900B2 (en) | Random number generation based on logic circuits with feedback | |
US3706941A (en) | Random number generator | |
EP0291405A2 (de) | Nichtlinearer Zufallsfolgegenerator | |
EP0365930A2 (de) | Zufallszahlenerzeugungsschaltung | |
DE19926640C2 (de) | Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator | |
DE60319104T2 (de) | Abtastschaltkreis zur zufallszahlengenerierung | |
DE102005034610A1 (de) | Flankendetektor und Verfahren | |
US9858042B1 (en) | Configurable ring oscillator | |
DE102012210990A1 (de) | Verfahren zum Erzeugen von Zufallszahlen | |
DE102009008224B4 (de) | Invertierende Zelle | |
US5434806A (en) | Apparatus and method for random number generation | |
US4807266A (en) | Circuit and method for performing equal duty cycle odd value clock division and clock synchronization | |
US8644447B2 (en) | System and a method for generating time bases in low power domain | |
DE102013204274A1 (de) | Verfahren zum Erkennen einer Korrelation | |
US20090144351A1 (en) | Control of a pseudo random number generator and a consumer circuit coupled thereto | |
US3673501A (en) | Control logic for linear sequence generators and ring counters | |
US10140096B1 (en) | Preventing ring oscillator phase-lock | |
DE102012210361A1 (de) | Verfahren zum Überwachen einer Ausgabe eines Zufallsgenerators | |
US7302458B2 (en) | Method and apparatus for choosing a combination of logic for generating random numbers using a difference signal | |
SE306761B (de) | ||
US4334194A (en) | Pulse train generator of predetermined pulse rate using feedback shift register | |
EP1913457A2 (de) | Gals-schaltung und verfahren zum betrieb einer gals-schaltung | |
Wuerdig et al. | Asynchronous Quasi-Random Number Generator: Taking Advantage of PVT Variations | |
DE102013213385A1 (de) | Verfahren zur Beurteilung einer Ausgabe eines Zufallsgenerators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8122 | Nonbinding interest in granting licences declared | ||
8127 | New person/name/address of the applicant |
Owner name: FREITAG, ROLF, 97084 WUERZBURG, DE |
|
8127 | New person/name/address of the applicant |
Owner name: FREITAG, ROLF, DIPL.-PHYS., 90461 NUERNBERG, DE |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R081 | Change of applicant/patentee |
Owner name: MANCHESTER BIOGENE TIGER LTD., GB Free format text: FORMER OWNER: FREITAG, ROLF, DIPL.-PHYS., 90461 NUERNBERG, DE Effective date: 20111129 |
|
R071 | Expiry of right |