DE19926640C2 - Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator - Google Patents

Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator

Info

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
Application number
DE1999126640
Other languages
English (en)
Other versions
DE19926640A1 (de
Inventor
Rolf Freitag
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Manchester Biogene Tiger Ltd Gb
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE1999126640 priority Critical patent/DE19926640C2/de
Publication of DE19926640A1 publication Critical patent/DE19926640A1/de
Application granted granted Critical
Publication of DE19926640C2 publication Critical patent/DE19926640C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • 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

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.
DE1999126640 1999-06-11 1999-06-11 Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator Expired - Lifetime DE19926640C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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